This commit is contained in:
2024-04-27 09:23:34 +02:00
commit 11e713ca6f
11884 changed files with 3263371 additions and 0 deletions

View File

@@ -0,0 +1,232 @@
<?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 Health
* @copyright Copyright (c) 2005-2010 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_YouTube_Extension_VideoId
*/
require_once 'Zend/Gdata/YouTube/Extension/VideoId.php';
/**
* @see Zend_Gdata_YouTube_Extension_Username
*/
require_once 'Zend/Gdata/YouTube/Extension/Username.php';
/**
* @see Zend_Gdata_YouTube_Extension_Rating
*/
require_once 'Zend/Gdata/Extension/Rating.php';
/**
* A concrete class for working with YouTube user activity entries.
*
* @link http://code.google.com/apis/youtube/
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_ActivityEntry extends Zend_Gdata_Entry
{
const ACTIVITY_CATEGORY_SCHEME =
'http://gdata.youtube.com/schemas/2007/userevents.cat';
/**
* The classname for individual user activity entry elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_ActivityEntry';
/**
* The ID of the video that was part of the activity
*
* @var Zend_Gdata_YouTube_VideoId
*/
protected $_videoId = null;
/**
* The username for the user that was part of the activity
*
* @var Zend_Gdata_YouTube_Username
*/
protected $_username = null;
/**
* The rating element that was part of the activity
*
* @var Zend_Gdata_Extension_Rating
*/
protected $_rating = null;
/**
* Constructs a new Zend_Gdata_YouTube_ActivityEntry object.
* @param DOMElement $element (optional) The DOMElement on which to
* base this object.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for 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->_videoId !== null) {
$element->appendChild($this->_videoId->getDOM(
$element->ownerDocument));
}
if ($this->_username !== null) {
$element->appendChild($this->_username->getDOM(
$element->ownerDocument));
}
if ($this->_rating !== null) {
$element->appendChild($this->_rating->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') . ':' . 'videoid':
$videoId = new Zend_Gdata_YouTube_Extension_VideoId();
$videoId->transferFromDOM($child);
$this->_videoId = $videoId;
break;
case $this->lookupNamespace('yt') . ':' . 'username':
$username = new Zend_Gdata_YouTube_Extension_Username();
$username->transferFromDOM($child);
$this->_username = $username;
break;
case $this->lookupNamespace('gd') . ':' . 'rating':
$rating = new Zend_Gdata_Extension_Rating();
$rating->transferFromDOM($child);
$this->_rating = $rating;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Returns the video ID for this activity entry.
*
* @return null|Zend_Gdata_YouTube_Extension_VideoId
*/
public function getVideoId()
{
return $this->_videoId;
}
/**
* Returns the username for this activity entry.
*
* @return null|Zend_Gdata_YouTube_Extension_Username
*/
public function getUsername()
{
return $this->_username;
}
/**
* Returns the rating for this activity entry.
*
* @return null|Zend_Gdata_YouTube_Extension_Rating
*/
public function getRating()
{
return $this->_rating;
}
/**
* Return the value of the rating for this video entry.
*
* Convenience method to save needless typing.
*
* @return integer|null The value of the rating that was created, if found.
*/
public function getRatingValue()
{
$rating = $this->_rating;
if ($rating) {
return $rating->getValue();
}
return null;
}
/**
* Return the activity type that was performed.
*
* Convenience method that inspects category where scheme is
* http://gdata.youtube.com/schemas/2007/userevents.cat.
*
* @return string|null The activity category if found.
*/
public function getActivityType()
{
$categories = $this->getCategory();
foreach($categories as $category) {
if ($category->getScheme() == self::ACTIVITY_CATEGORY_SCHEME) {
return $category->getTerm();
}
}
return null;
}
/**
* Convenience method to quickly get access to the author of the activity
*
* @return string The author of the activity
*/
public function getAuthorName()
{
$authors = $this->getAuthor();
return $authors[0]->getName()->getText();
}
}

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-2010 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_ActivityEntry
*/
require_once 'Zend/Gdata/YouTube/ActivityEntry.php';
/**
* A feed of user activity entries for YouTube
*
* @link http://code.google.com/apis/youtube/
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_ActivityFeed extends Zend_Gdata_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_ActivityEntry';
/**
* Creates an Activity feed, representing a list of activity entries
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}

View File

@@ -0,0 +1,59 @@
<?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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Feed
*/
require_once 'Zend/Gdata/Media/Feed.php';
/**
* The YouTube comments flavor of an Atom Entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 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';
/**
* Constructs a new Zend_Gdata_YouTube_CommentEntry object.
* @param DOMElement $element (optional) The DOMElement on which to
* base this object.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* @see Zend_Gdata_YouTube_CommentEntry
*/
require_once 'Zend/Gdata/YouTube/CommentEntry.php';
/**
* The YouTube comments flavor of an Atom Feed
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_CommentFeed extends Zend_Gdata_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_CommentEntry';
/**
* Constructs a new YouTube Comment Feed object, to represent
* a feed of comments for an individual video
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_YouTube_UserProfileEntry
*/
require_once 'Zend/Gdata/YouTube/UserProfileEntry.php';
/**
* @see Zend_Gdata_YouTube_Extension_Status
*/
require_once 'Zend/Gdata/YouTube/Extension/Status.php';
/**
* The YouTube contacts flavor of an Atom Entry with media support
* Represents a an individual contact
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_ContactEntry extends Zend_Gdata_YouTube_UserProfileEntry
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_ContactEntry';
/**
* Status of the user as a contact
*
* @var string
*/
protected $_status = null;
/**
* Constructs a new Contact Entry object, to represent
* an individual contact for a user
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_status != null) {
$element->appendChild($this->_status->getDOM($element->ownerDocument));
}
return $element;
}
/**
* Creates individual Entry objects of the appropriate type and
* stores them in the $_entry array based upon DOM data.
*
* @param DOMNode $child The DOMNode to process
*/
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('yt') . ':' . 'status':
$status = new Zend_Gdata_YouTube_Extension_Status();
$status->transferFromDOM($child);
$this->_status = $status;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Sets the status
*
* @param Zend_Gdata_YouTube_Extension_Status $status The status
* @return Zend_Gdata_YouTube_ContactEntry Provides a fluent interface
*/
public function setStatus($status = null)
{
$this->_status = $status;
return $this;
}
/**
* Returns the status
*
* @return Zend_Gdata_YouTube_Extension_Status The status
*/
public function getStatus()
{
return $this->_status;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Feed
*/
require_once 'Zend/Gdata/Media/Feed.php';
/**
* @see Zend_Gdata_YouTube_ContactEntry
*/
require_once 'Zend/Gdata/YouTube/ContactEntry.php';
/**
* The YouTube contacts flavor of an Atom Feed with media support
* Represents a list of individual contacts, where each contained entry is
* a contact.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_ContactFeed extends Zend_Gdata_Media_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_ContactEntry';
/**
* Constructs a new YouTube Contact Feed object, to represent
* a feed of contacts for a user
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:aboutMe element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_AboutMe extends Zend_Gdata_Extension
{
protected $_rootElement = 'aboutMe';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:age element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Age extends Zend_Gdata_Extension
{
protected $_rootElement = 'age';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:books element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Books extends Zend_Gdata_Extension
{
protected $_rootElement = 'books';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:company element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Company extends Zend_Gdata_Extension
{
protected $_rootElement = 'company';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension_Control
*/
require_once 'Zend/Gdata/App/Extension/Control.php';
/**
* @see Zend_Gdata_YouTube_Extension_State
*/
require_once 'Zend/Gdata/YouTube/Extension/State.php';
/**
* Specialized Control class for use with YouTube. Enables use of yt extension elements.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Control extends Zend_Gdata_App_Extension_Control
{
protected $_state = null;
/**
* Constructs a new Zend_Gdata_Calendar_Extension_Control object.
* @see Zend_Gdata_App_Extension_Control#__construct
* @param Zend_Gdata_App_Extension_Draft $draft
* @param Zend_Gdata_YouTube_Extension_State $state
*/
public function __construct($draft = null, $state = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($draft);
$this->_state = $state;
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_state != null) {
$element->appendChild($this->_state->getDOM($element->ownerDocument));
}
return $element;
}
/**
* Creates individual Entry objects of the appropriate type and
* stores them as members of this entry based upon DOM data.
*
* @param DOMNode $child The DOMNode to process
*/
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('yt') . ':' . 'state':
$state = new Zend_Gdata_YouTube_Extension_State();
$state->transferFromDOM($child);
$this->_state = $state;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Get the value for this element's state attribute.
*
* @return Zend_Gdata_YouTube_Extension_State The state element.
*/
public function getState()
{
return $this->_state;
}
/**
* Set the value for this element's state attribute.
*
* @param Zend_Gdata_YouTube_Extension_State $value The desired value for this attribute.
* @return Zend_YouTube_Extension_Control The element being modified.
*/
public function setState($value)
{
$this->_state = $value;
return $this;
}
/**
* Get the value of this element's state attribute.
*
* @return string The state's text value
*/
public function getStateValue()
{
return $this->getState()->getText();
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:countHint element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_CountHint extends Zend_Gdata_Extension
{
protected $_rootElement = 'countHint';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:description element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Description extends Zend_Gdata_Extension
{
protected $_rootElement = 'description';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:duration element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Duration extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'yt';
protected $_rootElement = 'duration';
protected $_seconds = null;
/**
* Constructs a new Zend_Gdata_YouTube_Extension_Duration object.
* @param bool $seconds(optional) The seconds value of the element.
*/
public function __construct($seconds = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_seconds = $seconds;
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_seconds !== null) {
$element->setAttribute('seconds', $this->_seconds);
}
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and valueare
* stored in an array.
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'seconds':
$this->_seconds = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's seconds attribute.
*
* @return int The value associated with this attribute.
*/
public function getSeconds()
{
return $this->_seconds;
}
/**
* Set the value for this element's seconds attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_Duration The element being modified.
*/
public function setSeconds($value)
{
$this->_seconds = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*
* @return string The duration in seconds
*/
public function __toString()
{
return $this->_seconds;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:firstName element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_FirstName extends Zend_Gdata_Extension
{
protected $_rootElement = 'firstName';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:gender element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Gender extends Zend_Gdata_Extension
{
protected $_rootElement = 'gender';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:hobbies element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Hobbies extends Zend_Gdata_Extension
{
protected $_rootElement = 'hobbies';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:hometown element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Hometown extends Zend_Gdata_Extension
{
protected $_rootElement = 'hometown';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:lastName element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_LastName extends Zend_Gdata_Extension
{
protected $_rootElement = 'lastName';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension_Link
*/
require_once 'Zend/Gdata/App/Extension/Link.php';
/**
* @see Zend_Gdata_YouTube_Extension_Token
*/
require_once 'Zend/Gdata/YouTube/Extension/Token.php';
/**
* Specialized Link class for use with YouTube. Enables use of yt extension elements.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Link extends Zend_Gdata_App_Extension_Link
{
protected $_token = null;
/**
* Constructs a new Zend_Gdata_Calendar_Extension_Link object.
* @see Zend_Gdata_App_Extension_Link#__construct
* @param Zend_Gdata_YouTube_Extension_Token $token
*/
public function __construct($href = null, $rel = null, $type = null,
$hrefLang = null, $title = null, $length = null, $token = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($href, $rel, $type, $hrefLang, $title, $length);
$this->_token = $token;
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_token != null) {
$element->appendChild($this->_token->getDOM($element->ownerDocument));
}
return $element;
}
/**
* Creates individual Entry objects of the appropriate type and
* stores them as members of this entry based upon DOM data.
*
* @param DOMNode $child The DOMNode to process
*/
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('yt') . ':' . 'token':
$token = new Zend_Gdata_YouTube_Extension_Token();
$token->transferFromDOM($child);
$this->_token = $token;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Get the value for this element's token attribute.
*
* @return Zend_Gdata_YouTube_Extension_Token The token element.
*/
public function getToken()
{
return $this->_token;
}
/**
* Set the value for this element's token attribute.
*
* @param Zend_Gdata_YouTube_Extension_Token $value The desired value for this attribute.
* @return Zend_YouTube_Extension_Link The element being modified.
*/
public function setToken($value)
{
$this->_token = $value;
return $this;
}
/**
* Get the value of this element's token attribute.
*
* @return string The token's text value
*/
public function getTokenValue()
{
return $this->getToken()->getText();
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:location element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Location extends Zend_Gdata_Extension
{
protected $_rootElement = 'location';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Extension_MediaContent
*/
require_once 'Zend/Gdata/Media/Extension/MediaContent.php';
/**
* Represents the media:content element of Media RSS.
* Represents media objects. Multiple media objects representing
* the same content can be represented using a
* media:group (Zend_Gdata_Media_Extension_MediaGroup) element.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_MediaContent extends Zend_Gdata_Media_Extension_MediaContent
{
protected $_rootElement = 'content';
protected $_rootNamespace = 'media';
/*
* Format of the video
* Optional.
*
* @var int
*/
protected $_format = null;
function __construct() {
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_format!= null) {
$element->setAttributeNS($this->lookupNamespace('yt'), 'yt:format', $this->_format);
}
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and value are
* stored in an array.
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
$absoluteAttrName = $attribute->namespaceURI . ':' . $attribute->localName;
if ($absoluteAttrName == $this->lookupNamespace('yt') . ':' . 'format') {
$this->_format = $attribute->nodeValue;
} else {
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Returns the format of the media
* Optional.
*
* @return int The format of the media
*/
public function getFormat()
{
return $this->_format;
}
/**
* Sets the format of the media
*
* @param int $value Format of the media
* @return Zend_Gdata_YouTube_Extension_MediaContent Provides a fluent interface
*
*/
public function setFormat($value)
{
$this->_format = $value;
return $this;
}
}

View File

@@ -0,0 +1,189 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the YouTube specific media:credit element
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_MediaCredit extends Zend_Gdata_Extension
{
protected $_rootElement = 'credit';
protected $_rootNamespace = 'media';
/**
* @var string
*/
protected $_role = null;
/**
* @var string
*/
protected $_scheme = null;
/**
* Represents the value of the yt:type attribute.
*
* Set to 'partner' if the uploader of this video is a YouTube
* partner.
*
* @var string
*/
protected $_yttype = null;
/**
* Creates an individual MediaCredit object.
*
* @param string $text
* @param string $role
* @param string $scheme
*/
public function __construct($text = null, $role = null, $scheme = null,
$yttype = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct();
$this->_text = $text;
$this->_role = $role;
$this->_scheme = $scheme;
$this->_yttype = $yttype;
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_role !== null) {
$element->setAttribute('role', $this->_role);
}
if ($this->_scheme !== null) {
$element->setAttribute('scheme', $this->_scheme);
}
if ($this->_yttype !== null) {
$element->setAttributeNS('http://gdata.youtube.com/schemas/2007',
'yt:type', $this->_yttype);
}
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and value are
* stored in an array.
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'role':
$this->_role = $attribute->nodeValue;
break;
case 'scheme':
$this->_scheme = $attribute->nodeValue;
break;
case 'type':
$this->_yttype = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return string
*/
public function getRole()
{
return $this->_role;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaCredit Provides a fluent
* interface
*/
public function setRole($value)
{
$this->_role = $value;
return $this;
}
/**
* @return string
*/
public function getScheme()
{
return $this->_scheme;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaCredit Provides a fluent
* interface
*/
public function setScheme($value)
{
$this->_scheme = $value;
return $this;
}
/**
* @return string
*/
public function getYTtype()
{
return $this->_yttype;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaCredit Provides a fluent
* interface
*/
public function setYTtype($value)
{
$this->_yttype = $value;
return $this;
}
}

View File

@@ -0,0 +1,336 @@
<?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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Extension_MediaGroup
*/
require_once 'Zend/Gdata/Media/Extension/MediaGroup.php';
/**
* @see Zend_Gdata_YouTube_Extension_MediaContent
*/
require_once 'Zend/Gdata/YouTube/Extension/MediaContent.php';
/**
* @see Zend_Gdata_YouTube_Extension_Duration
*/
require_once 'Zend/Gdata/YouTube/Extension/Duration.php';
/**
* @see Zend_Gdata_YouTube_Extension_MediaRating
*/
require_once 'Zend/Gdata/YouTube/Extension/MediaRating.php';
/**
* @see Zend_Gdata_YouTube_Extension_MediaCredit
*/
require_once 'Zend/Gdata/YouTube/Extension/MediaCredit.php';
/**
* @see Zend_Gdata_YouTube_Extension_Private
*/
require_once 'Zend/Gdata/YouTube/Extension/Private.php';
/**
* @see Zend_Gdata_YouTube_Extension_VideoId
*/
require_once 'Zend/Gdata/YouTube/Extension/VideoId.php';
/**
* @see Zend_Gdata_YouTube_Extension_Uploaded
*/
require_once 'Zend/Gdata/YouTube/Extension/Uploaded.php';
/**
* This class represents the media:group element of Media RSS.
* It allows the grouping of media:content elements that are
* different representations of the same content. When it exists,
* it is a child of an Entry (Atom) or Item (RSS).
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_MediaGroup extends Zend_Gdata_Media_Extension_MediaGroup
{
protected $_rootElement = 'group';
protected $_rootNamespace = 'media';
/**
* @var Zend_Gdata_YouTube_Extension_Duration
*/
protected $_duration = null;
/**
* @var Zend_Gdata_YouTube_Extension_Private
*/
protected $_private = null;
/**
* @var Zend_Gdata_YouTube_Extension_VideoId
*/
protected $_videoid = null;
/**
* @var Zend_Gdata_YouTube_Extension_MediaRating
*/
protected $_mediarating = null;
/**
* @var Zend_Gdata_YouTube_Extension_MediaCredit
*/
protected $_mediacredit = null;
/**
* @var Zend_Gdata_YouTube_Extension_Uploaded
*/
protected $_uploaded = null;
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_duration !== null) {
$element->appendChild(
$this->_duration->getDOM($element->ownerDocument));
}
if ($this->_private !== null) {
$element->appendChild(
$this->_private->getDOM($element->ownerDocument));
}
if ($this->_videoid != null) {
$element->appendChild(
$this->_videoid->getDOM($element->ownerDocument));
}
if ($this->_uploaded != null) {
$element->appendChild(
$this->_uploaded->getDOM($element->ownerDocument));
}
if ($this->_mediacredit != null) {
$element->appendChild(
$this->_mediacredit->getDOM($element->ownerDocument));
}
if ($this->_mediarating != null) {
$element->appendChild(
$this->_mediarating->getDOM($element->ownerDocument));
}
return $element;
}
/**
* Creates individual Entry objects of the appropriate type and
* stores them in the $_entry array based upon DOM data.
*
* @param DOMNode $child The DOMNode to process
*/
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('media') . ':' . 'content':
$content = new Zend_Gdata_YouTube_Extension_MediaContent();
$content->transferFromDOM($child);
$this->_content[] = $content;
break;
case $this->lookupNamespace('media') . ':' . 'rating':
$mediarating = new Zend_Gdata_YouTube_Extension_MediaRating();
$mediarating->transferFromDOM($child);
$this->_mediarating = $mediarating;
break;
case $this->lookupNamespace('media') . ':' . 'credit':
$mediacredit = new Zend_Gdata_YouTube_Extension_MediaCredit();
$mediacredit->transferFromDOM($child);
$this->_mediacredit = $mediacredit;
break;
case $this->lookupNamespace('yt') . ':' . 'duration':
$duration = new Zend_Gdata_YouTube_Extension_Duration();
$duration->transferFromDOM($child);
$this->_duration = $duration;
break;
case $this->lookupNamespace('yt') . ':' . 'private':
$private = new Zend_Gdata_YouTube_Extension_Private();
$private->transferFromDOM($child);
$this->_private = $private;
break;
case $this->lookupNamespace('yt') . ':' . 'videoid':
$videoid = new Zend_Gdata_YouTube_Extension_VideoId();
$videoid ->transferFromDOM($child);
$this->_videoid = $videoid;
break;
case $this->lookupNamespace('yt') . ':' . 'uploaded':
$uploaded = new Zend_Gdata_YouTube_Extension_Uploaded();
$uploaded ->transferFromDOM($child);
$this->_uploaded = $uploaded;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Returns the duration value of this element
*
* @return Zend_Gdata_YouTube_Extension_Duration
*/
public function getDuration()
{
return $this->_duration;
}
/**
* Sets the duration value of this element
*
* @param Zend_Gdata_YouTube_Extension_Duration $value The duration value
* @return Zend_Gdata_YouTube_Extension_MediaGroup Provides a fluent
* interface
*/
public function setDuration($value)
{
$this->_duration = $value;
return $this;
}
/**
* Returns the videoid value of this element
*
* @return Zend_Gdata_YouTube_Extension_VideoId
*/
public function getVideoId()
{
return $this->_videoid;
}
/**
* Sets the videoid value of this element
*
* @param Zend_Gdata_YouTube_Extension_VideoId $value The video id value
* @return Zend_Gdata_YouTube_Extension_MediaGroup Provides a fluent
* interface
*/
public function setVideoId($value)
{
$this->_videoid = $value;
return $this;
}
/**
* Returns the yt:uploaded element
*
* @return Zend_Gdata_YouTube_Extension_Uploaded
*/
public function getUploaded()
{
return $this->_uploaded;
}
/**
* Sets the yt:uploaded element
*
* @param Zend_Gdata_YouTube_Extension_Uploaded $value The uploaded value
* @return Zend_Gdata_YouTube_Extension_MediaGroup Provides a fluent
* interface
*/
public function setUploaded($value)
{
$this->_uploaded = $value;
return $this;
}
/**
* Returns the private value of this element
*
* @return Zend_Gdata_YouTube_Extension_Private
*/
public function getPrivate()
{
return $this->_private;
}
/**
* Sets the private value of this element
*
* @param Zend_Gdata_YouTube_Extension_Private $value The private value
* @return Zend_Gdata_YouTube_Extension_MediaGroup Provides a fluent
* interface
*/
public function setPrivate($value)
{
$this->_private = $value;
return $this;
}
/**
* Returns the rating value of this element
*
* @return Zend_Gdata_YouTube_Extension_MediaRating
*/
public function getMediaRating()
{
return $this->_mediarating;
}
/**
* Sets the media:rating value of this element
*
* @param Zend_Gdata_YouTube_Extension_MediaRating $value The rating element
* @return Zend_Gdata_YouTube_Extension_MediaGroup Provides a fluent
* interface
*/
public function setMediaRating($value)
{
$this->_mediarating = $value;
return $this;
}
/**
* Returns the media:credit value of this element
*
* @return Zend_Gdata_YouTube_Extension_MediaCredit
*/
public function getMediaCredit()
{
return $this->_mediacredit;
}
/**
* Sets the media:credit value of this element
*
* @param Zend_Gdata_YouTube_Extension_MediaCredit $value The credit element
* @return Zend_Gdata_YouTube_Extension_MediaGroup Provides a fluent
* interface
*/
public function setMediaCredit($value)
{
$this->_mediacredit = $value;
return $this;
}
}

View File

@@ -0,0 +1,150 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the media:rating element specific to YouTube.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_MediaRating extends Zend_Gdata_Extension
{
protected $_rootElement = 'rating';
protected $_rootNamespace = 'media';
/**
* @var string
*/
protected $_scheme = null;
/**
* @var string
*/
protected $_country = null;
/**
* Constructs a new MediaRating element
*
* @param string $text
* @param string $scheme
* @param string $country
*/
public function __construct($text = null, $scheme = null, $country = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct();
$this->_scheme = $scheme;
$this->_country = $country;
$this->_text = $text;
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_scheme !== null) {
$element->setAttribute('scheme', $this->_scheme);
}
if ($this->_country != null) {
$element->setAttribute('country', $this->_country);
}
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and value are
* stored in an array.
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'scheme':
$this->_scheme = $attribute->nodeValue;
break;
case 'country':
$this->_country = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return string
*/
public function getScheme()
{
return $this->_scheme;
}
/**
* @param string $value
* @return Zend_Gdata_YouTube_Extension_MediaRating Provides a fluent interface
*/
public function setScheme($value)
{
$this->_scheme = $value;
return $this;
}
/**
* @return string
*/
public function getCountry()
{
return $this->_country;
}
/**
* @param string $value
* @return Zend_Gdata_YouTube_Extension_MediaRating Provides a fluent interface
*/
public function setCountry($value)
{
$this->_country = $value;
return $this;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:movies element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Movies extends Zend_Gdata_Extension
{
protected $_rootElement = 'movies';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:music element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Music extends Zend_Gdata_Extension
{
protected $_rootElement = 'music';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:noembed element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_NoEmbed extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'yt';
protected $_rootElement = 'noembed';
/**
* Constructs a new Zend_Gdata_YouTube_Extension_VideoShare object.
* @param bool $enabled(optional) The enabled value of the element.
*/
public function __construct($enabled = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:occupation element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Occupation extends Zend_Gdata_Extension
{
protected $_rootElement = 'occupation';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:playlistId element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_PlaylistId extends Zend_Gdata_Extension
{
protected $_rootElement = 'playlistId';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:playlistTitle element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_PlaylistTitle extends Zend_Gdata_Extension
{
protected $_rootElement = 'playlistTitle';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Data model class to represent a playlist item's position in the list (yt:position)
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Position extends Zend_Gdata_Extension
{
protected $_rootElement = 'position';
protected $_rootNamespace = 'yt';
/**
* Constructs a new Zend_Gdata_YouTube_Extension_Position object.
*
* @param string $value (optional) The 1-based position in the playlist
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $value;
}
/**
* Get the value for the position in the playlist
*
* @return int The 1-based position in the playlist
*/
public function getValue()
{
return $this->_text;
}
/**
* Set the value for the position in the playlist
*
* @param int $value The 1-based position in the playlist
* @return Zend_Gdata_Extension_Visibility The element being modified
*/
public function setValue($value)
{
$this->_text = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*
* @return string
*/
public function __toString()
{
return $this->getValue();
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:private element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Private extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'yt';
protected $_rootElement = 'private';
/**
* Constructs a new Zend_Gdata_YouTube_Extension_Private object.
*/
public function __construct()
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and valueare
* stored in an array.
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
parent::takeAttributeFromDOM($attribute);
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:queryString element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_QueryString extends Zend_Gdata_Extension
{
protected $_rootElement = 'queryString';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:racy element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Racy extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'yt';
protected $_rootElement = 'racy';
protected $_state = null;
/**
* Constructs a new Zend_Gdata_YouTube_Extension_Racy object.
* @param bool $state(optional) The state value of the element.
*/
public function __construct($state = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_state = $state;
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_state !== null) {
$element->setAttribute('state', $this->_state);
}
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and value are
* stored in an array.
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'state':
$this->_state = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's state attribute.
*
* @return bool The value associated with this attribute.
*/
public function getState()
{
return $this->_state;
}
/**
* Set the value for this element's state attribute.
*
* @param bool $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_Racy The element being modified.
*/
public function setState($value)
{
$this->_state = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*/
public function __toString()
{
return $this->_state;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:recorded element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Recorded extends Zend_Gdata_Extension
{
protected $_rootElement = 'recorded';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:relationship element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Relationship extends Zend_Gdata_Extension
{
protected $_rootElement = 'relationship';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:releaseDate element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_ReleaseDate extends Zend_Gdata_Extension
{
protected $_rootElement = 'releaseDate';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:school element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_School extends Zend_Gdata_Extension
{
protected $_rootElement = 'school';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:state element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_State extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'yt';
protected $_rootElement = 'state';
protected $_name = null;
protected $_reasonCode = null;
protected $_helpUrl = null;
/**
* Constructs a new Zend_Gdata_YouTube_Extension_State object.
*
* @param string $explanation(optional) The explanation of this state
* @param string $name(optional) The name value
* @param string $reasonCode(optional) The reasonCode value
* @param string $helpUrl(optional) The helpUrl value
*/
public function __construct($explanation = null, $name = null,
$reasonCode = null, $helpUrl = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $explanation;
$this->_name = $name;
$this->_reasonCode = $reasonCode;
$this->_helpUrl = $reasonCode;
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_name !== null) {
$element->setAttribute('name', $this->_name);
}
if ($this->_reasonCode !== null) {
$element->setAttribute('reasonCode', $this->_reasonCode);
}
if ($this->_helpUrl !== null) {
$element->setAttribute('helpUrl', $this->_helpUrl);
}
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and valueare
* stored in an array.
* TODO: Convert attributes to proper types
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'name':
$this->_name = $attribute->nodeValue;
break;
case 'reasonCode':
$this->_reasonCode = $attribute->nodeValue;
break;
case 'helpUrl':
$this->_helpUrl = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's name attribute.
*
* @return int The value associated with this attribute.
*/
public function getName()
{
return $this->_name;
}
/**
* Set the value for this element's name attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_State The element being modified.
*/
public function setName($value)
{
$this->_name = $value;
return $this;
}
/**
* Get the value for this element's reasonCode attribute.
*
* @return int The value associated with this attribute.
*/
public function getReasonCode()
{
return $this->_reasonCode;
}
/**
* Set the value for this element's reasonCode attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_State The element being modified.
*/
public function setReasonCode($value)
{
$this->_reasonCode = $value;
return $this;
}
/**
* Get the value for this element's helpUrl attribute.
*
* @return int The value associated with this attribute.
*/
public function getHelpUrl()
{
return $this->_helpUrl;
}
/**
* Set the value for this element's helpUrl attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_State The element being modified.
*/
public function setHelpUrl($value)
{
$this->_helpUrl = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*
* @return string
*/
public function __toString()
{
return $this->_text;
}
}

View File

@@ -0,0 +1,309 @@
<?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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:statistics element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 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';
/**
* The videoWatchCount attribute specifies the number of videos
* that a user has watched on YouTube. The videoWatchCount attribute
* is only specified when the <yt:statistics> tag appears within a
* user profile entry.
*
* @var integer
*/
protected $_videoWatchCount = null;
/**
* When the viewCount attribute refers to a video entry, the attribute
* specifies the number of times that the video has been viewed.
* When the viewCount attribute refers to a user profile, the attribute
* specifies the number of times that the user's profile has been
* viewed.
*
* @var integer
*/
protected $_viewCount = null;
/**
* The subscriberCount attribute specifies the number of YouTube users
* who have subscribed to a particular user's YouTube channel.
* The subscriberCount attribute is only specified when the
* <yt:statistics> tag appears within a user profile entry.
*
* @var integer
*/
protected $_subscriberCount = null;
/**
* The lastWebAccess attribute indicates the most recent time that
* a particular user used YouTube.
*
* @var string
*/
protected $_lastWebAccess = null;
/**
* The favoriteCount attribute specifies the number of YouTube users
* who have added a video to their list of favorite videos. The
* favoriteCount attribute is only specified when the
* <yt:statistics> tag appears within a video entry.
*
* @var integer
*/
protected $_favoriteCount = null;
/**
* Constructs a new Zend_Gdata_YouTube_Extension_Statistics object.
* @param string $viewCount(optional) The viewCount value
* @param string $videoWatchCount(optional) The videoWatchCount value
* @param string $subscriberCount(optional) The subscriberCount value
* @param string $lastWebAccess(optional) The lastWebAccess value
* @param string $favoriteCount(optional) The favoriteCount value
*/
public function __construct($viewCount = null, $videoWatchCount = null,
$subscriberCount = null, $lastWebAccess = null,
$favoriteCount = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_viewCount = $viewCount;
$this->_videoWatchCount = $videoWatchCount;
$this->_subscriberCount = $subscriberCount;
$this->_lastWebAccess = $lastWebAccess;
$this->_favoriteCount = $favoriteCount;
}
/**
* 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->_videoWatchCount !== null) {
$element->setAttribute('watchCount', $this->_videoWatchCount);
}
if ($this->_viewCount !== null) {
$element->setAttribute('viewCount', $this->_viewCount);
}
if ($this->_subscriberCount !== null) {
$element->setAttribute('subscriberCount',
$this->_subscriberCount);
}
if ($this->_lastWebAccess !== null) {
$element->setAttribute('lastWebAccess',
$this->_lastWebAccess);
}
if ($this->_favoriteCount !== null) {
$element->setAttribute('favoriteCount',
$this->_favoriteCount);
}
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 'videoWatchCount':
$this->_videoWatchCount = $attribute->nodeValue;
break;
case 'viewCount':
$this->_viewCount = $attribute->nodeValue;
break;
case 'subscriberCount':
$this->_subscriberCount = $attribute->nodeValue;
break;
case 'lastWebAccess':
$this->_lastWebAccess = $attribute->nodeValue;
break;
case 'favoriteCount':
$this->_favoriteCount = $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 videoWatchCount attribute.
*
* @return int The value associated with this attribute.
*/
public function getVideoWatchCount()
{
return $this->_videoWatchCount;
}
/**
* Set the value for this element's videoWatchCount attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_Statistics The element being
* modified.
*/
public function setVideoWatchCount($value)
{
$this->_videoWatchCount = $value;
return $this;
}
/**
* Get the value for this element's subscriberCount attribute.
*
* @return int The value associated with this attribute.
*/
public function getSubscriberCount()
{
return $this->_subscriberCount;
}
/**
* Set the value for this element's subscriberCount attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_Statistics The element being
* modified.
*/
public function setSubscriberCount($value)
{
$this->_subscriberCount = $value;
return $this;
}
/**
* Get the value for this element's lastWebAccess attribute.
*
* @return int The value associated with this attribute.
*/
public function getLastWebAccess()
{
return $this->_lastWebAccess;
}
/**
* Set the value for this element's lastWebAccess attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_Statistics The element being
* modified.
*/
public function setLastWebAccess($value)
{
$this->_lastWebAccess = $value;
return $this;
}
/**
* Get the value for this element's favoriteCount attribute.
*
* @return int The value associated with this attribute.
*/
public function getFavoriteCount()
{
return $this->_favoriteCount;
}
/**
* Set the value for this element's favoriteCount attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_Statistics The element being
* modified.
*/
public function setFavoriteCount($value)
{
$this->_favoriteCount = $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 .
' VideoWatchCount=' . $this->_videoWatchCount .
' SubscriberCount=' . $this->_subscriberCount .
' LastWebAccess=' . $this->_lastWebAccess .
' FavoriteCount=' . $this->_favoriteCount;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:status element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Status extends Zend_Gdata_Extension
{
protected $_rootElement = 'status';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:token element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Token extends Zend_Gdata_App_Extension
{
protected $_rootNamespace = 'yt';
protected $_rootElement = 'token';
/**
* Constructs a new Zend_Gdata_YouTube_Extension_Token object.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
return $element;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:uploaded element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Uploaded extends Zend_Gdata_Extension
{
protected $_rootElement = 'uploaded';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:username element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Username extends Zend_Gdata_Extension
{
protected $_rootElement = 'username';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:videoid element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_VideoId extends Zend_Gdata_Extension
{
protected $_rootElement = 'videoid';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}

View File

@@ -0,0 +1,281 @@
<?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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Entry
*/
require_once 'Zend/Gdata/Media/Entry.php';
/**
* @see Zend_Gdata_Extension_Rating
*/
require_once 'Zend/Gdata/Extension/Rating.php';
/**
* @see Zend_Gdata_Extension_Comments
*/
require_once 'Zend/Gdata/Extension/Comments.php';
/**
* @see Zend_Gdata_YouTube_Extension_Statistics
*/
require_once 'Zend/Gdata/YouTube/Extension/Statistics.php';
/**
* @see Zend_Gdata_YouTube_Extension_Description
*/
require_once 'Zend/Gdata/YouTube/Extension/Description.php';
/**
* Represents the YouTube message flavor of an Atom entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_InboxEntry extends Zend_Gdata_Media_Entry
{
protected $_entryClassName = 'Zend_Gdata_YouTube_InboxEntry';
/**
* The gd:comments element of this entry.
*
* @var Zend_Gdata_Extension_Comments
*/
protected $_comments = null;
/**
* The gd:rating element of this entry.
*
* @var Zend_Gdata_Extension_Rating
*/
protected $_rating = null;
/**
* The yt:statistics element of this entry.
*
* @var Zend_Gdata_YouTube_Extension_Statistics
*/
protected $_statistics = null;
/**
* The yt:description element of this entry.
*
* @var Zend_Gdata_YouTube_Extension_Description
*/
protected $_description = null;
/**
* Creates a subscription entry, representing an individual subscription
* in a list of subscriptions, usually associated with an individual user.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_description != null) {
$element->appendChild(
$this->_description->getDOM($element->ownerDocument));
}
if ($this->_rating != null) {
$element->appendChild(
$this->_rating->getDOM($element->ownerDocument));
}
if ($this->_statistics != null) {
$element->appendChild(
$this->_statistics->getDOM($element->ownerDocument));
}
if ($this->_comments != null) {
$element->appendChild(
$this->_comments->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') . ':' . 'comments':
$comments = new Zend_Gdata_Extension_Comments();
$comments->transferFromDOM($child);
$this->_comments = $comments;
break;
case $this->lookupNamespace('gd') . ':' . 'rating':
$rating = new Zend_Gdata_Extension_Rating();
$rating->transferFromDOM($child);
$this->_rating = $rating;
break;
case $this->lookupNamespace('yt') . ':' . 'description':
$description = new Zend_Gdata_YouTube_Extension_Description();
$description->transferFromDOM($child);
$this->_description = $description;
break;
case $this->lookupNamespace('yt') . ':' . 'statistics':
$statistics = new Zend_Gdata_YouTube_Extension_Statistics();
$statistics->transferFromDOM($child);
$this->_statistics = $statistics;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Get the yt:description
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_Description|null
*/
public function getDescription()
{
if ($this->getMajorProtocolVersion() == 2) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getDescription ' .
' method is only supported in version 1 of the YouTube ' .
'API.');
} else {
return $this->_description;
}
}
/**
* Sets the yt:description element for a new inbox entry.
*
* @param Zend_Gdata_YouTube_Extension_Description $description The
* description.
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_InboxEntry Provides a fluent interface
*/
public function setDescription($description = null)
{
if ($this->getMajorProtocolVersion() == 2) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The setDescription ' .
' method is only supported in version 1 of the YouTube ' .
'API.');
} else {
$this->_description = $description;
return $this;
}
}
/**
* Get the gd:rating element for the inbox entry
*
* @return Zend_Gdata_Extension_Rating|null
*/
public function getRating()
{
return $this->_rating;
}
/**
* Sets the gd:rating element for the inbox entry
*
* @param Zend_Gdata_Extension_Rating $rating The rating for the video in
* the message
* @return Zend_Gdata_YouTube_InboxEntry Provides a fluent interface
*/
public function setRating($rating = null)
{
$this->_rating = $rating;
return $this;
}
/**
* Get the gd:comments element of the inbox entry.
*
* @return Zend_Gdata_Extension_Comments|null
*/
public function getComments()
{
return $this->_comments;
}
/**
* Sets the gd:comments element for the inbox entry
*
* @param Zend_Gdata_Extension_Comments $comments The comments feed link
* @return Zend_Gdata_YouTube_InboxEntry Provides a fluent interface
*/
public function setComments($comments = null)
{
$this->_comments = $comments;
return $this;
}
/**
* Get the yt:statistics element for the inbox entry
*
* @return Zend_Gdata_YouTube_Extension_Statistics|null
*/
public function getStatistics()
{
return $this->_statistics;
}
/**
* Sets the yt:statistics element for the inbox entry
*
* @param Zend_Gdata_YouTube_Extension_Statistics $statistics The
* statistics element for the video in the message
* @return Zend_Gdata_YouTube_InboxEntry Provides a fluent interface
*/
public function setStatistics($statistics = null)
{
$this->_statistics = $statistics;
return $this;
}
}

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-2010 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_InboxEntry
*/
require_once 'Zend/Gdata/YouTube/InboxEntry.php';
/**
* The YouTube inbox feed list flavor of an Atom Feed with media support
* Represents a list of individual inbox entries, where each contained entry is
* a message.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_InboxFeed extends Zend_Gdata_Media_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_InboxEntry';
/**
* Creates an Inbox feed, representing a list of messages,
* associated with an individual user.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media
*/
require_once 'Zend/Gdata/Media.php';
/**
* @see Zend_Gdata_Media_Entry
*/
require_once 'Zend/Gdata/Media/Entry.php';
/**
* @see Zend_Gdata_YouTube_Extension_MediaGroup
*/
require_once 'Zend/Gdata/YouTube/Extension/MediaGroup.php';
/**
* Represents the YouTube flavor of a Gdata Media Entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 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,300 @@
<?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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_YouTube
*/
require_once 'Zend/Gdata/YouTube.php';
/**
* @see Zend_Gdata_Entry
*/
require_once 'Zend/Gdata/Entry.php';
/**
* @see Zend_Gdata_Extension_FeedLink
*/
require_once 'Zend/Gdata/Extension/FeedLink.php';
/**
* @see Zend_Gdata_YouTube_Extension_Description
*/
require_once 'Zend/Gdata/YouTube/Extension/Description.php';
/**
* @see Zend_Gdata_YouTube_Extension_PlaylistId
*/
require_once 'Zend/Gdata/YouTube/Extension/PlaylistId.php';
/**
* @see Zend_Gdata_YouTube_Extension_CountHint
*/
require_once 'Zend/Gdata/YouTube/Extension/CountHint.php';
/**
* Represents the YouTube video playlist flavor of an Atom entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_PlaylistListEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_YouTube_PlaylistListEntry';
/**
* Nested feed links
*
* @var array
*/
protected $_feedLink = array();
/**
* Description of this playlist
*
* @deprecated Deprecated as of version 2 of the YouTube API.
* @var Zend_Gdata_YouTube_Extension_Description
*/
protected $_description = null;
/**
* Id of this playlist
*
* @var Zend_Gdata_YouTube_Extension_PlaylistId
*/
protected $_playlistId = null;
/**
* CountHint for this playlist.
*
* @var Zend_Gdata_YouTube_Extension_CountHint
*/
protected $_countHint = null;
/**
* Creates a Playlist list entry, representing an individual playlist
* in a list of playlists, usually associated with an individual user.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_description != null) {
$element->appendChild($this->_description->getDOM($element->ownerDocument));
}
if ($this->_countHint != null) {
$element->appendChild($this->_countHint->getDOM($element->ownerDocument));
}
if ($this->_playlistId != null) {
$element->appendChild($this->_playlistId->getDOM($element->ownerDocument));
}
if ($this->_feedLink != null) {
foreach ($this->_feedLink as $feedLink) {
$element->appendChild($feedLink->getDOM($element->ownerDocument));
}
}
return $element;
}
/**
* Creates individual Entry objects of the appropriate type and
* stores them in the $_entry array based upon DOM data.
*
* @param DOMNode $child The DOMNode to process
*/
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('yt') . ':' . 'description':
$description = new Zend_Gdata_YouTube_Extension_Description();
$description->transferFromDOM($child);
$this->_description = $description;
break;
case $this->lookupNamespace('yt') . ':' . 'countHint':
$countHint = new Zend_Gdata_YouTube_Extension_CountHint();
$countHint->transferFromDOM($child);
$this->_countHint = $countHint;
break;
case $this->lookupNamespace('yt') . ':' . 'playlistId':
$playlistId = new Zend_Gdata_YouTube_Extension_PlaylistId();
$playlistId->transferFromDOM($child);
$this->_playlistId = $playlistId;
break;
case $this->lookupNamespace('gd') . ':' . 'feedLink':
$feedLink = new Zend_Gdata_Extension_FeedLink();
$feedLink->transferFromDOM($child);
$this->_feedLink[] = $feedLink;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Sets the description relating to the playlist.
*
* @deprecated Deprecated as of version 2 of the YouTube API.
* @param Zend_Gdata_YouTube_Extension_Description $description The description relating to the video
* @return Zend_Gdata_YouTube_PlaylistListEntry Provides a fluent interface
*/
public function setDescription($description = null)
{
if ($this->getMajorProtocolVersion() >= 2) {
$this->setSummary($description);
} else {
$this->_description = $description;
}
return $this;
}
/**
* Returns the description relating to the video.
*
* @return Zend_Gdata_YouTube_Extension_Description The description
* relating to the video
*/
public function getDescription()
{
if ($this->getMajorProtocolVersion() >= 2) {
return $this->getSummary();
} else {
return $this->_description;
}
}
/**
* Returns the countHint relating to the playlist.
*
* The countHint is the number of videos on a playlist.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_CountHint The count of videos on
* a playlist.
*/
public function getCountHint()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The yt:countHint ' .
'element is not supported in versions earlier than 2.');
} else {
return $this->_countHint;
}
}
/**
* Returns the Id relating to the playlist.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_PlaylistId The id of this playlist.
*/
public function getPlaylistId()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The yt:playlistId ' .
'element is not supported in versions earlier than 2.');
} else {
return $this->_playlistId;
}
}
/**
* Sets the array of embedded feeds related to the playlist
*
* @param array $feedLink The array of embedded feeds relating to the video
* @return Zend_Gdata_YouTube_PlaylistListEntry Provides a fluent interface
*/
public function setFeedLink($feedLink = null)
{
$this->_feedLink = $feedLink;
return $this;
}
/**
* Get the feed link property for this entry.
*
* @see setFeedLink
* @param string $rel (optional) The rel value of the link to be found.
* If null, the array of links is returned.
* @return mixed If $rel is specified, a Zend_Gdata_Extension_FeedLink
* object corresponding to the requested rel value is returned
* if found, or null if the requested value is not found. If
* $rel is null or not specified, an array of all available
* feed links for this entry is returned, or null if no feed
* links are set.
*/
public function getFeedLink($rel = null)
{
if ($rel == null) {
return $this->_feedLink;
} else {
foreach ($this->_feedLink as $feedLink) {
if ($feedLink->rel == $rel) {
return $feedLink;
}
}
return null;
}
}
/**
* Returns the URL of the playlist video feed
*
* @return string The URL of the playlist video feed
*/
public function getPlaylistVideoFeedUrl()
{
if ($this->getMajorProtocolVersion() >= 2) {
return $this->getContent()->getSrc();
} else {
return $this->getFeedLink(Zend_Gdata_YouTube::PLAYLIST_REL)->href;
}
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Feed
*/
require_once 'Zend/Gdata/Media/Feed.php';
/**
* @see Zend_Gdata_YouTube_PlaylistListEntry
*/
require_once 'Zend/Gdata/YouTube/PlaylistListEntry.php';
/**
* The YouTube video playlist flavor of an Atom Feed with media support
* Represents a list of individual playlists, where each contained entry is
* a playlist.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_PlaylistListFeed extends Zend_Gdata_Media_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_PlaylistListEntry';
/**
* Creates a Playlist list feed, representing a list of playlists,
* usually associated with an individual user.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_YouTube_VideoEntry
*/
require_once 'Zend/Gdata/YouTube/VideoEntry.php';
/**
* @see Zend_Gdata_YouTube_Extension_Position
*/
require_once 'Zend/Gdata/YouTube/Extension/Position.php';
/**
* Represents the YouTube video playlist flavor of an Atom entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_PlaylistVideoEntry extends Zend_Gdata_YouTube_VideoEntry
{
protected $_entryClassName = 'Zend_Gdata_YouTube_PlaylistVideoEntry';
/**
* Position of the entry in the feed, as specified by the user
*
* @var Zend_Gdata_YouTube_Extension_Position
*/
protected $_position = null;
/**
* Creates a Playlist video entry, representing an individual video
* in a list of videos contained within a specific playlist
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_position !== null) {
$element->appendChild($this->_position->getDOM($element->ownerDocument));
}
return $element;
}
/**
* Creates individual Entry objects of the appropriate type and
* stores them in the $_entry array based upon DOM data.
*
* @param DOMNode $child The DOMNode to process
*/
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('yt') . ':' . 'position':
$position = new Zend_Gdata_YouTube_Extension_Position();
$position->transferFromDOM($child);
$this->_position = $position;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Sets the array of embedded feeds related to the video
*
* @param Zend_Gdata_YouTube_Extension_Position $position
* The position of the entry in the feed, as specified by the user.
* @return Zend_Gdata_YouTube_PlaylistVideoEntry Provides a fluent interface
*/
public function setPosition($position = null)
{
$this->_position = $position;
return $this;
}
/**
* Returns the position of the entry in the feed, as specified by the user
*
* @return Zend_Gdata_YouTube_Extension_Position The position
*/
public function getPosition()
{
return $this->_position;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Feed
*/
require_once 'Zend/Gdata/Media/Feed.php';
/**
* @see Zend_Gdata_YouTube_PlaylistVideoEntry
*/
require_once 'Zend/Gdata/YouTube/PlaylistVideoEntry.php';
/**
* The YouTube video playlist flavor of an Atom Feed with media support
* Represents a list of videos contained in a playlist. Each entry in this
* feed represents an individual video.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_PlaylistVideoFeed extends Zend_Gdata_Media_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_PlaylistVideoEntry';
/**
* Creates a Play Video feed, representing a list of videos contained
* within a single playlist.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}

View File

@@ -0,0 +1,446 @@
<?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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Entry
*/
require_once 'Zend/Gdata/Entry.php';
/**
* @see Zend_Gdata_Extension_FeedLink
*/
require_once 'Zend/Gdata/Extension/FeedLink.php';
/**
* @see Zend_Gdata_YouTube_Extension_Description
*/
require_once 'Zend/Gdata/YouTube/Extension/Description.php';
/**
* @see Zend_Gdata_YouTube_Extension_PlaylistTitle
*/
require_once 'Zend/Gdata/YouTube/Extension/PlaylistTitle.php';
/**
* @see Zend_Gdata_YouTube_Extension_PlaylistId
*/
require_once 'Zend/Gdata/YouTube/Extension/PlaylistId.php';
/**
* @see Zend_Gdata_Media_Extension_MediaThumbnail
*/
require_once 'Zend/Gdata/Media/Extension/MediaThumbnail.php';
/**
* @see Zend_Gdata_YouTube_Extension_Username
*/
require_once 'Zend/Gdata/YouTube/Extension/Username.php';
/**
* @see Zend_Gdata_YouTube_Extension_CountHint
*/
require_once 'Zend/Gdata/YouTube/Extension/CountHint.php';
/**
* @see Zend_Gdata_YouTube_Extension_QueryString
*/
require_once 'Zend/Gdata/YouTube/Extension/QueryString.php';
/**
* Represents the YouTube video subscription flavor of an Atom entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_SubscriptionEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_YouTube_SubscriptionEntry';
/**
* Nested feed links
*
* @var array
*/
protected $_feedLink = array();
/**
* The username of this entry.
*
* @var Zend_Gdata_YouTube_Extension_Username
*/
protected $_username = null;
/**
* The playlist title for this entry.
*
* This element is only used on subscriptions to playlists.
*
* @var Zend_Gdata_YouTube_Extension_PlaylistTitle
*/
protected $_playlistTitle = null;
/**
* The playlist id for this entry.
*
* This element is only used on subscriptions to playlists.
*
* @var Zend_Gdata_YouTube_Extension_PlaylistId
*/
protected $_playlistId = null;
/**
* The media:thumbnail element for this entry.
*
* This element is only used on subscriptions to playlists.
*
* @var Zend_Gdata_Media_Extension_MediaThumbnail
*/
protected $_mediaThumbnail = null;
/**
* The countHint for this entry.
*
* @var Zend_Gdata_YouTube_Extension_CountHint
*/
protected $_countHint = null;
/**
* The queryString for this entry.
*
* @var Zend_Gdata_YouTube_Extension_QueryString
*/
protected $_queryString = null;
/**
* Creates a subscription entry, representing an individual subscription
* in a list of subscriptions, usually associated with an individual user.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_countHint != null) {
$element->appendChild($this->_countHint->getDOM($element->ownerDocument));
}
if ($this->_playlistTitle != null) {
$element->appendChild($this->_playlistTitle->getDOM($element->ownerDocument));
}
if ($this->_playlistId != null) {
$element->appendChild($this->_playlistId->getDOM($element->ownerDocument));
}
if ($this->_mediaThumbnail != null) {
$element->appendChild($this->_mediaThumbnail->getDOM($element->ownerDocument));
}
if ($this->_username != null) {
$element->appendChild($this->_username->getDOM($element->ownerDocument));
}
if ($this->_queryString != null) {
$element->appendChild($this->_queryString->getDOM($element->ownerDocument));
}
if ($this->_feedLink != null) {
foreach ($this->_feedLink as $feedLink) {
$element->appendChild($feedLink->getDOM($element->ownerDocument));
}
}
return $element;
}
/**
* Creates individual Entry objects of the appropriate type and
* stores them in the $_entry array based upon DOM data.
*
* @param DOMNode $child The DOMNode to process
*/
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('gd') . ':' . 'feedLink':
$feedLink = new Zend_Gdata_Extension_FeedLink();
$feedLink->transferFromDOM($child);
$this->_feedLink[] = $feedLink;
break;
case $this->lookupNamespace('media') . ':' . 'thumbnail':
$mediaThumbnail = new Zend_Gdata_Media_Extension_MediaThumbnail();
$mediaThumbnail->transferFromDOM($child);
$this->_mediaThumbnail = $mediaThumbnail;
break;
case $this->lookupNamespace('yt') . ':' . 'countHint':
$countHint = new Zend_Gdata_YouTube_Extension_CountHint();
$countHint->transferFromDOM($child);
$this->_countHint = $countHint;
break;
case $this->lookupNamespace('yt') . ':' . 'playlistTitle':
$playlistTitle = new Zend_Gdata_YouTube_Extension_PlaylistTitle();
$playlistTitle->transferFromDOM($child);
$this->_playlistTitle = $playlistTitle;
break;
case $this->lookupNamespace('yt') . ':' . 'playlistId':
$playlistId = new Zend_Gdata_YouTube_Extension_PlaylistId();
$playlistId->transferFromDOM($child);
$this->_playlistId = $playlistId;
break;
case $this->lookupNamespace('yt') . ':' . 'queryString':
$queryString = new Zend_Gdata_YouTube_Extension_QueryString();
$queryString->transferFromDOM($child);
$this->_queryString = $queryString;
break;
case $this->lookupNamespace('yt') . ':' . 'username':
$username = new Zend_Gdata_YouTube_Extension_Username();
$username->transferFromDOM($child);
$this->_username = $username;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Sets the array of embedded feeds related to the video
*
* @param array $feedLink The array of embedded feeds relating to the video
* @return Zend_Gdata_YouTube_SubscriptionEntry Provides a fluent interface
*/
public function setFeedLink($feedLink = null)
{
$this->_feedLink = $feedLink;
return $this;
}
/**
* Get the feed link property for this entry.
*
* @see setFeedLink
* @param string $rel (optional) The rel value of the link to be found.
* If null, the array of links is returned.
* @return mixed If $rel is specified, a Zend_Gdata_Extension_FeedLink
* object corresponding to the requested rel value is returned
* if found, or null if the requested value is not found. If
* $rel is null or not specified, an array of all available
* feed links for this entry is returned, or null if no feed
* links are set.
*/
public function getFeedLink($rel = null)
{
if ($rel == null) {
return $this->_feedLink;
} else {
foreach ($this->_feedLink as $feedLink) {
if ($feedLink->rel == $rel) {
return $feedLink;
}
}
return null;
}
}
/**
* Get the playlist title for a 'playlist' subscription.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_PlaylistId
*/
public function getPlaylistId()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getPlaylistId ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_playlistId;
}
}
/**
* Sets the yt:playlistId element for a new playlist subscription.
*
* @param Zend_Gdata_YouTube_Extension_PlaylistId $id The id of
* the playlist to which to subscribe to.
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_SubscriptionEntry Provides a fluent interface
*/
public function setPlaylistId($id = null)
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The setPlaylistTitle ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
$this->_playlistId = $id;
return $this;
}
}
/**
* Get the queryString of the subscription
*
* @return Zend_Gdata_YouTube_Extension_QueryString
*/
public function getQueryString()
{
return $this->_queryString;
}
/**
* Sets the yt:queryString element for a new keyword subscription.
*
* @param Zend_Gdata_YouTube_Extension_QueryString $queryString The query
* string to subscribe to
* @return Zend_Gdata_YouTube_SubscriptionEntry Provides a fluent interface
*/
public function setQueryString($queryString = null)
{
$this->_queryString = $queryString;
return $this;
}
/**
* Get the playlist title for a 'playlist' subscription.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_PlaylistTitle
*/
public function getPlaylistTitle()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getPlaylistTitle ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_playlistTitle;
}
}
/**
* Sets the yt:playlistTitle element for a new playlist subscription.
*
* @param Zend_Gdata_YouTube_Extension_PlaylistTitle $title The title of
* the playlist to which to subscribe to.
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_SubscriptionEntry Provides a fluent interface
*/
public function setPlaylistTitle($title = null)
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The setPlaylistTitle ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
$this->_playlistTitle = $title;
return $this;
}
}
/**
* Get the counthint for a subscription.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_CountHint
*/
public function getCountHint()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getCountHint ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_countHint;
}
}
/**
* Get the thumbnail for a subscription.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_Media_Extension_MediaThumbnail
*/
public function getMediaThumbnail()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getMediaThumbnail ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_mediaThumbnail;
}
}
/**
* Get the username for a channel subscription.
*
* @return Zend_Gdata_YouTube_Extension_Username
*/
public function getUsername()
{
return $this->_username;
}
/**
* Sets the username for a new channel subscription.
*
* @param Zend_Gdata_YouTube_Extension_Username $username The username of
* the channel to which to subscribe to.
* @return Zend_Gdata_YouTube_SubscriptionEntry Provides a fluent interface
*/
public function setUsername($username = null)
{
$this->_username = $username;
return $this;
}
}

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Feed
*/
require_once 'Zend/Gdata/Media/Feed.php';
/**
* @see Zend_Gdata_YouTube_SubscriptionEntry
*/
require_once 'Zend/Gdata/YouTube/SubscriptionEntry.php';
/**
* The YouTube video subscription list flavor of an Atom Feed with media support
* Represents a list of individual subscriptions, where each contained entry is
* a subscription.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_SubscriptionFeed extends Zend_Gdata_Media_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_SubscriptionEntry';
/**
* Creates a Subscription feed, representing a list of subscriptions,
* usually associated with an individual user.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}

File diff suppressed because it is too large Load Diff

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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Feed
*/
require_once 'Zend/Gdata/Media/Feed.php';
/**
* @see Zend_Gdata_YouTube_VideoEntry
*/
require_once 'Zend/Gdata/YouTube/VideoEntry.php';
/**
* The YouTube video flavor of an Atom Feed with media support
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_VideoFeed extends Zend_Gdata_Media_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_VideoEntry';
/**
* Creates a Video feed, representing a list of videos
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}

View File

@@ -0,0 +1,540 @@
<?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-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Gdata_YouTube
*/
require_once('Zend/Gdata/YouTube.php');
/**
* Zend_Gdata_Query
*/
require_once('Zend/Gdata/Query.php');
/**
* Assists in constructing queries for YouTube videos
*
* @link http://code.google.com/apis/youtube/
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_VideoQuery extends Zend_Gdata_Query
{
/**
* Create Gdata_YouTube_VideoQuery object
*/
public function __construct($url = null)
{
parent::__construct($url);
}
/**
* Sets the type of feed this query should be used to search
*
* @param string $feedType The type of feed
* @param string $videoId The ID of the video associated with this query
* @param string $entry The ID of the entry associated with this query
*/
public function setFeedType($feedType, $videoId = null, $entry = null)
{
switch ($feedType) {
case 'top rated':
$this->_url = Zend_Gdata_YouTube::STANDARD_TOP_RATED_URI;
break;
case 'most viewed':
$this->_url = Zend_Gdata_YouTube::STANDARD_MOST_VIEWED_URI;
break;
case 'recently featured':
$this->_url = Zend_Gdata_YouTube::STANDARD_RECENTLY_FEATURED_URI;
break;
case 'mobile':
$this->_url = Zend_Gdata_YouTube::STANDARD_WATCH_ON_MOBILE_URI;
break;
case 'related':
if ($videoId === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Video ID must be set for feed of type: ' . $feedType);
} else {
$this->_url = Zend_Gdata_YouTube::VIDEO_URI . '/' . $videoId .
'/related';
}
break;
case 'responses':
if ($videoId === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_Exception(
'Video ID must be set for feed of type: ' . $feedType);
} else {
$this->_url = Zend_Gdata_YouTube::VIDEO_URI . '/' . $videoId .
'responses';
}
break;
case 'comments':
if ($videoId === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_Exception(
'Video ID must be set for feed of type: ' . $feedType);
} else {
$this->_url = Zend_Gdata_YouTube::VIDEO_URI . '/' .
$videoId . 'comments';
if ($entry !== null) {
$this->_url .= '/' . $entry;
}
}
break;
default:
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('Unknown feed type');
break;
}
}
/**
* Sets the location parameter for the query
*
* @param string $value
* @throws Zend_Gdata_App_InvalidArgumentException
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setLocation($value)
{
switch($value) {
case null:
unset($this->_params['location']);
default:
$parameters = explode(',', $value);
if (count($parameters) != 2) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'You must provide 2 coordinates to the location ' .
'URL parameter');
}
foreach($parameters as $param) {
$temp = trim($param);
// strip off the optional exclamation mark for numeric check
if (substr($temp, -1) == '!') {
$temp = substr($temp, 0, -1);
}
if (!is_numeric($temp)) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Value provided to location parameter must' .
' be in the form of two coordinates');
}
}
$this->_params['location'] = $value;
}
}
/**
* Get the value of the location parameter
*
* @return string|null Return the location if it exists, null otherwise.
*/
public function getLocation()
{
if (array_key_exists('location', $this->_params)) {
return $this->_params['location'];
} else {
return null;
}
}
/**
* Sets the location-radius parameter for the query
*
* @param string $value
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setLocationRadius($value)
{
switch($value) {
case null:
unset($this->_params['location-radius']);
default:
$this->_params['location-radius'] = $value;
}
}
/**
* Get the value of the location-radius parameter
*
* @return string|null Return the location-radius if it exists,
* null otherwise.
*/
public function getLocationRadius()
{
if (array_key_exists('location-radius', $this->_params)) {
return $this->_params['location-radius'];
} else {
return null;
}
}
/**
* Sets the time period over which this query should apply
*
* @param string $value
* @throws Zend_Gdata_App_InvalidArgumentException
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setTime($value = null)
{
switch ($value) {
case 'today':
$this->_params['time'] = 'today';
break;
case 'this_week':
$this->_params['time'] = 'this_week';
break;
case 'this_month':
$this->_params['time'] = 'this_month';
break;
case 'all_time':
$this->_params['time'] = 'all_time';
break;
case null:
unset($this->_params['time']);
default:
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Unknown time value');
break;
}
return $this;
}
/**
* Sets the value of the uploader parameter
*
* @param string $value The value of the uploader parameter. Currently this
* can only be set to the value of 'partner'.
* @throws Zend_Gdata_App_InvalidArgumentException
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setUploader($value = null)
{
switch ($value) {
case 'partner':
$this->_params['uploader'] = 'partner';
break;
case null:
unset($this->_params['uploader']);
break;
default:
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Unknown value for uploader');
}
return $this;
}
/**
* Sets the formatted video query (vq) URL param value
*
* @param string $value
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setVideoQuery($value = null)
{
if ($value != null) {
$this->_params['vq'] = $value;
} else {
unset($this->_params['vq']);
}
return $this;
}
/**
* Sets the param to return videos of a specific format
*
* @param string $value
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setFormat($value = null)
{
if ($value != null) {
$this->_params['format'] = $value;
} else {
unset($this->_params['format']);
}
return $this;
}
/**
* Sets whether or not to include racy videos in the search results
*
* @param string $value
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setRacy($value = null)
{
switch ($value) {
case 'include':
$this->_params['racy'] = $value;
break;
case 'exclude':
$this->_params['racy'] = $value;
break;
case null:
unset($this->_params['racy']);
break;
}
return $this;
}
/**
* Whether or not to include racy videos in the search results
*
* @return string|null The value of racy if it exists, null otherwise.
*/
public function getRacy()
{
if (array_key_exists('racy', $this->_params)) {
return $this->_params['racy'];
} else {
return null;
}
}
/**
* Set the safeSearch parameter
*
* @param string $value The value of the parameter, currently only 'none',
* 'moderate' or 'strict' are allowed values.
* @throws Zend_Gdata_App_InvalidArgumentException
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setSafeSearch($value)
{
switch ($value) {
case 'none':
$this->_params['safeSearch'] = 'none';
break;
case 'moderate':
$this->_params['safeSearch'] = 'moderate';
break;
case 'strict':
$this->_params['safeSearch'] = 'strict';
break;
case null:
unset($this->_params['safeSearch']);
default:
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'The safeSearch parameter only supports the values '.
'\'none\', \'moderate\' or \'strict\'.');
}
}
/**
* Return the value of the safeSearch parameter
*
* @return string|null The value of the safeSearch parameter if it has been
* set, null otherwise.
*/
public function getSafeSearch()
{
if (array_key_exists('safeSearch', $this->_params)) {
return $this->_params['safeSearch'];
}
return $this;
}
/**
* Set the value of the orderby parameter
*
* @param string $value
* @return Zend_Gdata_YouTube_Query Provides a fluent interface
*/
public function setOrderBy($value)
{
if ($value != null) {
$this->_params['orderby'] = $value;
} else {
unset($this->_params['orderby']);
}
return $this;
}
/**
* Return the value of the format parameter
*
* @return string|null The value of format if it exists, null otherwise.
*/
public function getFormat()
{
if (array_key_exists('format', $this->_params)) {
return $this->_params['format'];
} else {
return null;
}
}
/**
* Return the value of the video query that has been set
*
* @return string|null The value of the video query if it exists,
* null otherwise.
*/
public function getVideoQuery()
{
if (array_key_exists('vq', $this->_params)) {
return $this->_params['vq'];
} else {
return null;
}
}
/**
* Return the value of the time parameter
*
* @return string|null The time parameter if it exists, null otherwise.
*/
public function getTime()
{
if (array_key_exists('time', $this->_params)) {
return $this->_params['time'];
} else {
return null;
}
}
/**
* Return the value of the orderby parameter if it exists
*
* @return string|null The value of orderby if it exists, null otherwise.
*/
public function getOrderBy()
{
if (array_key_exists('orderby', $this->_params)) {
return $this->_params['orderby'];
} else {
return null;
}
}
/**
* Generate the query string from the URL parameters, optionally modifying
* them based on protocol version.
*
* @param integer $majorProtocolVersion The major protocol version
* @param integer $minorProtocolVersion The minor protocol version
* @throws Zend_Gdata_App_VersionException
* @return string querystring
*/
public function getQueryString($majorProtocolVersion = null,
$minorProtocolVersion = null)
{
$queryArray = array();
foreach ($this->_params as $name => $value) {
if (substr($name, 0, 1) == '_') {
continue;
}
switch($name) {
case 'location-radius':
if ($majorProtocolVersion == 1) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException("The $name " .
"parameter is only supported in version 2.");
}
break;
case 'racy':
if ($majorProtocolVersion == 2) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException("The $name " .
"parameter is not supported in version 2. " .
"Please use 'safeSearch'.");
}
break;
case 'safeSearch':
if ($majorProtocolVersion == 1) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException("The $name " .
"parameter is only supported in version 2. " .
"Please use 'racy'.");
}
break;
case 'uploader':
if ($majorProtocolVersion == 1) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException("The $name " .
"parameter is only supported in version 2.");
}
break;
case 'vq':
if ($majorProtocolVersion == 2) {
$name = 'q';
}
break;
}
$queryArray[] = urlencode($name) . '=' . urlencode($value);
}
if (count($queryArray) > 0) {
return '?' . implode('&', $queryArray);
} else {
return '';
}
}
/**
* Returns the generated full query URL, optionally modifying it based on
* the protocol version.
*
* @param integer $majorProtocolVersion The major protocol version
* @param integer $minorProtocolVersion The minor protocol version
* @return string The URL
*/
public function getQueryUrl($majorProtocolVersion = null,
$minorProtocolVersion = null)
{
if (isset($this->_url)) {
$url = $this->_url;
} else {
$url = Zend_Gdata_YouTube::VIDEO_URI;
}
if ($this->getCategory() !== null) {
$url .= '/-/' . $this->getCategory();
}
$url = $url . $this->getQueryString($majorProtocolVersion,
$minorProtocolVersion);
return $url;
}
}