--- /srv/rebuilderd/tmp/rebuilderdCDAqcl/inputs/libsyncevolution0_2.0.0-3.3_arm64.deb +++ /srv/rebuilderd/tmp/rebuilderdCDAqcl/out/libsyncevolution0_2.0.0-3.3_arm64.deb ├── file list │ @@ -1,3 +1,3 @@ │ -rw-r--r-- 0 0 0 4 2025-08-25 11:04:45.000000 debian-binary │ --rw-r--r-- 0 0 0 1124 2025-08-25 11:04:45.000000 control.tar.xz │ --rw-r--r-- 0 0 0 799964 2025-08-25 11:04:45.000000 data.tar.xz │ +-rw-r--r-- 0 0 0 1128 2025-08-25 11:04:45.000000 control.tar.xz │ +-rw-r--r-- 0 0 0 800012 2025-08-25 11:04:45.000000 data.tar.xz ├── control.tar.xz │ ├── control.tar │ │ ├── ./md5sums │ │ │ ├── ./md5sums │ │ │ │┄ Files differ ├── data.tar.xz │ ├── data.tar │ │ ├── ./usr/lib/aarch64-linux-gnu/libsyncevolution.so.0.0.0 │ │ │┄ File has been modified after NT_GNU_BUILD_ID has been applied. │ │ │ ├── readelf --wide --notes {} │ │ │ │ @@ -1,8 +1,8 @@ │ │ │ │ │ │ │ │ Displaying notes found in: .note.gnu.property │ │ │ │ Owner Data size Description │ │ │ │ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 Properties: AArch64 feature: BTI, PAC │ │ │ │ │ │ │ │ Displaying notes found in: .note.gnu.build-id │ │ │ │ Owner Data size Description │ │ │ │ - GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 33b3c8ebb2fbfad57fee23d5537cbbc16c97647d │ │ │ │ + GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 2638a7063afb65dc2f89b0cf7380ecb36e9cb5b5 │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ @@ -9679,33 +9679,14 @@ │ │ │ │ FILE_AS = FILE_AS + N_FIRST; │ │ │ │ } │ │ │ │ $VCARD_OUTGOING_PHOTO_VALUE_SCRIPT; │ │ │ │ ]]> │ │ │ │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - X-ANNIVERSARY. │ │ │ │ - i = SIZE(XDATE) - 1; │ │ │ │ - while (i >= 0) { │ │ │ │ - if (GROUP_TAG[i] != EMPTY && │ │ │ │ - XDATE[i] != UNASSIGNED && │ │ │ │ - LABEL[i] == "Anniversary") { │ │ │ │ - SWAP(ANNIVERSARY, XDATE[i]); │ │ │ │ - // XDATE[i] = UNASSIGNED; │ │ │ │ - break; │ │ │ │ - } │ │ │ │ - i = i - 1; │ │ │ │ - } │ │ │ │ - // Special X-ABRELATEDNAMES -> X-SPOUSE/MANAGER/ASSISTANT │ │ │ │ - i = SIZE(RELATEDNAMES) - 1; │ │ │ │ - while (i >= 0) { │ │ │ │ - if (GROUP_TAG[i] != EMPTY && │ │ │ │ - RELATEDNAMES[i] != UNASSIGNED) { │ │ │ │ - s = LABEL[i]; │ │ │ │ - if (s == "Spouse") { │ │ │ │ - if (SPOUSE == EMPTY) { │ │ │ │ - SWAP(SPOUSE, RELATEDNAMES[i]); │ │ │ │ - // RELATEDNAMES[i] = UNASSIGNED; │ │ │ │ - } │ │ │ │ - } else if (s == "Manager") { │ │ │ │ - if (MANAGER == EMPTY) { │ │ │ │ - SWAP(MANAGER, RELATEDNAMES[i]); │ │ │ │ - // RELATEDNAMES[i] = UNASSIGNED; │ │ │ │ - } │ │ │ │ - } else if (s == "Assistant") { │ │ │ │ - if (ASSISTANT == EMPTY) { │ │ │ │ - SWAP(ASSISTANT, RELATEDNAMES[i]); │ │ │ │ - // RELATEDNAMES[i] = UNASSIGNED; │ │ │ │ - } │ │ │ │ - } │ │ │ │ - } │ │ │ │ - i = i - 1; │ │ │ │ - } │ │ │ │ - // IMPP -> X-JABBER/AIM/... depending on service type. Protocol must match. │ │ │ │ - i = SIZE(IMPP) - 1; │ │ │ │ - INTEGER offset; │ │ │ │ - STRING service; │ │ │ │ - STRING protocol; │ │ │ │ - STRING value; │ │ │ │ - while (i >= 0) { │ │ │ │ - service = IMPP_SERVICE[i]; │ │ │ │ - if (service != UNASSIGNED) { │ │ │ │ - offset = FIND(IMPP[i], ":"); │ │ │ │ - if (offset != UNASSIGNED) { │ │ │ │ - protocol = SUBSTR(IMPP[i], 0, offset); │ │ │ │ - value = URLDECODE(SUBSTR(IMPP[i], offset + 1)); │ │ │ │ - if (service == "AIM" && protocol == "aim") { │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, AIM_HANDLE, AIM_SLOT, i); │ │ │ │ - } else if (service == "Gadugadu") { │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, GADUGADU_HANDLE, GADUGADU_SLOT, i); │ │ │ │ - } else if (service == "Groupwise") { │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, GROUPWISE_HANDLE, GROUPWISE_SLOT, i); │ │ │ │ - } else if (service == "ICQ" && protocol == "aim") { │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, ICQ_HANDLE, ICQ_SLOT, i); │ │ │ │ - } else if (service == "Jabber" && protocol == "xmpp") { │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, JABBER_HANDLE, JABBER_SLOT, i); │ │ │ │ - } else if (service == "MSN" && protocol == "msnim") { │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, MSN_HANDLE, MSN_SLOT, i); │ │ │ │ - } else if (service == "Yahoo" && protocol == "ymsgr") { │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, YAHOO_HANDLE, YAHOO_SLOT, i); │ │ │ │ - } else if (service == "Skype" && protocol == "skype") { │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, SKYPE_HANDLE, SKYPE_SLOT, i); │ │ │ │ - } else if (service == "Sip") { │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, SIP_HANDLE, SIP_SLOT, i); │ │ │ │ - } │ │ │ │ - } │ │ │ │ - } │ │ │ │ - i = i - 1; │ │ │ │ - } │ │ │ │ - // Remove labels which are no longer needed (valued moved above, │ │ │ │ - // stored for a group which has no other properties (Google │ │ │ │ - // CardDAV server sometimes sends that, editing in Evolution │ │ │ │ - // might cause it, etc.) or provide no information ("Other"). │ │ │ │ - i = SIZE(LABEL) - 1; │ │ │ │ - while (i >= 0) { │ │ │ │ - if (LABEL[i] == "Other" || │ │ │ │ - LABEL[i] != UNASSIGNED && │ │ │ │ - (GROUP_TAG[i] == EMPTY || │ │ │ │ - RELATEDNAMES[i] == UNASSIGNED && │ │ │ │ - XDATE[i] == UNASSIGNED && │ │ │ │ - TEL[i] == UNASSIGNED && │ │ │ │ - EMAIL[i] == UNASSIGNED && │ │ │ │ - WEB[i] == UNASSIGNED && │ │ │ │ - XDATE[i] == UNASSIGNED && │ │ │ │ - IMPP[i] == UNASSIGNED && │ │ │ │ - ADR_POBOX[i] == UNASSIGNED && │ │ │ │ - ADR_ADDTL[i] == UNASSIGNED && │ │ │ │ - ADR_STREET[i] == UNASSIGNED && │ │ │ │ - ADR_CITY[i] == UNASSIGNED && │ │ │ │ - ADR_REG[i] == UNASSIGNED && │ │ │ │ - ADR_ZIP[i] == UNASSIGNED && │ │ │ │ - ADR_COUNTRY[i] == UNASSIGNED && │ │ │ │ - ADR_STREET_FLAGS[i] == UNASSIGNED)) { │ │ │ │ - LABEL[i] = UNASSIGNED; │ │ │ │ - } │ │ │ │ - i = i - 1; │ │ │ │ - } │ │ │ │ - // Remove all group tags. Not used for legacy formats. │ │ │ │ - GROUP_TAG = UNASSIGNED; │ │ │ │ - ]]> │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - = 0) { │ │ │ │ - if ($3[impp_index] != EMPTY) { │ │ │ │ - INTEGER num; │ │ │ │ - num = SIZE(LABEL); │ │ │ │ - IMPP[num] = $2 + ":" + URLENCODE($3[impp_index]); │ │ │ │ - $3[impp_index] = UNASSIGNED; │ │ │ │ - SWAP($4[impp_index], IMPP_SLOT[num]); │ │ │ │ - IMPP_SERVICE[num] = $1; │ │ │ │ - LABEL[num] = "Other"; │ │ │ │ - } │ │ │ │ - impp_index = impp_index - 1; │ │ │ │ - } │ │ │ │ - ]]> │ │ │ │ - │ │ │ │ - = 0) { │ │ │ │ - if (LABEL[i] != EMPTY) { │ │ │ │ - GROUP_TAG[i] = "item" + tagnum; │ │ │ │ - tagnum = tagnum + 1; │ │ │ │ - } │ │ │ │ - i = i - 1; │ │ │ │ - } │ │ │ │ - ]]> │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + X-ANNIVERSARY. │ │ │ │ + i = SIZE(XDATE) - 1; │ │ │ │ + while (i >= 0) { │ │ │ │ + if (GROUP_TAG[i] != EMPTY && │ │ │ │ + XDATE[i] != UNASSIGNED && │ │ │ │ + LABEL[i] == "Anniversary") { │ │ │ │ + SWAP(ANNIVERSARY, XDATE[i]); │ │ │ │ + // XDATE[i] = UNASSIGNED; │ │ │ │ + break; │ │ │ │ + } │ │ │ │ + i = i - 1; │ │ │ │ + } │ │ │ │ + // Special X-ABRELATEDNAMES -> X-SPOUSE/MANAGER/ASSISTANT │ │ │ │ + i = SIZE(RELATEDNAMES) - 1; │ │ │ │ + while (i >= 0) { │ │ │ │ + if (GROUP_TAG[i] != EMPTY && │ │ │ │ + RELATEDNAMES[i] != UNASSIGNED) { │ │ │ │ + s = LABEL[i]; │ │ │ │ + if (s == "Spouse") { │ │ │ │ + if (SPOUSE == EMPTY) { │ │ │ │ + SWAP(SPOUSE, RELATEDNAMES[i]); │ │ │ │ + // RELATEDNAMES[i] = UNASSIGNED; │ │ │ │ + } │ │ │ │ + } else if (s == "Manager") { │ │ │ │ + if (MANAGER == EMPTY) { │ │ │ │ + SWAP(MANAGER, RELATEDNAMES[i]); │ │ │ │ + // RELATEDNAMES[i] = UNASSIGNED; │ │ │ │ + } │ │ │ │ + } else if (s == "Assistant") { │ │ │ │ + if (ASSISTANT == EMPTY) { │ │ │ │ + SWAP(ASSISTANT, RELATEDNAMES[i]); │ │ │ │ + // RELATEDNAMES[i] = UNASSIGNED; │ │ │ │ + } │ │ │ │ + } │ │ │ │ + } │ │ │ │ + i = i - 1; │ │ │ │ + } │ │ │ │ + // IMPP -> X-JABBER/AIM/... depending on service type. Protocol must match. │ │ │ │ + i = SIZE(IMPP) - 1; │ │ │ │ + INTEGER offset; │ │ │ │ + STRING service; │ │ │ │ + STRING protocol; │ │ │ │ + STRING value; │ │ │ │ + while (i >= 0) { │ │ │ │ + service = IMPP_SERVICE[i]; │ │ │ │ + if (service != UNASSIGNED) { │ │ │ │ + offset = FIND(IMPP[i], ":"); │ │ │ │ + if (offset != UNASSIGNED) { │ │ │ │ + protocol = SUBSTR(IMPP[i], 0, offset); │ │ │ │ + value = URLDECODE(SUBSTR(IMPP[i], offset + 1)); │ │ │ │ + if (service == "AIM" && protocol == "aim") { │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, AIM_HANDLE, AIM_SLOT, i); │ │ │ │ + } else if (service == "Gadugadu") { │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, GADUGADU_HANDLE, GADUGADU_SLOT, i); │ │ │ │ + } else if (service == "Groupwise") { │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, GROUPWISE_HANDLE, GROUPWISE_SLOT, i); │ │ │ │ + } else if (service == "ICQ" && protocol == "aim") { │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, ICQ_HANDLE, ICQ_SLOT, i); │ │ │ │ + } else if (service == "Jabber" && protocol == "xmpp") { │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, JABBER_HANDLE, JABBER_SLOT, i); │ │ │ │ + } else if (service == "MSN" && protocol == "msnim") { │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, MSN_HANDLE, MSN_SLOT, i); │ │ │ │ + } else if (service == "Yahoo" && protocol == "ymsgr") { │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, YAHOO_HANDLE, YAHOO_SLOT, i); │ │ │ │ + } else if (service == "Skype" && protocol == "skype") { │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, SKYPE_HANDLE, SKYPE_SLOT, i); │ │ │ │ + } else if (service == "Sip") { │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, SIP_HANDLE, SIP_SLOT, i); │ │ │ │ + } │ │ │ │ + } │ │ │ │ + } │ │ │ │ + i = i - 1; │ │ │ │ + } │ │ │ │ + // Remove labels which are no longer needed (valued moved above, │ │ │ │ + // stored for a group which has no other properties (Google │ │ │ │ + // CardDAV server sometimes sends that, editing in Evolution │ │ │ │ + // might cause it, etc.) or provide no information ("Other"). │ │ │ │ + i = SIZE(LABEL) - 1; │ │ │ │ + while (i >= 0) { │ │ │ │ + if (LABEL[i] == "Other" || │ │ │ │ + LABEL[i] != UNASSIGNED && │ │ │ │ + (GROUP_TAG[i] == EMPTY || │ │ │ │ + RELATEDNAMES[i] == UNASSIGNED && │ │ │ │ + XDATE[i] == UNASSIGNED && │ │ │ │ + TEL[i] == UNASSIGNED && │ │ │ │ + EMAIL[i] == UNASSIGNED && │ │ │ │ + WEB[i] == UNASSIGNED && │ │ │ │ + XDATE[i] == UNASSIGNED && │ │ │ │ + IMPP[i] == UNASSIGNED && │ │ │ │ + ADR_POBOX[i] == UNASSIGNED && │ │ │ │ + ADR_ADDTL[i] == UNASSIGNED && │ │ │ │ + ADR_STREET[i] == UNASSIGNED && │ │ │ │ + ADR_CITY[i] == UNASSIGNED && │ │ │ │ + ADR_REG[i] == UNASSIGNED && │ │ │ │ + ADR_ZIP[i] == UNASSIGNED && │ │ │ │ + ADR_COUNTRY[i] == UNASSIGNED && │ │ │ │ + ADR_STREET_FLAGS[i] == UNASSIGNED)) { │ │ │ │ + LABEL[i] = UNASSIGNED; │ │ │ │ + } │ │ │ │ + i = i - 1; │ │ │ │ + } │ │ │ │ + // Remove all group tags. Not used for legacy formats. │ │ │ │ + GROUP_TAG = UNASSIGNED; │ │ │ │ + ]]> │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + = 0) { │ │ │ │ + if ($3[impp_index] != EMPTY) { │ │ │ │ + INTEGER num; │ │ │ │ + num = SIZE(LABEL); │ │ │ │ + IMPP[num] = $2 + ":" + URLENCODE($3[impp_index]); │ │ │ │ + $3[impp_index] = UNASSIGNED; │ │ │ │ + SWAP($4[impp_index], IMPP_SLOT[num]); │ │ │ │ + IMPP_SERVICE[num] = $1; │ │ │ │ + LABEL[num] = "Other"; │ │ │ │ + } │ │ │ │ + impp_index = impp_index - 1; │ │ │ │ + } │ │ │ │ + ]]> │ │ │ │ + │ │ │ │ + = 0) { │ │ │ │ + if (LABEL[i] != EMPTY) { │ │ │ │ + GROUP_TAG[i] = "item" + tagnum; │ │ │ │ + tagnum = tagnum + 1; │ │ │ │ + } │ │ │ │ + i = i - 1; │ │ │ │ + } │ │ │ │ + ]]> │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ . │ │ │ │ - 0x003a3a80 20202020 3c6d6163 726f206e 616d653d .. │ │ │ │ - 0x003a3b70 203c212d 2d20636f 6e766572 74206672 . X-ANNI │ │ │ │ - 0x003a3c30 56455253 4152592e 0a202020 20202020 VERSARY.. │ │ │ │ - 0x003a3c40 69203d20 53495a45 28584441 54452920 i = SIZE(XDATE) │ │ │ │ - 0x003a3c50 2d20313b 0a202020 20202020 7768696c - 1;. whil │ │ │ │ - 0x003a3c60 65202869 203e3d20 3029207b 0a202020 e (i >= 0) {. │ │ │ │ - 0x003a3c70 20202020 20202069 66202847 524f5550 if (GROUP │ │ │ │ - 0x003a3c80 5f544147 5b695d20 213d2045 4d505459 _TAG[i] != EMPTY │ │ │ │ - 0x003a3c90 2026260a 20202020 20202020 20202020 &&. │ │ │ │ - 0x003a3ca0 20205844 4154455b 695d2021 3d20554e XDATE[i] != UN │ │ │ │ - 0x003a3cb0 41535349 474e4544 2026260a 20202020 ASSIGNED &&. │ │ │ │ - 0x003a3cc0 20202020 20202020 20204c41 42454c5b LABEL[ │ │ │ │ - 0x003a3cd0 695d203d 3d202241 6e6e6976 65727361 i] == "Anniversa │ │ │ │ - 0x003a3ce0 72792229 207b0a20 20202020 20202020 ry") {. │ │ │ │ - 0x003a3cf0 20202020 20535741 5028414e 4e495645 SWAP(ANNIVE │ │ │ │ - 0x003a3d00 52534152 592c2058 44415445 5b695d29 RSARY, XDATE[i]) │ │ │ │ - 0x003a3d10 3b0a0a20 20202020 20202020 20202020 ;.. │ │ │ │ - 0x003a3d20 202f2f20 58444154 455b695d 203d2055 // XDATE[i] = U │ │ │ │ - 0x003a3d30 4e415353 49474e45 443b0a20 20202020 NASSIGNED;. │ │ │ │ - 0x003a3d40 20202020 20202020 20627265 616b3b0a break;. │ │ │ │ - 0x003a3d50 20202020 20202020 20207d0a 20202020 }. │ │ │ │ - 0x003a3d60 20202020 20206920 3d206920 2d20313b i = i - 1; │ │ │ │ - 0x003a3d70 0a202020 20202020 7d0a0a20 20202020 . }.. │ │ │ │ - 0x003a3d80 20202f2f 20537065 6369616c 20582d41 // Special X-A │ │ │ │ - 0x003a3d90 4252454c 41544544 4e414d45 53202d3e BRELATEDNAMES -> │ │ │ │ - 0x003a3da0 20582d53 504f5553 452f4d41 4e414745 X-SPOUSE/MANAGE │ │ │ │ - 0x003a3db0 522f4153 53495354 414e540a 20202020 R/ASSISTANT. │ │ │ │ - 0x003a3dc0 20202069 203d2053 495a4528 52454c41 i = SIZE(RELA │ │ │ │ - 0x003a3dd0 5445444e 414d4553 29202d20 313b0a20 TEDNAMES) - 1;. │ │ │ │ - 0x003a3de0 20202020 20207768 696c6520 2869203e while (i > │ │ │ │ - 0x003a3df0 3d203029 207b0a20 20202020 20202020 = 0) {. │ │ │ │ - 0x003a3e00 20696620 2847524f 55505f54 41475b69 if (GROUP_TAG[i │ │ │ │ - 0x003a3e10 5d20213d 20454d50 54592026 260a2020 ] != EMPTY &&. │ │ │ │ - 0x003a3e20 20202020 20202020 20202020 52454c41 RELA │ │ │ │ - 0x003a3e30 5445444e 414d4553 5b695d20 213d2055 TEDNAMES[i] != U │ │ │ │ - 0x003a3e40 4e415353 49474e45 4429207b 0a202020 NASSIGNED) {. │ │ │ │ - 0x003a3e50 20202020 20202020 20207320 3d204c41 s = LA │ │ │ │ - 0x003a3e60 42454c5b 695d3b0a 20202020 20202020 BEL[i];. │ │ │ │ - 0x003a3e70 20202020 20696620 2873203d 3d202253 if (s == "S │ │ │ │ - 0x003a3e80 706f7573 65222920 7b0a2020 20202020 pouse") {. │ │ │ │ - 0x003a3e90 20202020 20202020 20206966 20285350 if (SP │ │ │ │ - 0x003a3ea0 4f555345 203d3d20 454d5054 5929207b OUSE == EMPTY) { │ │ │ │ - 0x003a3eb0 0a202020 20202020 20202020 20202020 . │ │ │ │ - 0x003a3ec0 20202020 53574150 2853504f 5553452c SWAP(SPOUSE, │ │ │ │ - 0x003a3ed0 2052454c 41544544 4e414d45 535b695d RELATEDNAMES[i] │ │ │ │ - 0x003a3ee0 293b0a20 20202020 20202020 20202020 );. │ │ │ │ - 0x003a3ef0 20202020 20202f2f 2052454c 41544544 // RELATED │ │ │ │ - 0x003a3f00 4e414d45 535b695d 203d2055 4e415353 NAMES[i] = UNASS │ │ │ │ - 0x003a3f10 49474e45 443b0a20 20202020 20202020 IGNED;. │ │ │ │ - 0x003a3f20 20202020 2020207d 0a202020 20202020 }. │ │ │ │ - 0x003a3f30 20202020 20207d20 656c7365 20696620 } else if │ │ │ │ - 0x003a3f40 2873203d 3d20224d 616e6167 65722229 (s == "Manager") │ │ │ │ - 0x003a3f50 207b0a20 20202020 20202020 20202020 {. │ │ │ │ - 0x003a3f60 20202069 6620284d 414e4147 4552203d if (MANAGER = │ │ │ │ - 0x003a3f70 3d20454d 50545929 207b0a20 20202020 = EMPTY) {. │ │ │ │ - 0x003a3f80 20202020 20202020 20202020 20205357 SW │ │ │ │ - 0x003a3f90 4150284d 414e4147 45522c20 52454c41 AP(MANAGER, RELA │ │ │ │ - 0x003a3fa0 5445444e 414d4553 5b695d29 3b0a2020 TEDNAMES[i]);. │ │ │ │ - 0x003a3fb0 20202020 20202020 20202020 20202020 │ │ │ │ - 0x003a3fc0 202f2f20 52454c41 5445444e 414d4553 // RELATEDNAMES │ │ │ │ - 0x003a3fd0 5b695d20 3d20554e 41535349 474e4544 [i] = UNASSIGNED │ │ │ │ - 0x003a3fe0 3b0a2020 20202020 20202020 20202020 ;. │ │ │ │ - 0x003a3ff0 20207d0a 20202020 20202020 20202020 }. │ │ │ │ - 0x003a4000 207d2065 6c736520 69662028 73203d3d } else if (s == │ │ │ │ - 0x003a4010 20224173 73697374 616e7422 29207b0a "Assistant") {. │ │ │ │ - 0x003a4020 20202020 20202020 20202020 20202020 │ │ │ │ - 0x003a4030 69662028 41535349 5354414e 54203d3d if (ASSISTANT == │ │ │ │ - 0x003a4040 20454d50 54592920 7b0a2020 20202020 EMPTY) {. │ │ │ │ - 0x003a4050 20202020 20202020 20202020 20535741 SWA │ │ │ │ - 0x003a4060 50284153 53495354 414e542c 2052454c P(ASSISTANT, REL │ │ │ │ - 0x003a4070 41544544 4e414d45 535b695d 293b0a20 ATEDNAMES[i]);. │ │ │ │ - 0x003a4080 20202020 20202020 20202020 20202020 │ │ │ │ - 0x003a4090 20202f2f 2052454c 41544544 4e414d45 // RELATEDNAME │ │ │ │ - 0x003a40a0 535b695d 203d2055 4e415353 49474e45 S[i] = UNASSIGNE │ │ │ │ - 0x003a40b0 443b0a20 20202020 20202020 20202020 D;. │ │ │ │ - 0x003a40c0 2020207d 0a202020 20202020 20202020 }. │ │ │ │ - 0x003a40d0 20207d0a 20202020 20202020 20207d0a }. }. │ │ │ │ - 0x003a40e0 20202020 20202020 20206920 3d206920 i = i │ │ │ │ - 0x003a40f0 2d20313b 0a202020 20202020 7d0a0a20 - 1;. }.. │ │ │ │ - 0x003a4100 20202020 20202f2f 20494d50 50202d3e // IMPP -> │ │ │ │ - 0x003a4110 20582d4a 41424245 522f4149 4d2f2e2e X-JABBER/AIM/.. │ │ │ │ - 0x003a4120 2e206465 70656e64 696e6720 6f6e2073 . depending on s │ │ │ │ - 0x003a4130 65727669 63652074 7970652e 2050726f ervice type. Pro │ │ │ │ - 0x003a4140 746f636f 6c206d75 7374206d 61746368 tocol must match │ │ │ │ - 0x003a4150 2e0a2020 20202020 2069203d 2053495a .. i = SIZ │ │ │ │ - 0x003a4160 4528494d 50502920 2d20313b 0a202020 E(IMPP) - 1;. │ │ │ │ - 0x003a4170 20202020 494e5445 47455220 6f666673 INTEGER offs │ │ │ │ - 0x003a4180 65743b0a 20202020 20202053 5452494e et;. STRIN │ │ │ │ - 0x003a4190 47207365 72766963 653b0a20 20202020 G service;. │ │ │ │ - 0x003a41a0 20205354 52494e47 2070726f 746f636f STRING protoco │ │ │ │ - 0x003a41b0 6c3b0a20 20202020 20205354 52494e47 l;. STRING │ │ │ │ - 0x003a41c0 2076616c 75653b0a 20202020 20202077 value;. w │ │ │ │ - 0x003a41d0 68696c65 20286920 3e3d2030 29207b0a hile (i >= 0) {. │ │ │ │ - 0x003a41e0 20202020 20202020 20207365 72766963 servic │ │ │ │ - 0x003a41f0 65203d20 494d5050 5f534552 56494345 e = IMPP_SERVICE │ │ │ │ - 0x003a4200 5b695d3b 0a202020 20202020 20202069 [i];. i │ │ │ │ - 0x003a4210 66202873 65727669 63652021 3d20554e f (service != UN │ │ │ │ - 0x003a4220 41535349 474e4544 29207b0a 20202020 ASSIGNED) {. │ │ │ │ - 0x003a4230 20202020 20202020 206f6666 73657420 offset │ │ │ │ - 0x003a4240 3d204649 4e442849 4d50505b 695d2c20 = FIND(IMPP[i], │ │ │ │ - 0x003a4250 223a2229 3b0a2020 20202020 20202020 ":");. │ │ │ │ - 0x003a4260 20202069 6620286f 66667365 7420213d if (offset != │ │ │ │ - 0x003a4270 20554e41 53534947 4e454429 207b0a20 UNASSIGNED) {. │ │ │ │ - 0x003a4280 20202020 20202020 20202020 20202070 p │ │ │ │ - 0x003a4290 726f746f 636f6c20 3d205355 42535452 rotocol = SUBSTR │ │ │ │ - 0x003a42a0 28494d50 505b695d 2c20302c 206f6666 (IMPP[i], 0, off │ │ │ │ - 0x003a42b0 73657429 3b0a2020 20202020 20202020 set);. │ │ │ │ - 0x003a42c0 20202020 20207661 6c756520 3d205552 value = UR │ │ │ │ - 0x003a42d0 4c444543 4f444528 53554253 54522849 LDECODE(SUBSTR(I │ │ │ │ - 0x003a42e0 4d50505b 695d2c20 6f666673 6574202b MPP[i], offset + │ │ │ │ - 0x003a42f0 20312929 3b0a2020 20202020 20202020 1));. │ │ │ │ - 0x003a4300 20202020 20206966 20287365 72766963 if (servic │ │ │ │ - 0x003a4310 65203d3d 20224149 4d222026 26207072 e == "AIM" && pr │ │ │ │ - 0x003a4320 6f746f63 6f6c203d 3d202261 696d2229 otocol == "aim") │ │ │ │ - 0x003a4330 207b0a20 20202020 20202020 20202020 {. │ │ │ │ - 0x003a4340 20202020 20202456 43415244 5f4d4f44 $VCARD_MOD │ │ │ │ - 0x003a4350 45524e5f 544f5f4c 45474143 595f494d ERN_TO_LEGACY_IM │ │ │ │ - 0x003a4360 50502876 616c7565 2c204149 4d5f4841 PP(value, AIM_HA │ │ │ │ - 0x003a4370 4e444c45 2c204149 4d5f534c 4f542c20 NDLE, AIM_SLOT, │ │ │ │ - 0x003a4380 69293b0a 20202020 20202020 20202020 i);. │ │ │ │ - 0x003a4390 20202020 7d20656c 73652069 66202873 } else if (s │ │ │ │ - 0x003a43a0 65727669 6365203d 3d202247 61647567 ervice == "Gadug │ │ │ │ - 0x003a43b0 61647522 29207b0a 20202020 20202020 adu") {. │ │ │ │ - 0x003a43c0 20202020 20202020 20202024 56434152 $VCAR │ │ │ │ - 0x003a43d0 445f4d4f 4445524e 5f544f5f 4c454741 D_MODERN_TO_LEGA │ │ │ │ - 0x003a43e0 43595f49 4d505028 76616c75 652c2047 CY_IMPP(value, G │ │ │ │ - 0x003a43f0 41445547 4144555f 48414e44 4c452c20 ADUGADU_HANDLE, │ │ │ │ - 0x003a4400 47414455 47414455 5f534c4f 542c2069 GADUGADU_SLOT, i │ │ │ │ - 0x003a4410 293b0a20 20202020 20202020 20202020 );. │ │ │ │ - 0x003a4420 2020207d 20656c73 65206966 20287365 } else if (se │ │ │ │ - 0x003a4430 72766963 65203d3d 20224772 6f757077 rvice == "Groupw │ │ │ │ - 0x003a4440 69736522 29207b0a 20202020 20202020 ise") {. │ │ │ │ - 0x003a4450 20202020 20202020 20202024 56434152 $VCAR │ │ │ │ - 0x003a4460 445f4d4f 4445524e 5f544f5f 4c454741 D_MODERN_TO_LEGA │ │ │ │ - 0x003a4470 43595f49 4d505028 76616c75 652c2047 CY_IMPP(value, G │ │ │ │ - 0x003a4480 524f5550 57495345 5f48414e 444c452c ROUPWISE_HANDLE, │ │ │ │ - 0x003a4490 2047524f 55505749 53455f53 4c4f542c GROUPWISE_SLOT, │ │ │ │ - 0x003a44a0 2069293b 0a202020 20202020 20202020 i);. │ │ │ │ - 0x003a44b0 20202020 207d2065 6c736520 69662028 } else if ( │ │ │ │ - 0x003a44c0 73657276 69636520 3d3d2022 49435122 service == "ICQ" │ │ │ │ - 0x003a44d0 20262620 70726f74 6f636f6c 203d3d20 && protocol == │ │ │ │ - 0x003a44e0 2261696d 2229207b 0a202020 20202020 "aim") {. │ │ │ │ - 0x003a44f0 20202020 20202020 20202020 24564341 $VCA │ │ │ │ - 0x003a4500 52445f4d 4f444552 4e5f544f 5f4c4547 RD_MODERN_TO_LEG │ │ │ │ - 0x003a4510 4143595f 494d5050 2876616c 75652c20 ACY_IMPP(value, │ │ │ │ - 0x003a4520 4943515f 48414e44 4c452c20 4943515f ICQ_HANDLE, ICQ_ │ │ │ │ - 0x003a4530 534c4f54 2c206929 3b0a2020 20202020 SLOT, i);. │ │ │ │ - 0x003a4540 20202020 20202020 20207d20 656c7365 } else │ │ │ │ - 0x003a4550 20696620 28736572 76696365 203d3d20 if (service == │ │ │ │ - 0x003a4560 224a6162 62657222 20262620 70726f74 "Jabber" && prot │ │ │ │ - 0x003a4570 6f636f6c 203d3d20 22786d70 70222920 ocol == "xmpp") │ │ │ │ - 0x003a4580 7b0a2020 20202020 20202020 20202020 {. │ │ │ │ - 0x003a4590 20202020 20245643 4152445f 4d4f4445 $VCARD_MODE │ │ │ │ - 0x003a45a0 524e5f54 4f5f4c45 47414359 5f494d50 RN_TO_LEGACY_IMP │ │ │ │ - 0x003a45b0 50287661 6c75652c 204a4142 4245525f P(value, JABBER_ │ │ │ │ - 0x003a45c0 48414e44 4c452c20 4a414242 45525f53 HANDLE, JABBER_S │ │ │ │ - 0x003a45d0 4c4f542c 2069293b 0a202020 20202020 LOT, i);. │ │ │ │ - 0x003a45e0 20202020 20202020 207d2065 6c736520 } else │ │ │ │ - 0x003a45f0 69662028 73657276 69636520 3d3d2022 if (service == " │ │ │ │ - 0x003a4600 4d534e22 20262620 70726f74 6f636f6c MSN" && protocol │ │ │ │ - 0x003a4610 203d3d20 226d736e 696d2229 207b0a20 == "msnim") {. │ │ │ │ - 0x003a4620 20202020 20202020 20202020 20202020 │ │ │ │ - 0x003a4630 20202456 43415244 5f4d4f44 45524e5f $VCARD_MODERN_ │ │ │ │ - 0x003a4640 544f5f4c 45474143 595f494d 50502876 TO_LEGACY_IMPP(v │ │ │ │ - 0x003a4650 616c7565 2c204d53 4e5f4841 4e444c45 alue, MSN_HANDLE │ │ │ │ - 0x003a4660 2c204d53 4e5f534c 4f542c20 69293b0a , MSN_SLOT, i);. │ │ │ │ - 0x003a4670 20202020 20202020 20202020 20202020 │ │ │ │ - 0x003a4680 7d20656c 73652069 66202873 65727669 } else if (servi │ │ │ │ - 0x003a4690 6365203d 3d202259 61686f6f 22202626 ce == "Yahoo" && │ │ │ │ - 0x003a46a0 2070726f 746f636f 6c203d3d 2022796d protocol == "ym │ │ │ │ - 0x003a46b0 73677222 29207b0a 20202020 20202020 sgr") {. │ │ │ │ - 0x003a46c0 20202020 20202020 20202024 56434152 $VCAR │ │ │ │ - 0x003a46d0 445f4d4f 4445524e 5f544f5f 4c454741 D_MODERN_TO_LEGA │ │ │ │ - 0x003a46e0 43595f49 4d505028 76616c75 652c2059 CY_IMPP(value, Y │ │ │ │ - 0x003a46f0 41484f4f 5f48414e 444c452c 20594148 AHOO_HANDLE, YAH │ │ │ │ - 0x003a4700 4f4f5f53 4c4f542c 2069293b 0a202020 OO_SLOT, i);. │ │ │ │ - 0x003a4710 20202020 20202020 20202020 207d2065 } e │ │ │ │ - 0x003a4720 6c736520 69662028 73657276 69636520 lse if (service │ │ │ │ - 0x003a4730 3d3d2022 536b7970 65222026 26207072 == "Skype" && pr │ │ │ │ - 0x003a4740 6f746f63 6f6c203d 3d202273 6b797065 otocol == "skype │ │ │ │ - 0x003a4750 2229207b 0a202020 20202020 20202020 ") {. │ │ │ │ - 0x003a4760 20202020 20202020 24564341 52445f4d $VCARD_M │ │ │ │ - 0x003a4770 4f444552 4e5f544f 5f4c4547 4143595f ODERN_TO_LEGACY_ │ │ │ │ - 0x003a4780 494d5050 2876616c 75652c20 534b5950 IMPP(value, SKYP │ │ │ │ - 0x003a4790 455f4841 4e444c45 2c20534b 5950455f E_HANDLE, SKYPE_ │ │ │ │ - 0x003a47a0 534c4f54 2c206929 3b0a2020 20202020 SLOT, i);. │ │ │ │ - 0x003a47b0 20202020 20202020 20207d20 656c7365 } else │ │ │ │ - 0x003a47c0 20696620 28736572 76696365 203d3d20 if (service == │ │ │ │ - 0x003a47d0 22536970 2229207b 0a202020 20202020 "Sip") {. │ │ │ │ - 0x003a47e0 20202020 20202020 20202020 24564341 $VCA │ │ │ │ - 0x003a47f0 52445f4d 4f444552 4e5f544f 5f4c4547 RD_MODERN_TO_LEG │ │ │ │ - 0x003a4800 4143595f 494d5050 2876616c 75652c20 ACY_IMPP(value, │ │ │ │ - 0x003a4810 5349505f 48414e44 4c452c20 5349505f SIP_HANDLE, SIP_ │ │ │ │ - 0x003a4820 534c4f54 2c206929 3b0a2020 20202020 SLOT, i);. │ │ │ │ - 0x003a4830 20202020 20202020 20207d0a 20202020 }. │ │ │ │ - 0x003a4840 20202020 20202020 207d0a20 20202020 }. │ │ │ │ - 0x003a4850 20202020 207d0a20 20202020 20202020 }. │ │ │ │ - 0x003a4860 2069203d 2069202d 20313b0a 20202020 i = i - 1;. │ │ │ │ - 0x003a4870 2020207d 0a0a0a20 20202020 20202f2f }... // │ │ │ │ - 0x003a4880 2052656d 6f766520 6c616265 6c732077 Remove labels w │ │ │ │ - 0x003a4890 68696368 20617265 206e6f20 6c6f6e67 hich are no long │ │ │ │ - 0x003a48a0 6572206e 65656465 64202876 616c7565 er needed (value │ │ │ │ - 0x003a48b0 64206d6f 76656420 61626f76 652c0a20 d moved above,. │ │ │ │ - 0x003a48c0 20202020 20202f2f 2073746f 72656420 // stored │ │ │ │ - 0x003a48d0 666f7220 61206772 6f757020 77686963 for a group whic │ │ │ │ - 0x003a48e0 68206861 73206e6f 206f7468 65722070 h has no other p │ │ │ │ - 0x003a48f0 726f7065 72746965 73202847 6f6f676c roperties (Googl │ │ │ │ - 0x003a4900 650a2020 20202020 202f2f20 43617264 e. // Card │ │ │ │ - 0x003a4910 44415620 73657276 65722073 6f6d6574 DAV server somet │ │ │ │ - 0x003a4920 696d6573 2073656e 64732074 6861742c imes sends that, │ │ │ │ - 0x003a4930 20656469 74696e67 20696e20 45766f6c editing in Evol │ │ │ │ - 0x003a4940 7574696f 6e0a2020 20202020 202f2f20 ution. // │ │ │ │ - 0x003a4950 6d696768 74206361 75736520 69742c20 might cause it, │ │ │ │ - 0x003a4960 6574632e 29206f72 2070726f 76696465 etc.) or provide │ │ │ │ - 0x003a4970 206e6f20 696e666f 726d6174 696f6e20 no information │ │ │ │ - 0x003a4980 28224f74 68657222 292e0a20 20202020 ("Other").. │ │ │ │ - 0x003a4990 20206920 3d205349 5a45284c 4142454c i = SIZE(LABEL │ │ │ │ - 0x003a49a0 29202d20 313b0a20 20202020 20207768 ) - 1;. wh │ │ │ │ - 0x003a49b0 696c6520 2869203e 3d203029 207b0a20 ile (i >= 0) {. │ │ │ │ - 0x003a49c0 20202020 20202020 20696620 284c4142 if (LAB │ │ │ │ - 0x003a49d0 454c5b69 5d203d3d 20224f74 68657222 EL[i] == "Other" │ │ │ │ - 0x003a49e0 207c7c0a 20202020 20202020 20202020 ||. │ │ │ │ - 0x003a49f0 20204c41 42454c5b 695d2021 3d20554e LABEL[i] != UN │ │ │ │ - 0x003a4a00 41535349 474e4544 2026260a 20202020 ASSIGNED &&. │ │ │ │ - 0x003a4a10 20202020 20202020 20202847 524f5550 (GROUP │ │ │ │ - 0x003a4a20 5f544147 5b695d20 3d3d2045 4d505459 _TAG[i] == EMPTY │ │ │ │ - 0x003a4a30 207c7c0a 20202020 20202020 20202020 ||. │ │ │ │ - 0x003a4a40 20202052 454c4154 45444e41 4d45535b RELATEDNAMES[ │ │ │ │ - 0x003a4a50 695d203d 3d20554e 41535349 474e4544 i] == UNASSIGNED │ │ │ │ - 0x003a4a60 2026260a 20202020 20202020 20202020 &&. │ │ │ │ - 0x003a4a70 20202058 44415445 5b695d20 3d3d2055 XDATE[i] == U │ │ │ │ - 0x003a4a80 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ - 0x003a4a90 20202020 20202020 20202020 54454c5b TEL[ │ │ │ │ - 0x003a4aa0 695d203d 3d20554e 41535349 474e4544 i] == UNASSIGNED │ │ │ │ - 0x003a4ab0 2026260a 20202020 20202020 20202020 &&. │ │ │ │ - 0x003a4ac0 20202045 4d41494c 5b695d20 3d3d2055 EMAIL[i] == U │ │ │ │ - 0x003a4ad0 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ - 0x003a4ae0 20202020 20202020 20202020 5745425b WEB[ │ │ │ │ - 0x003a4af0 695d203d 3d20554e 41535349 474e4544 i] == UNASSIGNED │ │ │ │ - 0x003a4b00 2026260a 20202020 20202020 20202020 &&. │ │ │ │ - 0x003a4b10 20202058 44415445 5b695d20 3d3d2055 XDATE[i] == U │ │ │ │ - 0x003a4b20 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ - 0x003a4b30 20202020 20202020 20202020 494d5050 IMPP │ │ │ │ - 0x003a4b40 5b695d20 3d3d2055 4e415353 49474e45 [i] == UNASSIGNE │ │ │ │ - 0x003a4b50 44202626 0a202020 20202020 20202020 D &&. │ │ │ │ - 0x003a4b60 20202020 4144525f 504f424f 585b695d ADR_POBOX[i] │ │ │ │ - 0x003a4b70 203d3d20 554e4153 5349474e 45442026 == UNASSIGNED & │ │ │ │ - 0x003a4b80 260a2020 20202020 20202020 20202020 &. │ │ │ │ - 0x003a4b90 20414452 5f414444 544c5b69 5d203d3d ADR_ADDTL[i] == │ │ │ │ - 0x003a4ba0 20554e41 53534947 4e454420 26260a20 UNASSIGNED &&. │ │ │ │ - 0x003a4bb0 20202020 20202020 20202020 20204144 AD │ │ │ │ - 0x003a4bc0 525f5354 52454554 5b695d20 3d3d2055 R_STREET[i] == U │ │ │ │ - 0x003a4bd0 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ - 0x003a4be0 20202020 20202020 20202020 4144525f ADR_ │ │ │ │ - 0x003a4bf0 43495459 5b695d20 3d3d2055 4e415353 CITY[i] == UNASS │ │ │ │ - 0x003a4c00 49474e45 44202626 0a202020 20202020 IGNED &&. │ │ │ │ - 0x003a4c10 20202020 20202020 4144525f 5245475b ADR_REG[ │ │ │ │ - 0x003a4c20 695d203d 3d20554e 41535349 474e4544 i] == UNASSIGNED │ │ │ │ - 0x003a4c30 2026260a 20202020 20202020 20202020 &&. │ │ │ │ - 0x003a4c40 20202041 44525f5a 49505b69 5d203d3d ADR_ZIP[i] == │ │ │ │ - 0x003a4c50 20554e41 53534947 4e454420 26260a20 UNASSIGNED &&. │ │ │ │ - 0x003a4c60 20202020 20202020 20202020 20204144 AD │ │ │ │ - 0x003a4c70 525f434f 554e5452 595b695d 203d3d20 R_COUNTRY[i] == │ │ │ │ - 0x003a4c80 554e4153 5349474e 45442026 260a2020 UNASSIGNED &&. │ │ │ │ - 0x003a4c90 20202020 20202020 20202020 20414452 ADR │ │ │ │ - 0x003a4ca0 5f535452 4545545f 464c4147 535b695d _STREET_FLAGS[i] │ │ │ │ - 0x003a4cb0 203d3d20 554e4153 5349474e 45442929 == UNASSIGNED)) │ │ │ │ - 0x003a4cc0 207b0a20 20202020 20202020 20202020 {. │ │ │ │ - 0x003a4cd0 20204c41 42454c5b 695d203d 20554e41 LABEL[i] = UNA │ │ │ │ - 0x003a4ce0 53534947 4e45443b 0a202020 20202020 SSIGNED;. │ │ │ │ - 0x003a4cf0 2020207d 0a202020 20202020 20202069 }. i │ │ │ │ - 0x003a4d00 203d2069 202d2031 3b0a2020 20202020 = i - 1;. │ │ │ │ - 0x003a4d10 207d0a0a 20202020 2020202f 2f205265 }.. // Re │ │ │ │ - 0x003a4d20 6d6f7665 20616c6c 2067726f 75702074 move all group t │ │ │ │ - 0x003a4d30 6167732e 204e6f74 20757365 6420666f ags. Not used fo │ │ │ │ - 0x003a4d40 72206c65 67616379 20666f72 6d617473 r legacy formats │ │ │ │ - 0x003a4d50 2e0a2020 20202020 2047524f 55505f54 .. GROUP_T │ │ │ │ - 0x003a4d60 4147203d 20554e41 53534947 4e45443b AG = UNASSIGNED; │ │ │ │ - 0x003a4d70 0a202020 205d5d3e 3c2f6d61 63726f3e . ]]> │ │ │ │ - 0x003a4d80 0a0a2020 20203c21 2d2d2054 6865206c .. .. . < │ │ │ │ - 0x003a4ef0 215b4344 4154415b 0a202020 20202020 ![CDATA[. │ │ │ │ - 0x003a4f00 69662028 24312021 3d20454d 50545929 if ($1 != EMPTY) │ │ │ │ - 0x003a4f10 207b0a20 20202020 20202020 202f2f20 {. // │ │ │ │ - 0x003a4f20 53545249 4e472074 61673b0a 20202020 STRING tag;. │ │ │ │ - 0x003a4f30 20202020 2020494e 54454745 52206e75 INTEGER nu │ │ │ │ - 0x003a4f40 6d3b0a20 20202020 20202020 206e756d m;. num │ │ │ │ - 0x003a4f50 203d2053 495a4528 4c414245 4c293b0a = SIZE(LABEL);. │ │ │ │ - 0x003a4f60 20202020 20202020 20202f2f 20244e45 // $NE │ │ │ │ - 0x003a4f70 57544147 28746167 2c204752 4f55505f WTAG(tag, GROUP_ │ │ │ │ - 0x003a4f80 54414729 3b0a2020 20202020 20202020 TAG);. │ │ │ │ - 0x003a4f90 53574150 2852454c 41544544 4e414d45 SWAP(RELATEDNAME │ │ │ │ - 0x003a4fa0 535b6e75 6d5d2c20 2431293b 0a202020 S[num], $1);. │ │ │ │ - 0x003a4fb0 20202020 2020204c 4142454c 5b6e756d LABEL[num │ │ │ │ - 0x003a4fc0 5d203d20 24323b0a 20202020 20202020 ] = $2;. │ │ │ │ - 0x003a4fd0 20202f2f 2047524f 55505f54 41475b6e // GROUP_TAG[n │ │ │ │ - 0x003a4fe0 756d5d20 3d207461 673b0a20 20202020 um] = tag;. │ │ │ │ - 0x003a4ff0 20202020 202f2f20 2431203d 20554e41 // $1 = UNA │ │ │ │ - 0x003a5000 53534947 4e45443b 0a202020 20202020 SSIGNED;. │ │ │ │ - 0x003a5010 7d0a2020 20205d5d 3e3c2f6d 6163726f }. ]]>.. . = 0) {. │ │ │ │ - 0x003a50e0 20202020 20202020 20696620 2824335b if ($3[ │ │ │ │ - 0x003a50f0 696d7070 5f696e64 65785d20 213d2045 impp_index] != E │ │ │ │ - 0x003a5100 4d505459 29207b0a 20202020 20202020 MPTY) {. │ │ │ │ - 0x003a5110 20202020 20494e54 45474552 206e756d INTEGER num │ │ │ │ - 0x003a5120 3b0a2020 20202020 20202020 2020206e ;. n │ │ │ │ - 0x003a5130 756d203d 2053495a 45284c41 42454c29 um = SIZE(LABEL) │ │ │ │ - 0x003a5140 3b0a2020 20202020 20202020 20202049 ;. I │ │ │ │ - 0x003a5150 4d50505b 6e756d5d 203d2024 32202b20 MPP[num] = $2 + │ │ │ │ - 0x003a5160 223a2220 2b205552 4c454e43 4f444528 ":" + URLENCODE( │ │ │ │ - 0x003a5170 24335b69 6d70705f 696e6465 785d293b $3[impp_index]); │ │ │ │ - 0x003a5180 0a202020 20202020 20202020 20202433 . $3 │ │ │ │ - 0x003a5190 5b696d70 705f696e 6465785d 203d2055 [impp_index] = U │ │ │ │ - 0x003a51a0 4e415353 49474e45 443b0a20 20202020 NASSIGNED;. │ │ │ │ - 0x003a51b0 20202020 20202020 53574150 2824345b SWAP($4[ │ │ │ │ - 0x003a51c0 696d7070 5f696e64 65785d2c 20494d50 impp_index], IMP │ │ │ │ - 0x003a51d0 505f534c 4f545b6e 756d5d29 3b0a2020 P_SLOT[num]);. │ │ │ │ - 0x003a51e0 20202020 20202020 20202049 4d50505f IMPP_ │ │ │ │ - 0x003a51f0 53455256 4943455b 6e756d5d 203d2024 SERVICE[num] = $ │ │ │ │ - 0x003a5200 313b0a20 20202020 20202020 20202020 1;. │ │ │ │ - 0x003a5210 4c414245 4c5b6e75 6d5d203d 20224f74 LABEL[num] = "Ot │ │ │ │ - 0x003a5220 68657222 3b0a2020 20202020 20202020 her";. │ │ │ │ - 0x003a5230 7d0a2020 20202020 20202020 696d7070 }. impp │ │ │ │ - 0x003a5240 5f696e64 6578203d 20696d70 705f696e _index = impp_in │ │ │ │ - 0x003a5250 64657820 2d20313b 0a202020 20202020 dex - 1;. │ │ │ │ - 0x003a5260 7d0a2020 20205d5d 3e3c2f6d 6163726f }. ]]>.. . = │ │ │ │ - 0x003a5a90 20302920 7b0a2020 20202020 20202020 0) {. │ │ │ │ - 0x003a5aa0 69662028 4c414245 4c5b695d 20213d20 if (LABEL[i] != │ │ │ │ - 0x003a5ab0 454d5054 5929207b 0a202020 20202020 EMPTY) {. │ │ │ │ - 0x003a5ac0 20202020 20204752 4f55505f 5441475b GROUP_TAG[ │ │ │ │ - 0x003a5ad0 695d203d 20226974 656d2220 2b207461 i] = "item" + ta │ │ │ │ - 0x003a5ae0 676e756d 3b0a2020 20202020 20202020 gnum;. │ │ │ │ - 0x003a5af0 20202074 61676e75 6d203d20 7461676e tagnum = tagn │ │ │ │ - 0x003a5b00 756d202b 20313b0a 20202020 20202020 um + 1;. │ │ │ │ - 0x003a5b10 20207d0a 20202020 20202020 20206920 }. i │ │ │ │ - 0x003a5b20 3d206920 2d20313b 0a202020 20202020 = i - 1;. │ │ │ │ - 0x003a5b30 7d0a2020 20205d5d 3e3c2f6d 6163726f }. ]]>.. .. │ │ │ │ - 0x003a5bd0 20202020 3c6d6163 726f206e 616d653d │ │ │ │ - 0x003a5c00 3c215b43 44415441 5b0a2020 20202020 < │ │ │ │ - 0x003a5c50 2f6d6163 726f3e20 2020203c 212d2d20 /macro> .. │ │ │ │ - 0x003a5cc0 3c6d6163 726f206e 616d653d 22564341 0) {. │ │ │ │ - 0x003a6110 20202020 2020202f 2f204454 53544152 // DTSTAR │ │ │ │ - 0x003a6120 5420616e 64204454 454e4420 72657072 T and DTEND repr │ │ │ │ - 0x003a6130 6573656e 7420616c 6c646179 20657665 esent allday eve │ │ │ │ - 0x003a6140 6e742c20 6d616b65 20746865 6d206461 nt, make them da │ │ │ │ - 0x003a6150 74652d6f 6e6c7920 76616c75 65730a20 te-only values. │ │ │ │ - 0x003a6160 20202020 20202020 202f2f20 2d20636f // - co │ │ │ │ - 0x003a6170 6e766572 74207374 61727420 746f2075 nvert start to u │ │ │ │ - 0x003a6180 73657220 7a6f6e65 20286f72 20666c6f ser zone (or flo │ │ │ │ - 0x003a6190 6174696e 67292073 6f206974 20726570 ating) so it rep │ │ │ │ - 0x003a61a0 72657365 6e747320 6d69646e 69676874 resents midnight │ │ │ │ - 0x003a61b0 0a202020 20202020 20202044 54535441 . DTSTA │ │ │ │ - 0x003a61c0 5254203d 20434f4e 56455254 544f5553 RT = CONVERTTOUS │ │ │ │ - 0x003a61d0 45525a4f 4e452844 54535441 5254293b ERZONE(DTSTART); │ │ │ │ - 0x003a61e0 0a202020 20202020 2020204d 414b4541 . MAKEA │ │ │ │ - 0x003a61f0 4c4c4441 59284454 53544152 542c4454 LLDAY(DTSTART,DT │ │ │ │ - 0x003a6200 454e442c 69293b0a 20202020 20202020 END,i);. │ │ │ │ - 0x003a6210 20206966 20285252 5f454e44 20213d20 if (RR_END != │ │ │ │ - 0x003a6220 454d5054 5929207b 0a202020 20202020 EMPTY) {. │ │ │ │ - 0x003a6230 20202020 20205252 5f454e44 203d2044 RR_END = D │ │ │ │ - 0x003a6240 4154454f 4e4c5928 434f4e56 45525454 ATEONLY(CONVERTT │ │ │ │ - 0x003a6250 4f555345 525a4f4e 45285252 5f454e44 OUSERZONE(RR_END │ │ │ │ - 0x003a6260 29293b0a 20202020 20202020 20207d0a ));. }. │ │ │ │ - 0x003a6270 20202020 20202020 7d0a2020 20202020 }. │ │ │ │ - 0x003a6280 2020656c 7365207b 0a202020 20202020 else {. │ │ │ │ - 0x003a6290 2020202f 2f206943 616c656e 64617220 // iCalendar │ │ │ │ - 0x003a62a0 322e3020 2d206f6e 6c792069 66204454 2.0 - only if DT │ │ │ │ - 0x003a62b0 53544152 54206973 20612064 6174652d START is a date- │ │ │ │ - 0x003a62c0 6f6e6c79 2076616c 75652074 68697320 only value this │ │ │ │ - 0x003a62d0 7265616c 6c792069 7320616e 20616c6c really is an all │ │ │ │ - 0x003a62e0 6461790a 20202020 20202020 20206966 day. if │ │ │ │ - 0x003a62f0 20284953 44415445 4f4e4c59 28445453 (ISDATEONLY(DTS │ │ │ │ - 0x003a6300 54415254 2929207b 0a202020 20202020 TART)) {. │ │ │ │ - 0x003a6310 20202020 202f2f20 72657368 61706520 // reshape │ │ │ │ - 0x003a6320 746f206d 616b6520 73757265 20776520 to make sure we │ │ │ │ - 0x003a6330 646f6e27 74206861 76652069 6e76616c don't have inval │ │ │ │ - 0x003a6340 6964207a 65726f2d 64757261 74696f6e id zero-duration │ │ │ │ - 0x003a6350 20616c6c 64617973 20286f6c 64204f43 alldays (old OC │ │ │ │ - 0x003a6360 53203920 73657276 65727329 0a202020 S 9 servers). │ │ │ │ - 0x003a6370 20202020 20202020 204d414b 45414c4c MAKEALL │ │ │ │ - 0x003a6380 44415928 44545354 4152542c 4454454e DAY(DTSTART,DTEN │ │ │ │ - 0x003a6390 442c6929 3b0a2020 20202020 20202020 D,i);. │ │ │ │ - 0x003a63a0 7d0a2020 20202020 20207d0a 0a202020 }. }.. │ │ │ │ - 0x003a63b0 20202020 202f2f20 4d616b65 20737572 // Make sur │ │ │ │ - 0x003a63c0 65207468 61742061 6c6c2045 58444154 e that all EXDAT │ │ │ │ - 0x003a63d0 45207469 6d657320 61726520 696e2074 E times are in t │ │ │ │ - 0x003a63e0 68652073 616d6520 74696d65 7a6f6e65 he same timezone │ │ │ │ - 0x003a63f0 20617320 74686520 73746172 740a2020 as the start. │ │ │ │ - 0x003a6400 20202020 20202f2f 2074696d 652e2053 // time. S │ │ │ │ - 0x003a6410 6f6d6520 73657276 65727320 73656e64 ome servers send │ │ │ │ - 0x003a6420 20746865 6d206173 20555443 2c207768 them as UTC, wh │ │ │ │ - 0x003a6430 69636820 69732061 6c6c2066 696e6520 ich is all fine │ │ │ │ - 0x003a6440 616e6420 77656c6c 2c206275 740a2020 and well, but. │ │ │ │ - 0x003a6450 20202020 20202f2f 206f6e6c 79206966 // only if │ │ │ │ - 0x003a6460 20746865 2074696d 657a6f6e 65206465 the timezone de │ │ │ │ - 0x003a6470 66696e69 74696f6e 20646f65 736e2774 finition doesn't │ │ │ │ - 0x003a6480 20636861 6e67652e 20416c73 6f2c206c change. Also, l │ │ │ │ - 0x003a6490 69626963 616c2064 6f657320 6e6f740a ibical does not. │ │ │ │ - 0x003a64a0 20202020 20202020 2f2f2068 616e646c // handl │ │ │ │ - 0x003a64b0 65207375 63682055 54432045 58444154 e such UTC EXDAT │ │ │ │ - 0x003a64c0 45732c20 736f206c 65742773 20636f6e Es, so let's con │ │ │ │ - 0x003a64d0 76657274 20697420 7768696c 65207468 vert it while th │ │ │ │ - 0x003a64e0 65205554 4320616e 640a2020 20202020 e UTC and. │ │ │ │ - 0x003a64f0 20202f2f 2074696d 65207a6f 6e652064 // time zone d │ │ │ │ - 0x003a6500 6566696e 6974696f 6e202868 6f706566 efinition (hopef │ │ │ │ - 0x003a6510 756c6c79 29206172 6520696e 2073796e ully) are in syn │ │ │ │ - 0x003a6520 632e0a20 20202020 20202069 66202854 c.. if (T │ │ │ │ - 0x003a6530 494d455a 4f4e4528 44545354 41525429 IMEZONE(DTSTART) │ │ │ │ - 0x003a6540 20213d20 22555443 22202626 20214953 != "UTC" && !IS │ │ │ │ - 0x003a6550 464c4f41 54494e47 28445453 54415254 FLOATING(DTSTART │ │ │ │ - 0x003a6560 2929207b 0a202020 20202020 20202069 )) {. i │ │ │ │ - 0x003a6570 203d2030 3b0a2020 20202020 20202020 = 0;. │ │ │ │ - 0x003a6580 74696d65 7374616d 70206578 64617465 timestamp exdate │ │ │ │ - 0x003a6590 3b0a2020 20202020 20202020 7768696c ;. whil │ │ │ │ - 0x003a65a0 65202869 3c53495a 45284558 44415445 e (i0) {. │ │ │ │ - 0x003a70f0 20202020 20445545 203d2043 4f4e5645 DUE = CONVE │ │ │ │ - 0x003a7100 5254544f 55534552 5a4f4e45 28445545 RTTOUSERZONE(DUE │ │ │ │ - 0x003a7110 293b0a20 20202020 20202020 20445545 );. DUE │ │ │ │ - 0x003a7120 203d2044 4154454f 4e4c5928 44554529 = DATEONLY(DUE) │ │ │ │ - 0x003a7130 3b0a2020 20202020 20207d0a 20202020 ;. }. │ │ │ │ - 0x003a7140 20202020 69662028 4954454d 44415441 if (ITEMDATA │ │ │ │ - 0x003a7150 54595045 28293d3d 22764361 6c656e64 TYPE()=="vCalend │ │ │ │ - 0x003a7160 61723130 2229207b 0a202020 20202020 ar10") {. │ │ │ │ - 0x003a7170 20202024 5643414c 454e4441 525f3130 $VCALENDAR_10 │ │ │ │ - 0x003a7180 544f3230 5f505249 4f524954 595f434f TO20_PRIORITY_CO │ │ │ │ - 0x003a7190 4e564552 53494f4e 3b0a2020 20202020 NVERSION;. │ │ │ │ - 0x003a71a0 20207d0a 20202020 20207d0a 20202020 }. }. │ │ │ │ - 0x003a71b0 20202f2f 20612077 6f726b61 726f756e // a workaroun │ │ │ │ - 0x003a71c0 6420666f 72206675 6e616d62 6f6c3a20 d for funambol: │ │ │ │ - 0x003a71d0 61646469 6e672027 61637469 6f6e2720 adding 'action' │ │ │ │ - 0x003a71e0 666f7220 27616c61 726d270a 20202020 for 'alarm'. │ │ │ │ - 0x003a71f0 20202f2f 20696620 6974656d 20646174 // if item dat │ │ │ │ - 0x003a7200 61207479 70652069 73207643 616c656e a type is vCalen │ │ │ │ - 0x003a7210 64617231 2e302c20 616c736f 20616464 dar1.0, also add │ │ │ │ - 0x003a7220 20276163 74696f6e 2720666f 72202761 'action' for 'a │ │ │ │ - 0x003a7230 6c61726d 272e0a20 20202020 202f2f20 larm'.. // │ │ │ │ - 0x003a7240 54686973 20697320 6120776f 726b6172 This is a workar │ │ │ │ - 0x003a7250 6f756e64 20666f72 204d6f62 6963616c ound for Mobical │ │ │ │ - 0x003a7260 2e6e6574 2c207768 69636820 75736573 .net, which uses │ │ │ │ - 0x003a7270 20764361 6c656e64 6172312e 302e0a20 vCalendar1.0.. │ │ │ │ - 0x003a7280 20202020 20696620 28414c41 524d5f54 if (ALARM_T │ │ │ │ - 0x003a7290 494d4521 3d454d50 54592026 2620414c IME!=EMPTY && AL │ │ │ │ - 0x003a72a0 41524d5f 41435449 4f4e3d3d 454d5054 ARM_ACTION==EMPT │ │ │ │ - 0x003a72b0 5929207b 0a202020 20202020 20202041 Y) {. A │ │ │ │ - 0x003a72c0 4c41524d 5f414354 494f4e20 3d202244 LARM_ACTION = "D │ │ │ │ - 0x003a72d0 4953504c 4159223b 0a202020 2020207d ISPLAY";. } │ │ │ │ - 0x003a72e0 0a202020 205d5d3e 3c2f6d61 63726f3e . ]]> │ │ │ │ - 0x003a72f0 0a0a0a20 2020203c 6d616372 6f206e61 ... < │ │ │ │ - 0x003a7320 215b4344 4154415b 0a202020 2020202f ![CDATA[. / │ │ │ │ - 0x003a7330 2f207365 74205554 43207469 6d65206f / set UTC time o │ │ │ │ - 0x003a7340 66206765 6e657261 74696f6e 20666f72 f generation for │ │ │ │ - 0x003a7350 20694361 6c656e64 61722032 2e302044 iCalendar 2.0 D │ │ │ │ - 0x003a7360 54535441 4d500a20 20202020 20444745 TSTAMP. DGE │ │ │ │ - 0x003a7370 4e455241 54454420 3d204e4f 5728293b NERATED = NOW(); │ │ │ │ - 0x003a7380 0a202020 2020202f 2f206d61 6b652073 . // make s │ │ │ │ - 0x003a7390 75726520 77652068 61766520 616c6c20 ure we have all │ │ │ │ - 0x003a73a0 74726169 6c696e67 20616e64 206c6561 trailing and lea │ │ │ │ - 0x003a73b0 64696e67 20737061 63657320 656c696d ding spaces elim │ │ │ │ - 0x003a73c0 696e6174 65640a20 20202020 20444553 inated. DES │ │ │ │ - 0x003a73d0 43524950 54494f4e 3d4e4f52 4d414c49 CRIPTION=NORMALI │ │ │ │ - 0x003a73e0 5a454428 44455343 52495054 494f4e29 ZED(DESCRIPTION) │ │ │ │ - 0x003a73f0 3b0a2020 20202020 53554d4d 4152593d ;. SUMMARY= │ │ │ │ - 0x003a7400 4e4f524d 414c495a 45442853 554d4d41 NORMALIZED(SUMMA │ │ │ │ - 0x003a7410 5259293b 0a202020 20202069 66202849 RY);. if (I │ │ │ │ - 0x003a7420 53455645 4e542920 7b0a2020 20202020 SEVENT) {. │ │ │ │ - 0x003a7430 20202f2f 20564556 454e540a 20202020 // VEVENT. │ │ │ │ - 0x003a7440 20202020 2f2f202d 20636f6d 62696e65 // - combine │ │ │ │ - 0x003a7450 20617474 656e6465 6520656d 61696c20 attendee email │ │ │ │ - 0x003a7460 61646472 65737320 616e6420 636f6d6d address and comm │ │ │ │ - 0x003a7470 6f6e206e 616d6520 696e746f 2073696e on name into sin │ │ │ │ - 0x003a7480 676c6520 73747269 6e672066 6f722076 gle string for v │ │ │ │ - 0x003a7490 43616c65 6e646172 20312e30 0a202020 Calendar 1.0. │ │ │ │ - 0x003a74a0 20202020 20696620 28495445 4d444154 if (ITEMDAT │ │ │ │ - 0x003a74b0 41545950 4528293d 3d227643 616c656e ATYPE()=="vCalen │ │ │ │ - 0x003a74c0 64617231 30222920 7b0a2020 20202020 dar10") {. │ │ │ │ - 0x003a74d0 20202020 693d303b 0a202020 20202020 i=0;. │ │ │ │ - 0x003a74e0 20202077 68696c65 28693c53 495a4528 while(i │ │ │ │ - 0x003a7dc0 3c2f6d61 63726f3e 0a0a2020 20203c6d .. .. . │ │ │ │ - 0x003a8360 0a0a2020 20203c21 2d2d2069 6e766f6b .. . < │ │ │ │ - 0x003a83e0 215b4344 4154415b 0a202020 20495345 ![CDATA[. ISE │ │ │ │ - 0x003a83f0 56454e54 203d2032 3b0a0a20 2020202f VENT = 2;.. / │ │ │ │ - 0x003a8400 2f20436f 70792073 756d6d61 72792069 / Copy summary i │ │ │ │ - 0x003a8410 6e746f20 64657363 72697074 696f6e2e nto description. │ │ │ │ - 0x003a8420 20497420 6973206e 6f742031 30302520 It is not 100% │ │ │ │ - 0x003a8430 63657274 61696e20 77686574 68657220 certain whether │ │ │ │ - 0x003a8440 74686174 2069730a 20202020 2f2f206e that is. // n │ │ │ │ - 0x003a8450 65636573 73617279 20287468 65207375 ecessary (the su │ │ │ │ - 0x003a8460 6d6d6172 79206d69 67687420 62652063 mmary might be c │ │ │ │ - 0x003a8470 6f6d706c 6574656c 7920756e 72656c61 ompletely unrela │ │ │ │ - 0x003a8480 74656420 746f2074 68652064 65736372 ted to the descr │ │ │ │ - 0x003a8490 69707469 6f6e2074 65787429 2c0a2020 iption text),. │ │ │ │ - 0x003a84a0 20202f2f 20627574 20746869 73207761 // but this wa │ │ │ │ - 0x003a84b0 79206974 20697320 636f6e73 69737465 y it is consiste │ │ │ │ - 0x003a84c0 6e742077 69746820 74686520 77617920 nt with the way │ │ │ │ - 0x003a84d0 686f7720 74686520 45445320 6261636b how the EDS back │ │ │ │ - 0x003a84e0 656e6420 75736564 20746f20 68616e64 end used to hand │ │ │ │ - 0x003a84f0 6c650a20 2020202f 2f206974 20616e64 le. // it and │ │ │ │ - 0x003a8500 2073796d 6d657472 69632077 69746820 symmetric with │ │ │ │ - 0x003a8510 4d454d4f 5f4f5554 474f494e 475f5343 MEMO_OUTGOING_SC │ │ │ │ - 0x003a8520 52495054 2e0a2020 20206966 20285355 RIPT.. if (SU │ │ │ │ - 0x003a8530 4d4d4152 5920213d 20454d50 54592026 MMARY != EMPTY & │ │ │ │ - 0x003a8540 26204445 53435249 5054494f 4e20213d & DESCRIPTION != │ │ │ │ - 0x003a8550 20454d50 54592920 7b0a2020 20202020 EMPTY) {. │ │ │ │ - 0x003a8560 20204445 53435249 5054494f 4e203d20 DESCRIPTION = │ │ │ │ - 0x003a8570 53554d4d 41525920 2b20225c 6e22202b SUMMARY + "\n" + │ │ │ │ - 0x003a8580 20444553 43524950 54494f4e 3b0a2020 DESCRIPTION;. │ │ │ │ - 0x003a8590 20207d0a 20202020 5d5d3e3c 2f6d6163 }. ]]>.. . │ │ │ │ - 0x003a8620 3c215b43 44415441 5b0a2020 20202f2f = lensummar │ │ │ │ - 0x003a8740 79202626 0a202020 20202020 20535542 y &&. SUB │ │ │ │ - 0x003a8750 53545228 44455343 52495054 494f4e2c STR(DESCRIPTION, │ │ │ │ - 0x003a8760 20302c20 6c656e73 756d6d61 72792920 0, lensummary) │ │ │ │ - 0x003a8770 3d3d2053 554d4d41 52592026 260a2020 == SUMMARY &&. │ │ │ │ - 0x003a8780 20202020 2020286c 656e7375 6d6d6172 (lensummar │ │ │ │ - 0x003a8790 79203d3d 206c656e 64657363 72207c7c y == lendescr || │ │ │ │ - 0x003a87a0 20535542 53545228 44455343 52495054 SUBSTR(DESCRIPT │ │ │ │ - 0x003a87b0 494f4e2c 206c656e 73756d6d 6172792c ION, lensummary, │ │ │ │ - 0x003a87c0 20312920 3d3d2022 5c6e2229 29207b0a 1) == "\n")) {. │ │ │ │ - 0x003a87d0 20202020 20202020 44455343 52495054 DESCRIPT │ │ │ │ - 0x003a87e0 494f4e20 3d205355 42535452 28444553 ION = SUBSTR(DES │ │ │ │ - 0x003a87f0 43524950 54494f4e 2c206c65 6e73756d CRIPTION, lensum │ │ │ │ - 0x003a8800 6d617279 202b2031 2c206c65 6e646573 mary + 1, lendes │ │ │ │ - 0x003a8810 6372202d 206c656e 73756d6d 61727920 cr - lensummary │ │ │ │ - 0x003a8820 2d203129 3b0a2020 20207d0a 20202020 - 1);. }. │ │ │ │ - 0x003a8830 5d5d3e3c 2f6d6163 726f3e0a 0a202020 ]]>.. │ │ │ │ - 0x003a8840 203c6d61 63726f20 6e616d65 3d224341 . │ │ │ │ + 0x003a3840 3e0a0a0a 20202020 3c212d2d 20646566 >... .. 0) {. │ │ │ │ + 0x003a3d00 20202020 2f2f2044 54535441 52542061 // DTSTART a │ │ │ │ + 0x003a3d10 6e642044 54454e44 20726570 72657365 nd DTEND represe │ │ │ │ + 0x003a3d20 6e742061 6c6c6461 79206576 656e742c nt allday event, │ │ │ │ + 0x003a3d30 206d616b 65207468 656d2064 6174652d make them date- │ │ │ │ + 0x003a3d40 6f6e6c79 2076616c 7565730a 20202020 only values. │ │ │ │ + 0x003a3d50 20202020 20202f2f 202d2063 6f6e7665 // - conve │ │ │ │ + 0x003a3d60 72742073 74617274 20746f20 75736572 rt start to user │ │ │ │ + 0x003a3d70 207a6f6e 6520286f 7220666c 6f617469 zone (or floati │ │ │ │ + 0x003a3d80 6e672920 736f2069 74207265 70726573 ng) so it repres │ │ │ │ + 0x003a3d90 656e7473 206d6964 6e696768 740a2020 ents midnight. │ │ │ │ + 0x003a3da0 20202020 20202020 44545354 41525420 DTSTART │ │ │ │ + 0x003a3db0 3d20434f 4e564552 54544f55 5345525a = CONVERTTOUSERZ │ │ │ │ + 0x003a3dc0 4f4e4528 44545354 41525429 3b0a2020 ONE(DTSTART);. │ │ │ │ + 0x003a3dd0 20202020 20202020 4d414b45 414c4c44 MAKEALLD │ │ │ │ + 0x003a3de0 41592844 54535441 52542c44 54454e44 AY(DTSTART,DTEND │ │ │ │ + 0x003a3df0 2c69293b 0a202020 20202020 20202069 ,i);. i │ │ │ │ + 0x003a3e00 66202852 525f454e 4420213d 20454d50 f (RR_END != EMP │ │ │ │ + 0x003a3e10 54592920 7b0a2020 20202020 20202020 TY) {. │ │ │ │ + 0x003a3e20 20202052 525f454e 44203d20 44415445 RR_END = DATE │ │ │ │ + 0x003a3e30 4f4e4c59 28434f4e 56455254 544f5553 ONLY(CONVERTTOUS │ │ │ │ + 0x003a3e40 45525a4f 4e452852 525f454e 4429293b ERZONE(RR_END)); │ │ │ │ + 0x003a3e50 0a202020 20202020 2020207d 0a202020 . }. │ │ │ │ + 0x003a3e60 20202020 207d0a20 20202020 20202065 }. e │ │ │ │ + 0x003a3e70 6c736520 7b0a2020 20202020 20202020 lse {. │ │ │ │ + 0x003a3e80 2f2f2069 43616c65 6e646172 20322e30 // iCalendar 2.0 │ │ │ │ + 0x003a3e90 202d206f 6e6c7920 69662044 54535441 - only if DTSTA │ │ │ │ + 0x003a3ea0 52542069 73206120 64617465 2d6f6e6c RT is a date-onl │ │ │ │ + 0x003a3eb0 79207661 6c756520 74686973 20726561 y value this rea │ │ │ │ + 0x003a3ec0 6c6c7920 69732061 6e20616c 6c646179 lly is an allday │ │ │ │ + 0x003a3ed0 0a202020 20202020 20202069 66202849 . if (I │ │ │ │ + 0x003a3ee0 53444154 454f4e4c 59284454 53544152 SDATEONLY(DTSTAR │ │ │ │ + 0x003a3ef0 54292920 7b0a2020 20202020 20202020 T)) {. │ │ │ │ + 0x003a3f00 20202f2f 20726573 68617065 20746f20 // reshape to │ │ │ │ + 0x003a3f10 6d616b65 20737572 65207765 20646f6e make sure we don │ │ │ │ + 0x003a3f20 27742068 61766520 696e7661 6c696420 't have invalid │ │ │ │ + 0x003a3f30 7a65726f 2d647572 6174696f 6e20616c zero-duration al │ │ │ │ + 0x003a3f40 6c646179 7320286f 6c64204f 43532039 ldays (old OCS 9 │ │ │ │ + 0x003a3f50 20736572 76657273 290a2020 20202020 servers). │ │ │ │ + 0x003a3f60 20202020 20204d41 4b45414c 4c444159 MAKEALLDAY │ │ │ │ + 0x003a3f70 28445453 54415254 2c445445 4e442c69 (DTSTART,DTEND,i │ │ │ │ + 0x003a3f80 293b0a20 20202020 20202020 207d0a20 );. }. │ │ │ │ + 0x003a3f90 20202020 2020207d 0a0a2020 20202020 }.. │ │ │ │ + 0x003a3fa0 20202f2f 204d616b 65207375 72652074 // Make sure t │ │ │ │ + 0x003a3fb0 68617420 616c6c20 45584441 54452074 hat all EXDATE t │ │ │ │ + 0x003a3fc0 696d6573 20617265 20696e20 74686520 imes are in the │ │ │ │ + 0x003a3fd0 73616d65 2074696d 657a6f6e 65206173 same timezone as │ │ │ │ + 0x003a3fe0 20746865 20737461 72740a20 20202020 the start. │ │ │ │ + 0x003a3ff0 2020202f 2f207469 6d652e20 536f6d65 // time. Some │ │ │ │ + 0x003a4000 20736572 76657273 2073656e 64207468 servers send th │ │ │ │ + 0x003a4010 656d2061 73205554 432c2077 68696368 em as UTC, which │ │ │ │ + 0x003a4020 20697320 616c6c20 66696e65 20616e64 is all fine and │ │ │ │ + 0x003a4030 2077656c 6c2c2062 75740a20 20202020 well, but. │ │ │ │ + 0x003a4040 2020202f 2f206f6e 6c792069 66207468 // only if th │ │ │ │ + 0x003a4050 65207469 6d657a6f 6e652064 6566696e e timezone defin │ │ │ │ + 0x003a4060 6974696f 6e20646f 65736e27 74206368 ition doesn't ch │ │ │ │ + 0x003a4070 616e6765 2e20416c 736f2c20 6c696269 ange. Also, libi │ │ │ │ + 0x003a4080 63616c20 646f6573 206e6f74 0a202020 cal does not. │ │ │ │ + 0x003a4090 20202020 202f2f20 68616e64 6c652073 // handle s │ │ │ │ + 0x003a40a0 75636820 55544320 45584441 5445732c uch UTC EXDATEs, │ │ │ │ + 0x003a40b0 20736f20 6c657427 7320636f 6e766572 so let's conver │ │ │ │ + 0x003a40c0 74206974 20776869 6c652074 68652055 t it while the U │ │ │ │ + 0x003a40d0 54432061 6e640a20 20202020 2020202f TC and. / │ │ │ │ + 0x003a40e0 2f207469 6d65207a 6f6e6520 64656669 / time zone defi │ │ │ │ + 0x003a40f0 6e697469 6f6e2028 686f7065 66756c6c nition (hopefull │ │ │ │ + 0x003a4100 79292061 72652069 6e207379 6e632e0a y) are in sync.. │ │ │ │ + 0x003a4110 20202020 20202020 69662028 54494d45 if (TIME │ │ │ │ + 0x003a4120 5a4f4e45 28445453 54415254 2920213d ZONE(DTSTART) != │ │ │ │ + 0x003a4130 20225554 43222026 26202149 53464c4f "UTC" && !ISFLO │ │ │ │ + 0x003a4140 4154494e 47284454 53544152 54292920 ATING(DTSTART)) │ │ │ │ + 0x003a4150 7b0a2020 20202020 20202020 69203d20 {. i = │ │ │ │ + 0x003a4160 303b0a20 20202020 20202020 2074696d 0;. tim │ │ │ │ + 0x003a4170 65737461 6d702065 78646174 653b0a20 estamp exdate;. │ │ │ │ + 0x003a4180 20202020 20202020 20776869 6c652028 while ( │ │ │ │ + 0x003a4190 693c5349 5a452845 58444154 45532929 i0) {. │ │ │ │ + 0x003a4ce0 20204455 45203d20 434f4e56 45525454 DUE = CONVERTT │ │ │ │ + 0x003a4cf0 4f555345 525a4f4e 45284455 45293b0a OUSERZONE(DUE);. │ │ │ │ + 0x003a4d00 20202020 20202020 20204455 45203d20 DUE = │ │ │ │ + 0x003a4d10 44415445 4f4e4c59 28445545 293b0a20 DATEONLY(DUE);. │ │ │ │ + 0x003a4d20 20202020 2020207d 0a202020 20202020 }. │ │ │ │ + 0x003a4d30 20696620 28495445 4d444154 41545950 if (ITEMDATATYP │ │ │ │ + 0x003a4d40 4528293d 3d227643 616c656e 64617231 E()=="vCalendar1 │ │ │ │ + 0x003a4d50 30222920 7b0a2020 20202020 20202020 0") {. │ │ │ │ + 0x003a4d60 24564341 4c454e44 41525f31 30544f32 $VCALENDAR_10TO2 │ │ │ │ + 0x003a4d70 305f5052 494f5249 54595f43 4f4e5645 0_PRIORITY_CONVE │ │ │ │ + 0x003a4d80 5253494f 4e3b0a20 20202020 2020207d RSION;. } │ │ │ │ + 0x003a4d90 0a202020 2020207d 0a202020 2020202f . }. / │ │ │ │ + 0x003a4da0 2f206120 776f726b 61726f75 6e642066 / a workaround f │ │ │ │ + 0x003a4db0 6f722066 756e616d 626f6c3a 20616464 or funambol: add │ │ │ │ + 0x003a4dc0 696e6720 27616374 696f6e27 20666f72 ing 'action' for │ │ │ │ + 0x003a4dd0 2027616c 61726d27 0a202020 2020202f 'alarm'. / │ │ │ │ + 0x003a4de0 2f206966 20697465 6d206461 74612074 / if item data t │ │ │ │ + 0x003a4df0 79706520 69732076 43616c65 6e646172 ype is vCalendar │ │ │ │ + 0x003a4e00 312e302c 20616c73 6f206164 64202761 1.0, also add 'a │ │ │ │ + 0x003a4e10 6374696f 6e272066 6f722027 616c6172 ction' for 'alar │ │ │ │ + 0x003a4e20 6d272e0a 20202020 20202f2f 20546869 m'.. // Thi │ │ │ │ + 0x003a4e30 73206973 20612077 6f726b61 726f756e s is a workaroun │ │ │ │ + 0x003a4e40 6420666f 72204d6f 62696361 6c2e6e65 d for Mobical.ne │ │ │ │ + 0x003a4e50 742c2077 68696368 20757365 73207643 t, which uses vC │ │ │ │ + 0x003a4e60 616c656e 64617231 2e302e0a 20202020 alendar1.0.. │ │ │ │ + 0x003a4e70 20206966 2028414c 41524d5f 54494d45 if (ALARM_TIME │ │ │ │ + 0x003a4e80 213d454d 50545920 26262041 4c41524d !=EMPTY && ALARM │ │ │ │ + 0x003a4e90 5f414354 494f4e3d 3d454d50 54592920 _ACTION==EMPTY) │ │ │ │ + 0x003a4ea0 7b0a2020 20202020 20202020 414c4152 {. ALAR │ │ │ │ + 0x003a4eb0 4d5f4143 54494f4e 203d2022 44495350 M_ACTION = "DISP │ │ │ │ + 0x003a4ec0 4c415922 3b0a2020 20202020 7d0a2020 LAY";. }. │ │ │ │ + 0x003a4ed0 20205d5d 3e3c2f6d 6163726f 3e0a0a0a ]]>... │ │ │ │ + 0x003a4ee0 20202020 3c6d6163 726f206e 616d653d .. .. . < │ │ │ │ + 0x003a5df0 215b4344 4154415b 0a202020 20494e54 ![CDATA[. INT │ │ │ │ + 0x003a5e00 45474552 20524553 3b0a2020 20206966 EGER RES;. if │ │ │ │ + 0x003a5e10 2028434f 4d504152 49534f4e 4d4f4445 (COMPARISONMODE │ │ │ │ + 0x003a5e20 28292021 3d202261 67652220 26262053 () != "age" && S │ │ │ │ + 0x003a5e30 594e434d 4f444553 5550504f 52544544 YNCMODESUPPORTED │ │ │ │ + 0x003a5e40 28223131 32323538 33303030 22292920 ("1122583000")) │ │ │ │ + 0x003a5e50 7b0a2020 20202020 20206966 20285441 {. if (TA │ │ │ │ + 0x003a5e60 52474554 2e554944 203d3d20 52454645 RGET.UID == REFE │ │ │ │ + 0x003a5e70 52454e43 452e5549 44202626 0a202020 RENCE.UID &&. │ │ │ │ + 0x003a5e80 20202020 20202020 20544152 4745542e TARGET. │ │ │ │ + 0x003a5e90 4f524947 53544152 54203d3d 20524546 ORIGSTART == REF │ │ │ │ + 0x003a5ea0 4552454e 43452e4f 52494753 54415254 ERENCE.ORIGSTART │ │ │ │ + 0x003a5eb0 29207b0a 20202020 20202020 20202020 ) {. │ │ │ │ + 0x003a5ec0 52455320 3d20303b 0a202020 20202020 RES = 0;. │ │ │ │ + 0x003a5ed0 207d2065 6c736520 7b0a2020 20202020 } else {. │ │ │ │ + 0x003a5ee0 20202020 20205245 53203d20 2d393939 RES = -999 │ │ │ │ + 0x003a5ef0 3b0a2020 20202020 20207d0a 20202020 ;. }. │ │ │ │ + 0x003a5f00 7d20656c 7365207b 0a202020 20202020 } else {. │ │ │ │ + 0x003a5f10 20524553 203d2043 4f4d5041 52454649 RES = COMPAREFI │ │ │ │ + 0x003a5f20 454c4453 28293b0a 20202020 7d0a2020 ELDS();. }. │ │ │ │ + 0x003a5f30 20207265 7475726e 20524553 3b0a2020 return RES;. │ │ │ │ + 0x003a5f40 20205d5d 3e3c2f6d 6163726f 3e0a0a20 ]]>.. │ │ │ │ + 0x003a5f50 2020203c 212d2d20 696e766f 6b656420 . │ │ │ │ + 0x003a6190 0a0a2020 20203c21 2d2d2069 6e766f6b .. . = lensummary & │ │ │ │ + 0x003a6330 260a2020 20202020 20205355 42535452 &. SUBSTR │ │ │ │ + 0x003a6340 28444553 43524950 54494f4e 2c20302c (DESCRIPTION, 0, │ │ │ │ + 0x003a6350 206c656e 73756d6d 61727929 203d3d20 lensummary) == │ │ │ │ + 0x003a6360 53554d4d 41525920 26260a20 20202020 SUMMARY &&. │ │ │ │ + 0x003a6370 20202028 6c656e73 756d6d61 7279203d (lensummary = │ │ │ │ + 0x003a6380 3d206c65 6e646573 6372207c 7c205355 = lendescr || SU │ │ │ │ + 0x003a6390 42535452 28444553 43524950 54494f4e BSTR(DESCRIPTION │ │ │ │ + 0x003a63a0 2c206c65 6e73756d 6d617279 2c203129 , lensummary, 1) │ │ │ │ + 0x003a63b0 203d3d20 225c6e22 2929207b 0a202020 == "\n")) {. │ │ │ │ + 0x003a63c0 20202020 20444553 43524950 54494f4e DESCRIPTION │ │ │ │ + 0x003a63d0 203d2053 55425354 52284445 53435249 = SUBSTR(DESCRI │ │ │ │ + 0x003a63e0 5054494f 4e2c206c 656e7375 6d6d6172 PTION, lensummar │ │ │ │ + 0x003a63f0 79202b20 312c206c 656e6465 73637220 y + 1, lendescr │ │ │ │ + 0x003a6400 2d206c65 6e73756d 6d617279 202d2031 - lensummary - 1 │ │ │ │ + 0x003a6410 293b0a20 2020207d 0a202020 205d5d3e );. }. ]]> │ │ │ │ + 0x003a6420 3c2f6d61 63726f3e 0a0a2020 20203c6d .. . │ │ │ │ + 0x003a65a0 203c6d61 63726f20 6e616d65 3d225643 < │ │ │ │ + 0x003a6630 2f6d6163 726f3e0a 0a202020 203c6d61 /macro>.. .. │ │ │ │ + 0x003a6730 2020203c 6d616372 6f206e61 6d653d22 .. │ │ │ │ + 0x003a67a0 203c212d 2d206d6f 76657320 616e2049 . .. . │ │ │ │ + 0x003a6910 20203c6d 6163726f 206e616d 653d2256 X-ANNIVERSARY │ │ │ │ + 0x003a6990 2e0a2020 20202020 2069203d 2053495a .. i = SIZ │ │ │ │ + 0x003a69a0 45285844 41544529 202d2031 3b0a2020 E(XDATE) - 1;. │ │ │ │ + 0x003a69b0 20202020 20776869 6c652028 69203e3d while (i >= │ │ │ │ + 0x003a69c0 20302920 7b0a2020 20202020 20202020 0) {. │ │ │ │ + 0x003a69d0 69662028 47524f55 505f5441 475b695d if (GROUP_TAG[i] │ │ │ │ + 0x003a69e0 20213d20 454d5054 59202626 0a202020 != EMPTY &&. │ │ │ │ + 0x003a69f0 20202020 20202020 20202058 44415445 XDATE │ │ │ │ + 0x003a6a00 5b695d20 213d2055 4e415353 49474e45 [i] != UNASSIGNE │ │ │ │ + 0x003a6a10 44202626 0a202020 20202020 20202020 D &&. │ │ │ │ + 0x003a6a20 2020204c 4142454c 5b695d20 3d3d2022 LABEL[i] == " │ │ │ │ + 0x003a6a30 416e6e69 76657273 61727922 29207b0a Anniversary") {. │ │ │ │ + 0x003a6a40 20202020 20202020 20202020 20205357 SW │ │ │ │ + 0x003a6a50 41502841 4e4e4956 45525341 52592c20 AP(ANNIVERSARY, │ │ │ │ + 0x003a6a60 58444154 455b695d 293b0a0a 20202020 XDATE[i]);.. │ │ │ │ + 0x003a6a70 20202020 20202020 20202f2f 20584441 // XDA │ │ │ │ + 0x003a6a80 54455b69 5d203d20 554e4153 5349474e TE[i] = UNASSIGN │ │ │ │ + 0x003a6a90 45443b0a 20202020 20202020 20202020 ED;. │ │ │ │ + 0x003a6aa0 20206272 65616b3b 0a202020 20202020 break;. │ │ │ │ + 0x003a6ab0 2020207d 0a202020 20202020 20202069 }. i │ │ │ │ + 0x003a6ac0 203d2069 202d2031 3b0a2020 20202020 = i - 1;. │ │ │ │ + 0x003a6ad0 207d0a0a 20202020 2020202f 2f205370 }.. // Sp │ │ │ │ + 0x003a6ae0 65636961 6c20582d 41425245 4c415445 ecial X-ABRELATE │ │ │ │ + 0x003a6af0 444e414d 4553202d 3e20582d 53504f55 DNAMES -> X-SPOU │ │ │ │ + 0x003a6b00 53452f4d 414e4147 45522f41 53534953 SE/MANAGER/ASSIS │ │ │ │ + 0x003a6b10 54414e54 0a202020 20202020 69203d20 TANT. i = │ │ │ │ + 0x003a6b20 53495a45 2852454c 41544544 4e414d45 SIZE(RELATEDNAME │ │ │ │ + 0x003a6b30 5329202d 20313b0a 20202020 20202077 S) - 1;. w │ │ │ │ + 0x003a6b40 68696c65 20286920 3e3d2030 29207b0a hile (i >= 0) {. │ │ │ │ + 0x003a6b50 20202020 20202020 20206966 20284752 if (GR │ │ │ │ + 0x003a6b60 4f55505f 5441475b 695d2021 3d20454d OUP_TAG[i] != EM │ │ │ │ + 0x003a6b70 50545920 26260a20 20202020 20202020 PTY &&. │ │ │ │ + 0x003a6b80 20202020 2052454c 41544544 4e414d45 RELATEDNAME │ │ │ │ + 0x003a6b90 535b695d 20213d20 554e4153 5349474e S[i] != UNASSIGN │ │ │ │ + 0x003a6ba0 45442920 7b0a2020 20202020 20202020 ED) {. │ │ │ │ + 0x003a6bb0 20202073 203d204c 4142454c 5b695d3b s = LABEL[i]; │ │ │ │ + 0x003a6bc0 0a202020 20202020 20202020 20206966 . if │ │ │ │ + 0x003a6bd0 20287320 3d3d2022 53706f75 73652229 (s == "Spouse") │ │ │ │ + 0x003a6be0 207b0a20 20202020 20202020 20202020 {. │ │ │ │ + 0x003a6bf0 20202069 66202853 504f5553 45203d3d if (SPOUSE == │ │ │ │ + 0x003a6c00 20454d50 54592920 7b0a2020 20202020 EMPTY) {. │ │ │ │ + 0x003a6c10 20202020 20202020 20202020 20535741 SWA │ │ │ │ + 0x003a6c20 50285350 4f555345 2c205245 4c415445 P(SPOUSE, RELATE │ │ │ │ + 0x003a6c30 444e414d 45535b69 5d293b0a 20202020 DNAMES[i]);. │ │ │ │ + 0x003a6c40 20202020 20202020 20202020 2020202f / │ │ │ │ + 0x003a6c50 2f205245 4c415445 444e414d 45535b69 / RELATEDNAMES[i │ │ │ │ + 0x003a6c60 5d203d20 554e4153 5349474e 45443b0a ] = UNASSIGNED;. │ │ │ │ + 0x003a6c70 20202020 20202020 20202020 20202020 │ │ │ │ + 0x003a6c80 7d0a2020 20202020 20202020 2020207d }. } │ │ │ │ + 0x003a6c90 20656c73 65206966 20287320 3d3d2022 else if (s == " │ │ │ │ + 0x003a6ca0 4d616e61 67657222 29207b0a 20202020 Manager") {. │ │ │ │ + 0x003a6cb0 20202020 20202020 20202020 69662028 if ( │ │ │ │ + 0x003a6cc0 4d414e41 47455220 3d3d2045 4d505459 MANAGER == EMPTY │ │ │ │ + 0x003a6cd0 29207b0a 20202020 20202020 20202020 ) {. │ │ │ │ + 0x003a6ce0 20202020 20202053 57415028 4d414e41 SWAP(MANA │ │ │ │ + 0x003a6cf0 4745522c 2052454c 41544544 4e414d45 GER, RELATEDNAME │ │ │ │ + 0x003a6d00 535b695d 293b0a20 20202020 20202020 S[i]);. │ │ │ │ + 0x003a6d10 20202020 20202020 20202f2f 2052454c // REL │ │ │ │ + 0x003a6d20 41544544 4e414d45 535b695d 203d2055 ATEDNAMES[i] = U │ │ │ │ + 0x003a6d30 4e415353 49474e45 443b0a20 20202020 NASSIGNED;. │ │ │ │ + 0x003a6d40 20202020 20202020 2020207d 0a202020 }. │ │ │ │ + 0x003a6d50 20202020 20202020 20207d20 656c7365 } else │ │ │ │ + 0x003a6d60 20696620 2873203d 3d202241 73736973 if (s == "Assis │ │ │ │ + 0x003a6d70 74616e74 2229207b 0a202020 20202020 tant") {. │ │ │ │ + 0x003a6d80 20202020 20202020 20696620 28415353 if (ASS │ │ │ │ + 0x003a6d90 49535441 4e54203d 3d20454d 50545929 ISTANT == EMPTY) │ │ │ │ + 0x003a6da0 207b0a20 20202020 20202020 20202020 {. │ │ │ │ + 0x003a6db0 20202020 20205357 41502841 53534953 SWAP(ASSIS │ │ │ │ + 0x003a6dc0 54414e54 2c205245 4c415445 444e414d TANT, RELATEDNAM │ │ │ │ + 0x003a6dd0 45535b69 5d293b0a 20202020 20202020 ES[i]);. │ │ │ │ + 0x003a6de0 20202020 20202020 2020202f 2f205245 // RE │ │ │ │ + 0x003a6df0 4c415445 444e414d 45535b69 5d203d20 LATEDNAMES[i] = │ │ │ │ + 0x003a6e00 554e4153 5349474e 45443b0a 20202020 UNASSIGNED;. │ │ │ │ + 0x003a6e10 20202020 20202020 20202020 7d0a2020 }. │ │ │ │ + 0x003a6e20 20202020 20202020 2020207d 0a202020 }. │ │ │ │ + 0x003a6e30 20202020 2020207d 0a202020 20202020 }. │ │ │ │ + 0x003a6e40 20202069 203d2069 202d2031 3b0a2020 i = i - 1;. │ │ │ │ + 0x003a6e50 20202020 207d0a0a 20202020 2020202f }.. / │ │ │ │ + 0x003a6e60 2f20494d 5050202d 3e20582d 4a414242 / IMPP -> X-JABB │ │ │ │ + 0x003a6e70 45522f41 494d2f2e 2e2e2064 6570656e ER/AIM/... depen │ │ │ │ + 0x003a6e80 64696e67 206f6e20 73657276 69636520 ding on service │ │ │ │ + 0x003a6e90 74797065 2e205072 6f746f63 6f6c206d type. Protocol m │ │ │ │ + 0x003a6ea0 75737420 6d617463 682e0a20 20202020 ust match.. │ │ │ │ + 0x003a6eb0 20206920 3d205349 5a452849 4d505029 i = SIZE(IMPP) │ │ │ │ + 0x003a6ec0 202d2031 3b0a2020 20202020 20494e54 - 1;. INT │ │ │ │ + 0x003a6ed0 45474552 206f6666 7365743b 0a202020 EGER offset;. │ │ │ │ + 0x003a6ee0 20202020 53545249 4e472073 65727669 STRING servi │ │ │ │ + 0x003a6ef0 63653b0a 20202020 20202053 5452494e ce;. STRIN │ │ │ │ + 0x003a6f00 47207072 6f746f63 6f6c3b0a 20202020 G protocol;. │ │ │ │ + 0x003a6f10 20202053 5452494e 47207661 6c75653b STRING value; │ │ │ │ + 0x003a6f20 0a202020 20202020 7768696c 65202869 . while (i │ │ │ │ + 0x003a6f30 203e3d20 3029207b 0a202020 20202020 >= 0) {. │ │ │ │ + 0x003a6f40 20202073 65727669 6365203d 20494d50 service = IMP │ │ │ │ + 0x003a6f50 505f5345 52564943 455b695d 3b0a2020 P_SERVICE[i];. │ │ │ │ + 0x003a6f60 20202020 20202020 69662028 73657276 if (serv │ │ │ │ + 0x003a6f70 69636520 213d2055 4e415353 49474e45 ice != UNASSIGNE │ │ │ │ + 0x003a6f80 4429207b 0a202020 20202020 20202020 D) {. │ │ │ │ + 0x003a6f90 20206f66 66736574 203d2046 494e4428 offset = FIND( │ │ │ │ + 0x003a6fa0 494d5050 5b695d2c 20223a22 293b0a20 IMPP[i], ":");. │ │ │ │ + 0x003a6fb0 20202020 20202020 20202020 69662028 if ( │ │ │ │ + 0x003a6fc0 6f666673 65742021 3d20554e 41535349 offset != UNASSI │ │ │ │ + 0x003a6fd0 474e4544 29207b0a 20202020 20202020 GNED) {. │ │ │ │ + 0x003a6fe0 20202020 20202020 70726f74 6f636f6c protocol │ │ │ │ + 0x003a6ff0 203d2053 55425354 5228494d 50505b69 = SUBSTR(IMPP[i │ │ │ │ + 0x003a7000 5d2c2030 2c206f66 66736574 293b0a20 ], 0, offset);. │ │ │ │ + 0x003a7010 20202020 20202020 20202020 20202076 v │ │ │ │ + 0x003a7020 616c7565 203d2055 524c4445 434f4445 alue = URLDECODE │ │ │ │ + 0x003a7030 28535542 53545228 494d5050 5b695d2c (SUBSTR(IMPP[i], │ │ │ │ + 0x003a7040 206f6666 73657420 2b203129 293b0a20 offset + 1));. │ │ │ │ + 0x003a7050 20202020 20202020 20202020 20202069 i │ │ │ │ + 0x003a7060 66202873 65727669 6365203d 3d202241 f (service == "A │ │ │ │ + 0x003a7070 494d2220 26262070 726f746f 636f6c20 IM" && protocol │ │ │ │ + 0x003a7080 3d3d2022 61696d22 29207b0a 20202020 == "aim") {. │ │ │ │ + 0x003a7090 20202020 20202020 20202020 20202024 $ │ │ │ │ + 0x003a70a0 56434152 445f4d4f 4445524e 5f544f5f VCARD_MODERN_TO_ │ │ │ │ + 0x003a70b0 4c454741 43595f49 4d505028 76616c75 LEGACY_IMPP(valu │ │ │ │ + 0x003a70c0 652c2041 494d5f48 414e444c 452c2041 e, AIM_HANDLE, A │ │ │ │ + 0x003a70d0 494d5f53 4c4f542c 2069293b 0a202020 IM_SLOT, i);. │ │ │ │ + 0x003a70e0 20202020 20202020 20202020 207d2065 } e │ │ │ │ + 0x003a70f0 6c736520 69662028 73657276 69636520 lse if (service │ │ │ │ + 0x003a7100 3d3d2022 47616475 67616475 2229207b == "Gadugadu") { │ │ │ │ + 0x003a7110 0a202020 20202020 20202020 20202020 . │ │ │ │ + 0x003a7120 20202020 24564341 52445f4d 4f444552 $VCARD_MODER │ │ │ │ + 0x003a7130 4e5f544f 5f4c4547 4143595f 494d5050 N_TO_LEGACY_IMPP │ │ │ │ + 0x003a7140 2876616c 75652c20 47414455 47414455 (value, GADUGADU │ │ │ │ + 0x003a7150 5f48414e 444c452c 20474144 55474144 _HANDLE, GADUGAD │ │ │ │ + 0x003a7160 555f534c 4f542c20 69293b0a 20202020 U_SLOT, i);. │ │ │ │ + 0x003a7170 20202020 20202020 20202020 7d20656c } el │ │ │ │ + 0x003a7180 73652069 66202873 65727669 6365203d se if (service = │ │ │ │ + 0x003a7190 3d202247 726f7570 77697365 2229207b = "Groupwise") { │ │ │ │ + 0x003a71a0 0a202020 20202020 20202020 20202020 . │ │ │ │ + 0x003a71b0 20202020 24564341 52445f4d 4f444552 $VCARD_MODER │ │ │ │ + 0x003a71c0 4e5f544f 5f4c4547 4143595f 494d5050 N_TO_LEGACY_IMPP │ │ │ │ + 0x003a71d0 2876616c 75652c20 47524f55 50574953 (value, GROUPWIS │ │ │ │ + 0x003a71e0 455f4841 4e444c45 2c204752 4f555057 E_HANDLE, GROUPW │ │ │ │ + 0x003a71f0 4953455f 534c4f54 2c206929 3b0a2020 ISE_SLOT, i);. │ │ │ │ + 0x003a7200 20202020 20202020 20202020 20207d20 } │ │ │ │ + 0x003a7210 656c7365 20696620 28736572 76696365 else if (service │ │ │ │ + 0x003a7220 203d3d20 22494351 22202626 2070726f == "ICQ" && pro │ │ │ │ + 0x003a7230 746f636f 6c203d3d 20226169 6d222920 tocol == "aim") │ │ │ │ + 0x003a7240 7b0a2020 20202020 20202020 20202020 {. │ │ │ │ + 0x003a7250 20202020 20245643 4152445f 4d4f4445 $VCARD_MODE │ │ │ │ + 0x003a7260 524e5f54 4f5f4c45 47414359 5f494d50 RN_TO_LEGACY_IMP │ │ │ │ + 0x003a7270 50287661 6c75652c 20494351 5f48414e P(value, ICQ_HAN │ │ │ │ + 0x003a7280 444c452c 20494351 5f534c4f 542c2069 DLE, ICQ_SLOT, i │ │ │ │ + 0x003a7290 293b0a20 20202020 20202020 20202020 );. │ │ │ │ + 0x003a72a0 2020207d 20656c73 65206966 20287365 } else if (se │ │ │ │ + 0x003a72b0 72766963 65203d3d 20224a61 62626572 rvice == "Jabber │ │ │ │ + 0x003a72c0 22202626 2070726f 746f636f 6c203d3d " && protocol == │ │ │ │ + 0x003a72d0 2022786d 70702229 207b0a20 20202020 "xmpp") {. │ │ │ │ + 0x003a72e0 20202020 20202020 20202020 20202456 $V │ │ │ │ + 0x003a72f0 43415244 5f4d4f44 45524e5f 544f5f4c CARD_MODERN_TO_L │ │ │ │ + 0x003a7300 45474143 595f494d 50502876 616c7565 EGACY_IMPP(value │ │ │ │ + 0x003a7310 2c204a41 42424552 5f48414e 444c452c , JABBER_HANDLE, │ │ │ │ + 0x003a7320 204a4142 4245525f 534c4f54 2c206929 JABBER_SLOT, i) │ │ │ │ + 0x003a7330 3b0a2020 20202020 20202020 20202020 ;. │ │ │ │ + 0x003a7340 20207d20 656c7365 20696620 28736572 } else if (ser │ │ │ │ + 0x003a7350 76696365 203d3d20 224d534e 22202626 vice == "MSN" && │ │ │ │ + 0x003a7360 2070726f 746f636f 6c203d3d 20226d73 protocol == "ms │ │ │ │ + 0x003a7370 6e696d22 29207b0a 20202020 20202020 nim") {. │ │ │ │ + 0x003a7380 20202020 20202020 20202024 56434152 $VCAR │ │ │ │ + 0x003a7390 445f4d4f 4445524e 5f544f5f 4c454741 D_MODERN_TO_LEGA │ │ │ │ + 0x003a73a0 43595f49 4d505028 76616c75 652c204d CY_IMPP(value, M │ │ │ │ + 0x003a73b0 534e5f48 414e444c 452c204d 534e5f53 SN_HANDLE, MSN_S │ │ │ │ + 0x003a73c0 4c4f542c 2069293b 0a202020 20202020 LOT, i);. │ │ │ │ + 0x003a73d0 20202020 20202020 207d2065 6c736520 } else │ │ │ │ + 0x003a73e0 69662028 73657276 69636520 3d3d2022 if (service == " │ │ │ │ + 0x003a73f0 5961686f 6f222026 26207072 6f746f63 Yahoo" && protoc │ │ │ │ + 0x003a7400 6f6c203d 3d202279 6d736772 2229207b ol == "ymsgr") { │ │ │ │ + 0x003a7410 0a202020 20202020 20202020 20202020 . │ │ │ │ + 0x003a7420 20202020 24564341 52445f4d 4f444552 $VCARD_MODER │ │ │ │ + 0x003a7430 4e5f544f 5f4c4547 4143595f 494d5050 N_TO_LEGACY_IMPP │ │ │ │ + 0x003a7440 2876616c 75652c20 5941484f 4f5f4841 (value, YAHOO_HA │ │ │ │ + 0x003a7450 4e444c45 2c205941 484f4f5f 534c4f54 NDLE, YAHOO_SLOT │ │ │ │ + 0x003a7460 2c206929 3b0a2020 20202020 20202020 , i);. │ │ │ │ + 0x003a7470 20202020 20207d20 656c7365 20696620 } else if │ │ │ │ + 0x003a7480 28736572 76696365 203d3d20 22536b79 (service == "Sky │ │ │ │ + 0x003a7490 70652220 26262070 726f746f 636f6c20 pe" && protocol │ │ │ │ + 0x003a74a0 3d3d2022 736b7970 65222920 7b0a2020 == "skype") {. │ │ │ │ + 0x003a74b0 20202020 20202020 20202020 20202020 │ │ │ │ + 0x003a74c0 20245643 4152445f 4d4f4445 524e5f54 $VCARD_MODERN_T │ │ │ │ + 0x003a74d0 4f5f4c45 47414359 5f494d50 50287661 O_LEGACY_IMPP(va │ │ │ │ + 0x003a74e0 6c75652c 20534b59 50455f48 414e444c lue, SKYPE_HANDL │ │ │ │ + 0x003a74f0 452c2053 4b595045 5f534c4f 542c2069 E, SKYPE_SLOT, i │ │ │ │ + 0x003a7500 293b0a20 20202020 20202020 20202020 );. │ │ │ │ + 0x003a7510 2020207d 20656c73 65206966 20287365 } else if (se │ │ │ │ + 0x003a7520 72766963 65203d3d 20225369 70222920 rvice == "Sip") │ │ │ │ + 0x003a7530 7b0a2020 20202020 20202020 20202020 {. │ │ │ │ + 0x003a7540 20202020 20245643 4152445f 4d4f4445 $VCARD_MODE │ │ │ │ + 0x003a7550 524e5f54 4f5f4c45 47414359 5f494d50 RN_TO_LEGACY_IMP │ │ │ │ + 0x003a7560 50287661 6c75652c 20534950 5f48414e P(value, SIP_HAN │ │ │ │ + 0x003a7570 444c452c 20534950 5f534c4f 542c2069 DLE, SIP_SLOT, i │ │ │ │ + 0x003a7580 293b0a20 20202020 20202020 20202020 );. │ │ │ │ + 0x003a7590 2020207d 0a202020 20202020 20202020 }. │ │ │ │ + 0x003a75a0 20207d0a 20202020 20202020 20207d0a }. }. │ │ │ │ + 0x003a75b0 20202020 20202020 20206920 3d206920 i = i │ │ │ │ + 0x003a75c0 2d20313b 0a202020 20202020 7d0a0a0a - 1;. }... │ │ │ │ + 0x003a75d0 20202020 2020202f 2f205265 6d6f7665 // Remove │ │ │ │ + 0x003a75e0 206c6162 656c7320 77686963 68206172 labels which ar │ │ │ │ + 0x003a75f0 65206e6f 206c6f6e 67657220 6e656564 e no longer need │ │ │ │ + 0x003a7600 65642028 76616c75 6564206d 6f766564 ed (valued moved │ │ │ │ + 0x003a7610 2061626f 76652c0a 20202020 2020202f above,. / │ │ │ │ + 0x003a7620 2f207374 6f726564 20666f72 20612067 / stored for a g │ │ │ │ + 0x003a7630 726f7570 20776869 63682068 6173206e roup which has n │ │ │ │ + 0x003a7640 6f206f74 68657220 70726f70 65727469 o other properti │ │ │ │ + 0x003a7650 65732028 476f6f67 6c650a20 20202020 es (Google. │ │ │ │ + 0x003a7660 20202f2f 20436172 64444156 20736572 // CardDAV ser │ │ │ │ + 0x003a7670 76657220 736f6d65 74696d65 73207365 ver sometimes se │ │ │ │ + 0x003a7680 6e647320 74686174 2c206564 6974696e nds that, editin │ │ │ │ + 0x003a7690 6720696e 2045766f 6c757469 6f6e0a20 g in Evolution. │ │ │ │ + 0x003a76a0 20202020 20202f2f 206d6967 68742063 // might c │ │ │ │ + 0x003a76b0 61757365 2069742c 20657463 2e29206f ause it, etc.) o │ │ │ │ + 0x003a76c0 72207072 6f766964 65206e6f 20696e66 r provide no inf │ │ │ │ + 0x003a76d0 6f726d61 74696f6e 2028224f 74686572 ormation ("Other │ │ │ │ + 0x003a76e0 22292e0a 20202020 20202069 203d2053 ").. i = S │ │ │ │ + 0x003a76f0 495a4528 4c414245 4c29202d 20313b0a IZE(LABEL) - 1;. │ │ │ │ + 0x003a7700 20202020 20202077 68696c65 20286920 while (i │ │ │ │ + 0x003a7710 3e3d2030 29207b0a 20202020 20202020 >= 0) {. │ │ │ │ + 0x003a7720 20206966 20284c41 42454c5b 695d203d if (LABEL[i] = │ │ │ │ + 0x003a7730 3d20224f 74686572 22207c7c 0a202020 = "Other" ||. │ │ │ │ + 0x003a7740 20202020 20202020 2020204c 4142454c LABEL │ │ │ │ + 0x003a7750 5b695d20 213d2055 4e415353 49474e45 [i] != UNASSIGNE │ │ │ │ + 0x003a7760 44202626 0a202020 20202020 20202020 D &&. │ │ │ │ + 0x003a7770 20202028 47524f55 505f5441 475b695d (GROUP_TAG[i] │ │ │ │ + 0x003a7780 203d3d20 454d5054 59207c7c 0a202020 == EMPTY ||. │ │ │ │ + 0x003a7790 20202020 20202020 20202020 52454c41 RELA │ │ │ │ + 0x003a77a0 5445444e 414d4553 5b695d20 3d3d2055 TEDNAMES[i] == U │ │ │ │ + 0x003a77b0 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ + 0x003a77c0 20202020 20202020 20202020 58444154 XDAT │ │ │ │ + 0x003a77d0 455b695d 203d3d20 554e4153 5349474e E[i] == UNASSIGN │ │ │ │ + 0x003a77e0 45442026 260a2020 20202020 20202020 ED &&. │ │ │ │ + 0x003a77f0 20202020 2054454c 5b695d20 3d3d2055 TEL[i] == U │ │ │ │ + 0x003a7800 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ + 0x003a7810 20202020 20202020 20202020 454d4149 EMAI │ │ │ │ + 0x003a7820 4c5b695d 203d3d20 554e4153 5349474e L[i] == UNASSIGN │ │ │ │ + 0x003a7830 45442026 260a2020 20202020 20202020 ED &&. │ │ │ │ + 0x003a7840 20202020 20574542 5b695d20 3d3d2055 WEB[i] == U │ │ │ │ + 0x003a7850 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ + 0x003a7860 20202020 20202020 20202020 58444154 XDAT │ │ │ │ + 0x003a7870 455b695d 203d3d20 554e4153 5349474e E[i] == UNASSIGN │ │ │ │ + 0x003a7880 45442026 260a2020 20202020 20202020 ED &&. │ │ │ │ + 0x003a7890 20202020 20494d50 505b695d 203d3d20 IMPP[i] == │ │ │ │ + 0x003a78a0 554e4153 5349474e 45442026 260a2020 UNASSIGNED &&. │ │ │ │ + 0x003a78b0 20202020 20202020 20202020 20414452 ADR │ │ │ │ + 0x003a78c0 5f504f42 4f585b69 5d203d3d 20554e41 _POBOX[i] == UNA │ │ │ │ + 0x003a78d0 53534947 4e454420 26260a20 20202020 SSIGNED &&. │ │ │ │ + 0x003a78e0 20202020 20202020 20204144 525f4144 ADR_AD │ │ │ │ + 0x003a78f0 44544c5b 695d203d 3d20554e 41535349 DTL[i] == UNASSI │ │ │ │ + 0x003a7900 474e4544 2026260a 20202020 20202020 GNED &&. │ │ │ │ + 0x003a7910 20202020 20202041 44525f53 54524545 ADR_STREE │ │ │ │ + 0x003a7920 545b695d 203d3d20 554e4153 5349474e T[i] == UNASSIGN │ │ │ │ + 0x003a7930 45442026 260a2020 20202020 20202020 ED &&. │ │ │ │ + 0x003a7940 20202020 20414452 5f434954 595b695d ADR_CITY[i] │ │ │ │ + 0x003a7950 203d3d20 554e4153 5349474e 45442026 == UNASSIGNED & │ │ │ │ + 0x003a7960 260a2020 20202020 20202020 20202020 &. │ │ │ │ + 0x003a7970 20414452 5f524547 5b695d20 3d3d2055 ADR_REG[i] == U │ │ │ │ + 0x003a7980 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ + 0x003a7990 20202020 20202020 20202020 4144525f ADR_ │ │ │ │ + 0x003a79a0 5a49505b 695d203d 3d20554e 41535349 ZIP[i] == UNASSI │ │ │ │ + 0x003a79b0 474e4544 2026260a 20202020 20202020 GNED &&. │ │ │ │ + 0x003a79c0 20202020 20202041 44525f43 4f554e54 ADR_COUNT │ │ │ │ + 0x003a79d0 52595b69 5d203d3d 20554e41 53534947 RY[i] == UNASSIG │ │ │ │ + 0x003a79e0 4e454420 26260a20 20202020 20202020 NED &&. │ │ │ │ + 0x003a79f0 20202020 20204144 525f5354 52454554 ADR_STREET │ │ │ │ + 0x003a7a00 5f464c41 47535b69 5d203d3d 20554e41 _FLAGS[i] == UNA │ │ │ │ + 0x003a7a10 53534947 4e454429 29207b0a 20202020 SSIGNED)) {. │ │ │ │ + 0x003a7a20 20202020 20202020 2020204c 4142454c LABEL │ │ │ │ + 0x003a7a30 5b695d20 3d20554e 41535349 474e4544 [i] = UNASSIGNED │ │ │ │ + 0x003a7a40 3b0a2020 20202020 20202020 7d0a2020 ;. }. │ │ │ │ + 0x003a7a50 20202020 20202020 69203d20 69202d20 i = i - │ │ │ │ + 0x003a7a60 313b0a20 20202020 20207d0a 0a202020 1;. }.. │ │ │ │ + 0x003a7a70 20202020 2f2f2052 656d6f76 6520616c // Remove al │ │ │ │ + 0x003a7a80 6c206772 6f757020 74616773 2e204e6f l group tags. No │ │ │ │ + 0x003a7a90 74207573 65642066 6f72206c 65676163 t used for legac │ │ │ │ + 0x003a7aa0 7920666f 726d6174 732e0a20 20202020 y formats.. │ │ │ │ + 0x003a7ab0 20204752 4f55505f 54414720 3d20554e GROUP_TAG = UN │ │ │ │ + 0x003a7ac0 41535349 474e4544 3b0a2020 20205d5d ASSIGNED;. ]] │ │ │ │ + 0x003a7ad0 3e3c2f6d 6163726f 3e0a0a20 2020203c >.. < │ │ │ │ + 0x003a7ae0 212d2d20 54686520 6c656761 63792d3e !-- The legacy-> │ │ │ │ + 0x003a7af0 6d6f6465 726e2063 6f6e7665 7273696f modern conversio │ │ │ │ + 0x003a7b00 6e206967 6e6f7265 7320656d 70747920 n ignores empty │ │ │ │ + 0x003a7b10 70726f70 65727479 2076616c 7565730a property values. │ │ │ │ + 0x003a7b20 20202020 62656361 75736520 77652077 because we w │ │ │ │ + 0x003a7b30 6f756c64 206e6f74 20656e63 6f646520 ould not encode │ │ │ │ + 0x003a7b40 7468656d 20617320 656d7074 790a2020 them as empty. │ │ │ │ + 0x003a7b50 2020494d 50502f58 2d414244 4154452f IMPP/X-ABDATE/ │ │ │ │ + 0x003a7b60 582d4142 52454c41 5445444e 414d4553 X-ABRELATEDNAMES │ │ │ │ + 0x003a7b70 2076616c 75657320 616e7977 61790a20 values anyway. │ │ │ │ + 0x003a7b80 20202028 3c6e6f65 6d707479 70726f70 (), leavin │ │ │ │ + 0x003a7ba0 67207573 20776974 68206a75 73742074 g us with just t │ │ │ │ + 0x003a7bb0 68652072 6564756e 64616e74 206c6162 he redundant lab │ │ │ │ + 0x003a7bc0 656c732e 0a202020 202d2d3e 0a0a2020 els.. -->.. │ │ │ │ + 0x003a7bd0 20203c21 2d2d2058 2d53504f 5553452f . │ │ │ │ 0x003a8a10 3c666965 6c646c69 7374206e 616d653d