Merge branch 'master' of http://git.syncroton.org/Syncroton
[tine20] / tine20 / library / Syncroton / lib / Syncroton / Model / Contact.php
1 <?php
2 /**
3  * Syncroton
4  *
5  * @package     Syncroton
6  * @subpackage  Model
7  * @license     http://www.tine20.org/licenses/lgpl.html LGPL Version 3
8  * @copyright   Copyright (c) 2012-2012 Metaways Infosystems GmbH (http://www.metaways.de)
9  * @author      Lars Kneschke <l.kneschke@metaways.de>
10  */
11
12 /**
13  * class to handle ActiveSync contact
14  *
15  * @package     Syncroton
16  * @subpackage  Model
17  * @property    string    Alias
18  * @property    DateTime  Anniversary
19  * @property    string    AssistantName
20  * @property    string    AssistantPhoneNumber
21  * @property    DateTime  Birthday
22  * @property    string    Business2PhoneNumber
23  * @property    string    BusinessAddressCity
24  * @property    Syncroton_Model_EmailBody  Body
25  */
26
27 class Syncroton_Model_Contact extends Syncroton_Model_AEntry
28 {
29     protected $_xmlBaseElement = 'ApplicationData';
30     
31     protected $_properties = array(
32         'AirSyncBase' => array(
33             'body'                   => array('type' => 'container', 'class' => 'Syncroton_Model_EmailBody')
34         ),
35         'Contacts' => array(
36             'alias'                  => array('type' => 'string', 'supportedSince' => '14.0'),
37             'anniversary'            => array('type' => 'datetime'),
38             'assistantName'          => array('type' => 'string'),
39             'assistantPhoneNumber'   => array('type' => 'string'),
40             'birthday'               => array('type' => 'datetime'),\r
41             'business2PhoneNumber'   => array('type' => 'string'),\r
42             'businessAddressCity'    => array('type' => 'string'),\r
43             'businessAddressCountry' => array('type' => 'string'),\r
44             'businessAddressPostalCode' => array('type' => 'string'),\r
45             'businessAddressState'   => array('type' => 'string'),\r
46             'businessAddressStreet'  => array('type' => 'string'),\r
47             'businessFaxNumber'      => array('type' => 'string'),\r
48             'businessPhoneNumber'    => array('type' => 'string'),\r
49             'carPhoneNumber'         => array('type' => 'string'),\r
50             'categories'             => array('type' => 'container', 'childElement' => 'category'),\r
51             'children'               => array('type' => 'container', 'childElement' => 'child'),\r
52             'companyName'            => array('type' => 'string'),\r
53             'department'             => array('type' => 'string'),\r
54             'email1Address'          => array('type' => 'string'),\r
55             'email2Address'          => array('type' => 'string'),\r
56             'email3Address'          => array('type' => 'string'),\r
57             'fileAs'                 => array('type' => 'string'),\r
58             'firstName'              => array('type' => 'string'),\r
59             'home2PhoneNumber'       => array('type' => 'string'),\r
60             'homeAddressCity'        => array('type' => 'string'),\r
61             'homeAddressCountry'     => array('type' => 'string'),\r
62             'homeAddressPostalCode'  => array('type' => 'string'),\r
63             'homeAddressState'       => array('type' => 'string'),\r
64             'homeAddressStreet'      => array('type' => 'string'),\r
65             'homeFaxNumber'          => array('type' => 'string'),\r
66             'homePhoneNumber'        => array('type' => 'string'),\r
67             'jobTitle'               => array('type' => 'string'),\r
68             'lastName'               => array('type' => 'string'),\r
69             'middleName'             => array('type' => 'string'),\r
70             'mobilePhoneNumber'      => array('type' => 'string'),\r
71             'officeLocation'         => array('type' => 'string'),\r
72             'otherAddressCity'       => array('type' => 'string'),\r
73             'otherAddressCountry'    => array('type' => 'string'),\r
74             'otherAddressPostalCode' => array('type' => 'string'),\r
75             'otherAddressState'      => array('type' => 'string'),\r
76             'otherAddressStreet'     => array('type' => 'string'),\r
77             'pagerNumber'            => array('type' => 'string'),\r
78             'picture'                => array('type' => 'string', 'encoding' => 'base64'),\r
79             'padioPhoneNumber'       => array('type' => 'string'),\r
80             'rtf'                    => array('type' => 'string'),\r
81             'spouse'                 => array('type' => 'string'),\r
82             'suffix'                 => array('type' => 'string'),\r
83             'title'                  => array('type' => 'string'),\r
84             'webPage'                => array('type' => 'string'),\r
85             'weightedRank'           => array('type' => 'string', 'supportedSince' => '14.0'),\r
86             'yomiCompanyName'        => array('type' => 'string'),\r
87             'yomiFirstName'          => array('type' => 'string'),\r
88             'yomiLastName'           => array('type' => 'string'),\r
89         ),
90         'Contacts2' => array(
91             'accountName'            => array('type' => 'string'),
92             'companyMainPhone'       => array('type' => 'string'),
93             'customerId'             => array('type' => 'string'),
94             'governmentId'           => array('type' => 'string'),
95             'iMAddress'              => array('type' => 'string'),
96             'iMAddress2'             => array('type' => 'string'),
97             'iMAddress3'             => array('type' => 'string'),
98             'managerName'            => array('type' => 'string'),
99             'mMS'                    => array('type' => 'string'),
100             'nickName'               => array('type' => 'string'),
101         )
102     );
103 }