[7589] | 1 | <?php |
---|
| 2 | /*********************************************** |
---|
| 3 | * File : synccontact.php |
---|
| 4 | * Project : Z-Push |
---|
| 5 | * Descr : WBXML contact entities that can be parsed |
---|
| 6 | * directly (as a stream) from WBXML. |
---|
| 7 | * It is automatically decoded |
---|
| 8 | * according to $mapping, |
---|
| 9 | * and the Sync WBXML mappings. |
---|
| 10 | * |
---|
| 11 | * Created : 05.09.2011 |
---|
| 12 | * |
---|
| 13 | * Copyright 2007 - 2012 Zarafa Deutschland GmbH |
---|
| 14 | * |
---|
| 15 | * This program is free software: you can redistribute it and/or modify |
---|
| 16 | * it under the terms of the GNU Affero General Public License, version 3, |
---|
| 17 | * as published by the Free Software Foundation with the following additional |
---|
| 18 | * term according to sec. 7: |
---|
| 19 | * |
---|
| 20 | * According to sec. 7 of the GNU Affero General Public License, version 3, |
---|
| 21 | * the terms of the AGPL are supplemented with the following terms: |
---|
| 22 | * |
---|
| 23 | * "Zarafa" is a registered trademark of Zarafa B.V. |
---|
| 24 | * "Z-Push" is a registered trademark of Zarafa Deutschland GmbH |
---|
| 25 | * The licensing of the Program under the AGPL does not imply a trademark license. |
---|
| 26 | * Therefore any rights, title and interest in our trademarks remain entirely with us. |
---|
| 27 | * |
---|
| 28 | * However, if you propagate an unmodified version of the Program you are |
---|
| 29 | * allowed to use the term "Z-Push" to indicate that you distribute the Program. |
---|
| 30 | * Furthermore you may use our trademarks where it is necessary to indicate |
---|
| 31 | * the intended purpose of a product or service provided you use it in accordance |
---|
| 32 | * with honest practices in industrial or commercial matters. |
---|
| 33 | * If you want to propagate modified versions of the Program under the name "Z-Push", |
---|
| 34 | * you may only do so if you have a written permission by Zarafa Deutschland GmbH |
---|
| 35 | * (to acquire a permission please contact Zarafa at trademark@zarafa.com). |
---|
| 36 | * |
---|
| 37 | * This program is distributed in the hope that it will be useful, |
---|
| 38 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
| 39 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
| 40 | * GNU Affero General Public License for more details. |
---|
| 41 | * |
---|
| 42 | * You should have received a copy of the GNU Affero General Public License |
---|
| 43 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
---|
| 44 | * |
---|
| 45 | * Consult LICENSE file for details |
---|
| 46 | ************************************************/ |
---|
| 47 | |
---|
| 48 | class SyncContact extends SyncObject { |
---|
| 49 | public $anniversary; |
---|
| 50 | public $assistantname; |
---|
| 51 | public $assistnamephonenumber; |
---|
| 52 | public $birthday; |
---|
| 53 | public $body; |
---|
| 54 | public $bodysize; |
---|
| 55 | public $bodytruncated; |
---|
| 56 | public $business2phonenumber; |
---|
| 57 | public $businesscity; |
---|
| 58 | public $businesscountry; |
---|
| 59 | public $businesspostalcode; |
---|
| 60 | public $businessstate; |
---|
| 61 | public $businessstreet; |
---|
| 62 | public $businessfaxnumber; |
---|
| 63 | public $businessphonenumber; |
---|
| 64 | public $carphonenumber; |
---|
| 65 | public $children; |
---|
| 66 | public $companyname; |
---|
| 67 | public $department; |
---|
| 68 | public $email1address; |
---|
| 69 | public $email2address; |
---|
| 70 | public $email3address; |
---|
| 71 | public $fileas; |
---|
| 72 | public $firstname; |
---|
| 73 | public $home2phonenumber; |
---|
| 74 | public $homecity; |
---|
| 75 | public $homecountry; |
---|
| 76 | public $homepostalcode; |
---|
| 77 | public $homestate; |
---|
| 78 | public $homestreet; |
---|
| 79 | public $homefaxnumber; |
---|
| 80 | public $homephonenumber; |
---|
| 81 | public $jobtitle; |
---|
| 82 | public $lastname; |
---|
| 83 | public $middlename; |
---|
| 84 | public $mobilephonenumber; |
---|
| 85 | public $officelocation; |
---|
| 86 | public $othercity; |
---|
| 87 | public $othercountry; |
---|
| 88 | public $otherpostalcode; |
---|
| 89 | public $otherstate; |
---|
| 90 | public $otherstreet; |
---|
| 91 | public $pagernumber; |
---|
| 92 | public $radiophonenumber; |
---|
| 93 | public $spouse; |
---|
| 94 | public $suffix; |
---|
| 95 | public $title; |
---|
| 96 | public $webpage; |
---|
| 97 | public $yomicompanyname; |
---|
| 98 | public $yomifirstname; |
---|
| 99 | public $yomilastname; |
---|
| 100 | public $rtf; |
---|
| 101 | public $picture; |
---|
| 102 | public $categories; |
---|
| 103 | |
---|
| 104 | // AS 2.5 props |
---|
| 105 | public $customerid; |
---|
| 106 | public $governmentid; |
---|
| 107 | public $imaddress; |
---|
| 108 | public $imaddress2; |
---|
| 109 | public $imaddress3; |
---|
| 110 | public $managername; |
---|
| 111 | public $companymainphone; |
---|
| 112 | public $accountname; |
---|
| 113 | public $nickname; |
---|
| 114 | public $mms; |
---|
| 115 | |
---|
| 116 | function SyncContact() { |
---|
| 117 | $mapping = array ( |
---|
| 118 | SYNC_POOMCONTACTS_ANNIVERSARY => array ( self::STREAMER_VAR => "anniversary", |
---|
| 119 | self::STREAMER_TYPE => self::STREAMER_TYPE_DATE_DASHES ), |
---|
| 120 | |
---|
| 121 | SYNC_POOMCONTACTS_ASSISTANTNAME => array ( self::STREAMER_VAR => "assistantname"), |
---|
| 122 | SYNC_POOMCONTACTS_ASSISTNAMEPHONENUMBER => array ( self::STREAMER_VAR => "assistnamephonenumber"), |
---|
| 123 | SYNC_POOMCONTACTS_BIRTHDAY => array ( self::STREAMER_VAR => "birthday", |
---|
| 124 | self::STREAMER_TYPE => self::STREAMER_TYPE_DATE_DASHES ), |
---|
| 125 | |
---|
| 126 | SYNC_POOMCONTACTS_BODY => array ( self::STREAMER_VAR => "body"), |
---|
| 127 | SYNC_POOMCONTACTS_BODYSIZE => array ( self::STREAMER_VAR => "bodysize"), |
---|
| 128 | SYNC_POOMCONTACTS_BODYTRUNCATED => array ( self::STREAMER_VAR => "bodytruncated"), |
---|
| 129 | SYNC_POOMCONTACTS_BUSINESS2PHONENUMBER => array ( self::STREAMER_VAR => "business2phonenumber"), |
---|
| 130 | SYNC_POOMCONTACTS_BUSINESSCITY => array ( self::STREAMER_VAR => "businesscity"), |
---|
| 131 | SYNC_POOMCONTACTS_BUSINESSCOUNTRY => array ( self::STREAMER_VAR => "businesscountry"), |
---|
| 132 | SYNC_POOMCONTACTS_BUSINESSPOSTALCODE => array ( self::STREAMER_VAR => "businesspostalcode"), |
---|
| 133 | SYNC_POOMCONTACTS_BUSINESSSTATE => array ( self::STREAMER_VAR => "businessstate"), |
---|
| 134 | SYNC_POOMCONTACTS_BUSINESSSTREET => array ( self::STREAMER_VAR => "businessstreet"), |
---|
| 135 | SYNC_POOMCONTACTS_BUSINESSFAXNUMBER => array ( self::STREAMER_VAR => "businessfaxnumber"), |
---|
| 136 | SYNC_POOMCONTACTS_BUSINESSPHONENUMBER => array ( self::STREAMER_VAR => "businessphonenumber"), |
---|
| 137 | SYNC_POOMCONTACTS_CARPHONENUMBER => array ( self::STREAMER_VAR => "carphonenumber"), |
---|
| 138 | SYNC_POOMCONTACTS_CHILDREN => array ( self::STREAMER_VAR => "children", |
---|
| 139 | self::STREAMER_ARRAY => SYNC_POOMCONTACTS_CHILD ), |
---|
| 140 | |
---|
| 141 | SYNC_POOMCONTACTS_COMPANYNAME => array ( self::STREAMER_VAR => "companyname"), |
---|
| 142 | SYNC_POOMCONTACTS_DEPARTMENT => array ( self::STREAMER_VAR => "department"), |
---|
| 143 | SYNC_POOMCONTACTS_EMAIL1ADDRESS => array ( self::STREAMER_VAR => "email1address"), |
---|
| 144 | SYNC_POOMCONTACTS_EMAIL2ADDRESS => array ( self::STREAMER_VAR => "email2address"), |
---|
| 145 | SYNC_POOMCONTACTS_EMAIL3ADDRESS => array ( self::STREAMER_VAR => "email3address"), |
---|
| 146 | SYNC_POOMCONTACTS_FILEAS => array ( self::STREAMER_VAR => "fileas"), |
---|
| 147 | SYNC_POOMCONTACTS_FIRSTNAME => array ( self::STREAMER_VAR => "firstname"), |
---|
| 148 | SYNC_POOMCONTACTS_HOME2PHONENUMBER => array ( self::STREAMER_VAR => "home2phonenumber"), |
---|
| 149 | SYNC_POOMCONTACTS_HOMECITY => array ( self::STREAMER_VAR => "homecity"), |
---|
| 150 | SYNC_POOMCONTACTS_HOMECOUNTRY => array ( self::STREAMER_VAR => "homecountry"), |
---|
| 151 | SYNC_POOMCONTACTS_HOMEPOSTALCODE => array ( self::STREAMER_VAR => "homepostalcode"), |
---|
| 152 | SYNC_POOMCONTACTS_HOMESTATE => array ( self::STREAMER_VAR => "homestate"), |
---|
| 153 | SYNC_POOMCONTACTS_HOMESTREET => array ( self::STREAMER_VAR => "homestreet"), |
---|
| 154 | SYNC_POOMCONTACTS_HOMEFAXNUMBER => array ( self::STREAMER_VAR => "homefaxnumber"), |
---|
| 155 | SYNC_POOMCONTACTS_HOMEPHONENUMBER => array ( self::STREAMER_VAR => "homephonenumber"), |
---|
| 156 | SYNC_POOMCONTACTS_JOBTITLE => array ( self::STREAMER_VAR => "jobtitle"), |
---|
| 157 | SYNC_POOMCONTACTS_LASTNAME => array ( self::STREAMER_VAR => "lastname"), |
---|
| 158 | SYNC_POOMCONTACTS_MIDDLENAME => array ( self::STREAMER_VAR => "middlename"), |
---|
| 159 | SYNC_POOMCONTACTS_MOBILEPHONENUMBER => array ( self::STREAMER_VAR => "mobilephonenumber"), |
---|
| 160 | SYNC_POOMCONTACTS_OFFICELOCATION => array ( self::STREAMER_VAR => "officelocation"), |
---|
| 161 | SYNC_POOMCONTACTS_OTHERCITY => array ( self::STREAMER_VAR => "othercity"), |
---|
| 162 | SYNC_POOMCONTACTS_OTHERCOUNTRY => array ( self::STREAMER_VAR => "othercountry"), |
---|
| 163 | SYNC_POOMCONTACTS_OTHERPOSTALCODE => array ( self::STREAMER_VAR => "otherpostalcode"), |
---|
| 164 | SYNC_POOMCONTACTS_OTHERSTATE => array ( self::STREAMER_VAR => "otherstate"), |
---|
| 165 | SYNC_POOMCONTACTS_OTHERSTREET => array ( self::STREAMER_VAR => "otherstreet"), |
---|
| 166 | SYNC_POOMCONTACTS_PAGERNUMBER => array ( self::STREAMER_VAR => "pagernumber"), |
---|
| 167 | SYNC_POOMCONTACTS_RADIOPHONENUMBER => array ( self::STREAMER_VAR => "radiophonenumber"), |
---|
| 168 | SYNC_POOMCONTACTS_SPOUSE => array ( self::STREAMER_VAR => "spouse"), |
---|
| 169 | SYNC_POOMCONTACTS_SUFFIX => array ( self::STREAMER_VAR => "suffix"), |
---|
| 170 | SYNC_POOMCONTACTS_TITLE => array ( self::STREAMER_VAR => "title"), |
---|
| 171 | SYNC_POOMCONTACTS_WEBPAGE => array ( self::STREAMER_VAR => "webpage"), |
---|
| 172 | SYNC_POOMCONTACTS_YOMICOMPANYNAME => array ( self::STREAMER_VAR => "yomicompanyname"), |
---|
| 173 | SYNC_POOMCONTACTS_YOMIFIRSTNAME => array ( self::STREAMER_VAR => "yomifirstname"), |
---|
| 174 | SYNC_POOMCONTACTS_YOMILASTNAME => array ( self::STREAMER_VAR => "yomilastname"), |
---|
| 175 | SYNC_POOMCONTACTS_RTF => array ( self::STREAMER_VAR => "rtf"), |
---|
| 176 | SYNC_POOMCONTACTS_PICTURE => array ( self::STREAMER_VAR => "picture", |
---|
| 177 | self::STREAMER_CHECKS => array( self::STREAMER_CHECK_LENGTHMAX => 49152 )), |
---|
| 178 | |
---|
| 179 | SYNC_POOMCONTACTS_CATEGORIES => array ( self::STREAMER_VAR => "categories", |
---|
| 180 | self::STREAMER_ARRAY => SYNC_POOMCONTACTS_CATEGORY ), |
---|
| 181 | ); |
---|
| 182 | |
---|
| 183 | if (Request::GetProtocolVersion() >= 2.5) { |
---|
| 184 | $mapping[SYNC_POOMCONTACTS2_CUSTOMERID] = array ( self::STREAMER_VAR => "customerid"); |
---|
| 185 | $mapping[SYNC_POOMCONTACTS2_GOVERNMENTID] = array ( self::STREAMER_VAR => "governmentid"); |
---|
| 186 | $mapping[SYNC_POOMCONTACTS2_IMADDRESS] = array ( self::STREAMER_VAR => "imaddress"); |
---|
| 187 | $mapping[SYNC_POOMCONTACTS2_IMADDRESS2] = array ( self::STREAMER_VAR => "imaddress2"); |
---|
| 188 | $mapping[SYNC_POOMCONTACTS2_IMADDRESS3] = array ( self::STREAMER_VAR => "imaddress3"); |
---|
| 189 | $mapping[SYNC_POOMCONTACTS2_MANAGERNAME] = array ( self::STREAMER_VAR => "managername"); |
---|
| 190 | $mapping[SYNC_POOMCONTACTS2_COMPANYMAINPHONE] = array ( self::STREAMER_VAR => "companymainphone"); |
---|
| 191 | $mapping[SYNC_POOMCONTACTS2_ACCOUNTNAME] = array ( self::STREAMER_VAR => "accountname"); |
---|
| 192 | $mapping[SYNC_POOMCONTACTS2_NICKNAME] = array ( self::STREAMER_VAR => "nickname"); |
---|
| 193 | $mapping[SYNC_POOMCONTACTS2_MMS] = array ( self::STREAMER_VAR => "mms"); |
---|
| 194 | } |
---|
| 195 | |
---|
| 196 | if (Request::GetProtocolVersion() >= 12.0) { |
---|
| 197 | $mapping[SYNC_AIRSYNCBASE_BODY] = array ( self::STREAMER_VAR => "asbody", |
---|
| 198 | self::STREAMER_TYPE => "SyncBaseBody"); |
---|
| 199 | |
---|
| 200 | //unset these properties because airsyncbase body and attachments will be used instead |
---|
| 201 | unset($mapping[SYNC_POOMCONTACTS_BODY], $mapping[SYNC_POOMCONTACTS_BODYTRUNCATED]); |
---|
| 202 | } |
---|
| 203 | |
---|
| 204 | parent::SyncObject($mapping); |
---|
| 205 | } |
---|
| 206 | } |
---|
| 207 | |
---|
| 208 | ?> |
---|