diff --git a/lib/ext/Syncroton/Model/EventAttendee.php b/lib/ext/Syncroton/Model/EventAttendee.php index 59ee59c..cb6f147 100644 --- a/lib/ext/Syncroton/Model/EventAttendee.php +++ b/lib/ext/Syncroton/Model/EventAttendee.php @@ -1,51 +1,57 @@ */ /** * class to handle ActiveSync event * * @package Syncroton * @subpackage Model * - * @property int $attendeStatus - * @property int $attendeeType - * @property string $email - * @property string $name + * @property int $attendeeStatus + * @property int $attendeeType + * @property string $email + * @property string $name + * @property datetime $proposedEndTime + * @property datetime $proposedStartTime */ class Syncroton_Model_EventAttendee extends Syncroton_Model_AXMLEntry { /** * attendee status */ const ATTENDEE_STATUS_UNKNOWN = 0; const ATTENDEE_STATUS_TENTATIVE = 2; const ATTENDEE_STATUS_ACCEPTED = 3; const ATTENDEE_STATUS_DECLINED = 4; const ATTENDEE_STATUS_NOTRESPONDED = 5; /** * attendee types */ const ATTENDEE_TYPE_REQUIRED = 1; const ATTENDEE_TYPE_OPTIONAL = 2; const ATTENDEE_TYPE_RESOURCE = 3; protected $_xmlBaseElement = 'Attendee'; protected $_properties = array( 'Calendar' => array( 'attendeeStatus' => array('type' => 'number'), 'attendeeType' => array('type' => 'number'), 'email' => array('type' => 'string'), 'name' => array('type' => 'string'), - ) + ), + 'MeetingResponse' => array( + 'proposedEndTime' => array('type' => 'datetime', 'supportedSince' => '16.1'), + 'proposedStartTime' => array('type' => 'datetime', 'supportedSince' => '16.1'), + ), ); } diff --git a/lib/ext/Syncroton/Model/MeetingRequest.php b/lib/ext/Syncroton/Model/MeetingRequest.php index b24045a..0546656 100644 --- a/lib/ext/Syncroton/Model/MeetingRequest.php +++ b/lib/ext/Syncroton/Model/MeetingRequest.php @@ -1,106 +1,112 @@ */ /** * class to handle Email:MeetingRequest * * @package Syncroton * @subpackage Model * @property bool $allDayEvent * @property int $busyStatus * @property int $disallowNewTimeProposal * @property DateTime $dtStamp * @property DateTime $endTime * @property Syncroton_Model_Forwardee[] $forwardees * @property string $globalObjId * @property int $instanceType * @property Syncroton_Model_Location $location * @property int $meetingMessageType * @property string $organizer + * @property datetime $proposedEndTime + * @property datetime $proposedStartTime * @property string $recurrenceId * @property array $recurrences * @property int $reminder * @property int $responseRequested * @property int $sensitivity * @property DateTime $startTime * @property string $timezone */ class Syncroton_Model_MeetingRequest extends Syncroton_Model_AXMLEntry { /** * busy status constants */ const BUSY_STATUS_FREE = 0; const BUSY_STATUS_TENATTIVE = 1; const BUSY_STATUS_BUSY = 2; const BUSY_STATUS_OUT = 3; /** * sensitivity constants */ const SENSITIVITY_NORMAL = 0; const SENSITIVITY_PERSONAL = 1; const SENSITIVITY_PRIVATE = 2; const SENSITIVITY_CONFIDENTIAL = 3; /** * instanceType constants */ const TYPE_NORMAL = 0; const TYPE_RECURRING_MASTER = 1; const TYPE_RECURRING_SINGLE = 2; const TYPE_RECURRING_EXCEPTION = 3; /** * messageType constants */ const MESSAGE_TYPE_NORMAL = 0; const MESSAGE_TYPE_REQUEST = 1; const MESSAGE_TYPE_FULL_UPDATE = 2; const MESSAGE_TYPE_INFO_UPDATE = 3; const MESSAGE_TYPE_OUTDATED = 4; const MESSAGE_TYPE_COPY = 5; const MESSAGE_TYPE_DELEGATED = 6; protected $_dateTimeFormat = "Ymd\THis\Z"; protected $_xmlBaseElement = 'MeetingRequest'; protected $_properties = array( 'AirSyncBase' => array( 'location' => array('type' => 'container', 'class' => 'Syncroton_Model_Location', 'supportedSince' => '16.0'), ), 'ComposeMail' => array( 'forwardees' => array('type' => 'container', 'childElement' => 'forwardee', 'supportedSince' => '16.0'), ), 'Email' => array( 'allDayEvent' => array('type' => 'number'), 'busyStatus' => array('type' => 'number'), 'disallowNewTimeProposal' => array('type' => 'number'), 'dtStamp' => array('type' => 'datetime'), 'endTime' => array('type' => 'datetime'), 'globalObjId' => array('type' => 'string'), 'instanceType' => array('type' => 'datetime'), 'location' => array('type' => 'string', 'supportedUntil' => '16.0'), 'organizer' => array('type' => 'string'), //e-mail address 'recurrenceId' => array('type' => 'datetime'), 'recurrences' => array('type' => 'container'), 'reminder' => array('type' => 'number'), 'responseRequested' => array('type' => 'number'), 'sensitivity' => array('type' => 'number'), 'startTime' => array('type' => 'datetime'), 'timeZone' => array('type' => 'timezone'), ), 'Email2' => array( 'meetingMessageType' => array('type' => 'number'), ), + 'MeetingResponse' => array( + 'proposedEndTime' => array('type' => 'datetime', 'supportedSince' => '16.1'), + 'proposedStartTime' => array('type' => 'datetime', 'supportedSince' => '16.1'), + ), ); } diff --git a/lib/ext/Syncroton/Model/MeetingResponse.php b/lib/ext/Syncroton/Model/MeetingResponse.php index 2dfc08f..5957a9f 100644 --- a/lib/ext/Syncroton/Model/MeetingResponse.php +++ b/lib/ext/Syncroton/Model/MeetingResponse.php @@ -1,46 +1,51 @@ */ /** * class to handle MeetingResponse request * * @package Syncroton * @subpackage Model - * @property int userResponse - * @property string collectionId - * @property string calendarId - * @property string requestId - * @property string instanceId - * @property string longId + * + * @property string $calendarId + * @property string $collectionId + * @property string $instanceId + * @property string $longId + * @property string $requestId + * @property Syncroton_Model_SendResponse $sendResponse + * @property int $userResponse */ class Syncroton_Model_MeetingResponse extends Syncroton_Model_AXMLEntry { /** * attendee status */ const RESPONSE_ACCEPTED = 1; const RESPONSE_TENTATIVE = 2; const RESPONSE_DECLINED = 3; protected $_xmlBaseElement = 'Request'; + protected $_properties = array( 'MeetingResponse' => array( - 'userResponse' => array('type' => 'number'), - 'collectionId' => array('type' => 'string'), 'calendarId' => array('type' => 'string'), - 'requestId' => array('type' => 'string'), + 'collectionId' => array('type' => 'string'), 'instanceId' => array('type' => 'datetime'), + 'requestId' => array('type' => 'string'), + 'sendResponse' => array('type' => 'container', 'class' => 'Syncroton_Model_SendResponse', 'supportedSince' => '16.0'), + 'userResponse' => array('type' => 'number'), ), 'Search' => array( 'longId' => array('type' => 'string') ) ); } diff --git a/lib/ext/Syncroton/Model/SendResponse.php b/lib/ext/Syncroton/Model/SendResponse.php new file mode 100644 index 0000000..3b52796 --- /dev/null +++ b/lib/ext/Syncroton/Model/SendResponse.php @@ -0,0 +1,36 @@ + + */ + +/** + * Class to handle MeetingResponse::SendResponse + * + * @package Syncroton + * @subpackage Model + * + * @property Syncroton_Model_EmailBody $body + * @property datetime $proposedEndTime + * @property datetime $proposedStartTime + */ +class Syncroton_Model_SendResponse extends Syncroton_Model_AXMLEntry +{ + protected $_xmlBaseElement = 'SendResponse'; + + protected $_properties = array( + 'AirSyncBase' => array( + 'body' => array('type' => 'container', 'class' => 'Syncroton_Model_EmailBody') + ), + 'MeetingResponse' => array( + 'proposedEndTime' => array('type' => 'datetime', 'supportedSince' => '16.1'), + 'proposedStartTime' => array('type' => 'datetime', 'supportedSince' => '16.1'), + ), + ); +}