"Fossies" - the Fresh Open Source Software Archive

Member "z-push/proto.php" (2 Aug 2013, 35092 Bytes) of package /linux/www/old/group-e_z-push_v3.3.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) PHP source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "proto.php" see the Fossies "Dox" file reference documentation.

    1 <?php
    2 /***********************************************
    3 * File      :   proto.php
    4 * Project   :   Z-Push
    5 * Descr     :   WBXML entities that can be parsed
    6 *               directly (as a stream) from WBXML.
    7 *               They are automatically decoded
    8 *               according to $mapping,
    9 *               and the Sync WBXML mappings.
   10 *
   11 * Created   :   01.10.2007
   12 *
   13 * � Zarafa Deutschland GmbH, www.zarafaserver.de
   14 * This file is distributed under GPL v2.
   15 * Consult LICENSE file for details
   16 ************************************************/
   17 
   18 include_once("streamer.php");
   19 
   20 class SyncFolder extends Streamer {
   21     var $serverid;
   22     var $parentid;
   23     var $displayname;
   24     var $type;
   25 
   26     function SyncFolder() {
   27         $mapping = array (
   28                                 SYNC_FOLDERHIERARCHY_SERVERENTRYID => array (STREAMER_VAR => "serverid"),
   29                                 SYNC_FOLDERHIERARCHY_PARENTID => array (STREAMER_VAR => "parentid"),
   30                                 SYNC_FOLDERHIERARCHY_DISPLAYNAME => array (STREAMER_VAR => "displayname"),
   31                                 SYNC_FOLDERHIERARCHY_TYPE => array (STREAMER_VAR => "type"),
   32             );
   33 
   34         parent::Streamer($mapping);
   35     }
   36 };
   37 
   38 class SyncAttachment extends Streamer {
   39     var $attmethod;
   40     var $attsize;
   41     var $displayname;
   42     var $attname;
   43     var $attoid;
   44     var $attremoved;
   45     var $isinline;
   46     var $contentlocation;
   47     var $contentid;
   48     var $method;
   49 
   50     function SyncAttachment() {
   51         $mapping = array(
   52                                 SYNC_POOMMAIL_ATTMETHOD => array (STREAMER_VAR => "attmethod"),
   53                                 SYNC_POOMMAIL_ATTSIZE => array (STREAMER_VAR => "attsize"),
   54                                 SYNC_POOMMAIL_DISPLAYNAME => array (STREAMER_VAR => "displayname"),
   55                                 SYNC_POOMMAIL_ATTNAME => array (STREAMER_VAR => "attname"),
   56                                 SYNC_POOMMAIL_ATTOID => array (STREAMER_VAR => "attoid"),
   57                                 SYNC_POOMMAIL_ATTREMOVED => array (STREAMER_VAR => "attremoved"),
   58                         );
   59 
   60         parent::Streamer($mapping);
   61     }
   62 };
   63 
   64 // START ADDED dw2412 Support V12.0
   65 class SyncAirSyncBaseBody extends Streamer {
   66     var $type;
   67     var $estimateddatasize;
   68     var $truncated;
   69     var $data;
   70 
   71     function SyncAirSyncBaseBody() {
   72         $mapping = array(
   73                                 SYNC_AIRSYNCBASE_TYPE => array (STREAMER_VAR => "type"),
   74                                 SYNC_AIRSYNCBASE_ESTIMATEDDATASIZE => array (STREAMER_VAR => "estimateddatasize"),
   75                                 SYNC_AIRSYNCBASE_TRUNCATED => array (STREAMER_VAR => "truncated"),
   76                                 SYNC_AIRSYNCBASE_DATA => array (STREAMER_VAR => "data"),
   77                         );
   78 
   79         parent::Streamer($mapping);
   80     }
   81 };
   82 class SyncAirSyncBaseAttachment extends Streamer {
   83     var $displayname;
   84     var $attname;
   85     var $attmethod;
   86     var $attsize;
   87     var $contentid;
   88     var $contentlocation;
   89     var $isinline;
   90     var $_data;
   91 
   92     function SyncAirSyncBaseAttachment() {
   93         global $protocolversion;
   94 
   95         $mapping = array(
   96                                 SYNC_AIRSYNCBASE_DISPLAYNAME => array (STREAMER_VAR => "displayname"),
   97                                 SYNC_AIRSYNCBASE_FILEREFERENCE => array (STREAMER_VAR => "attname"),
   98                                 SYNC_AIRSYNCBASE_METHOD => array (STREAMER_VAR => "attmethod"),
   99                                 SYNC_AIRSYNCBASE_ESTIMATEDDATASIZE => array (STREAMER_VAR => "attsize"),
  100                                 SYNC_AIRSYNCBASE_CONTENTID => array (STREAMER_VAR => "contentid"),
  101                                 SYNC_AIRSYNCBASE_CONTENTLOCATION => array (STREAMER_VAR => "contentlocation"),
  102                                 SYNC_AIRSYNCBASE_ISINLINE => array (STREAMER_VAR => "isinline"),
  103                                 SYNC_AIRSYNCBASE_DATA => array (STREAMER_VAR => "_data"),
  104                         );
  105         if ($protocolversion >= 14.0) {
  106             $mapping += array(
  107                                 SYNC_POOMMAIL2_UMATTDURATION => array (STREAMER_VAR => "umattduration"),
  108                                 SYNC_POOMMAIL2_UMATTORDER => array (STREAMER_VAR => "umattorder"),
  109                          );
  110         }
  111         parent::Streamer($mapping);
  112     }
  113 };
  114 
  115 class SyncAirSyncBaseFileAttachment extends Streamer {
  116     var $contenttype;
  117     var $_data;
  118 
  119     function SyncAirSyncBaseFileAttachment() {
  120         $mapping = array(
  121                                 SYNC_AIRSYNCBASE_CONTENTTYPE => array (STREAMER_VAR => "contenttype"),
  122                                 SYNC_ITEMOPERATIONS_DATA => array (STREAMER_VAR => "_data"),
  123                                 /*
  124                                     START Change mthaler@endo7.com
  125                                     Add total data size neede for Roadsync
  126                                 */
  127                                 SYNC_ITEMOPERATIONS_TOTAL => array (STREAMER_VAR => "total"),
  128                                 /*
  129                                     END Change mthaler@endo7.com
  130                                 */
  131         );
  132 
  133         parent::Streamer($mapping);
  134     }
  135 };
  136 
  137 class SyncPoommailFlag extends Streamer {
  138 //    var $flagstatus;
  139 //    var $flagtype;
  140 //    var $completetime;
  141 
  142     function SyncPoommailFlag() {
  143         $mapping = array(       SYNC_POOMMAIL_FLAGSTATUS => array(STREAMER_VAR => "flagstatus"),
  144                                 SYNC_POOMMAIL_FLAGTYPE => array(STREAMER_VAR => "flagtype"),
  145                                 SYNC_POOMTASKS_STARTDATE => array (STREAMER_VAR => "startdate", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES),
  146                                 SYNC_POOMTASKS_UTCSTARTDATE => array (STREAMER_VAR => "utcstartdate", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES),
  147                                 SYNC_POOMTASKS_DUEDATE => array (STREAMER_VAR => "duedate", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES),
  148                                 SYNC_POOMTASKS_UTCDUEDATE => array (STREAMER_VAR => "utcduedate", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES),
  149                                 SYNC_POOMTASKS_DATECOMPLETED => array (STREAMER_VAR => "datecompleted", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES),
  150                                 SYNC_POOMTASKS_REMINDERSET => array (STREAMER_VAR => "reminderset"),
  151                                 SYNC_POOMTASKS_REMINDERTIME => array (STREAMER_VAR => "remindertime", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES),
  152                                 SYNC_POOMTASKS_SUBJECT => array (STREAMER_VAR => "subject"),
  153                                 SYNC_POOMTASKS_ORDINALDATE => array (STREAMER_VAR => "ordinaldate", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES),
  154                                 SYNC_POOMTASKS_SUBORDINALDATE => array (STREAMER_VAR => "subordinaldate", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES),
  155                                 SYNC_POOMMAIL_COMPLETETIME => array(STREAMER_VAR => "completetime"),
  156                         );
  157 
  158         parent::Streamer($mapping);
  159     }
  160 };
  161 // END ADDED dw2412 Support V12.0
  162 
  163 class SyncMeetingRequest extends Streamer {
  164     function SyncMeetingRequest() {
  165         $mapping = array (
  166                                 SYNC_POOMMAIL_ALLDAYEVENT => array (STREAMER_VAR => "alldayevent"),
  167                                 SYNC_POOMMAIL_STARTTIME => array (STREAMER_VAR => "starttime", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES),
  168                                 SYNC_POOMMAIL_DTSTAMP => array (STREAMER_VAR => "dtstamp", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES),
  169                                 SYNC_POOMMAIL_ENDTIME => array (STREAMER_VAR => "endtime", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES),
  170                                 SYNC_POOMMAIL_INSTANCETYPE => array (STREAMER_VAR => "instancetype"),
  171                                 SYNC_POOMMAIL_LOCATION => array (STREAMER_VAR => "location"),
  172                                 SYNC_POOMMAIL_ORGANIZER => array (STREAMER_VAR => "organizer"),
  173                                 SYNC_POOMMAIL_RECURRENCEID => array (STREAMER_VAR => "recurrenceid", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES),
  174                                 SYNC_POOMMAIL_REMINDER => array (STREAMER_VAR => "reminder"),
  175                                 SYNC_POOMMAIL_RESPONSEREQUESTED => array (STREAMER_VAR => "responserequested"),
  176                                 SYNC_POOMMAIL_RECURRENCES => array (STREAMER_VAR => "recurrences", STREAMER_TYPE => "SyncMeetingRequestRecurrence", STREAMER_ARRAY => SYNC_POOMMAIL_RECURRENCE),
  177                                 SYNC_POOMMAIL_SENSITIVITY => array (STREAMER_VAR => "sensitivity"),
  178                                 SYNC_POOMMAIL_BUSYSTATUS => array (STREAMER_VAR => "busystatus"),
  179                                 SYNC_POOMMAIL_TIMEZONE => array (STREAMER_VAR => "timezone"),
  180                                 SYNC_POOMMAIL_GLOBALOBJID => array (STREAMER_VAR => "globalobjid"),
  181                               );
  182 
  183         parent::Streamer($mapping);
  184     }
  185 
  186 };
  187 
  188 class SyncMail extends Streamer {
  189     var $body;
  190     var $html;
  191     var $bodysize;
  192     var $bodytruncated;
  193     var $datereceived;
  194     var $displayto;
  195     var $importance;
  196     var $messageclass;
  197     var $subject;
  198     var $read;
  199     var $to;
  200     var $cc;
  201     var $from;
  202     var $reply_to;
  203 
  204     //START ADDED dw2412 V12.0 Support
  205     var $threadtopic;
  206     var $attachments = array();
  207     var $airsyncbaseattachments = array();
  208     // var $poommailflag = 0;
  209     var $airsyncbasenativebodytype;
  210     //END ADDED dw2412 V12.0 Support
  211 
  212     function SyncMail() {
  213         global $protocolversion;
  214 
  215         $mapping = array (
  216                                 SYNC_POOMMAIL_TO => array (STREAMER_VAR => "to"),
  217                                 SYNC_POOMMAIL_CC => array (STREAMER_VAR => "cc"),
  218                                 SYNC_POOMMAIL_FROM => array (STREAMER_VAR => "from"),
  219                                 SYNC_POOMMAIL_SUBJECT => array (STREAMER_VAR => "subject"),
  220                                 SYNC_POOMMAIL_DATERECEIVED => array (STREAMER_VAR => "datereceived", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES ),
  221                                 SYNC_POOMMAIL_DISPLAYTO =>  array (STREAMER_VAR => "displayto"),
  222                                 SYNC_POOMMAIL_THREADTOPIC => array (STREAMER_VAR => "threadtopic"),
  223                                 SYNC_POOMMAIL_IMPORTANCE => array (STREAMER_VAR => "importance"),
  224                                 SYNC_POOMMAIL_READ => array (STREAMER_VAR => "read"),
  225                                 SYNC_POOMMAIL_MIMETRUNCATED => array ( STREAMER_VAR => "mimetruncated" ),//
  226                                 SYNC_POOMMAIL_MIMEDATA => array ( STREAMER_VAR => "mimedata", STREAMER_TYPE => STREAMER_TYPE_MAPI_STREAM),//
  227                                 SYNC_POOMMAIL_MIMESIZE => array ( STREAMER_VAR => "mimesize" ),//
  228                                 SYNC_POOMMAIL_MESSAGECLASS => array (STREAMER_VAR => "messageclass"),
  229                                 SYNC_POOMMAIL_MEETINGREQUEST => array (STREAMER_VAR => "meetingrequest", STREAMER_TYPE => "SyncMeetingRequest"),
  230                                 SYNC_POOMMAIL_REPLY_TO => array (STREAMER_VAR => "reply_to"),
  231                         );
  232 // START ADDED dw2412 Support V12.0
  233         if (isset($protocolversion) && $protocolversion < 12.0) {
  234             $mapping += array(
  235                                 SYNC_POOMMAIL_ATTACHMENTS => array (STREAMER_VAR => "attachments", STREAMER_TYPE => "SyncAttachment", STREAMER_ARRAY => SYNC_POOMMAIL_ATTACHMENT ),
  236                                 SYNC_POOMMAIL_BODYTRUNCATED => array (STREAMER_VAR => "bodytruncated"),
  237                                 SYNC_POOMMAIL_BODYSIZE => array (STREAMER_VAR => "bodysize"),
  238                                 SYNC_POOMMAIL_BODY => array (STREAMER_VAR => "body"),
  239                         );
  240         }
  241         if (isset($protocolversion) && $protocolversion >= 12.0) {
  242             $mapping += array(
  243                                 SYNC_AIRSYNCBASE_BODY => array(STREAMER_VAR => "airsyncbasebody", STREAMER_TYPE => "SyncAirSyncBaseBody"),
  244                                 SYNC_AIRSYNCBASE_ATTACHMENTS => array (STREAMER_VAR => "airsyncbaseattachments", STREAMER_TYPE => "AirSyncBaseAttachment", STREAMER_ARRAY => SYNC_AIRSYNCBASE_ATTACHMENT ),
  245                                 SYNC_POOMMAIL_FLAG => array(STREAMER_VAR => "poommailflag", STREAMER_TYPE => "SyncPoommailFlag"),
  246                                 SYNC_POOMMAIL_CONTENTCLASS => array(STREAMER_VAR => "contentclass"),
  247                                 SYNC_AIRSYNCBASE_NATIVEBODYTYPE => array(STREAMER_VAR => "airsyncbasenativebodytype"),
  248                         );
  249         }
  250         if(isset($protocolversion) && $protocolversion >= 14.0) {
  251             $mapping += array(
  252                                 SYNC_POOMMAIL2_UMCALLERID => array(STREAMER_VAR => "umcallerid"),
  253                                 SYNC_POOMMAIL2_UMUSERNOTES => array(STREAMER_VAR => "umusernotes"),
  254                                 SYNC_POOMMAIL2_CONVERSATIONID => array (STREAMER_VAR => "conversationid"),
  255                                 SYNC_POOMMAIL2_CONVERSATIONINDEX => array (STREAMER_VAR => "conversationindex"),
  256                                 SYNC_POOMMAIL2_LASTVERBEXECUTED => array (STREAMER_VAR => "lastverbexecuted"),
  257                                 SYNC_POOMMAIL2_LASTVERBEXECUTIONTIME => array (STREAMER_VAR => "lastverbexecutiontime", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES),
  258                                 SYNC_POOMMAIL2_RECEIVEDASBCC => array (STREAMER_VAR => "receivedasbcc"),
  259                                 SYNC_POOMMAIL2_SENDER => array (STREAMER_VAR => "sender"),
  260                         );
  261         }
  262 // END ADDED dw2412 Support V12.0
  263 
  264         if(isset($protocolversion) && $protocolversion >= 2.5) {
  265             $mapping += array(
  266                                 SYNC_POOMMAIL_INTERNETCPID => array (STREAMER_VAR => "internetcpid"),
  267                         );
  268         }
  269 
  270 
  271         parent::Streamer($mapping);
  272     }
  273 };
  274 
  275 class SyncSMS extends Streamer {
  276     var $body;
  277     var $datereceived;
  278     var $importance;
  279     var $messageclass;
  280     var $read;
  281     var $to;
  282     var $cc;
  283     var $from;
  284 
  285     function SyncSMS() {
  286         global $protocolversion;
  287 
  288         $mapping = array (
  289                                 SYNC_POOMMAIL_TO => array (STREAMER_VAR => "to"),
  290                                 SYNC_POOMMAIL_FROM => array (STREAMER_VAR => "from"),
  291                                 SYNC_POOMMAIL_CC => array (STREAMER_VAR => "cc"),
  292                                 SYNC_POOMMAIL_DATERECEIVED => array (STREAMER_VAR => "datereceived", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES ),
  293                                 SYNC_POOMMAIL_IMPORTANCE => array (STREAMER_VAR => "importance"),
  294                                 SYNC_POOMMAIL_READ => array (STREAMER_VAR => "read"),
  295                                 SYNC_AIRSYNCBASE_BODY => array(STREAMER_VAR => "airsyncbasebody", STREAMER_TYPE => "SyncAirSyncBaseBody"),
  296                                 SYNC_POOMMAIL_INTERNETCPID => array (STREAMER_VAR => "internetcpid"),
  297                                 SYNC_POOMMAIL_FLAG => array(STREAMER_VAR => "poommailflag", STREAMER_TYPE => "SyncPoommailFlag"),
  298                                 SYNC_POOMMAIL2_CONVERSATIONID => array (STREAMER_VAR => "conversationid"),
  299                                 SYNC_POOMMAIL2_CONVERSATIONINDEX => array (STREAMER_VAR => "conversationindex"),
  300                         );
  301 
  302         parent::Streamer($mapping);
  303     }
  304 };
  305 
  306 
  307 class SyncContact extends Streamer {
  308     var $anniversary;
  309     var $assistantname;
  310     var $assistnamephonenumber;
  311     var $birthday;
  312     var $body;
  313     var $bodysize;
  314     var $bodytruncated;
  315     var $business2phonenumber;
  316     var $businesscity;
  317     var $businesscountry;
  318     var $businesspostalcode;
  319     var $businessstate;
  320     var $businessstreet;
  321     var $businessfaxnumber;
  322     var $businessphonenumber;
  323     var $carphonenumber;
  324     var $categories;
  325     var $children;
  326     var $companyname;
  327     var $department;
  328     var $email1address;
  329     var $email2address;
  330     var $email3address;
  331     var $fileas;
  332     var $firstname;
  333     var $home2phonenumber;
  334     var $homecity;
  335     var $homecountry;
  336     var $homepostalcode;
  337     var $homestate;
  338     var $homestreet;
  339     var $homefaxnumber;
  340     var $homephonenumber;
  341     var $jobtitle;
  342     var $lastname;
  343     var $middlename;
  344     var $mobilephonenumber;
  345     var $officelocation;
  346     var $othercity;
  347     var $othercountry;
  348     var $otherpostalcode;
  349     var $otherstate;
  350     var $otherstreet;
  351     var $pagernumber;
  352     var $radiophonenumber;
  353     var $spouse;
  354     var $suffix;
  355     var $title;
  356     var $webpage;
  357     var $yomicompanyname;
  358     var $yomifirstname;
  359     var $yomilastname;
  360     var $rtf;
  361     var $picture;
  362     var $nickname;
  363     var $airsyncbasebody;
  364 
  365     function SyncContact() {
  366         global $protocolversion, $devid;
  367 
  368         $mapping = array (
  369                                 SYNC_POOMCONTACTS_ANNIVERSARY => array (STREAMER_VAR => "anniversary", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES  ),
  370                                 SYNC_POOMCONTACTS_ASSISTANTNAME => array (STREAMER_VAR => "assistantname"),
  371                                 SYNC_POOMCONTACTS_ASSISTNAMEPHONENUMBER => array (STREAMER_VAR => "assistnamephonenumber"),
  372                                 SYNC_POOMCONTACTS_BIRTHDAY => array (STREAMER_VAR => "birthday", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES  ),
  373                                 SYNC_POOMCONTACTS_BUSINESS2PHONENUMBER => array (STREAMER_VAR => "business2phonenumber"),
  374                                 SYNC_POOMCONTACTS_BUSINESSCITY => array (STREAMER_VAR => "businesscity"),
  375                                 SYNC_POOMCONTACTS_BUSINESSCOUNTRY => array (STREAMER_VAR => "businesscountry"),
  376                                 SYNC_POOMCONTACTS_BUSINESSPOSTALCODE => array (STREAMER_VAR => "businesspostalcode"),
  377                                 SYNC_POOMCONTACTS_BUSINESSSTATE => array (STREAMER_VAR => "businessstate"),
  378                                 SYNC_POOMCONTACTS_BUSINESSSTREET => array (STREAMER_VAR => "businessstreet"),
  379                                 SYNC_POOMCONTACTS_BUSINESSFAXNUMBER => array (STREAMER_VAR => "businessfaxnumber"),
  380                                 SYNC_POOMCONTACTS_BUSINESSPHONENUMBER => array (STREAMER_VAR => "businessphonenumber"),
  381                                 SYNC_POOMCONTACTS_CARPHONENUMBER => array (STREAMER_VAR => "carphonenumber"),
  382                                 SYNC_POOMCONTACTS_CHILDREN => array (STREAMER_VAR => "children", STREAMER_ARRAY => SYNC_POOMCONTACTS_CHILD ),
  383                                 SYNC_POOMCONTACTS_COMPANYNAME => array (STREAMER_VAR => "companyname"),
  384                                 SYNC_POOMCONTACTS_DEPARTMENT => array (STREAMER_VAR => "department"),
  385                                 SYNC_POOMCONTACTS_EMAIL1ADDRESS => array (STREAMER_VAR => "email1address"),
  386                                 SYNC_POOMCONTACTS_EMAIL2ADDRESS => array (STREAMER_VAR => "email2address"),
  387                                 SYNC_POOMCONTACTS_EMAIL3ADDRESS => array (STREAMER_VAR => "email3address"),
  388                                 SYNC_POOMCONTACTS_FILEAS => array (STREAMER_VAR => "fileas"),
  389                                 SYNC_POOMCONTACTS_FIRSTNAME => array (STREAMER_VAR => "firstname"),
  390                                 SYNC_POOMCONTACTS_HOME2PHONENUMBER => array (STREAMER_VAR => "home2phonenumber"),
  391                                 SYNC_POOMCONTACTS_HOMECITY => array (STREAMER_VAR => "homecity"),
  392                                 SYNC_POOMCONTACTS_HOMECOUNTRY => array (STREAMER_VAR => "homecountry"),
  393                                 SYNC_POOMCONTACTS_HOMEPOSTALCODE => array (STREAMER_VAR => "homepostalcode"),
  394                                 SYNC_POOMCONTACTS_HOMESTATE => array (STREAMER_VAR => "homestate"),
  395                                 SYNC_POOMCONTACTS_HOMESTREET => array (STREAMER_VAR => "homestreet"),
  396                                 SYNC_POOMCONTACTS_HOMEFAXNUMBER => array (STREAMER_VAR => "homefaxnumber"),
  397                                 SYNC_POOMCONTACTS_HOMEPHONENUMBER => array (STREAMER_VAR => "homephonenumber"),
  398                                 SYNC_POOMCONTACTS_JOBTITLE => array (STREAMER_VAR => "jobtitle"),
  399                                 SYNC_POOMCONTACTS_LASTNAME => array (STREAMER_VAR => "lastname"),
  400                                 SYNC_POOMCONTACTS_MIDDLENAME => array (STREAMER_VAR => "middlename"),
  401                                 SYNC_POOMCONTACTS_MOBILEPHONENUMBER => array (STREAMER_VAR => "mobilephonenumber"),
  402                                 SYNC_POOMCONTACTS_OFFICELOCATION => array (STREAMER_VAR => "officelocation"),
  403                                 SYNC_POOMCONTACTS_OTHERCITY => array (STREAMER_VAR => "othercity"),
  404                                 SYNC_POOMCONTACTS_OTHERCOUNTRY => array (STREAMER_VAR => "othercountry"),
  405                                 SYNC_POOMCONTACTS_OTHERPOSTALCODE => array (STREAMER_VAR => "otherpostalcode"),
  406                                 SYNC_POOMCONTACTS_OTHERSTATE => array (STREAMER_VAR => "otherstate"),
  407                                 SYNC_POOMCONTACTS_OTHERSTREET => array (STREAMER_VAR => "otherstreet"),
  408                                 SYNC_POOMCONTACTS_PAGERNUMBER => array (STREAMER_VAR => "pagernumber"),
  409                                 SYNC_POOMCONTACTS_RADIOPHONENUMBER => array (STREAMER_VAR => "radiophonenumber"),
  410                                 SYNC_POOMCONTACTS_SPOUSE => array (STREAMER_VAR => "spouse"),
  411                                 SYNC_POOMCONTACTS_SUFFIX => array (STREAMER_VAR => "suffix"),
  412                                 SYNC_POOMCONTACTS_TITLE => array (STREAMER_VAR => "title"),
  413                                 SYNC_POOMCONTACTS_WEBPAGE => array (STREAMER_VAR => "webpage"),
  414                                 SYNC_POOMCONTACTS_YOMICOMPANYNAME => array (STREAMER_VAR => "yomicompanyname"),
  415                                 SYNC_POOMCONTACTS_YOMIFIRSTNAME => array (STREAMER_VAR => "yomifirstname"),
  416                                 SYNC_POOMCONTACTS_YOMILASTNAME => array (STREAMER_VAR => "yomilastname"),
  417                                 SYNC_POOMCONTACTS_PICTURE => array (STREAMER_VAR => "picture"),
  418                                 SYNC_POOMCONTACTS_CATEGORIES => array (STREAMER_VAR => "categories", STREAMER_ARRAY => SYNC_POOMCONTACTS_CATEGORY ),
  419                         );
  420 
  421 // START ADDED dw2412 Support V12.0
  422         if (isset($protocolversion) && $protocolversion < 12.0) {
  423             $mapping += array(
  424                                 SYNC_POOMCONTACTS_RTF => array (STREAMER_VAR => "rtf"),
  425                                 SYNC_POOMCONTACTS_BODY => array (STREAMER_VAR => "body"),
  426                                 SYNC_POOMCONTACTS_BODYSIZE => array (STREAMER_VAR => "bodysize"),
  427                                 SYNC_POOMCONTACTS_BODYTRUNCATED => array (STREAMER_VAR => "bodytruncated"),
  428                             );
  429         }
  430         if(isset($protocolversion) && $protocolversion >= 12.0) {
  431             $mapping += array(
  432                                 SYNC_AIRSYNCBASE_BODY => array(STREAMER_VAR => "airsyncbasebody", STREAMER_TYPE => "SyncAirSyncBaseBody")
  433                             );
  434         }
  435 // END ADDED dw2412 Support V12.0
  436 // START ADDED dw2412 Workaround for Palm Pre, to stop breakdown in AS 2.5 Mode....
  437         if (isset($protocolversion) && $protocolversion == 2.5 && 
  438             substr($devid,0,4) == "PALM" &&
  439             ENABLE_PALM_PRE_AS25_CONTACT_FIX === true) {
  440             $mapping += array(
  441                                 SYNC_POOMTASKS_RTF => array (STREAMER_VAR => "rtf"),
  442                             );
  443         } 
  444 // END ADDED dw2412 Workaround for Palm, to stop breakdown.
  445 
  446         if (isset($protocolversion) && $protocolversion >= 2.5) {
  447             $mapping += array(
  448                                 SYNC_POOMCONTACTS2_CUSTOMERID => array (STREAMER_VAR => "customerid"),
  449                                 SYNC_POOMCONTACTS2_GOVERNMENTID => array (STREAMER_VAR => "governmentid"),
  450                                 SYNC_POOMCONTACTS2_IMADDRESS => array (STREAMER_VAR => "imaddress"),
  451                                 SYNC_POOMCONTACTS2_IMADDRESS2 => array (STREAMER_VAR => "imaddress2"),
  452                                 SYNC_POOMCONTACTS2_IMADDRESS3 => array (STREAMER_VAR => "imaddress3"),
  453                                 SYNC_POOMCONTACTS2_MANAGERNAME => array (STREAMER_VAR => "managername"),
  454                                 SYNC_POOMCONTACTS2_COMPANYMAINPHONE => array (STREAMER_VAR => "companymainphone"),
  455                                 SYNC_POOMCONTACTS2_ACCOUNTNAME => array (STREAMER_VAR => "accountname"),
  456                                 SYNC_POOMCONTACTS2_NICKNAME => array (STREAMER_VAR => "nickname"),
  457                                 SYNC_POOMCONTACTS2_MMS => array (STREAMER_VAR => "mms"),
  458                             );
  459         }
  460 
  461         parent::Streamer($mapping);
  462     }
  463 }
  464 
  465 class SyncAttendee extends Streamer {
  466     function SyncAttendee() {
  467 // START ADDED dw2412 Support V12.0
  468         global $protocolversion;
  469 // END ADDED dw2412 Support V12.0
  470         $mapping = array(
  471                                 SYNC_POOMCAL_EMAIL => array (STREAMER_VAR => "email"),
  472                                 SYNC_POOMCAL_NAME => array (STREAMER_VAR => "name" ),
  473                             );
  474 // START ADDED dw2412 Support V12.0
  475         if (isset($protocolversion) && $protocolversion >= 12.0) {
  476             $mapping += array(
  477                                 SYNC_POOMCAL_ATTENDEE_STATUS => array (STREAMER_VAR => "attendeestatus" ),
  478                                 SYNC_POOMCAL_ATTENDEE_TYPE => array (STREAMER_VAR => "attendeetype" ),
  479                             );
  480         }
  481 // END ADDED dw2412 Support V12.0
  482 
  483         parent::Streamer($mapping);
  484     }
  485 }
  486 
  487 class SyncAppointment extends Streamer {
  488     function SyncAppointment() {
  489 // START ADDED dw2412 Support V12.0
  490         global $protocolversion;
  491 // END ADDED dw2412 Support V12.0
  492 
  493         $mapping = array(
  494                                 SYNC_POOMCAL_TIMEZONE => array (STREAMER_VAR => "timezone"),
  495                                 SYNC_POOMCAL_DTSTAMP => array (STREAMER_VAR => "dtstamp", STREAMER_TYPE => STREAMER_TYPE_DATE),
  496                                 SYNC_POOMCAL_STARTTIME => array (STREAMER_VAR => "starttime", STREAMER_TYPE => STREAMER_TYPE_DATE),
  497                                 SYNC_POOMCAL_SUBJECT => array (STREAMER_VAR => "subject"),
  498                                 SYNC_POOMCAL_UID => array (STREAMER_VAR => "uid"),
  499                                 SYNC_POOMCAL_ORGANIZERNAME => array (STREAMER_VAR => "organizername"),
  500                                 SYNC_POOMCAL_ORGANIZEREMAIL => array (STREAMER_VAR => "organizeremail"),
  501                                 SYNC_POOMCAL_LOCATION => array (STREAMER_VAR => "location"),
  502                                 SYNC_POOMCAL_ENDTIME => array (STREAMER_VAR => "endtime", STREAMER_TYPE => STREAMER_TYPE_DATE),
  503                                 SYNC_POOMCAL_RECURRENCE => array (STREAMER_VAR => "recurrence", STREAMER_TYPE => "SyncRecurrence"),
  504                                 SYNC_POOMCAL_SENSITIVITY => array (STREAMER_VAR => "sensitivity"),
  505                                 SYNC_POOMCAL_BUSYSTATUS => array (STREAMER_VAR => "busystatus"),
  506                                 SYNC_POOMCAL_ALLDAYEVENT => array (STREAMER_VAR => "alldayevent"),
  507                                 SYNC_POOMCAL_REMINDER => array (STREAMER_VAR => "reminder"),
  508                                 SYNC_POOMCAL_MEETINGSTATUS => array (STREAMER_VAR => "meetingstatus"),
  509                                 SYNC_POOMCAL_ATTENDEES => array (STREAMER_VAR => "attendees", STREAMER_TYPE => "SyncAttendee", STREAMER_ARRAY => SYNC_POOMCAL_ATTENDEE),
  510                                 SYNC_POOMCAL_EXCEPTIONS => array (STREAMER_VAR => "exceptions", STREAMER_TYPE => "SyncAppointment", STREAMER_ARRAY => SYNC_POOMCAL_EXCEPTION),
  511                                 SYNC_POOMCAL_DELETED => array (STREAMER_VAR => "deleted"),
  512                                 SYNC_POOMCAL_EXCEPTIONSTARTTIME => array (STREAMER_VAR => "exceptionstarttime", STREAMER_TYPE => STREAMER_TYPE_DATE),
  513                                 SYNC_POOMCAL_CATEGORIES => array (STREAMER_VAR => "categories", STREAMER_ARRAY => SYNC_POOMCAL_CATEGORY),
  514                             );
  515 // START ADDED dw2412 Support V12.0
  516         if(isset($protocolversion) && $protocolversion < 12.0) {
  517             $mapping += array(
  518                                 SYNC_POOMCAL_BODY => array (STREAMER_VAR => "body"),
  519                                 SYNC_POOMCAL_BODYTRUNCATED => array (STREAMER_VAR => "bodytruncated"),
  520                                 SYNC_POOMCAL_RTF => array (STREAMER_VAR => "rtf"),
  521                             );
  522         }
  523         if(isset($protocolversion) && $protocolversion >= 12.0) {
  524             $mapping += array(
  525                                 SYNC_AIRSYNCBASE_BODY => array(STREAMER_VAR => "airsyncbasebody", STREAMER_TYPE => "SyncAirSyncBaseBody")
  526                             );
  527         }
  528         if(isset($protocolversion) && $protocolversion >= 14.0) {
  529             $mapping += array(
  530                                 SYNC_POOMCAL_RESPONSEREQUESTED => array (STREAMER_VAR => "responserequested"),
  531                                 SYNC_POOMCAL_DISALLOWNEWTIMEPROPOSAL => array (STREAMER_VAR => "disallownewtimeproposal"),
  532                             );
  533         }
  534 // END ADDED dw2412 Support V12.0
  535 
  536         parent::Streamer($mapping);
  537     }
  538 }
  539 
  540 class SyncRecurrence extends Streamer {
  541     var $type;
  542     var $until;
  543     var $occurrences;
  544     var $interval;
  545     var $dayofweek;
  546     var $dayofmonth;
  547     var $weekofmonth;
  548     var $monthofyear;
  549 
  550     function SyncRecurrence() {
  551         global $protocolversion;
  552 
  553         $mapping = array (
  554                                 SYNC_POOMCAL_TYPE => array (STREAMER_VAR => "type"),
  555                                 SYNC_POOMCAL_UNTIL => array (STREAMER_VAR => "until", STREAMER_TYPE => STREAMER_TYPE_DATE),
  556                                 SYNC_POOMCAL_OCCURRENCES => array (STREAMER_VAR => "occurrences"),
  557                                 SYNC_POOMCAL_INTERVAL => array (STREAMER_VAR => "interval"),
  558                                 SYNC_POOMCAL_DAYOFWEEK => array (STREAMER_VAR => "dayofweek"),
  559                                 SYNC_POOMCAL_DAYOFMONTH => array (STREAMER_VAR => "dayofmonth"),
  560                                 SYNC_POOMCAL_WEEKOFMONTH => array (STREAMER_VAR => "weekofmonth"),
  561                                 SYNC_POOMCAL_MONTHOFYEAR => array (STREAMER_VAR => "monthofyear")
  562                             );
  563         if ($protocolversion >= 14.0) {
  564             $mapping += array (
  565                                 SYNC_POOMMAIL2_CALENDARTYPE => array (STREAMER_VAR => "calendartype"),
  566                                 SYNC_POOMMAIL2_ISLEAPMONTH => array (STREAMER_VAR => "isleapmonth"),
  567                             );
  568         }
  569 
  570         parent::Streamer($mapping);
  571     }
  572 }
  573 
  574 // Exactly the same as SyncRecurrence, but then with SYNC_POOMMAIL_*
  575 class SyncMeetingRequestRecurrence extends Streamer {
  576     var $type;
  577     var $until;
  578     var $occurrences;
  579     var $interval;
  580     var $dayofweek;
  581     var $dayofmonth;
  582     var $weekofmonth;
  583     var $monthofyear;
  584 
  585     function SyncMeetingRequestRecurrence() {
  586         $mapping = array (
  587                                 SYNC_POOMMAIL_TYPE => array (STREAMER_VAR => "type"),
  588                                 SYNC_POOMMAIL_UNTIL => array (STREAMER_VAR => "until", STREAMER_TYPE => STREAMER_TYPE_DATE),
  589                                 SYNC_POOMMAIL_OCCURRENCES => array (STREAMER_VAR => "occurrences"),
  590                                 SYNC_POOMMAIL_INTERVAL => array (STREAMER_VAR => "interval"),
  591                                 SYNC_POOMMAIL_DAYOFWEEK => array (STREAMER_VAR => "dayofweek"),
  592                                 SYNC_POOMMAIL_DAYOFMONTH => array (STREAMER_VAR => "dayofmonth"),
  593                                 SYNC_POOMMAIL_WEEKOFMONTH => array (STREAMER_VAR => "weekofmonth"),
  594                                 SYNC_POOMMAIL_MONTHOFYEAR => array (STREAMER_VAR => "monthofyear")
  595                             );
  596 
  597         parent::Streamer($mapping);
  598     }
  599 }
  600 
  601 // Exactly the same as SyncRecurrence, but then with SYNC_POOMTASKS_*
  602 class SyncTaskRecurrence extends Streamer {
  603     function SyncTaskRecurrence() {
  604         $mapping = array (
  605                                 SYNC_POOMTASKS_TYPE => array (STREAMER_VAR => "type"),
  606                                 SYNC_POOMTASKS_UNTIL => array (STREAMER_VAR => "until", STREAMER_TYPE => STREAMER_TYPE_DATE),
  607                                 SYNC_POOMTASKS_OCCURRENCES => array (STREAMER_VAR => "occurrences"),
  608                                 SYNC_POOMTASKS_INTERVAL => array (STREAMER_VAR => "interval"),
  609                                 SYNC_POOMTASKS_DAYOFWEEK => array (STREAMER_VAR => "dayofweek"),
  610                                 SYNC_POOMTASKS_DAYOFMONTH => array (STREAMER_VAR => "dayofmonth"),
  611                                 SYNC_POOMTASKS_WEEKOFMONTH => array (STREAMER_VAR => "weekofmonth"),
  612                                 SYNC_POOMTASKS_MONTHOFYEAR => array (STREAMER_VAR => "monthofyear"),
  613                                 SYNC_POOMTASKS_START => array (STREAMER_VAR => "start", STREAMER_TYPE => STREAMER_TYPE_DATE), //mthaler@endo7.com iphone
  614                                 SYNC_POOMTASKS_DEADOCCUR => array (STREAMER_VAR => "deadoccur"), //mthaler@endo7.com iphone
  615                             );
  616 
  617         parent::Streamer($mapping);
  618     }
  619 }
  620 
  621 class SyncTask extends Streamer {
  622     var $body;
  623     var $categories = array();
  624     var $complete;
  625     var $datecompleted;
  626     var $duedate;
  627     var $utcduedate;
  628     var $importance;
  629     var $recurrence;
  630     var $regenerate;
  631     var $deadoccur;
  632     var $reminderset;
  633     var $remindertime;
  634     var $sensitivity;
  635     var $startdate;
  636     var $utcstartdate;
  637     var $subject;
  638     var $rtf;
  639 
  640     function SyncTask() {
  641 // START ADDED dw2412 Support V12.0
  642         global $protocolversion;
  643 // END ADDED dw2412 Support V12.0
  644         $mapping = array (
  645                                 SYNC_POOMTASKS_COMPLETE => array (STREAMER_VAR => "complete"),
  646                                 SYNC_POOMTASKS_DATECOMPLETED => array (STREAMER_VAR => "datecompleted", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES),
  647                                 SYNC_POOMTASKS_DUEDATE => array (STREAMER_VAR => "duedate", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES),
  648                                 SYNC_POOMTASKS_UTCDUEDATE => array (STREAMER_VAR => "utcduedate", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES),
  649                                 SYNC_POOMTASKS_IMPORTANCE => array (STREAMER_VAR => "importance"),
  650                                 SYNC_POOMTASKS_RECURRENCE => array (STREAMER_VAR => "recurrence", STREAMER_TYPE => "SyncTaskRecurrence"),
  651                                 SYNC_POOMTASKS_REGENERATE => array (STREAMER_VAR => "regenerate"),
  652                                 SYNC_POOMTASKS_DEADOCCUR => array (STREAMER_VAR => "deadoccur"),
  653                                 SYNC_POOMTASKS_REMINDERSET => array (STREAMER_VAR => "reminderset"),
  654                                 SYNC_POOMTASKS_REMINDERTIME => array (STREAMER_VAR => "remindertime", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES),
  655                                 SYNC_POOMTASKS_SENSITIVITY => array (STREAMER_VAR => "sensitiviy"),
  656                                 SYNC_POOMTASKS_STARTDATE => array (STREAMER_VAR => "startdate", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES),
  657                                 SYNC_POOMTASKS_UTCSTARTDATE => array (STREAMER_VAR => "utcstartdate", STREAMER_TYPE => STREAMER_TYPE_DATE_DASHES),
  658                                 SYNC_POOMTASKS_SUBJECT => array (STREAMER_VAR => "subject"),
  659                                 SYNC_POOMTASKS_CATEGORIES => array (STREAMER_VAR => "categories", STREAMER_ARRAY => SYNC_POOMTASKS_CATEGORY),
  660                         );
  661 
  662 // START ADDED dw2412 Support V12.0
  663         if (isset($protocolversion) && $protocolversion < 12.0) {
  664             $mapping += array(
  665                                 SYNC_POOMTASKS_BODY => array (STREAMER_VAR => "body"),
  666                                 SYNC_POOMTASKS_RTF => array (STREAMER_VAR => "rtf"),
  667                         );
  668         }
  669         if (isset($protocolversion) && $protocolversion >= 12.0) {
  670             $mapping += array(
  671                                 SYNC_AIRSYNCBASE_BODY => array(STREAMER_VAR => "airsyncbasebody", STREAMER_TYPE => "SyncAirSyncBaseBody")
  672                         );
  673         }
  674 // END ADDED dw2412 Support V12.0
  675 
  676         parent::Streamer($mapping);
  677     }
  678 }
  679 
  680 // START ADDED dw2412 Support V14.0
  681 class SyncNote extends Streamer {
  682     var $body;
  683     var $subject;
  684     var $categories = array();
  685     function SyncNote() {
  686         global $protocolversion;
  687         $mapping = array (
  688                                 SYNC_POOMNOTES_SUBJECT => array (STREAMER_VAR => "subject"),
  689                                 SYNC_POOMNOTES_MESSAGECLASS => array (STREAMER_VAR => "messageclass"),
  690                                 SYNC_POOMNOTES_LASTMODIFIEDDATE => array (STREAMER_VAR => "lastmodifieddate", STREAMER_TYPE => STREAMER_TYPE_DATE),
  691                                 SYNC_AIRSYNCBASE_BODY => array(STREAMER_VAR => "airsyncbasebody", STREAMER_TYPE => "SyncAirSyncBaseBody"),
  692                                 SYNC_POOMNOTES_CATEGORIES => array (STREAMER_VAR => "categories", STREAMER_ARRAY => SYNC_POOMNOTES_CATEGORY),
  693                         );
  694 
  695         parent::Streamer($mapping);
  696     }
  697 }
  698 // END ADDED dw2412 Support V14.0
  699 
  700 ?>