Current File : /home/k/a/r/karenpetzb/www/items/category/YouTube.tar |
CommentEntry.php 0000604 00000002434 15071370415 0007703 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Feed
*/
require_once 'Zend/Gdata/Media/Feed.php';
/**
* The YouTube comments flavor of an Atom Entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_CommentEntry extends Zend_Gdata_Entry
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_CommentEntry';
}
Extension/MediaGroup.php 0000604 00000023230 15071370415 0011264 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Extension_MediaGroup
*/
require_once 'Zend/Gdata/Media/Extension/MediaGroup.php';
/**
* @see Zend_Gdata_YouTube_Extension_MediaContent
*/
require_once 'Zend/Gdata/YouTube/Extension/MediaContent.php';
/**
* @see Zend_Gdata_YouTube_Extension_Duration
*/
require_once 'Zend/Gdata/YouTube/Extension/Duration.php';
/**
* @see Zend_Gdata_YouTube_Extension_MediaRating
*/
require_once 'Zend/Gdata/YouTube/Extension/MediaRating.php';
/**
* @see Zend_Gdata_YouTube_Extension_MediaCredit
*/
require_once 'Zend/Gdata/YouTube/Extension/MediaCredit.php';
/**
* @see Zend_Gdata_YouTube_Extension_Private
*/
require_once 'Zend/Gdata/YouTube/Extension/Private.php';
/**
* @see Zend_Gdata_YouTube_Extension_VideoId
*/
require_once 'Zend/Gdata/YouTube/Extension/VideoId.php';
/**
* @see Zend_Gdata_YouTube_Extension_Uploaded
*/
require_once 'Zend/Gdata/YouTube/Extension/Uploaded.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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_MediaGroup extends Zend_Gdata_Media_Extension_MediaGroup
{
protected $_rootElement = 'group';
protected $_rootNamespace = 'media';
/**
* @var Zend_Gdata_YouTube_Extension_Duration
*/
protected $_duration = null;
/**
* @var Zend_Gdata_YouTube_Extension_Private
*/
protected $_private = null;
/**
* @var Zend_Gdata_YouTube_Extension_VideoId
*/
protected $_videoid = null;
/**
* @var Zend_Gdata_YouTube_Extension_MediaRating
*/
protected $_mediarating = null;
/**
* @var Zend_Gdata_YouTube_Extension_MediaCredit
*/
protected $_mediacredit = null;
/**
* @var Zend_Gdata_YouTube_Extension_Uploaded
*/
protected $_uploaded = null;
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_duration !== null) {
$element->appendChild(
$this->_duration->getDOM($element->ownerDocument));
}
if ($this->_private !== null) {
$element->appendChild(
$this->_private->getDOM($element->ownerDocument));
}
if ($this->_videoid != null) {
$element->appendChild(
$this->_videoid->getDOM($element->ownerDocument));
}
if ($this->_uploaded != null) {
$element->appendChild(
$this->_uploaded->getDOM($element->ownerDocument));
}
if ($this->_mediacredit != null) {
$element->appendChild(
$this->_mediacredit->getDOM($element->ownerDocument));
}
if ($this->_mediarating != null) {
$element->appendChild(
$this->_mediarating->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_YouTube_Extension_MediaContent();
$content->transferFromDOM($child);
$this->_content[] = $content;
break;
case $this->lookupNamespace('media') . ':' . 'rating':
$mediarating = new Zend_Gdata_YouTube_Extension_MediaRating();
$mediarating->transferFromDOM($child);
$this->_mediarating = $mediarating;
break;
case $this->lookupNamespace('media') . ':' . 'credit':
$mediacredit = new Zend_Gdata_YouTube_Extension_MediaCredit();
$mediacredit->transferFromDOM($child);
$this->_mediacredit = $mediacredit;
break;
case $this->lookupNamespace('yt') . ':' . 'duration':
$duration = new Zend_Gdata_YouTube_Extension_Duration();
$duration->transferFromDOM($child);
$this->_duration = $duration;
break;
case $this->lookupNamespace('yt') . ':' . 'private':
$private = new Zend_Gdata_YouTube_Extension_Private();
$private->transferFromDOM($child);
$this->_private = $private;
break;
case $this->lookupNamespace('yt') . ':' . 'videoid':
$videoid = new Zend_Gdata_YouTube_Extension_VideoId();
$videoid ->transferFromDOM($child);
$this->_videoid = $videoid;
break;
case $this->lookupNamespace('yt') . ':' . 'uploaded':
$uploaded = new Zend_Gdata_YouTube_Extension_Uploaded();
$uploaded ->transferFromDOM($child);
$this->_uploaded = $uploaded;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Returns the duration value of this element
*
* @return Zend_Gdata_YouTube_Extension_Duration
*/
public function getDuration()
{
return $this->_duration;
}
/**
* Sets the duration value of this element
*
* @param Zend_Gdata_YouTube_Extension_Duration $value The duration value
* @return Zend_Gdata_YouTube_Extension_MediaGroup Provides a fluent
* interface
*/
public function setDuration($value)
{
$this->_duration = $value;
return $this;
}
/**
* Returns the videoid value of this element
*
* @return Zend_Gdata_YouTube_Extension_VideoId
*/
public function getVideoId()
{
return $this->_videoid;
}
/**
* Sets the videoid value of this element
*
* @param Zend_Gdata_YouTube_Extension_VideoId $value The video id value
* @return Zend_Gdata_YouTube_Extension_MediaGroup Provides a fluent
* interface
*/
public function setVideoId($value)
{
$this->_videoid = $value;
return $this;
}
/**
* Returns the yt:uploaded element
*
* @return Zend_Gdata_YouTube_Extension_Uploaded
*/
public function getUploaded()
{
return $this->_uploaded;
}
/**
* Sets the yt:uploaded element
*
* @param Zend_Gdata_YouTube_Extension_Uploaded $value The uploaded value
* @return Zend_Gdata_YouTube_Extension_MediaGroup Provides a fluent
* interface
*/
public function setUploaded($value)
{
$this->_uploaded = $value;
return $this;
}
/**
* Returns the private value of this element
*
* @return Zend_Gdata_YouTube_Extension_Private
*/
public function getPrivate()
{
return $this->_private;
}
/**
* Sets the private value of this element
*
* @param Zend_Gdata_YouTube_Extension_Private $value The private value
* @return Zend_Gdata_YouTube_Extension_MediaGroup Provides a fluent
* interface
*/
public function setPrivate($value)
{
$this->_private = $value;
return $this;
}
/**
* Returns the rating value of this element
*
* @return Zend_Gdata_YouTube_Extension_MediaRating
*/
public function getMediaRating()
{
return $this->_mediarating;
}
/**
* Sets the media:rating value of this element
*
* @param Zend_Gdata_YouTube_Extension_MediaRating $value The rating element
* @return Zend_Gdata_YouTube_Extension_MediaGroup Provides a fluent
* interface
*/
public function setMediaRating($value)
{
$this->_mediarating = $value;
return $this;
}
/**
* Returns the media:credit value of this element
*
* @return Zend_Gdata_YouTube_Extension_MediaCredit
*/
public function getMediaCredit()
{
return $this->_mediacredit;
}
/**
* Sets the media:credit value of this element
*
* @param Zend_Gdata_YouTube_Extension_MediaCredit $value The credit element
* @return Zend_Gdata_YouTube_Extension_MediaGroup Provides a fluent
* interface
*/
public function setMediaCredit($value)
{
$this->_mediacredit = $value;
return $this;
}
}
Extension/Status.php 0000604 00000002601 15071370415 0010512 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:status element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Status extends Zend_Gdata_Extension
{
protected $_rootElement = 'status';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/Control.php 0000604 00000010003 15071370415 0010642 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension_Control
*/
require_once 'Zend/Gdata/App/Extension/Control.php';
/**
* @see Zend_Gdata_YouTube_Extension_State
*/
require_once 'Zend/Gdata/YouTube/Extension/State.php';
/**
* Specialized Control class for use with YouTube. Enables use of yt extension elements.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Control extends Zend_Gdata_App_Extension_Control
{
protected $_state = null;
/**
* Constructs a new Zend_Gdata_Calendar_Extension_Control object.
* @see Zend_Gdata_App_Extension_Control#__construct
* @param Zend_Gdata_App_Extension_Draft $draft
* @param Zend_Gdata_YouTube_Extension_State $state
*/
public function __construct($draft = null, $state = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($draft);
$this->_state = $state;
}
/**
* 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);
if ($this->_state != null) {
$element->appendChild($this->_state->getDOM($element->ownerDocument));
}
return $element;
}
/**
* Creates individual Entry objects of the appropriate type and
* stores them as members of this entry 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('yt') . ':' . 'state':
$state = new Zend_Gdata_YouTube_Extension_State();
$state->transferFromDOM($child);
$this->_state = $state;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Get the value for this element's state attribute.
*
* @return Zend_Gdata_YouTube_Extension_State The state element.
*/
public function getState()
{
return $this->_state;
}
/**
* Set the value for this element's state attribute.
*
* @param Zend_Gdata_YouTube_Extension_State $value The desired value for this attribute.
* @return Zend_YouTube_Extension_Control The element being modified.
*/
public function setState($value)
{
$this->_state = $value;
return $this;
}
/**
* Get the value of this element's state attribute.
*
* @return string The state's text value
*/
public function getStateValue()
{
return $this->getState()->getText();
}
}
Extension/Token.php 0000604 00000004177 15071370415 0010321 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:token element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Token extends Zend_Gdata_App_Extension
{
protected $_rootNamespace = 'yt';
protected $_rootElement = 'token';
/**
* Constructs a new Zend_Gdata_YouTube_Extension_Token object.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
/**
* 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);
return $element;
}
}
Extension/NoEmbed.php 0000604 00000003046 15071370415 0010544 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:noembed element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_NoEmbed extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'yt';
protected $_rootElement = 'noembed';
/**
* Constructs a new Zend_Gdata_YouTube_Extension_VideoShare object.
* @param bool $enabled(optional) The enabled value of the element.
*/
public function __construct($enabled = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
}
}
Extension/Relationship.php 0000604 00000002623 15071370415 0011674 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:relationship element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Relationship extends Zend_Gdata_Extension
{
protected $_rootElement = 'relationship';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/Description.php 0000604 00000002620 15071370415 0011513 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:description element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Description extends Zend_Gdata_Extension
{
protected $_rootElement = 'description';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/State.php 0000604 00000013167 15071370415 0010320 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:state element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_State extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'yt';
protected $_rootElement = 'state';
protected $_name = null;
protected $_reasonCode = null;
protected $_helpUrl = null;
/**
* Constructs a new Zend_Gdata_YouTube_Extension_State object.
*
* @param string $explanation(optional) The explanation of this state
* @param string $name(optional) The name value
* @param string $reasonCode(optional) The reasonCode value
* @param string $helpUrl(optional) The helpUrl value
*/
public function __construct($explanation = null, $name = null,
$reasonCode = null, $helpUrl = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $explanation;
$this->_name = $name;
$this->_reasonCode = $reasonCode;
$this->_helpUrl = $reasonCode;
}
/**
* 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);
if ($this->_name !== null) {
$element->setAttribute('name', $this->_name);
}
if ($this->_reasonCode !== null) {
$element->setAttribute('reasonCode', $this->_reasonCode);
}
if ($this->_helpUrl !== null) {
$element->setAttribute('helpUrl', $this->_helpUrl);
}
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and valueare
* stored in an array.
* TODO: Convert attributes to proper types
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'name':
$this->_name = $attribute->nodeValue;
break;
case 'reasonCode':
$this->_reasonCode = $attribute->nodeValue;
break;
case 'helpUrl':
$this->_helpUrl = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's name attribute.
*
* @return int The value associated with this attribute.
*/
public function getName()
{
return $this->_name;
}
/**
* Set the value for this element's name attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_State The element being modified.
*/
public function setName($value)
{
$this->_name = $value;
return $this;
}
/**
* Get the value for this element's reasonCode attribute.
*
* @return int The value associated with this attribute.
*/
public function getReasonCode()
{
return $this->_reasonCode;
}
/**
* Set the value for this element's reasonCode attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_State The element being modified.
*/
public function setReasonCode($value)
{
$this->_reasonCode = $value;
return $this;
}
/**
* Get the value for this element's helpUrl attribute.
*
* @return int The value associated with this attribute.
*/
public function getHelpUrl()
{
return $this->_helpUrl;
}
/**
* Set the value for this element's helpUrl attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_State The element being modified.
*/
public function setHelpUrl($value)
{
$this->_helpUrl = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*
* @return string
*/
public function __toString()
{
return $this->_text;
}
}
Extension/PlaylistId.php 0000604 00000002615 15071370415 0011312 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:playlistId element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_PlaylistId extends Zend_Gdata_Extension
{
protected $_rootElement = 'playlistId';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/Position.php 0000604 00000004515 15071370415 0011041 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Data model class to represent a playlist item's position in the list (yt:position)
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Position extends Zend_Gdata_Extension
{
protected $_rootElement = 'position';
protected $_rootNamespace = 'yt';
/**
* Constructs a new Zend_Gdata_YouTube_Extension_Position object.
*
* @param string $value (optional) The 1-based position in the playlist
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $value;
}
/**
* Get the value for the position in the playlist
*
* @return int The 1-based position in the playlist
*/
public function getValue()
{
return $this->_text;
}
/**
* Set the value for the position in the playlist
*
* @param int $value The 1-based position in the playlist
* @return Zend_Gdata_Extension_Visibility The element being modified
*/
public function setValue($value)
{
$this->_text = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*
* @return string
*/
public function __toString()
{
return $this->getValue();
}
}
Extension/Uploaded.php 0000604 00000002607 15071370415 0010772 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:uploaded element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Uploaded extends Zend_Gdata_Extension
{
protected $_rootElement = 'uploaded';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/FirstName.php 0000604 00000002612 15071370415 0011121 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:firstName element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_FirstName extends Zend_Gdata_Extension
{
protected $_rootElement = 'firstName';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/Movies.php 0000604 00000002601 15071370415 0010471 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:movies element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Movies extends Zend_Gdata_Extension
{
protected $_rootElement = 'movies';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/Gender.php 0000604 00000002601 15071370415 0010433 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:gender element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Gender extends Zend_Gdata_Extension
{
protected $_rootElement = 'gender';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/Link.php 0000604 00000010066 15071370415 0010130 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension_Link
*/
require_once 'Zend/Gdata/App/Extension/Link.php';
/**
* @see Zend_Gdata_YouTube_Extension_Token
*/
require_once 'Zend/Gdata/YouTube/Extension/Token.php';
/**
* Specialized Link class for use with YouTube. Enables use of yt extension elements.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Link extends Zend_Gdata_App_Extension_Link
{
protected $_token = null;
/**
* Constructs a new Zend_Gdata_Calendar_Extension_Link object.
* @see Zend_Gdata_App_Extension_Link#__construct
* @param Zend_Gdata_YouTube_Extension_Token $token
*/
public function __construct($href = null, $rel = null, $type = null,
$hrefLang = null, $title = null, $length = null, $token = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($href, $rel, $type, $hrefLang, $title, $length);
$this->_token = $token;
}
/**
* 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);
if ($this->_token != null) {
$element->appendChild($this->_token->getDOM($element->ownerDocument));
}
return $element;
}
/**
* Creates individual Entry objects of the appropriate type and
* stores them as members of this entry 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('yt') . ':' . 'token':
$token = new Zend_Gdata_YouTube_Extension_Token();
$token->transferFromDOM($child);
$this->_token = $token;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Get the value for this element's token attribute.
*
* @return Zend_Gdata_YouTube_Extension_Token The token element.
*/
public function getToken()
{
return $this->_token;
}
/**
* Set the value for this element's token attribute.
*
* @param Zend_Gdata_YouTube_Extension_Token $value The desired value for this attribute.
* @return Zend_YouTube_Extension_Link The element being modified.
*/
public function setToken($value)
{
$this->_token = $value;
return $this;
}
/**
* Get the value of this element's token attribute.
*
* @return string The token's text value
*/
public function getTokenValue()
{
return $this->getToken()->getText();
}
}
Extension/Company.php 0000604 00000002604 15071370415 0010640 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:company element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Company extends Zend_Gdata_Extension
{
protected $_rootElement = 'company';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/CountHint.php 0000604 00000002612 15071370415 0011144 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:countHint element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_CountHint extends Zend_Gdata_Extension
{
protected $_rootElement = 'countHint';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/Recorded.php 0000604 00000002607 15071370415 0010764 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:recorded element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Recorded extends Zend_Gdata_Extension
{
protected $_rootElement = 'recorded';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/Age.php 0000604 00000002570 15071370415 0007730 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:age element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Age extends Zend_Gdata_Extension
{
protected $_rootElement = 'age';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/MediaRating.php 0000604 00000007751 15071370415 0011426 0 ustar 00 <?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-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the media:rating element specific to YouTube.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_MediaRating extends Zend_Gdata_Extension
{
protected $_rootElement = 'rating';
protected $_rootNamespace = 'media';
/**
* @var string
*/
protected $_scheme = null;
/**
* @var string
*/
protected $_country = null;
/**
* Constructs a new MediaRating element
*
* @param string $text
* @param string $scheme
* @param string $country
*/
public function __construct($text = null, $scheme = null, $country = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct();
$this->_scheme = $scheme;
$this->_country = $country;
$this->_text = $text;
}
/**
* 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);
if ($this->_scheme !== null) {
$element->setAttribute('scheme', $this->_scheme);
}
if ($this->_country != null) {
$element->setAttribute('country', $this->_country);
}
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and value are
* stored in an array.
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'scheme':
$this->_scheme = $attribute->nodeValue;
break;
case 'country':
$this->_country = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return string
*/
public function getScheme()
{
return $this->_scheme;
}
/**
* @param string $value
* @return Zend_Gdata_YouTube_Extension_MediaRating Provides a fluent interface
*/
public function setScheme($value)
{
$this->_scheme = $value;
return $this;
}
/**
* @return string
*/
public function getCountry()
{
return $this->_country;
}
/**
* @param string $value
* @return Zend_Gdata_YouTube_Extension_MediaRating Provides a fluent interface
*/
public function setCountry($value)
{
$this->_country = $value;
return $this;
}
}
Extension/AboutMe.php 0000604 00000002604 15071370415 0010566 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:aboutMe element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_AboutMe extends Zend_Gdata_Extension
{
protected $_rootElement = 'aboutMe';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/Hometown.php 0000604 00000002607 15071370415 0011035 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:hometown element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Hometown extends Zend_Gdata_Extension
{
protected $_rootElement = 'hometown';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/MediaCredit.php 0000604 00000011610 15071370415 0011401 0 ustar 00 <?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-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the YouTube specific media:credit element
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_MediaCredit extends Zend_Gdata_Extension
{
protected $_rootElement = 'credit';
protected $_rootNamespace = 'media';
/**
* @var string
*/
protected $_role = null;
/**
* @var string
*/
protected $_scheme = null;
/**
* Represents the value of the yt:type attribute.
*
* Set to 'partner' if the uploader of this video is a YouTube
* partner.
*
* @var string
*/
protected $_yttype = null;
/**
* Creates an individual MediaCredit object.
*
* @param string $text
* @param string $role
* @param string $scheme
*/
public function __construct($text = null, $role = null, $scheme = null,
$yttype = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct();
$this->_text = $text;
$this->_role = $role;
$this->_scheme = $scheme;
$this->_yttype = $yttype;
}
/**
* 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);
if ($this->_role !== null) {
$element->setAttribute('role', $this->_role);
}
if ($this->_scheme !== null) {
$element->setAttribute('scheme', $this->_scheme);
}
if ($this->_yttype !== null) {
$element->setAttributeNS('http://gdata.youtube.com/schemas/2007',
'yt:type', $this->_yttype);
}
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and value are
* stored in an array.
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'role':
$this->_role = $attribute->nodeValue;
break;
case 'scheme':
$this->_scheme = $attribute->nodeValue;
break;
case 'type':
$this->_yttype = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return string
*/
public function getRole()
{
return $this->_role;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaCredit Provides a fluent
* interface
*/
public function setRole($value)
{
$this->_role = $value;
return $this;
}
/**
* @return string
*/
public function getScheme()
{
return $this->_scheme;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaCredit Provides a fluent
* interface
*/
public function setScheme($value)
{
$this->_scheme = $value;
return $this;
}
/**
* @return string
*/
public function getYTtype()
{
return $this->_yttype;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaCredit Provides a fluent
* interface
*/
public function setYTtype($value)
{
$this->_yttype = $value;
return $this;
}
} Extension/Duration.php 0000604 00000007277 15071370415 0011032 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:duration element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Duration extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'yt';
protected $_rootElement = 'duration';
protected $_seconds = null;
/**
* Constructs a new Zend_Gdata_YouTube_Extension_Duration object.
* @param bool $seconds(optional) The seconds value of the element.
*/
public function __construct($seconds = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_seconds = $seconds;
}
/**
* 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);
if ($this->_seconds !== null) {
$element->setAttribute('seconds', $this->_seconds);
}
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and valueare
* stored in an array.
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'seconds':
$this->_seconds = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's seconds attribute.
*
* @return int The value associated with this attribute.
*/
public function getSeconds()
{
return $this->_seconds;
}
/**
* Set the value for this element's seconds attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_Duration The element being modified.
*/
public function setSeconds($value)
{
$this->_seconds = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*
* @return string The duration in seconds
*/
public function __toString()
{
return $this->_seconds;
}
}
Extension/MediaContent.php 0000604 00000007140 15071370415 0011604 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Extension_MediaContent
*/
require_once 'Zend/Gdata/Media/Extension/MediaContent.php';
/**
* Represents the media:content element of Media RSS.
* Represents media objects. Multiple media objects representing
* the same content can be represented using a
* media:group (Zend_Gdata_Media_Extension_MediaGroup) element.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_MediaContent extends Zend_Gdata_Media_Extension_MediaContent
{
protected $_rootElement = 'content';
protected $_rootNamespace = 'media';
/*
* Format of the video
* Optional.
*
* @var int
*/
protected $_format = null;
function __construct() {
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
}
/**
* 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);
if ($this->_format!= null) {
$element->setAttributeNS($this->lookupNamespace('yt'), 'yt:format', $this->_format);
}
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and value are
* stored in an array.
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
$absoluteAttrName = $attribute->namespaceURI . ':' . $attribute->localName;
if ($absoluteAttrName == $this->lookupNamespace('yt') . ':' . 'format') {
$this->_format = $attribute->nodeValue;
} else {
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Returns the format of the media
* Optional.
*
* @return int The format of the media
*/
public function getFormat()
{
return $this->_format;
}
/**
* Sets the format of the media
*
* @param int $value Format of the media
* @return Zend_Gdata_YouTube_Extension_MediaContent Provides a fluent interface
*
*/
public function setFormat($value)
{
$this->_format = $value;
return $this;
}
}
Extension/Username.php 0000604 00000002607 15071370415 0011014 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:username element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Username extends Zend_Gdata_Extension
{
protected $_rootElement = 'username';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/ReleaseDate.php 0000604 00000002620 15071370415 0011406 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:releaseDate element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_ReleaseDate extends Zend_Gdata_Extension
{
protected $_rootElement = 'releaseDate';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/Music.php 0000604 00000002576 15071370415 0010322 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:music element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Music extends Zend_Gdata_Extension
{
protected $_rootElement = 'music';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/LastName.php 0000604 00000002607 15071370415 0010741 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:lastName element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_LastName extends Zend_Gdata_Extension
{
protected $_rootElement = 'lastName';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/Racy.php 0000604 00000007125 15071370415 0010133 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:racy element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Racy extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'yt';
protected $_rootElement = 'racy';
protected $_state = null;
/**
* Constructs a new Zend_Gdata_YouTube_Extension_Racy object.
* @param bool $state(optional) The state value of the element.
*/
public function __construct($state = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_state = $state;
}
/**
* 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);
if ($this->_state !== null) {
$element->setAttribute('state', $this->_state);
}
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and value are
* stored in an array.
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'state':
$this->_state = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's state attribute.
*
* @return bool The value associated with this attribute.
*/
public function getState()
{
return $this->_state;
}
/**
* Set the value for this element's state attribute.
*
* @param bool $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_Racy The element being modified.
*/
public function setState($value)
{
$this->_state = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*/
public function __toString()
{
return $this->_state;
}
}
Extension/Occupation.php 0000604 00000002615 15071370415 0011340 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:occupation element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Occupation extends Zend_Gdata_Extension
{
protected $_rootElement = 'occupation';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/PlaylistTitle.php 0000604 00000002626 15071370415 0012041 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:playlistTitle element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_PlaylistTitle extends Zend_Gdata_Extension
{
protected $_rootElement = 'playlistTitle';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/QueryString.php 0000604 00000002620 15071370415 0011524 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:queryString element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_QueryString extends Zend_Gdata_Extension
{
protected $_rootElement = 'queryString';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/Location.php 0000604 00000002607 15071370415 0011005 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:location element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Location extends Zend_Gdata_Extension
{
protected $_rootElement = 'location';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/Private.php 0000604 00000004745 15071370415 0010654 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:private element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Private extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'yt';
protected $_rootElement = 'private';
/**
* Constructs a new Zend_Gdata_YouTube_Extension_Private object.
*/
public function __construct()
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
}
/**
* 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);
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and valueare
* stored in an array.
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
parent::takeAttributeFromDOM($attribute);
}
}
Extension/School.php 0000604 00000002601 15071370415 0010456 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:school element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_School extends Zend_Gdata_Extension
{
protected $_rootElement = 'school';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/Statistics.php 0000604 00000011310 15071370415 0011356 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:statistics element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Statistics extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'yt';
protected $_rootElement = 'statistics';
protected $_viewCount = null;
protected $_watchCount = null;
/**
* Constructs a new Zend_Gdata_YouTube_Extension_Statistics object.
* @param string $viewCount(optional) The viewCount value
* @param string $watchCount(optional) The watchCount value
*/
public function __construct($viewCount = null, $watchCount = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_viewCount = $viewCount;
$this->_watchCount = $watchCount;
}
/**
* 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);
if ($this->_viewCount !== null) {
$element->setAttribute('viewCount', $this->_viewCount);
}
if ($this->_watchCount !== null) {
$element->setAttribute('watchCount', $this->_watchCount);
}
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and valueare
* stored in an array.
* TODO: Convert attributes to proper types
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'viewCount':
$this->_viewCount = $attribute->nodeValue;
break;
case 'watchCount':
$this->_watchCount = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's viewCount attribute.
*
* @return int The value associated with this attribute.
*/
public function getViewCount()
{
return $this->_viewCount;
}
/**
* Set the value for this element's viewCount attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_Statistics The element being modified.
*/
public function setViewCount($value)
{
$this->_viewCount = $value;
return $this;
}
/**
* Get the value for this element's watchCount attribute.
*
* @return int The value associated with this attribute.
*/
public function getWatchCount()
{
return $this->_watchCount;
}
/**
* Set the value for this element's watchCount attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_Statistics The element being modified.
*/
public function setWatchCount($value)
{
$this->_watchCount = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*
* @return string
*/
public function __toString()
{
return 'View Count=' . $this->_viewCount;
}
}
Extension/VideoId.php 0000604 00000002604 15071370415 0010555 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:videoid element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_VideoId extends Zend_Gdata_Extension
{
protected $_rootElement = 'videoid';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/Hobbies.php 0000604 00000002604 15071370415 0010605 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:hobbies element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Hobbies extends Zend_Gdata_Extension
{
protected $_rootElement = 'hobbies';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Extension/Books.php 0000604 00000002576 15071370415 0010317 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:books element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Books extends Zend_Gdata_Extension
{
protected $_rootElement = 'books';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
PlaylistVideoEntry.php 0000604 00000010127 15071370415 0011067 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_YouTube_VideoEntry
*/
require_once 'Zend/Gdata/YouTube/VideoEntry.php';
/**
* @see Zend_Gdata_YouTube_Extension_Position
*/
require_once 'Zend/Gdata/YouTube/Extension/Position.php';
/**
* Represents the YouTube video playlist flavor of an Atom entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_PlaylistVideoEntry extends Zend_Gdata_YouTube_VideoEntry
{
protected $_entryClassName = 'Zend_Gdata_YouTube_PlaylistVideoEntry';
/**
* Position of the entry in the feed, as specified by the user
*
* @var Zend_Gdata_YouTube_Extension_Position
*/
protected $_position = null;
/**
* Creates a Playlist video entry, representing an individual video
* in a list of videos contained within a specific playlist
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$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);
if ($this->_position !== null) {
$element->appendChild($this->_position->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('yt') . ':' . 'position':
$position = new Zend_Gdata_YouTube_Extension_Position();
$position->transferFromDOM($child);
$this->_position = $position;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Sets the array of embedded feeds related to the video
*
* @param Zend_Gdata_YouTube_Extension_Position $position
* The position of the entry in the feed, as specified by the user.
* @return Zend_Gdata_YouTube_PlaylistVideoEntry Provides a fluent interface
*/
public function setPosition($position = null)
{
$this->_position = $position;
return $this;
}
/**
* Returns the position of the entry in the feed, as specified by the user
*
* @return Zend_Gdata_YouTube_Extension_Position The position
*/
public function getPosition()
{
return $this->_position;
}
}
CommentFeed.php 0000604 00000003436 15071370415 0007450 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* @see Zend_Gdata_YouTube_CommentEntry
*/
require_once 'Zend/Gdata/YouTube/CommentEntry.php';
/**
* The YouTube comments flavor of an Atom Feed
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_CommentFeed extends Zend_Gdata_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_CommentEntry';
/**
* Constructs a new YouTube Comment Feed object, to represent
* a feed of comments for an individual video
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}
SubscriptionFeed.php 0000604 00000003722 15071370415 0010530 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Feed
*/
require_once 'Zend/Gdata/Media/Feed.php';
/**
* @see Zend_Gdata_YouTube_SubscriptionEntry
*/
require_once 'Zend/Gdata/YouTube/SubscriptionEntry.php';
/**
* The YouTube video subscription list flavor of an Atom Feed with media support
* Represents a list of individual subscriptions, where each contained entry is
* a subscription.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_SubscriptionFeed extends Zend_Gdata_Media_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_SubscriptionEntry';
/**
* Creates a Subscription feed, representing a list of subscriptions,
* usually associated with an individual user.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}
VideoFeed.php 0000604 00000003377 15071370415 0007120 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Feed
*/
require_once 'Zend/Gdata/Media/Feed.php';
/**
* @see Zend_Gdata_YouTube_VideoEntry
*/
require_once 'Zend/Gdata/YouTube/VideoEntry.php';
/**
* The YouTube video flavor of an Atom Feed with media support
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_VideoFeed extends Zend_Gdata_Media_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_VideoEntry';
/**
* Creates a Video feed, representing a list of videos
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}
ContactEntry.php 0000604 00000007665 15071370415 0007707 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_YouTube_UserProfileEntry
*/
require_once 'Zend/Gdata/YouTube/UserProfileEntry.php';
/**
* @see Zend_Gdata_YouTube_Extension_Status
*/
require_once 'Zend/Gdata/YouTube/Extension/Status.php';
/**
* The YouTube contacts flavor of an Atom Entry with media support
* Represents a an individual contact
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_ContactEntry extends Zend_Gdata_YouTube_UserProfileEntry
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_ContactEntry';
/**
* Status of the user as a contact
*
* @var string
*/
protected $_status = null;
/**
* Constructs a new Contact Entry object, to represent
* an individual contact for a user
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$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);
if ($this->_status != null) {
$element->appendChild($this->_status->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('yt') . ':' . 'status':
$status = new Zend_Gdata_YouTube_Extension_Status();
$status->transferFromDOM($child);
$this->_status = $status;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Sets the status
*
* @param Zend_Gdata_YouTube_Extension_Status $status The status
* @return Zend_Gdata_YouTube_ContactEntry Provides a fluent interface
*/
public function setStatus($status = null)
{
$this->_status = $status;
return $this;
}
/**
* Returns the status
*
* @return Zend_Gdata_YouTube_Extension_Status The status
*/
public function getStatus()
{
return $this->_status;
}
}
PlaylistListFeed.php 0000604 00000003676 15071370415 0010511 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Feed
*/
require_once 'Zend/Gdata/Media/Feed.php';
/**
* @see Zend_Gdata_YouTube_PlaylistListEntry
*/
require_once 'Zend/Gdata/YouTube/PlaylistListEntry.php';
/**
* The YouTube video playlist flavor of an Atom Feed with media support
* Represents a list of individual playlists, where each contained entry is
* a playlist.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_PlaylistListFeed extends Zend_Gdata_Media_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_PlaylistListEntry';
/**
* Creates a Playlist list feed, representing a list of playlists,
* usually associated with an individual user.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}
PlaylistVideoFeed.php 0000604 00000003714 15071370415 0010635 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Feed
*/
require_once 'Zend/Gdata/Media/Feed.php';
/**
* @see Zend_Gdata_YouTube_PlaylistVideoEntry
*/
require_once 'Zend/Gdata/YouTube/PlaylistVideoEntry.php';
/**
* The YouTube video playlist flavor of an Atom Feed with media support
* Represents a list of videos contained in a playlist. Each entry in this
* feed represents an individual video.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_PlaylistVideoFeed extends Zend_Gdata_Media_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_PlaylistVideoEntry';
/**
* Creates a Play Video feed, representing a list of videos contained
* within a single playlist.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}
MediaEntry.php 0000604 00000004344 15071370415 0007322 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media
*/
require_once 'Zend/Gdata/Media.php';
/**
* @see Zend_Gdata_Media_Entry
*/
require_once 'Zend/Gdata/Media/Entry.php';
/**
* @see Zend_Gdata_YouTube_Extension_MediaGroup
*/
require_once 'Zend/Gdata/YouTube/Extension/MediaGroup.php';
/**
* Represents the YouTube flavor of a Gdata Media Entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_MediaEntry extends Zend_Gdata_Media_Entry
{
protected $_entryClassName = 'Zend_Gdata_YouTube_MediaEntry';
/**
* media:group element
*
* @var Zend_Gdata_YouTube_Extension_MediaGroup
*/
protected $_mediaGroup = null;
/**
* Creates individual Entry objects of the appropriate type and
* stores them as members of this entry 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') . ':' . 'group':
$mediaGroup = new Zend_Gdata_YouTube_Extension_MediaGroup();
$mediaGroup->transferFromDOM($child);
$this->_mediaGroup = $mediaGroup;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
}
UserProfileEntry.php 0000604 00000072313 15071370415 0010543 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Entry
*/
require_once 'Zend/Gdata/Entry.php';
/**
* @see Zend_Gdata_Extension_FeedLink
*/
require_once 'Zend/Gdata/Extension/FeedLink.php';
/**
* @see Zend_Gdata_YouTube_Extension_Description
*/
require_once 'Zend/Gdata/YouTube/Extension/Description.php';
/**
* @see Zend_Gdata_YouTube_Extension_AboutMe
*/
require_once 'Zend/Gdata/YouTube/Extension/AboutMe.php';
/**
* @see Zend_Gdata_YouTube_Extension_Age
*/
require_once 'Zend/Gdata/YouTube/Extension/Age.php';
/**
* @see Zend_Gdata_YouTube_Extension_Username
*/
require_once 'Zend/Gdata/YouTube/Extension/Username.php';
/**
* @see Zend_Gdata_YouTube_Extension_Books
*/
require_once 'Zend/Gdata/YouTube/Extension/Books.php';
/**
* @see Zend_Gdata_YouTube_Extension_Company
*/
require_once 'Zend/Gdata/YouTube/Extension/Company.php';
/**
* @see Zend_Gdata_YouTube_Extension_Hobbies
*/
require_once 'Zend/Gdata/YouTube/Extension/Hobbies.php';
/**
* @see Zend_Gdata_YouTube_Extension_Hometown
*/
require_once 'Zend/Gdata/YouTube/Extension/Hometown.php';
/**
* @see Zend_Gdata_YouTube_Extension_Location
*/
require_once 'Zend/Gdata/YouTube/Extension/Location.php';
/**
* @see Zend_Gdata_YouTube_Extension_Movies
*/
require_once 'Zend/Gdata/YouTube/Extension/Movies.php';
/**
* @see Zend_Gdata_YouTube_Extension_Music
*/
require_once 'Zend/Gdata/YouTube/Extension/Music.php';
/**
* @see Zend_Gdata_YouTube_Extension_Occupation
*/
require_once 'Zend/Gdata/YouTube/Extension/Occupation.php';
/**
* @see Zend_Gdata_YouTube_Extension_School
*/
require_once 'Zend/Gdata/YouTube/Extension/School.php';
/**
* @see Zend_Gdata_YouTube_Extension_Gender
*/
require_once 'Zend/Gdata/YouTube/Extension/Gender.php';
/**
* @see Zend_Gdata_YouTube_Extension_Relationship
*/
require_once 'Zend/Gdata/YouTube/Extension/Relationship.php';
/**
* @see Zend_Gdata_YouTube_Extension_FirstName
*/
require_once 'Zend/Gdata/YouTube/Extension/FirstName.php';
/**
* @see Zend_Gdata_YouTube_Extension_LastName
*/
require_once 'Zend/Gdata/YouTube/Extension/LastName.php';
/**
* @see Zend_Gdata_YouTube_Extension_Statistics
*/
require_once 'Zend/Gdata/YouTube/Extension/Statistics.php';
/**
* @see Zend_Gdata_Media_Extension_MediaThumbnail
*/
require_once 'Zend/Gdata/Media/Extension/MediaThumbnail.php';
/**
* Represents the YouTube video playlist flavor of an Atom entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_UserProfileEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_YouTube_UserProfileEntry';
/**
* Nested feed links
*
* @var array
*/
protected $_feedLink = array();
/**
* The username for this profile entry
*
* @var string
*/
protected $_username = null;
/**
* The description of the user
*
* @var string
*/
protected $_description = null;
/**
* The contents of the 'About Me' field.
*
* @var string
*/
protected $_aboutMe = null;
/**
* The age of the user
*
* @var int
*/
protected $_age = null;
/**
* Books of interest to the user
*
* @var string
*/
protected $_books = null;
/**
* Company
*
* @var string
*/
protected $_company = null;
/**
* Hobbies
*
* @var string
*/
protected $_hobbies = null;
/**
* Hometown
*
* @var string
*/
protected $_hometown = null;
/**
* Location
*
* @var string
*/
protected $_location = null;
/**
* Movies
*
* @var string
*/
protected $_movies = null;
/**
* Music
*
* @var string
*/
protected $_music = null;
/**
* Occupation
*
* @var string
*/
protected $_occupation = null;
/**
* School
*
* @var string
*/
protected $_school = null;
/**
* Gender
*
* @var string
*/
protected $_gender = null;
/**
* Relationship
*
* @var string
*/
protected $_relationship = null;
/**
* First name
*
* @var string
*/
protected $_firstName = null;
/**
* Last name
*
* @var string
*/
protected $_lastName = null;
/**
* Statistics
*
* @var Zend_Gdata_YouTube_Extension_Statistics
*/
protected $_statistics = null;
/**
* Thumbnail
*
* @var Zend_Gdata_Media_Extension_MediaThumbnail
*/
protected $_thumbnail = null;
/**
* Creates a User Profile entry, representing an individual user
* and their attributes.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$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);
if ($this->_description != null) {
$element->appendChild($this->_description->getDOM($element->ownerDocument));
}
if ($this->_aboutMe != null) {
$element->appendChild($this->_aboutMe->getDOM($element->ownerDocument));
}
if ($this->_age != null) {
$element->appendChild($this->_age->getDOM($element->ownerDocument));
}
if ($this->_username != null) {
$element->appendChild($this->_username->getDOM($element->ownerDocument));
}
if ($this->_books != null) {
$element->appendChild($this->_books->getDOM($element->ownerDocument));
}
if ($this->_company != null) {
$element->appendChild($this->_company->getDOM($element->ownerDocument));
}
if ($this->_hobbies != null) {
$element->appendChild($this->_hobbies->getDOM($element->ownerDocument));
}
if ($this->_hometown != null) {
$element->appendChild($this->_hometown->getDOM($element->ownerDocument));
}
if ($this->_location != null) {
$element->appendChild($this->_location->getDOM($element->ownerDocument));
}
if ($this->_movies != null) {
$element->appendChild($this->_movies->getDOM($element->ownerDocument));
}
if ($this->_music != null) {
$element->appendChild($this->_music->getDOM($element->ownerDocument));
}
if ($this->_occupation != null) {
$element->appendChild($this->_occupation->getDOM($element->ownerDocument));
}
if ($this->_school != null) {
$element->appendChild($this->_school->getDOM($element->ownerDocument));
}
if ($this->_gender != null) {
$element->appendChild($this->_gender->getDOM($element->ownerDocument));
}
if ($this->_relationship != null) {
$element->appendChild($this->_relationship->getDOM($element->ownerDocument));
}
if ($this->_firstName != null) {
$element->appendChild($this->_firstName->getDOM($element->ownerDocument));
}
if ($this->_lastName != null) {
$element->appendChild($this->_lastName->getDOM($element->ownerDocument));
}
if ($this->_statistics != null) {
$element->appendChild($this->_statistics->getDOM($element->ownerDocument));
}
if ($this->_thumbnail != null) {
$element->appendChild($this->_thumbnail->getDOM($element->ownerDocument));
}
if ($this->_feedLink != null) {
foreach ($this->_feedLink as $feedLink) {
$element->appendChild($feedLink->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('yt') . ':' . 'description':
$description = new Zend_Gdata_YouTube_Extension_Description();
$description->transferFromDOM($child);
$this->_description = $description;
break;
case $this->lookupNamespace('yt') . ':' . 'aboutMe':
$aboutMe = new Zend_Gdata_YouTube_Extension_AboutMe();
$aboutMe->transferFromDOM($child);
$this->_aboutMe = $aboutMe;
break;
case $this->lookupNamespace('yt') . ':' . 'age':
$age = new Zend_Gdata_YouTube_Extension_Age();
$age->transferFromDOM($child);
$this->_age = $age;
break;
case $this->lookupNamespace('yt') . ':' . 'username':
$username = new Zend_Gdata_YouTube_Extension_Username();
$username->transferFromDOM($child);
$this->_username = $username;
break;
case $this->lookupNamespace('yt') . ':' . 'books':
$books = new Zend_Gdata_YouTube_Extension_Books();
$books->transferFromDOM($child);
$this->_books = $books;
break;
case $this->lookupNamespace('yt') . ':' . 'company':
$company = new Zend_Gdata_YouTube_Extension_Company();
$company->transferFromDOM($child);
$this->_company = $company;
break;
case $this->lookupNamespace('yt') . ':' . 'hobbies':
$hobbies = new Zend_Gdata_YouTube_Extension_Hobbies();
$hobbies->transferFromDOM($child);
$this->_hobbies = $hobbies;
break;
case $this->lookupNamespace('yt') . ':' . 'hometown':
$hometown = new Zend_Gdata_YouTube_Extension_Hometown();
$hometown->transferFromDOM($child);
$this->_hometown = $hometown;
break;
case $this->lookupNamespace('yt') . ':' . 'location':
$location = new Zend_Gdata_YouTube_Extension_Location();
$location->transferFromDOM($child);
$this->_location = $location;
break;
case $this->lookupNamespace('yt') . ':' . 'movies':
$movies = new Zend_Gdata_YouTube_Extension_Movies();
$movies->transferFromDOM($child);
$this->_movies = $movies;
break;
case $this->lookupNamespace('yt') . ':' . 'music':
$music = new Zend_Gdata_YouTube_Extension_Music();
$music->transferFromDOM($child);
$this->_music = $music;
break;
case $this->lookupNamespace('yt') . ':' . 'occupation':
$occupation = new Zend_Gdata_YouTube_Extension_Occupation();
$occupation->transferFromDOM($child);
$this->_occupation = $occupation;
break;
case $this->lookupNamespace('yt') . ':' . 'school':
$school = new Zend_Gdata_YouTube_Extension_School();
$school->transferFromDOM($child);
$this->_school = $school;
break;
case $this->lookupNamespace('yt') . ':' . 'gender':
$gender = new Zend_Gdata_YouTube_Extension_Gender();
$gender->transferFromDOM($child);
$this->_gender = $gender;
break;
case $this->lookupNamespace('yt') . ':' . 'relationship':
$relationship = new Zend_Gdata_YouTube_Extension_Relationship();
$relationship->transferFromDOM($child);
$this->_relationship = $relationship;
break;
case $this->lookupNamespace('yt') . ':' . 'firstName':
$firstName = new Zend_Gdata_YouTube_Extension_FirstName();
$firstName->transferFromDOM($child);
$this->_firstName = $firstName;
break;
case $this->lookupNamespace('yt') . ':' . 'lastName':
$lastName = new Zend_Gdata_YouTube_Extension_LastName();
$lastName->transferFromDOM($child);
$this->_lastName = $lastName;
break;
case $this->lookupNamespace('yt') . ':' . 'statistics':
$statistics = new Zend_Gdata_YouTube_Extension_Statistics();
$statistics->transferFromDOM($child);
$this->_statistics = $statistics;
break;
case $this->lookupNamespace('media') . ':' . 'thumbnail':
$thumbnail = new Zend_Gdata_Media_Extension_MediaThumbnail();
$thumbnail->transferFromDOM($child);
$this->_thumbnail = $thumbnail;
break;
case $this->lookupNamespace('gd') . ':' . 'feedLink':
$feedLink = new Zend_Gdata_Extension_FeedLink();
$feedLink->transferFromDOM($child);
$this->_feedLink[] = $feedLink;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Sets the content of the 'about me' field.
*
* @param Zend_Gdata_YouTube_Extension_AboutMe $aboutMe The 'about me'
* information.
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setAboutMe($aboutMe = null)
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The setAboutMe ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
$this->_aboutMe = $aboutMe;
return $this;
}
}
/**
* Returns the contents of the 'about me' field.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_AboutMe The 'about me' information
*/
public function getAboutMe()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getAboutMe ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_aboutMe;
}
}
/**
* Sets the content of the 'first name' field.
*
* @param Zend_Gdata_YouTube_Extension_FirstName $firstName The first name
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setFirstName($firstName = null)
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The setFirstName ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
$this->_firstName = $firstName;
return $this;
}
}
/**
* Returns the first name
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_FirstName The first name
*/
public function getFirstName()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getFirstName ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_firstName;
}
}
/**
* Sets the content of the 'last name' field.
*
* @param Zend_Gdata_YouTube_Extension_LastName $lastName The last name
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setLastName($lastName = null)
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The setLastName ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
$this->_lastName = $lastName;
return $this;
}
}
/**
* Returns the last name
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_LastName The last name
*/
public function getLastName()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getLastName ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_lastName;
}
}
/**
* Returns the statistics
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_Statistics The profile statistics
*/
public function getStatistics()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getStatistics ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_statistics;
}
}
/**
* Returns the thumbnail
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_Media_Extension_MediaThumbnail The profile thumbnail
*/
public function getThumbnail()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getThumbnail ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_thumbnail;
}
}
/**
* Sets the age
*
* @param Zend_Gdata_YouTube_Extension_Age $age The age
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setAge($age = null)
{
$this->_age = $age;
return $this;
}
/**
* Returns the age
*
* @return Zend_Gdata_YouTube_Extension_Age The age
*/
public function getAge()
{
return $this->_age;
}
/**
* Sets the username
*
* @param Zend_Gdata_YouTube_Extension_Username $username The username
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setUsername($username = null)
{
$this->_username = $username;
return $this;
}
/**
* Returns the username
*
* @return Zend_Gdata_YouTube_Extension_Username The username
*/
public function getUsername()
{
return $this->_username;
}
/**
* Sets the books
*
* @param Zend_Gdata_YouTube_Extension_Books $books The books
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setBooks($books = null)
{
$this->_books = $books;
return $this;
}
/**
* Returns the books
*
* @return Zend_Gdata_YouTube_Extension_Books The books
*/
public function getBooks()
{
return $this->_books;
}
/**
* Sets the company
*
* @param Zend_Gdata_YouTube_Extension_Company $company The company
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setCompany($company = null)
{
$this->_company = $company;
return $this;
}
/**
* Returns the company
*
* @return Zend_Gdata_YouTube_Extension_Company The company
*/
public function getCompany()
{
return $this->_company;
}
/**
* Sets the hobbies
*
* @param Zend_Gdata_YouTube_Extension_Hobbies $hobbies The hobbies
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setHobbies($hobbies = null)
{
$this->_hobbies = $hobbies;
return $this;
}
/**
* Returns the hobbies
*
* @return Zend_Gdata_YouTube_Extension_Hobbies The hobbies
*/
public function getHobbies()
{
return $this->_hobbies;
}
/**
* Sets the hometown
*
* @param Zend_Gdata_YouTube_Extension_Hometown $hometown The hometown
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setHometown($hometown = null)
{
$this->_hometown = $hometown;
return $this;
}
/**
* Returns the hometown
*
* @return Zend_Gdata_YouTube_Extension_Hometown The hometown
*/
public function getHometown()
{
return $this->_hometown;
}
/**
* Sets the location
*
* @param Zend_Gdata_YouTube_Extension_Location $location The location
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setLocation($location = null)
{
$this->_location = $location;
return $this;
}
/**
* Returns the location
*
* @return Zend_Gdata_YouTube_Extension_Location The location
*/
public function getLocation()
{
return $this->_location;
}
/**
* Sets the movies
*
* @param Zend_Gdata_YouTube_Extension_Movies $movies The movies
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setMovies($movies = null)
{
$this->_movies = $movies;
return $this;
}
/**
* Returns the movies
*
* @return Zend_Gdata_YouTube_Extension_Movies The movies
*/
public function getMovies()
{
return $this->_movies;
}
/**
* Sets the music
*
* @param Zend_Gdata_YouTube_Extension_Music $music The music
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setMusic($music = null)
{
$this->_music = $music;
return $this;
}
/**
* Returns the music
*
* @return Zend_Gdata_YouTube_Extension_Music The music
*/
public function getMusic()
{
return $this->_music;
}
/**
* Sets the occupation
*
* @param Zend_Gdata_YouTube_Extension_Occupation $occupation The occupation
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setOccupation($occupation = null)
{
$this->_occupation = $occupation;
return $this;
}
/**
* Returns the occupation
*
* @return Zend_Gdata_YouTube_Extension_Occupation The occupation
*/
public function getOccupation()
{
return $this->_occupation;
}
/**
* Sets the school
*
* @param Zend_Gdata_YouTube_Extension_School $school The school
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setSchool($school = null)
{
$this->_school = $school;
return $this;
}
/**
* Returns the school
*
* @return Zend_Gdata_YouTube_Extension_School The school
*/
public function getSchool()
{
return $this->_school;
}
/**
* Sets the gender
*
* @param Zend_Gdata_YouTube_Extension_Gender $gender The gender
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setGender($gender = null)
{
$this->_gender = $gender;
return $this;
}
/**
* Returns the gender
*
* @return Zend_Gdata_YouTube_Extension_Gender The gender
*/
public function getGender()
{
return $this->_gender;
}
/**
* Sets the relationship
*
* @param Zend_Gdata_YouTube_Extension_Relationship $relationship The relationship
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setRelationship($relationship = null)
{
$this->_relationship = $relationship;
return $this;
}
/**
* Returns the relationship
*
* @return Zend_Gdata_YouTube_Extension_Relationship The relationship
*/
public function getRelationship()
{
return $this->_relationship;
}
/**
* Sets the array of embedded feeds related to the video
*
* @param array $feedLink The array of embedded feeds relating to the video
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setFeedLink($feedLink = null)
{
$this->_feedLink = $feedLink;
return $this;
}
/**
* Get the feed link property for this entry.
*
* @see setFeedLink
* @param string $rel (optional) The rel value of the link to be found.
* If null, the array of links is returned.
* @return mixed If $rel is specified, a Zend_Gdata_Extension_FeedLink
* object corresponding to the requested rel value is returned
* if found, or null if the requested value is not found. If
* $rel is null or not specified, an array of all available
* feed links for this entry is returned, or null if no feed
* links are set.
*/
public function getFeedLink($rel = null)
{
if ($rel == null) {
return $this->_feedLink;
} else {
foreach ($this->_feedLink as $feedLink) {
if ($feedLink->rel == $rel) {
return $feedLink;
}
}
return null;
}
}
/**
* Returns the URL in the gd:feedLink with the provided rel value
*
* @param string $rel The rel value to find
* @return mixed Either the URL as a string or null if a feedLink wasn't
* found with the provided rel value
*/
public function getFeedLinkHref($rel)
{
$feedLink = $this->getFeedLink($rel);
if ($feedLink !== null) {
return $feedLink->href;
} else {
return null;
}
}
/**
* Returns the URL of the playlist list feed
*
* @return string The URL of the playlist video feed
*/
public function getPlaylistListFeedUrl()
{
return getFeedLinkHref(Zend_Gdata_YouTube::USER_PLAYLISTS_REL);
}
/**
* Returns the URL of the uploads feed
*
* @return string The URL of the uploads video feed
*/
public function getUploadsFeedUrl()
{
return getFeedLinkHref(Zend_Gdata_YouTube::USER_UPLOADS_REL);
}
/**
* Returns the URL of the subscriptions feed
*
* @return string The URL of the subscriptions feed
*/
public function getSubscriptionsFeedUrl()
{
return getFeedLinkHref(Zend_Gdata_YouTube::USER_SUBSCRIPTIONS_REL);
}
/**
* Returns the URL of the contacts feed
*
* @return string The URL of the contacts feed
*/
public function getContactsFeedUrl()
{
return getFeedLinkHref(Zend_Gdata_YouTube::USER_CONTACTS_REL);
}
/**
* Returns the URL of the favorites feed
*
* @return string The URL of the favorites feed
*/
public function getFavoritesFeedUrl()
{
return getFeedLinkHref(Zend_Gdata_YouTube::USER_FAVORITES_REL);
}
}
VideoQuery.php 0000604 00000041272 15071370415 0007356 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Gdata_YouTube
*/
require_once('Zend/Gdata/YouTube.php');
/**
* Zend_Gdata_Query
*/
require_once('Zend/Gdata/Query.php');
/**
* Assists in constructing queries for YouTube videos
*
* @link http://code.google.com/apis/youtube/
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_VideoQuery extends Zend_Gdata_Query
{
/**
* Create Gdata_YouTube_VideoQuery object
*/
public function __construct($url = null)
{
parent::__construct($url);
}
/**
* Sets the type of feed this query should be used to search
*
* @param string $feedType The type of feed
* @param string $videoId The ID of the video associated with this query
* @param string $entry The ID of the entry associated with this query
*/
public function setFeedType($feedType, $videoId = null, $entry = null)
{
switch ($feedType) {
case 'top rated':
$this->_url = Zend_Gdata_YouTube::STANDARD_TOP_RATED_URI;
break;
case 'most viewed':
$this->_url = Zend_Gdata_YouTube::STANDARD_MOST_VIEWED_URI;
break;
case 'recently featured':
$this->_url = Zend_Gdata_YouTube::STANDARD_RECENTLY_FEATURED_URI;
break;
case 'mobile':
$this->_url = Zend_Gdata_YouTube::STANDARD_WATCH_ON_MOBILE_URI;
break;
case 'related':
if ($videoId === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Video ID must be set for feed of type: ' . $feedType);
} else {
$this->_url = Zend_Gdata_YouTube::VIDEO_URI . '/' . $videoId .
'/related';
}
break;
case 'responses':
if ($videoId === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_Exception(
'Video ID must be set for feed of type: ' . $feedType);
} else {
$this->_url = Zend_Gdata_YouTube::VIDEO_URI . '/' . $videoId .
'responses';
}
break;
case 'comments':
if ($videoId === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_Exception(
'Video ID must be set for feed of type: ' . $feedType);
} else {
$this->_url = Zend_Gdata_YouTube::VIDEO_URI . '/' .
$videoId . 'comments';
if ($entry !== null) {
$this->_url .= '/' . $entry;
}
}
break;
default:
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('Unknown feed type');
break;
}
}
/**
* Sets the location parameter for the query
*
* @param string $value
* @throws Zend_Gdata_App_InvalidArgumentException
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setLocation($value)
{
switch($value) {
case null:
unset($this->_params['location']);
default:
$parameters = explode(',', $value);
if (count($parameters) != 2) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'You must provide 2 coordinates to the location ' .
'URL parameter');
}
foreach($parameters as $param) {
$temp = trim($param);
// strip off the optional exclamation mark for numeric check
if (substr($temp, -1) == '!') {
$temp = substr($temp, -1);
}
if (!is_numeric($temp)) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Value provided to location parameter must' .
' be in the form of two coordinates');
}
}
$this->_params['location'] = $value;
}
}
/**
* Get the value of the location parameter
*
* @return string|null Return the location if it exists, null otherwise.
*/
public function getLocation()
{
if (array_key_exists('location', $this->_params)) {
return $this->_params['location'];
} else {
return null;
}
}
/**
* Sets the location-radius parameter for the query
*
* @param string $value
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setLocationRadius($value)
{
switch($value) {
case null:
unset($this->_params['location-radius']);
default:
$this->_params['location-radius'] = $value;
}
}
/**
* Get the value of the location-radius parameter
*
* @return string|null Return the location-radius if it exists,
* null otherwise.
*/
public function getLocationRadius()
{
if (array_key_exists('location-radius', $this->_params)) {
return $this->_params['location-radius'];
} else {
return null;
}
}
/**
* Sets the time period over which this query should apply
*
* @param string $value
* @throws Zend_Gdata_App_InvalidArgumentException
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setTime($value = null)
{
switch ($value) {
case 'today':
$this->_params['time'] = 'today';
break;
case 'this_week':
$this->_params['time'] = 'this_week';
break;
case 'this_month':
$this->_params['time'] = 'this_month';
break;
case 'all_time':
$this->_params['time'] = 'all_time';
break;
case null:
unset($this->_params['time']);
default:
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Unknown time value');
break;
}
return $this;
}
/**
* Sets the value of the uploader parameter
*
* @param string $value The value of the uploader parameter. Currently this
* can only be set to the value of 'partner'.
* @throws Zend_Gdata_App_InvalidArgumentException
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setUploader($value = null)
{
switch ($value) {
case 'partner':
$this->_params['uploader'] = 'partner';
break;
case null:
unset($this->_params['uploader']);
break;
default:
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Unknown value for uploader');
}
return $this;
}
/**
* Sets the formatted video query (vq) URL param value
*
* @param string $value
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setVideoQuery($value = null)
{
if ($value != null) {
$this->_params['vq'] = $value;
} else {
unset($this->_params['vq']);
}
return $this;
}
/**
* Sets the param to return videos of a specific format
*
* @param string $value
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setFormat($value = null)
{
if ($value != null) {
$this->_params['format'] = $value;
} else {
unset($this->_params['format']);
}
return $this;
}
/**
* Sets whether or not to include racy videos in the search results
*
* @param string $value
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setRacy($value = null)
{
switch ($value) {
case 'include':
$this->_params['racy'] = $value;
break;
case 'exclude':
$this->_params['racy'] = $value;
break;
case null:
unset($this->_params['racy']);
break;
}
return $this;
}
/**
* Whether or not to include racy videos in the search results
*
* @return string|null The value of racy if it exists, null otherwise.
*/
public function getRacy()
{
if (array_key_exists('racy', $this->_params)) {
return $this->_params['racy'];
} else {
return null;
}
}
/**
* Set the safeSearch parameter
*
* @param string $value The value of the parameter, currently only 'none',
* 'moderate' or 'strict' are allowed values.
* @throws Zend_Gdata_App_InvalidArgumentException
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setSafeSearch($value)
{
switch ($value) {
case 'none':
$this->_params['safeSearch'] = 'none';
break;
case 'moderate':
$this->_params['safeSearch'] = 'moderate';
break;
case 'strict':
$this->_params['safeSearch'] = 'strict';
break;
case null:
unset($this->_params['safeSearch']);
default:
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'The safeSearch parameter only supports the values '.
'\'none\', \'moderate\' or \'strict\'.');
}
}
/**
* Return the value of the safeSearch parameter
*
* @return string|null The value of the safeSearch parameter if it has been
* set, null otherwise.
*/
public function getSafeSearch()
{
if (array_key_exists('safeSearch', $this->_params)) {
return $this->_params['safeSearch'];
}
return $this;
}
/**
* Set the value of the orderby parameter
*
* @param string $value
* @return Zend_Gdata_YouTube_Query Provides a fluent interface
*/
public function setOrderBy($value)
{
if ($value != null) {
$this->_params['orderby'] = $value;
} else {
unset($this->_params['orderby']);
}
return $this;
}
/**
* Return the value of the format parameter
*
* @return string|null The value of format if it exists, null otherwise.
*/
public function getFormat()
{
if (array_key_exists('format', $this->_params)) {
return $this->_params['format'];
} else {
return null;
}
}
/**
* Return the value of the video query that has been set
*
* @return string|null The value of the video query if it exists,
* null otherwise.
*/
public function getVideoQuery()
{
if (array_key_exists('vq', $this->_params)) {
return $this->_params['vq'];
} else {
return null;
}
}
/**
* Return the value of the time parameter
*
* @return string|null The time parameter if it exists, null otherwise.
*/
public function getTime()
{
if (array_key_exists('time', $this->_params)) {
return $this->_params['time'];
} else {
return null;
}
}
/**
* Return the value of the orderby parameter if it exists
*
* @return string|null The value of orderby if it exists, null otherwise.
*/
public function getOrderBy()
{
if (array_key_exists('orderby', $this->_params)) {
return $this->_params['orderby'];
} else {
return null;
}
}
/**
* Generate the query string from the URL parameters, optionally modifying
* them based on protocol version.
*
* @param integer $majorProtocolVersion The major protocol version
* @param integer $minorProtocolVersion The minor protocol version
* @throws Zend_Gdata_App_VersionException
* @return string querystring
*/
public function getQueryString($majorProtocolVersion = null,
$minorProtocolVersion = null)
{
$queryArray = array();
foreach ($this->_params as $name => $value) {
if (substr($name, 0, 1) == '_') {
continue;
}
switch($name) {
case 'location-radius':
if ($majorProtocolVersion == 1) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException("The $name " .
"parameter is only supported in version 2.");
}
break;
case 'racy':
if ($majorProtocolVersion == 2) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException("The $name " .
"parameter is not supported in version 2. " .
"Please use 'safeSearch'.");
}
break;
case 'safeSearch':
if ($majorProtocolVersion == 1) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException("The $name " .
"parameter is only supported in version 2. " .
"Please use 'racy'.");
}
break;
case 'uploader':
if ($majorProtocolVersion == 1) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException("The $name " .
"parameter is only supported in version 2.");
}
break;
case 'vq':
if ($majorProtocolVersion == 2) {
$name = 'q';
}
break;
}
$queryArray[] = urlencode($name) . '=' . urlencode($value);
}
if (count($queryArray) > 0) {
return '?' . implode('&', $queryArray);
} else {
return '';
}
}
/**
* Returns the generated full query URL, optionally modifying it based on
* the protocol version.
*
* @param integer $majorProtocolVersion The major protocol version
* @param integer $minorProtocolVersion The minor protocol version
* @return string The URL
*/
public function getQueryUrl($majorProtocolVersion = null,
$minorProtocolVersion = null)
{
if (isset($this->_url)) {
$url = $this->_url;
} else {
$url = Zend_Gdata_YouTube::VIDEO_URI;
}
if ($this->getCategory() !== null) {
$url .= '/-/' . $this->getCategory();
}
$url = $url . $this->getQueryString($majorProtocolVersion,
$minorProtocolVersion);
return $url;
}
}
SubscriptionEntry.php 0000604 00000034677 15071370415 0011003 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Entry
*/
require_once 'Zend/Gdata/Entry.php';
/**
* @see Zend_Gdata_Extension_FeedLink
*/
require_once 'Zend/Gdata/Extension/FeedLink.php';
/**
* @see Zend_Gdata_YouTube_Extension_Description
*/
require_once 'Zend/Gdata/YouTube/Extension/Description.php';
/**
* @see Zend_Gdata_YouTube_Extension_PlaylistTitle
*/
require_once 'Zend/Gdata/YouTube/Extension/PlaylistTitle.php';
/**
* @see Zend_Gdata_YouTube_Extension_PlaylistId
*/
require_once 'Zend/Gdata/YouTube/Extension/PlaylistId.php';
/**
* @see Zend_Gdata_Media_Extension_MediaThumbnail
*/
require_once 'Zend/Gdata/Media/Extension/MediaThumbnail.php';
/**
* @see Zend_Gdata_YouTube_Extension_Username
*/
require_once 'Zend/Gdata/YouTube/Extension/Username.php';
/**
* @see Zend_Gdata_YouTube_Extension_CountHint
*/
require_once 'Zend/Gdata/YouTube/Extension/CountHint.php';
/**
* @see Zend_Gdata_YouTube_Extension_QueryString
*/
require_once 'Zend/Gdata/YouTube/Extension/QueryString.php';
/**
* Represents the YouTube video subscription flavor of an Atom entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_SubscriptionEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_YouTube_SubscriptionEntry';
/**
* Nested feed links
*
* @var array
*/
protected $_feedLink = array();
/**
* The username of this entry.
*
* @var Zend_Gdata_YouTube_Extension_Username
*/
protected $_username = null;
/**
* The playlist title for this entry.
*
* This element is only used on subscriptions to playlists.
*
* @var Zend_Gdata_YouTube_Extension_PlaylistTitle
*/
protected $_playlistTitle = null;
/**
* The playlist id for this entry.
*
* This element is only used on subscriptions to playlists.
*
* @var Zend_Gdata_YouTube_Extension_PlaylistId
*/
protected $_playlistId = null;
/**
* The media:thumbnail element for this entry.
*
* This element is only used on subscriptions to playlists.
*
* @var Zend_Gdata_Media_Extension_MediaThumbnail
*/
protected $_mediaThumbnail = null;
/**
* The countHint for this entry.
*
* @var Zend_Gdata_YouTube_Extension_CountHint
*/
protected $_countHint = null;
/**
* The queryString for this entry.
*
* @var Zend_Gdata_YouTube_Extension_QueryString
*/
protected $_queryString = null;
/**
* Creates a subscription entry, representing an individual subscription
* in a list of subscriptions, usually associated with an individual user.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$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);
if ($this->_countHint != null) {
$element->appendChild($this->_countHint->getDOM($element->ownerDocument));
}
if ($this->_playlistTitle != null) {
$element->appendChild($this->_playlistTitle->getDOM($element->ownerDocument));
}
if ($this->_playlistId != null) {
$element->appendChild($this->_playlistId->getDOM($element->ownerDocument));
}
if ($this->_mediaThumbnail != null) {
$element->appendChild($this->_mediaThumbnail->getDOM($element->ownerDocument));
}
if ($this->_username != null) {
$element->appendChild($this->_username->getDOM($element->ownerDocument));
}
if ($this->_queryString != null) {
$element->appendChild($this->_queryString->getDOM($element->ownerDocument));
}
if ($this->_feedLink != null) {
foreach ($this->_feedLink as $feedLink) {
$element->appendChild($feedLink->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('gd') . ':' . 'feedLink':
$feedLink = new Zend_Gdata_Extension_FeedLink();
$feedLink->transferFromDOM($child);
$this->_feedLink[] = $feedLink;
break;
case $this->lookupNamespace('media') . ':' . 'thumbnail':
$mediaThumbnail = new Zend_Gdata_Media_Extension_MediaThumbnail();
$mediaThumbnail->transferFromDOM($child);
$this->_mediaThumbnail = $mediaThumbnail;
break;
case $this->lookupNamespace('yt') . ':' . 'countHint':
$countHint = new Zend_Gdata_YouTube_Extension_CountHint();
$countHint->transferFromDOM($child);
$this->_countHint = $countHint;
break;
case $this->lookupNamespace('yt') . ':' . 'playlistTitle':
$playlistTitle = new Zend_Gdata_YouTube_Extension_PlaylistTitle();
$playlistTitle->transferFromDOM($child);
$this->_playlistTitle = $playlistTitle;
break;
case $this->lookupNamespace('yt') . ':' . 'playlistId':
$playlistId = new Zend_Gdata_YouTube_Extension_PlaylistId();
$playlistId->transferFromDOM($child);
$this->_playlistId = $playlistId;
break;
case $this->lookupNamespace('yt') . ':' . 'queryString':
$queryString = new Zend_Gdata_YouTube_Extension_QueryString();
$queryString->transferFromDOM($child);
$this->_queryString = $queryString;
break;
case $this->lookupNamespace('yt') . ':' . 'username':
$username = new Zend_Gdata_YouTube_Extension_Username();
$username->transferFromDOM($child);
$this->_username = $username;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Sets the array of embedded feeds related to the video
*
* @param array $feedLink The array of embedded feeds relating to the video
* @return Zend_Gdata_YouTube_SubscriptionEntry Provides a fluent interface
*/
public function setFeedLink($feedLink = null)
{
$this->_feedLink = $feedLink;
return $this;
}
/**
* Get the feed link property for this entry.
*
* @see setFeedLink
* @param string $rel (optional) The rel value of the link to be found.
* If null, the array of links is returned.
* @return mixed If $rel is specified, a Zend_Gdata_Extension_FeedLink
* object corresponding to the requested rel value is returned
* if found, or null if the requested value is not found. If
* $rel is null or not specified, an array of all available
* feed links for this entry is returned, or null if no feed
* links are set.
*/
public function getFeedLink($rel = null)
{
if ($rel == null) {
return $this->_feedLink;
} else {
foreach ($this->_feedLink as $feedLink) {
if ($feedLink->rel == $rel) {
return $feedLink;
}
}
return null;
}
}
/**
* Get the playlist title for a 'playlist' subscription.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_PlaylistId
*/
public function getPlaylistId()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getPlaylistId ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_playlistId;
}
}
/**
* Sets the yt:playlistId element for a new playlist subscription.
*
* @param Zend_Gdata_YouTube_Extension_PlaylistId $id The id of
* the playlist to which to subscribe to.
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_SubscriptionEntry Provides a fluent interface
*/
public function setPlaylistId($id = null)
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The setPlaylistTitle ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
$this->_playlistId = $id;
return $this;
}
}
/**
* Get the queryString of the subscription
*
* @return Zend_Gdata_YouTube_Extension_QueryString
*/
public function getQueryString()
{
return $this->_queryString;
}
/**
* Sets the yt:queryString element for a new keyword subscription.
*
* @param Zend_Gdata_YouTube_Extension_QueryString $queryString The query
* string to subscribe to
* @return Zend_Gdata_YouTube_SubscriptionEntry Provides a fluent interface
*/
public function setQueryString($queryString = null)
{
$this->_queryString = $queryString;
return $this;
}
/**
* Get the playlist title for a 'playlist' subscription.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_PlaylistTitle
*/
public function getPlaylistTitle()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getPlaylistTitle ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_playlistTitle;
}
}
/**
* Sets the yt:playlistTitle element for a new playlist subscription.
*
* @param Zend_Gdata_YouTube_Extension_PlaylistTitle $title The title of
* the playlist to which to subscribe to.
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_SubscriptionEntry Provides a fluent interface
*/
public function setPlaylistTitle($title = null)
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The setPlaylistTitle ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
$this->_playlistTitle = $title;
return $this;
}
}
/**
* Get the counthint for a subscription.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_CountHint
*/
public function getCountHint()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getCountHint ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_countHint;
}
}
/**
* Get the thumbnail for a subscription.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_Media_Extension_MediaThumbnail
*/
public function getMediaThumbnail()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getMediaThumbnail ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_mediaThumbnail;
}
}
/**
* Get the username for a channel subscription.
*
* @return Zend_Gdata_YouTube_Extension_Username
*/
public function getUsername()
{
return $this->_username;
}
/**
* Sets the username for a new channel subscription.
*
* @param Zend_Gdata_YouTube_Extension_Username $username The username of
* the channel to which to subscribe to.
* @return Zend_Gdata_YouTube_SubscriptionEntry Provides a fluent interface
*/
public function setUsername($username = null)
{
$this->_username = $username;
return $this;
}
}
PlaylistListEntry.php 0000604 00000022711 15071370415 0010736 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_YouTube
*/
require_once 'Zend/Gdata/YouTube.php';
/**
* @see Zend_Gdata_Entry
*/
require_once 'Zend/Gdata/Entry.php';
/**
* @see Zend_Gdata_Extension_FeedLink
*/
require_once 'Zend/Gdata/Extension/FeedLink.php';
/**
* @see Zend_Gdata_YouTube_Extension_Description
*/
require_once 'Zend/Gdata/YouTube/Extension/Description.php';
/**
* @see Zend_Gdata_YouTube_Extension_PlaylistId
*/
require_once 'Zend/Gdata/YouTube/Extension/PlaylistId.php';
/**
* @see Zend_Gdata_YouTube_Extension_CountHint
*/
require_once 'Zend/Gdata/YouTube/Extension/CountHint.php';
/**
* Represents the YouTube video playlist flavor of an Atom entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_PlaylistListEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_YouTube_PlaylistListEntry';
/**
* Nested feed links
*
* @var array
*/
protected $_feedLink = array();
/**
* Description of this playlist
*
* @deprecated Deprecated as of version 2 of the YouTube API.
* @var Zend_Gdata_YouTube_Extension_Description
*/
protected $_description = null;
/**
* Id of this playlist
*
* @var Zend_Gdata_YouTube_Extension_PlaylistId
*/
protected $_playlistId = null;
/**
* CountHint for this playlist.
*
* @var Zend_Gdata_YouTube_Extension_CountHint
*/
protected $_countHint = null;
/**
* Creates a Playlist list entry, representing an individual playlist
* in a list of playlists, usually associated with an individual user.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$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);
if ($this->_description != null) {
$element->appendChild($this->_description->getDOM($element->ownerDocument));
}
if ($this->_countHint != null) {
$element->appendChild($this->_countHint->getDOM($element->ownerDocument));
}
if ($this->_playlistId != null) {
$element->appendChild($this->_playlistId->getDOM($element->ownerDocument));
}
if ($this->_feedLink != null) {
foreach ($this->_feedLink as $feedLink) {
$element->appendChild($feedLink->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('yt') . ':' . 'description':
$description = new Zend_Gdata_YouTube_Extension_Description();
$description->transferFromDOM($child);
$this->_description = $description;
break;
case $this->lookupNamespace('yt') . ':' . 'countHint':
$countHint = new Zend_Gdata_YouTube_Extension_CountHint();
$countHint->transferFromDOM($child);
$this->_countHint = $countHint;
break;
case $this->lookupNamespace('yt') . ':' . 'playlistId':
$playlistId = new Zend_Gdata_YouTube_Extension_PlaylistId();
$playlistId->transferFromDOM($child);
$this->_playlistId = $playlistId;
break;
case $this->lookupNamespace('gd') . ':' . 'feedLink':
$feedLink = new Zend_Gdata_Extension_FeedLink();
$feedLink->transferFromDOM($child);
$this->_feedLink[] = $feedLink;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Sets the description relating to the playlist.
*
* @deprecated Deprecated as of version 2 of the YouTube API.
* @param Zend_Gdata_YouTube_Extension_Description $description The description relating to the video
* @return Zend_Gdata_YouTube_PlaylistListEntry Provides a fluent interface
*/
public function setDescription($description = null)
{
if ($this->getMajorProtocolVersion() >= 2) {
$this->setSummary($description);
} else {
$this->_description = $description;
}
return $this;
}
/**
* Returns the description relating to the video.
*
* @return Zend_Gdata_YouTube_Extension_Description The description
* relating to the video
*/
public function getDescription()
{
if ($this->getMajorProtocolVersion() >= 2) {
return $this->getSummary();
} else {
return $this->_description;
}
}
/**
* Returns the countHint relating to the playlist.
*
* The countHint is the number of videos on a playlist.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_CountHint The count of videos on
* a playlist.
*/
public function getCountHint()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The yt:countHint ' .
'element is not supported in versions earlier than 2.');
} else {
return $this->_countHint;
}
}
/**
* Returns the Id relating to the playlist.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_PlaylistId The id of this playlist.
*/
public function getPlaylistId()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The yt:playlistId ' .
'element is not supported in versions earlier than 2.');
} else {
return $this->_playlistId;
}
}
/**
* Sets the array of embedded feeds related to the playlist
*
* @param array $feedLink The array of embedded feeds relating to the video
* @return Zend_Gdata_YouTube_PlaylistListEntry Provides a fluent interface
*/
public function setFeedLink($feedLink = null)
{
$this->_feedLink = $feedLink;
return $this;
}
/**
* Get the feed link property for this entry.
*
* @see setFeedLink
* @param string $rel (optional) The rel value of the link to be found.
* If null, the array of links is returned.
* @return mixed If $rel is specified, a Zend_Gdata_Extension_FeedLink
* object corresponding to the requested rel value is returned
* if found, or null if the requested value is not found. If
* $rel is null or not specified, an array of all available
* feed links for this entry is returned, or null if no feed
* links are set.
*/
public function getFeedLink($rel = null)
{
if ($rel == null) {
return $this->_feedLink;
} else {
foreach ($this->_feedLink as $feedLink) {
if ($feedLink->rel == $rel) {
return $feedLink;
}
}
return null;
}
}
/**
* Returns the URL of the playlist video feed
*
* @return string The URL of the playlist video feed
*/
public function getPlaylistVideoFeedUrl()
{
if ($this->getMajorProtocolVersion() >= 2) {
return $this->getContent()->getSrc();
} else {
return $this->getFeedLink(Zend_Gdata_YouTube::PLAYLIST_REL)->href;
}
}
}
VideoEntry.php 0000604 00000101744 15071370415 0007353 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: VideoEntry.php 13360 2008-12-18 22:54:14Z jhartmann $
*/
/**
* @see Zend_Gdata_Extension_Comments
*/
require_once 'Zend/Gdata/Extension/Comments.php';
/**
* @see Zend_Gdata_Extension_FeedLink
*/
require_once 'Zend/Gdata/Extension/FeedLink.php';
/**
* @see Zend_Gdata_YouTube_MediaEntry
*/
require_once 'Zend/Gdata/YouTube/MediaEntry.php';
/**
* @see Zend_Gdata_YouTube_Extension_MediaGroup
*/
require_once 'Zend/Gdata/YouTube/Extension/MediaGroup.php';
/**
* @see Zend_Gdata_YouTube_Extension_NoEmbed
*/
require_once 'Zend/Gdata/YouTube/Extension/NoEmbed.php';
/**
* @see Zend_Gdata_YouTube_Extension_Statistics
*/
require_once 'Zend/Gdata/YouTube/Extension/Statistics.php';
/**
* @see Zend_Gdata_YouTube_Extension_Link
*/
require_once 'Zend/Gdata/YouTube/Extension/Link.php';
/**
* @see Zend_Gdata_YouTube_Extension_Racy
*/
require_once 'Zend/Gdata/YouTube/Extension/Racy.php';
/**
* @see Zend_Gdata_Extension_Rating
*/
require_once 'Zend/Gdata/Extension/Rating.php';
/**
* @see Zend_Gdata_Geo_Extension_GeoRssWhere
*/
require_once 'Zend/Gdata/Geo/Extension/GeoRssWhere.php';
/**
* @see Zend_Gdata_YouTube_Extension_Control
*/
require_once 'Zend/Gdata/YouTube/Extension/Control.php';
/**
* @see Zend_Gdata_YouTube_Extension_Recorded
*/
require_once 'Zend/Gdata/YouTube/Extension/Recorded.php';
/**
* @see Zend_Gdata_YouTube_Extension_Location
*/
require_once 'Zend/Gdata/YouTube/Extension/Location.php';
/**
* Represents the YouTube video flavor of an Atom entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_VideoEntry extends Zend_Gdata_YouTube_MediaEntry
{
const YOUTUBE_DEVELOPER_TAGS_SCHEMA = 'http://gdata.youtube.com/schemas/2007/developertags.cat';
const YOUTUBE_CATEGORY_SCHEMA = 'http://gdata.youtube.com/schemas/2007/categories.cat';
protected $_entryClassName = 'Zend_Gdata_YouTube_VideoEntry';
/**
* If null, the video can be embedded
*
* @var Zend_Gdata_YouTube_Extension_NoEmbed|null
*/
protected $_noEmbed = null;
/**
* Specifies the statistics relating to the video.
*
* @var Zend_Gdata_YouTube_Extension_Statistics
*/
protected $_statistics = null;
/**
* If not null, specifies that the video has racy content.
*
* @var Zend_Gdata_YouTube_Extension_Racy|null
*/
protected $_racy = null;
/**
* If not null, specifies that the video is private.
*
* @var Zend_Gdata_YouTube_Extension_Private|null
*/
protected $_private = null;
/**
* Specifies the video's rating.
*
* @var Zend_Gdata_Extension_Rating
*/
protected $_rating = null;
/**
* Specifies the comments associated with a video.
*
* @var Zend_Gdata_Extensions_Comments
*/
protected $_comments = null;
/**
* Nested feed links
*
* @var array
*/
protected $_feedLink = array();
/**
* Geo location for the video
*
* @var Zend_Gdata_Geo_Extension_GeoRssWhere
*/
protected $_where = null;
/**
* Recording date for the video
*
* @var Zend_Gdata_YouTube_Extension_Recorded|null
*/
protected $_recorded = null;
/**
* Location informtion for the video
*
* @var Zend_Gdata_YouTube_Extension_Location|null
*/
protected $_location = null;
/**
* Creates a Video entry, representing an individual video
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$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);
if ($this->_noEmbed != null) {
$element->appendChild($this->_noEmbed->getDOM(
$element->ownerDocument));
}
if ($this->_statistics != null) {
$element->appendChild($this->_statistics->getDOM(
$element->ownerDocument));
}
if ($this->_racy != null) {
$element->appendChild($this->_racy->getDOM(
$element->ownerDocument));
}
if ($this->_recorded != null) {
$element->appendChild($this->_recorded->getDOM(
$element->ownerDocument));
}
if ($this->_location != null) {
$element->appendChild($this->_location->getDOM(
$element->ownerDocument));
}
if ($this->_rating != null) {
$element->appendChild($this->_rating->getDOM(
$element->ownerDocument));
}
if ($this->_comments != null) {
$element->appendChild($this->_comments->getDOM(
$element->ownerDocument));
}
if ($this->_feedLink != null) {
foreach ($this->_feedLink as $feedLink) {
$element->appendChild($feedLink->getDOM(
$element->ownerDocument));
}
}
if ($this->_where != null) {
$element->appendChild($this->_where->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('yt') . ':' . 'statistics':
$statistics = new Zend_Gdata_YouTube_Extension_Statistics();
$statistics->transferFromDOM($child);
$this->_statistics = $statistics;
break;
case $this->lookupNamespace('yt') . ':' . 'racy':
$racy = new Zend_Gdata_YouTube_Extension_Racy();
$racy->transferFromDOM($child);
$this->_racy = $racy;
break;
case $this->lookupNamespace('yt') . ':' . 'recorded':
$recorded = new Zend_Gdata_YouTube_Extension_Recorded();
$recorded->transferFromDOM($child);
$this->_recorded = $recorded;
break;
case $this->lookupNamespace('yt') . ':' . 'location':
$location = new Zend_Gdata_YouTube_Extension_Location();
$location->transferFromDOM($child);
$this->_location = $location;
break;
case $this->lookupNamespace('gd') . ':' . 'rating':
$rating = new Zend_Gdata_Extension_Rating();
$rating->transferFromDOM($child);
$this->_rating = $rating;
break;
case $this->lookupNamespace('gd') . ':' . 'comments':
$comments = new Zend_Gdata_Extension_Comments();
$comments->transferFromDOM($child);
$this->_comments = $comments;
break;
case $this->lookupNamespace('yt') . ':' . 'noembed':
$noEmbed = new Zend_Gdata_YouTube_Extension_NoEmbed();
$noEmbed->transferFromDOM($child);
$this->_noEmbed = $noEmbed;
break;
case $this->lookupNamespace('gd') . ':' . 'feedLink':
$feedLink = new Zend_Gdata_Extension_FeedLink();
$feedLink->transferFromDOM($child);
$this->_feedLink[] = $feedLink;
break;
case $this->lookupNamespace('georss') . ':' . 'where':
$where = new Zend_Gdata_Geo_Extension_GeoRssWhere();
$where->transferFromDOM($child);
$this->_where = $where;
break;
case $this->lookupNamespace('atom') . ':' . 'link';
$link = new Zend_Gdata_YouTube_Extension_Link();
$link->transferFromDOM($child);
$this->_link[] = $link;
break;
case $this->lookupNamespace('app') . ':' . 'control':
$control = new Zend_Gdata_YouTube_Extension_Control();
$control->transferFromDOM($child);
$this->_control = $control;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Sets when the video was recorded.
*
* @param Zend_Gdata_YouTube_Extension_Recorded $recorded When the video was recorded
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setRecorded($recorded = null)
{
$this->_recorded = $recorded;
return $this;
}
/**
* Gets the date that the video was recorded.
*
* @return Zend_Gdata_YouTube_Extension_Recorded|null
*/
public function getRecorded()
{
return $this->_recorded;
}
/**
* Sets the location information.
*
* @param Zend_Gdata_YouTube_Extension_Location $location Where the video
* was recorded
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setLocation($location = null)
{
$this->_location = $location;
return $this;
}
/**
* Gets the location where the video was recorded.
*
* @return Zend_Gdata_YouTube_Extension_Location|null
*/
public function getLocation()
{
return $this->_location;
}
/**
* If an instance of Zend_Gdata_YouTube_Extension_NoEmbed is passed in,
* the video cannot be embedded. Otherwise, if null is passsed in, the
* video is able to be embedded.
*
* @param Zend_Gdata_YouTube_Extension_NoEmbed $noEmbed Whether or not the
* video can be embedded.
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setNoEmbed($noEmbed = null)
{
$this->_noEmbed = $noEmbed;
return $this;
}
/**
* If the return value is an instance of
* Zend_Gdata_YouTube_Extension_NoEmbed, this video cannot be embedded.
*
* @return Zend_Gdata_YouTube_Extension_NoEmbed|null Whether or not the video can be embedded
*/
public function getNoEmbed()
{
return $this->_noEmbed;
}
/**
* Checks whether the video is embeddable.
*
* @return bool Returns true if the video is embeddable.
*/
public function isVideoEmbeddable()
{
if ($this->getNoEmbed() == null) {
return true;
} else {
return false;
}
}
/**
* Sets the statistics relating to the video.
*
* @param Zend_Gdata_YouTube_Extension_Statistics $statistics The statistics relating to the video
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setStatistics($statistics = null)
{
$this->_statistics = $statistics;
return $this;
}
/**
* Returns the statistics relating to the video.
*
* @return Zend_Gdata_YouTube_Extension_Statistics The statistics relating to the video
*/
public function getStatistics()
{
return $this->_statistics;
}
/**
* Specifies that the video has racy content.
*
* @param Zend_Gdata_YouTube_Extension_Racy $racy The racy flag object
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setRacy($racy = null)
{
if ($this->getMajorProtocolVersion() == 2) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException(
'Calling getRacy() on a YouTube VideoEntry is deprecated ' .
'as of version 2 of the API.');
}
$this->_racy = $racy;
return $this;
}
/**
* Returns the racy flag object.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_Racy|null The racy flag object
*/
public function getRacy()
{
if ($this->getMajorProtocolVersion() == 2) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException(
'Calling getRacy() on a YouTube VideoEntry is deprecated ' .
'as of version 2 of the API.');
}
return $this->_racy;
}
/**
* Sets the rating relating to the video.
*
* @param Zend_Gdata_Extension_Rating $rating The rating relating to the video
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setRating($rating = null)
{
$this->_rating = $rating;
return $this;
}
/**
* Returns the rating relating to the video.
*
* @return Zend_Gdata_Extension_Rating The rating relating to the video
*/
public function getRating()
{
return $this->_rating;
}
/**
* Sets the comments relating to the video.
*
* @param Zend_Gdata_Extension_Comments $comments The comments relating to the video
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setComments($comments = null)
{
$this->_comments = $comments;
return $this;
}
/**
* Returns the comments relating to the video.
*
* @return Zend_Gdata_Extension_Comments The comments relating to the video
*/
public function getComments()
{
return $this->_comments;
}
/**
* Sets the array of embedded feeds related to the video
*
* @param array $feedLink The array of embedded feeds relating to the video
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setFeedLink($feedLink = null)
{
$this->_feedLink = $feedLink;
return $this;
}
/**
* Get the feed link property for this entry.
*
* @see setFeedLink
* @param string $rel (optional) The rel value of the link to be found.
* If null, the array of links is returned.
* @return mixed If $rel is specified, a Zend_Gdata_Extension_FeedLink
* object corresponding to the requested rel value is returned
* if found, or null if the requested value is not found. If
* $rel is null or not specified, an array of all available
* feed links for this entry is returned, or null if no feed
* links are set.
*/
public function getFeedLink($rel = null)
{
if ($rel == null) {
return $this->_feedLink;
} else {
foreach ($this->_feedLink as $feedLink) {
if ($feedLink->rel == $rel) {
return $feedLink;
}
}
return null;
}
}
/**
* Returns the link element relating to video responses.
*
* @return Zend_Gdata_App_Extension_Link
*/
public function getVideoResponsesLink()
{
return $this->getLink(Zend_Gdata_YouTube::VIDEO_RESPONSES_REL);
}
/**
* Returns the link element relating to video ratings.
*
* @return Zend_Gdata_App_Extension_Link
*/
public function getVideoRatingsLink()
{
return $this->getLink(Zend_Gdata_YouTube::VIDEO_RATINGS_REL);
}
/**
* Returns the link element relating to video complaints.
*
* @return Zend_Gdata_App_Extension_Link
*/
public function getVideoComplaintsLink()
{
return $this->getLink(Zend_Gdata_YouTube::VIDEO_COMPLAINTS_REL);
}
/**
* Gets the YouTube video ID based upon the atom:id value
*
* @return string The video ID
*/
public function getVideoId()
{
if ($this->getMajorProtocolVersion() == 2) {
$videoId = $this->getMediaGroup()->getVideoId()->text;
} else {
$fullId = $this->getId()->getText();
$position = strrpos($fullId, '/');
if ($position === false) {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception(
'Slash not found in atom:id of ' . $fullId);
} else {
$videoId = substr($fullId, $position + 1);
}
}
return $videoId;
}
/**
* Gets the date that the video was recorded.
*
* @return string|null The date that the video was recorded
*/
public function getVideoRecorded()
{
$recorded = $this->getRecorded();
if ($recorded != null) {
return $recorded->getText();
} else {
return null;
}
}
/**
* Sets the date that the video was recorded.
*
* @param string $recorded The date that the video was recorded, in the
* format of '2001-06-19'
*/
public function setVideoRecorded($recorded)
{
$this->setRecorded(
new Zend_Gdata_YouTube_Extension_Recorded($recorded));
return $this;
}
/**
* Gets the georss:where element
*
* @return Zend_Gdata_Geo_Extension_GeoRssWhere
*/
public function getWhere()
{
return $this->_where;
}
/**
* Sets the georss:where element
*
* @param Zend_Gdata_Geo_Extension_GeoRssWhere $value The georss:where class value
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setWhere($value)
{
$this->_where = $value;
return $this;
}
/**
* Gets the title of the video as a string. null is returned
* if the video title is not available.
*
* @return string|null The title of the video
*/
public function getVideoTitle()
{
$this->ensureMediaGroupIsNotNull();
if ($this->getMediaGroup()->getTitle() != null) {
return $this->getMediaGroup()->getTitle()->getText();
} else {
return null;
}
}
/**
* Sets the title of the video as a string.
*
* @param string $title Title for the video
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setVideoTitle($title)
{
$this->ensureMediaGroupIsNotNull();
$this->getMediaGroup()->setTitle(
new Zend_Gdata_Media_Extension_MediaTitle($title));
return $this;
}
/**
* Sets the description of the video as a string.
*
* @param string $description Description for the video
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setVideoDescription($description)
{
$this->ensureMediaGroupIsNotNull();
$this->getMediaGroup()->setDescription(
new Zend_Gdata_Media_Extension_MediaDescription($description));
return $this;
}
/**
* Gets the description of the video as a string. null is returned
* if the video description is not available.
*
* @return string|null The description of the video
*/
public function getVideoDescription()
{
$this->ensureMediaGroupIsNotNull();
if ($this->getMediaGroup()->getDescription() != null) {
return $this->getMediaGroup()->getDescription()->getText();
} else {
return null;
}
}
/**
* Gets the URL of the YouTube video watch page. null is returned
* if the video watch page URL is not available.
*
* @return string|null The URL of the YouTube video watch page
*/
public function getVideoWatchPageUrl()
{
$this->ensureMediaGroupIsNotNull();
if ($this->getMediaGroup()->getPlayer() != null &&
array_key_exists(0, $this->getMediaGroup()->getPlayer())) {
$players = $this->getMediaGroup()->getPlayer();
return $players[0]->getUrl();
} else {
return null;
}
}
/**
* Gets an array of the thumbnails representing the video.
* Each thumbnail is an element of the array, and is an
* array of the thumbnail properties - time, height, width,
* and url. For convient usage inside a foreach loop, an
* empty array is returned if there are no thumbnails.
*
* @return array An array of video thumbnails.
*/
public function getVideoThumbnails()
{
$this->ensureMediaGroupIsNotNull();
if ($this->getMediaGroup()->getThumbnail() != null) {
$thumbnailArray = array();
foreach ($this->getMediaGroup()->getThumbnail() as $thumbnailObj) {
$thumbnail = array();
$thumbnail['time'] = $thumbnailObj->time;
$thumbnail['height'] = $thumbnailObj->height;
$thumbnail['width'] = $thumbnailObj->width;
$thumbnail['url'] = $thumbnailObj->url;
$thumbnailArray[] = $thumbnail;
}
return $thumbnailArray;
} else {
return array();
}
}
/**
* Gets the URL of the flash player SWF. null is returned if the
* duration value is not available.
*
* @return string|null The URL of the flash player SWF
*/
public function getFlashPlayerUrl()
{
$this->ensureMediaGroupIsNotNull();
foreach ($this->getMediaGroup()->getContent() as $content) {
if ($content->getType() === 'application/x-shockwave-flash') {
return $content->getUrl();
}
}
return null;
}
/**
* Gets the duration of the video, in seconds. null is returned
* if the duration value is not available.
*
* @return string|null The duration of the video, in seconds.
*/
public function getVideoDuration()
{
$this->ensureMediaGroupIsNotNull();
if ($this->getMediaGroup()->getDuration() != null) {
return $this->getMediaGroup()->getDuration()->getSeconds();
} else {
return null;
}
}
/**
* Checks whether the video is private.
*
* @return bool Return true if video is private
*/
public function isVideoPrivate()
{
$this->ensureMediaGroupIsNotNull();
if ($this->getMediaGroup()->getPrivate() != null) {
return true;
} else {
return false;
}
}
/**
* Sets video to private.
*
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setVideoPrivate()
{
$this->ensureMediaGroupIsNotNull();
$this->getMediaGroup()->setPrivate(new Zend_Gdata_YouTube_Extension_Private());
return $this;
}
/**
* Sets a private video to be public.
*
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setVideoPublic()
{
$this->ensureMediaGroupIsNotNull();
$this->getMediaGroup()->private = null;
return $this;
}
/**
* Gets an array of the tags assigned to this video. For convient
* usage inside a foreach loop, an empty array is returned when there
* are no tags assigned.
*
* @return array An array of the tags assigned to this video
*/
public function getVideoTags()
{
$this->ensureMediaGroupIsNotNull();
if ($this->getMediaGroup()->getKeywords() != null) {
$keywords = $this->getMediaGroup()->getKeywords();
$keywordsString = $keywords->getText();
if (strlen(trim($keywordsString)) > 0) {
return split('(, *)|,', $keywordsString);
}
}
return array();
}
/**
* Sets the keyword tags for a video.
*
* @param mixed $tags Either a comma-separated string or an array
* of tags for the video
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setVideoTags($tags)
{
$this->ensureMediaGroupIsNotNull();
$keywords = new Zend_Gdata_Media_Extension_MediaKeywords();
if (is_array($tags)) {
$tags = implode(', ', $tags);
}
$keywords->setText($tags);
$this->getMediaGroup()->setKeywords($keywords);
return $this;
}
/**
* Gets the number of views for this video. null is returned if the
* number of views is not available.
*
* @return string|null The number of views for this video
*/
public function getVideoViewCount()
{
if ($this->getStatistics() != null) {
return $this->getStatistics()->getViewCount();
} else {
return null;
}
}
/**
* Gets the location specified for this video, if available. The location
* is returned as an array containing the keys 'longitude' and 'latitude'.
* null is returned if the location is not available.
*
* @return array|null The location specified for this video
*/
public function getVideoGeoLocation()
{
if ($this->getWhere() != null &&
$this->getWhere()->getPoint() != null &&
($position = $this->getWhere()->getPoint()->getPos()) != null) {
$positionString = $position->__toString();
if (strlen(trim($positionString)) > 0) {
$positionArray = explode(' ', trim($positionString));
if (count($positionArray) == 2) {
$returnArray = array();
$returnArray['latitude'] = $positionArray[0];
$returnArray['longitude'] = $positionArray[1];
return $returnArray;
}
}
}
return null;
}
/**
* Gets the rating information for this video, if available. The rating
* is returned as an array containing the keys 'average' and 'numRaters'.
* null is returned if the rating information is not available.
*
* @return array|null The rating information for this video
*/
public function getVideoRatingInfo()
{
if ($this->getRating() != null) {
$returnArray = array();
$returnArray['average'] = $this->getRating()->getAverage();
$returnArray['numRaters'] = $this->getRating()->getNumRaters();
return $returnArray;
} else {
return null;
}
}
/**
* Gets the category of this video, if available. The category is returned
* as a string. Valid categories are found at:
* http://gdata.youtube.com/schemas/2007/categories.cat
* If the category is not set, null is returned.
*
* @return string|null The category of this video
*/
public function getVideoCategory()
{
$this->ensureMediaGroupIsNotNull();
$categories = $this->getMediaGroup()->getCategory();
if ($categories != null) {
foreach($categories as $category) {
if ($category->getScheme() == self::YOUTUBE_CATEGORY_SCHEMA) {
return $category->getText();
}
}
}
return null;
}
/**
* Sets the category of the video as a string.
*
* @param string $category Categories for the video
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setVideoCategory($category)
{
$this->ensureMediaGroupIsNotNull();
$this->getMediaGroup()->setCategory(array(new Zend_Gdata_Media_Extension_MediaCategory($category, self::YOUTUBE_CATEGORY_SCHEMA)));
return $this;
}
/**
* Gets the developer tags for the video, if available and if client is
* authenticated with a valid developerKey. The tags are returned
* as an array.
* If no tags are set, null is returned.
*
* @return array|null The developer tags for this video or null if none were set.
*/
public function getVideoDeveloperTags()
{
$developerTags = null;
$this->ensureMediaGroupIsNotNull();
$categoryArray = $this->getMediaGroup()->getCategory();
if ($categoryArray != null) {
foreach ($categoryArray as $category) {
if ($category instanceof Zend_Gdata_Media_Extension_MediaCategory) {
if ($category->getScheme() == self::YOUTUBE_DEVELOPER_TAGS_SCHEMA) {
$developerTags[] = $category->getText();
}
}
}
return $developerTags;
}
return null;
}
/**
* Adds a developer tag to array of tags for the video.
*
* @param string $developerTag DeveloperTag for the video
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function addVideoDeveloperTag($developerTag)
{
$this->ensureMediaGroupIsNotNull();
$newCategory = new Zend_Gdata_Media_Extension_MediaCategory($developerTag, self::YOUTUBE_DEVELOPER_TAGS_SCHEMA);
if ($this->getMediaGroup()->getCategory() == null) {
$this->getMediaGroup()->setCategory($newCategory);
} else {
$categories = $this->getMediaGroup()->getCategory();
$categories[] = $newCategory;
$this->getMediaGroup()->setCategory($categories);
}
return $this;
}
/**
* Set multiple developer tags for the video as strings.
*
* @param array $developerTags Array of developerTag for the video
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setVideoDeveloperTags($developerTags)
{
foreach($developerTags as $developerTag) {
$this->addVideoDeveloperTag($developerTag);
}
return $this;
}
/**
* Get the current publishing state of the video.
*
* @return Zend_Gdata_YouTube_Extension_State|null The publishing state of this video
*/
public function getVideoState()
{
$control = $this->getControl();
if ($control != null &&
$control->getDraft() != null &&
$control->getDraft()->getText() == 'yes') {
return $control->getState();
}
return null;
}
/**
* Get the VideoEntry's Zend_Gdata_YouTube_Extension_MediaGroup object.
* If the mediaGroup does not exist, then set it.
*
* @return void
*/
public function ensureMediaGroupIsNotNull()
{
if ($this->getMediagroup() == null) {
$this->setMediagroup(new Zend_Gdata_YouTube_Extension_MediaGroup());
}
}
/**
* Helper function to conveniently set a video's rating.
*
* @param integer $ratingValue A number representing the rating. Must
* be between 1 and 5 inclusive.
* @throws Zend_Gdata_Exception
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface.
*/
public function setVideoRating($ratingValue)
{
if ($ratingValue < 1 || $ratingValue > 5) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Rating for video entry must be between 1 and 5 inclusive.');
}
require_once 'Zend/Gdata/Extension/Rating.php';
$rating = new Zend_Gdata_Extension_Rating(null, 1, 5, null,
$ratingValue);
$this->setRating($rating);
return $this;
}
/**
* Retrieve the URL for a video's comment feed.
*
* @return string|null The URL if found, or null if not found.
*/
public function getVideoCommentFeedUrl()
{
$commentsExtension = $this->getComments();
$commentsFeedUrl = null;
if ($commentsExtension) {
$commentsFeedLink = $commentsExtension->getFeedLink();
if ($commentsFeedLink) {
$commentsFeedUrl = $commentsFeedLink->getHref();
}
}
return $commentsFeedUrl;
}
}
ContactFeed.php 0000604 00000003617 15071370415 0007442 0 ustar 00 <?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 YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Feed
*/
require_once 'Zend/Gdata/Media/Feed.php';
/**
* @see Zend_Gdata_YouTube_ContactEntry
*/
require_once 'Zend/Gdata/YouTube/ContactEntry.php';
/**
* The YouTube contacts flavor of an Atom Feed with media support
* Represents a list of individual contacts, where each contained entry is
* a contact.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_ContactFeed extends Zend_Gdata_Media_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_ContactEntry';
/**
* Constructs a new YouTube Contact Feed object, to represent
* a feed of contacts for a user
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}