--- /srv/rebuilderd/tmp/rebuilderdFVRaqL/inputs/libsyncevolution0_2.0.0-3.3_riscv64.deb +++ /srv/rebuilderd/tmp/rebuilderdFVRaqL/out/libsyncevolution0_2.0.0-3.3_riscv64.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 1128 2025-08-25 11:04:45.000000 control.tar.xz │ --rw-r--r-- 0 0 0 877008 2025-08-25 11:04:45.000000 data.tar.xz │ +-rw-r--r-- 0 0 0 879680 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/riscv64-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: c15444291cbd1384b6feafbb96a6c21b7bd3482d │ │ │ │ + GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 89ba33d093425b5e74f6b38189b01316b26602ed │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ @@ -9445,14 +9445,28 @@ │ │ │ │ │ │ │ │ │ │ │ │ true │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 0 │ │ │ │ + │ │ │ │ │ │ │ │ - │ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ - 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; │ │ │ │ + } │ │ │ │ + ]]> │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ .0. .. < │ │ │ │ - 0x003191b8 6d616372 6f206e61 6d653d22 56434152 macro name="VCAR │ │ │ │ - 0x003191c8 445f494e 434f4d49 4e475f50 484f544f D_INCOMING_PHOTO │ │ │ │ - 0x003191d8 5f545950 455f5343 52495054 223e3c21 _TYPE_SCRIPT">.. . │ │ │ │ - 0x00319448 2020203c 6d616372 6f206e61 6d653d22 < │ │ │ │ + 0x003191c8 2f6d6163 726f3e0a 20202020 3c6d6163 /macro>. .. │ │ │ │ + 0x00319378 20203c6d 6163726f 206e616d 653d2256 .. . . │ │ │ │ - 0x0031f078 20202020 3c6d6163 726f206e 616d653d .. │ │ │ │ - 0x0031f168 203c212d 2d20636f 6e766572 74206672 . X-ANNI │ │ │ │ - 0x0031f228 56455253 4152592e 0a202020 20202020 VERSARY.. │ │ │ │ - 0x0031f238 69203d20 53495a45 28584441 54452920 i = SIZE(XDATE) │ │ │ │ - 0x0031f248 2d20313b 0a202020 20202020 7768696c - 1;. whil │ │ │ │ - 0x0031f258 65202869 203e3d20 3029207b 0a202020 e (i >= 0) {. │ │ │ │ - 0x0031f268 20202020 20202069 66202847 524f5550 if (GROUP │ │ │ │ - 0x0031f278 5f544147 5b695d20 213d2045 4d505459 _TAG[i] != EMPTY │ │ │ │ - 0x0031f288 2026260a 20202020 20202020 20202020 &&. │ │ │ │ - 0x0031f298 20205844 4154455b 695d2021 3d20554e XDATE[i] != UN │ │ │ │ - 0x0031f2a8 41535349 474e4544 2026260a 20202020 ASSIGNED &&. │ │ │ │ - 0x0031f2b8 20202020 20202020 20204c41 42454c5b LABEL[ │ │ │ │ - 0x0031f2c8 695d203d 3d202241 6e6e6976 65727361 i] == "Anniversa │ │ │ │ - 0x0031f2d8 72792229 207b0a20 20202020 20202020 ry") {. │ │ │ │ - 0x0031f2e8 20202020 20535741 5028414e 4e495645 SWAP(ANNIVE │ │ │ │ - 0x0031f2f8 52534152 592c2058 44415445 5b695d29 RSARY, XDATE[i]) │ │ │ │ - 0x0031f308 3b0a0a20 20202020 20202020 20202020 ;.. │ │ │ │ - 0x0031f318 202f2f20 58444154 455b695d 203d2055 // XDATE[i] = U │ │ │ │ - 0x0031f328 4e415353 49474e45 443b0a20 20202020 NASSIGNED;. │ │ │ │ - 0x0031f338 20202020 20202020 20627265 616b3b0a break;. │ │ │ │ - 0x0031f348 20202020 20202020 20207d0a 20202020 }. │ │ │ │ - 0x0031f358 20202020 20206920 3d206920 2d20313b i = i - 1; │ │ │ │ - 0x0031f368 0a202020 20202020 7d0a0a20 20202020 . }.. │ │ │ │ - 0x0031f378 20202f2f 20537065 6369616c 20582d41 // Special X-A │ │ │ │ - 0x0031f388 4252454c 41544544 4e414d45 53202d3e BRELATEDNAMES -> │ │ │ │ - 0x0031f398 20582d53 504f5553 452f4d41 4e414745 X-SPOUSE/MANAGE │ │ │ │ - 0x0031f3a8 522f4153 53495354 414e540a 20202020 R/ASSISTANT. │ │ │ │ - 0x0031f3b8 20202069 203d2053 495a4528 52454c41 i = SIZE(RELA │ │ │ │ - 0x0031f3c8 5445444e 414d4553 29202d20 313b0a20 TEDNAMES) - 1;. │ │ │ │ - 0x0031f3d8 20202020 20207768 696c6520 2869203e while (i > │ │ │ │ - 0x0031f3e8 3d203029 207b0a20 20202020 20202020 = 0) {. │ │ │ │ - 0x0031f3f8 20696620 2847524f 55505f54 41475b69 if (GROUP_TAG[i │ │ │ │ - 0x0031f408 5d20213d 20454d50 54592026 260a2020 ] != EMPTY &&. │ │ │ │ - 0x0031f418 20202020 20202020 20202020 52454c41 RELA │ │ │ │ - 0x0031f428 5445444e 414d4553 5b695d20 213d2055 TEDNAMES[i] != U │ │ │ │ - 0x0031f438 4e415353 49474e45 4429207b 0a202020 NASSIGNED) {. │ │ │ │ - 0x0031f448 20202020 20202020 20207320 3d204c41 s = LA │ │ │ │ - 0x0031f458 42454c5b 695d3b0a 20202020 20202020 BEL[i];. │ │ │ │ - 0x0031f468 20202020 20696620 2873203d 3d202253 if (s == "S │ │ │ │ - 0x0031f478 706f7573 65222920 7b0a2020 20202020 pouse") {. │ │ │ │ - 0x0031f488 20202020 20202020 20206966 20285350 if (SP │ │ │ │ - 0x0031f498 4f555345 203d3d20 454d5054 5929207b OUSE == EMPTY) { │ │ │ │ - 0x0031f4a8 0a202020 20202020 20202020 20202020 . │ │ │ │ - 0x0031f4b8 20202020 53574150 2853504f 5553452c SWAP(SPOUSE, │ │ │ │ - 0x0031f4c8 2052454c 41544544 4e414d45 535b695d RELATEDNAMES[i] │ │ │ │ - 0x0031f4d8 293b0a20 20202020 20202020 20202020 );. │ │ │ │ - 0x0031f4e8 20202020 20202f2f 2052454c 41544544 // RELATED │ │ │ │ - 0x0031f4f8 4e414d45 535b695d 203d2055 4e415353 NAMES[i] = UNASS │ │ │ │ - 0x0031f508 49474e45 443b0a20 20202020 20202020 IGNED;. │ │ │ │ - 0x0031f518 20202020 2020207d 0a202020 20202020 }. │ │ │ │ - 0x0031f528 20202020 20207d20 656c7365 20696620 } else if │ │ │ │ - 0x0031f538 2873203d 3d20224d 616e6167 65722229 (s == "Manager") │ │ │ │ - 0x0031f548 207b0a20 20202020 20202020 20202020 {. │ │ │ │ - 0x0031f558 20202069 6620284d 414e4147 4552203d if (MANAGER = │ │ │ │ - 0x0031f568 3d20454d 50545929 207b0a20 20202020 = EMPTY) {. │ │ │ │ - 0x0031f578 20202020 20202020 20202020 20205357 SW │ │ │ │ - 0x0031f588 4150284d 414e4147 45522c20 52454c41 AP(MANAGER, RELA │ │ │ │ - 0x0031f598 5445444e 414d4553 5b695d29 3b0a2020 TEDNAMES[i]);. │ │ │ │ - 0x0031f5a8 20202020 20202020 20202020 20202020 │ │ │ │ - 0x0031f5b8 202f2f20 52454c41 5445444e 414d4553 // RELATEDNAMES │ │ │ │ - 0x0031f5c8 5b695d20 3d20554e 41535349 474e4544 [i] = UNASSIGNED │ │ │ │ - 0x0031f5d8 3b0a2020 20202020 20202020 20202020 ;. │ │ │ │ - 0x0031f5e8 20207d0a 20202020 20202020 20202020 }. │ │ │ │ - 0x0031f5f8 207d2065 6c736520 69662028 73203d3d } else if (s == │ │ │ │ - 0x0031f608 20224173 73697374 616e7422 29207b0a "Assistant") {. │ │ │ │ - 0x0031f618 20202020 20202020 20202020 20202020 │ │ │ │ - 0x0031f628 69662028 41535349 5354414e 54203d3d if (ASSISTANT == │ │ │ │ - 0x0031f638 20454d50 54592920 7b0a2020 20202020 EMPTY) {. │ │ │ │ - 0x0031f648 20202020 20202020 20202020 20535741 SWA │ │ │ │ - 0x0031f658 50284153 53495354 414e542c 2052454c P(ASSISTANT, REL │ │ │ │ - 0x0031f668 41544544 4e414d45 535b695d 293b0a20 ATEDNAMES[i]);. │ │ │ │ - 0x0031f678 20202020 20202020 20202020 20202020 │ │ │ │ - 0x0031f688 20202f2f 2052454c 41544544 4e414d45 // RELATEDNAME │ │ │ │ - 0x0031f698 535b695d 203d2055 4e415353 49474e45 S[i] = UNASSIGNE │ │ │ │ - 0x0031f6a8 443b0a20 20202020 20202020 20202020 D;. │ │ │ │ - 0x0031f6b8 2020207d 0a202020 20202020 20202020 }. │ │ │ │ - 0x0031f6c8 20207d0a 20202020 20202020 20207d0a }. }. │ │ │ │ - 0x0031f6d8 20202020 20202020 20206920 3d206920 i = i │ │ │ │ - 0x0031f6e8 2d20313b 0a202020 20202020 7d0a0a20 - 1;. }.. │ │ │ │ - 0x0031f6f8 20202020 20202f2f 20494d50 50202d3e // IMPP -> │ │ │ │ - 0x0031f708 20582d4a 41424245 522f4149 4d2f2e2e X-JABBER/AIM/.. │ │ │ │ - 0x0031f718 2e206465 70656e64 696e6720 6f6e2073 . depending on s │ │ │ │ - 0x0031f728 65727669 63652074 7970652e 2050726f ervice type. Pro │ │ │ │ - 0x0031f738 746f636f 6c206d75 7374206d 61746368 tocol must match │ │ │ │ - 0x0031f748 2e0a2020 20202020 2069203d 2053495a .. i = SIZ │ │ │ │ - 0x0031f758 4528494d 50502920 2d20313b 0a202020 E(IMPP) - 1;. │ │ │ │ - 0x0031f768 20202020 494e5445 47455220 6f666673 INTEGER offs │ │ │ │ - 0x0031f778 65743b0a 20202020 20202053 5452494e et;. STRIN │ │ │ │ - 0x0031f788 47207365 72766963 653b0a20 20202020 G service;. │ │ │ │ - 0x0031f798 20205354 52494e47 2070726f 746f636f STRING protoco │ │ │ │ - 0x0031f7a8 6c3b0a20 20202020 20205354 52494e47 l;. STRING │ │ │ │ - 0x0031f7b8 2076616c 75653b0a 20202020 20202077 value;. w │ │ │ │ - 0x0031f7c8 68696c65 20286920 3e3d2030 29207b0a hile (i >= 0) {. │ │ │ │ - 0x0031f7d8 20202020 20202020 20207365 72766963 servic │ │ │ │ - 0x0031f7e8 65203d20 494d5050 5f534552 56494345 e = IMPP_SERVICE │ │ │ │ - 0x0031f7f8 5b695d3b 0a202020 20202020 20202069 [i];. i │ │ │ │ - 0x0031f808 66202873 65727669 63652021 3d20554e f (service != UN │ │ │ │ - 0x0031f818 41535349 474e4544 29207b0a 20202020 ASSIGNED) {. │ │ │ │ - 0x0031f828 20202020 20202020 206f6666 73657420 offset │ │ │ │ - 0x0031f838 3d204649 4e442849 4d50505b 695d2c20 = FIND(IMPP[i], │ │ │ │ - 0x0031f848 223a2229 3b0a2020 20202020 20202020 ":");. │ │ │ │ - 0x0031f858 20202069 6620286f 66667365 7420213d if (offset != │ │ │ │ - 0x0031f868 20554e41 53534947 4e454429 207b0a20 UNASSIGNED) {. │ │ │ │ - 0x0031f878 20202020 20202020 20202020 20202070 p │ │ │ │ - 0x0031f888 726f746f 636f6c20 3d205355 42535452 rotocol = SUBSTR │ │ │ │ - 0x0031f898 28494d50 505b695d 2c20302c 206f6666 (IMPP[i], 0, off │ │ │ │ - 0x0031f8a8 73657429 3b0a2020 20202020 20202020 set);. │ │ │ │ - 0x0031f8b8 20202020 20207661 6c756520 3d205552 value = UR │ │ │ │ - 0x0031f8c8 4c444543 4f444528 53554253 54522849 LDECODE(SUBSTR(I │ │ │ │ - 0x0031f8d8 4d50505b 695d2c20 6f666673 6574202b MPP[i], offset + │ │ │ │ - 0x0031f8e8 20312929 3b0a2020 20202020 20202020 1));. │ │ │ │ - 0x0031f8f8 20202020 20206966 20287365 72766963 if (servic │ │ │ │ - 0x0031f908 65203d3d 20224149 4d222026 26207072 e == "AIM" && pr │ │ │ │ - 0x0031f918 6f746f63 6f6c203d 3d202261 696d2229 otocol == "aim") │ │ │ │ - 0x0031f928 207b0a20 20202020 20202020 20202020 {. │ │ │ │ - 0x0031f938 20202020 20202456 43415244 5f4d4f44 $VCARD_MOD │ │ │ │ - 0x0031f948 45524e5f 544f5f4c 45474143 595f494d ERN_TO_LEGACY_IM │ │ │ │ - 0x0031f958 50502876 616c7565 2c204149 4d5f4841 PP(value, AIM_HA │ │ │ │ - 0x0031f968 4e444c45 2c204149 4d5f534c 4f542c20 NDLE, AIM_SLOT, │ │ │ │ - 0x0031f978 69293b0a 20202020 20202020 20202020 i);. │ │ │ │ - 0x0031f988 20202020 7d20656c 73652069 66202873 } else if (s │ │ │ │ - 0x0031f998 65727669 6365203d 3d202247 61647567 ervice == "Gadug │ │ │ │ - 0x0031f9a8 61647522 29207b0a 20202020 20202020 adu") {. │ │ │ │ - 0x0031f9b8 20202020 20202020 20202024 56434152 $VCAR │ │ │ │ - 0x0031f9c8 445f4d4f 4445524e 5f544f5f 4c454741 D_MODERN_TO_LEGA │ │ │ │ - 0x0031f9d8 43595f49 4d505028 76616c75 652c2047 CY_IMPP(value, G │ │ │ │ - 0x0031f9e8 41445547 4144555f 48414e44 4c452c20 ADUGADU_HANDLE, │ │ │ │ - 0x0031f9f8 47414455 47414455 5f534c4f 542c2069 GADUGADU_SLOT, i │ │ │ │ - 0x0031fa08 293b0a20 20202020 20202020 20202020 );. │ │ │ │ - 0x0031fa18 2020207d 20656c73 65206966 20287365 } else if (se │ │ │ │ - 0x0031fa28 72766963 65203d3d 20224772 6f757077 rvice == "Groupw │ │ │ │ - 0x0031fa38 69736522 29207b0a 20202020 20202020 ise") {. │ │ │ │ - 0x0031fa48 20202020 20202020 20202024 56434152 $VCAR │ │ │ │ - 0x0031fa58 445f4d4f 4445524e 5f544f5f 4c454741 D_MODERN_TO_LEGA │ │ │ │ - 0x0031fa68 43595f49 4d505028 76616c75 652c2047 CY_IMPP(value, G │ │ │ │ - 0x0031fa78 524f5550 57495345 5f48414e 444c452c ROUPWISE_HANDLE, │ │ │ │ - 0x0031fa88 2047524f 55505749 53455f53 4c4f542c GROUPWISE_SLOT, │ │ │ │ - 0x0031fa98 2069293b 0a202020 20202020 20202020 i);. │ │ │ │ - 0x0031faa8 20202020 207d2065 6c736520 69662028 } else if ( │ │ │ │ - 0x0031fab8 73657276 69636520 3d3d2022 49435122 service == "ICQ" │ │ │ │ - 0x0031fac8 20262620 70726f74 6f636f6c 203d3d20 && protocol == │ │ │ │ - 0x0031fad8 2261696d 2229207b 0a202020 20202020 "aim") {. │ │ │ │ - 0x0031fae8 20202020 20202020 20202020 24564341 $VCA │ │ │ │ - 0x0031faf8 52445f4d 4f444552 4e5f544f 5f4c4547 RD_MODERN_TO_LEG │ │ │ │ - 0x0031fb08 4143595f 494d5050 2876616c 75652c20 ACY_IMPP(value, │ │ │ │ - 0x0031fb18 4943515f 48414e44 4c452c20 4943515f ICQ_HANDLE, ICQ_ │ │ │ │ - 0x0031fb28 534c4f54 2c206929 3b0a2020 20202020 SLOT, i);. │ │ │ │ - 0x0031fb38 20202020 20202020 20207d20 656c7365 } else │ │ │ │ - 0x0031fb48 20696620 28736572 76696365 203d3d20 if (service == │ │ │ │ - 0x0031fb58 224a6162 62657222 20262620 70726f74 "Jabber" && prot │ │ │ │ - 0x0031fb68 6f636f6c 203d3d20 22786d70 70222920 ocol == "xmpp") │ │ │ │ - 0x0031fb78 7b0a2020 20202020 20202020 20202020 {. │ │ │ │ - 0x0031fb88 20202020 20245643 4152445f 4d4f4445 $VCARD_MODE │ │ │ │ - 0x0031fb98 524e5f54 4f5f4c45 47414359 5f494d50 RN_TO_LEGACY_IMP │ │ │ │ - 0x0031fba8 50287661 6c75652c 204a4142 4245525f P(value, JABBER_ │ │ │ │ - 0x0031fbb8 48414e44 4c452c20 4a414242 45525f53 HANDLE, JABBER_S │ │ │ │ - 0x0031fbc8 4c4f542c 2069293b 0a202020 20202020 LOT, i);. │ │ │ │ - 0x0031fbd8 20202020 20202020 207d2065 6c736520 } else │ │ │ │ - 0x0031fbe8 69662028 73657276 69636520 3d3d2022 if (service == " │ │ │ │ - 0x0031fbf8 4d534e22 20262620 70726f74 6f636f6c MSN" && protocol │ │ │ │ - 0x0031fc08 203d3d20 226d736e 696d2229 207b0a20 == "msnim") {. │ │ │ │ - 0x0031fc18 20202020 20202020 20202020 20202020 │ │ │ │ - 0x0031fc28 20202456 43415244 5f4d4f44 45524e5f $VCARD_MODERN_ │ │ │ │ - 0x0031fc38 544f5f4c 45474143 595f494d 50502876 TO_LEGACY_IMPP(v │ │ │ │ - 0x0031fc48 616c7565 2c204d53 4e5f4841 4e444c45 alue, MSN_HANDLE │ │ │ │ - 0x0031fc58 2c204d53 4e5f534c 4f542c20 69293b0a , MSN_SLOT, i);. │ │ │ │ - 0x0031fc68 20202020 20202020 20202020 20202020 │ │ │ │ - 0x0031fc78 7d20656c 73652069 66202873 65727669 } else if (servi │ │ │ │ - 0x0031fc88 6365203d 3d202259 61686f6f 22202626 ce == "Yahoo" && │ │ │ │ - 0x0031fc98 2070726f 746f636f 6c203d3d 2022796d protocol == "ym │ │ │ │ - 0x0031fca8 73677222 29207b0a 20202020 20202020 sgr") {. │ │ │ │ - 0x0031fcb8 20202020 20202020 20202024 56434152 $VCAR │ │ │ │ - 0x0031fcc8 445f4d4f 4445524e 5f544f5f 4c454741 D_MODERN_TO_LEGA │ │ │ │ - 0x0031fcd8 43595f49 4d505028 76616c75 652c2059 CY_IMPP(value, Y │ │ │ │ - 0x0031fce8 41484f4f 5f48414e 444c452c 20594148 AHOO_HANDLE, YAH │ │ │ │ - 0x0031fcf8 4f4f5f53 4c4f542c 2069293b 0a202020 OO_SLOT, i);. │ │ │ │ - 0x0031fd08 20202020 20202020 20202020 207d2065 } e │ │ │ │ - 0x0031fd18 6c736520 69662028 73657276 69636520 lse if (service │ │ │ │ - 0x0031fd28 3d3d2022 536b7970 65222026 26207072 == "Skype" && pr │ │ │ │ - 0x0031fd38 6f746f63 6f6c203d 3d202273 6b797065 otocol == "skype │ │ │ │ - 0x0031fd48 2229207b 0a202020 20202020 20202020 ") {. │ │ │ │ - 0x0031fd58 20202020 20202020 24564341 52445f4d $VCARD_M │ │ │ │ - 0x0031fd68 4f444552 4e5f544f 5f4c4547 4143595f ODERN_TO_LEGACY_ │ │ │ │ - 0x0031fd78 494d5050 2876616c 75652c20 534b5950 IMPP(value, SKYP │ │ │ │ - 0x0031fd88 455f4841 4e444c45 2c20534b 5950455f E_HANDLE, SKYPE_ │ │ │ │ - 0x0031fd98 534c4f54 2c206929 3b0a2020 20202020 SLOT, i);. │ │ │ │ - 0x0031fda8 20202020 20202020 20207d20 656c7365 } else │ │ │ │ - 0x0031fdb8 20696620 28736572 76696365 203d3d20 if (service == │ │ │ │ - 0x0031fdc8 22536970 2229207b 0a202020 20202020 "Sip") {. │ │ │ │ - 0x0031fdd8 20202020 20202020 20202020 24564341 $VCA │ │ │ │ - 0x0031fde8 52445f4d 4f444552 4e5f544f 5f4c4547 RD_MODERN_TO_LEG │ │ │ │ - 0x0031fdf8 4143595f 494d5050 2876616c 75652c20 ACY_IMPP(value, │ │ │ │ - 0x0031fe08 5349505f 48414e44 4c452c20 5349505f SIP_HANDLE, SIP_ │ │ │ │ - 0x0031fe18 534c4f54 2c206929 3b0a2020 20202020 SLOT, i);. │ │ │ │ - 0x0031fe28 20202020 20202020 20207d0a 20202020 }. │ │ │ │ - 0x0031fe38 20202020 20202020 207d0a20 20202020 }. │ │ │ │ - 0x0031fe48 20202020 207d0a20 20202020 20202020 }. │ │ │ │ - 0x0031fe58 2069203d 2069202d 20313b0a 20202020 i = i - 1;. │ │ │ │ - 0x0031fe68 2020207d 0a0a0a20 20202020 20202f2f }... // │ │ │ │ - 0x0031fe78 2052656d 6f766520 6c616265 6c732077 Remove labels w │ │ │ │ - 0x0031fe88 68696368 20617265 206e6f20 6c6f6e67 hich are no long │ │ │ │ - 0x0031fe98 6572206e 65656465 64202876 616c7565 er needed (value │ │ │ │ - 0x0031fea8 64206d6f 76656420 61626f76 652c0a20 d moved above,. │ │ │ │ - 0x0031feb8 20202020 20202f2f 2073746f 72656420 // stored │ │ │ │ - 0x0031fec8 666f7220 61206772 6f757020 77686963 for a group whic │ │ │ │ - 0x0031fed8 68206861 73206e6f 206f7468 65722070 h has no other p │ │ │ │ - 0x0031fee8 726f7065 72746965 73202847 6f6f676c roperties (Googl │ │ │ │ - 0x0031fef8 650a2020 20202020 202f2f20 43617264 e. // Card │ │ │ │ - 0x0031ff08 44415620 73657276 65722073 6f6d6574 DAV server somet │ │ │ │ - 0x0031ff18 696d6573 2073656e 64732074 6861742c imes sends that, │ │ │ │ - 0x0031ff28 20656469 74696e67 20696e20 45766f6c editing in Evol │ │ │ │ - 0x0031ff38 7574696f 6e0a2020 20202020 202f2f20 ution. // │ │ │ │ - 0x0031ff48 6d696768 74206361 75736520 69742c20 might cause it, │ │ │ │ - 0x0031ff58 6574632e 29206f72 2070726f 76696465 etc.) or provide │ │ │ │ - 0x0031ff68 206e6f20 696e666f 726d6174 696f6e20 no information │ │ │ │ - 0x0031ff78 28224f74 68657222 292e0a20 20202020 ("Other").. │ │ │ │ - 0x0031ff88 20206920 3d205349 5a45284c 4142454c i = SIZE(LABEL │ │ │ │ - 0x0031ff98 29202d20 313b0a20 20202020 20207768 ) - 1;. wh │ │ │ │ - 0x0031ffa8 696c6520 2869203e 3d203029 207b0a20 ile (i >= 0) {. │ │ │ │ - 0x0031ffb8 20202020 20202020 20696620 284c4142 if (LAB │ │ │ │ - 0x0031ffc8 454c5b69 5d203d3d 20224f74 68657222 EL[i] == "Other" │ │ │ │ - 0x0031ffd8 207c7c0a 20202020 20202020 20202020 ||. │ │ │ │ - 0x0031ffe8 20204c41 42454c5b 695d2021 3d20554e LABEL[i] != UN │ │ │ │ - 0x0031fff8 41535349 474e4544 2026260a 20202020 ASSIGNED &&. │ │ │ │ - 0x00320008 20202020 20202020 20202847 524f5550 (GROUP │ │ │ │ - 0x00320018 5f544147 5b695d20 3d3d2045 4d505459 _TAG[i] == EMPTY │ │ │ │ - 0x00320028 207c7c0a 20202020 20202020 20202020 ||. │ │ │ │ - 0x00320038 20202052 454c4154 45444e41 4d45535b RELATEDNAMES[ │ │ │ │ - 0x00320048 695d203d 3d20554e 41535349 474e4544 i] == UNASSIGNED │ │ │ │ - 0x00320058 2026260a 20202020 20202020 20202020 &&. │ │ │ │ - 0x00320068 20202058 44415445 5b695d20 3d3d2055 XDATE[i] == U │ │ │ │ - 0x00320078 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ - 0x00320088 20202020 20202020 20202020 54454c5b TEL[ │ │ │ │ - 0x00320098 695d203d 3d20554e 41535349 474e4544 i] == UNASSIGNED │ │ │ │ - 0x003200a8 2026260a 20202020 20202020 20202020 &&. │ │ │ │ - 0x003200b8 20202045 4d41494c 5b695d20 3d3d2055 EMAIL[i] == U │ │ │ │ - 0x003200c8 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ - 0x003200d8 20202020 20202020 20202020 5745425b WEB[ │ │ │ │ - 0x003200e8 695d203d 3d20554e 41535349 474e4544 i] == UNASSIGNED │ │ │ │ - 0x003200f8 2026260a 20202020 20202020 20202020 &&. │ │ │ │ - 0x00320108 20202058 44415445 5b695d20 3d3d2055 XDATE[i] == U │ │ │ │ - 0x00320118 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ - 0x00320128 20202020 20202020 20202020 494d5050 IMPP │ │ │ │ - 0x00320138 5b695d20 3d3d2055 4e415353 49474e45 [i] == UNASSIGNE │ │ │ │ - 0x00320148 44202626 0a202020 20202020 20202020 D &&. │ │ │ │ - 0x00320158 20202020 4144525f 504f424f 585b695d ADR_POBOX[i] │ │ │ │ - 0x00320168 203d3d20 554e4153 5349474e 45442026 == UNASSIGNED & │ │ │ │ - 0x00320178 260a2020 20202020 20202020 20202020 &. │ │ │ │ - 0x00320188 20414452 5f414444 544c5b69 5d203d3d ADR_ADDTL[i] == │ │ │ │ - 0x00320198 20554e41 53534947 4e454420 26260a20 UNASSIGNED &&. │ │ │ │ - 0x003201a8 20202020 20202020 20202020 20204144 AD │ │ │ │ - 0x003201b8 525f5354 52454554 5b695d20 3d3d2055 R_STREET[i] == U │ │ │ │ - 0x003201c8 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ - 0x003201d8 20202020 20202020 20202020 4144525f ADR_ │ │ │ │ - 0x003201e8 43495459 5b695d20 3d3d2055 4e415353 CITY[i] == UNASS │ │ │ │ - 0x003201f8 49474e45 44202626 0a202020 20202020 IGNED &&. │ │ │ │ - 0x00320208 20202020 20202020 4144525f 5245475b ADR_REG[ │ │ │ │ - 0x00320218 695d203d 3d20554e 41535349 474e4544 i] == UNASSIGNED │ │ │ │ - 0x00320228 2026260a 20202020 20202020 20202020 &&. │ │ │ │ - 0x00320238 20202041 44525f5a 49505b69 5d203d3d ADR_ZIP[i] == │ │ │ │ - 0x00320248 20554e41 53534947 4e454420 26260a20 UNASSIGNED &&. │ │ │ │ - 0x00320258 20202020 20202020 20202020 20204144 AD │ │ │ │ - 0x00320268 525f434f 554e5452 595b695d 203d3d20 R_COUNTRY[i] == │ │ │ │ - 0x00320278 554e4153 5349474e 45442026 260a2020 UNASSIGNED &&. │ │ │ │ - 0x00320288 20202020 20202020 20202020 20414452 ADR │ │ │ │ - 0x00320298 5f535452 4545545f 464c4147 535b695d _STREET_FLAGS[i] │ │ │ │ - 0x003202a8 203d3d20 554e4153 5349474e 45442929 == UNASSIGNED)) │ │ │ │ - 0x003202b8 207b0a20 20202020 20202020 20202020 {. │ │ │ │ - 0x003202c8 20204c41 42454c5b 695d203d 20554e41 LABEL[i] = UNA │ │ │ │ - 0x003202d8 53534947 4e45443b 0a202020 20202020 SSIGNED;. │ │ │ │ - 0x003202e8 2020207d 0a202020 20202020 20202069 }. i │ │ │ │ - 0x003202f8 203d2069 202d2031 3b0a2020 20202020 = i - 1;. │ │ │ │ - 0x00320308 207d0a0a 20202020 2020202f 2f205265 }.. // Re │ │ │ │ - 0x00320318 6d6f7665 20616c6c 2067726f 75702074 move all group t │ │ │ │ - 0x00320328 6167732e 204e6f74 20757365 6420666f ags. Not used fo │ │ │ │ - 0x00320338 72206c65 67616379 20666f72 6d617473 r legacy formats │ │ │ │ - 0x00320348 2e0a2020 20202020 2047524f 55505f54 .. GROUP_T │ │ │ │ - 0x00320358 4147203d 20554e41 53534947 4e45443b AG = UNASSIGNED; │ │ │ │ - 0x00320368 0a202020 205d5d3e 3c2f6d61 63726f3e . ]]> │ │ │ │ - 0x00320378 0a0a2020 20203c21 2d2d2054 6865206c .. .. . < │ │ │ │ - 0x003204e8 215b4344 4154415b 0a202020 20202020 ![CDATA[. │ │ │ │ - 0x003204f8 69662028 24312021 3d20454d 50545929 if ($1 != EMPTY) │ │ │ │ - 0x00320508 207b0a20 20202020 20202020 202f2f20 {. // │ │ │ │ - 0x00320518 53545249 4e472074 61673b0a 20202020 STRING tag;. │ │ │ │ - 0x00320528 20202020 2020494e 54454745 52206e75 INTEGER nu │ │ │ │ - 0x00320538 6d3b0a20 20202020 20202020 206e756d m;. num │ │ │ │ - 0x00320548 203d2053 495a4528 4c414245 4c293b0a = SIZE(LABEL);. │ │ │ │ - 0x00320558 20202020 20202020 20202f2f 20244e45 // $NE │ │ │ │ - 0x00320568 57544147 28746167 2c204752 4f55505f WTAG(tag, GROUP_ │ │ │ │ - 0x00320578 54414729 3b0a2020 20202020 20202020 TAG);. │ │ │ │ - 0x00320588 53574150 2852454c 41544544 4e414d45 SWAP(RELATEDNAME │ │ │ │ - 0x00320598 535b6e75 6d5d2c20 2431293b 0a202020 S[num], $1);. │ │ │ │ - 0x003205a8 20202020 2020204c 4142454c 5b6e756d LABEL[num │ │ │ │ - 0x003205b8 5d203d20 24323b0a 20202020 20202020 ] = $2;. │ │ │ │ - 0x003205c8 20202f2f 2047524f 55505f54 41475b6e // GROUP_TAG[n │ │ │ │ - 0x003205d8 756d5d20 3d207461 673b0a20 20202020 um] = tag;. │ │ │ │ - 0x003205e8 20202020 202f2f20 2431203d 20554e41 // $1 = UNA │ │ │ │ - 0x003205f8 53534947 4e45443b 0a202020 20202020 SSIGNED;. │ │ │ │ - 0x00320608 7d0a2020 20205d5d 3e3c2f6d 6163726f }. ]]>.. . = 0) {. │ │ │ │ - 0x003206d8 20202020 20202020 20696620 2824335b if ($3[ │ │ │ │ - 0x003206e8 696d7070 5f696e64 65785d20 213d2045 impp_index] != E │ │ │ │ - 0x003206f8 4d505459 29207b0a 20202020 20202020 MPTY) {. │ │ │ │ - 0x00320708 20202020 20494e54 45474552 206e756d INTEGER num │ │ │ │ - 0x00320718 3b0a2020 20202020 20202020 2020206e ;. n │ │ │ │ - 0x00320728 756d203d 2053495a 45284c41 42454c29 um = SIZE(LABEL) │ │ │ │ - 0x00320738 3b0a2020 20202020 20202020 20202049 ;. I │ │ │ │ - 0x00320748 4d50505b 6e756d5d 203d2024 32202b20 MPP[num] = $2 + │ │ │ │ - 0x00320758 223a2220 2b205552 4c454e43 4f444528 ":" + URLENCODE( │ │ │ │ - 0x00320768 24335b69 6d70705f 696e6465 785d293b $3[impp_index]); │ │ │ │ - 0x00320778 0a202020 20202020 20202020 20202433 . $3 │ │ │ │ - 0x00320788 5b696d70 705f696e 6465785d 203d2055 [impp_index] = U │ │ │ │ - 0x00320798 4e415353 49474e45 443b0a20 20202020 NASSIGNED;. │ │ │ │ - 0x003207a8 20202020 20202020 53574150 2824345b SWAP($4[ │ │ │ │ - 0x003207b8 696d7070 5f696e64 65785d2c 20494d50 impp_index], IMP │ │ │ │ - 0x003207c8 505f534c 4f545b6e 756d5d29 3b0a2020 P_SLOT[num]);. │ │ │ │ - 0x003207d8 20202020 20202020 20202049 4d50505f IMPP_ │ │ │ │ - 0x003207e8 53455256 4943455b 6e756d5d 203d2024 SERVICE[num] = $ │ │ │ │ - 0x003207f8 313b0a20 20202020 20202020 20202020 1;. │ │ │ │ - 0x00320808 4c414245 4c5b6e75 6d5d203d 20224f74 LABEL[num] = "Ot │ │ │ │ - 0x00320818 68657222 3b0a2020 20202020 20202020 her";. │ │ │ │ - 0x00320828 7d0a2020 20202020 20202020 696d7070 }. impp │ │ │ │ - 0x00320838 5f696e64 6578203d 20696d70 705f696e _index = impp_in │ │ │ │ - 0x00320848 64657820 2d20313b 0a202020 20202020 dex - 1;. │ │ │ │ - 0x00320858 7d0a2020 20205d5d 3e3c2f6d 6163726f }. ]]>.. . = │ │ │ │ - 0x00321088 20302920 7b0a2020 20202020 20202020 0) {. │ │ │ │ - 0x00321098 69662028 4c414245 4c5b695d 20213d20 if (LABEL[i] != │ │ │ │ - 0x003210a8 454d5054 5929207b 0a202020 20202020 EMPTY) {. │ │ │ │ - 0x003210b8 20202020 20204752 4f55505f 5441475b GROUP_TAG[ │ │ │ │ - 0x003210c8 695d203d 20226974 656d2220 2b207461 i] = "item" + ta │ │ │ │ - 0x003210d8 676e756d 3b0a2020 20202020 20202020 gnum;. │ │ │ │ - 0x003210e8 20202074 61676e75 6d203d20 7461676e tagnum = tagn │ │ │ │ - 0x003210f8 756d202b 20313b0a 20202020 20202020 um + 1;. │ │ │ │ - 0x00321108 20207d0a 20202020 20202020 20206920 }. i │ │ │ │ - 0x00321118 3d206920 2d20313b 0a202020 20202020 = i - 1;. │ │ │ │ - 0x00321128 7d0a2020 20205d5d 3e3c2f6d 6163726f }. ]]>.. .. │ │ │ │ - 0x003211c8 20202020 3c6d6163 726f206e 616d653d │ │ │ │ - 0x003211f8 3c215b43 44415441 5b0a2020 20202020 < │ │ │ │ - 0x00321248 2f6d6163 726f3e20 2020203c 212d2d20 /macro> .. │ │ │ │ - 0x003212b8 3c6d6163 726f206e 616d653d 22564341 0) {. │ │ │ │ - 0x00321708 20202020 2020202f 2f204454 53544152 // DTSTAR │ │ │ │ - 0x00321718 5420616e 64204454 454e4420 72657072 T and DTEND repr │ │ │ │ - 0x00321728 6573656e 7420616c 6c646179 20657665 esent allday eve │ │ │ │ - 0x00321738 6e742c20 6d616b65 20746865 6d206461 nt, make them da │ │ │ │ - 0x00321748 74652d6f 6e6c7920 76616c75 65730a20 te-only values. │ │ │ │ - 0x00321758 20202020 20202020 202f2f20 2d20636f // - co │ │ │ │ - 0x00321768 6e766572 74207374 61727420 746f2075 nvert start to u │ │ │ │ - 0x00321778 73657220 7a6f6e65 20286f72 20666c6f ser zone (or flo │ │ │ │ - 0x00321788 6174696e 67292073 6f206974 20726570 ating) so it rep │ │ │ │ - 0x00321798 72657365 6e747320 6d69646e 69676874 resents midnight │ │ │ │ - 0x003217a8 0a202020 20202020 20202044 54535441 . DTSTA │ │ │ │ - 0x003217b8 5254203d 20434f4e 56455254 544f5553 RT = CONVERTTOUS │ │ │ │ - 0x003217c8 45525a4f 4e452844 54535441 5254293b ERZONE(DTSTART); │ │ │ │ - 0x003217d8 0a202020 20202020 2020204d 414b4541 . MAKEA │ │ │ │ - 0x003217e8 4c4c4441 59284454 53544152 542c4454 LLDAY(DTSTART,DT │ │ │ │ - 0x003217f8 454e442c 69293b0a 20202020 20202020 END,i);. │ │ │ │ - 0x00321808 20206966 20285252 5f454e44 20213d20 if (RR_END != │ │ │ │ - 0x00321818 454d5054 5929207b 0a202020 20202020 EMPTY) {. │ │ │ │ - 0x00321828 20202020 20205252 5f454e44 203d2044 RR_END = D │ │ │ │ - 0x00321838 4154454f 4e4c5928 434f4e56 45525454 ATEONLY(CONVERTT │ │ │ │ - 0x00321848 4f555345 525a4f4e 45285252 5f454e44 OUSERZONE(RR_END │ │ │ │ - 0x00321858 29293b0a 20202020 20202020 20207d0a ));. }. │ │ │ │ - 0x00321868 20202020 20202020 7d0a2020 20202020 }. │ │ │ │ - 0x00321878 2020656c 7365207b 0a202020 20202020 else {. │ │ │ │ - 0x00321888 2020202f 2f206943 616c656e 64617220 // iCalendar │ │ │ │ - 0x00321898 322e3020 2d206f6e 6c792069 66204454 2.0 - only if DT │ │ │ │ - 0x003218a8 53544152 54206973 20612064 6174652d START is a date- │ │ │ │ - 0x003218b8 6f6e6c79 2076616c 75652074 68697320 only value this │ │ │ │ - 0x003218c8 7265616c 6c792069 7320616e 20616c6c really is an all │ │ │ │ - 0x003218d8 6461790a 20202020 20202020 20206966 day. if │ │ │ │ - 0x003218e8 20284953 44415445 4f4e4c59 28445453 (ISDATEONLY(DTS │ │ │ │ - 0x003218f8 54415254 2929207b 0a202020 20202020 TART)) {. │ │ │ │ - 0x00321908 20202020 202f2f20 72657368 61706520 // reshape │ │ │ │ - 0x00321918 746f206d 616b6520 73757265 20776520 to make sure we │ │ │ │ - 0x00321928 646f6e27 74206861 76652069 6e76616c don't have inval │ │ │ │ - 0x00321938 6964207a 65726f2d 64757261 74696f6e id zero-duration │ │ │ │ - 0x00321948 20616c6c 64617973 20286f6c 64204f43 alldays (old OC │ │ │ │ - 0x00321958 53203920 73657276 65727329 0a202020 S 9 servers). │ │ │ │ - 0x00321968 20202020 20202020 204d414b 45414c4c MAKEALL │ │ │ │ - 0x00321978 44415928 44545354 4152542c 4454454e DAY(DTSTART,DTEN │ │ │ │ - 0x00321988 442c6929 3b0a2020 20202020 20202020 D,i);. │ │ │ │ - 0x00321998 7d0a2020 20202020 20207d0a 0a202020 }. }.. │ │ │ │ - 0x003219a8 20202020 202f2f20 4d616b65 20737572 // Make sur │ │ │ │ - 0x003219b8 65207468 61742061 6c6c2045 58444154 e that all EXDAT │ │ │ │ - 0x003219c8 45207469 6d657320 61726520 696e2074 E times are in t │ │ │ │ - 0x003219d8 68652073 616d6520 74696d65 7a6f6e65 he same timezone │ │ │ │ - 0x003219e8 20617320 74686520 73746172 740a2020 as the start. │ │ │ │ - 0x003219f8 20202020 20202f2f 2074696d 652e2053 // time. S │ │ │ │ - 0x00321a08 6f6d6520 73657276 65727320 73656e64 ome servers send │ │ │ │ - 0x00321a18 20746865 6d206173 20555443 2c207768 them as UTC, wh │ │ │ │ - 0x00321a28 69636820 69732061 6c6c2066 696e6520 ich is all fine │ │ │ │ - 0x00321a38 616e6420 77656c6c 2c206275 740a2020 and well, but. │ │ │ │ - 0x00321a48 20202020 20202f2f 206f6e6c 79206966 // only if │ │ │ │ - 0x00321a58 20746865 2074696d 657a6f6e 65206465 the timezone de │ │ │ │ - 0x00321a68 66696e69 74696f6e 20646f65 736e2774 finition doesn't │ │ │ │ - 0x00321a78 20636861 6e67652e 20416c73 6f2c206c change. Also, l │ │ │ │ - 0x00321a88 69626963 616c2064 6f657320 6e6f740a ibical does not. │ │ │ │ - 0x00321a98 20202020 20202020 2f2f2068 616e646c // handl │ │ │ │ - 0x00321aa8 65207375 63682055 54432045 58444154 e such UTC EXDAT │ │ │ │ - 0x00321ab8 45732c20 736f206c 65742773 20636f6e Es, so let's con │ │ │ │ - 0x00321ac8 76657274 20697420 7768696c 65207468 vert it while th │ │ │ │ - 0x00321ad8 65205554 4320616e 640a2020 20202020 e UTC and. │ │ │ │ - 0x00321ae8 20202f2f 2074696d 65207a6f 6e652064 // time zone d │ │ │ │ - 0x00321af8 6566696e 6974696f 6e202868 6f706566 efinition (hopef │ │ │ │ - 0x00321b08 756c6c79 29206172 6520696e 2073796e ully) are in syn │ │ │ │ - 0x00321b18 632e0a20 20202020 20202069 66202854 c.. if (T │ │ │ │ - 0x00321b28 494d455a 4f4e4528 44545354 41525429 IMEZONE(DTSTART) │ │ │ │ - 0x00321b38 20213d20 22555443 22202626 20214953 != "UTC" && !IS │ │ │ │ - 0x00321b48 464c4f41 54494e47 28445453 54415254 FLOATING(DTSTART │ │ │ │ - 0x00321b58 2929207b 0a202020 20202020 20202069 )) {. i │ │ │ │ - 0x00321b68 203d2030 3b0a2020 20202020 20202020 = 0;. │ │ │ │ - 0x00321b78 74696d65 7374616d 70206578 64617465 timestamp exdate │ │ │ │ - 0x00321b88 3b0a2020 20202020 20202020 7768696c ;. whil │ │ │ │ - 0x00321b98 65202869 3c53495a 45284558 44415445 e (i0) {. │ │ │ │ - 0x003226e8 20202020 20445545 203d2043 4f4e5645 DUE = CONVE │ │ │ │ - 0x003226f8 5254544f 55534552 5a4f4e45 28445545 RTTOUSERZONE(DUE │ │ │ │ - 0x00322708 293b0a20 20202020 20202020 20445545 );. DUE │ │ │ │ - 0x00322718 203d2044 4154454f 4e4c5928 44554529 = DATEONLY(DUE) │ │ │ │ - 0x00322728 3b0a2020 20202020 20207d0a 20202020 ;. }. │ │ │ │ - 0x00322738 20202020 69662028 4954454d 44415441 if (ITEMDATA │ │ │ │ - 0x00322748 54595045 28293d3d 22764361 6c656e64 TYPE()=="vCalend │ │ │ │ - 0x00322758 61723130 2229207b 0a202020 20202020 ar10") {. │ │ │ │ - 0x00322768 20202024 5643414c 454e4441 525f3130 $VCALENDAR_10 │ │ │ │ - 0x00322778 544f3230 5f505249 4f524954 595f434f TO20_PRIORITY_CO │ │ │ │ - 0x00322788 4e564552 53494f4e 3b0a2020 20202020 NVERSION;. │ │ │ │ - 0x00322798 20207d0a 20202020 20207d0a 20202020 }. }. │ │ │ │ - 0x003227a8 20202f2f 20612077 6f726b61 726f756e // a workaroun │ │ │ │ - 0x003227b8 6420666f 72206675 6e616d62 6f6c3a20 d for funambol: │ │ │ │ - 0x003227c8 61646469 6e672027 61637469 6f6e2720 adding 'action' │ │ │ │ - 0x003227d8 666f7220 27616c61 726d270a 20202020 for 'alarm'. │ │ │ │ - 0x003227e8 20202f2f 20696620 6974656d 20646174 // if item dat │ │ │ │ - 0x003227f8 61207479 70652069 73207643 616c656e a type is vCalen │ │ │ │ - 0x00322808 64617231 2e302c20 616c736f 20616464 dar1.0, also add │ │ │ │ - 0x00322818 20276163 74696f6e 2720666f 72202761 'action' for 'a │ │ │ │ - 0x00322828 6c61726d 272e0a20 20202020 202f2f20 larm'.. // │ │ │ │ - 0x00322838 54686973 20697320 6120776f 726b6172 This is a workar │ │ │ │ - 0x00322848 6f756e64 20666f72 204d6f62 6963616c ound for Mobical │ │ │ │ - 0x00322858 2e6e6574 2c207768 69636820 75736573 .net, which uses │ │ │ │ - 0x00322868 20764361 6c656e64 6172312e 302e0a20 vCalendar1.0.. │ │ │ │ - 0x00322878 20202020 20696620 28414c41 524d5f54 if (ALARM_T │ │ │ │ - 0x00322888 494d4521 3d454d50 54592026 2620414c IME!=EMPTY && AL │ │ │ │ - 0x00322898 41524d5f 41435449 4f4e3d3d 454d5054 ARM_ACTION==EMPT │ │ │ │ - 0x003228a8 5929207b 0a202020 20202020 20202041 Y) {. A │ │ │ │ - 0x003228b8 4c41524d 5f414354 494f4e20 3d202244 LARM_ACTION = "D │ │ │ │ - 0x003228c8 4953504c 4159223b 0a202020 2020207d ISPLAY";. } │ │ │ │ - 0x003228d8 0a202020 205d5d3e 3c2f6d61 63726f3e . ]]> │ │ │ │ - 0x003228e8 0a0a0a20 2020203c 6d616372 6f206e61 ... < │ │ │ │ - 0x00322918 215b4344 4154415b 0a202020 2020202f ![CDATA[. / │ │ │ │ - 0x00322928 2f207365 74205554 43207469 6d65206f / set UTC time o │ │ │ │ - 0x00322938 66206765 6e657261 74696f6e 20666f72 f generation for │ │ │ │ - 0x00322948 20694361 6c656e64 61722032 2e302044 iCalendar 2.0 D │ │ │ │ - 0x00322958 54535441 4d500a20 20202020 20444745 TSTAMP. DGE │ │ │ │ - 0x00322968 4e455241 54454420 3d204e4f 5728293b NERATED = NOW(); │ │ │ │ - 0x00322978 0a202020 2020202f 2f206d61 6b652073 . // make s │ │ │ │ - 0x00322988 75726520 77652068 61766520 616c6c20 ure we have all │ │ │ │ - 0x00322998 74726169 6c696e67 20616e64 206c6561 trailing and lea │ │ │ │ - 0x003229a8 64696e67 20737061 63657320 656c696d ding spaces elim │ │ │ │ - 0x003229b8 696e6174 65640a20 20202020 20444553 inated. DES │ │ │ │ - 0x003229c8 43524950 54494f4e 3d4e4f52 4d414c49 CRIPTION=NORMALI │ │ │ │ - 0x003229d8 5a454428 44455343 52495054 494f4e29 ZED(DESCRIPTION) │ │ │ │ - 0x003229e8 3b0a2020 20202020 53554d4d 4152593d ;. SUMMARY= │ │ │ │ - 0x003229f8 4e4f524d 414c495a 45442853 554d4d41 NORMALIZED(SUMMA │ │ │ │ - 0x00322a08 5259293b 0a202020 20202069 66202849 RY);. if (I │ │ │ │ - 0x00322a18 53455645 4e542920 7b0a2020 20202020 SEVENT) {. │ │ │ │ - 0x00322a28 20202f2f 20564556 454e540a 20202020 // VEVENT. │ │ │ │ - 0x00322a38 20202020 2f2f202d 20636f6d 62696e65 // - combine │ │ │ │ - 0x00322a48 20617474 656e6465 6520656d 61696c20 attendee email │ │ │ │ - 0x00322a58 61646472 65737320 616e6420 636f6d6d address and comm │ │ │ │ - 0x00322a68 6f6e206e 616d6520 696e746f 2073696e on name into sin │ │ │ │ - 0x00322a78 676c6520 73747269 6e672066 6f722076 gle string for v │ │ │ │ - 0x00322a88 43616c65 6e646172 20312e30 0a202020 Calendar 1.0. │ │ │ │ - 0x00322a98 20202020 20696620 28495445 4d444154 if (ITEMDAT │ │ │ │ - 0x00322aa8 41545950 4528293d 3d227643 616c656e ATYPE()=="vCalen │ │ │ │ - 0x00322ab8 64617231 30222920 7b0a2020 20202020 dar10") {. │ │ │ │ - 0x00322ac8 20202020 693d303b 0a202020 20202020 i=0;. │ │ │ │ - 0x00322ad8 20202077 68696c65 28693c53 495a4528 while(i │ │ │ │ - 0x003233b8 3c2f6d61 63726f3e 0a0a2020 20203c6d .. .. . │ │ │ │ - 0x00323958 0a0a2020 20203c21 2d2d2069 6e766f6b .. . < │ │ │ │ - 0x003239d8 215b4344 4154415b 0a202020 20495345 ![CDATA[. ISE │ │ │ │ - 0x003239e8 56454e54 203d2032 3b0a0a20 2020202f VENT = 2;.. / │ │ │ │ - 0x003239f8 2f20436f 70792073 756d6d61 72792069 / Copy summary i │ │ │ │ - 0x00323a08 6e746f20 64657363 72697074 696f6e2e nto description. │ │ │ │ - 0x00323a18 20497420 6973206e 6f742031 30302520 It is not 100% │ │ │ │ - 0x00323a28 63657274 61696e20 77686574 68657220 certain whether │ │ │ │ - 0x00323a38 74686174 2069730a 20202020 2f2f206e that is. // n │ │ │ │ - 0x00323a48 65636573 73617279 20287468 65207375 ecessary (the su │ │ │ │ - 0x00323a58 6d6d6172 79206d69 67687420 62652063 mmary might be c │ │ │ │ - 0x00323a68 6f6d706c 6574656c 7920756e 72656c61 ompletely unrela │ │ │ │ - 0x00323a78 74656420 746f2074 68652064 65736372 ted to the descr │ │ │ │ - 0x00323a88 69707469 6f6e2074 65787429 2c0a2020 iption text),. │ │ │ │ - 0x00323a98 20202f2f 20627574 20746869 73207761 // but this wa │ │ │ │ - 0x00323aa8 79206974 20697320 636f6e73 69737465 y it is consiste │ │ │ │ - 0x00323ab8 6e742077 69746820 74686520 77617920 nt with the way │ │ │ │ - 0x00323ac8 686f7720 74686520 45445320 6261636b how the EDS back │ │ │ │ - 0x00323ad8 656e6420 75736564 20746f20 68616e64 end used to hand │ │ │ │ - 0x00323ae8 6c650a20 2020202f 2f206974 20616e64 le. // it and │ │ │ │ - 0x00323af8 2073796d 6d657472 69632077 69746820 symmetric with │ │ │ │ - 0x00323b08 4d454d4f 5f4f5554 474f494e 475f5343 MEMO_OUTGOING_SC │ │ │ │ - 0x00323b18 52495054 2e0a2020 20206966 20285355 RIPT.. if (SU │ │ │ │ - 0x00323b28 4d4d4152 5920213d 20454d50 54592026 MMARY != EMPTY & │ │ │ │ - 0x00323b38 26204445 53435249 5054494f 4e20213d & DESCRIPTION != │ │ │ │ - 0x00323b48 20454d50 54592920 7b0a2020 20202020 EMPTY) {. │ │ │ │ - 0x00323b58 20204445 53435249 5054494f 4e203d20 DESCRIPTION = │ │ │ │ - 0x00323b68 53554d4d 41525920 2b20225c 6e22202b SUMMARY + "\n" + │ │ │ │ - 0x00323b78 20444553 43524950 54494f4e 3b0a2020 DESCRIPTION;. │ │ │ │ - 0x00323b88 20207d0a 20202020 5d5d3e3c 2f6d6163 }. ]]>.. . │ │ │ │ - 0x00323c18 3c215b43 44415441 5b0a2020 20202f2f = lensummar │ │ │ │ - 0x00323d38 79202626 0a202020 20202020 20535542 y &&. SUB │ │ │ │ - 0x00323d48 53545228 44455343 52495054 494f4e2c STR(DESCRIPTION, │ │ │ │ - 0x00323d58 20302c20 6c656e73 756d6d61 72792920 0, lensummary) │ │ │ │ - 0x00323d68 3d3d2053 554d4d41 52592026 260a2020 == SUMMARY &&. │ │ │ │ - 0x00323d78 20202020 2020286c 656e7375 6d6d6172 (lensummar │ │ │ │ - 0x00323d88 79203d3d 206c656e 64657363 72207c7c y == lendescr || │ │ │ │ - 0x00323d98 20535542 53545228 44455343 52495054 SUBSTR(DESCRIPT │ │ │ │ - 0x00323da8 494f4e2c 206c656e 73756d6d 6172792c ION, lensummary, │ │ │ │ - 0x00323db8 20312920 3d3d2022 5c6e2229 29207b0a 1) == "\n")) {. │ │ │ │ - 0x00323dc8 20202020 20202020 44455343 52495054 DESCRIPT │ │ │ │ - 0x00323dd8 494f4e20 3d205355 42535452 28444553 ION = SUBSTR(DES │ │ │ │ - 0x00323de8 43524950 54494f4e 2c206c65 6e73756d CRIPTION, lensum │ │ │ │ - 0x00323df8 6d617279 202b2031 2c206c65 6e646573 mary + 1, lendes │ │ │ │ - 0x00323e08 6372202d 206c656e 73756d6d 61727920 cr - lensummary │ │ │ │ - 0x00323e18 2d203129 3b0a2020 20207d0a 20202020 - 1);. }. │ │ │ │ - 0x00323e28 5d5d3e3c 2f6d6163 726f3e0a 0a202020 ]]>.. │ │ │ │ - 0x00323e38 203c6d61 63726f20 6e616d65 3d224341 . │ │ │ │ + 0x0031ee38 3e0a0a0a 20202020 3c212d2d 20646566 >... .. 0) {. │ │ │ │ + 0x0031f2f8 20202020 2f2f2044 54535441 52542061 // DTSTART a │ │ │ │ + 0x0031f308 6e642044 54454e44 20726570 72657365 nd DTEND represe │ │ │ │ + 0x0031f318 6e742061 6c6c6461 79206576 656e742c nt allday event, │ │ │ │ + 0x0031f328 206d616b 65207468 656d2064 6174652d make them date- │ │ │ │ + 0x0031f338 6f6e6c79 2076616c 7565730a 20202020 only values. │ │ │ │ + 0x0031f348 20202020 20202f2f 202d2063 6f6e7665 // - conve │ │ │ │ + 0x0031f358 72742073 74617274 20746f20 75736572 rt start to user │ │ │ │ + 0x0031f368 207a6f6e 6520286f 7220666c 6f617469 zone (or floati │ │ │ │ + 0x0031f378 6e672920 736f2069 74207265 70726573 ng) so it repres │ │ │ │ + 0x0031f388 656e7473 206d6964 6e696768 740a2020 ents midnight. │ │ │ │ + 0x0031f398 20202020 20202020 44545354 41525420 DTSTART │ │ │ │ + 0x0031f3a8 3d20434f 4e564552 54544f55 5345525a = CONVERTTOUSERZ │ │ │ │ + 0x0031f3b8 4f4e4528 44545354 41525429 3b0a2020 ONE(DTSTART);. │ │ │ │ + 0x0031f3c8 20202020 20202020 4d414b45 414c4c44 MAKEALLD │ │ │ │ + 0x0031f3d8 41592844 54535441 52542c44 54454e44 AY(DTSTART,DTEND │ │ │ │ + 0x0031f3e8 2c69293b 0a202020 20202020 20202069 ,i);. i │ │ │ │ + 0x0031f3f8 66202852 525f454e 4420213d 20454d50 f (RR_END != EMP │ │ │ │ + 0x0031f408 54592920 7b0a2020 20202020 20202020 TY) {. │ │ │ │ + 0x0031f418 20202052 525f454e 44203d20 44415445 RR_END = DATE │ │ │ │ + 0x0031f428 4f4e4c59 28434f4e 56455254 544f5553 ONLY(CONVERTTOUS │ │ │ │ + 0x0031f438 45525a4f 4e452852 525f454e 4429293b ERZONE(RR_END)); │ │ │ │ + 0x0031f448 0a202020 20202020 2020207d 0a202020 . }. │ │ │ │ + 0x0031f458 20202020 207d0a20 20202020 20202065 }. e │ │ │ │ + 0x0031f468 6c736520 7b0a2020 20202020 20202020 lse {. │ │ │ │ + 0x0031f478 2f2f2069 43616c65 6e646172 20322e30 // iCalendar 2.0 │ │ │ │ + 0x0031f488 202d206f 6e6c7920 69662044 54535441 - only if DTSTA │ │ │ │ + 0x0031f498 52542069 73206120 64617465 2d6f6e6c RT is a date-onl │ │ │ │ + 0x0031f4a8 79207661 6c756520 74686973 20726561 y value this rea │ │ │ │ + 0x0031f4b8 6c6c7920 69732061 6e20616c 6c646179 lly is an allday │ │ │ │ + 0x0031f4c8 0a202020 20202020 20202069 66202849 . if (I │ │ │ │ + 0x0031f4d8 53444154 454f4e4c 59284454 53544152 SDATEONLY(DTSTAR │ │ │ │ + 0x0031f4e8 54292920 7b0a2020 20202020 20202020 T)) {. │ │ │ │ + 0x0031f4f8 20202f2f 20726573 68617065 20746f20 // reshape to │ │ │ │ + 0x0031f508 6d616b65 20737572 65207765 20646f6e make sure we don │ │ │ │ + 0x0031f518 27742068 61766520 696e7661 6c696420 't have invalid │ │ │ │ + 0x0031f528 7a65726f 2d647572 6174696f 6e20616c zero-duration al │ │ │ │ + 0x0031f538 6c646179 7320286f 6c64204f 43532039 ldays (old OCS 9 │ │ │ │ + 0x0031f548 20736572 76657273 290a2020 20202020 servers). │ │ │ │ + 0x0031f558 20202020 20204d41 4b45414c 4c444159 MAKEALLDAY │ │ │ │ + 0x0031f568 28445453 54415254 2c445445 4e442c69 (DTSTART,DTEND,i │ │ │ │ + 0x0031f578 293b0a20 20202020 20202020 207d0a20 );. }. │ │ │ │ + 0x0031f588 20202020 2020207d 0a0a2020 20202020 }.. │ │ │ │ + 0x0031f598 20202f2f 204d616b 65207375 72652074 // Make sure t │ │ │ │ + 0x0031f5a8 68617420 616c6c20 45584441 54452074 hat all EXDATE t │ │ │ │ + 0x0031f5b8 696d6573 20617265 20696e20 74686520 imes are in the │ │ │ │ + 0x0031f5c8 73616d65 2074696d 657a6f6e 65206173 same timezone as │ │ │ │ + 0x0031f5d8 20746865 20737461 72740a20 20202020 the start. │ │ │ │ + 0x0031f5e8 2020202f 2f207469 6d652e20 536f6d65 // time. Some │ │ │ │ + 0x0031f5f8 20736572 76657273 2073656e 64207468 servers send th │ │ │ │ + 0x0031f608 656d2061 73205554 432c2077 68696368 em as UTC, which │ │ │ │ + 0x0031f618 20697320 616c6c20 66696e65 20616e64 is all fine and │ │ │ │ + 0x0031f628 2077656c 6c2c2062 75740a20 20202020 well, but. │ │ │ │ + 0x0031f638 2020202f 2f206f6e 6c792069 66207468 // only if th │ │ │ │ + 0x0031f648 65207469 6d657a6f 6e652064 6566696e e timezone defin │ │ │ │ + 0x0031f658 6974696f 6e20646f 65736e27 74206368 ition doesn't ch │ │ │ │ + 0x0031f668 616e6765 2e20416c 736f2c20 6c696269 ange. Also, libi │ │ │ │ + 0x0031f678 63616c20 646f6573 206e6f74 0a202020 cal does not. │ │ │ │ + 0x0031f688 20202020 202f2f20 68616e64 6c652073 // handle s │ │ │ │ + 0x0031f698 75636820 55544320 45584441 5445732c uch UTC EXDATEs, │ │ │ │ + 0x0031f6a8 20736f20 6c657427 7320636f 6e766572 so let's conver │ │ │ │ + 0x0031f6b8 74206974 20776869 6c652074 68652055 t it while the U │ │ │ │ + 0x0031f6c8 54432061 6e640a20 20202020 2020202f TC and. / │ │ │ │ + 0x0031f6d8 2f207469 6d65207a 6f6e6520 64656669 / time zone defi │ │ │ │ + 0x0031f6e8 6e697469 6f6e2028 686f7065 66756c6c nition (hopefull │ │ │ │ + 0x0031f6f8 79292061 72652069 6e207379 6e632e0a y) are in sync.. │ │ │ │ + 0x0031f708 20202020 20202020 69662028 54494d45 if (TIME │ │ │ │ + 0x0031f718 5a4f4e45 28445453 54415254 2920213d ZONE(DTSTART) != │ │ │ │ + 0x0031f728 20225554 43222026 26202149 53464c4f "UTC" && !ISFLO │ │ │ │ + 0x0031f738 4154494e 47284454 53544152 54292920 ATING(DTSTART)) │ │ │ │ + 0x0031f748 7b0a2020 20202020 20202020 69203d20 {. i = │ │ │ │ + 0x0031f758 303b0a20 20202020 20202020 2074696d 0;. tim │ │ │ │ + 0x0031f768 65737461 6d702065 78646174 653b0a20 estamp exdate;. │ │ │ │ + 0x0031f778 20202020 20202020 20776869 6c652028 while ( │ │ │ │ + 0x0031f788 693c5349 5a452845 58444154 45532929 i0) {. │ │ │ │ + 0x003202d8 20204455 45203d20 434f4e56 45525454 DUE = CONVERTT │ │ │ │ + 0x003202e8 4f555345 525a4f4e 45284455 45293b0a OUSERZONE(DUE);. │ │ │ │ + 0x003202f8 20202020 20202020 20204455 45203d20 DUE = │ │ │ │ + 0x00320308 44415445 4f4e4c59 28445545 293b0a20 DATEONLY(DUE);. │ │ │ │ + 0x00320318 20202020 2020207d 0a202020 20202020 }. │ │ │ │ + 0x00320328 20696620 28495445 4d444154 41545950 if (ITEMDATATYP │ │ │ │ + 0x00320338 4528293d 3d227643 616c656e 64617231 E()=="vCalendar1 │ │ │ │ + 0x00320348 30222920 7b0a2020 20202020 20202020 0") {. │ │ │ │ + 0x00320358 24564341 4c454e44 41525f31 30544f32 $VCALENDAR_10TO2 │ │ │ │ + 0x00320368 305f5052 494f5249 54595f43 4f4e5645 0_PRIORITY_CONVE │ │ │ │ + 0x00320378 5253494f 4e3b0a20 20202020 2020207d RSION;. } │ │ │ │ + 0x00320388 0a202020 2020207d 0a202020 2020202f . }. / │ │ │ │ + 0x00320398 2f206120 776f726b 61726f75 6e642066 / a workaround f │ │ │ │ + 0x003203a8 6f722066 756e616d 626f6c3a 20616464 or funambol: add │ │ │ │ + 0x003203b8 696e6720 27616374 696f6e27 20666f72 ing 'action' for │ │ │ │ + 0x003203c8 2027616c 61726d27 0a202020 2020202f 'alarm'. / │ │ │ │ + 0x003203d8 2f206966 20697465 6d206461 74612074 / if item data t │ │ │ │ + 0x003203e8 79706520 69732076 43616c65 6e646172 ype is vCalendar │ │ │ │ + 0x003203f8 312e302c 20616c73 6f206164 64202761 1.0, also add 'a │ │ │ │ + 0x00320408 6374696f 6e272066 6f722027 616c6172 ction' for 'alar │ │ │ │ + 0x00320418 6d272e0a 20202020 20202f2f 20546869 m'.. // Thi │ │ │ │ + 0x00320428 73206973 20612077 6f726b61 726f756e s is a workaroun │ │ │ │ + 0x00320438 6420666f 72204d6f 62696361 6c2e6e65 d for Mobical.ne │ │ │ │ + 0x00320448 742c2077 68696368 20757365 73207643 t, which uses vC │ │ │ │ + 0x00320458 616c656e 64617231 2e302e0a 20202020 alendar1.0.. │ │ │ │ + 0x00320468 20206966 2028414c 41524d5f 54494d45 if (ALARM_TIME │ │ │ │ + 0x00320478 213d454d 50545920 26262041 4c41524d !=EMPTY && ALARM │ │ │ │ + 0x00320488 5f414354 494f4e3d 3d454d50 54592920 _ACTION==EMPTY) │ │ │ │ + 0x00320498 7b0a2020 20202020 20202020 414c4152 {. ALAR │ │ │ │ + 0x003204a8 4d5f4143 54494f4e 203d2022 44495350 M_ACTION = "DISP │ │ │ │ + 0x003204b8 4c415922 3b0a2020 20202020 7d0a2020 LAY";. }. │ │ │ │ + 0x003204c8 20205d5d 3e3c2f6d 6163726f 3e0a0a0a ]]>... │ │ │ │ + 0x003204d8 20202020 3c6d6163 726f206e 616d653d .. .. . < │ │ │ │ + 0x003213e8 215b4344 4154415b 0a202020 20494e54 ![CDATA[. INT │ │ │ │ + 0x003213f8 45474552 20524553 3b0a2020 20206966 EGER RES;. if │ │ │ │ + 0x00321408 2028434f 4d504152 49534f4e 4d4f4445 (COMPARISONMODE │ │ │ │ + 0x00321418 28292021 3d202261 67652220 26262053 () != "age" && S │ │ │ │ + 0x00321428 594e434d 4f444553 5550504f 52544544 YNCMODESUPPORTED │ │ │ │ + 0x00321438 28223131 32323538 33303030 22292920 ("1122583000")) │ │ │ │ + 0x00321448 7b0a2020 20202020 20206966 20285441 {. if (TA │ │ │ │ + 0x00321458 52474554 2e554944 203d3d20 52454645 RGET.UID == REFE │ │ │ │ + 0x00321468 52454e43 452e5549 44202626 0a202020 RENCE.UID &&. │ │ │ │ + 0x00321478 20202020 20202020 20544152 4745542e TARGET. │ │ │ │ + 0x00321488 4f524947 53544152 54203d3d 20524546 ORIGSTART == REF │ │ │ │ + 0x00321498 4552454e 43452e4f 52494753 54415254 ERENCE.ORIGSTART │ │ │ │ + 0x003214a8 29207b0a 20202020 20202020 20202020 ) {. │ │ │ │ + 0x003214b8 52455320 3d20303b 0a202020 20202020 RES = 0;. │ │ │ │ + 0x003214c8 207d2065 6c736520 7b0a2020 20202020 } else {. │ │ │ │ + 0x003214d8 20202020 20205245 53203d20 2d393939 RES = -999 │ │ │ │ + 0x003214e8 3b0a2020 20202020 20207d0a 20202020 ;. }. │ │ │ │ + 0x003214f8 7d20656c 7365207b 0a202020 20202020 } else {. │ │ │ │ + 0x00321508 20524553 203d2043 4f4d5041 52454649 RES = COMPAREFI │ │ │ │ + 0x00321518 454c4453 28293b0a 20202020 7d0a2020 ELDS();. }. │ │ │ │ + 0x00321528 20207265 7475726e 20524553 3b0a2020 return RES;. │ │ │ │ + 0x00321538 20205d5d 3e3c2f6d 6163726f 3e0a0a20 ]]>.. │ │ │ │ + 0x00321548 2020203c 212d2d20 696e766f 6b656420 . │ │ │ │ + 0x00321788 0a0a2020 20203c21 2d2d2069 6e766f6b .. . = lensummary & │ │ │ │ + 0x00321928 260a2020 20202020 20205355 42535452 &. SUBSTR │ │ │ │ + 0x00321938 28444553 43524950 54494f4e 2c20302c (DESCRIPTION, 0, │ │ │ │ + 0x00321948 206c656e 73756d6d 61727929 203d3d20 lensummary) == │ │ │ │ + 0x00321958 53554d4d 41525920 26260a20 20202020 SUMMARY &&. │ │ │ │ + 0x00321968 20202028 6c656e73 756d6d61 7279203d (lensummary = │ │ │ │ + 0x00321978 3d206c65 6e646573 6372207c 7c205355 = lendescr || SU │ │ │ │ + 0x00321988 42535452 28444553 43524950 54494f4e BSTR(DESCRIPTION │ │ │ │ + 0x00321998 2c206c65 6e73756d 6d617279 2c203129 , lensummary, 1) │ │ │ │ + 0x003219a8 203d3d20 225c6e22 2929207b 0a202020 == "\n")) {. │ │ │ │ + 0x003219b8 20202020 20444553 43524950 54494f4e DESCRIPTION │ │ │ │ + 0x003219c8 203d2053 55425354 52284445 53435249 = SUBSTR(DESCRI │ │ │ │ + 0x003219d8 5054494f 4e2c206c 656e7375 6d6d6172 PTION, lensummar │ │ │ │ + 0x003219e8 79202b20 312c206c 656e6465 73637220 y + 1, lendescr │ │ │ │ + 0x003219f8 2d206c65 6e73756d 6d617279 202d2031 - lensummary - 1 │ │ │ │ + 0x00321a08 293b0a20 2020207d 0a202020 205d5d3e );. }. ]]> │ │ │ │ + 0x00321a18 3c2f6d61 63726f3e 0a0a2020 20203c6d .. . │ │ │ │ + 0x00321b98 203c6d61 63726f20 6e616d65 3d225643 < │ │ │ │ + 0x00321c28 2f6d6163 726f3e0a 0a202020 203c6d61 /macro>.. .. │ │ │ │ + 0x00321d28 2020203c 6d616372 6f206e61 6d653d22 .. │ │ │ │ + 0x00321d98 203c212d 2d206d6f 76657320 616e2049 . .. . │ │ │ │ + 0x00321f08 20203c6d 6163726f 206e616d 653d2256 X-ANNIVERSARY │ │ │ │ + 0x00321f88 2e0a2020 20202020 2069203d 2053495a .. i = SIZ │ │ │ │ + 0x00321f98 45285844 41544529 202d2031 3b0a2020 E(XDATE) - 1;. │ │ │ │ + 0x00321fa8 20202020 20776869 6c652028 69203e3d while (i >= │ │ │ │ + 0x00321fb8 20302920 7b0a2020 20202020 20202020 0) {. │ │ │ │ + 0x00321fc8 69662028 47524f55 505f5441 475b695d if (GROUP_TAG[i] │ │ │ │ + 0x00321fd8 20213d20 454d5054 59202626 0a202020 != EMPTY &&. │ │ │ │ + 0x00321fe8 20202020 20202020 20202058 44415445 XDATE │ │ │ │ + 0x00321ff8 5b695d20 213d2055 4e415353 49474e45 [i] != UNASSIGNE │ │ │ │ + 0x00322008 44202626 0a202020 20202020 20202020 D &&. │ │ │ │ + 0x00322018 2020204c 4142454c 5b695d20 3d3d2022 LABEL[i] == " │ │ │ │ + 0x00322028 416e6e69 76657273 61727922 29207b0a Anniversary") {. │ │ │ │ + 0x00322038 20202020 20202020 20202020 20205357 SW │ │ │ │ + 0x00322048 41502841 4e4e4956 45525341 52592c20 AP(ANNIVERSARY, │ │ │ │ + 0x00322058 58444154 455b695d 293b0a0a 20202020 XDATE[i]);.. │ │ │ │ + 0x00322068 20202020 20202020 20202f2f 20584441 // XDA │ │ │ │ + 0x00322078 54455b69 5d203d20 554e4153 5349474e TE[i] = UNASSIGN │ │ │ │ + 0x00322088 45443b0a 20202020 20202020 20202020 ED;. │ │ │ │ + 0x00322098 20206272 65616b3b 0a202020 20202020 break;. │ │ │ │ + 0x003220a8 2020207d 0a202020 20202020 20202069 }. i │ │ │ │ + 0x003220b8 203d2069 202d2031 3b0a2020 20202020 = i - 1;. │ │ │ │ + 0x003220c8 207d0a0a 20202020 2020202f 2f205370 }.. // Sp │ │ │ │ + 0x003220d8 65636961 6c20582d 41425245 4c415445 ecial X-ABRELATE │ │ │ │ + 0x003220e8 444e414d 4553202d 3e20582d 53504f55 DNAMES -> X-SPOU │ │ │ │ + 0x003220f8 53452f4d 414e4147 45522f41 53534953 SE/MANAGER/ASSIS │ │ │ │ + 0x00322108 54414e54 0a202020 20202020 69203d20 TANT. i = │ │ │ │ + 0x00322118 53495a45 2852454c 41544544 4e414d45 SIZE(RELATEDNAME │ │ │ │ + 0x00322128 5329202d 20313b0a 20202020 20202077 S) - 1;. w │ │ │ │ + 0x00322138 68696c65 20286920 3e3d2030 29207b0a hile (i >= 0) {. │ │ │ │ + 0x00322148 20202020 20202020 20206966 20284752 if (GR │ │ │ │ + 0x00322158 4f55505f 5441475b 695d2021 3d20454d OUP_TAG[i] != EM │ │ │ │ + 0x00322168 50545920 26260a20 20202020 20202020 PTY &&. │ │ │ │ + 0x00322178 20202020 2052454c 41544544 4e414d45 RELATEDNAME │ │ │ │ + 0x00322188 535b695d 20213d20 554e4153 5349474e S[i] != UNASSIGN │ │ │ │ + 0x00322198 45442920 7b0a2020 20202020 20202020 ED) {. │ │ │ │ + 0x003221a8 20202073 203d204c 4142454c 5b695d3b s = LABEL[i]; │ │ │ │ + 0x003221b8 0a202020 20202020 20202020 20206966 . if │ │ │ │ + 0x003221c8 20287320 3d3d2022 53706f75 73652229 (s == "Spouse") │ │ │ │ + 0x003221d8 207b0a20 20202020 20202020 20202020 {. │ │ │ │ + 0x003221e8 20202069 66202853 504f5553 45203d3d if (SPOUSE == │ │ │ │ + 0x003221f8 20454d50 54592920 7b0a2020 20202020 EMPTY) {. │ │ │ │ + 0x00322208 20202020 20202020 20202020 20535741 SWA │ │ │ │ + 0x00322218 50285350 4f555345 2c205245 4c415445 P(SPOUSE, RELATE │ │ │ │ + 0x00322228 444e414d 45535b69 5d293b0a 20202020 DNAMES[i]);. │ │ │ │ + 0x00322238 20202020 20202020 20202020 2020202f / │ │ │ │ + 0x00322248 2f205245 4c415445 444e414d 45535b69 / RELATEDNAMES[i │ │ │ │ + 0x00322258 5d203d20 554e4153 5349474e 45443b0a ] = UNASSIGNED;. │ │ │ │ + 0x00322268 20202020 20202020 20202020 20202020 │ │ │ │ + 0x00322278 7d0a2020 20202020 20202020 2020207d }. } │ │ │ │ + 0x00322288 20656c73 65206966 20287320 3d3d2022 else if (s == " │ │ │ │ + 0x00322298 4d616e61 67657222 29207b0a 20202020 Manager") {. │ │ │ │ + 0x003222a8 20202020 20202020 20202020 69662028 if ( │ │ │ │ + 0x003222b8 4d414e41 47455220 3d3d2045 4d505459 MANAGER == EMPTY │ │ │ │ + 0x003222c8 29207b0a 20202020 20202020 20202020 ) {. │ │ │ │ + 0x003222d8 20202020 20202053 57415028 4d414e41 SWAP(MANA │ │ │ │ + 0x003222e8 4745522c 2052454c 41544544 4e414d45 GER, RELATEDNAME │ │ │ │ + 0x003222f8 535b695d 293b0a20 20202020 20202020 S[i]);. │ │ │ │ + 0x00322308 20202020 20202020 20202f2f 2052454c // REL │ │ │ │ + 0x00322318 41544544 4e414d45 535b695d 203d2055 ATEDNAMES[i] = U │ │ │ │ + 0x00322328 4e415353 49474e45 443b0a20 20202020 NASSIGNED;. │ │ │ │ + 0x00322338 20202020 20202020 2020207d 0a202020 }. │ │ │ │ + 0x00322348 20202020 20202020 20207d20 656c7365 } else │ │ │ │ + 0x00322358 20696620 2873203d 3d202241 73736973 if (s == "Assis │ │ │ │ + 0x00322368 74616e74 2229207b 0a202020 20202020 tant") {. │ │ │ │ + 0x00322378 20202020 20202020 20696620 28415353 if (ASS │ │ │ │ + 0x00322388 49535441 4e54203d 3d20454d 50545929 ISTANT == EMPTY) │ │ │ │ + 0x00322398 207b0a20 20202020 20202020 20202020 {. │ │ │ │ + 0x003223a8 20202020 20205357 41502841 53534953 SWAP(ASSIS │ │ │ │ + 0x003223b8 54414e54 2c205245 4c415445 444e414d TANT, RELATEDNAM │ │ │ │ + 0x003223c8 45535b69 5d293b0a 20202020 20202020 ES[i]);. │ │ │ │ + 0x003223d8 20202020 20202020 2020202f 2f205245 // RE │ │ │ │ + 0x003223e8 4c415445 444e414d 45535b69 5d203d20 LATEDNAMES[i] = │ │ │ │ + 0x003223f8 554e4153 5349474e 45443b0a 20202020 UNASSIGNED;. │ │ │ │ + 0x00322408 20202020 20202020 20202020 7d0a2020 }. │ │ │ │ + 0x00322418 20202020 20202020 2020207d 0a202020 }. │ │ │ │ + 0x00322428 20202020 2020207d 0a202020 20202020 }. │ │ │ │ + 0x00322438 20202069 203d2069 202d2031 3b0a2020 i = i - 1;. │ │ │ │ + 0x00322448 20202020 207d0a0a 20202020 2020202f }.. / │ │ │ │ + 0x00322458 2f20494d 5050202d 3e20582d 4a414242 / IMPP -> X-JABB │ │ │ │ + 0x00322468 45522f41 494d2f2e 2e2e2064 6570656e ER/AIM/... depen │ │ │ │ + 0x00322478 64696e67 206f6e20 73657276 69636520 ding on service │ │ │ │ + 0x00322488 74797065 2e205072 6f746f63 6f6c206d type. Protocol m │ │ │ │ + 0x00322498 75737420 6d617463 682e0a20 20202020 ust match.. │ │ │ │ + 0x003224a8 20206920 3d205349 5a452849 4d505029 i = SIZE(IMPP) │ │ │ │ + 0x003224b8 202d2031 3b0a2020 20202020 20494e54 - 1;. INT │ │ │ │ + 0x003224c8 45474552 206f6666 7365743b 0a202020 EGER offset;. │ │ │ │ + 0x003224d8 20202020 53545249 4e472073 65727669 STRING servi │ │ │ │ + 0x003224e8 63653b0a 20202020 20202053 5452494e ce;. STRIN │ │ │ │ + 0x003224f8 47207072 6f746f63 6f6c3b0a 20202020 G protocol;. │ │ │ │ + 0x00322508 20202053 5452494e 47207661 6c75653b STRING value; │ │ │ │ + 0x00322518 0a202020 20202020 7768696c 65202869 . while (i │ │ │ │ + 0x00322528 203e3d20 3029207b 0a202020 20202020 >= 0) {. │ │ │ │ + 0x00322538 20202073 65727669 6365203d 20494d50 service = IMP │ │ │ │ + 0x00322548 505f5345 52564943 455b695d 3b0a2020 P_SERVICE[i];. │ │ │ │ + 0x00322558 20202020 20202020 69662028 73657276 if (serv │ │ │ │ + 0x00322568 69636520 213d2055 4e415353 49474e45 ice != UNASSIGNE │ │ │ │ + 0x00322578 4429207b 0a202020 20202020 20202020 D) {. │ │ │ │ + 0x00322588 20206f66 66736574 203d2046 494e4428 offset = FIND( │ │ │ │ + 0x00322598 494d5050 5b695d2c 20223a22 293b0a20 IMPP[i], ":");. │ │ │ │ + 0x003225a8 20202020 20202020 20202020 69662028 if ( │ │ │ │ + 0x003225b8 6f666673 65742021 3d20554e 41535349 offset != UNASSI │ │ │ │ + 0x003225c8 474e4544 29207b0a 20202020 20202020 GNED) {. │ │ │ │ + 0x003225d8 20202020 20202020 70726f74 6f636f6c protocol │ │ │ │ + 0x003225e8 203d2053 55425354 5228494d 50505b69 = SUBSTR(IMPP[i │ │ │ │ + 0x003225f8 5d2c2030 2c206f66 66736574 293b0a20 ], 0, offset);. │ │ │ │ + 0x00322608 20202020 20202020 20202020 20202076 v │ │ │ │ + 0x00322618 616c7565 203d2055 524c4445 434f4445 alue = URLDECODE │ │ │ │ + 0x00322628 28535542 53545228 494d5050 5b695d2c (SUBSTR(IMPP[i], │ │ │ │ + 0x00322638 206f6666 73657420 2b203129 293b0a20 offset + 1));. │ │ │ │ + 0x00322648 20202020 20202020 20202020 20202069 i │ │ │ │ + 0x00322658 66202873 65727669 6365203d 3d202241 f (service == "A │ │ │ │ + 0x00322668 494d2220 26262070 726f746f 636f6c20 IM" && protocol │ │ │ │ + 0x00322678 3d3d2022 61696d22 29207b0a 20202020 == "aim") {. │ │ │ │ + 0x00322688 20202020 20202020 20202020 20202024 $ │ │ │ │ + 0x00322698 56434152 445f4d4f 4445524e 5f544f5f VCARD_MODERN_TO_ │ │ │ │ + 0x003226a8 4c454741 43595f49 4d505028 76616c75 LEGACY_IMPP(valu │ │ │ │ + 0x003226b8 652c2041 494d5f48 414e444c 452c2041 e, AIM_HANDLE, A │ │ │ │ + 0x003226c8 494d5f53 4c4f542c 2069293b 0a202020 IM_SLOT, i);. │ │ │ │ + 0x003226d8 20202020 20202020 20202020 207d2065 } e │ │ │ │ + 0x003226e8 6c736520 69662028 73657276 69636520 lse if (service │ │ │ │ + 0x003226f8 3d3d2022 47616475 67616475 2229207b == "Gadugadu") { │ │ │ │ + 0x00322708 0a202020 20202020 20202020 20202020 . │ │ │ │ + 0x00322718 20202020 24564341 52445f4d 4f444552 $VCARD_MODER │ │ │ │ + 0x00322728 4e5f544f 5f4c4547 4143595f 494d5050 N_TO_LEGACY_IMPP │ │ │ │ + 0x00322738 2876616c 75652c20 47414455 47414455 (value, GADUGADU │ │ │ │ + 0x00322748 5f48414e 444c452c 20474144 55474144 _HANDLE, GADUGAD │ │ │ │ + 0x00322758 555f534c 4f542c20 69293b0a 20202020 U_SLOT, i);. │ │ │ │ + 0x00322768 20202020 20202020 20202020 7d20656c } el │ │ │ │ + 0x00322778 73652069 66202873 65727669 6365203d se if (service = │ │ │ │ + 0x00322788 3d202247 726f7570 77697365 2229207b = "Groupwise") { │ │ │ │ + 0x00322798 0a202020 20202020 20202020 20202020 . │ │ │ │ + 0x003227a8 20202020 24564341 52445f4d 4f444552 $VCARD_MODER │ │ │ │ + 0x003227b8 4e5f544f 5f4c4547 4143595f 494d5050 N_TO_LEGACY_IMPP │ │ │ │ + 0x003227c8 2876616c 75652c20 47524f55 50574953 (value, GROUPWIS │ │ │ │ + 0x003227d8 455f4841 4e444c45 2c204752 4f555057 E_HANDLE, GROUPW │ │ │ │ + 0x003227e8 4953455f 534c4f54 2c206929 3b0a2020 ISE_SLOT, i);. │ │ │ │ + 0x003227f8 20202020 20202020 20202020 20207d20 } │ │ │ │ + 0x00322808 656c7365 20696620 28736572 76696365 else if (service │ │ │ │ + 0x00322818 203d3d20 22494351 22202626 2070726f == "ICQ" && pro │ │ │ │ + 0x00322828 746f636f 6c203d3d 20226169 6d222920 tocol == "aim") │ │ │ │ + 0x00322838 7b0a2020 20202020 20202020 20202020 {. │ │ │ │ + 0x00322848 20202020 20245643 4152445f 4d4f4445 $VCARD_MODE │ │ │ │ + 0x00322858 524e5f54 4f5f4c45 47414359 5f494d50 RN_TO_LEGACY_IMP │ │ │ │ + 0x00322868 50287661 6c75652c 20494351 5f48414e P(value, ICQ_HAN │ │ │ │ + 0x00322878 444c452c 20494351 5f534c4f 542c2069 DLE, ICQ_SLOT, i │ │ │ │ + 0x00322888 293b0a20 20202020 20202020 20202020 );. │ │ │ │ + 0x00322898 2020207d 20656c73 65206966 20287365 } else if (se │ │ │ │ + 0x003228a8 72766963 65203d3d 20224a61 62626572 rvice == "Jabber │ │ │ │ + 0x003228b8 22202626 2070726f 746f636f 6c203d3d " && protocol == │ │ │ │ + 0x003228c8 2022786d 70702229 207b0a20 20202020 "xmpp") {. │ │ │ │ + 0x003228d8 20202020 20202020 20202020 20202456 $V │ │ │ │ + 0x003228e8 43415244 5f4d4f44 45524e5f 544f5f4c CARD_MODERN_TO_L │ │ │ │ + 0x003228f8 45474143 595f494d 50502876 616c7565 EGACY_IMPP(value │ │ │ │ + 0x00322908 2c204a41 42424552 5f48414e 444c452c , JABBER_HANDLE, │ │ │ │ + 0x00322918 204a4142 4245525f 534c4f54 2c206929 JABBER_SLOT, i) │ │ │ │ + 0x00322928 3b0a2020 20202020 20202020 20202020 ;. │ │ │ │ + 0x00322938 20207d20 656c7365 20696620 28736572 } else if (ser │ │ │ │ + 0x00322948 76696365 203d3d20 224d534e 22202626 vice == "MSN" && │ │ │ │ + 0x00322958 2070726f 746f636f 6c203d3d 20226d73 protocol == "ms │ │ │ │ + 0x00322968 6e696d22 29207b0a 20202020 20202020 nim") {. │ │ │ │ + 0x00322978 20202020 20202020 20202024 56434152 $VCAR │ │ │ │ + 0x00322988 445f4d4f 4445524e 5f544f5f 4c454741 D_MODERN_TO_LEGA │ │ │ │ + 0x00322998 43595f49 4d505028 76616c75 652c204d CY_IMPP(value, M │ │ │ │ + 0x003229a8 534e5f48 414e444c 452c204d 534e5f53 SN_HANDLE, MSN_S │ │ │ │ + 0x003229b8 4c4f542c 2069293b 0a202020 20202020 LOT, i);. │ │ │ │ + 0x003229c8 20202020 20202020 207d2065 6c736520 } else │ │ │ │ + 0x003229d8 69662028 73657276 69636520 3d3d2022 if (service == " │ │ │ │ + 0x003229e8 5961686f 6f222026 26207072 6f746f63 Yahoo" && protoc │ │ │ │ + 0x003229f8 6f6c203d 3d202279 6d736772 2229207b ol == "ymsgr") { │ │ │ │ + 0x00322a08 0a202020 20202020 20202020 20202020 . │ │ │ │ + 0x00322a18 20202020 24564341 52445f4d 4f444552 $VCARD_MODER │ │ │ │ + 0x00322a28 4e5f544f 5f4c4547 4143595f 494d5050 N_TO_LEGACY_IMPP │ │ │ │ + 0x00322a38 2876616c 75652c20 5941484f 4f5f4841 (value, YAHOO_HA │ │ │ │ + 0x00322a48 4e444c45 2c205941 484f4f5f 534c4f54 NDLE, YAHOO_SLOT │ │ │ │ + 0x00322a58 2c206929 3b0a2020 20202020 20202020 , i);. │ │ │ │ + 0x00322a68 20202020 20207d20 656c7365 20696620 } else if │ │ │ │ + 0x00322a78 28736572 76696365 203d3d20 22536b79 (service == "Sky │ │ │ │ + 0x00322a88 70652220 26262070 726f746f 636f6c20 pe" && protocol │ │ │ │ + 0x00322a98 3d3d2022 736b7970 65222920 7b0a2020 == "skype") {. │ │ │ │ + 0x00322aa8 20202020 20202020 20202020 20202020 │ │ │ │ + 0x00322ab8 20245643 4152445f 4d4f4445 524e5f54 $VCARD_MODERN_T │ │ │ │ + 0x00322ac8 4f5f4c45 47414359 5f494d50 50287661 O_LEGACY_IMPP(va │ │ │ │ + 0x00322ad8 6c75652c 20534b59 50455f48 414e444c lue, SKYPE_HANDL │ │ │ │ + 0x00322ae8 452c2053 4b595045 5f534c4f 542c2069 E, SKYPE_SLOT, i │ │ │ │ + 0x00322af8 293b0a20 20202020 20202020 20202020 );. │ │ │ │ + 0x00322b08 2020207d 20656c73 65206966 20287365 } else if (se │ │ │ │ + 0x00322b18 72766963 65203d3d 20225369 70222920 rvice == "Sip") │ │ │ │ + 0x00322b28 7b0a2020 20202020 20202020 20202020 {. │ │ │ │ + 0x00322b38 20202020 20245643 4152445f 4d4f4445 $VCARD_MODE │ │ │ │ + 0x00322b48 524e5f54 4f5f4c45 47414359 5f494d50 RN_TO_LEGACY_IMP │ │ │ │ + 0x00322b58 50287661 6c75652c 20534950 5f48414e P(value, SIP_HAN │ │ │ │ + 0x00322b68 444c452c 20534950 5f534c4f 542c2069 DLE, SIP_SLOT, i │ │ │ │ + 0x00322b78 293b0a20 20202020 20202020 20202020 );. │ │ │ │ + 0x00322b88 2020207d 0a202020 20202020 20202020 }. │ │ │ │ + 0x00322b98 20207d0a 20202020 20202020 20207d0a }. }. │ │ │ │ + 0x00322ba8 20202020 20202020 20206920 3d206920 i = i │ │ │ │ + 0x00322bb8 2d20313b 0a202020 20202020 7d0a0a0a - 1;. }... │ │ │ │ + 0x00322bc8 20202020 2020202f 2f205265 6d6f7665 // Remove │ │ │ │ + 0x00322bd8 206c6162 656c7320 77686963 68206172 labels which ar │ │ │ │ + 0x00322be8 65206e6f 206c6f6e 67657220 6e656564 e no longer need │ │ │ │ + 0x00322bf8 65642028 76616c75 6564206d 6f766564 ed (valued moved │ │ │ │ + 0x00322c08 2061626f 76652c0a 20202020 2020202f above,. / │ │ │ │ + 0x00322c18 2f207374 6f726564 20666f72 20612067 / stored for a g │ │ │ │ + 0x00322c28 726f7570 20776869 63682068 6173206e roup which has n │ │ │ │ + 0x00322c38 6f206f74 68657220 70726f70 65727469 o other properti │ │ │ │ + 0x00322c48 65732028 476f6f67 6c650a20 20202020 es (Google. │ │ │ │ + 0x00322c58 20202f2f 20436172 64444156 20736572 // CardDAV ser │ │ │ │ + 0x00322c68 76657220 736f6d65 74696d65 73207365 ver sometimes se │ │ │ │ + 0x00322c78 6e647320 74686174 2c206564 6974696e nds that, editin │ │ │ │ + 0x00322c88 6720696e 2045766f 6c757469 6f6e0a20 g in Evolution. │ │ │ │ + 0x00322c98 20202020 20202f2f 206d6967 68742063 // might c │ │ │ │ + 0x00322ca8 61757365 2069742c 20657463 2e29206f ause it, etc.) o │ │ │ │ + 0x00322cb8 72207072 6f766964 65206e6f 20696e66 r provide no inf │ │ │ │ + 0x00322cc8 6f726d61 74696f6e 2028224f 74686572 ormation ("Other │ │ │ │ + 0x00322cd8 22292e0a 20202020 20202069 203d2053 ").. i = S │ │ │ │ + 0x00322ce8 495a4528 4c414245 4c29202d 20313b0a IZE(LABEL) - 1;. │ │ │ │ + 0x00322cf8 20202020 20202077 68696c65 20286920 while (i │ │ │ │ + 0x00322d08 3e3d2030 29207b0a 20202020 20202020 >= 0) {. │ │ │ │ + 0x00322d18 20206966 20284c41 42454c5b 695d203d if (LABEL[i] = │ │ │ │ + 0x00322d28 3d20224f 74686572 22207c7c 0a202020 = "Other" ||. │ │ │ │ + 0x00322d38 20202020 20202020 2020204c 4142454c LABEL │ │ │ │ + 0x00322d48 5b695d20 213d2055 4e415353 49474e45 [i] != UNASSIGNE │ │ │ │ + 0x00322d58 44202626 0a202020 20202020 20202020 D &&. │ │ │ │ + 0x00322d68 20202028 47524f55 505f5441 475b695d (GROUP_TAG[i] │ │ │ │ + 0x00322d78 203d3d20 454d5054 59207c7c 0a202020 == EMPTY ||. │ │ │ │ + 0x00322d88 20202020 20202020 20202020 52454c41 RELA │ │ │ │ + 0x00322d98 5445444e 414d4553 5b695d20 3d3d2055 TEDNAMES[i] == U │ │ │ │ + 0x00322da8 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ + 0x00322db8 20202020 20202020 20202020 58444154 XDAT │ │ │ │ + 0x00322dc8 455b695d 203d3d20 554e4153 5349474e E[i] == UNASSIGN │ │ │ │ + 0x00322dd8 45442026 260a2020 20202020 20202020 ED &&. │ │ │ │ + 0x00322de8 20202020 2054454c 5b695d20 3d3d2055 TEL[i] == U │ │ │ │ + 0x00322df8 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ + 0x00322e08 20202020 20202020 20202020 454d4149 EMAI │ │ │ │ + 0x00322e18 4c5b695d 203d3d20 554e4153 5349474e L[i] == UNASSIGN │ │ │ │ + 0x00322e28 45442026 260a2020 20202020 20202020 ED &&. │ │ │ │ + 0x00322e38 20202020 20574542 5b695d20 3d3d2055 WEB[i] == U │ │ │ │ + 0x00322e48 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ + 0x00322e58 20202020 20202020 20202020 58444154 XDAT │ │ │ │ + 0x00322e68 455b695d 203d3d20 554e4153 5349474e E[i] == UNASSIGN │ │ │ │ + 0x00322e78 45442026 260a2020 20202020 20202020 ED &&. │ │ │ │ + 0x00322e88 20202020 20494d50 505b695d 203d3d20 IMPP[i] == │ │ │ │ + 0x00322e98 554e4153 5349474e 45442026 260a2020 UNASSIGNED &&. │ │ │ │ + 0x00322ea8 20202020 20202020 20202020 20414452 ADR │ │ │ │ + 0x00322eb8 5f504f42 4f585b69 5d203d3d 20554e41 _POBOX[i] == UNA │ │ │ │ + 0x00322ec8 53534947 4e454420 26260a20 20202020 SSIGNED &&. │ │ │ │ + 0x00322ed8 20202020 20202020 20204144 525f4144 ADR_AD │ │ │ │ + 0x00322ee8 44544c5b 695d203d 3d20554e 41535349 DTL[i] == UNASSI │ │ │ │ + 0x00322ef8 474e4544 2026260a 20202020 20202020 GNED &&. │ │ │ │ + 0x00322f08 20202020 20202041 44525f53 54524545 ADR_STREE │ │ │ │ + 0x00322f18 545b695d 203d3d20 554e4153 5349474e T[i] == UNASSIGN │ │ │ │ + 0x00322f28 45442026 260a2020 20202020 20202020 ED &&. │ │ │ │ + 0x00322f38 20202020 20414452 5f434954 595b695d ADR_CITY[i] │ │ │ │ + 0x00322f48 203d3d20 554e4153 5349474e 45442026 == UNASSIGNED & │ │ │ │ + 0x00322f58 260a2020 20202020 20202020 20202020 &. │ │ │ │ + 0x00322f68 20414452 5f524547 5b695d20 3d3d2055 ADR_REG[i] == U │ │ │ │ + 0x00322f78 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ + 0x00322f88 20202020 20202020 20202020 4144525f ADR_ │ │ │ │ + 0x00322f98 5a49505b 695d203d 3d20554e 41535349 ZIP[i] == UNASSI │ │ │ │ + 0x00322fa8 474e4544 2026260a 20202020 20202020 GNED &&. │ │ │ │ + 0x00322fb8 20202020 20202041 44525f43 4f554e54 ADR_COUNT │ │ │ │ + 0x00322fc8 52595b69 5d203d3d 20554e41 53534947 RY[i] == UNASSIG │ │ │ │ + 0x00322fd8 4e454420 26260a20 20202020 20202020 NED &&. │ │ │ │ + 0x00322fe8 20202020 20204144 525f5354 52454554 ADR_STREET │ │ │ │ + 0x00322ff8 5f464c41 47535b69 5d203d3d 20554e41 _FLAGS[i] == UNA │ │ │ │ + 0x00323008 53534947 4e454429 29207b0a 20202020 SSIGNED)) {. │ │ │ │ + 0x00323018 20202020 20202020 2020204c 4142454c LABEL │ │ │ │ + 0x00323028 5b695d20 3d20554e 41535349 474e4544 [i] = UNASSIGNED │ │ │ │ + 0x00323038 3b0a2020 20202020 20202020 7d0a2020 ;. }. │ │ │ │ + 0x00323048 20202020 20202020 69203d20 69202d20 i = i - │ │ │ │ + 0x00323058 313b0a20 20202020 20207d0a 0a202020 1;. }.. │ │ │ │ + 0x00323068 20202020 2f2f2052 656d6f76 6520616c // Remove al │ │ │ │ + 0x00323078 6c206772 6f757020 74616773 2e204e6f l group tags. No │ │ │ │ + 0x00323088 74207573 65642066 6f72206c 65676163 t used for legac │ │ │ │ + 0x00323098 7920666f 726d6174 732e0a20 20202020 y formats.. │ │ │ │ + 0x003230a8 20204752 4f55505f 54414720 3d20554e GROUP_TAG = UN │ │ │ │ + 0x003230b8 41535349 474e4544 3b0a2020 20205d5d ASSIGNED;. ]] │ │ │ │ + 0x003230c8 3e3c2f6d 6163726f 3e0a0a20 2020203c >.. < │ │ │ │ + 0x003230d8 212d2d20 54686520 6c656761 63792d3e !-- The legacy-> │ │ │ │ + 0x003230e8 6d6f6465 726e2063 6f6e7665 7273696f modern conversio │ │ │ │ + 0x003230f8 6e206967 6e6f7265 7320656d 70747920 n ignores empty │ │ │ │ + 0x00323108 70726f70 65727479 2076616c 7565730a property values. │ │ │ │ + 0x00323118 20202020 62656361 75736520 77652077 because we w │ │ │ │ + 0x00323128 6f756c64 206e6f74 20656e63 6f646520 ould not encode │ │ │ │ + 0x00323138 7468656d 20617320 656d7074 790a2020 them as empty. │ │ │ │ + 0x00323148 2020494d 50502f58 2d414244 4154452f IMPP/X-ABDATE/ │ │ │ │ + 0x00323158 582d4142 52454c41 5445444e 414d4553 X-ABRELATEDNAMES │ │ │ │ + 0x00323168 2076616c 75657320 616e7977 61790a20 values anyway. │ │ │ │ + 0x00323178 20202028 3c6e6f65 6d707479 70726f70 (), leavin │ │ │ │ + 0x00323198 67207573 20776974 68206a75 73742074 g us with just t │ │ │ │ + 0x003231a8 68652072 6564756e 64616e74 206c6162 he redundant lab │ │ │ │ + 0x003231b8 656c732e 0a202020 202d2d3e 0a0a2020 els.. -->.. │ │ │ │ + 0x003231c8 20203c21 2d2d2058 2d53504f 5553452f . │ │ │ │ 0x00324008 3c666965 6c646c69 7374206e 616d653d