| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566 |
- <?php
- /**
- * Zend Framework
- *
- * LICENSE
- *
- * This source file is subject to the new BSD license that is bundled
- * with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://framework.zend.com/license/new-bsd
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@zend.com so we can send you a copy immediately.
- *
- * @category Zend
- * @package Zend_Gdata
- * @subpackage Media
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- * @version $Id$
- */
- /**
- * @see Zend_Gdata_Extension
- */
- require_once 'Zend/Gdata/Extension.php';
- /**
- * @see Zend_Gdata_Entry
- */
- require_once 'Zend/Gdata/Entry.php';
- /**
- * @see Zend_Gdata_Media_Extension_MediaContent
- */
- require_once 'Zend/Gdata/Media/Extension/MediaContent.php';
- /**
- * @see Zend_Gdata_Media_Extension_MediaCategory
- */
- require_once 'Zend/Gdata/Media/Extension/MediaCategory.php';
- /**
- * @see Zend_Gdata_Media_Extension_MediaCopyright
- */
- require_once 'Zend/Gdata/Media/Extension/MediaCopyright.php';
- /**
- * @see Zend_Gdata_Media_Extension_MediaCredit
- */
- require_once 'Zend/Gdata/Media/Extension/MediaCredit.php';
- /**
- * @see Zend_Gdata_Media_Extension_MediaDescription
- */
- require_once 'Zend/Gdata/Media/Extension/MediaDescription.php';
- /**
- * @see Zend_Gdata_Media_Extension_MediaHash
- */
- require_once 'Zend/Gdata/Media/Extension/MediaHash.php';
- /**
- * @see Zend_Gdata_Media_Extension_MediaKeywords
- */
- require_once 'Zend/Gdata/Media/Extension/MediaKeywords.php';
- /**
- * @see Zend_Gdata_Media_Extension_MediaPlayer
- */
- require_once 'Zend/Gdata/Media/Extension/MediaPlayer.php';
- /**
- * @see Zend_Gdata_Media_Extension_MediaRating
- */
- require_once 'Zend/Gdata/Media/Extension/MediaRating.php';
- /**
- * @see Zend_Gdata_Media_Extension_MediaRestriction
- */
- require_once 'Zend/Gdata/Media/Extension/MediaRestriction.php';
- /**
- * @see Zend_Gdata_Media_Extension_MediaText
- */
- require_once 'Zend/Gdata/Media/Extension/MediaText.php';
- /**
- * @see Zend_Gdata_Media_Extension_MediaThumbnail
- */
- require_once 'Zend/Gdata/Media/Extension/MediaThumbnail.php';
- /**
- * @see Zend_Gdata_Media_Extension_MediaTitle
- */
- require_once 'Zend/Gdata/Media/Extension/MediaTitle.php';
- /**
- * This class represents the media:group element of Media RSS.
- * It allows the grouping of media:content elements that are
- * different representations of the same content. When it exists,
- * it is a child of an Entry (Atom) or Item (RSS).
- *
- * @category Zend
- * @package Zend_Gdata
- * @subpackage Media
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- */
- class Zend_Gdata_Media_Extension_MediaGroup extends Zend_Gdata_Extension
- {
- protected $_rootElement = 'group';
- protected $_rootNamespace = 'media';
- /**
- * @var array
- */
- protected $_content = array();
- /**
- * @var array
- */
- protected $_category = array();
- /**
- * @var Zend_Gdata_Media_Extension_MediaCopyright
- */
- protected $_copyright = null;
- /**
- * @var array
- */
- protected $_credit = array();
- /**
- * @var Zend_Gdata_Media_Extension_MediaDescription
- */
- protected $_description = null;
- /**
- * @var array
- */
- protected $_hash = array();
- /**
- * @var Zend_Gdata_Media_Extension_MediaKeywords
- */
- protected $_keywords = null;
- /**
- * @var array
- */
- protected $_player = array();
- /**
- * @var array
- */
- protected $_rating = array();
- /**
- * @var array
- */
- protected $_restriction = array();
- /**
- * @var array
- */
- protected $_mediaText = array();
- /**
- * @var array
- */
- protected $_thumbnail = array();
- /**
- * @var string
- */
- protected $_title = null;
- /**
- * Creates an individual MediaGroup object.
- */
- public function __construct($element = null)
- {
- $this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
- parent::__construct($element);
- }
- /**
- * Retrieves a DOMElement which corresponds to this element and all
- * child properties. This is used to build an entry back into a DOM
- * and eventually XML text for sending to the server upon updates, or
- * for application storage/persistence.
- *
- * @param DOMDocument $doc The DOMDocument used to construct DOMElements
- * @return DOMElement The DOMElement representing this element and all
- * child properties.
- */
- public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
- {
- $element = parent::getDOM($doc, $majorVersion, $minorVersion);
- foreach ($this->_content as $content) {
- $element->appendChild($content->getDOM($element->ownerDocument));
- }
- foreach ($this->_category as $category) {
- $element->appendChild($category->getDOM($element->ownerDocument));
- }
- foreach ($this->_credit as $credit) {
- $element->appendChild($credit->getDOM($element->ownerDocument));
- }
- foreach ($this->_player as $player) {
- $element->appendChild($player->getDOM($element->ownerDocument));
- }
- foreach ($this->_rating as $rating) {
- $element->appendChild($rating->getDOM($element->ownerDocument));
- }
- foreach ($this->_restriction as $restriction) {
- $element->appendChild($restriction->getDOM($element->ownerDocument));
- }
- foreach ($this->_mediaText as $text) {
- $element->appendChild($text->getDOM($element->ownerDocument));
- }
- foreach ($this->_thumbnail as $thumbnail) {
- $element->appendChild($thumbnail->getDOM($element->ownerDocument));
- }
- if ($this->_copyright != null) {
- $element->appendChild(
- $this->_copyright->getDOM($element->ownerDocument));
- }
- if ($this->_description != null) {
- $element->appendChild(
- $this->_description->getDOM($element->ownerDocument));
- }
- foreach ($this->_hash as $hash) {
- $element->appendChild($hash->getDOM($element->ownerDocument));
- }
- if ($this->_keywords != null) {
- $element->appendChild(
- $this->_keywords->getDOM($element->ownerDocument));
- }
- if ($this->_title != null) {
- $element->appendChild(
- $this->_title->getDOM($element->ownerDocument));
- }
- return $element;
- }
- /**
- * Creates individual Entry objects of the appropriate type and
- * stores them in the $_entry array based upon DOM data.
- *
- * @param DOMNode $child The DOMNode to process
- */
- protected function takeChildFromDOM($child)
- {
- $absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
- switch ($absoluteNodeName) {
- case $this->lookupNamespace('media') . ':' . 'content';
- $content = new Zend_Gdata_Media_Extension_MediaContent();
- $content->transferFromDOM($child);
- $this->_content[] = $content;
- break;
- case $this->lookupNamespace('media') . ':' . 'category';
- $category = new Zend_Gdata_Media_Extension_MediaCategory();
- $category->transferFromDOM($child);
- $this->_category[] = $category;
- break;
- case $this->lookupNamespace('media') . ':' . 'copyright';
- $copyright = new Zend_Gdata_Media_Extension_MediaCopyright();
- $copyright->transferFromDOM($child);
- $this->_copyright = $copyright;
- break;
- case $this->lookupNamespace('media') . ':' . 'credit';
- $credit = new Zend_Gdata_Media_Extension_MediaCredit();
- $credit->transferFromDOM($child);
- $this->_credit[] = $credit;
- break;
- case $this->lookupNamespace('media') . ':' . 'description';
- $description = new Zend_Gdata_Media_Extension_MediaDescription();
- $description->transferFromDOM($child);
- $this->_description = $description;
- break;
- case $this->lookupNamespace('media') . ':' . 'hash';
- $hash = new Zend_Gdata_Media_Extension_MediaHash();
- $hash->transferFromDOM($child);
- $this->_hash[] = $hash;
- break;
- case $this->lookupNamespace('media') . ':' . 'keywords';
- $keywords = new Zend_Gdata_Media_Extension_MediaKeywords();
- $keywords->transferFromDOM($child);
- $this->_keywords = $keywords;
- break;
- case $this->lookupNamespace('media') . ':' . 'player';
- $player = new Zend_Gdata_Media_Extension_MediaPlayer();
- $player->transferFromDOM($child);
- $this->_player[] = $player;
- break;
- case $this->lookupNamespace('media') . ':' . 'rating';
- $rating = new Zend_Gdata_Media_Extension_MediaRating();
- $rating->transferFromDOM($child);
- $this->_rating[] = $rating;
- break;
- case $this->lookupNamespace('media') . ':' . 'restriction';
- $restriction = new Zend_Gdata_Media_Extension_MediaRestriction();
- $restriction->transferFromDOM($child);
- $this->_restriction[] = $restriction;
- break;
- case $this->lookupNamespace('media') . ':' . 'text';
- $text = new Zend_Gdata_Media_Extension_MediaText();
- $text->transferFromDOM($child);
- $this->_mediaText[] = $text;
- break;
- case $this->lookupNamespace('media') . ':' . 'thumbnail';
- $thumbnail = new Zend_Gdata_Media_Extension_MediaThumbnail();
- $thumbnail->transferFromDOM($child);
- $this->_thumbnail[] = $thumbnail;
- break;
- case $this->lookupNamespace('media') . ':' . 'title';
- $title = new Zend_Gdata_Media_Extension_MediaTitle();
- $title->transferFromDOM($child);
- $this->_title = $title;
- break;
- default:
- parent::takeChildFromDOM($child);
- break;
- }
- }
- /**
- * @return array
- */
- public function getContent()
- {
- return $this->_content;
- }
- /**
- * @param array $value
- * @return Zend_Gdata_Media_MediaGroup Provides a fluent interface
- */
- public function setContent($value)
- {
- $this->_content = $value;
- return $this;
- }
- /**
- * @return array
- */
- public function getCategory()
- {
- return $this->_category;
- }
- /**
- * @param array $value
- * @return Zend_Gdata_Media_Extension_MediaGroup
- */
- public function setCategory($value)
- {
- $this->_category = $value;
- return $this;
- }
- /**
- * @return Zend_Gdata_Media_Extension_MediaCopyright
- */
- public function getCopyright()
- {
- return $this->_copyright;
- }
- /**
- * @param Zend_Gdata_Media_Extension_MediaCopyright $value
- * @return Zend_Gdata_Media_Extension_MediaGroup
- */
- public function setCopyright($value)
- {
- $this->_copyright = $value;
- return $this;
- }
- /**
- * @return array
- */
- public function getCredit()
- {
- return $this->_credit;
- }
- /**
- * @param array $value
- * @return Zend_Gdata_Media_Extension_MediaGroup
- */
- public function setCredit($value)
- {
- $this->_credit = $value;
- return $this;
- }
- /**
- * @return Zend_Gdata_Media_Extension_MediaTitle
- */
- public function getTitle()
- {
- return $this->_title;
- }
- /**
- * @param Zend_Gdata_Media_Extension_MediaTitle $value
- * @return Zend_Gdata_Media_Extension_MediaGroup
- */
- public function setTitle($value)
- {
- $this->_title = $value;
- return $this;
- }
- /**
- * @return Zend_Gdata_Media_Extension_MediaDescription
- */
- public function getDescription()
- {
- return $this->_description;
- }
- /**
- * @param Zend_Gdata_Media_Extension_MediaDescription $value
- * @return Zend_Gdata_Media_Extension_MediaGroup
- */
- public function setDescription($value)
- {
- $this->_description = $value;
- return $this;
- }
- /**
- * @return array
- */
- public function getHash()
- {
- return $this->_hash;
- }
- /**
- * @param array $value
- * @return Zend_Gdata_Media_Extension_MediaGroup
- */
- public function setHash($value)
- {
- $this->_hash = $value;
- return $this;
- }
- /**
- * @return Zend_Gdata_Media_Extension_MediaKeywords
- */
- public function getKeywords()
- {
- return $this->_keywords;
- }
- /**
- * @param array $value
- * @return Zend_Gdata_Media_Extension_MediaGroup Provides a fluent interface
- */
- public function setKeywords($value)
- {
- $this->_keywords = $value;
- return $this;
- }
- /**
- * @return array
- */
- public function getPlayer()
- {
- return $this->_player;
- }
- /**
- * @param array
- * @return Zend_Gdata_Media_Extension_MediaGroup
- */
- public function setPlayer($value)
- {
- $this->_player = $value;
- return $this;
- }
- /**
- * @return array
- */
- public function getRating()
- {
- return $this->_rating;
- }
- /**
- * @param array
- * @return Zend_Gdata_Media_Extension_MediaGroup
- */
- public function setRating($value)
- {
- $this->_rating = $value;
- return $this;
- }
- /**
- * @return array
- */
- public function getRestriction()
- {
- return $this->_restriction;
- }
- /**
- * @param array
- * @return Zend_Gdata_Media_Extension_MediaGroup
- */
- public function setRestriction($value)
- {
- $this->_restriction = $value;
- return $this;
- }
- /**
- * @return array
- */
- public function getThumbnail()
- {
- return $this->_thumbnail;
- }
- /**
- * @param array
- * @return Zend_Gdata_Media_Extension_MediaGroup
- */
- public function setThumbnail($value)
- {
- $this->_thumbnail = $value;
- return $this;
- }
- /**
- * @return array
- */
- public function getMediaText()
- {
- return $this->_mediaText;
- }
- /**
- * @param array
- * @return Zend_Gdata_Media_Extension_MediaGroup
- */
- public function setMediaText($value)
- {
- $this->_mediaText = $value;
- return $this;
- }
- }
|