]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - Zend/Gdata/Photos/AlbumEntry.php
Release 6.5.0
[Github/sugarcrm.git] / Zend / Gdata / Photos / AlbumEntry.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 Photos
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_Photos_Extension_Access
31  */
32 require_once 'Zend/Gdata/Photos/Extension/Access.php';
33
34 /**
35  * @see Zend_Gdata_Photos_Extension_BytesUsed
36  */
37 require_once 'Zend/Gdata/Photos/Extension/BytesUsed.php';
38
39 /**
40  * @see Zend_Gdata_Photos_Extension_Location
41  */
42 require_once 'Zend/Gdata/Photos/Extension/Location.php';
43
44 /**
45  * @see Zend_Gdata_Photos_Extension_Name
46  */
47 require_once 'Zend/Gdata/Photos/Extension/Name.php';
48
49 /**
50  * @see Zend_Gdata_Photos_Extension_NumPhotos
51  */
52 require_once 'Zend/Gdata/Photos/Extension/NumPhotos.php';
53
54 /**
55  * @see Zend_Gdata_Photos_Extension_NumPhotosRemaining
56  */
57 require_once 'Zend/Gdata/Photos/Extension/NumPhotosRemaining.php';
58
59 /**
60  * @see Zend_Gdata_Photos_Extension_CommentCount
61  */
62 require_once 'Zend/Gdata/Photos/Extension/CommentCount.php';
63
64 /**
65  * @see Zend_Gdata_Photos_Extension_CommentingEnabled
66  */
67 require_once 'Zend/Gdata/Photos/Extension/CommentingEnabled.php';
68
69 /**
70  * @see Zend_Gdata_Photos_Extension_Id
71  */
72 require_once 'Zend/Gdata/Photos/Extension/Id.php';
73
74 /**
75  * @see Zend_Gdata_Geo_Extension_GeoRssWhere
76  */
77 require_once 'Zend/Gdata/Geo/Extension/GeoRssWhere.php';
78
79 /**
80  * @see Zend_Gdata_Media_Extension_MediaGroup
81  */
82 require_once 'Zend/Gdata/Media/Extension/MediaGroup.php';
83
84 /**
85  * @see Zend_Gdata_App_Extension_Category
86  */
87 require_once 'Zend/Gdata/App/Extension/Category.php';
88
89 /**
90  * Data model class for a Photo Album Entry.
91  *
92  * To transfer user entries to and from the servers, including
93  * creating new entries, refer to the service class,
94  * Zend_Gdata_Photos.
95  *
96  * This class represents <atom:entry> in the Google Data protocol.
97  *
98  * @category   Zend
99  * @package    Zend_Gdata
100  * @subpackage Photos
101  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
102  * @license    http://framework.zend.com/license/new-bsd     New BSD License
103  */
104 class Zend_Gdata_Photos_AlbumEntry extends Zend_Gdata_Entry
105 {
106
107     protected $_entryClassName = 'Zend_Gdata_Photos_AlbumEntry';
108
109     /**
110      * gphoto:id element
111      *
112      * @var Zend_Gdata_Photos_Extension_Id
113      */
114     protected $_gphotoId = null;
115
116     /**
117      * gphoto:access element
118      *
119      * @var Zend_Gdata_Photos_Extension_Access
120      */
121     protected $_gphotoAccess = null;
122
123     /**
124      * gphoto:location element
125      *
126      * @var Zend_Gdata_Photos_Extension_Location
127      */
128     protected $_gphotoLocation = null;
129
130     /**
131      * gphoto:user element
132      *
133      * @var Zend_Gdata_Photos_Extension_User
134      */
135     protected $_gphotoUser = null;
136
137     /**
138      * gphoto:nickname element
139      *
140      * @var Zend_Gdata_Photos_Extension_Nickname
141      */
142     protected $_gphotoNickname = null;
143
144     /**
145      * gphoto:timestamp element
146      *
147      * @var Zend_Gdata_Photos_Extension_Timestamp
148      */
149     protected $_gphotoTimestamp = null;
150
151     /**
152      * gphoto:name element
153      *
154      * @var Zend_Gdata_Photos_Extension_Name
155      */
156     protected $_gphotoName = null;
157
158     /**
159      * gphoto:numphotos element
160      *
161      * @var Zend_Gdata_Photos_Extension_NumPhotos
162      */
163     protected $_gphotoNumPhotos = null;
164
165     /**
166      * gphoto:commentCount element
167      *
168      * @var Zend_Gdata_Photos_Extension_CommentCount
169      */
170     protected $_gphotoCommentCount = null;
171
172     /**
173      * gphoto:commentingEnabled element
174      *
175      * @var Zend_Gdata_Photos_Extension_CommentingEnabled
176      */
177     protected $_gphotoCommentingEnabled = null;
178
179     /**
180      * media:group element
181      *
182      * @var Zend_Gdata_Media_MediaGroup
183      */
184     protected $_mediaGroup = null;
185
186     /**
187      * georss:where element
188      *
189      * @var Zend_Gdata_Geo_Extension_GeoRssWhere
190      */
191     protected $_geoRssWhere = null;
192
193     /**
194      * Create a new instance.
195      *
196      * @param DOMElement $element (optional) DOMElement from which this
197      *          object should be constructed.
198      */
199     public function __construct($element = null)
200     {
201         $this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
202         parent::__construct($element);
203
204         $category = new Zend_Gdata_App_Extension_Category(
205             'http://schemas.google.com/photos/2007#album',
206             'http://schemas.google.com/g/2005#kind');
207         $this->setCategory(array($category));
208     }
209
210     /**
211      * Retrieves a DOMElement which corresponds to this element and all
212      * child properties.  This is used to build an entry back into a DOM
213      * and eventually XML text for application storage/persistence.
214      *
215      * @param DOMDocument $doc The DOMDocument used to construct DOMElements
216      * @return DOMElement The DOMElement representing this element and all
217      *          child properties.
218      */
219     public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
220     {
221         $element = parent::getDOM($doc, $majorVersion, $minorVersion);
222         if ($this->_gphotoTimestamp !== null) {
223             $element->appendChild($this->_gphotoTimestamp->getDOM($element->ownerDocument));
224         }
225         if ($this->_gphotoUser !== null) {
226             $element->appendChild($this->_gphotoUser->getDOM($element->ownerDocument));
227         }
228         if ($this->_gphotoNickname !== null) {
229             $element->appendChild($this->_gphotoNickname->getDOM($element->ownerDocument));
230         }
231         if ($this->_gphotoAccess !== null) {
232             $element->appendChild($this->_gphotoAccess->getDOM($element->ownerDocument));
233         }
234         if ($this->_gphotoLocation !== null) {
235             $element->appendChild($this->_gphotoLocation->getDOM($element->ownerDocument));
236         }
237         if ($this->_gphotoName !== null) {
238             $element->appendChild($this->_gphotoName->getDOM($element->ownerDocument));
239         }
240         if ($this->_gphotoNumPhotos !== null) {
241             $element->appendChild($this->_gphotoNumPhotos->getDOM($element->ownerDocument));
242         }
243         if ($this->_gphotoCommentCount !== null) {
244             $element->appendChild($this->_gphotoCommentCount->getDOM($element->ownerDocument));
245         }
246         if ($this->_gphotoCommentingEnabled !== null) {
247             $element->appendChild($this->_gphotoCommentingEnabled->getDOM($element->ownerDocument));
248         }
249         if ($this->_gphotoId !== null) {
250             $element->appendChild($this->_gphotoId->getDOM($element->ownerDocument));
251         }
252         if ($this->_mediaGroup !== null) {
253             $element->appendChild($this->_mediaGroup->getDOM($element->ownerDocument));
254         }
255         return $element;
256     }
257
258     /**
259      * Creates individual Entry objects of the appropriate type and
260      * stores them as members of this entry based upon DOM data.
261      *
262      * @param DOMNode $child The DOMNode to process
263      */
264     protected function takeChildFromDOM($child)
265     {
266         $absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
267
268         switch ($absoluteNodeName) {
269             case $this->lookupNamespace('gphoto') . ':' . 'access';
270                 $access = new Zend_Gdata_Photos_Extension_Access();
271                 $access->transferFromDOM($child);
272                 $this->_gphotoAccess = $access;
273                 break;
274             case $this->lookupNamespace('gphoto') . ':' . 'location';
275                 $location = new Zend_Gdata_Photos_Extension_Location();
276                 $location->transferFromDOM($child);
277                 $this->_gphotoLocation = $location;
278                 break;
279             case $this->lookupNamespace('gphoto') . ':' . 'name';
280                 $name = new Zend_Gdata_Photos_Extension_Name();
281                 $name->transferFromDOM($child);
282                 $this->_gphotoName = $name;
283                 break;
284             case $this->lookupNamespace('gphoto') . ':' . 'numphotos';
285                 $numPhotos = new Zend_Gdata_Photos_Extension_NumPhotos();
286                 $numPhotos->transferFromDOM($child);
287                 $this->_gphotoNumPhotos = $numPhotos;
288                 break;
289             case $this->lookupNamespace('gphoto') . ':' . 'commentCount';
290                 $commentCount = new Zend_Gdata_Photos_Extension_CommentCount();
291                 $commentCount->transferFromDOM($child);
292                 $this->_gphotoCommentCount = $commentCount;
293                 break;
294             case $this->lookupNamespace('gphoto') . ':' . 'commentingEnabled';
295                 $commentingEnabled = new Zend_Gdata_Photos_Extension_CommentingEnabled();
296                 $commentingEnabled->transferFromDOM($child);
297                 $this->_gphotoCommentingEnabled = $commentingEnabled;
298                 break;
299             case $this->lookupNamespace('gphoto') . ':' . 'id';
300                 $id = new Zend_Gdata_Photos_Extension_Id();
301                 $id->transferFromDOM($child);
302                 $this->_gphotoId = $id;
303                 break;
304             case $this->lookupNamespace('gphoto') . ':' . 'user';
305                 $user = new Zend_Gdata_Photos_Extension_User();
306                 $user->transferFromDOM($child);
307                 $this->_gphotoUser = $user;
308                 break;
309             case $this->lookupNamespace('gphoto') . ':' . 'timestamp';
310                 $timestamp = new Zend_Gdata_Photos_Extension_Timestamp();
311                 $timestamp->transferFromDOM($child);
312                 $this->_gphotoTimestamp = $timestamp;
313                 break;
314             case $this->lookupNamespace('gphoto') . ':' . 'nickname';
315                 $nickname = new Zend_Gdata_Photos_Extension_Nickname();
316                 $nickname->transferFromDOM($child);
317                 $this->_gphotoNickname = $nickname;
318                 break;
319             case $this->lookupNamespace('georss') . ':' . 'where';
320                 $geoRssWhere = new Zend_Gdata_Geo_Extension_GeoRssWhere();
321                 $geoRssWhere->transferFromDOM($child);
322                 $this->_geoRssWhere = $geoRssWhere;
323                 break;
324             case $this->lookupNamespace('media') . ':' . 'group';
325                 $mediaGroup = new Zend_Gdata_Media_Extension_MediaGroup();
326                 $mediaGroup->transferFromDOM($child);
327                 $this->_mediaGroup = $mediaGroup;
328                 break;
329             default:
330                 parent::takeChildFromDOM($child);
331                 break;
332         }
333     }
334
335     /**
336      * Get the value for this element's gphoto:access attribute.
337      *
338      * @see setGphotoAccess
339      * @return string The requested attribute.
340      */
341     public function getGphotoAccess()
342     {
343         return $this->_gphotoAccess;
344     }
345
346     /**
347      * Set the value for this element's gphoto:access attribute.
348      *
349      * @param string $value The desired value for this attribute.
350      * @return Zend_Gdata_Photos_Extension_Access The element being modified.
351      */
352     public function setGphotoAccess($value)
353     {
354         $this->_gphotoAccess = $value;
355         return $this;
356     }
357
358     /**
359      * Get the value for this element's gphoto:location attribute.
360      *
361      * @see setGphotoLocation
362      * @return string The requested attribute.
363      */
364     public function getGphotoLocation()
365     {
366         return $this->_gphotoLocation;
367     }
368
369     /**
370      * Set the value for this element's gphoto:location attribute.
371      *
372      * @param string $value The desired value for this attribute.
373      * @return Zend_Gdata_Photos_Extension_Location The element being modified.
374      */
375     public function setGphotoLocation($value)
376     {
377         $this->_location = $value;
378         return $this;
379     }
380
381     /**
382      * Get the value for this element's gphoto:name attribute.
383      *
384      * @see setGphotoName
385      * @return string The requested attribute.
386      */
387     public function getGphotoName()
388     {
389         return $this->_gphotoName;
390     }
391
392     /**
393      * Set the value for this element's gphoto:name attribute.
394      *
395      * @param string $value The desired value for this attribute.
396      * @return Zend_Gdata_Photos_Extension_Name The element being modified.
397      */
398     public function setGphotoName($value)
399     {
400         $this->_gphotoName = $value;
401         return $this;
402     }
403
404     /**
405      * Get the value for this element's gphoto:numphotos attribute.
406      *
407      * @see setGphotoNumPhotos
408      * @return string The requested attribute.
409      */
410     public function getGphotoNumPhotos()
411     {
412         return $this->_gphotoNumPhotos;
413     }
414
415     /**
416      * Set the value for this element's gphoto:numphotos attribute.
417      *
418      * @param string $value The desired value for this attribute.
419      * @return Zend_Gdata_Photos_Extension_NumPhotos The element being modified.
420      */
421     public function setGphotoNumPhotos($value)
422     {
423         $this->_gphotoNumPhotos = $value;
424         return $this;
425     }
426
427     /**
428      * Get the value for this element's gphoto:commentCount attribute.
429      *
430      * @see setGphotoCommentCount
431      * @return string The requested attribute.
432      */
433     public function getGphotoCommentCount()
434     {
435         return $this->_gphotoCommentCount;
436     }
437
438     /**
439      * Set the value for this element's gphoto:commentCount attribute.
440      *
441      * @param string $value The desired value for this attribute.
442      * @return Zend_Gdata_Photos_Extension_CommentCount The element being modified.
443      */
444     public function setGphotoCommentCount($value)
445     {
446         $this->_gphotoCommentCount = $value;
447         return $this;
448     }
449
450     /**
451      * Get the value for this element's gphoto:commentingEnabled attribute.
452      *
453      * @see setGphotoCommentingEnabled
454      * @return string The requested attribute.
455      */
456     public function getGphotoCommentingEnabled()
457     {
458         return $this->_gphotoCommentingEnabled;
459     }
460
461     /**
462      * Set the value for this element's gphoto:commentingEnabled attribute.
463      *
464      * @param string $value The desired value for this attribute.
465      * @return Zend_Gdata_Photos_Extension_CommentingEnabled The element being modified.
466      */
467     public function setGphotoCommentingEnabled($value)
468     {
469         $this->_gphotoCommentingEnabled = $value;
470         return $this;
471     }
472
473     /**
474      * Get the value for this element's gphoto:id attribute.
475      *
476      * @see setGphotoId
477      * @return string The requested attribute.
478      */
479     public function getGphotoId()
480     {
481         return $this->_gphotoId;
482     }
483
484     /**
485      * Set the value for this element's gphoto:id attribute.
486      *
487      * @param string $value The desired value for this attribute.
488      * @return Zend_Gdata_Photos_Extension_Id The element being modified.
489      */
490     public function setGphotoId($value)
491     {
492         $this->_gphotoId = $value;
493         return $this;
494     }
495
496     /**
497      * Get the value for this element's georss:where attribute.
498      *
499      * @see setGeoRssWhere
500      * @return string The requested attribute.
501      */
502     public function getGeoRssWhere()
503     {
504         return $this->_geoRssWhere;
505     }
506
507     /**
508      * Set the value for this element's georss:where attribute.
509      *
510      * @param string $value The desired value for this attribute.
511      * @return Zend_Gdata_Geo_Extension_GeoRssWhere The element being modified.
512      */
513     public function setGeoRssWhere($value)
514     {
515         $this->_geoRssWhere = $value;
516         return $this;
517     }
518
519     /**
520      * Get the value for this element's media:group attribute.
521      *
522      * @see setMediaGroup
523      * @return string The requested attribute.
524      */
525     public function getMediaGroup()
526     {
527         return $this->_mediaGroup;
528     }
529
530     /**
531      * Set the value for this element's media:group attribute.
532      *
533      * @param string $value The desired value for this attribute.
534      * @return Zend_Gdata_Media_Extension_MediaGroup The element being modified.
535      */
536     public function setMediaGroup($value)
537     {
538         $this->_mediaGroup = $value;
539         return $this;
540     }
541
542     /**
543      * Get the value for this element's gphoto:user attribute.
544      *
545      * @see setGphotoUser
546      * @return string The requested attribute.
547      */
548     public function getGphotoUser()
549     {
550         return $this->_gphotoUser;
551     }
552
553     /**
554      * Set the value for this element's gphoto:user attribute.
555      *
556      * @param string $value The desired value for this attribute.
557      * @return Zend_Gdata_Photos_Extension_User The element being modified.
558      */
559     public function setGphotoUser($value)
560     {
561         $this->_gphotoUser = $value;
562         return $this;
563     }
564
565     /**
566      * Get the value for this element's gphoto:nickname attribute.
567      *
568      * @see setGphotoNickname
569      * @return string The requested attribute.
570      */
571     public function getGphotoNickname()
572     {
573         return $this->_gphotoNickname;
574     }
575
576     /**
577      * Set the value for this element's gphoto:nickname attribute.
578      *
579      * @param string $value The desired value for this attribute.
580      * @return Zend_Gdata_Photos_Extension_Nickname The element being modified.
581      */
582     public function setGphotoNickname($value)
583     {
584         $this->_gphotoNickname = $value;
585         return $this;
586     }
587
588     /**
589      * Get the value for this element's gphoto:timestamp attribute.
590      *
591      * @see setGphotoTimestamp
592      * @return string The requested attribute.
593      */
594     public function getGphotoTimestamp()
595     {
596         return $this->_gphotoTimestamp;
597     }
598
599     /**
600      * Set the value for this element's gphoto:timestamp attribute.
601      *
602      * @param string $value The desired value for this attribute.
603      * @return Zend_Gdata_Photos_Extension_Timestamp The element being modified.
604      */
605     public function setGphotoTimestamp($value)
606     {
607         $this->_gphotoTimestamp = $value;
608         return $this;
609     }
610 }