]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - Zend/Gdata/Calendar/EventEntry.php
Release 6.5.0
[Github/sugarcrm.git] / Zend / Gdata / Calendar / EventEntry.php
1 <?php
2
3 /**
4  * Zend Framework
5  *
6  * LICENSE
7  *
8  * This source file is subject to the new BSD license that is bundled
9  * with this package in the file LICENSE.txt.
10  * It is also available through the world-wide-web at this URL:
11  * http://framework.zend.com/license/new-bsd
12  * If you did not receive a copy of the license and are unable to
13  * obtain it through the world-wide-web, please send an email
14  * to license@zend.com so we can send you a copy immediately.
15  *
16  * @category   Zend
17  * @package    Zend_Gdata
18  * @subpackage Calendar
19  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
20  * @license    http://framework.zend.com/license/new-bsd     New BSD License
21
22  */
23
24 /**
25  * @see Zend_Gdata_Entry
26  */
27 require_once 'Zend/Gdata/Entry.php';
28
29 /**
30  * @see Zend_Gdata_Kind_EventEntry
31  */
32 require_once 'Zend/Gdata/Kind/EventEntry.php';
33
34 /**
35  * @see Zend_Gdata_Calendar_Extension_SendEventNotifications
36  */
37 require_once 'Zend/Gdata/Calendar/Extension/SendEventNotifications.php';
38
39 /**
40  * @see Zend_Gdata_Calendar_Extension_Timezone
41  */
42 require_once 'Zend/Gdata/Calendar/Extension/Timezone.php';
43
44 /**
45  * @see Zend_Gdata_Calendar_Extension_Link
46  */
47 require_once 'Zend/Gdata/Calendar/Extension/Link.php';
48
49 /**
50  * @see Zend_Gdata_Calendar_Extension_QuickAdd
51  */
52 require_once 'Zend/Gdata/Calendar/Extension/QuickAdd.php';
53
54 /**
55  * Data model class for a Google Calendar Event Entry
56  *
57  * @category   Zend
58  * @package    Zend_Gdata
59  * @subpackage Calendar
60  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
61  * @license    http://framework.zend.com/license/new-bsd     New BSD License
62  */
63 class Zend_Gdata_Calendar_EventEntry extends Zend_Gdata_Kind_EventEntry
64 {
65
66     protected $_entryClassName = 'Zend_Gdata_Calendar_EventEntry';
67     protected $_sendEventNotifications = null;
68     protected $_timezone = null;
69     protected $_quickadd = null;
70
71     public function __construct($element = null)
72     {
73         $this->registerAllNamespaces(Zend_Gdata_Calendar::$namespaces);
74         parent::__construct($element);
75     }
76
77     public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
78     {
79         $element = parent::getDOM($doc, $majorVersion, $minorVersion);
80         if ($this->_sendEventNotifications != null) {
81             $element->appendChild($this->_sendEventNotifications->getDOM($element->ownerDocument));
82         }
83         if ($this->_timezone != null) {
84             $element->appendChild($this->_timezone->getDOM($element->ownerDocument));
85         }
86         if ($this->_quickadd != null) {
87             $element->appendChild($this->_quickadd->getDOM($element->ownerDocument));
88         }
89         return $element;
90     }
91
92     protected function takeChildFromDOM($child)
93     {
94         $absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
95
96         switch ($absoluteNodeName) {
97             case $this->lookupNamespace('gCal') . ':' . 'sendEventNotifications';
98                 $sendEventNotifications = new Zend_Gdata_Calendar_Extension_SendEventNotifications();
99                 $sendEventNotifications->transferFromDOM($child);
100                 $this->_sendEventNotifications = $sendEventNotifications;
101                 break;
102             case $this->lookupNamespace('gCal') . ':' . 'timezone';
103                 $timezone = new Zend_Gdata_Calendar_Extension_Timezone();
104                 $timezone->transferFromDOM($child);
105                 $this->_timezone = $timezone;
106                 break;
107             case $this->lookupNamespace('atom') . ':' . 'link';
108                 $link = new Zend_Gdata_Calendar_Extension_Link();
109                 $link->transferFromDOM($child);
110                 $this->_link[] = $link;
111                 break;
112             case $this->lookupNamespace('gCal') . ':' . 'quickadd';
113                 $quickadd = new Zend_Gdata_Calendar_Extension_QuickAdd();
114                 $quickadd->transferFromDOM($child);
115                 $this->_quickadd = $quickadd;
116                 break;
117             default:
118                 parent::takeChildFromDOM($child);
119                 break;
120         }
121     }
122
123     public function getSendEventNotifications()
124     {
125         return $this->_sendEventNotifications;
126     }
127
128     public function setSendEventNotifications($value)
129     {
130         $this->_sendEventNotifications = $value;
131         return $this;
132     }
133
134     public function getTimezone()
135     {
136         return $this->_timezone;
137     }
138
139     /**
140      * @param Zend_Gdata_Calendar_Extension_Timezone $value
141      * @return Zend_Gdata_Extension_EventEntry Provides a fluent interface
142      */
143     public function setTimezone($value)
144     {
145         $this->_timezone = $value;
146         return $this;
147     }
148
149     public function getQuickAdd()
150     {
151         return $this->_quickadd;
152     }
153
154     /**
155      * @param Zend_Gdata_Calendar_Extension_QuickAdd $value
156      * @return Zend_Gdata_Extension_ListEntry Provides a fluent interface
157      */
158     public function setQuickAdd($value)
159     {
160         $this->_quickadd = $value;
161         return $this;
162     }
163
164 }