--- /srv/rebuilderd/tmp/rebuilderdWFCekY/inputs/libsyncevolution0_2.0.0-3.3_ppc64el.deb +++ /srv/rebuilderd/tmp/rebuilderdWFCekY/out/libsyncevolution0_2.0.0-3.3_ppc64el.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 1136 2025-08-25 11:04:45.000000 control.tar.xz │ --rw-r--r-- 0 0 0 880572 2025-08-25 11:04:45.000000 data.tar.xz │ +-rw-r--r-- 0 0 0 1132 2025-08-25 11:04:45.000000 control.tar.xz │ +-rw-r--r-- 0 0 0 879812 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/powerpc64le-linux-gnu/libsyncevolution.so.0.0.0 │ │ │┄ File has been modified after NT_GNU_BUILD_ID has been applied. │ │ │ ├── readelf --wide --notes {} │ │ │ │ @@ -1,4 +1,4 @@ │ │ │ │ │ │ │ │ Displaying notes found in: .note.gnu.build-id │ │ │ │ Owner Data size Description │ │ │ │ - GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 95366bfed0c5f2f9059644d0c5925910229939aa │ │ │ │ + GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 4c23349a717a9bda7340ad8892ccfe01caf73532 │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ @@ -10201,235 +10201,15 @@ │ │ │ │ } │ │ │ │ ]]> │ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - 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; │ │ │ │ + } │ │ │ │ + ]]> │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ . │ │ │ │ - 0x00435430 20202020 3c6d6163 726f206e 616d653d .. │ │ │ │ - 0x00435520 203c212d 2d20636f 6e766572 74206672 . X-ANNI │ │ │ │ - 0x004355e0 56455253 4152592e 0a202020 20202020 VERSARY.. │ │ │ │ - 0x004355f0 69203d20 53495a45 28584441 54452920 i = SIZE(XDATE) │ │ │ │ - 0x00435600 2d20313b 0a202020 20202020 7768696c - 1;. whil │ │ │ │ - 0x00435610 65202869 203e3d20 3029207b 0a202020 e (i >= 0) {. │ │ │ │ - 0x00435620 20202020 20202069 66202847 524f5550 if (GROUP │ │ │ │ - 0x00435630 5f544147 5b695d20 213d2045 4d505459 _TAG[i] != EMPTY │ │ │ │ - 0x00435640 2026260a 20202020 20202020 20202020 &&. │ │ │ │ - 0x00435650 20205844 4154455b 695d2021 3d20554e XDATE[i] != UN │ │ │ │ - 0x00435660 41535349 474e4544 2026260a 20202020 ASSIGNED &&. │ │ │ │ - 0x00435670 20202020 20202020 20204c41 42454c5b LABEL[ │ │ │ │ - 0x00435680 695d203d 3d202241 6e6e6976 65727361 i] == "Anniversa │ │ │ │ - 0x00435690 72792229 207b0a20 20202020 20202020 ry") {. │ │ │ │ - 0x004356a0 20202020 20535741 5028414e 4e495645 SWAP(ANNIVE │ │ │ │ - 0x004356b0 52534152 592c2058 44415445 5b695d29 RSARY, XDATE[i]) │ │ │ │ - 0x004356c0 3b0a0a20 20202020 20202020 20202020 ;.. │ │ │ │ - 0x004356d0 202f2f20 58444154 455b695d 203d2055 // XDATE[i] = U │ │ │ │ - 0x004356e0 4e415353 49474e45 443b0a20 20202020 NASSIGNED;. │ │ │ │ - 0x004356f0 20202020 20202020 20627265 616b3b0a break;. │ │ │ │ - 0x00435700 20202020 20202020 20207d0a 20202020 }. │ │ │ │ - 0x00435710 20202020 20206920 3d206920 2d20313b i = i - 1; │ │ │ │ - 0x00435720 0a202020 20202020 7d0a0a20 20202020 . }.. │ │ │ │ - 0x00435730 20202f2f 20537065 6369616c 20582d41 // Special X-A │ │ │ │ - 0x00435740 4252454c 41544544 4e414d45 53202d3e BRELATEDNAMES -> │ │ │ │ - 0x00435750 20582d53 504f5553 452f4d41 4e414745 X-SPOUSE/MANAGE │ │ │ │ - 0x00435760 522f4153 53495354 414e540a 20202020 R/ASSISTANT. │ │ │ │ - 0x00435770 20202069 203d2053 495a4528 52454c41 i = SIZE(RELA │ │ │ │ - 0x00435780 5445444e 414d4553 29202d20 313b0a20 TEDNAMES) - 1;. │ │ │ │ - 0x00435790 20202020 20207768 696c6520 2869203e while (i > │ │ │ │ - 0x004357a0 3d203029 207b0a20 20202020 20202020 = 0) {. │ │ │ │ - 0x004357b0 20696620 2847524f 55505f54 41475b69 if (GROUP_TAG[i │ │ │ │ - 0x004357c0 5d20213d 20454d50 54592026 260a2020 ] != EMPTY &&. │ │ │ │ - 0x004357d0 20202020 20202020 20202020 52454c41 RELA │ │ │ │ - 0x004357e0 5445444e 414d4553 5b695d20 213d2055 TEDNAMES[i] != U │ │ │ │ - 0x004357f0 4e415353 49474e45 4429207b 0a202020 NASSIGNED) {. │ │ │ │ - 0x00435800 20202020 20202020 20207320 3d204c41 s = LA │ │ │ │ - 0x00435810 42454c5b 695d3b0a 20202020 20202020 BEL[i];. │ │ │ │ - 0x00435820 20202020 20696620 2873203d 3d202253 if (s == "S │ │ │ │ - 0x00435830 706f7573 65222920 7b0a2020 20202020 pouse") {. │ │ │ │ - 0x00435840 20202020 20202020 20206966 20285350 if (SP │ │ │ │ - 0x00435850 4f555345 203d3d20 454d5054 5929207b OUSE == EMPTY) { │ │ │ │ - 0x00435860 0a202020 20202020 20202020 20202020 . │ │ │ │ - 0x00435870 20202020 53574150 2853504f 5553452c SWAP(SPOUSE, │ │ │ │ - 0x00435880 2052454c 41544544 4e414d45 535b695d RELATEDNAMES[i] │ │ │ │ - 0x00435890 293b0a20 20202020 20202020 20202020 );. │ │ │ │ - 0x004358a0 20202020 20202f2f 2052454c 41544544 // RELATED │ │ │ │ - 0x004358b0 4e414d45 535b695d 203d2055 4e415353 NAMES[i] = UNASS │ │ │ │ - 0x004358c0 49474e45 443b0a20 20202020 20202020 IGNED;. │ │ │ │ - 0x004358d0 20202020 2020207d 0a202020 20202020 }. │ │ │ │ - 0x004358e0 20202020 20207d20 656c7365 20696620 } else if │ │ │ │ - 0x004358f0 2873203d 3d20224d 616e6167 65722229 (s == "Manager") │ │ │ │ - 0x00435900 207b0a20 20202020 20202020 20202020 {. │ │ │ │ - 0x00435910 20202069 6620284d 414e4147 4552203d if (MANAGER = │ │ │ │ - 0x00435920 3d20454d 50545929 207b0a20 20202020 = EMPTY) {. │ │ │ │ - 0x00435930 20202020 20202020 20202020 20205357 SW │ │ │ │ - 0x00435940 4150284d 414e4147 45522c20 52454c41 AP(MANAGER, RELA │ │ │ │ - 0x00435950 5445444e 414d4553 5b695d29 3b0a2020 TEDNAMES[i]);. │ │ │ │ - 0x00435960 20202020 20202020 20202020 20202020 │ │ │ │ - 0x00435970 202f2f20 52454c41 5445444e 414d4553 // RELATEDNAMES │ │ │ │ - 0x00435980 5b695d20 3d20554e 41535349 474e4544 [i] = UNASSIGNED │ │ │ │ - 0x00435990 3b0a2020 20202020 20202020 20202020 ;. │ │ │ │ - 0x004359a0 20207d0a 20202020 20202020 20202020 }. │ │ │ │ - 0x004359b0 207d2065 6c736520 69662028 73203d3d } else if (s == │ │ │ │ - 0x004359c0 20224173 73697374 616e7422 29207b0a "Assistant") {. │ │ │ │ - 0x004359d0 20202020 20202020 20202020 20202020 │ │ │ │ - 0x004359e0 69662028 41535349 5354414e 54203d3d if (ASSISTANT == │ │ │ │ - 0x004359f0 20454d50 54592920 7b0a2020 20202020 EMPTY) {. │ │ │ │ - 0x00435a00 20202020 20202020 20202020 20535741 SWA │ │ │ │ - 0x00435a10 50284153 53495354 414e542c 2052454c P(ASSISTANT, REL │ │ │ │ - 0x00435a20 41544544 4e414d45 535b695d 293b0a20 ATEDNAMES[i]);. │ │ │ │ - 0x00435a30 20202020 20202020 20202020 20202020 │ │ │ │ - 0x00435a40 20202f2f 2052454c 41544544 4e414d45 // RELATEDNAME │ │ │ │ - 0x00435a50 535b695d 203d2055 4e415353 49474e45 S[i] = UNASSIGNE │ │ │ │ - 0x00435a60 443b0a20 20202020 20202020 20202020 D;. │ │ │ │ - 0x00435a70 2020207d 0a202020 20202020 20202020 }. │ │ │ │ - 0x00435a80 20207d0a 20202020 20202020 20207d0a }. }. │ │ │ │ - 0x00435a90 20202020 20202020 20206920 3d206920 i = i │ │ │ │ - 0x00435aa0 2d20313b 0a202020 20202020 7d0a0a20 - 1;. }.. │ │ │ │ - 0x00435ab0 20202020 20202f2f 20494d50 50202d3e // IMPP -> │ │ │ │ - 0x00435ac0 20582d4a 41424245 522f4149 4d2f2e2e X-JABBER/AIM/.. │ │ │ │ - 0x00435ad0 2e206465 70656e64 696e6720 6f6e2073 . depending on s │ │ │ │ - 0x00435ae0 65727669 63652074 7970652e 2050726f ervice type. Pro │ │ │ │ - 0x00435af0 746f636f 6c206d75 7374206d 61746368 tocol must match │ │ │ │ - 0x00435b00 2e0a2020 20202020 2069203d 2053495a .. i = SIZ │ │ │ │ - 0x00435b10 4528494d 50502920 2d20313b 0a202020 E(IMPP) - 1;. │ │ │ │ - 0x00435b20 20202020 494e5445 47455220 6f666673 INTEGER offs │ │ │ │ - 0x00435b30 65743b0a 20202020 20202053 5452494e et;. STRIN │ │ │ │ - 0x00435b40 47207365 72766963 653b0a20 20202020 G service;. │ │ │ │ - 0x00435b50 20205354 52494e47 2070726f 746f636f STRING protoco │ │ │ │ - 0x00435b60 6c3b0a20 20202020 20205354 52494e47 l;. STRING │ │ │ │ - 0x00435b70 2076616c 75653b0a 20202020 20202077 value;. w │ │ │ │ - 0x00435b80 68696c65 20286920 3e3d2030 29207b0a hile (i >= 0) {. │ │ │ │ - 0x00435b90 20202020 20202020 20207365 72766963 servic │ │ │ │ - 0x00435ba0 65203d20 494d5050 5f534552 56494345 e = IMPP_SERVICE │ │ │ │ - 0x00435bb0 5b695d3b 0a202020 20202020 20202069 [i];. i │ │ │ │ - 0x00435bc0 66202873 65727669 63652021 3d20554e f (service != UN │ │ │ │ - 0x00435bd0 41535349 474e4544 29207b0a 20202020 ASSIGNED) {. │ │ │ │ - 0x00435be0 20202020 20202020 206f6666 73657420 offset │ │ │ │ - 0x00435bf0 3d204649 4e442849 4d50505b 695d2c20 = FIND(IMPP[i], │ │ │ │ - 0x00435c00 223a2229 3b0a2020 20202020 20202020 ":");. │ │ │ │ - 0x00435c10 20202069 6620286f 66667365 7420213d if (offset != │ │ │ │ - 0x00435c20 20554e41 53534947 4e454429 207b0a20 UNASSIGNED) {. │ │ │ │ - 0x00435c30 20202020 20202020 20202020 20202070 p │ │ │ │ - 0x00435c40 726f746f 636f6c20 3d205355 42535452 rotocol = SUBSTR │ │ │ │ - 0x00435c50 28494d50 505b695d 2c20302c 206f6666 (IMPP[i], 0, off │ │ │ │ - 0x00435c60 73657429 3b0a2020 20202020 20202020 set);. │ │ │ │ - 0x00435c70 20202020 20207661 6c756520 3d205552 value = UR │ │ │ │ - 0x00435c80 4c444543 4f444528 53554253 54522849 LDECODE(SUBSTR(I │ │ │ │ - 0x00435c90 4d50505b 695d2c20 6f666673 6574202b MPP[i], offset + │ │ │ │ - 0x00435ca0 20312929 3b0a2020 20202020 20202020 1));. │ │ │ │ - 0x00435cb0 20202020 20206966 20287365 72766963 if (servic │ │ │ │ - 0x00435cc0 65203d3d 20224149 4d222026 26207072 e == "AIM" && pr │ │ │ │ - 0x00435cd0 6f746f63 6f6c203d 3d202261 696d2229 otocol == "aim") │ │ │ │ - 0x00435ce0 207b0a20 20202020 20202020 20202020 {. │ │ │ │ - 0x00435cf0 20202020 20202456 43415244 5f4d4f44 $VCARD_MOD │ │ │ │ - 0x00435d00 45524e5f 544f5f4c 45474143 595f494d ERN_TO_LEGACY_IM │ │ │ │ - 0x00435d10 50502876 616c7565 2c204149 4d5f4841 PP(value, AIM_HA │ │ │ │ - 0x00435d20 4e444c45 2c204149 4d5f534c 4f542c20 NDLE, AIM_SLOT, │ │ │ │ - 0x00435d30 69293b0a 20202020 20202020 20202020 i);. │ │ │ │ - 0x00435d40 20202020 7d20656c 73652069 66202873 } else if (s │ │ │ │ - 0x00435d50 65727669 6365203d 3d202247 61647567 ervice == "Gadug │ │ │ │ - 0x00435d60 61647522 29207b0a 20202020 20202020 adu") {. │ │ │ │ - 0x00435d70 20202020 20202020 20202024 56434152 $VCAR │ │ │ │ - 0x00435d80 445f4d4f 4445524e 5f544f5f 4c454741 D_MODERN_TO_LEGA │ │ │ │ - 0x00435d90 43595f49 4d505028 76616c75 652c2047 CY_IMPP(value, G │ │ │ │ - 0x00435da0 41445547 4144555f 48414e44 4c452c20 ADUGADU_HANDLE, │ │ │ │ - 0x00435db0 47414455 47414455 5f534c4f 542c2069 GADUGADU_SLOT, i │ │ │ │ - 0x00435dc0 293b0a20 20202020 20202020 20202020 );. │ │ │ │ - 0x00435dd0 2020207d 20656c73 65206966 20287365 } else if (se │ │ │ │ - 0x00435de0 72766963 65203d3d 20224772 6f757077 rvice == "Groupw │ │ │ │ - 0x00435df0 69736522 29207b0a 20202020 20202020 ise") {. │ │ │ │ - 0x00435e00 20202020 20202020 20202024 56434152 $VCAR │ │ │ │ - 0x00435e10 445f4d4f 4445524e 5f544f5f 4c454741 D_MODERN_TO_LEGA │ │ │ │ - 0x00435e20 43595f49 4d505028 76616c75 652c2047 CY_IMPP(value, G │ │ │ │ - 0x00435e30 524f5550 57495345 5f48414e 444c452c ROUPWISE_HANDLE, │ │ │ │ - 0x00435e40 2047524f 55505749 53455f53 4c4f542c GROUPWISE_SLOT, │ │ │ │ - 0x00435e50 2069293b 0a202020 20202020 20202020 i);. │ │ │ │ - 0x00435e60 20202020 207d2065 6c736520 69662028 } else if ( │ │ │ │ - 0x00435e70 73657276 69636520 3d3d2022 49435122 service == "ICQ" │ │ │ │ - 0x00435e80 20262620 70726f74 6f636f6c 203d3d20 && protocol == │ │ │ │ - 0x00435e90 2261696d 2229207b 0a202020 20202020 "aim") {. │ │ │ │ - 0x00435ea0 20202020 20202020 20202020 24564341 $VCA │ │ │ │ - 0x00435eb0 52445f4d 4f444552 4e5f544f 5f4c4547 RD_MODERN_TO_LEG │ │ │ │ - 0x00435ec0 4143595f 494d5050 2876616c 75652c20 ACY_IMPP(value, │ │ │ │ - 0x00435ed0 4943515f 48414e44 4c452c20 4943515f ICQ_HANDLE, ICQ_ │ │ │ │ - 0x00435ee0 534c4f54 2c206929 3b0a2020 20202020 SLOT, i);. │ │ │ │ - 0x00435ef0 20202020 20202020 20207d20 656c7365 } else │ │ │ │ - 0x00435f00 20696620 28736572 76696365 203d3d20 if (service == │ │ │ │ - 0x00435f10 224a6162 62657222 20262620 70726f74 "Jabber" && prot │ │ │ │ - 0x00435f20 6f636f6c 203d3d20 22786d70 70222920 ocol == "xmpp") │ │ │ │ - 0x00435f30 7b0a2020 20202020 20202020 20202020 {. │ │ │ │ - 0x00435f40 20202020 20245643 4152445f 4d4f4445 $VCARD_MODE │ │ │ │ - 0x00435f50 524e5f54 4f5f4c45 47414359 5f494d50 RN_TO_LEGACY_IMP │ │ │ │ - 0x00435f60 50287661 6c75652c 204a4142 4245525f P(value, JABBER_ │ │ │ │ - 0x00435f70 48414e44 4c452c20 4a414242 45525f53 HANDLE, JABBER_S │ │ │ │ - 0x00435f80 4c4f542c 2069293b 0a202020 20202020 LOT, i);. │ │ │ │ - 0x00435f90 20202020 20202020 207d2065 6c736520 } else │ │ │ │ - 0x00435fa0 69662028 73657276 69636520 3d3d2022 if (service == " │ │ │ │ - 0x00435fb0 4d534e22 20262620 70726f74 6f636f6c MSN" && protocol │ │ │ │ - 0x00435fc0 203d3d20 226d736e 696d2229 207b0a20 == "msnim") {. │ │ │ │ - 0x00435fd0 20202020 20202020 20202020 20202020 │ │ │ │ - 0x00435fe0 20202456 43415244 5f4d4f44 45524e5f $VCARD_MODERN_ │ │ │ │ - 0x00435ff0 544f5f4c 45474143 595f494d 50502876 TO_LEGACY_IMPP(v │ │ │ │ - 0x00436000 616c7565 2c204d53 4e5f4841 4e444c45 alue, MSN_HANDLE │ │ │ │ - 0x00436010 2c204d53 4e5f534c 4f542c20 69293b0a , MSN_SLOT, i);. │ │ │ │ - 0x00436020 20202020 20202020 20202020 20202020 │ │ │ │ - 0x00436030 7d20656c 73652069 66202873 65727669 } else if (servi │ │ │ │ - 0x00436040 6365203d 3d202259 61686f6f 22202626 ce == "Yahoo" && │ │ │ │ - 0x00436050 2070726f 746f636f 6c203d3d 2022796d protocol == "ym │ │ │ │ - 0x00436060 73677222 29207b0a 20202020 20202020 sgr") {. │ │ │ │ - 0x00436070 20202020 20202020 20202024 56434152 $VCAR │ │ │ │ - 0x00436080 445f4d4f 4445524e 5f544f5f 4c454741 D_MODERN_TO_LEGA │ │ │ │ - 0x00436090 43595f49 4d505028 76616c75 652c2059 CY_IMPP(value, Y │ │ │ │ - 0x004360a0 41484f4f 5f48414e 444c452c 20594148 AHOO_HANDLE, YAH │ │ │ │ - 0x004360b0 4f4f5f53 4c4f542c 2069293b 0a202020 OO_SLOT, i);. │ │ │ │ - 0x004360c0 20202020 20202020 20202020 207d2065 } e │ │ │ │ - 0x004360d0 6c736520 69662028 73657276 69636520 lse if (service │ │ │ │ - 0x004360e0 3d3d2022 536b7970 65222026 26207072 == "Skype" && pr │ │ │ │ - 0x004360f0 6f746f63 6f6c203d 3d202273 6b797065 otocol == "skype │ │ │ │ - 0x00436100 2229207b 0a202020 20202020 20202020 ") {. │ │ │ │ - 0x00436110 20202020 20202020 24564341 52445f4d $VCARD_M │ │ │ │ - 0x00436120 4f444552 4e5f544f 5f4c4547 4143595f ODERN_TO_LEGACY_ │ │ │ │ - 0x00436130 494d5050 2876616c 75652c20 534b5950 IMPP(value, SKYP │ │ │ │ - 0x00436140 455f4841 4e444c45 2c20534b 5950455f E_HANDLE, SKYPE_ │ │ │ │ - 0x00436150 534c4f54 2c206929 3b0a2020 20202020 SLOT, i);. │ │ │ │ - 0x00436160 20202020 20202020 20207d20 656c7365 } else │ │ │ │ - 0x00436170 20696620 28736572 76696365 203d3d20 if (service == │ │ │ │ - 0x00436180 22536970 2229207b 0a202020 20202020 "Sip") {. │ │ │ │ - 0x00436190 20202020 20202020 20202020 24564341 $VCA │ │ │ │ - 0x004361a0 52445f4d 4f444552 4e5f544f 5f4c4547 RD_MODERN_TO_LEG │ │ │ │ - 0x004361b0 4143595f 494d5050 2876616c 75652c20 ACY_IMPP(value, │ │ │ │ - 0x004361c0 5349505f 48414e44 4c452c20 5349505f SIP_HANDLE, SIP_ │ │ │ │ - 0x004361d0 534c4f54 2c206929 3b0a2020 20202020 SLOT, i);. │ │ │ │ - 0x004361e0 20202020 20202020 20207d0a 20202020 }. │ │ │ │ - 0x004361f0 20202020 20202020 207d0a20 20202020 }. │ │ │ │ - 0x00436200 20202020 207d0a20 20202020 20202020 }. │ │ │ │ - 0x00436210 2069203d 2069202d 20313b0a 20202020 i = i - 1;. │ │ │ │ - 0x00436220 2020207d 0a0a0a20 20202020 20202f2f }... // │ │ │ │ - 0x00436230 2052656d 6f766520 6c616265 6c732077 Remove labels w │ │ │ │ - 0x00436240 68696368 20617265 206e6f20 6c6f6e67 hich are no long │ │ │ │ - 0x00436250 6572206e 65656465 64202876 616c7565 er needed (value │ │ │ │ - 0x00436260 64206d6f 76656420 61626f76 652c0a20 d moved above,. │ │ │ │ - 0x00436270 20202020 20202f2f 2073746f 72656420 // stored │ │ │ │ - 0x00436280 666f7220 61206772 6f757020 77686963 for a group whic │ │ │ │ - 0x00436290 68206861 73206e6f 206f7468 65722070 h has no other p │ │ │ │ - 0x004362a0 726f7065 72746965 73202847 6f6f676c roperties (Googl │ │ │ │ - 0x004362b0 650a2020 20202020 202f2f20 43617264 e. // Card │ │ │ │ - 0x004362c0 44415620 73657276 65722073 6f6d6574 DAV server somet │ │ │ │ - 0x004362d0 696d6573 2073656e 64732074 6861742c imes sends that, │ │ │ │ - 0x004362e0 20656469 74696e67 20696e20 45766f6c editing in Evol │ │ │ │ - 0x004362f0 7574696f 6e0a2020 20202020 202f2f20 ution. // │ │ │ │ - 0x00436300 6d696768 74206361 75736520 69742c20 might cause it, │ │ │ │ - 0x00436310 6574632e 29206f72 2070726f 76696465 etc.) or provide │ │ │ │ - 0x00436320 206e6f20 696e666f 726d6174 696f6e20 no information │ │ │ │ - 0x00436330 28224f74 68657222 292e0a20 20202020 ("Other").. │ │ │ │ - 0x00436340 20206920 3d205349 5a45284c 4142454c i = SIZE(LABEL │ │ │ │ - 0x00436350 29202d20 313b0a20 20202020 20207768 ) - 1;. wh │ │ │ │ - 0x00436360 696c6520 2869203e 3d203029 207b0a20 ile (i >= 0) {. │ │ │ │ - 0x00436370 20202020 20202020 20696620 284c4142 if (LAB │ │ │ │ - 0x00436380 454c5b69 5d203d3d 20224f74 68657222 EL[i] == "Other" │ │ │ │ - 0x00436390 207c7c0a 20202020 20202020 20202020 ||. │ │ │ │ - 0x004363a0 20204c41 42454c5b 695d2021 3d20554e LABEL[i] != UN │ │ │ │ - 0x004363b0 41535349 474e4544 2026260a 20202020 ASSIGNED &&. │ │ │ │ - 0x004363c0 20202020 20202020 20202847 524f5550 (GROUP │ │ │ │ - 0x004363d0 5f544147 5b695d20 3d3d2045 4d505459 _TAG[i] == EMPTY │ │ │ │ - 0x004363e0 207c7c0a 20202020 20202020 20202020 ||. │ │ │ │ - 0x004363f0 20202052 454c4154 45444e41 4d45535b RELATEDNAMES[ │ │ │ │ - 0x00436400 695d203d 3d20554e 41535349 474e4544 i] == UNASSIGNED │ │ │ │ - 0x00436410 2026260a 20202020 20202020 20202020 &&. │ │ │ │ - 0x00436420 20202058 44415445 5b695d20 3d3d2055 XDATE[i] == U │ │ │ │ - 0x00436430 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ - 0x00436440 20202020 20202020 20202020 54454c5b TEL[ │ │ │ │ - 0x00436450 695d203d 3d20554e 41535349 474e4544 i] == UNASSIGNED │ │ │ │ - 0x00436460 2026260a 20202020 20202020 20202020 &&. │ │ │ │ - 0x00436470 20202045 4d41494c 5b695d20 3d3d2055 EMAIL[i] == U │ │ │ │ - 0x00436480 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ - 0x00436490 20202020 20202020 20202020 5745425b WEB[ │ │ │ │ - 0x004364a0 695d203d 3d20554e 41535349 474e4544 i] == UNASSIGNED │ │ │ │ - 0x004364b0 2026260a 20202020 20202020 20202020 &&. │ │ │ │ - 0x004364c0 20202058 44415445 5b695d20 3d3d2055 XDATE[i] == U │ │ │ │ - 0x004364d0 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ - 0x004364e0 20202020 20202020 20202020 494d5050 IMPP │ │ │ │ - 0x004364f0 5b695d20 3d3d2055 4e415353 49474e45 [i] == UNASSIGNE │ │ │ │ - 0x00436500 44202626 0a202020 20202020 20202020 D &&. │ │ │ │ - 0x00436510 20202020 4144525f 504f424f 585b695d ADR_POBOX[i] │ │ │ │ - 0x00436520 203d3d20 554e4153 5349474e 45442026 == UNASSIGNED & │ │ │ │ - 0x00436530 260a2020 20202020 20202020 20202020 &. │ │ │ │ - 0x00436540 20414452 5f414444 544c5b69 5d203d3d ADR_ADDTL[i] == │ │ │ │ - 0x00436550 20554e41 53534947 4e454420 26260a20 UNASSIGNED &&. │ │ │ │ - 0x00436560 20202020 20202020 20202020 20204144 AD │ │ │ │ - 0x00436570 525f5354 52454554 5b695d20 3d3d2055 R_STREET[i] == U │ │ │ │ - 0x00436580 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ - 0x00436590 20202020 20202020 20202020 4144525f ADR_ │ │ │ │ - 0x004365a0 43495459 5b695d20 3d3d2055 4e415353 CITY[i] == UNASS │ │ │ │ - 0x004365b0 49474e45 44202626 0a202020 20202020 IGNED &&. │ │ │ │ - 0x004365c0 20202020 20202020 4144525f 5245475b ADR_REG[ │ │ │ │ - 0x004365d0 695d203d 3d20554e 41535349 474e4544 i] == UNASSIGNED │ │ │ │ - 0x004365e0 2026260a 20202020 20202020 20202020 &&. │ │ │ │ - 0x004365f0 20202041 44525f5a 49505b69 5d203d3d ADR_ZIP[i] == │ │ │ │ - 0x00436600 20554e41 53534947 4e454420 26260a20 UNASSIGNED &&. │ │ │ │ - 0x00436610 20202020 20202020 20202020 20204144 AD │ │ │ │ - 0x00436620 525f434f 554e5452 595b695d 203d3d20 R_COUNTRY[i] == │ │ │ │ - 0x00436630 554e4153 5349474e 45442026 260a2020 UNASSIGNED &&. │ │ │ │ - 0x00436640 20202020 20202020 20202020 20414452 ADR │ │ │ │ - 0x00436650 5f535452 4545545f 464c4147 535b695d _STREET_FLAGS[i] │ │ │ │ - 0x00436660 203d3d20 554e4153 5349474e 45442929 == UNASSIGNED)) │ │ │ │ - 0x00436670 207b0a20 20202020 20202020 20202020 {. │ │ │ │ - 0x00436680 20204c41 42454c5b 695d203d 20554e41 LABEL[i] = UNA │ │ │ │ - 0x00436690 53534947 4e45443b 0a202020 20202020 SSIGNED;. │ │ │ │ - 0x004366a0 2020207d 0a202020 20202020 20202069 }. i │ │ │ │ - 0x004366b0 203d2069 202d2031 3b0a2020 20202020 = i - 1;. │ │ │ │ - 0x004366c0 207d0a0a 20202020 2020202f 2f205265 }.. // Re │ │ │ │ - 0x004366d0 6d6f7665 20616c6c 2067726f 75702074 move all group t │ │ │ │ - 0x004366e0 6167732e 204e6f74 20757365 6420666f ags. Not used fo │ │ │ │ - 0x004366f0 72206c65 67616379 20666f72 6d617473 r legacy formats │ │ │ │ - 0x00436700 2e0a2020 20202020 2047524f 55505f54 .. GROUP_T │ │ │ │ - 0x00436710 4147203d 20554e41 53534947 4e45443b AG = UNASSIGNED; │ │ │ │ - 0x00436720 0a202020 205d5d3e 3c2f6d61 63726f3e . ]]> │ │ │ │ - 0x00436730 0a0a2020 20203c21 2d2d2054 6865206c .. .. . < │ │ │ │ - 0x004368a0 215b4344 4154415b 0a202020 20202020 ![CDATA[. │ │ │ │ - 0x004368b0 69662028 24312021 3d20454d 50545929 if ($1 != EMPTY) │ │ │ │ - 0x004368c0 207b0a20 20202020 20202020 202f2f20 {. // │ │ │ │ - 0x004368d0 53545249 4e472074 61673b0a 20202020 STRING tag;. │ │ │ │ - 0x004368e0 20202020 2020494e 54454745 52206e75 INTEGER nu │ │ │ │ - 0x004368f0 6d3b0a20 20202020 20202020 206e756d m;. num │ │ │ │ - 0x00436900 203d2053 495a4528 4c414245 4c293b0a = SIZE(LABEL);. │ │ │ │ - 0x00436910 20202020 20202020 20202f2f 20244e45 // $NE │ │ │ │ - 0x00436920 57544147 28746167 2c204752 4f55505f WTAG(tag, GROUP_ │ │ │ │ - 0x00436930 54414729 3b0a2020 20202020 20202020 TAG);. │ │ │ │ - 0x00436940 53574150 2852454c 41544544 4e414d45 SWAP(RELATEDNAME │ │ │ │ - 0x00436950 535b6e75 6d5d2c20 2431293b 0a202020 S[num], $1);. │ │ │ │ - 0x00436960 20202020 2020204c 4142454c 5b6e756d LABEL[num │ │ │ │ - 0x00436970 5d203d20 24323b0a 20202020 20202020 ] = $2;. │ │ │ │ - 0x00436980 20202f2f 2047524f 55505f54 41475b6e // GROUP_TAG[n │ │ │ │ - 0x00436990 756d5d20 3d207461 673b0a20 20202020 um] = tag;. │ │ │ │ - 0x004369a0 20202020 202f2f20 2431203d 20554e41 // $1 = UNA │ │ │ │ - 0x004369b0 53534947 4e45443b 0a202020 20202020 SSIGNED;. │ │ │ │ - 0x004369c0 7d0a2020 20205d5d 3e3c2f6d 6163726f }. ]]>.. . = 0) {. │ │ │ │ - 0x00436a90 20202020 20202020 20696620 2824335b if ($3[ │ │ │ │ - 0x00436aa0 696d7070 5f696e64 65785d20 213d2045 impp_index] != E │ │ │ │ - 0x00436ab0 4d505459 29207b0a 20202020 20202020 MPTY) {. │ │ │ │ - 0x00436ac0 20202020 20494e54 45474552 206e756d INTEGER num │ │ │ │ - 0x00436ad0 3b0a2020 20202020 20202020 2020206e ;. n │ │ │ │ - 0x00436ae0 756d203d 2053495a 45284c41 42454c29 um = SIZE(LABEL) │ │ │ │ - 0x00436af0 3b0a2020 20202020 20202020 20202049 ;. I │ │ │ │ - 0x00436b00 4d50505b 6e756d5d 203d2024 32202b20 MPP[num] = $2 + │ │ │ │ - 0x00436b10 223a2220 2b205552 4c454e43 4f444528 ":" + URLENCODE( │ │ │ │ - 0x00436b20 24335b69 6d70705f 696e6465 785d293b $3[impp_index]); │ │ │ │ - 0x00436b30 0a202020 20202020 20202020 20202433 . $3 │ │ │ │ - 0x00436b40 5b696d70 705f696e 6465785d 203d2055 [impp_index] = U │ │ │ │ - 0x00436b50 4e415353 49474e45 443b0a20 20202020 NASSIGNED;. │ │ │ │ - 0x00436b60 20202020 20202020 53574150 2824345b SWAP($4[ │ │ │ │ - 0x00436b70 696d7070 5f696e64 65785d2c 20494d50 impp_index], IMP │ │ │ │ - 0x00436b80 505f534c 4f545b6e 756d5d29 3b0a2020 P_SLOT[num]);. │ │ │ │ - 0x00436b90 20202020 20202020 20202049 4d50505f IMPP_ │ │ │ │ - 0x00436ba0 53455256 4943455b 6e756d5d 203d2024 SERVICE[num] = $ │ │ │ │ - 0x00436bb0 313b0a20 20202020 20202020 20202020 1;. │ │ │ │ - 0x00436bc0 4c414245 4c5b6e75 6d5d203d 20224f74 LABEL[num] = "Ot │ │ │ │ - 0x00436bd0 68657222 3b0a2020 20202020 20202020 her";. │ │ │ │ - 0x00436be0 7d0a2020 20202020 20202020 696d7070 }. impp │ │ │ │ - 0x00436bf0 5f696e64 6578203d 20696d70 705f696e _index = impp_in │ │ │ │ - 0x00436c00 64657820 2d20313b 0a202020 20202020 dex - 1;. │ │ │ │ - 0x00436c10 7d0a2020 20205d5d 3e3c2f6d 6163726f }. ]]>.. . = │ │ │ │ - 0x00437440 20302920 7b0a2020 20202020 20202020 0) {. │ │ │ │ - 0x00437450 69662028 4c414245 4c5b695d 20213d20 if (LABEL[i] != │ │ │ │ - 0x00437460 454d5054 5929207b 0a202020 20202020 EMPTY) {. │ │ │ │ - 0x00437470 20202020 20204752 4f55505f 5441475b GROUP_TAG[ │ │ │ │ - 0x00437480 695d203d 20226974 656d2220 2b207461 i] = "item" + ta │ │ │ │ - 0x00437490 676e756d 3b0a2020 20202020 20202020 gnum;. │ │ │ │ - 0x004374a0 20202074 61676e75 6d203d20 7461676e tagnum = tagn │ │ │ │ - 0x004374b0 756d202b 20313b0a 20202020 20202020 um + 1;. │ │ │ │ - 0x004374c0 20207d0a 20202020 20202020 20206920 }. i │ │ │ │ - 0x004374d0 3d206920 2d20313b 0a202020 20202020 = i - 1;. │ │ │ │ - 0x004374e0 7d0a2020 20205d5d 3e3c2f6d 6163726f }. ]]>.. .. │ │ │ │ - 0x00437580 20202020 3c6d6163 726f206e 616d653d │ │ │ │ - 0x004375b0 3c215b43 44415441 5b0a2020 20202020 < │ │ │ │ - 0x00437600 2f6d6163 726f3e20 2020203c 212d2d20 /macro> .. │ │ │ │ - 0x00437670 3c6d6163 726f206e 616d653d 22564341 0) {. │ │ │ │ - 0x00437ac0 20202020 2020202f 2f204454 53544152 // DTSTAR │ │ │ │ - 0x00437ad0 5420616e 64204454 454e4420 72657072 T and DTEND repr │ │ │ │ - 0x00437ae0 6573656e 7420616c 6c646179 20657665 esent allday eve │ │ │ │ - 0x00437af0 6e742c20 6d616b65 20746865 6d206461 nt, make them da │ │ │ │ - 0x00437b00 74652d6f 6e6c7920 76616c75 65730a20 te-only values. │ │ │ │ - 0x00437b10 20202020 20202020 202f2f20 2d20636f // - co │ │ │ │ - 0x00437b20 6e766572 74207374 61727420 746f2075 nvert start to u │ │ │ │ - 0x00437b30 73657220 7a6f6e65 20286f72 20666c6f ser zone (or flo │ │ │ │ - 0x00437b40 6174696e 67292073 6f206974 20726570 ating) so it rep │ │ │ │ - 0x00437b50 72657365 6e747320 6d69646e 69676874 resents midnight │ │ │ │ - 0x00437b60 0a202020 20202020 20202044 54535441 . DTSTA │ │ │ │ - 0x00437b70 5254203d 20434f4e 56455254 544f5553 RT = CONVERTTOUS │ │ │ │ - 0x00437b80 45525a4f 4e452844 54535441 5254293b ERZONE(DTSTART); │ │ │ │ - 0x00437b90 0a202020 20202020 2020204d 414b4541 . MAKEA │ │ │ │ - 0x00437ba0 4c4c4441 59284454 53544152 542c4454 LLDAY(DTSTART,DT │ │ │ │ - 0x00437bb0 454e442c 69293b0a 20202020 20202020 END,i);. │ │ │ │ - 0x00437bc0 20206966 20285252 5f454e44 20213d20 if (RR_END != │ │ │ │ - 0x00437bd0 454d5054 5929207b 0a202020 20202020 EMPTY) {. │ │ │ │ - 0x00437be0 20202020 20205252 5f454e44 203d2044 RR_END = D │ │ │ │ - 0x00437bf0 4154454f 4e4c5928 434f4e56 45525454 ATEONLY(CONVERTT │ │ │ │ - 0x00437c00 4f555345 525a4f4e 45285252 5f454e44 OUSERZONE(RR_END │ │ │ │ - 0x00437c10 29293b0a 20202020 20202020 20207d0a ));. }. │ │ │ │ - 0x00437c20 20202020 20202020 7d0a2020 20202020 }. │ │ │ │ - 0x00437c30 2020656c 7365207b 0a202020 20202020 else {. │ │ │ │ - 0x00437c40 2020202f 2f206943 616c656e 64617220 // iCalendar │ │ │ │ - 0x00437c50 322e3020 2d206f6e 6c792069 66204454 2.0 - only if DT │ │ │ │ - 0x00437c60 53544152 54206973 20612064 6174652d START is a date- │ │ │ │ - 0x00437c70 6f6e6c79 2076616c 75652074 68697320 only value this │ │ │ │ - 0x00437c80 7265616c 6c792069 7320616e 20616c6c really is an all │ │ │ │ - 0x00437c90 6461790a 20202020 20202020 20206966 day. if │ │ │ │ - 0x00437ca0 20284953 44415445 4f4e4c59 28445453 (ISDATEONLY(DTS │ │ │ │ - 0x00437cb0 54415254 2929207b 0a202020 20202020 TART)) {. │ │ │ │ - 0x00437cc0 20202020 202f2f20 72657368 61706520 // reshape │ │ │ │ - 0x00437cd0 746f206d 616b6520 73757265 20776520 to make sure we │ │ │ │ - 0x00437ce0 646f6e27 74206861 76652069 6e76616c don't have inval │ │ │ │ - 0x00437cf0 6964207a 65726f2d 64757261 74696f6e id zero-duration │ │ │ │ - 0x00437d00 20616c6c 64617973 20286f6c 64204f43 alldays (old OC │ │ │ │ - 0x00437d10 53203920 73657276 65727329 0a202020 S 9 servers). │ │ │ │ - 0x00437d20 20202020 20202020 204d414b 45414c4c MAKEALL │ │ │ │ - 0x00437d30 44415928 44545354 4152542c 4454454e DAY(DTSTART,DTEN │ │ │ │ - 0x00437d40 442c6929 3b0a2020 20202020 20202020 D,i);. │ │ │ │ - 0x00437d50 7d0a2020 20202020 20207d0a 0a202020 }. }.. │ │ │ │ - 0x00437d60 20202020 202f2f20 4d616b65 20737572 // Make sur │ │ │ │ - 0x00437d70 65207468 61742061 6c6c2045 58444154 e that all EXDAT │ │ │ │ - 0x00437d80 45207469 6d657320 61726520 696e2074 E times are in t │ │ │ │ - 0x00437d90 68652073 616d6520 74696d65 7a6f6e65 he same timezone │ │ │ │ - 0x00437da0 20617320 74686520 73746172 740a2020 as the start. │ │ │ │ - 0x00437db0 20202020 20202f2f 2074696d 652e2053 // time. S │ │ │ │ - 0x00437dc0 6f6d6520 73657276 65727320 73656e64 ome servers send │ │ │ │ - 0x00437dd0 20746865 6d206173 20555443 2c207768 them as UTC, wh │ │ │ │ - 0x00437de0 69636820 69732061 6c6c2066 696e6520 ich is all fine │ │ │ │ - 0x00437df0 616e6420 77656c6c 2c206275 740a2020 and well, but. │ │ │ │ - 0x00437e00 20202020 20202f2f 206f6e6c 79206966 // only if │ │ │ │ - 0x00437e10 20746865 2074696d 657a6f6e 65206465 the timezone de │ │ │ │ - 0x00437e20 66696e69 74696f6e 20646f65 736e2774 finition doesn't │ │ │ │ - 0x00437e30 20636861 6e67652e 20416c73 6f2c206c change. Also, l │ │ │ │ - 0x00437e40 69626963 616c2064 6f657320 6e6f740a ibical does not. │ │ │ │ - 0x00437e50 20202020 20202020 2f2f2068 616e646c // handl │ │ │ │ - 0x00437e60 65207375 63682055 54432045 58444154 e such UTC EXDAT │ │ │ │ - 0x00437e70 45732c20 736f206c 65742773 20636f6e Es, so let's con │ │ │ │ - 0x00437e80 76657274 20697420 7768696c 65207468 vert it while th │ │ │ │ - 0x00437e90 65205554 4320616e 640a2020 20202020 e UTC and. │ │ │ │ - 0x00437ea0 20202f2f 2074696d 65207a6f 6e652064 // time zone d │ │ │ │ - 0x00437eb0 6566696e 6974696f 6e202868 6f706566 efinition (hopef │ │ │ │ - 0x00437ec0 756c6c79 29206172 6520696e 2073796e ully) are in syn │ │ │ │ - 0x00437ed0 632e0a20 20202020 20202069 66202854 c.. if (T │ │ │ │ - 0x00437ee0 494d455a 4f4e4528 44545354 41525429 IMEZONE(DTSTART) │ │ │ │ - 0x00437ef0 20213d20 22555443 22202626 20214953 != "UTC" && !IS │ │ │ │ - 0x00437f00 464c4f41 54494e47 28445453 54415254 FLOATING(DTSTART │ │ │ │ - 0x00437f10 2929207b 0a202020 20202020 20202069 )) {. i │ │ │ │ - 0x00437f20 203d2030 3b0a2020 20202020 20202020 = 0;. │ │ │ │ - 0x00437f30 74696d65 7374616d 70206578 64617465 timestamp exdate │ │ │ │ - 0x00437f40 3b0a2020 20202020 20202020 7768696c ;. whil │ │ │ │ - 0x00437f50 65202869 3c53495a 45284558 44415445 e (i0) {. │ │ │ │ - 0x00438aa0 20202020 20445545 203d2043 4f4e5645 DUE = CONVE │ │ │ │ - 0x00438ab0 5254544f 55534552 5a4f4e45 28445545 RTTOUSERZONE(DUE │ │ │ │ - 0x00438ac0 293b0a20 20202020 20202020 20445545 );. DUE │ │ │ │ - 0x00438ad0 203d2044 4154454f 4e4c5928 44554529 = DATEONLY(DUE) │ │ │ │ - 0x00438ae0 3b0a2020 20202020 20207d0a 20202020 ;. }. │ │ │ │ - 0x00438af0 20202020 69662028 4954454d 44415441 if (ITEMDATA │ │ │ │ - 0x00438b00 54595045 28293d3d 22764361 6c656e64 TYPE()=="vCalend │ │ │ │ - 0x00438b10 61723130 2229207b 0a202020 20202020 ar10") {. │ │ │ │ - 0x00438b20 20202024 5643414c 454e4441 525f3130 $VCALENDAR_10 │ │ │ │ - 0x00438b30 544f3230 5f505249 4f524954 595f434f TO20_PRIORITY_CO │ │ │ │ - 0x00438b40 4e564552 53494f4e 3b0a2020 20202020 NVERSION;. │ │ │ │ - 0x00438b50 20207d0a 20202020 20207d0a 20202020 }. }. │ │ │ │ - 0x00438b60 20202f2f 20612077 6f726b61 726f756e // a workaroun │ │ │ │ - 0x00438b70 6420666f 72206675 6e616d62 6f6c3a20 d for funambol: │ │ │ │ - 0x00438b80 61646469 6e672027 61637469 6f6e2720 adding 'action' │ │ │ │ - 0x00438b90 666f7220 27616c61 726d270a 20202020 for 'alarm'. │ │ │ │ - 0x00438ba0 20202f2f 20696620 6974656d 20646174 // if item dat │ │ │ │ - 0x00438bb0 61207479 70652069 73207643 616c656e a type is vCalen │ │ │ │ - 0x00438bc0 64617231 2e302c20 616c736f 20616464 dar1.0, also add │ │ │ │ - 0x00438bd0 20276163 74696f6e 2720666f 72202761 'action' for 'a │ │ │ │ - 0x00438be0 6c61726d 272e0a20 20202020 202f2f20 larm'.. // │ │ │ │ - 0x00438bf0 54686973 20697320 6120776f 726b6172 This is a workar │ │ │ │ - 0x00438c00 6f756e64 20666f72 204d6f62 6963616c ound for Mobical │ │ │ │ - 0x00438c10 2e6e6574 2c207768 69636820 75736573 .net, which uses │ │ │ │ - 0x00438c20 20764361 6c656e64 6172312e 302e0a20 vCalendar1.0.. │ │ │ │ - 0x00438c30 20202020 20696620 28414c41 524d5f54 if (ALARM_T │ │ │ │ - 0x00438c40 494d4521 3d454d50 54592026 2620414c IME!=EMPTY && AL │ │ │ │ - 0x00438c50 41524d5f 41435449 4f4e3d3d 454d5054 ARM_ACTION==EMPT │ │ │ │ - 0x00438c60 5929207b 0a202020 20202020 20202041 Y) {. A │ │ │ │ - 0x00438c70 4c41524d 5f414354 494f4e20 3d202244 LARM_ACTION = "D │ │ │ │ - 0x00438c80 4953504c 4159223b 0a202020 2020207d ISPLAY";. } │ │ │ │ - 0x00438c90 0a202020 205d5d3e 3c2f6d61 63726f3e . ]]> │ │ │ │ - 0x00438ca0 0a0a0a20 2020203c 6d616372 6f206e61 ... < │ │ │ │ - 0x00438cd0 215b4344 4154415b 0a202020 2020202f ![CDATA[. / │ │ │ │ - 0x00438ce0 2f207365 74205554 43207469 6d65206f / set UTC time o │ │ │ │ - 0x00438cf0 66206765 6e657261 74696f6e 20666f72 f generation for │ │ │ │ - 0x00438d00 20694361 6c656e64 61722032 2e302044 iCalendar 2.0 D │ │ │ │ - 0x00438d10 54535441 4d500a20 20202020 20444745 TSTAMP. DGE │ │ │ │ - 0x00438d20 4e455241 54454420 3d204e4f 5728293b NERATED = NOW(); │ │ │ │ - 0x00438d30 0a202020 2020202f 2f206d61 6b652073 . // make s │ │ │ │ - 0x00438d40 75726520 77652068 61766520 616c6c20 ure we have all │ │ │ │ - 0x00438d50 74726169 6c696e67 20616e64 206c6561 trailing and lea │ │ │ │ - 0x00438d60 64696e67 20737061 63657320 656c696d ding spaces elim │ │ │ │ - 0x00438d70 696e6174 65640a20 20202020 20444553 inated. DES │ │ │ │ - 0x00438d80 43524950 54494f4e 3d4e4f52 4d414c49 CRIPTION=NORMALI │ │ │ │ - 0x00438d90 5a454428 44455343 52495054 494f4e29 ZED(DESCRIPTION) │ │ │ │ - 0x00438da0 3b0a2020 20202020 53554d4d 4152593d ;. SUMMARY= │ │ │ │ - 0x00438db0 4e4f524d 414c495a 45442853 554d4d41 NORMALIZED(SUMMA │ │ │ │ - 0x00438dc0 5259293b 0a202020 20202069 66202849 RY);. if (I │ │ │ │ - 0x00438dd0 53455645 4e542920 7b0a2020 20202020 SEVENT) {. │ │ │ │ - 0x00438de0 20202f2f 20564556 454e540a 20202020 // VEVENT. │ │ │ │ - 0x00438df0 20202020 2f2f202d 20636f6d 62696e65 // - combine │ │ │ │ - 0x00438e00 20617474 656e6465 6520656d 61696c20 attendee email │ │ │ │ - 0x00438e10 61646472 65737320 616e6420 636f6d6d address and comm │ │ │ │ - 0x00438e20 6f6e206e 616d6520 696e746f 2073696e on name into sin │ │ │ │ - 0x00438e30 676c6520 73747269 6e672066 6f722076 gle string for v │ │ │ │ - 0x00438e40 43616c65 6e646172 20312e30 0a202020 Calendar 1.0. │ │ │ │ - 0x00438e50 20202020 20696620 28495445 4d444154 if (ITEMDAT │ │ │ │ - 0x00438e60 41545950 4528293d 3d227643 616c656e ATYPE()=="vCalen │ │ │ │ - 0x00438e70 64617231 30222920 7b0a2020 20202020 dar10") {. │ │ │ │ - 0x00438e80 20202020 693d303b 0a202020 20202020 i=0;. │ │ │ │ - 0x00438e90 20202077 68696c65 28693c53 495a4528 while(i │ │ │ │ - 0x00439770 3c2f6d61 63726f3e 0a0a2020 20203c6d .. .. . │ │ │ │ - 0x00439d10 0a0a2020 20203c21 2d2d2069 6e766f6b .. . < │ │ │ │ - 0x00439d90 215b4344 4154415b 0a202020 20495345 ![CDATA[. ISE │ │ │ │ - 0x00439da0 56454e54 203d2032 3b0a0a20 2020202f VENT = 2;.. / │ │ │ │ - 0x00439db0 2f20436f 70792073 756d6d61 72792069 / Copy summary i │ │ │ │ - 0x00439dc0 6e746f20 64657363 72697074 696f6e2e nto description. │ │ │ │ - 0x00439dd0 20497420 6973206e 6f742031 30302520 It is not 100% │ │ │ │ - 0x00439de0 63657274 61696e20 77686574 68657220 certain whether │ │ │ │ - 0x00439df0 74686174 2069730a 20202020 2f2f206e that is. // n │ │ │ │ - 0x00439e00 65636573 73617279 20287468 65207375 ecessary (the su │ │ │ │ - 0x00439e10 6d6d6172 79206d69 67687420 62652063 mmary might be c │ │ │ │ - 0x00439e20 6f6d706c 6574656c 7920756e 72656c61 ompletely unrela │ │ │ │ - 0x00439e30 74656420 746f2074 68652064 65736372 ted to the descr │ │ │ │ - 0x00439e40 69707469 6f6e2074 65787429 2c0a2020 iption text),. │ │ │ │ - 0x00439e50 20202f2f 20627574 20746869 73207761 // but this wa │ │ │ │ - 0x00439e60 79206974 20697320 636f6e73 69737465 y it is consiste │ │ │ │ - 0x00439e70 6e742077 69746820 74686520 77617920 nt with the way │ │ │ │ - 0x00439e80 686f7720 74686520 45445320 6261636b how the EDS back │ │ │ │ - 0x00439e90 656e6420 75736564 20746f20 68616e64 end used to hand │ │ │ │ - 0x00439ea0 6c650a20 2020202f 2f206974 20616e64 le. // it and │ │ │ │ - 0x00439eb0 2073796d 6d657472 69632077 69746820 symmetric with │ │ │ │ - 0x00439ec0 4d454d4f 5f4f5554 474f494e 475f5343 MEMO_OUTGOING_SC │ │ │ │ - 0x00439ed0 52495054 2e0a2020 20206966 20285355 RIPT.. if (SU │ │ │ │ - 0x00439ee0 4d4d4152 5920213d 20454d50 54592026 MMARY != EMPTY & │ │ │ │ - 0x00439ef0 26204445 53435249 5054494f 4e20213d & DESCRIPTION != │ │ │ │ - 0x00439f00 20454d50 54592920 7b0a2020 20202020 EMPTY) {. │ │ │ │ - 0x00439f10 20204445 53435249 5054494f 4e203d20 DESCRIPTION = │ │ │ │ - 0x00439f20 53554d4d 41525920 2b20225c 6e22202b SUMMARY + "\n" + │ │ │ │ - 0x00439f30 20444553 43524950 54494f4e 3b0a2020 DESCRIPTION;. │ │ │ │ - 0x00439f40 20207d0a 20202020 5d5d3e3c 2f6d6163 }. ]]>.. . │ │ │ │ - 0x00439fd0 3c215b43 44415441 5b0a2020 20202f2f = lensummar │ │ │ │ - 0x0043a0f0 79202626 0a202020 20202020 20535542 y &&. SUB │ │ │ │ - 0x0043a100 53545228 44455343 52495054 494f4e2c STR(DESCRIPTION, │ │ │ │ - 0x0043a110 20302c20 6c656e73 756d6d61 72792920 0, lensummary) │ │ │ │ - 0x0043a120 3d3d2053 554d4d41 52592026 260a2020 == SUMMARY &&. │ │ │ │ - 0x0043a130 20202020 2020286c 656e7375 6d6d6172 (lensummar │ │ │ │ - 0x0043a140 79203d3d 206c656e 64657363 72207c7c y == lendescr || │ │ │ │ - 0x0043a150 20535542 53545228 44455343 52495054 SUBSTR(DESCRIPT │ │ │ │ - 0x0043a160 494f4e2c 206c656e 73756d6d 6172792c ION, lensummary, │ │ │ │ - 0x0043a170 20312920 3d3d2022 5c6e2229 29207b0a 1) == "\n")) {. │ │ │ │ - 0x0043a180 20202020 20202020 44455343 52495054 DESCRIPT │ │ │ │ - 0x0043a190 494f4e20 3d205355 42535452 28444553 ION = SUBSTR(DES │ │ │ │ - 0x0043a1a0 43524950 54494f4e 2c206c65 6e73756d CRIPTION, lensum │ │ │ │ - 0x0043a1b0 6d617279 202b2031 2c206c65 6e646573 mary + 1, lendes │ │ │ │ - 0x0043a1c0 6372202d 206c656e 73756d6d 61727920 cr - lensummary │ │ │ │ - 0x0043a1d0 2d203129 3b0a2020 20207d0a 20202020 - 1);. }. │ │ │ │ - 0x0043a1e0 5d5d3e3c 2f6d6163 726f3e0a 0a202020 ]]>.. │ │ │ │ - 0x0043a1f0 203c6d61 63726f20 6e616d65 3d224341 . │ │ │ │ + 0x004351f0 3e0a0a0a 20202020 3c212d2d 20646566 >... .. 0) {. │ │ │ │ + 0x004356b0 20202020 2f2f2044 54535441 52542061 // DTSTART a │ │ │ │ + 0x004356c0 6e642044 54454e44 20726570 72657365 nd DTEND represe │ │ │ │ + 0x004356d0 6e742061 6c6c6461 79206576 656e742c nt allday event, │ │ │ │ + 0x004356e0 206d616b 65207468 656d2064 6174652d make them date- │ │ │ │ + 0x004356f0 6f6e6c79 2076616c 7565730a 20202020 only values. │ │ │ │ + 0x00435700 20202020 20202f2f 202d2063 6f6e7665 // - conve │ │ │ │ + 0x00435710 72742073 74617274 20746f20 75736572 rt start to user │ │ │ │ + 0x00435720 207a6f6e 6520286f 7220666c 6f617469 zone (or floati │ │ │ │ + 0x00435730 6e672920 736f2069 74207265 70726573 ng) so it repres │ │ │ │ + 0x00435740 656e7473 206d6964 6e696768 740a2020 ents midnight. │ │ │ │ + 0x00435750 20202020 20202020 44545354 41525420 DTSTART │ │ │ │ + 0x00435760 3d20434f 4e564552 54544f55 5345525a = CONVERTTOUSERZ │ │ │ │ + 0x00435770 4f4e4528 44545354 41525429 3b0a2020 ONE(DTSTART);. │ │ │ │ + 0x00435780 20202020 20202020 4d414b45 414c4c44 MAKEALLD │ │ │ │ + 0x00435790 41592844 54535441 52542c44 54454e44 AY(DTSTART,DTEND │ │ │ │ + 0x004357a0 2c69293b 0a202020 20202020 20202069 ,i);. i │ │ │ │ + 0x004357b0 66202852 525f454e 4420213d 20454d50 f (RR_END != EMP │ │ │ │ + 0x004357c0 54592920 7b0a2020 20202020 20202020 TY) {. │ │ │ │ + 0x004357d0 20202052 525f454e 44203d20 44415445 RR_END = DATE │ │ │ │ + 0x004357e0 4f4e4c59 28434f4e 56455254 544f5553 ONLY(CONVERTTOUS │ │ │ │ + 0x004357f0 45525a4f 4e452852 525f454e 4429293b ERZONE(RR_END)); │ │ │ │ + 0x00435800 0a202020 20202020 2020207d 0a202020 . }. │ │ │ │ + 0x00435810 20202020 207d0a20 20202020 20202065 }. e │ │ │ │ + 0x00435820 6c736520 7b0a2020 20202020 20202020 lse {. │ │ │ │ + 0x00435830 2f2f2069 43616c65 6e646172 20322e30 // iCalendar 2.0 │ │ │ │ + 0x00435840 202d206f 6e6c7920 69662044 54535441 - only if DTSTA │ │ │ │ + 0x00435850 52542069 73206120 64617465 2d6f6e6c RT is a date-onl │ │ │ │ + 0x00435860 79207661 6c756520 74686973 20726561 y value this rea │ │ │ │ + 0x00435870 6c6c7920 69732061 6e20616c 6c646179 lly is an allday │ │ │ │ + 0x00435880 0a202020 20202020 20202069 66202849 . if (I │ │ │ │ + 0x00435890 53444154 454f4e4c 59284454 53544152 SDATEONLY(DTSTAR │ │ │ │ + 0x004358a0 54292920 7b0a2020 20202020 20202020 T)) {. │ │ │ │ + 0x004358b0 20202f2f 20726573 68617065 20746f20 // reshape to │ │ │ │ + 0x004358c0 6d616b65 20737572 65207765 20646f6e make sure we don │ │ │ │ + 0x004358d0 27742068 61766520 696e7661 6c696420 't have invalid │ │ │ │ + 0x004358e0 7a65726f 2d647572 6174696f 6e20616c zero-duration al │ │ │ │ + 0x004358f0 6c646179 7320286f 6c64204f 43532039 ldays (old OCS 9 │ │ │ │ + 0x00435900 20736572 76657273 290a2020 20202020 servers). │ │ │ │ + 0x00435910 20202020 20204d41 4b45414c 4c444159 MAKEALLDAY │ │ │ │ + 0x00435920 28445453 54415254 2c445445 4e442c69 (DTSTART,DTEND,i │ │ │ │ + 0x00435930 293b0a20 20202020 20202020 207d0a20 );. }. │ │ │ │ + 0x00435940 20202020 2020207d 0a0a2020 20202020 }.. │ │ │ │ + 0x00435950 20202f2f 204d616b 65207375 72652074 // Make sure t │ │ │ │ + 0x00435960 68617420 616c6c20 45584441 54452074 hat all EXDATE t │ │ │ │ + 0x00435970 696d6573 20617265 20696e20 74686520 imes are in the │ │ │ │ + 0x00435980 73616d65 2074696d 657a6f6e 65206173 same timezone as │ │ │ │ + 0x00435990 20746865 20737461 72740a20 20202020 the start. │ │ │ │ + 0x004359a0 2020202f 2f207469 6d652e20 536f6d65 // time. Some │ │ │ │ + 0x004359b0 20736572 76657273 2073656e 64207468 servers send th │ │ │ │ + 0x004359c0 656d2061 73205554 432c2077 68696368 em as UTC, which │ │ │ │ + 0x004359d0 20697320 616c6c20 66696e65 20616e64 is all fine and │ │ │ │ + 0x004359e0 2077656c 6c2c2062 75740a20 20202020 well, but. │ │ │ │ + 0x004359f0 2020202f 2f206f6e 6c792069 66207468 // only if th │ │ │ │ + 0x00435a00 65207469 6d657a6f 6e652064 6566696e e timezone defin │ │ │ │ + 0x00435a10 6974696f 6e20646f 65736e27 74206368 ition doesn't ch │ │ │ │ + 0x00435a20 616e6765 2e20416c 736f2c20 6c696269 ange. Also, libi │ │ │ │ + 0x00435a30 63616c20 646f6573 206e6f74 0a202020 cal does not. │ │ │ │ + 0x00435a40 20202020 202f2f20 68616e64 6c652073 // handle s │ │ │ │ + 0x00435a50 75636820 55544320 45584441 5445732c uch UTC EXDATEs, │ │ │ │ + 0x00435a60 20736f20 6c657427 7320636f 6e766572 so let's conver │ │ │ │ + 0x00435a70 74206974 20776869 6c652074 68652055 t it while the U │ │ │ │ + 0x00435a80 54432061 6e640a20 20202020 2020202f TC and. / │ │ │ │ + 0x00435a90 2f207469 6d65207a 6f6e6520 64656669 / time zone defi │ │ │ │ + 0x00435aa0 6e697469 6f6e2028 686f7065 66756c6c nition (hopefull │ │ │ │ + 0x00435ab0 79292061 72652069 6e207379 6e632e0a y) are in sync.. │ │ │ │ + 0x00435ac0 20202020 20202020 69662028 54494d45 if (TIME │ │ │ │ + 0x00435ad0 5a4f4e45 28445453 54415254 2920213d ZONE(DTSTART) != │ │ │ │ + 0x00435ae0 20225554 43222026 26202149 53464c4f "UTC" && !ISFLO │ │ │ │ + 0x00435af0 4154494e 47284454 53544152 54292920 ATING(DTSTART)) │ │ │ │ + 0x00435b00 7b0a2020 20202020 20202020 69203d20 {. i = │ │ │ │ + 0x00435b10 303b0a20 20202020 20202020 2074696d 0;. tim │ │ │ │ + 0x00435b20 65737461 6d702065 78646174 653b0a20 estamp exdate;. │ │ │ │ + 0x00435b30 20202020 20202020 20776869 6c652028 while ( │ │ │ │ + 0x00435b40 693c5349 5a452845 58444154 45532929 i0) {. │ │ │ │ + 0x00436690 20204455 45203d20 434f4e56 45525454 DUE = CONVERTT │ │ │ │ + 0x004366a0 4f555345 525a4f4e 45284455 45293b0a OUSERZONE(DUE);. │ │ │ │ + 0x004366b0 20202020 20202020 20204455 45203d20 DUE = │ │ │ │ + 0x004366c0 44415445 4f4e4c59 28445545 293b0a20 DATEONLY(DUE);. │ │ │ │ + 0x004366d0 20202020 2020207d 0a202020 20202020 }. │ │ │ │ + 0x004366e0 20696620 28495445 4d444154 41545950 if (ITEMDATATYP │ │ │ │ + 0x004366f0 4528293d 3d227643 616c656e 64617231 E()=="vCalendar1 │ │ │ │ + 0x00436700 30222920 7b0a2020 20202020 20202020 0") {. │ │ │ │ + 0x00436710 24564341 4c454e44 41525f31 30544f32 $VCALENDAR_10TO2 │ │ │ │ + 0x00436720 305f5052 494f5249 54595f43 4f4e5645 0_PRIORITY_CONVE │ │ │ │ + 0x00436730 5253494f 4e3b0a20 20202020 2020207d RSION;. } │ │ │ │ + 0x00436740 0a202020 2020207d 0a202020 2020202f . }. / │ │ │ │ + 0x00436750 2f206120 776f726b 61726f75 6e642066 / a workaround f │ │ │ │ + 0x00436760 6f722066 756e616d 626f6c3a 20616464 or funambol: add │ │ │ │ + 0x00436770 696e6720 27616374 696f6e27 20666f72 ing 'action' for │ │ │ │ + 0x00436780 2027616c 61726d27 0a202020 2020202f 'alarm'. / │ │ │ │ + 0x00436790 2f206966 20697465 6d206461 74612074 / if item data t │ │ │ │ + 0x004367a0 79706520 69732076 43616c65 6e646172 ype is vCalendar │ │ │ │ + 0x004367b0 312e302c 20616c73 6f206164 64202761 1.0, also add 'a │ │ │ │ + 0x004367c0 6374696f 6e272066 6f722027 616c6172 ction' for 'alar │ │ │ │ + 0x004367d0 6d272e0a 20202020 20202f2f 20546869 m'.. // Thi │ │ │ │ + 0x004367e0 73206973 20612077 6f726b61 726f756e s is a workaroun │ │ │ │ + 0x004367f0 6420666f 72204d6f 62696361 6c2e6e65 d for Mobical.ne │ │ │ │ + 0x00436800 742c2077 68696368 20757365 73207643 t, which uses vC │ │ │ │ + 0x00436810 616c656e 64617231 2e302e0a 20202020 alendar1.0.. │ │ │ │ + 0x00436820 20206966 2028414c 41524d5f 54494d45 if (ALARM_TIME │ │ │ │ + 0x00436830 213d454d 50545920 26262041 4c41524d !=EMPTY && ALARM │ │ │ │ + 0x00436840 5f414354 494f4e3d 3d454d50 54592920 _ACTION==EMPTY) │ │ │ │ + 0x00436850 7b0a2020 20202020 20202020 414c4152 {. ALAR │ │ │ │ + 0x00436860 4d5f4143 54494f4e 203d2022 44495350 M_ACTION = "DISP │ │ │ │ + 0x00436870 4c415922 3b0a2020 20202020 7d0a2020 LAY";. }. │ │ │ │ + 0x00436880 20205d5d 3e3c2f6d 6163726f 3e0a0a0a ]]>... │ │ │ │ + 0x00436890 20202020 3c6d6163 726f206e 616d653d .. .. . < │ │ │ │ + 0x004377a0 215b4344 4154415b 0a202020 20494e54 ![CDATA[. INT │ │ │ │ + 0x004377b0 45474552 20524553 3b0a2020 20206966 EGER RES;. if │ │ │ │ + 0x004377c0 2028434f 4d504152 49534f4e 4d4f4445 (COMPARISONMODE │ │ │ │ + 0x004377d0 28292021 3d202261 67652220 26262053 () != "age" && S │ │ │ │ + 0x004377e0 594e434d 4f444553 5550504f 52544544 YNCMODESUPPORTED │ │ │ │ + 0x004377f0 28223131 32323538 33303030 22292920 ("1122583000")) │ │ │ │ + 0x00437800 7b0a2020 20202020 20206966 20285441 {. if (TA │ │ │ │ + 0x00437810 52474554 2e554944 203d3d20 52454645 RGET.UID == REFE │ │ │ │ + 0x00437820 52454e43 452e5549 44202626 0a202020 RENCE.UID &&. │ │ │ │ + 0x00437830 20202020 20202020 20544152 4745542e TARGET. │ │ │ │ + 0x00437840 4f524947 53544152 54203d3d 20524546 ORIGSTART == REF │ │ │ │ + 0x00437850 4552454e 43452e4f 52494753 54415254 ERENCE.ORIGSTART │ │ │ │ + 0x00437860 29207b0a 20202020 20202020 20202020 ) {. │ │ │ │ + 0x00437870 52455320 3d20303b 0a202020 20202020 RES = 0;. │ │ │ │ + 0x00437880 207d2065 6c736520 7b0a2020 20202020 } else {. │ │ │ │ + 0x00437890 20202020 20205245 53203d20 2d393939 RES = -999 │ │ │ │ + 0x004378a0 3b0a2020 20202020 20207d0a 20202020 ;. }. │ │ │ │ + 0x004378b0 7d20656c 7365207b 0a202020 20202020 } else {. │ │ │ │ + 0x004378c0 20524553 203d2043 4f4d5041 52454649 RES = COMPAREFI │ │ │ │ + 0x004378d0 454c4453 28293b0a 20202020 7d0a2020 ELDS();. }. │ │ │ │ + 0x004378e0 20207265 7475726e 20524553 3b0a2020 return RES;. │ │ │ │ + 0x004378f0 20205d5d 3e3c2f6d 6163726f 3e0a0a20 ]]>.. │ │ │ │ + 0x00437900 2020203c 212d2d20 696e766f 6b656420 . │ │ │ │ + 0x00437b40 0a0a2020 20203c21 2d2d2069 6e766f6b .. . = lensummary & │ │ │ │ + 0x00437ce0 260a2020 20202020 20205355 42535452 &. SUBSTR │ │ │ │ + 0x00437cf0 28444553 43524950 54494f4e 2c20302c (DESCRIPTION, 0, │ │ │ │ + 0x00437d00 206c656e 73756d6d 61727929 203d3d20 lensummary) == │ │ │ │ + 0x00437d10 53554d4d 41525920 26260a20 20202020 SUMMARY &&. │ │ │ │ + 0x00437d20 20202028 6c656e73 756d6d61 7279203d (lensummary = │ │ │ │ + 0x00437d30 3d206c65 6e646573 6372207c 7c205355 = lendescr || SU │ │ │ │ + 0x00437d40 42535452 28444553 43524950 54494f4e BSTR(DESCRIPTION │ │ │ │ + 0x00437d50 2c206c65 6e73756d 6d617279 2c203129 , lensummary, 1) │ │ │ │ + 0x00437d60 203d3d20 225c6e22 2929207b 0a202020 == "\n")) {. │ │ │ │ + 0x00437d70 20202020 20444553 43524950 54494f4e DESCRIPTION │ │ │ │ + 0x00437d80 203d2053 55425354 52284445 53435249 = SUBSTR(DESCRI │ │ │ │ + 0x00437d90 5054494f 4e2c206c 656e7375 6d6d6172 PTION, lensummar │ │ │ │ + 0x00437da0 79202b20 312c206c 656e6465 73637220 y + 1, lendescr │ │ │ │ + 0x00437db0 2d206c65 6e73756d 6d617279 202d2031 - lensummary - 1 │ │ │ │ + 0x00437dc0 293b0a20 2020207d 0a202020 205d5d3e );. }. ]]> │ │ │ │ + 0x00437dd0 3c2f6d61 63726f3e 0a0a2020 20203c6d .. . │ │ │ │ + 0x00437f50 203c6d61 63726f20 6e616d65 3d225643 < │ │ │ │ + 0x00437fe0 2f6d6163 726f3e0a 0a202020 203c6d61 /macro>.. .. │ │ │ │ + 0x004380e0 2020203c 6d616372 6f206e61 6d653d22 .. │ │ │ │ + 0x00438150 203c212d 2d206d6f 76657320 616e2049 . .. . │ │ │ │ + 0x004382c0 20203c6d 6163726f 206e616d 653d2256 X-ANNIVERSARY │ │ │ │ + 0x00438340 2e0a2020 20202020 2069203d 2053495a .. i = SIZ │ │ │ │ + 0x00438350 45285844 41544529 202d2031 3b0a2020 E(XDATE) - 1;. │ │ │ │ + 0x00438360 20202020 20776869 6c652028 69203e3d while (i >= │ │ │ │ + 0x00438370 20302920 7b0a2020 20202020 20202020 0) {. │ │ │ │ + 0x00438380 69662028 47524f55 505f5441 475b695d if (GROUP_TAG[i] │ │ │ │ + 0x00438390 20213d20 454d5054 59202626 0a202020 != EMPTY &&. │ │ │ │ + 0x004383a0 20202020 20202020 20202058 44415445 XDATE │ │ │ │ + 0x004383b0 5b695d20 213d2055 4e415353 49474e45 [i] != UNASSIGNE │ │ │ │ + 0x004383c0 44202626 0a202020 20202020 20202020 D &&. │ │ │ │ + 0x004383d0 2020204c 4142454c 5b695d20 3d3d2022 LABEL[i] == " │ │ │ │ + 0x004383e0 416e6e69 76657273 61727922 29207b0a Anniversary") {. │ │ │ │ + 0x004383f0 20202020 20202020 20202020 20205357 SW │ │ │ │ + 0x00438400 41502841 4e4e4956 45525341 52592c20 AP(ANNIVERSARY, │ │ │ │ + 0x00438410 58444154 455b695d 293b0a0a 20202020 XDATE[i]);.. │ │ │ │ + 0x00438420 20202020 20202020 20202f2f 20584441 // XDA │ │ │ │ + 0x00438430 54455b69 5d203d20 554e4153 5349474e TE[i] = UNASSIGN │ │ │ │ + 0x00438440 45443b0a 20202020 20202020 20202020 ED;. │ │ │ │ + 0x00438450 20206272 65616b3b 0a202020 20202020 break;. │ │ │ │ + 0x00438460 2020207d 0a202020 20202020 20202069 }. i │ │ │ │ + 0x00438470 203d2069 202d2031 3b0a2020 20202020 = i - 1;. │ │ │ │ + 0x00438480 207d0a0a 20202020 2020202f 2f205370 }.. // Sp │ │ │ │ + 0x00438490 65636961 6c20582d 41425245 4c415445 ecial X-ABRELATE │ │ │ │ + 0x004384a0 444e414d 4553202d 3e20582d 53504f55 DNAMES -> X-SPOU │ │ │ │ + 0x004384b0 53452f4d 414e4147 45522f41 53534953 SE/MANAGER/ASSIS │ │ │ │ + 0x004384c0 54414e54 0a202020 20202020 69203d20 TANT. i = │ │ │ │ + 0x004384d0 53495a45 2852454c 41544544 4e414d45 SIZE(RELATEDNAME │ │ │ │ + 0x004384e0 5329202d 20313b0a 20202020 20202077 S) - 1;. w │ │ │ │ + 0x004384f0 68696c65 20286920 3e3d2030 29207b0a hile (i >= 0) {. │ │ │ │ + 0x00438500 20202020 20202020 20206966 20284752 if (GR │ │ │ │ + 0x00438510 4f55505f 5441475b 695d2021 3d20454d OUP_TAG[i] != EM │ │ │ │ + 0x00438520 50545920 26260a20 20202020 20202020 PTY &&. │ │ │ │ + 0x00438530 20202020 2052454c 41544544 4e414d45 RELATEDNAME │ │ │ │ + 0x00438540 535b695d 20213d20 554e4153 5349474e S[i] != UNASSIGN │ │ │ │ + 0x00438550 45442920 7b0a2020 20202020 20202020 ED) {. │ │ │ │ + 0x00438560 20202073 203d204c 4142454c 5b695d3b s = LABEL[i]; │ │ │ │ + 0x00438570 0a202020 20202020 20202020 20206966 . if │ │ │ │ + 0x00438580 20287320 3d3d2022 53706f75 73652229 (s == "Spouse") │ │ │ │ + 0x00438590 207b0a20 20202020 20202020 20202020 {. │ │ │ │ + 0x004385a0 20202069 66202853 504f5553 45203d3d if (SPOUSE == │ │ │ │ + 0x004385b0 20454d50 54592920 7b0a2020 20202020 EMPTY) {. │ │ │ │ + 0x004385c0 20202020 20202020 20202020 20535741 SWA │ │ │ │ + 0x004385d0 50285350 4f555345 2c205245 4c415445 P(SPOUSE, RELATE │ │ │ │ + 0x004385e0 444e414d 45535b69 5d293b0a 20202020 DNAMES[i]);. │ │ │ │ + 0x004385f0 20202020 20202020 20202020 2020202f / │ │ │ │ + 0x00438600 2f205245 4c415445 444e414d 45535b69 / RELATEDNAMES[i │ │ │ │ + 0x00438610 5d203d20 554e4153 5349474e 45443b0a ] = UNASSIGNED;. │ │ │ │ + 0x00438620 20202020 20202020 20202020 20202020 │ │ │ │ + 0x00438630 7d0a2020 20202020 20202020 2020207d }. } │ │ │ │ + 0x00438640 20656c73 65206966 20287320 3d3d2022 else if (s == " │ │ │ │ + 0x00438650 4d616e61 67657222 29207b0a 20202020 Manager") {. │ │ │ │ + 0x00438660 20202020 20202020 20202020 69662028 if ( │ │ │ │ + 0x00438670 4d414e41 47455220 3d3d2045 4d505459 MANAGER == EMPTY │ │ │ │ + 0x00438680 29207b0a 20202020 20202020 20202020 ) {. │ │ │ │ + 0x00438690 20202020 20202053 57415028 4d414e41 SWAP(MANA │ │ │ │ + 0x004386a0 4745522c 2052454c 41544544 4e414d45 GER, RELATEDNAME │ │ │ │ + 0x004386b0 535b695d 293b0a20 20202020 20202020 S[i]);. │ │ │ │ + 0x004386c0 20202020 20202020 20202f2f 2052454c // REL │ │ │ │ + 0x004386d0 41544544 4e414d45 535b695d 203d2055 ATEDNAMES[i] = U │ │ │ │ + 0x004386e0 4e415353 49474e45 443b0a20 20202020 NASSIGNED;. │ │ │ │ + 0x004386f0 20202020 20202020 2020207d 0a202020 }. │ │ │ │ + 0x00438700 20202020 20202020 20207d20 656c7365 } else │ │ │ │ + 0x00438710 20696620 2873203d 3d202241 73736973 if (s == "Assis │ │ │ │ + 0x00438720 74616e74 2229207b 0a202020 20202020 tant") {. │ │ │ │ + 0x00438730 20202020 20202020 20696620 28415353 if (ASS │ │ │ │ + 0x00438740 49535441 4e54203d 3d20454d 50545929 ISTANT == EMPTY) │ │ │ │ + 0x00438750 207b0a20 20202020 20202020 20202020 {. │ │ │ │ + 0x00438760 20202020 20205357 41502841 53534953 SWAP(ASSIS │ │ │ │ + 0x00438770 54414e54 2c205245 4c415445 444e414d TANT, RELATEDNAM │ │ │ │ + 0x00438780 45535b69 5d293b0a 20202020 20202020 ES[i]);. │ │ │ │ + 0x00438790 20202020 20202020 2020202f 2f205245 // RE │ │ │ │ + 0x004387a0 4c415445 444e414d 45535b69 5d203d20 LATEDNAMES[i] = │ │ │ │ + 0x004387b0 554e4153 5349474e 45443b0a 20202020 UNASSIGNED;. │ │ │ │ + 0x004387c0 20202020 20202020 20202020 7d0a2020 }. │ │ │ │ + 0x004387d0 20202020 20202020 2020207d 0a202020 }. │ │ │ │ + 0x004387e0 20202020 2020207d 0a202020 20202020 }. │ │ │ │ + 0x004387f0 20202069 203d2069 202d2031 3b0a2020 i = i - 1;. │ │ │ │ + 0x00438800 20202020 207d0a0a 20202020 2020202f }.. / │ │ │ │ + 0x00438810 2f20494d 5050202d 3e20582d 4a414242 / IMPP -> X-JABB │ │ │ │ + 0x00438820 45522f41 494d2f2e 2e2e2064 6570656e ER/AIM/... depen │ │ │ │ + 0x00438830 64696e67 206f6e20 73657276 69636520 ding on service │ │ │ │ + 0x00438840 74797065 2e205072 6f746f63 6f6c206d type. Protocol m │ │ │ │ + 0x00438850 75737420 6d617463 682e0a20 20202020 ust match.. │ │ │ │ + 0x00438860 20206920 3d205349 5a452849 4d505029 i = SIZE(IMPP) │ │ │ │ + 0x00438870 202d2031 3b0a2020 20202020 20494e54 - 1;. INT │ │ │ │ + 0x00438880 45474552 206f6666 7365743b 0a202020 EGER offset;. │ │ │ │ + 0x00438890 20202020 53545249 4e472073 65727669 STRING servi │ │ │ │ + 0x004388a0 63653b0a 20202020 20202053 5452494e ce;. STRIN │ │ │ │ + 0x004388b0 47207072 6f746f63 6f6c3b0a 20202020 G protocol;. │ │ │ │ + 0x004388c0 20202053 5452494e 47207661 6c75653b STRING value; │ │ │ │ + 0x004388d0 0a202020 20202020 7768696c 65202869 . while (i │ │ │ │ + 0x004388e0 203e3d20 3029207b 0a202020 20202020 >= 0) {. │ │ │ │ + 0x004388f0 20202073 65727669 6365203d 20494d50 service = IMP │ │ │ │ + 0x00438900 505f5345 52564943 455b695d 3b0a2020 P_SERVICE[i];. │ │ │ │ + 0x00438910 20202020 20202020 69662028 73657276 if (serv │ │ │ │ + 0x00438920 69636520 213d2055 4e415353 49474e45 ice != UNASSIGNE │ │ │ │ + 0x00438930 4429207b 0a202020 20202020 20202020 D) {. │ │ │ │ + 0x00438940 20206f66 66736574 203d2046 494e4428 offset = FIND( │ │ │ │ + 0x00438950 494d5050 5b695d2c 20223a22 293b0a20 IMPP[i], ":");. │ │ │ │ + 0x00438960 20202020 20202020 20202020 69662028 if ( │ │ │ │ + 0x00438970 6f666673 65742021 3d20554e 41535349 offset != UNASSI │ │ │ │ + 0x00438980 474e4544 29207b0a 20202020 20202020 GNED) {. │ │ │ │ + 0x00438990 20202020 20202020 70726f74 6f636f6c protocol │ │ │ │ + 0x004389a0 203d2053 55425354 5228494d 50505b69 = SUBSTR(IMPP[i │ │ │ │ + 0x004389b0 5d2c2030 2c206f66 66736574 293b0a20 ], 0, offset);. │ │ │ │ + 0x004389c0 20202020 20202020 20202020 20202076 v │ │ │ │ + 0x004389d0 616c7565 203d2055 524c4445 434f4445 alue = URLDECODE │ │ │ │ + 0x004389e0 28535542 53545228 494d5050 5b695d2c (SUBSTR(IMPP[i], │ │ │ │ + 0x004389f0 206f6666 73657420 2b203129 293b0a20 offset + 1));. │ │ │ │ + 0x00438a00 20202020 20202020 20202020 20202069 i │ │ │ │ + 0x00438a10 66202873 65727669 6365203d 3d202241 f (service == "A │ │ │ │ + 0x00438a20 494d2220 26262070 726f746f 636f6c20 IM" && protocol │ │ │ │ + 0x00438a30 3d3d2022 61696d22 29207b0a 20202020 == "aim") {. │ │ │ │ + 0x00438a40 20202020 20202020 20202020 20202024 $ │ │ │ │ + 0x00438a50 56434152 445f4d4f 4445524e 5f544f5f VCARD_MODERN_TO_ │ │ │ │ + 0x00438a60 4c454741 43595f49 4d505028 76616c75 LEGACY_IMPP(valu │ │ │ │ + 0x00438a70 652c2041 494d5f48 414e444c 452c2041 e, AIM_HANDLE, A │ │ │ │ + 0x00438a80 494d5f53 4c4f542c 2069293b 0a202020 IM_SLOT, i);. │ │ │ │ + 0x00438a90 20202020 20202020 20202020 207d2065 } e │ │ │ │ + 0x00438aa0 6c736520 69662028 73657276 69636520 lse if (service │ │ │ │ + 0x00438ab0 3d3d2022 47616475 67616475 2229207b == "Gadugadu") { │ │ │ │ + 0x00438ac0 0a202020 20202020 20202020 20202020 . │ │ │ │ + 0x00438ad0 20202020 24564341 52445f4d 4f444552 $VCARD_MODER │ │ │ │ + 0x00438ae0 4e5f544f 5f4c4547 4143595f 494d5050 N_TO_LEGACY_IMPP │ │ │ │ + 0x00438af0 2876616c 75652c20 47414455 47414455 (value, GADUGADU │ │ │ │ + 0x00438b00 5f48414e 444c452c 20474144 55474144 _HANDLE, GADUGAD │ │ │ │ + 0x00438b10 555f534c 4f542c20 69293b0a 20202020 U_SLOT, i);. │ │ │ │ + 0x00438b20 20202020 20202020 20202020 7d20656c } el │ │ │ │ + 0x00438b30 73652069 66202873 65727669 6365203d se if (service = │ │ │ │ + 0x00438b40 3d202247 726f7570 77697365 2229207b = "Groupwise") { │ │ │ │ + 0x00438b50 0a202020 20202020 20202020 20202020 . │ │ │ │ + 0x00438b60 20202020 24564341 52445f4d 4f444552 $VCARD_MODER │ │ │ │ + 0x00438b70 4e5f544f 5f4c4547 4143595f 494d5050 N_TO_LEGACY_IMPP │ │ │ │ + 0x00438b80 2876616c 75652c20 47524f55 50574953 (value, GROUPWIS │ │ │ │ + 0x00438b90 455f4841 4e444c45 2c204752 4f555057 E_HANDLE, GROUPW │ │ │ │ + 0x00438ba0 4953455f 534c4f54 2c206929 3b0a2020 ISE_SLOT, i);. │ │ │ │ + 0x00438bb0 20202020 20202020 20202020 20207d20 } │ │ │ │ + 0x00438bc0 656c7365 20696620 28736572 76696365 else if (service │ │ │ │ + 0x00438bd0 203d3d20 22494351 22202626 2070726f == "ICQ" && pro │ │ │ │ + 0x00438be0 746f636f 6c203d3d 20226169 6d222920 tocol == "aim") │ │ │ │ + 0x00438bf0 7b0a2020 20202020 20202020 20202020 {. │ │ │ │ + 0x00438c00 20202020 20245643 4152445f 4d4f4445 $VCARD_MODE │ │ │ │ + 0x00438c10 524e5f54 4f5f4c45 47414359 5f494d50 RN_TO_LEGACY_IMP │ │ │ │ + 0x00438c20 50287661 6c75652c 20494351 5f48414e P(value, ICQ_HAN │ │ │ │ + 0x00438c30 444c452c 20494351 5f534c4f 542c2069 DLE, ICQ_SLOT, i │ │ │ │ + 0x00438c40 293b0a20 20202020 20202020 20202020 );. │ │ │ │ + 0x00438c50 2020207d 20656c73 65206966 20287365 } else if (se │ │ │ │ + 0x00438c60 72766963 65203d3d 20224a61 62626572 rvice == "Jabber │ │ │ │ + 0x00438c70 22202626 2070726f 746f636f 6c203d3d " && protocol == │ │ │ │ + 0x00438c80 2022786d 70702229 207b0a20 20202020 "xmpp") {. │ │ │ │ + 0x00438c90 20202020 20202020 20202020 20202456 $V │ │ │ │ + 0x00438ca0 43415244 5f4d4f44 45524e5f 544f5f4c CARD_MODERN_TO_L │ │ │ │ + 0x00438cb0 45474143 595f494d 50502876 616c7565 EGACY_IMPP(value │ │ │ │ + 0x00438cc0 2c204a41 42424552 5f48414e 444c452c , JABBER_HANDLE, │ │ │ │ + 0x00438cd0 204a4142 4245525f 534c4f54 2c206929 JABBER_SLOT, i) │ │ │ │ + 0x00438ce0 3b0a2020 20202020 20202020 20202020 ;. │ │ │ │ + 0x00438cf0 20207d20 656c7365 20696620 28736572 } else if (ser │ │ │ │ + 0x00438d00 76696365 203d3d20 224d534e 22202626 vice == "MSN" && │ │ │ │ + 0x00438d10 2070726f 746f636f 6c203d3d 20226d73 protocol == "ms │ │ │ │ + 0x00438d20 6e696d22 29207b0a 20202020 20202020 nim") {. │ │ │ │ + 0x00438d30 20202020 20202020 20202024 56434152 $VCAR │ │ │ │ + 0x00438d40 445f4d4f 4445524e 5f544f5f 4c454741 D_MODERN_TO_LEGA │ │ │ │ + 0x00438d50 43595f49 4d505028 76616c75 652c204d CY_IMPP(value, M │ │ │ │ + 0x00438d60 534e5f48 414e444c 452c204d 534e5f53 SN_HANDLE, MSN_S │ │ │ │ + 0x00438d70 4c4f542c 2069293b 0a202020 20202020 LOT, i);. │ │ │ │ + 0x00438d80 20202020 20202020 207d2065 6c736520 } else │ │ │ │ + 0x00438d90 69662028 73657276 69636520 3d3d2022 if (service == " │ │ │ │ + 0x00438da0 5961686f 6f222026 26207072 6f746f63 Yahoo" && protoc │ │ │ │ + 0x00438db0 6f6c203d 3d202279 6d736772 2229207b ol == "ymsgr") { │ │ │ │ + 0x00438dc0 0a202020 20202020 20202020 20202020 . │ │ │ │ + 0x00438dd0 20202020 24564341 52445f4d 4f444552 $VCARD_MODER │ │ │ │ + 0x00438de0 4e5f544f 5f4c4547 4143595f 494d5050 N_TO_LEGACY_IMPP │ │ │ │ + 0x00438df0 2876616c 75652c20 5941484f 4f5f4841 (value, YAHOO_HA │ │ │ │ + 0x00438e00 4e444c45 2c205941 484f4f5f 534c4f54 NDLE, YAHOO_SLOT │ │ │ │ + 0x00438e10 2c206929 3b0a2020 20202020 20202020 , i);. │ │ │ │ + 0x00438e20 20202020 20207d20 656c7365 20696620 } else if │ │ │ │ + 0x00438e30 28736572 76696365 203d3d20 22536b79 (service == "Sky │ │ │ │ + 0x00438e40 70652220 26262070 726f746f 636f6c20 pe" && protocol │ │ │ │ + 0x00438e50 3d3d2022 736b7970 65222920 7b0a2020 == "skype") {. │ │ │ │ + 0x00438e60 20202020 20202020 20202020 20202020 │ │ │ │ + 0x00438e70 20245643 4152445f 4d4f4445 524e5f54 $VCARD_MODERN_T │ │ │ │ + 0x00438e80 4f5f4c45 47414359 5f494d50 50287661 O_LEGACY_IMPP(va │ │ │ │ + 0x00438e90 6c75652c 20534b59 50455f48 414e444c lue, SKYPE_HANDL │ │ │ │ + 0x00438ea0 452c2053 4b595045 5f534c4f 542c2069 E, SKYPE_SLOT, i │ │ │ │ + 0x00438eb0 293b0a20 20202020 20202020 20202020 );. │ │ │ │ + 0x00438ec0 2020207d 20656c73 65206966 20287365 } else if (se │ │ │ │ + 0x00438ed0 72766963 65203d3d 20225369 70222920 rvice == "Sip") │ │ │ │ + 0x00438ee0 7b0a2020 20202020 20202020 20202020 {. │ │ │ │ + 0x00438ef0 20202020 20245643 4152445f 4d4f4445 $VCARD_MODE │ │ │ │ + 0x00438f00 524e5f54 4f5f4c45 47414359 5f494d50 RN_TO_LEGACY_IMP │ │ │ │ + 0x00438f10 50287661 6c75652c 20534950 5f48414e P(value, SIP_HAN │ │ │ │ + 0x00438f20 444c452c 20534950 5f534c4f 542c2069 DLE, SIP_SLOT, i │ │ │ │ + 0x00438f30 293b0a20 20202020 20202020 20202020 );. │ │ │ │ + 0x00438f40 2020207d 0a202020 20202020 20202020 }. │ │ │ │ + 0x00438f50 20207d0a 20202020 20202020 20207d0a }. }. │ │ │ │ + 0x00438f60 20202020 20202020 20206920 3d206920 i = i │ │ │ │ + 0x00438f70 2d20313b 0a202020 20202020 7d0a0a0a - 1;. }... │ │ │ │ + 0x00438f80 20202020 2020202f 2f205265 6d6f7665 // Remove │ │ │ │ + 0x00438f90 206c6162 656c7320 77686963 68206172 labels which ar │ │ │ │ + 0x00438fa0 65206e6f 206c6f6e 67657220 6e656564 e no longer need │ │ │ │ + 0x00438fb0 65642028 76616c75 6564206d 6f766564 ed (valued moved │ │ │ │ + 0x00438fc0 2061626f 76652c0a 20202020 2020202f above,. / │ │ │ │ + 0x00438fd0 2f207374 6f726564 20666f72 20612067 / stored for a g │ │ │ │ + 0x00438fe0 726f7570 20776869 63682068 6173206e roup which has n │ │ │ │ + 0x00438ff0 6f206f74 68657220 70726f70 65727469 o other properti │ │ │ │ + 0x00439000 65732028 476f6f67 6c650a20 20202020 es (Google. │ │ │ │ + 0x00439010 20202f2f 20436172 64444156 20736572 // CardDAV ser │ │ │ │ + 0x00439020 76657220 736f6d65 74696d65 73207365 ver sometimes se │ │ │ │ + 0x00439030 6e647320 74686174 2c206564 6974696e nds that, editin │ │ │ │ + 0x00439040 6720696e 2045766f 6c757469 6f6e0a20 g in Evolution. │ │ │ │ + 0x00439050 20202020 20202f2f 206d6967 68742063 // might c │ │ │ │ + 0x00439060 61757365 2069742c 20657463 2e29206f ause it, etc.) o │ │ │ │ + 0x00439070 72207072 6f766964 65206e6f 20696e66 r provide no inf │ │ │ │ + 0x00439080 6f726d61 74696f6e 2028224f 74686572 ormation ("Other │ │ │ │ + 0x00439090 22292e0a 20202020 20202069 203d2053 ").. i = S │ │ │ │ + 0x004390a0 495a4528 4c414245 4c29202d 20313b0a IZE(LABEL) - 1;. │ │ │ │ + 0x004390b0 20202020 20202077 68696c65 20286920 while (i │ │ │ │ + 0x004390c0 3e3d2030 29207b0a 20202020 20202020 >= 0) {. │ │ │ │ + 0x004390d0 20206966 20284c41 42454c5b 695d203d if (LABEL[i] = │ │ │ │ + 0x004390e0 3d20224f 74686572 22207c7c 0a202020 = "Other" ||. │ │ │ │ + 0x004390f0 20202020 20202020 2020204c 4142454c LABEL │ │ │ │ + 0x00439100 5b695d20 213d2055 4e415353 49474e45 [i] != UNASSIGNE │ │ │ │ + 0x00439110 44202626 0a202020 20202020 20202020 D &&. │ │ │ │ + 0x00439120 20202028 47524f55 505f5441 475b695d (GROUP_TAG[i] │ │ │ │ + 0x00439130 203d3d20 454d5054 59207c7c 0a202020 == EMPTY ||. │ │ │ │ + 0x00439140 20202020 20202020 20202020 52454c41 RELA │ │ │ │ + 0x00439150 5445444e 414d4553 5b695d20 3d3d2055 TEDNAMES[i] == U │ │ │ │ + 0x00439160 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ + 0x00439170 20202020 20202020 20202020 58444154 XDAT │ │ │ │ + 0x00439180 455b695d 203d3d20 554e4153 5349474e E[i] == UNASSIGN │ │ │ │ + 0x00439190 45442026 260a2020 20202020 20202020 ED &&. │ │ │ │ + 0x004391a0 20202020 2054454c 5b695d20 3d3d2055 TEL[i] == U │ │ │ │ + 0x004391b0 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ + 0x004391c0 20202020 20202020 20202020 454d4149 EMAI │ │ │ │ + 0x004391d0 4c5b695d 203d3d20 554e4153 5349474e L[i] == UNASSIGN │ │ │ │ + 0x004391e0 45442026 260a2020 20202020 20202020 ED &&. │ │ │ │ + 0x004391f0 20202020 20574542 5b695d20 3d3d2055 WEB[i] == U │ │ │ │ + 0x00439200 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ + 0x00439210 20202020 20202020 20202020 58444154 XDAT │ │ │ │ + 0x00439220 455b695d 203d3d20 554e4153 5349474e E[i] == UNASSIGN │ │ │ │ + 0x00439230 45442026 260a2020 20202020 20202020 ED &&. │ │ │ │ + 0x00439240 20202020 20494d50 505b695d 203d3d20 IMPP[i] == │ │ │ │ + 0x00439250 554e4153 5349474e 45442026 260a2020 UNASSIGNED &&. │ │ │ │ + 0x00439260 20202020 20202020 20202020 20414452 ADR │ │ │ │ + 0x00439270 5f504f42 4f585b69 5d203d3d 20554e41 _POBOX[i] == UNA │ │ │ │ + 0x00439280 53534947 4e454420 26260a20 20202020 SSIGNED &&. │ │ │ │ + 0x00439290 20202020 20202020 20204144 525f4144 ADR_AD │ │ │ │ + 0x004392a0 44544c5b 695d203d 3d20554e 41535349 DTL[i] == UNASSI │ │ │ │ + 0x004392b0 474e4544 2026260a 20202020 20202020 GNED &&. │ │ │ │ + 0x004392c0 20202020 20202041 44525f53 54524545 ADR_STREE │ │ │ │ + 0x004392d0 545b695d 203d3d20 554e4153 5349474e T[i] == UNASSIGN │ │ │ │ + 0x004392e0 45442026 260a2020 20202020 20202020 ED &&. │ │ │ │ + 0x004392f0 20202020 20414452 5f434954 595b695d ADR_CITY[i] │ │ │ │ + 0x00439300 203d3d20 554e4153 5349474e 45442026 == UNASSIGNED & │ │ │ │ + 0x00439310 260a2020 20202020 20202020 20202020 &. │ │ │ │ + 0x00439320 20414452 5f524547 5b695d20 3d3d2055 ADR_REG[i] == U │ │ │ │ + 0x00439330 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ + 0x00439340 20202020 20202020 20202020 4144525f ADR_ │ │ │ │ + 0x00439350 5a49505b 695d203d 3d20554e 41535349 ZIP[i] == UNASSI │ │ │ │ + 0x00439360 474e4544 2026260a 20202020 20202020 GNED &&. │ │ │ │ + 0x00439370 20202020 20202041 44525f43 4f554e54 ADR_COUNT │ │ │ │ + 0x00439380 52595b69 5d203d3d 20554e41 53534947 RY[i] == UNASSIG │ │ │ │ + 0x00439390 4e454420 26260a20 20202020 20202020 NED &&. │ │ │ │ + 0x004393a0 20202020 20204144 525f5354 52454554 ADR_STREET │ │ │ │ + 0x004393b0 5f464c41 47535b69 5d203d3d 20554e41 _FLAGS[i] == UNA │ │ │ │ + 0x004393c0 53534947 4e454429 29207b0a 20202020 SSIGNED)) {. │ │ │ │ + 0x004393d0 20202020 20202020 2020204c 4142454c LABEL │ │ │ │ + 0x004393e0 5b695d20 3d20554e 41535349 474e4544 [i] = UNASSIGNED │ │ │ │ + 0x004393f0 3b0a2020 20202020 20202020 7d0a2020 ;. }. │ │ │ │ + 0x00439400 20202020 20202020 69203d20 69202d20 i = i - │ │ │ │ + 0x00439410 313b0a20 20202020 20207d0a 0a202020 1;. }.. │ │ │ │ + 0x00439420 20202020 2f2f2052 656d6f76 6520616c // Remove al │ │ │ │ + 0x00439430 6c206772 6f757020 74616773 2e204e6f l group tags. No │ │ │ │ + 0x00439440 74207573 65642066 6f72206c 65676163 t used for legac │ │ │ │ + 0x00439450 7920666f 726d6174 732e0a20 20202020 y formats.. │ │ │ │ + 0x00439460 20204752 4f55505f 54414720 3d20554e GROUP_TAG = UN │ │ │ │ + 0x00439470 41535349 474e4544 3b0a2020 20205d5d ASSIGNED;. ]] │ │ │ │ + 0x00439480 3e3c2f6d 6163726f 3e0a0a20 2020203c >.. < │ │ │ │ + 0x00439490 212d2d20 54686520 6c656761 63792d3e !-- The legacy-> │ │ │ │ + 0x004394a0 6d6f6465 726e2063 6f6e7665 7273696f modern conversio │ │ │ │ + 0x004394b0 6e206967 6e6f7265 7320656d 70747920 n ignores empty │ │ │ │ + 0x004394c0 70726f70 65727479 2076616c 7565730a property values. │ │ │ │ + 0x004394d0 20202020 62656361 75736520 77652077 because we w │ │ │ │ + 0x004394e0 6f756c64 206e6f74 20656e63 6f646520 ould not encode │ │ │ │ + 0x004394f0 7468656d 20617320 656d7074 790a2020 them as empty. │ │ │ │ + 0x00439500 2020494d 50502f58 2d414244 4154452f IMPP/X-ABDATE/ │ │ │ │ + 0x00439510 582d4142 52454c41 5445444e 414d4553 X-ABRELATEDNAMES │ │ │ │ + 0x00439520 2076616c 75657320 616e7977 61790a20 values anyway. │ │ │ │ + 0x00439530 20202028 3c6e6f65 6d707479 70726f70 (), leavin │ │ │ │ + 0x00439550 67207573 20776974 68206a75 73742074 g us with just t │ │ │ │ + 0x00439560 68652072 6564756e 64616e74 206c6162 he redundant lab │ │ │ │ + 0x00439570 656c732e 0a202020 202d2d3e 0a0a2020 els.. -->.. │ │ │ │ + 0x00439580 20203c21 2d2d2058 2d53504f 5553452f . │ │ │ │ 0x0043a3c0 3c666965 6c646c69 7374206e 616d653d