import v1.0.0-RC4 | 2009-05-20

This commit is contained in:
2019-07-17 22:08:50 +02:00
commit b484e522e8
2459 changed files with 1038434 additions and 0 deletions

View File

@ -0,0 +1,46 @@
<?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
* @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';
}

View File

@ -0,0 +1,66 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct($element);
}
}

View File

@ -0,0 +1,136 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
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;
}
}

View File

@ -0,0 +1,68 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct($element);
}
}

View File

@ -0,0 +1,51 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct();
$this->_text = $text;
}
}

View File

@ -0,0 +1,51 @@
<?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:recordingDate element
*
* @category Zend
* @package Zend_Gdata
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct();
$this->_text = $text;
}
}

View File

@ -0,0 +1,51 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct();
$this->_text = $text;
}
}

View File

@ -0,0 +1,133 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
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();
}
}

View File

@ -0,0 +1,51 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct();
$this->_text = $text;
}
}

View File

@ -0,0 +1,126 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
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;
}
}

View File

@ -0,0 +1,51 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct();
$this->_text = $text;
}
}

View File

@ -0,0 +1,51 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct();
$this->_text = $text;
}
}

View File

@ -0,0 +1,51 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct();
$this->_text = $text;
}
}

View File

@ -0,0 +1,133 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
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();
}
}

View File

@ -0,0 +1,51 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct();
$this->_text = $text;
}
}

View File

@ -0,0 +1,120 @@
<?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
* @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() {
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
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;
}
}

View File

@ -0,0 +1,159 @@
<?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_Private
*/
require_once 'Zend/Gdata/YouTube/Extension/Private.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
* @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';
protected $_duration = null;
protected $_private = null;
public function __construct($element = null)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
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));
}
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('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;
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 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;
}
}

View File

@ -0,0 +1,51 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct();
$this->_text = $text;
}
}

View File

@ -0,0 +1,51 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct();
$this->_text = $text;
}
}

View File

@ -0,0 +1,54 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct();
}
}

View File

@ -0,0 +1,51 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct();
$this->_text = $text;
}
}

View File

@ -0,0 +1,90 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
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();
}
}

View File

@ -0,0 +1,81 @@
<?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
* @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()
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
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);
}
}

View File

@ -0,0 +1,124 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
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;
}
}

View File

@ -0,0 +1,51 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct();
$this->_text = $text;
}
}

View File

@ -0,0 +1,51 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct();
$this->_text = $text;
}
}

View File

@ -0,0 +1,51 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct();
$this->_text = $text;
}
}

View File

@ -0,0 +1,51 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct();
$this->_text = $text;
}
}

View File

@ -0,0 +1,193 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
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;
}
}

View File

@ -0,0 +1,158 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
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;
}
}

View File

@ -0,0 +1,51 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct();
$this->_text = $text;
}
}

View File

@ -0,0 +1,70 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
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;
}
}

View File

@ -0,0 +1,51 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct();
$this->_text = $text;
}
}

View File

@ -0,0 +1,79 @@
<?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
* @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;
}
}
}

View File

@ -0,0 +1,206 @@
<?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';
/**
* Represents the YouTube video playlist flavor of an Atom entry
*
* @category Zend
* @package Zend_Gdata
* @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
*
* @var string
*/
protected $_description = 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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
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->_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('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.
*
* @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)
{
$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()
{
return $this->_description;
}
/**
* 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_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()
{
return $this->getFeedLink(Zend_Gdata_YouTube::PLAYLIST_REL)->href;
}
}

View File

@ -0,0 +1,68 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct($element);
}
}

View File

@ -0,0 +1,132 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
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;
}
}

View File

@ -0,0 +1,68 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct($element);
}
}

View File

@ -0,0 +1,154 @@
<?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';
/**
* Represents the YouTube video subscription flavor of an Atom entry
*
* @category Zend
* @package Zend_Gdata
* @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();
/**
* 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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
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->_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;
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;
}
}
}

View File

@ -0,0 +1,68 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct($element);
}
}

View File

@ -0,0 +1,782 @@
<?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_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';
/**
* Represents the YouTube video playlist flavor of an Atom entry
*
* @category Zend
* @package Zend_Gdata
* @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 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;
/**
* 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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
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->_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->_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') . ':' . '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('gd') . ':' . 'feedLink':
$feedLink = new Zend_Gdata_Extension_FeedLink();
$feedLink->transferFromDOM($child);
$this->_feedLink[] = $feedLink;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* 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);
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,65 @@
<?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
* @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)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct($element);
}
}

View File

@ -0,0 +1,297 @@
<?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
* @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/Exception.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 . '/related';
}
break;
case 'responses':
if ($videoId === null) {
require_once 'Zend/Gdata/App/Exception.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/Exception.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 time period over which this query should apply
*
* @param string $value
* @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/Exception.php';
throw new Zend_Gdata_App_Exception('Unknown time value');
break;
}
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;
}
/**
* @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;
}
/**
* Whether or not to include racy videos in the search results
*
* @return string racy
*/
public function getRacy()
{
if (array_key_exists('racy', $this->_params)) {
return $this->_params['racy'];
} else {
return null;
}
}
/**
* The format used for videos
*
* @return string format
*/
public function getFormat()
{
if (array_key_exists('format', $this->_params)) {
return $this->_params['format'];
} else {
return null;
}
}
/**
* The video query
*
* @return string video query
*/
public function getVideoQuery()
{
if (array_key_exists('vq', $this->_params)) {
return $this->_params['vq'];
} else {
return null;
}
}
/**
* The time
*
* @return string time
*/
public function getTime()
{
if (array_key_exists('time', $this->_params)) {
return $this->_params['time'];
} else {
return null;
}
}
/**
* @return string orderby
*/
public function getOrderBy()
{
if (array_key_exists('orderby', $this->_params)) {
return $this->_params['orderby'];
} else {
return null;
}
}
/**
* Returns the generated full query URL
*
* @return string The URL
*/
public function getQueryUrl()
{
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();
return $url;
}
}