Files
languages
libs
Monkeys
Zend
Acl
Amf
Auth
Cache
Captcha
Config
Console
Controller
Currency
Date
Db
Dojo
Dom
Feed
File
Filter
Form
Gdata
App
Books
Calendar
Docs
DublinCore
Exif
Extension
Gapps
Gbase
Geo
Kind
Media
Photos
Spreadsheets
YouTube
Extension
CommentEntry.php
CommentFeed.php
ContactEntry.php
ContactFeed.php
MediaEntry.php
PlaylistListEntry.php
PlaylistListFeed.php
PlaylistVideoEntry.php
PlaylistVideoFeed.php
SubscriptionEntry.php
SubscriptionFeed.php
UserProfileEntry.php
VideoEntry.php
VideoFeed.php
VideoQuery.php
App.php
AuthSub.php
Books.php
Calendar.php
ClientLogin.php
Docs.php
DublinCore.php
Entry.php
Exif.php
Extension.php
Feed.php
Gapps.php
Gbase.php
Geo.php
HttpClient.php
Media.php
Photos.php
Query.php
Spreadsheets.php
YouTube.php
Http
InfoCard
Json
Layout
Ldap
Loader
Locale
Log
Mail
Measure
Memory
Mime
OpenId
Paginator
Pdf
ProgressBar
Request
Rest
Search
Server
Service
Session
Soap
Test
Text
TimeSync
Translate
Uri
Validate
View
Wildfire
XmlRpc
Acl.php
Auth.php
Cache.php
Config.php
Currency.php
Date.php
Db.php
Debug.php
Dojo.php
Exception.php
Feed.php
Filter.php
Form.php
Gdata.php
InfoCard.php
Json.php
Layout.php
Ldap.php
Loader.php
Locale.php
Log.php
Mail.php
Memory.php
Mime.php
OpenId.php
Paginator.php
Pdf.php
ProgressBar.php
Registry.php
Session.php
TimeSync.php
Translate.php
Uri.php
Validate.php
Version.php
View.php
jpgraph
MODIFICATIONS.txt
modules
resources
scripts
setup
tests
utilities
views
webdir
Acl.php
BUGS
CHANGELOG
CONTRIBUTORS
INSTALL
README
Setup.php
bootstrap.php
config.default.php
config.template.php
index.html
CommunityID/libs/Zend/Gdata/YouTube/SubscriptionEntry.php
2019-07-17 22:08:50 +02:00

155 lines
4.9 KiB
PHP

<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Entry
*/
require_once 'Zend/Gdata/Entry.php';
/**
* @see Zend_Gdata_Extension_FeedLink
*/
require_once 'Zend/Gdata/Extension/FeedLink.php';
/**
* @see Zend_Gdata_YouTube_Extension_Description
*/
require_once 'Zend/Gdata/YouTube/Extension/Description.php';
/**
* Represents the YouTube video subscription flavor of an Atom entry
*
* @category Zend
* @package Zend_Gdata
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_SubscriptionEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_YouTube_SubscriptionEntry';
/**
* Nested feed links
*
* @var array
*/
protected $_feedLink = array();
/**
* Creates a subscription entry, representing an individual subscription
* in a list of subscriptions, usually associated with an individual user.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
foreach (Zend_Gdata_YouTube::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct($element);
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_feedLink != null) {
foreach ($this->_feedLink as $feedLink) {
$element->appendChild($feedLink->getDOM($element->ownerDocument));
}
}
return $element;
}
/**
* Creates individual Entry objects of the appropriate type and
* stores them in the $_entry array based upon DOM data.
*
* @param DOMNode $child The DOMNode to process
*/
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('gd') . ':' . 'feedLink':
$feedLink = new Zend_Gdata_Extension_FeedLink();
$feedLink->transferFromDOM($child);
$this->_feedLink[] = $feedLink;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Sets the array of embedded feeds related to the video
*
* @param array $feedLink The array of embedded feeds relating to the video
* @return Zend_Gdata_YouTube_SubscriptionEntry Provides a fluent interface
*/
public function setFeedLink($feedLink = null)
{
$this->_feedLink = $feedLink;
return $this;
}
/**
* Get the feed link property for this entry.
*
* @see setFeedLink
* @param string $rel (optional) The rel value of the link to be found.
* If null, the array of links is returned.
* @return mixed If $rel is specified, a Zend_Gdata_Extension_FeedLink
* object corresponding to the requested rel value is returned
* if found, or null if the requested value is not found. If
* $rel is null or not specified, an array of all available
* feed links for this entry is returned, or null if no feed
* links are set.
*/
public function getFeedLink($rel = null)
{
if ($rel == null) {
return $this->_feedLink;
} else {
foreach ($this->_feedLink as $feedLink) {
if ($feedLink->rel == $rel) {
return $feedLink;
}
}
return null;
}
}
}