Current File : /home/k/a/r/karenpetzb/www/items/category/Gdata.tar |
Entry.php 0000604 00000010526 15071215231 0006353 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata
*/
require_once 'Zend/Gdata.php';
/**
* @see Zend_Gdata_App_MediaEntry
*/
require_once 'Zend/Gdata/App/MediaEntry.php';
/**
* Represents the Gdata flavor of an Atom entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Entry extends Zend_Gdata_App_MediaEntry
{
protected $_entryClassName = 'Zend_Gdata_Entry';
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata::$namespaces);
parent::__construct($element);
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
// ETags are special. We only support them in protocol >= 2.X.
// This will be duplicated by the HTTP ETag header.
if ($majorVersion >= 2) {
if ($this->_etag != null) {
$element->setAttributeNS($this->lookupNamespace('gd'),
'gd:etag',
$this->_etag);
}
}
return $element;
}
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('atom') . ':' . 'content':
$content = new Zend_Gdata_App_Extension_Content();
$content->transferFromDOM($child);
$this->_content = $content;
break;
case $this->lookupNamespace('atom') . ':' . 'published':
$published = new Zend_Gdata_App_Extension_Published();
$published->transferFromDOM($child);
$this->_published = $published;
break;
case $this->lookupNamespace('atom') . ':' . 'source':
$source = new Zend_Gdata_App_Extension_Source();
$source->transferFromDOM($child);
$this->_source = $source;
break;
case $this->lookupNamespace('atom') . ':' . 'summary':
$summary = new Zend_Gdata_App_Extension_Summary();
$summary->transferFromDOM($child);
$this->_summary = $summary;
break;
case $this->lookupNamespace('app') . ':' . 'control':
$control = new Zend_Gdata_App_Extension_Control();
$control->transferFromDOM($child);
$this->_control = $control;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* 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 'etag':
// ETags are special, since they can be conveyed by either the
// HTTP ETag header or as an XML attribute.
$etag = $attribute->nodeValue;
if (is_null($this->_etag)) {
$this->_etag = $etag;
}
elseif ($this->_etag != $etag) {
require_once('Zend/Gdata/App/IOException.php');
throw new Zend_Gdata_App_IOException("ETag mismatch");
}
break;
default:
parent::takeAttributeFromDOM($attribute);
break;
}
}
}
Health.php 0000604 00000021561 15071215231 0006460 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Health
* @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
*/
require_once 'Zend/Gdata.php';
/**
* @see Zend_Gdata_Health_ProfileFeed
*/
require_once 'Zend/Gdata/Health/ProfileFeed.php';
/**
* @see Zend_Gdata_Health_ProfileListFeed
*/
require_once 'Zend/Gdata/Health/ProfileListFeed.php';
/**
* @see Zend_Gdata_Health_ProfileListEntry
*/
require_once 'Zend/Gdata/Health/ProfileListEntry.php';
/**
* @see Zend_Gdata_Health_ProfileEntry
*/
require_once 'Zend/Gdata/Health/ProfileEntry.php';
/**
* Service class for interacting with the Google Health Data API
*
* @link http://code.google.com/apis/health
*
* @category Zend
* @package Zend_Gdata
* @subpackage Health
* @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_Health extends Zend_Gdata
{
/**
* URIs of the AuthSub/OAuth feeds.
*/
const AUTHSUB_PROFILE_FEED_URI =
'https://www.google.com/health/feeds/profile/default';
const AUTHSUB_REGISTER_FEED_URI =
'https://www.google.com/health/feeds/register/default';
/**
* URIs of the ClientLogin feeds.
*/
const CLIENTLOGIN_PROFILELIST_FEED_URI =
'https://www.google.com/health/feeds/profile/list';
const CLIENTLOGIN_PROFILE_FEED_URI =
'https://www.google.com/health/feeds/profile/ui';
const CLIENTLOGIN_REGISTER_FEED_URI =
'https://www.google.com/health/feeds/register/ui';
/**
* Authentication service names for Google Health and the H9 Sandbox.
*/
const HEALTH_SERVICE_NAME = 'health';
const H9_SANDBOX_SERVICE_NAME = 'weaver';
/**
* Profile ID used for all API interactions. This can only be set when
* using ClientLogin for authentication.
*
* @var string
*/
private $_profileID = null;
/**
* True if API calls should be made to the H9 developer sandbox at /h9
* rather than /health
*
* @var bool
*/
private $_useH9Sandbox = false;
public static $namespaces =
array('ccr' => 'urn:astm-org:CCR',
'batch' => 'http://schemas.google.com/gdata/batch',
'h9m' => 'http://schemas.google.com/health/metadata',
'gAcl' => 'http://schemas.google.com/acl/2007',
'gd' => 'http://schemas.google.com/g/2005');
/**
* Create Zend_Gdata_Health object
*
* @param Zend_Http_Client $client (optional) The HTTP client to use when
* when communicating with the Google Health servers.
* @param string $applicationId The identity of the application in the form
* of Company-AppName-Version
* @param bool $useH9Sandbox True if the H9 Developer's Sandbox should be
* used instead of production Google Health.
*/
public function __construct($client = null, $applicationId = 'MyCompany-MyApp-1.0', $useH9Sandbox = false)
{
$this->registerPackage('Zend_Gdata_Health');
$this->registerPackage('Zend_Gdata_Health_Extension_Ccr');
parent::__construct($client, $applicationId);
$this->_useH9Sandbox = $useH9Sandbox;
}
/**
* Gets the id of the user's profile
*
* @return string The profile id
*/
public function getProfileID()
{
return $this->_profileID;
}
/**
* Sets which of the user's profiles will be used
*
* @param string $id The profile ID
* @return Zend_Gdata_Health Provides a fluent interface
*/
public function setProfileID($id) {
$this->_profileID = $id;
return $this;
}
/**
* Retrieves the list of profiles associated with the user's ClientLogin
* credentials.
*
* @param string $query The query of the feed as a URL or Query object
* @return Zend_Gdata_Feed
*/
public function getHealthProfileListFeed($query = null)
{
if ($this->_httpClient->getClientLoginToken() === null) {
require_once 'Zend/Gdata/App/AuthException.php';
throw new Zend_Gdata_App_AuthException(
'Profiles list feed is only available when using ClientLogin');
}
if($query === null) {
$uri = self::CLIENTLOGIN_PROFILELIST_FEED_URI;
} else if ($query instanceof Zend_Gdata_Query) {
$uri = $query->getQueryUrl();
} else {
$uri = $query;
}
// use correct feed for /h9 or /health
if ($this->_useH9Sandbox) {
$uri = preg_replace('/\/health\//', '/h9/', $uri);
}
return parent::getFeed($uri, 'Zend_Gdata_Health_ProfileListFeed');
}
/**
* Retrieve a user's profile as a feed object. If ClientLogin is used, the
* profile associated with $this->_profileID is returned, otherwise
* the profile associated with the AuthSub token is read.
*
* @param mixed $query The query for the feed, as a URL or Query
* @return Zend_Gdata_Health_ProfileFeed
*/
public function getHealthProfileFeed($query = null)
{
if ($this->_httpClient->getClientLoginToken() !== null &&
$this->getProfileID() == null) {
require_once 'Zend/Gdata/App/AuthException.php';
throw new Zend_Gdata_App_AuthException(
'Profile ID must not be null. Did you call setProfileID()?');
}
if ($query instanceof Zend_Gdata_Query) {
$uri = $query->getQueryUrl();
} else if ($this->_httpClient->getClientLoginToken() !== null &&
$query == null) {
$uri = self::CLIENTLOGIN_PROFILE_FEED_URI . '/' . $this->getProfileID();
} else if ($query === null) {
$uri = self::AUTHSUB_PROFILE_FEED_URI;
} else {
$uri = $query;
}
// use correct feed for /h9 or /health
if ($this->_useH9Sandbox) {
$uri = preg_replace('/\/health\//', '/h9/', $uri);
}
return parent::getFeed($uri, 'Zend_Gdata_Health_ProfileFeed');
}
/**
* Retrieve a profile entry object
*
* @param mixed $query The query for the feed, as a URL or Query
* @return Zend_Gdata_Health_ProfileEntry
*/
public function getHealthProfileEntry($query = null)
{
if ($query === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Query must not be null');
} else if ($query instanceof Zend_Gdata_Query) {
$uri = $query->getQueryUrl();
} else {
$uri = $query;
}
return parent::getEntry($uri, 'Zend_Gdata_Health_ProfileEntry');
}
/**
* Posts a new notice using the register feed. This function constructs
* the atom profile entry.
*
* @param string $subject The subject line of the notice
* @param string $body The message body of the notice
* @param string $bodyType The (optional) type of message body
* (text, xhtml, html, etc.)
* @param string $ccrXML The (optional) CCR to add to the user's profile
* @return Zend_Gdata_Health_ProfileEntry
*/
public function sendHealthNotice($subject, $body, $bodyType = null, $ccrXML = null)
{
if ($this->_httpClient->getClientLoginToken()) {
$profileID = $this->getProfileID();
if ($profileID !== null) {
$uri = self::CLIENTLOGIN_REGISTER_FEED_URI . '/' . $profileID;
} else {
require_once 'Zend/Gdata/App/AuthException.php';
throw new Zend_Gdata_App_AuthException(
'Profile ID must not be null. Did you call setProfileID()?');
}
} else {
$uri = self::AUTHSUB_REGISTER_FEED_URI;
}
$entry = new Zend_Gdata_Health_ProfileEntry();
$entry->title = $this->newTitle($subject);
$entry->content = $this->newContent($body);
$entry->content->type = $bodyType ? $bodyType : 'text';
$entry->setCcr($ccrXML);
// use correct feed for /h9 or /health
if ($this->_useH9Sandbox) {
$uri = preg_replace('/\/health\//', '/h9/', $uri);
}
return $this->insertEntry($entry, $uri, 'Zend_Gdata_Health_ProfileEntry');
}
}
YouTube.php 0000604 00000056062 15071215231 0006653 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media
*/
require_once 'Zend/Gdata/Media.php';
/**
* @see Zend_Gdata_YouTube_VideoEntry
*/
require_once 'Zend/Gdata/YouTube/VideoEntry.php';
/**
* @see Zend_Gdata_YouTube_VideoFeed
*/
require_once 'Zend/Gdata/YouTube/VideoFeed.php';
/**
* @see Zend_Gdata_YouTube_CommentFeed
*/
require_once 'Zend/Gdata/YouTube/CommentFeed.php';
/**
* @see Zend_Gdata_YouTube_PlaylistListFeed
*/
require_once 'Zend/Gdata/YouTube/PlaylistListFeed.php';
/**
* @see Zend_Gdata_YouTube_SubscriptionFeed
*/
require_once 'Zend/Gdata/YouTube/SubscriptionFeed.php';
/**
* @see Zend_Gdata_YouTube_ContactFeed
*/
require_once 'Zend/Gdata/YouTube/ContactFeed.php';
/**
* @see Zend_Gdata_YouTube_PlaylistVideoFeed
*/
require_once 'Zend/Gdata/YouTube/PlaylistVideoFeed.php';
/**
* Service class for interacting with the YouTube Data API.
* @link http://code.google.com/apis/youtube/
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube extends Zend_Gdata_Media
{
const AUTH_SERVICE_NAME = 'youtube';
const CLIENTLOGIN_URL = 'https://www.google.com/youtube/accounts/ClientLogin';
const STANDARD_TOP_RATED_URI = 'http://gdata.youtube.com/feeds/standardfeeds/top_rated';
const STANDARD_MOST_VIEWED_URI = 'http://gdata.youtube.com/feeds/standardfeeds/most_viewed';
const STANDARD_RECENTLY_FEATURED_URI = 'http://gdata.youtube.com/feeds/standardfeeds/recently_featured';
const STANDARD_WATCH_ON_MOBILE_URI = 'http://gdata.youtube.com/feeds/standardfeeds/watch_on_mobile';
const STANDARD_TOP_RATED_URI_V2 =
'http://gdata.youtube.com/feeds/api/standardfeeds/top_rated';
const STANDARD_MOST_VIEWED_URI_V2 =
'http://gdata.youtube.com/feeds/api/standardfeeds/most_viewed';
const STANDARD_RECENTLY_FEATURED_URI_V2 =
'http://gdata.youtube.com/feeds/api/standardfeeds/recently_featured';
const STANDARD_WATCH_ON_MOBILE_URI_V2 =
'http://gdata.youtube.com/feeds/api/standardfeeds/watch_on_mobile';
const USER_URI = 'http://gdata.youtube.com/feeds/api/users';
const VIDEO_URI = 'http://gdata.youtube.com/feeds/api/videos';
const PLAYLIST_REL = 'http://gdata.youtube.com/schemas/2007#playlist';
const USER_UPLOADS_REL = 'http://gdata.youtube.com/schemas/2007#user.uploads';
const USER_PLAYLISTS_REL = 'http://gdata.youtube.com/schemas/2007#user.playlists';
const USER_SUBSCRIPTIONS_REL = 'http://gdata.youtube.com/schemas/2007#user.subscriptions';
const USER_CONTACTS_REL = 'http://gdata.youtube.com/schemas/2007#user.contacts';
const USER_FAVORITES_REL = 'http://gdata.youtube.com/schemas/2007#user.favorites';
const VIDEO_RESPONSES_REL = 'http://gdata.youtube.com/schemas/2007#video.responses';
const VIDEO_RATINGS_REL = 'http://gdata.youtube.com/schemas/2007#video.ratings';
const VIDEO_COMPLAINTS_REL = 'http://gdata.youtube.com/schemas/2007#video.complaints';
const FAVORITES_URI_SUFFIX = 'favorites';
const UPLOADS_URI_SUFFIX = 'uploads';
const RESPONSES_URI_SUFFIX = 'responses';
const RELATED_URI_SUFFIX = 'related';
/**
* Namespaces used for Zend_Gdata_YouTube
*
* @var array
*/
public static $namespaces = array(
array('yt', 'http://gdata.youtube.com/schemas/2007', 1, 0),
array('georss', 'http://www.georss.org/georss', 1, 0),
array('gml', 'http://www.opengis.net/gml', 1, 0),
array('media', 'http://search.yahoo.com/mrss/', 1, 0)
);
/**
* Create Zend_Gdata_YouTube object
*
* @param Zend_Http_Client $client (optional) The HTTP client to use when
* when communicating with the Google servers.
* @param string $applicationId The identity of the app in the form of Company-AppName-Version
* @param string $clientId The clientId issued by the YouTube dashboard
* @param string $developerKey The developerKey issued by the YouTube dashboard
*/
public function __construct($client = null, $applicationId = 'MyCompany-MyApp-1.0', $clientId = null, $developerKey = null)
{
$this->registerPackage('Zend_Gdata_YouTube');
$this->registerPackage('Zend_Gdata_YouTube_Extension');
$this->registerPackage('Zend_Gdata_Media');
$this->registerPackage('Zend_Gdata_Media_Extension');
// NOTE This constructor no longer calls the parent constructor
$this->setHttpClient($client, $applicationId, $clientId, $developerKey);
}
/**
* Set the Zend_Http_Client object used for communication
*
* @param Zend_Http_Client $client The client to use for communication
* @throws Zend_Gdata_App_HttpException
* @return Zend_Gdata_App Provides a fluent interface
*/
public function setHttpClient($client, $applicationId = 'MyCompany-MyApp-1.0', $clientId = null, $developerKey = null)
{
if ($client === null) {
$client = new Zend_Http_Client();
}
if (!$client instanceof Zend_Http_Client) {
require_once 'Zend/Gdata/App/HttpException.php';
throw new Zend_Gdata_App_HttpException('Argument is not an instance of Zend_Http_Client.');
}
if ($clientId != null) {
$client->setHeaders('X-GData-Client', $clientId);
}
if ($developerKey != null) {
$client->setHeaders('X-GData-Key', 'key='. $developerKey);
}
return parent::setHttpClient($client, $applicationId);
}
/**
* Retrieves a feed of videos.
*
* @param mixed $location (optional) The URL to query or a
* Zend_Gdata_Query object from which a URL can be determined
* @return Zend_Gdata_YouTube_VideoFeed The feed of videos found at the
* specified URL.
*/
public function getVideoFeed($location = null)
{
if ($location == null) {
$uri = self::VIDEO_URI;
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_YouTube_VideoFeed');
}
/**
* Retrieves a specific video entry.
*
* @param mixed $videoId The ID of the video to retrieve.
* @param mixed $location (optional) The URL to query or a
* Zend_Gdata_Query object from which a URL can be determined.
* @param boolean $fullEntry (optional) Retrieve the full metadata for the
* entry. Only possible if entry belongs to currently authenticated
* user. An exception will be thrown otherwise.
* @throws Zend_Gdata_App_HttpException
* @return Zend_Gdata_YouTube_VideoEntry The video entry found at the
* specified URL.
*/
public function getVideoEntry($videoId = null, $location = null,
$fullEntry = false)
{
if ($videoId !== null) {
if ($fullEntry) {
return $this->getFullVideoEntry($videoId);
} else {
$uri = self::VIDEO_URI . "/" . $videoId;
}
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getEntry($uri, 'Zend_Gdata_YouTube_VideoEntry');
}
/**
* Retrieves a video entry from the user's upload feed.
*
* @param mixed $videoID The ID of the video to retrieve.
* @throws Zend_Gdata_App_HttpException
* @return Zend_Gdata_YouTube_VideoEntry|null The video entry to be
* retrieved, or null if it was not found or the user requesting it
* did not have the appropriate permissions.
*/
public function getFullVideoEntry($videoId)
{
$uri = self::USER_URI . "/default/" .
self::UPLOADS_URI_SUFFIX . "/$videoId";
return parent::getEntry($uri, 'Zend_Gdata_YouTube_VideoEntry');
}
/**
* Retrieves a feed of videos related to the specified video ID.
*
* @param string $videoId The videoId of interest
* @param mixed $location (optional) The URL to query or a
* Zend_Gdata_Query object from which a URL can be determined
* @return Zend_Gdata_YouTube_VideoFeed The feed of videos found at the
* specified URL.
*/
public function getRelatedVideoFeed($videoId = null, $location = null)
{
if ($videoId !== null) {
$uri = self::VIDEO_URI . "/" . $videoId . "/" . self::RELATED_URI_SUFFIX;
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_YouTube_VideoFeed');
}
/**
* Retrieves a feed of video responses related to the specified video ID.
*
* @param string $videoId The videoId of interest
* @param mixed $location (optional) The URL to query or a
* Zend_Gdata_Query object from which a URL can be determined
* @return Zend_Gdata_YouTube_VideoFeed The feed of videos found at the
* specified URL.
*/
public function getVideoResponseFeed($videoId = null, $location = null)
{
if ($videoId !== null) {
$uri = self::VIDEO_URI . "/" . $videoId . "/" . self::RESPONSES_URI_SUFFIX;
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_YouTube_VideoFeed');
}
/**
* Retrieves a feed of comments related to the specified video ID.
*
* @param string $videoId The videoId of interest
* @param mixed $location (optional) The URL to query or a
* Zend_Gdata_Query object from which a URL can be determined
* @return Zend_Gdata_YouTube_CommentFeed The feed of videos found at the
* specified URL.
*/
public function getVideoCommentFeed($videoId = null, $location = null)
{
if ($videoId !== null) {
$uri = self::VIDEO_URI . "/" . $videoId . "/comments";
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_YouTube_CommentFeed');
}
/**
* Retrieves a feed of comments related to the specified video ID.
*
* @param mixed $location (optional) The URL to query or a
* Zend_Gdata_Query object from which a URL can be determined
* @return Zend_Gdata_YouTube_CommentFeed The feed of videos found at the
* specified URL.
*/
public function getTopRatedVideoFeed($location = null)
{
$standardFeedUri = self::STANDARD_TOP_RATED_URI;
if ($this->getMajorProtocolVersion() == 2) {
$standardFeedUri = self::STANDARD_TOP_RATED_URI_V2;
}
if ($location == null) {
$uri = $standardFeedUri;
} else if ($location instanceof Zend_Gdata_Query) {
if ($location instanceof Zend_Gdata_YouTube_VideoQuery) {
if (!isset($location->url)) {
$location->setFeedType('top rated');
}
}
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_YouTube_VideoFeed');
}
/**
* Retrieves a feed of the most viewed videos.
*
* @param mixed $location (optional) The URL to query or a
* Zend_Gdata_Query object from which a URL can be determined
* @return Zend_Gdata_YouTube_VideoFeed The feed of videos found at the
* specified URL.
*/
public function getMostViewedVideoFeed($location = null)
{
$standardFeedUri = self::STANDARD_MOST_VIEWED_URI;
if ($this->getMajorProtocolVersion() == 2) {
$standardFeedUri = self::STANDARD_MOST_VIEWED_URI_V2;
}
if ($location == null) {
$uri = $standardFeedUri;
} else if ($location instanceof Zend_Gdata_Query) {
if ($location instanceof Zend_Gdata_YouTube_VideoQuery) {
if (!isset($location->url)) {
$location->setFeedType('most viewed');
}
}
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_YouTube_VideoFeed');
}
/**
* Retrieves a feed of recently featured videos.
*
* @param mixed $location (optional) The URL to query or a
* Zend_Gdata_Query object from which a URL can be determined
* @return Zend_Gdata_YouTube_VideoFeed The feed of videos found at the
* specified URL.
*/
public function getRecentlyFeaturedVideoFeed($location = null)
{
$standardFeedUri = self::STANDARD_RECENTLY_FEATURED_URI;
if ($this->getMajorProtocolVersion() == 2) {
$standardFeedUri = self::STANDARD_RECENTLY_FEATURED_URI_V2;
}
if ($location == null) {
$uri = $standardFeedUri;
} else if ($location instanceof Zend_Gdata_Query) {
if ($location instanceof Zend_Gdata_YouTube_VideoQuery) {
if (!isset($location->url)) {
$location->setFeedType('recently featured');
}
}
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_YouTube_VideoFeed');
}
/**
* Retrieves a feed of videos recently featured for mobile devices.
* These videos will have RTSP links in the $entry->mediaGroup->content
*
* @param mixed $location (optional) The URL to query or a
* Zend_Gdata_Query object from which a URL can be determined
* @return Zend_Gdata_YouTube_VideoFeed The feed of videos found at the
* specified URL.
*/
public function getWatchOnMobileVideoFeed($location = null)
{
$standardFeedUri = self::STANDARD_WATCH_ON_MOBILE_URI;
if ($this->getMajorProtocolVersion() == 2) {
$standardFeedUri = self::STANDARD_WATCH_ON_MOBILE_URI_V2;
}
if ($location == null) {
$uri = $standardFeedUri;
} else if ($location instanceof Zend_Gdata_Query) {
if ($location instanceof Zend_Gdata_YouTube_VideoQuery) {
if (!isset($location->url)) {
$location->setFeedType('watch on mobile');
}
}
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_YouTube_VideoFeed');
}
/**
* Retrieves a feed which lists a user's playlist
*
* @param string $user (optional) The username of interest
* @param mixed $location (optional) The URL to query or a
* Zend_Gdata_Query object from which a URL can be determined
* @return Zend_Gdata_YouTube_PlaylistListFeed The feed of playlists
*/
public function getPlaylistListFeed($user = null, $location = null)
{
if ($user !== null) {
$uri = self::USER_URI . '/' . $user . '/playlists';
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_YouTube_PlaylistListFeed');
}
/**
* Retrieves a feed of videos in a particular playlist
*
* @param mixed $location (optional) The URL to query or a
* Zend_Gdata_Query object from which a URL can be determined
* @return Zend_Gdata_YouTube_PlaylistVideoFeed The feed of videos found at
* the specified URL.
*/
public function getPlaylistVideoFeed($location)
{
if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_YouTube_PlaylistVideoFeed');
}
/**
* Retrieves a feed of a user's subscriptions
*
* @param string $user (optional) The username of interest
* @param mixed $location (optional) The URL to query or a
* Zend_Gdata_Query object from which a URL can be determined
* @return Zend_Gdata_YouTube_SubscriptionListFeed The feed of subscriptions
*/
public function getSubscriptionFeed($user = null, $location = null)
{
if ($user !== null) {
$uri = self::USER_URI . '/' . $user . '/subscriptions';
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_YouTube_SubscriptionFeed');
}
/**
* Retrieves a feed of a user's contacts
*
* @param string $user (optional) The username of interest
* @param mixed $location (optional) The URL to query or a
* Zend_Gdata_Query object from which a URL can be determined
* @return Zend_Gdata_YouTube_ContactFeed The feed of contacts
*/
public function getContactFeed($user = null, $location = null)
{
if ($user !== null) {
$uri = self::USER_URI . '/' . $user . '/contacts';
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_YouTube_ContactFeed');
}
/**
* Retrieves a user's uploads
*
* @param string $user (optional) The username of interest
* @param mixed $location (optional) The URL to query or a
* Zend_Gdata_Query object from which a URL can be determined
* @return Zend_Gdata_YouTube_VideoFeed The videos uploaded by the user
*/
public function getUserUploads($user = null, $location = null)
{
if ($user !== null) {
$uri = self::USER_URI . '/' . $user . '/' .
self::UPLOADS_URI_SUFFIX;
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_YouTube_VideoFeed');
}
/**
* Retrieves a user's favorites
*
* @param string $user (optional) The username of interest
* @param mixed $location (optional) The URL to query or a
* Zend_Gdata_Query object from which a URL can be determined
* @return Zend_Gdata_YouTube_VideoFeed The videos favorited by the user
*/
public function getUserFavorites($user = null, $location = null)
{
if ($user !== null) {
$uri = self::USER_URI . '/' . $user . '/' .
self::FAVORITES_URI_SUFFIX;
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_YouTube_VideoFeed');
}
/**
* Retrieves a user's profile as an entry
*
* @param string $user (optional) The username of interest
* @param mixed $location (optional) The URL to query or a
* Zend_Gdata_Query object from which a URL can be determined
* @return Zend_Gdata_YouTube_UserProfileEntry The user profile entry
*/
public function getUserProfile($user = null, $location = null)
{
if ($user !== null) {
$uri = self::USER_URI . '/' . $user;
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getEntry($uri, 'Zend_Gdata_YouTube_UserProfileEntry');
}
/**
* Helper function for parsing a YouTube token response
*
* @param string $response The service response
* @throws Zend_Gdata_App_Exception
* @return array An array containing the token and URL
*/
public static function parseFormUploadTokenResponse($response)
{
// Load the feed as an XML DOMDocument object
@ini_set('track_errors', 1);
$doc = new DOMDocument();
$success = @$doc->loadXML($response);
@ini_restore('track_errors');
if (!$success) {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception("Zend_Gdata_YouTube::parseFormUploadTokenResponse - " .
"DOMDocument cannot parse XML: $php_errormsg");
}
$responseElement = $doc->getElementsByTagName('response')->item(0);
$urlText = null;
$tokenText = null;
if ($responseElement != null) {
$urlElement = $responseElement->getElementsByTagName('url')->item(0);
$tokenElement = $responseElement->getElementsByTagName('token')->item(0);
if ($urlElement && $urlElement->hasChildNodes() &&
$tokenElement && $tokenElement->hasChildNodes()) {
$urlText = $urlElement->firstChild->nodeValue;
$tokenText = $tokenElement->firstChild->nodeValue;
}
}
if ($tokenText != null && $urlText != null) {
return array('token' => $tokenText, 'url' => $urlText);
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception("form upload token not found in response");
}
}
/**
* Retrieves a YouTube token
*
* @param Zend_Gdata_YouTube_VideoEntry $videoEntry The video entry
* @param string $url The location as a string URL
* @throws Zend_Gdata_App_Exception
* @return array An array containing a token and URL
*/
public function getFormUploadToken($videoEntry, $url='http://gdata.youtube.com/action/GetUploadToken')
{
if ($url != null && is_string($url)) {
// $response is a Zend_Http_response object
$response = $this->post($videoEntry, $url);
return self::parseFormUploadTokenResponse($response->getBody());
} else {
require_once 'Zend/Gdata/App/HttpException.php';
throw new Zend_Gdata_App_Exception('Url must be provided as a string URL');
}
}
}
Kind/EventEntry.php 0000604 00000030062 15071215231 0010237 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Entry
*/
require_once 'Zend/Gdata/Entry.php';
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* @see Zend_Gdata_Extension_Where
*/
require_once 'Zend/Gdata/Extension/Where.php';
/**
* @see Zend_Gdata_Extension_When
*/
require_once 'Zend/Gdata/Extension/When.php';
/**
* @see Zend_Gdata_Extension_Who
*/
require_once 'Zend/Gdata/Extension/Who.php';
/**
* @see Zend_Gdata_Extension_Recurrence
*/
require_once 'Zend/Gdata/Extension/Recurrence.php';
/**
* @see Zend_Gdata_Extension_EventStatus
*/
require_once 'Zend/Gdata/Extension/EventStatus.php';
/**
* @see Zend_Gdata_Extension_Comments
*/
require_once 'Zend/Gdata/Extension/Comments.php';
/**
* @see Zend_Gdata_Extension_Transparency
*/
require_once 'Zend/Gdata/Extension/Transparency.php';
/**
* @see Zend_Gdata_Extension_Visibility
*/
require_once 'Zend/Gdata/Extension/Visibility.php';
/**
* @see Zend_Gdata_Extension_RecurrenceException
*/
require_once 'Zend/Gdata/Extension/RecurrenceException.php';
/**
* @see Zend_Gdata_Extension_ExtendedProperty
*/
require_once 'Zend/Gdata/Extension/ExtendedProperty.php';
/**
* @see Zend_Gdata_Extension_OriginalEvent
*/
require_once 'Zend/Gdata/Extension/OriginalEvent.php';
/**
* @see Zend_Gdata_Extension_EntryLink
*/
require_once 'Zend/Gdata/Extension/EntryLink.php';
/**
* Data model for the Gdata Event "Kind". Google Calendar has a separate
* EventEntry class which extends this.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Kind_EventEntry extends Zend_Gdata_Entry
{
protected $_who = array();
protected $_when = array();
protected $_where = array();
protected $_recurrence = null;
protected $_eventStatus = null;
protected $_comments = null;
protected $_transparency = null;
protected $_visibility = null;
protected $_recurrenceException = array();
protected $_extendedProperty = array();
protected $_originalEvent = null;
protected $_entryLink = null;
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_who != null) {
foreach ($this->_who as $who) {
$element->appendChild($who->getDOM($element->ownerDocument));
}
}
if ($this->_when != null) {
foreach ($this->_when as $when) {
$element->appendChild($when->getDOM($element->ownerDocument));
}
}
if ($this->_where != null) {
foreach ($this->_where as $where) {
$element->appendChild($where->getDOM($element->ownerDocument));
}
}
if ($this->_recurrenceException != null) {
foreach ($this->_recurrenceException as $recurrenceException) {
$element->appendChild($recurrenceException->getDOM($element->ownerDocument));
}
}
if ($this->_extendedProperty != null) {
foreach ($this->_extendedProperty as $extProp) {
$element->appendChild($extProp->getDOM($element->ownerDocument));
}
}
if ($this->_recurrence != null) {
$element->appendChild($this->_recurrence->getDOM($element->ownerDocument));
}
if ($this->_eventStatus != null) {
$element->appendChild($this->_eventStatus->getDOM($element->ownerDocument));
}
if ($this->_comments != null) {
$element->appendChild($this->_comments->getDOM($element->ownerDocument));
}
if ($this->_transparency != null) {
$element->appendChild($this->_transparency->getDOM($element->ownerDocument));
}
if ($this->_visibility != null) {
$element->appendChild($this->_visibility->getDOM($element->ownerDocument));
}
if ($this->_originalEvent != null) {
$element->appendChild($this->_originalEvent->getDOM($element->ownerDocument));
}
if ($this->_entryLink != null) {
$element->appendChild($this->_entryLink->getDOM($element->ownerDocument));
}
return $element;
}
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('gd') . ':' . 'where';
$where = new Zend_Gdata_Extension_Where();
$where->transferFromDOM($child);
$this->_where[] = $where;
break;
case $this->lookupNamespace('gd') . ':' . 'when';
$when = new Zend_Gdata_Extension_When();
$when->transferFromDOM($child);
$this->_when[] = $when;
break;
case $this->lookupNamespace('gd') . ':' . 'who';
$who = new Zend_Gdata_Extension_Who();
$who ->transferFromDOM($child);
$this->_who[] = $who;
break;
case $this->lookupNamespace('gd') . ':' . 'recurrence';
$recurrence = new Zend_Gdata_Extension_Recurrence();
$recurrence->transferFromDOM($child);
$this->_recurrence = $recurrence;
break;
case $this->lookupNamespace('gd') . ':' . 'eventStatus';
$eventStatus = new Zend_Gdata_Extension_EventStatus();
$eventStatus->transferFromDOM($child);
$this->_eventStatus = $eventStatus;
break;
case $this->lookupNamespace('gd') . ':' . 'comments';
$comments = new Zend_Gdata_Extension_Comments();
$comments->transferFromDOM($child);
$this->_comments = $comments;
break;
case $this->lookupNamespace('gd') . ':' . 'transparency';
$transparency = new Zend_Gdata_Extension_Transparency();
$transparency ->transferFromDOM($child);
$this->_transparency = $transparency;
break;
case $this->lookupNamespace('gd') . ':' . 'visibility';
$visiblity = new Zend_Gdata_Extension_Visibility();
$visiblity ->transferFromDOM($child);
$this->_visibility = $visiblity;
break;
case $this->lookupNamespace('gd') . ':' . 'recurrenceException';
$recurrenceException = new Zend_Gdata_Extension_RecurrenceException();
$recurrenceException ->transferFromDOM($child);
$this->_recurrenceException[] = $recurrenceException;
break;
case $this->lookupNamespace('gd') . ':' . 'originalEvent';
$originalEvent = new Zend_Gdata_Extension_OriginalEvent();
$originalEvent ->transferFromDOM($child);
$this->_originalEvent = $originalEvent;
break;
case $this->lookupNamespace('gd') . ':' . 'extendedProperty';
$extProp = new Zend_Gdata_Extension_ExtendedProperty();
$extProp->transferFromDOM($child);
$this->_extendedProperty[] = $extProp;
break;
case $this->lookupNamespace('gd') . ':' . 'entryLink':
$entryLink = new Zend_Gdata_Extension_EntryLink();
$entryLink->transferFromDOM($child);
$this->_entryLink = $entryLink;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
public function getWhen()
{
return $this->_when;
}
/**
* @param array $value
* @return Zend_Gdata_Kind_EventEntry Provides a fluent interface
*/
public function setWhen($value)
{
$this->_when = $value;
return $this;
}
public function getWhere()
{
return $this->_where;
}
/**
* @param array $value
* @return Zend_Gdata_Kind_EventEntry Provides a fluent interface
*/
public function setWhere($value)
{
$this->_where = $value;
return $this;
}
public function getWho()
{
return $this->_who;
}
/**
* @param array $value
* @return Zend_Gdata_Kind_EventEntry Provides a fluent interface
*/
public function setWho($value)
{
$this->_who = $value;
return $this;
}
public function getRecurrence()
{
return $this->_recurrence;
}
/**
* @param array $value
* @return Zend_Gdata_Kind_EventEntry Provides a fluent interface
*/
public function setRecurrence($value)
{
$this->_recurrence = $value;
return $this;
}
public function getEventStatus()
{
return $this->_eventStatus;
}
/**
* @param array $value
* @return Zend_Gdata_Kind_EventEntry Provides a fluent interface
*/
public function setEventStatus($value)
{
$this->_eventStatus = $value;
return $this;
}
public function getComments()
{
return $this->_comments;
}
/**
* @param array $value
* @return Zend_Gdata_Kind_EventEntry Provides a fluent interface
*/
public function setComments($value)
{
$this->_comments = $value;
return $this;
}
public function getTransparency()
{
return $this->_transparency;
}
/**
* @param Zend_Gdata_Transparency $value
* @return Zend_Gdata_Kind_EventEntry Provides a fluent interface
*/
public function setTransparency($value)
{
$this->_transparency = $value;
return $this;
}
public function getVisibility()
{
return $this->_visibility;
}
/**
* @param Zend_Gdata_Visibility $value
* @return Zend_Gdata_Kind_EventEntry Provides a fluent interface
*/
public function setVisibility($value)
{
$this->_visibility = $value;
return $this;
}
public function getRecurrenceExcption()
{
return $this->_recurrenceException;
}
/**
* @param array $value
* @return Zend_Gdata_Kind_EventEntry Provides a fluent interface
*/
public function setRecurrenceException($value)
{
$this->_recurrenceException = $value;
return $this;
}
public function getExtendedProperty()
{
return $this->_extendedProperty;
}
/**
* @param array $value
* @return Zend_Gdata_Kind_EventEntry Provides a fluent interface
*/
public function setExtendedProperty($value)
{
$this->_extendedProperty = $value;
return $this;
}
public function getOriginalEvent()
{
return $this->_originalEvent;
}
/**
* @param Zend_Gdata_Extension_OriginalEvent $value
* @return Zend_Gdata_Kind_EventEntry Provides a fluent interface
*/
public function setOriginalEvent($value)
{
$this->_originalEvent = $value;
return $this;
}
/**
* Get this entry's EntryLink element.
*
* @return Zend_Gdata_Extension_EntryLink The requested entry.
*/
public function getEntryLink()
{
return $this->_entryLink;
}
/**
* Set the child's EntryLink element.
*
* @param Zend_Gdata_Extension_EntryLink $value The desired value for this attribute.
* @return Zend_Gdata_Extension_Who The element being modified.
*/
public function setEntryLink($value)
{
$this->_entryLink = $value;
return $this;
}
}
Exif.php 0000604 00000003666 15071215231 0006154 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @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
*/
require_once 'Zend/Gdata.php';
/**
* Service class for interacting with the services which use the EXIF extensions
* @link http://code.google.com/apis/picasaweb/reference.html#exif_reference
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @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_Exif extends Zend_Gdata
{
/**
* Namespaces used for Zend_Gdata_Exif
*
* @var array
*/
public static $namespaces = array(
array('exif', 'http://schemas.google.com/photos/exif/2007', 1, 0)
);
/**
* Create Zend_Gdata_Exif object
*
* @param Zend_Http_Client $client (optional) The HTTP client to use when
* when communicating with the Google servers.
* @param string $applicationId The identity of the app in the form of Company-AppName-Version
*/
public function __construct($client = null, $applicationId = 'MyCompany-MyApp-1.0')
{
$this->registerPackage('Zend_Gdata_Exif');
$this->registerPackage('Zend_Gdata_Exif_Extension');
parent::__construct($client, $applicationId);
}
}
Gapps/EmailListFeed.php 0000604 00000003025 15071215231 0010767 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* @see Zend_Gdata_Gapps_EmailListEntry
*/
require_once 'Zend/Gdata/Gapps/EmailListEntry.php';
/**
* Data model for a collection of Google Apps email list entries, usually
* provided by the Google Apps servers.
*
* For information on requesting this feed from a server, see the Google
* Apps service class, Zend_Gdata_Gapps.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_EmailListFeed extends Zend_Gdata_Feed
{
protected $_entryClassName = 'Zend_Gdata_Gapps_EmailListEntry';
protected $_feedClassName = 'Zend_Gdata_Gapps_EmailListFeed';
}
Gapps/ServiceException.php 0000604 00000015441 15071215231 0011604 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Exception
*/
require_once 'Zend/Exception.php';
/**
* Zend_Gdata_Gapps_Error
*/
require_once 'Zend/Gdata/Gapps/Error.php';
/**
* Gdata Gapps Exception class. This is thrown when an
* AppsForYourDomainErrors message is received from the Google Apps
* servers.
*
* Several different errors may be represented by this exception. For a list
* of error codes available, see getErrorCode.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_ServiceException extends Zend_Exception
{
protected $_rootElement = "AppsForYourDomainErrors";
/**
* Array of Zend_Gdata_Error objects indexed by error code.
*
* @var array
*/
protected $_errors = array();
/**
* Create a new ServiceException.
*
* @return array An array containing a collection of
* Zend_Gdata_Gapps_Error objects.
*/
public function __construct($errors = null) {
parent::__construct("Server errors encountered");
if ($errors !== null) {
$this->setErrors($errors);
}
}
/**
* Add a single Error object to the list of errors received by the
* server.
*
* @param Zend_Gdata_Gapps_Error $error An instance of an error returned
* by the server. The error's errorCode must be set.
* @throws Zend_Gdata_App_Exception
*/
public function addError($error) {
// Make sure that we don't try to index an error that doesn't
// contain an index value.
if ($error->getErrorCode() == null) {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception("Error encountered without corresponding error code.");
}
$this->_errors[$error->getErrorCode()] = $error;
}
/**
* Set the list of errors as sent by the server inside of an
* AppsForYourDomainErrors tag.
*
* @param array $array An associative array containing a collection of
* Zend_Gdata_Gapps_Error objects. All errors must have their
* errorCode value set.
* @throws Zend_Gdata_App_Exception
*/
public function setErrors($array) {
$this->_errors = array();
foreach ($array as $error) {
$this->addError($error);
}
}
/**
* Get the list of errors as sent by the server inside of an
* AppsForYourDomainErrors tag.
*
* @return array An associative array containing a collection of
* Zend_Gdata_Gapps_Error objects, indexed by error code.
*/
public function getErrors() {
return $this->_errors;
}
/**
* Return the Error object associated with a specific error code.
*
* @return Zend_Gdata_Gapps_Error The Error object requested, or null
* if not found.
*/
public function getError($errorCode) {
if (array_key_exists($errorCode, $this->_errors)) {
$result = $this->_errors[$errorCode];
return $result;
} else {
return null;
}
}
/**
* Check whether or not a particular error code was returned by the
* server.
*
* @param integer $errorCode The error code to check against.
* @return boolean Whether or not the supplied error code was returned
* by the server.
*/
public function hasError($errorCode) {
return array_key_exists($errorCode, $this->_errors);
}
/**
* Import an AppsForYourDomain error from XML.
*
* @param string $string The XML data to be imported
* @return Zend_Gdata_Gapps_ServiceException Provides a fluent interface.
* @throws Zend_Gdata_App_Exception
*/
public function importFromString($string) {
if ($string) {
// Check to see if an AppsForYourDomainError exists
//
// track_errors is temporarily enabled so that if an error
// occurs while parsing the XML we can append it to an
// exception by referencing $php_errormsg
@ini_set('track_errors', 1);
$doc = new DOMDocument();
$success = @$doc->loadXML($string);
@ini_restore('track_errors');
if (!$success) {
require_once 'Zend/Gdata/App/Exception.php';
// $php_errormsg is automatically generated by PHP if
// an error occurs while calling loadXML(), above.
throw new Zend_Gdata_App_Exception("DOMDocument cannot parse XML: $php_errormsg");
}
// Ensure that the outermost node is an AppsForYourDomain error.
// If it isn't, something has gone horribly wrong.
$rootElement = $doc->getElementsByTagName($this->_rootElement)->item(0);
if (!$rootElement) {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('No root <' . $this->_rootElement . '> element found, cannot parse feed.');
}
foreach ($rootElement->childNodes as $errorNode) {
if (!($errorNode instanceof DOMText)) {
$error = new Zend_Gdata_Gapps_Error();
$error->transferFromDom($errorNode);
$this->addError($error);
}
}
return $this;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('XML passed to transferFromXML cannot be null');
}
}
/**
* Get a human readable version of this exception.
*
* @return string
*/
public function __toString() {
$result = "The server encountered the following errors processing the request:";
foreach ($this->_errors as $error) {
$result .= "\n" . $error->__toString();
}
return $result;
}
}
Gapps/EmailListRecipientFeed.php 0000604 00000003114 15071215231 0012631 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* @see Zend_Gdata_Gapps_EmailListRecipientEntry
*/
require_once 'Zend/Gdata/Gapps/EmailListRecipientEntry.php';
/**
* Data model for a collection of Google Apps email list recipient entries,
* usually provided by the Google Apps servers.
*
* For information on requesting this feed from a server, see the Google
* Apps service class, Zend_Gdata_Gapps.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_EmailListRecipientFeed extends Zend_Gdata_Feed
{
protected $_entryClassName = 'Zend_Gdata_Gapps_EmailListRecipientEntry';
protected $_feedClassName = 'Zend_Gdata_Gapps_EmailListRecipientFeed';
}
Gapps/NicknameFeed.php 0000604 00000003016 15071215231 0010631 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* @see Zend_Gdata_Gapps_NicknameEntry
*/
require_once 'Zend/Gdata/Gapps/NicknameEntry.php';
/**
* Data model for a collection of Google Apps nickname entries, usually
* provided by the Google Apps servers.
*
* For information on requesting this feed from a server, see the Google
* Apps service class, Zend_Gdata_Gapps.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_NicknameFeed extends Zend_Gdata_Feed
{
protected $_entryClassName = 'Zend_Gdata_Gapps_NicknameEntry';
protected $_feedClassName = 'Zend_Gdata_Gapps_NicknameFeed';
}
Gapps/Extension/Login.php 0000604 00000041412 15071215231 0011346 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Gapps
*/
require_once 'Zend/Gdata/Gapps.php';
/**
* Represents the apps:login element used by the Apps data API. This
* class is used to describe properties of a user, and is usually contained
* within instances of Zene_Gdata_Gapps_UserEntry or any other class
* which is linked to a particular username.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_Extension_Login extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'apps';
protected $_rootElement = 'login';
/**
* The username for this user. This is used as the user's email address
* and when logging in to Google Apps-hosted services.
*
* @var string
*/
protected $_username = null;
/**
* The password for the user. May be in cleartext or as an SHA-1
* digest, depending on the value of _hashFunctionName.
*
* @var string
*/
protected $_password = null;
/**
* Specifies whether the password stored in _password is in cleartext
* or is an SHA-1 digest of a password. If the password is cleartext,
* then this should be null. If the password is an SHA-1 digest, then
* this should be set to 'SHA-1'.
*
* At the time of writing, no other hash functions are supported
*
* @var string
*/
protected $_hashFunctionName = null;
/**
* True if the user has administrative rights for this domain, false
* otherwise.
*
* @var boolean
*/
protected $_admin = null;
/**
* True if the user has agreed to the terms of service for Google Apps,
* false otherwise.
*
* @var boolean.
*/
protected $_agreedToTerms = null;
/**
* True if this user has been suspended, false otherwise.
*
* @var boolean
*/
protected $_suspended = null;
/**
* True if the user will be required to change their password at
* their next login, false otherwise.
*
* @var boolean
*/
protected $_changePasswordAtNextLogin = null;
/**
* Constructs a new Zend_Gdata_Gapps_Extension_Login object.
*
* @param string $username (optional) The username to be used for this
* login.
* @param string $password (optional) The password to be used for this
* login.
* @param string $hashFunctionName (optional) The name of the hash
* function used to protect the password, or null if no
* has function has been applied. As of this writing,
* the only valid values are 'SHA-1' or null.
* @param boolean $admin (optional) Whether the user is an administrator
* or not.
* @param boolean $suspended (optional) Whether this login is suspended or not.
* @param boolean $changePasswordAtNextLogin (optional) Whether
* the user is required to change their password at their
* next login.
* @param boolean $agreedToTerms (optional) Whether the user has
* agreed to the terms of service.
*/
public function __construct($username = null, $password = null,
$hashFunctionName = null, $admin = null, $suspended = null,
$changePasswordAtNextLogin = null, $agreedToTerms = null)
{
$this->registerAllNamespaces(Zend_Gdata_Gapps::$namespaces);
parent::__construct();
$this->_username = $username;
$this->_password = $password;
$this->_hashFunctionName = $hashFunctionName;
$this->_admin = $admin;
$this->_agreedToTerms = $agreedToTerms;
$this->_suspended = $suspended;
$this->_changePasswordAtNextLogin = $changePasswordAtNextLogin;
}
/**
* 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->_username !== null) {
$element->setAttribute('userName', $this->_username);
}
if ($this->_password !== null) {
$element->setAttribute('password', $this->_password);
}
if ($this->_hashFunctionName !== null) {
$element->setAttribute('hashFunctionName', $this->_hashFunctionName);
}
if ($this->_admin !== null) {
$element->setAttribute('admin', ($this->_admin ? "true" : "false"));
}
if ($this->_agreedToTerms !== null) {
$element->setAttribute('agreedToTerms', ($this->_agreedToTerms ? "true" : "false"));
}
if ($this->_suspended !== null) {
$element->setAttribute('suspended', ($this->_suspended ? "true" : "false"));
}
if ($this->_changePasswordAtNextLogin !== null) {
$element->setAttribute('changePasswordAtNextLogin', ($this->_changePasswordAtNextLogin ? "true" : "false"));
}
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
* @throws Zend_Gdata_App_InvalidArgumentException
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'userName':
$this->_username = $attribute->nodeValue;
break;
case 'password':
$this->_password = $attribute->nodeValue;
break;
case 'hashFunctionName':
$this->_hashFunctionName = $attribute->nodeValue;
break;
case 'admin':
if ($attribute->nodeValue == "true") {
$this->_admin = true;
}
else if ($attribute->nodeValue == "false") {
$this->_admin = false;
}
else {
require_once('Zend/Gdata/App/InvalidArgumentException.php');
throw new Zend_Gdata_App_InvalidArgumentException("Expected 'true' or 'false' for apps:login#admin.");
}
break;
case 'agreedToTerms':
if ($attribute->nodeValue == "true") {
$this->_agreedToTerms = true;
}
else if ($attribute->nodeValue == "false") {
$this->_agreedToTerms = false;
}
else {
require_once('Zend/Gdata/App/InvalidArgumentException.php');
throw new Zend_Gdata_App_InvalidArgumentException("Expected 'true' or 'false' for apps:login#agreedToTerms.");
}
break;
case 'suspended':
if ($attribute->nodeValue == "true") {
$this->_suspended = true;
}
else if ($attribute->nodeValue == "false") {
$this->_suspended = false;
}
else {
require_once('Zend/Gdata/App/InvalidArgumentException.php');
throw new Zend_Gdata_App_InvalidArgumentException("Expected 'true' or 'false' for apps:login#suspended.");
}
break;
case 'changePasswordAtNextLogin':
if ($attribute->nodeValue == "true") {
$this->_changePasswordAtNextLogin = true;
}
else if ($attribute->nodeValue == "false") {
$this->_changePasswordAtNextLogin = false;
}
else {
require_once('Zend/Gdata/App/InvalidArgumentException.php');
throw new Zend_Gdata_App_InvalidArgumentException("Expected 'true' or 'false' for apps:login#changePasswordAtNextLogin.");
}
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's username attribute.
*
* @see setUsername
* @return string The attribute being modified.
*/
public function getUsername()
{
return $this->_username;
}
/**
* Set the value for this element's username attribute. This string
* is used to uniquely identify the user in this domian and is used
* to form this user's email address.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Gapps_Extension_Login Provides a fluent interface.
*/
public function setUsername($value)
{
$this->_username = $value;
return $this;
}
/**
* Get the value for this element's password attribute.
*
* @see setPassword
* @return string The requested attribute.
*/
public function getPassword()
{
return $this->_password;
}
/**
* Set the value for this element's password attribute. As of this
* writing, this can be either be provided as plaintext or hashed using
* the SHA-1 algorithm for protection. If using a hash function,
* this must be indicated by calling setHashFunctionName().
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Gapps_Extension_Login Provides a fluent interface.
*/
public function setPassword($value)
{
$this->_password = $value;
return $this;
}
/**
* Get the value for this element's hashFunctionName attribute.
*
* @see setHashFunctionName
* @return string The requested attribute.
*/
public function getHashFunctionName()
{
return $this->_hashFunctionName;
}
/**
* Set the value for this element's hashFunctionName attribute. This
* indicates whether the password supplied with setPassword() is in
* plaintext or has had a hash function applied to it. If null,
* plaintext is assumed. As of this writing, the only valid hash
* function is 'SHA-1'.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Gapps_Extension_Login Provides a fluent interface.
*/
public function setHashFunctionName($value)
{
$this->_hashFunctionName = $value;
return $this;
}
/**
* Get the value for this element's admin attribute.
*
* @see setAdmin
* @return boolean The requested attribute.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function getAdmin()
{
if (!(is_bool($this->_admin))) {
require_once('Zend/Gdata/App/InvalidArgumentException.php');
throw new Zend_Gdata_App_InvalidArgumentException('Expected boolean for admin.');
}
return $this->_admin;
}
/**
* Set the value for this element's admin attribute. This indicates
* whether this user is an administrator for this domain.
*
* @param boolean $value The desired value for this attribute.
* @return Zend_Gdata_Gapps_Extension_Login Provides a fluent interface.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function setAdmin($value)
{
if (!(is_bool($value))) {
require_once('Zend/Gdata/App/InvalidArgumentException.php');
throw new Zend_Gdata_App_InvalidArgumentException('Expected boolean for $value.');
}
$this->_admin = $value;
return $this;
}
/**
* Get the value for this element's agreedToTerms attribute.
*
* @see setAgreedToTerms
* @return boolean The requested attribute.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function getAgreedToTerms()
{
if (!(is_bool($this->_agreedToTerms))) {
require_once('Zend/Gdata/App/InvalidArgumentException.php');
throw new Zend_Gdata_App_InvalidArgumentException('Expected boolean for agreedToTerms.');
}
return $this->_agreedToTerms;
}
/**
* Set the value for this element's agreedToTerms attribute. This
* indicates whether this user has agreed to the terms of service.
*
* @param boolean $value The desired value for this attribute.
* @return Zend_Gdata_Gapps_Extension_Login Provides a fluent interface.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function setAgreedToTerms($value)
{
if (!(is_bool($value))) {
require_once('Zend/Gdata/App/InvalidArgumentException.php');
throw new Zend_Gdata_App_InvalidArgumentException('Expected boolean for $value.');
}
$this->_agreedToTerms = $value;
return $this;
}
/**
* Get the value for this element's suspended attribute.
*
* @see setSuspended
* @return boolean The requested attribute.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function getSuspended()
{
if (!(is_bool($this->_suspended))) {
require_once('Zend/Gdata/App/InvalidArgumentException.php');
throw new Zend_Gdata_App_InvalidArgumentException('Expected boolean for suspended.');
}
return $this->_suspended;
}
/**
* Set the value for this element's suspended attribute. If true, the
* user will not be able to login to this domain until unsuspended.
*
* @param boolean $value The desired value for this attribute.
* @return Zend_Gdata_Gapps_Extension_Login Provides a fluent interface.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function setSuspended($value)
{
if (!(is_bool($value))) {
require_once('Zend/Gdata/App/InvalidArgumentException.php');
throw new Zend_Gdata_App_InvalidArgumentException('Expected boolean for $value.');
}
$this->_suspended = $value;
return $this;
}
/**
* Get the value for this element's changePasswordAtNextLogin attribute.
*
* @see setChangePasswordAtNextLogin
* @return boolean The requested attribute.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function getChangePasswordAtNextLogin()
{
if (!(is_bool($this->_changePasswordAtNextLogin))) {
require_once('Zend/Gdata/App/InvalidArgumentException.php');
throw new Zend_Gdata_App_InvalidArgumentException('Expected boolean for changePasswordAtNextLogin.');
}
return $this->_changePasswordAtNextLogin;
}
/**
* Set the value for this element's changePasswordAtNextLogin attribute.
* If true, the user will be forced to set a new password the next
* time they login.
*
* @param boolean $value The desired value for this attribute.
* @return Zend_Gdata_Gapps_Extension_Login Provides a fluent interface.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function setChangePasswordAtNextLogin($value)
{
if (!(is_bool($value))) {
require_once('Zend/Gdata/App/InvalidArgumentException.php');
throw new Zend_Gdata_App_InvalidArgumentException('Expected boolean for $value.');
}
$this->_changePasswordAtNextLogin = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*/
public function __toString()
{
return "Username: " . $this->getUsername() .
"\nPassword: " . (is_null($this->getPassword()) ? "NOT SET" : "SET") .
"\nPassword Hash Function: " . $this->getHashFunctionName() .
"\nAdministrator: " . ($this->getAdmin() ? "Yes" : "No") .
"\nAgreed To Terms: " . ($this->getAgreedToTerms() ? "Yes" : "No") .
"\nSuspended: " . ($this->getSuspended() ? "Yes" : "No");
}
}
Gapps/Extension/Nickname.php 0000604 00000010146 15071215231 0012023 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Gapps
*/
require_once 'Zend/Gdata/Gapps.php';
/**
* Represents the apps:nickname element used by the Apps data API. This
* is used to describe a nickname's properties, and is usually contained
* within instances of Zend_Gdata_Gapps_NicknameEntry.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_Extension_Nickname extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'apps';
protected $_rootElement = 'nickname';
/**
* The name of the nickname. This name is used as the email address
* for this nickname.
*
* @var string
*/
protected $_name = null;
/**
* Constructs a new Zend_Gdata_Gapps_Extension_Nickname object.
* @param string $name (optional) The nickname being represented.
*/
public function __construct($name = null)
{
$this->registerAllNamespaces(Zend_Gdata_Gapps::$namespaces);
parent::__construct();
$this->_name = $name;
}
/**
* 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);
}
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 'name':
$this->_name = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's name attribute.
*
* @see setName
* @return string The requested attribute.
*/
public function getName()
{
return $this->_name;
}
/**
* Set the value for this element's name attribute. This name uniquely
* describes this nickname within the domain. Emails addressed to this
* name will be delivered to the user who owns this nickname.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Gapps_Extension_Nickname Provides a fluent
* interface.
*/
public function setName($value)
{
$this->_name = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*/
public function __toString()
{
return $this->getName();
}
}
Gapps/Extension/Name.php 0000604 00000012237 15071215231 0011161 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Gapps
*/
require_once 'Zend/Gdata/Gapps.php';
/**
* Represents the apps:name element used by the Apps data API. This is used
* to represent a user's full name. This class is usually contained within
* instances of Zend_Gdata_Gapps_UserEntry.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_Extension_Name extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'apps';
protected $_rootElement = 'name';
/**
* The associated user's family name.
*
* @var string
*/
protected $_familyName = null;
/**
* The associated user's given name.
*
* @var string
*/
protected $_givenName = null;
/**
* Constructs a new Zend_Gdata_Gapps_Extension_Name object.
*
* @param string $familyName (optional) The familyName to be set for this
* object.
* @param string $givenName (optional) The givenName to be set for this
* object.
*/
public function __construct($familyName = null, $givenName = null)
{
$this->registerAllNamespaces(Zend_Gdata_Gapps::$namespaces);
parent::__construct();
$this->_familyName = $familyName;
$this->_givenName = $givenName;
}
/**
* 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->_familyName !== null) {
$element->setAttribute('familyName', $this->_familyName);
}
if ($this->_givenName !== null) {
$element->setAttribute('givenName', $this->_givenName);
}
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 'familyName':
$this->_familyName = $attribute->nodeValue;
break;
case 'givenName':
$this->_givenName = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's familyName attribute.
*
* @see setFamilyName
* @return string The requested attribute.
*/
public function getFamilyName()
{
return $this->_familyName;
}
/**
* Set the value for this element's familyName attribute. This
* represents a user's family name.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Gapps_Extension_Name Provides a fluent interface..
*/
public function setFamilyName($value)
{
$this->_familyName = $value;
return $this;
}
/**
* Get the value for this element's givenName attribute.
*
* @see setGivenName
* @return string The requested attribute.
*/
public function getGivenName()
{
return $this->_givenName;
}
/**
* Set the value for this element's givenName attribute. This
* represents a user's given name.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Gapps_Extension_Name Provides a fluent interface.
*/
public function setGivenName($value)
{
$this->_givenName = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*/
public function __toString()
{
return $this->getGivenName() . ' ' . $this->getFamilyName();
}
}
Gapps/Extension/Quota.php 0000604 00000010176 15071215231 0011372 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Gapps
*/
require_once 'Zend/Gdata/Gapps.php';
/**
* Represents the apps:quota element used by the Apps data API. This is
* used to indicate the amount of storage space available to a user. Quotas
* may not be able to be set, depending on the domain used. This class
* is usually contained within an instance of Zend_Gdata_Gapps_UserEntry.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_Extension_Quota extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'apps';
protected $_rootElement = 'quota';
/**
* The amount of storage space available to the user in megabytes.
*
* @var integer
*/
protected $_limit = null;
/**
* Constructs a new Zend_Gdata_Gapps_Extension_Quota object.
*
* @param string $limit (optional) The limit, in bytes, for this quota.
*/
public function __construct($limit = null)
{
$this->registerAllNamespaces(Zend_Gdata_Gapps::$namespaces);
parent::__construct();
$this->_limit = $limit;
}
/**
* 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->_limit !== null) {
$element->setAttribute('limit', $this->_limit);
}
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 'limit':
$this->_limit = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's limit attribute.
*
* @see setLimit
* @return string The requested attribute.
*/
public function getLimit()
{
return $this->_limit;
}
/**
* Set the value for this element's limit attribute. This is the amount
* of storage space, in bytes, that should be made available to
* the associated user.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Gapps_Extension_Quota Provides a fluent interface.
*/
public function setLimit($value)
{
$this->_limit = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*/
public function __toString()
{
return $this->getLimit();
}
}
Gapps/Extension/EmailList.php 0000604 00000010213 15071215231 0012154 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Gapps
*/
require_once 'Zend/Gdata/Gapps.php';
/**
* Represents the apps:emailList element used by the Apps data API. This
* class represents properties of an email list and is usually contained
* within an instance of Zend_Gdata_Gapps_EmailListEntry.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_Extension_EmailList extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'apps';
protected $_rootElement = 'emailList';
/**
* The name of the email list. This name is used as the email address
* for this list.
*
* @var string
*/
protected $_name = null;
/**
* Constructs a new Zend_Gdata_Gapps_Extension_EmailList object.
*
* @param string $name (optional) The name to be used for this email list.
*/
public function __construct($name = null)
{
$this->registerAllNamespaces(Zend_Gdata_Gapps::$namespaces);
parent::__construct();
$this->_name = $name;
}
/**
* 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);
}
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 'name':
$this->_name = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's name attribute.
*
* @see setName
* @return string The requested attribute.
*/
public function getName()
{
return $this->_name;
}
/**
* Set the value for this element's name attribute. This is the unique
* name which will be used to identify this email list within this
* domain, and will be used to form this email list's email address.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Gapps_Extension_EmailList The element being modified.
*/
public function setName($value)
{
$this->_name = $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->getName();
}
}
Gapps/EmailListRecipientQuery.php 0000604 00000011233 15071215231 0013074 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_Query
*/
require_once('Zend/Gdata/Gapps/Query.php');
/**
* Assists in constructing queries for Google Apps email list recipient
* entries. Instances of this class can be provided in many places where a
* URL is required.
*
* For information on submitting queries to a server, see the Google Apps
* service class, Zend_Gdata_Gapps.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_EmailListRecipientQuery extends Zend_Gdata_Gapps_Query
{
/**
* If not null, specifies the name of the email list which
* should be requested by this query.
*
* @var string
*/
protected $_emailListName = null;
/**
* Create a new instance.
*
* @param string $domain (optional) The Google Apps-hosted domain to use
* when constructing query URIs.
* @param string $emailListName (optional) Value for the emailListName
* property.
* @param string $startRecipient (optional) Value for the
* startRecipient property.
*/
public function __construct($domain = null, $emailListName = null,
$startRecipient = null)
{
parent::__construct($domain);
$this->setEmailListName($emailListName);
$this->setStartRecipient($startRecipient);
}
/**
* Set the email list name to query for. When set, only lists with a name
* matching this value will be returned in search results. Set to
* null to disable filtering by list name.
*
* @param string $value The email list name to filter search results by,
* or null to disable.
*/
public function setEmailListName($value)
{
$this->_emailListName = $value;
}
/**
* Get the email list name to query for. If no name is set, null will be
* returned.
*
* @param string $value The email list name to filter search results by,
* or null if disabled.
*/
public function getEmailListName()
{
return $this->_emailListName;
}
/**
* Set the first recipient which should be displayed when retrieving
* a list of email list recipients.
*
* @param string $value The first recipient to be returned, or null to
* disable.
*/
public function setStartRecipient($value)
{
if ($value !== null) {
$this->_params['startRecipient'] = $value;
} else {
unset($this->_params['startRecipient']);
}
}
/**
* Get the first recipient which should be displayed when retrieving
* a list of email list recipients.
*
* @return string The first recipient to be returned, or null if
* disabled.
*/
public function getStartRecipient()
{
if (array_key_exists('startRecipient', $this->_params)) {
return $this->_params['startRecipient'];
} else {
return null;
}
}
/**
* Returns the URL generated for this query, based on it's current
* parameters.
*
* @return string A URL generated based on the state of this query.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function getQueryUrl()
{
$uri = $this->getBaseUrl();
$uri .= Zend_Gdata_Gapps::APPS_EMAIL_LIST_PATH;
if ($this->_emailListName !== null) {
$uri .= '/' . $this->_emailListName;
} else {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'EmailListName must not be null');
}
$uri .= Zend_Gdata_Gapps::APPS_EMAIL_LIST_RECIPIENT_POSTFIX . '/';
$uri .= $this->getQueryString();
return $uri;
}
}
Gapps/UserQuery.php 0000604 00000010222 15071215231 0010261 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_Query
*/
require_once('Zend/Gdata/Gapps/Query.php');
/**
* Assists in constructing queries for Google Apps user entries.
* Instances of this class can be provided in many places where a URL is
* required.
*
* For information on submitting queries to a server, see the Google Apps
* service class, Zend_Gdata_Gapps.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_UserQuery extends Zend_Gdata_Gapps_Query
{
/**
* If not null, specifies the username of the user who should be
* retrieved by this query.
*
* @var string
*/
protected $_username = null;
/**
* Create a new instance.
*
* @param string $domain (optional) The Google Apps-hosted domain to use
* when constructing query URIs.
* @param string $username (optional) Value for the username
* property.
* @param string $startUsername (optional) Value for the
* startUsername property.
*/
public function __construct($domain = null, $username = null,
$startUsername = null)
{
parent::__construct($domain);
$this->setUsername($username);
$this->setStartUsername($startUsername);
}
/**
* Set the username to query for. When set, only users with a username
* matching this value will be returned in search results. Set to
* null to disable filtering by username.
*
* @see getUsername
* @param string $value The username to filter search results by, or null to
* disable.
*/
public function setUsername($value)
{
$this->_username = $value;
}
/**
* Get the username to query for. If no username is set, null will be
* returned.
*
* @param string $value The username to filter search results by, or
* null if disabled.
*/
public function getUsername()
{
return $this->_username;
}
/**
* Set the first username which should be displayed when retrieving
* a list of users.
*
* @param string $value The first username to be returned, or null to
* disable.
*/
public function setStartUsername($value)
{
if ($value !== null) {
$this->_params['startUsername'] = $value;
} else {
unset($this->_params['startUsername']);
}
}
/**
* Get the first username which should be displayed when retrieving
* a list of users.
*
* @see setStartUsername
* @return string The first username to be returned, or null if
* disabled.
*/
public function getStartUsername()
{
if (array_key_exists('startUsername', $this->_params)) {
return $this->_params['startUsername'];
} else {
return null;
}
}
/**
* Returns the query URL generated by this query instance.
*
* @return string The query URL for this instance.
*/
public function getQueryUrl()
{
$uri = $this->getBaseUrl();
$uri .= Zend_Gdata_Gapps::APPS_USER_PATH;
if ($this->_username !== null) {
$uri .= '/' . $this->_username;
}
$uri .= $this->getQueryString();
return $uri;
}
}
Gapps/UserFeed.php 0000604 00000002766 15071215231 0010035 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* @see Zend_Gdata_Gapps_UserEntry
*/
require_once 'Zend/Gdata/Gapps/UserEntry.php';
/**
* Data model for a collection of Google Apps user entries, usually
* provided by the Google Apps servers.
*
* For information on requesting this feed from a server, see the Google
* Apps service class, Zend_Gdata_Gapps.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_UserFeed extends Zend_Gdata_Feed
{
protected $_entryClassName = 'Zend_Gdata_Gapps_UserEntry';
protected $_feedClassName = 'Zend_Gdata_Gapps_UserFeed';
}
Gapps/Query.php 0000604 00000007273 15071215231 0007436 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Gdata_Query
*/
require_once('Zend/Gdata/Query.php');
/**
* Zend_Gdata_Gapps
*/
require_once('Zend/Gdata/Gapps.php');
/**
* Assists in constructing queries for Google Apps entries. This class
* provides common methods used by all other Google Apps query classes.
*
* This class should never be instantiated directly. Instead, instantiate a
* class which inherits from this class.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
abstract class Zend_Gdata_Gapps_Query extends Zend_Gdata_Query
{
/**
* The domain which is being administered via the Provisioning API.
*
* @var string
*/
protected $_domain = null;
/**
* Create a new instance.
*
* @param string $domain (optional) The Google Apps-hosted domain to use
* when constructing query URIs.
*/
public function __construct($domain = null)
{
parent::__construct();
$this->_domain = $domain;
}
/**
* Set domain for this service instance. This should be a fully qualified
* domain, such as 'foo.example.com'.
*
* This value is used when calculating URLs for retrieving and posting
* entries. If no value is specified, a URL will have to be manually
* constructed prior to using any methods which interact with the Google
* Apps provisioning service.
*
* @param string $value The domain to be used for this session.
*/
public function setDomain($value)
{
$this->_domain = $value;
}
/**
* Get domain for this service instance. This should be a fully qualified
* domain, such as 'foo.example.com'. If no domain is set, null will be
* returned.
*
* @see setDomain
* @return string The domain to be used for this session, or null if not
* set.
*/
public function getDomain()
{
return $this->_domain;
}
/**
* Returns the base URL used to access the Google Apps service, based
* on the current domain. The current domain can be temporarily
* overridden by providing a fully qualified domain as $domain.
*
* @see setDomain
* @param string $domain (optional) A fully-qualified domain to use
* instead of the default domain for this service instance.
*/
public function getBaseUrl($domain = null)
{
if ($domain !== null) {
return Zend_Gdata_Gapps::APPS_BASE_FEED_URI . '/' . $domain;
}
else if ($this->_domain !== null) {
return Zend_Gdata_Gapps::APPS_BASE_FEED_URI . '/' . $this->_domain;
}
else {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Domain must be specified.');
}
}
}
Gapps/NicknameQuery.php 0000604 00000012500 15071215231 0011071 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_Query
*/
require_once('Zend/Gdata/Gapps/Query.php');
/**
* Assists in constructing queries for Google Apps nickname entries.
* Instances of this class can be provided in many places where a URL is
* required.
*
* For information on submitting queries to a server, see the Google Apps
* service class, Zend_Gdata_Gapps.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_NicknameQuery extends Zend_Gdata_Gapps_Query
{
/**
* If not null, indicates the name of the nickname entry which
* should be returned by this query.
*
* @var string
*/
protected $_nickname = null;
/**
* Create a new instance.
*
* @param string $domain (optional) The Google Apps-hosted domain to use
* when constructing query URIs.
* @param string $nickname (optional) Value for the nickname
* property.
* @param string $username (optional) Value for the username
* property.
* @param string $startNickname (optional) Value for the
* startNickname property.
*/
public function __construct($domain = null, $nickname = null,
$username = null, $startNickname = null)
{
parent::__construct($domain);
$this->setNickname($nickname);
$this->setUsername($username);
$this->setStartNickname($startNickname);
}
/**
* Set the nickname to query for. When set, only users with a nickname
* matching this value will be returned in search results. Set to
* null to disable filtering by username.
*
* @param string $value The nickname to filter search results by, or null
* to disable.
*/
public function setNickname($value)
{
$this->_nickname = $value;
}
/**
* Get the nickname to query for. If no nickname is set, null will be
* returned.
*
* @see setNickname
* @return string The nickname to filter search results by, or null if
* disabled.
*/
public function getNickname()
{
return $this->_nickname;
}
/**
* Set the username to query for. When set, only users with a username
* matching this value will be returned in search results. Set to
* null to disable filtering by username.
*
* @param string $value The username to filter search results by, or null
* to disable.
*/
public function setUsername($value)
{
if ($value !== null) {
$this->_params['username'] = $value;
}
else {
unset($this->_params['username']);
}
}
/**
* Get the username to query for. If no username is set, null will be
* returned.
*
* @see setUsername
* @return string The username to filter search results by, or null if
* disabled.
*/
public function getUsername()
{
if (array_key_exists('username', $this->_params)) {
return $this->_params['username'];
} else {
return null;
}
}
/**
* Set the first nickname which should be displayed when retrieving
* a list of nicknames.
*
* @param string $value The first nickname to be returned, or null to
* disable.
*/
public function setStartNickname($value)
{
if ($value !== null) {
$this->_params['startNickname'] = $value;
} else {
unset($this->_params['startNickname']);
}
}
/**
* Get the first nickname which should be displayed when retrieving
* a list of nicknames.
*
* @return string The first nickname to be returned, or null to
* disable.
*/
public function getStartNickname()
{
if (array_key_exists('startNickname', $this->_params)) {
return $this->_params['startNickname'];
} else {
return null;
}
}
/**
* Returns the URL generated for this query, based on it's current
* parameters.
*
* @return string A URL generated based on the state of this query.
*/
public function getQueryUrl()
{
$uri = $this->getBaseUrl();
$uri .= Zend_Gdata_Gapps::APPS_NICKNAME_PATH;
if ($this->_nickname !== null) {
$uri .= '/' . $this->_nickname;
}
$uri .= $this->getQueryString();
return $uri;
}
}
Gapps/EmailListEntry.php 0000604 00000015623 15071215231 0011234 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_Extension_EmailList
*/
require_once 'Zend/Gdata/Gapps/Extension/EmailList.php';
/**
* Data model class for a Google Apps Email List Entry.
*
* Each email list entry describes a single email list within a Google Apps
* hosted domain. Email lists may contain multiple recipients, as
* described by instances of Zend_Gdata_Gapps_EmailListRecipient. Multiple
* entries are contained within instances of Zend_Gdata_Gapps_EmailListFeed.
*
* To transfer email list entries to and from the Google Apps servers,
* including creating new entries, refer to the Google Apps service class,
* Zend_Gdata_Gapps.
*
* This class represents <atom:entry> in the Google Data protocol.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_EmailListEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_Gapps_EmailListEntry';
/**
* <apps:emailList> child element containing general information about
* this email list.
*
* @var Zend_Gdata_Gapps_Extension_EmailList
*/
protected $_emailList = null;
/**
* <gd:feedLink> element containing information about other feeds
* relevant to this entry.
*
* @var Zend_Gdata_Extension_FeedLink
*/
protected $_feedLink = array();
/**
* Create a new instance.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Gapps::$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->_emailList !== null) {
$element->appendChild($this->_emailList->getDOM($element->ownerDocument));
}
foreach ($this->_feedLink as $feedLink) {
$element->appendChild($feedLink->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('apps') . ':' . 'emailList';
$emailList = new Zend_Gdata_Gapps_Extension_EmailList();
$emailList->transferFromDOM($child);
$this->_emailList = $emailList;
break;
case $this->lookupNamespace('gd') . ':' . 'feedLink';
$feedLink = new Zend_Gdata_Extension_FeedLink();
$feedLink->transferFromDOM($child);
$this->_feedLink[] = $feedLink;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Retrieve the email list property for this entry.
*
* @see setEmailList
* @return Zend_Gdata_Gapps_Extension_EmailList The requested object
* or null if not set.
*/
public function getEmailList()
{
return $this->_emailList;
}
/**
* Set the email list property for this entry. This property contains
* information such as the name of this email list.
*
* This corresponds to the <apps:emailList> property in the Google Data
* protocol.
*
* @param Zend_Gdata_Gapps_Extension_EmailList $value The desired value
* this element, or null to unset.
* @return Zend_Gdata_Gapps_EventEntry Provides a fluent interface
*/
public function setEmailList($value)
{
$this->_emailList = $value;
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;
}
}
/**
* Set the feed link property for this entry. Feed links provide
* information about other feeds associated with this entry.
*
* This corresponds to the <gd:feedLink> property in the Google Data
* protocol.
*
* @param array $value A collection of Zend_Gdata_Gapps_Extension_FeedLink
* instances representing all feed links for this entry, or
* null to unset.
* @return Zend_Gdata_Gapps_EventEntry Provides a fluent interface
*/
public function setFeedLink($value)
{
$this->_feedLink = $value;
return $this;
}
}
Gapps/Error.php 0000604 00000017314 15071215231 0007417 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Gdata_App_Base
*/
require_once 'Zend/Gdata/App/Base.php';
/**
* Gdata Gapps Error class. This class is used to represent errors returned
* within an AppsForYourDomainErrors message received from the Google Apps
* servers.
*
* Several different errors may be represented by this class, determined by
* the error code returned by the server. For a list of error codes
* available at the time of this writing, see getErrorCode.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_Error extends Zend_Gdata_App_Base
{
// Error codes as defined at
// http://code.google.com/apis/apps/gdata_provisioning_api_v2.0_reference.html#appendix_d
const UNKNOWN_ERROR = 1000;
const USER_DELETED_RECENTLY = 1100;
const USER_SUSPENDED = 1101;
const DOMAIN_USER_LIMIT_EXCEEDED = 1200;
const DOMAIN_ALIAS_LIMIT_EXCEEDED = 1201;
const DOMAIN_SUSPENDED = 1202;
const DOMAIN_FEATURE_UNAVAILABLE = 1203;
const ENTITY_EXISTS = 1300;
const ENTITY_DOES_NOT_EXIST = 1301;
const ENTITY_NAME_IS_RESERVED = 1302;
const ENTITY_NAME_NOT_VALID = 1303;
const INVALID_GIVEN_NAME = 1400;
const INVALID_FAMILY_NAME = 1401;
const INVALID_PASSWORD = 1402;
const INVALID_USERNAME = 1403;
const INVALID_HASH_FUNCTION_NAME = 1404;
const INVALID_HASH_DIGEST_LENGTH = 1405;
const INVALID_EMAIL_ADDRESS = 1406;
const INVALID_QUERY_PARAMETER_VALUE = 1407;
const TOO_MANY_RECIPIENTS_ON_EMAIL_LIST = 1500;
protected $_errorCode = null;
protected $_reason = null;
protected $_invalidInput = null;
public function __construct($errorCode = null, $reason = null,
$invalidInput = null) {
parent::__construct("Google Apps error received: $errorCode ($reason)");
$this->_errorCode = $errorCode;
$this->_reason = $reason;
$this->_invalidInput = $invalidInput;
}
/**
* Set the error code for this exception. For more information about
* error codes, see getErrorCode.
*
* @see getErrorCode
* @param integer $value The new value for the error code.
*/
public function setErrorCode($value) {
$this->_errorCode = $value;
}
/**
* Get the error code for this exception. Currently valid values are
* available as constants within this class. These values are:
*
* UNKNOWN_ERROR (1000)
* USER_DELETED_RECENTLY (1100)
* USER_SUSPENDED (1101)
* DOMAIN_USER_LIMIT_EXCEEDED (1200)
* DOMAIN_ALIAS_LIMIT_EXCEEDED (1201)
* DOMAIN_SUSPENDED (1202)
* DOMAIN_FEATURE_UNAVAILABLE (1203)
* ENTITY_EXISTS (1300)
* ENTITY_DOES_NOT_EXIST (1301)
* ENTITY_NAME_IS_RESERVED (1302)
* ENTITY_NAME_NOT_VALID (1303)
* INVALID_GIVEN_NAME (1400)
* INVALID_FAMILY_NAME (1401)
* INVALID_PASSWORD (1402)
* INVALID_USERNAME (1403)
* INVALID_HASH_FUNCTION_NAME (1404)
* INVALID_HASH_DIGEST_LENGTH (1405)
* INVALID_EMAIL_ADDRESS (1406)
* INVALID_QUERY_PARAMETER_VALUE (1407)
* TOO_MANY_RECIPIENTS_ON_EMAIL_LIST (1500)
*
* Numbers in parenthesis indicate the actual integer value of the
* constant. This list should not be treated as exhaustive, as additional
* error codes may be added at any time.
*
* For more information about these codes and their meaning, please
* see Appendix D of the Google Apps Provisioning API Reference.
*
* @link http://code.google.com/apis/apps/gdata_provisioning_api_v2.0_reference.html#appendix_d Google Apps Provisioning API Reference: Appendix D - Gdata Error Codes
* @see setErrorCode
* @return integer The error code returned by the Google Apps server.
*/
public function getErrorCode() {
return $this->_errorCode;
}
/**
* Set human-readable text describing the reason this exception occurred.
*
* @see getReason
* @param string $value The reason this exception occurred.
*/
public function setReason($value) {
$this->_reason = $value;
}
/**
* Get human-readable text describing the reason this exception occurred.
*
* @see setReason
* @return string The reason this exception occurred.
*/
public function getReason() {
return $this->_reason;
}
/**
* Set the invalid input which caused this exception.
*
* @see getInvalidInput
* @param string $value The invalid input that triggered this exception.
*/
public function setInvalidInput($value) {
$this->_invalidInput = $value;
}
/**
* Set the invalid input which caused this exception.
*
* @see setInvalidInput
* @return string The reason this exception occurred.
*/
public function getInvalidInput() {
return $this->_invalidInput;
}
/**
* 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->_errorCode !== null) {
$element->setAttribute('errorCode', $this->_errorCode);
}
if ($this->_reason !== null) {
$element->setAttribute('reason', $this->_reason);
}
if ($this->_invalidInput !== null) {
$element->setAttribute('invalidInput', $this->_invalidInput);
}
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 'errorCode':
$this->_errorCode = $attribute->nodeValue;
break;
case 'reason':
$this->_reason = $attribute->nodeValue;
break;
case 'invalidInput':
$this->_invalidInput = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get a human readable version of this exception.
*
* @return string
*/
public function __toString() {
return "Error " . $this->getErrorCode() . ": " . $this->getReason() .
"\n\tInvalid Input: \"" . $this->getInvalidInput() . "\"";
}
}
Gapps/EmailListQuery.php 0000604 00000013134 15071215231 0011233 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_Query
*/
require_once('Zend/Gdata/Gapps/Query.php');
/**
* Assists in constructing queries for Google Apps email list entries.
* Instances of this class can be provided in many places where a URL is
* required.
*
* For information on submitting queries to a server, see the Google Apps
* service class, Zend_Gdata_Gapps.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_EmailListQuery extends Zend_Gdata_Gapps_Query
{
/**
* A string which, if not null, indicates which email list should
* be retrieved by this query.
*
* @var string
*/
protected $_emailListName = null;
/**
* Create a new instance.
*
* @param string $domain (optional) The Google Apps-hosted domain to use
* when constructing query URIs.
* @param string $emailListName (optional) Value for the emailListName
* property.
* @param string $recipient (optional) Value for the recipient
* property.
* @param string $startEmailListName (optional) Value for the
* startEmailListName property.
*/
public function __construct($domain = null, $emailListName = null,
$recipient = null, $startEmailListName = null)
{
parent::__construct($domain);
$this->setEmailListName($emailListName);
$this->setRecipient($recipient);
$this->setStartEmailListName($startEmailListName);
}
/**
* Set the email list name to query for. When set, only lists with a name
* matching this value will be returned in search results. Set to
* null to disable filtering by list name.
*
* @param string $value The email list name to filter search results by,
* or null to disable.
*/
public function setEmailListName($value)
{
$this->_emailListName = $value;
}
/**
* Get the email list name to query for. If no name is set, null will be
* returned.
*
* @see setEmailListName
* @return string The email list name to filter search results by, or null
* if disabled.
*/
public function getEmailListName()
{
return $this->_emailListName;
}
/**
* Set the recipient to query for. When set, only subscribers with an
* email address matching this value will be returned in search results.
* Set to null to disable filtering by username.
*
* @param string $value The recipient email address to filter search
* results by, or null to disable.
*/
public function setRecipient($value)
{
if ($value !== null) {
$this->_params['recipient'] = $value;
}
else {
unset($this->_params['recipient']);
}
}
/**
* Get the recipient email address to query for. If no recipient is set,
* null will be returned.
*
* @see setRecipient
* @return string The recipient email address to filter search results by,
* or null if disabled.
*/
public function getRecipient()
{
if (array_key_exists('recipient', $this->_params)) {
return $this->_params['recipient'];
} else {
return null;
}
}
/**
* Set the first email list which should be displayed when retrieving
* a list of email lists.
*
* @param string $value The first email list to be returned, or null to
* disable.
*/
public function setStartEmailListName($value)
{
if ($value !== null) {
$this->_params['startEmailListName'] = $value;
} else {
unset($this->_params['startEmailListName']);
}
}
/**
* Get the first email list which should be displayed when retrieving
* a list of email lists.
*
* @return string The first email list to be returned, or null to
* disable.
*/
public function getStartEmailListName()
{
if (array_key_exists('startEmailListName', $this->_params)) {
return $this->_params['startEmailListName'];
} else {
return null;
}
}
/**
* Returns the URL generated for this query, based on it's current
* parameters.
*
* @return string A URL generated based on the state of this query.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function getQueryUrl()
{
$uri = $this->getBaseUrl();
$uri .= Zend_Gdata_Gapps::APPS_EMAIL_LIST_PATH;
if ($this->_emailListName !== null) {
$uri .= '/' . $this->_emailListName;
}
$uri .= $this->getQueryString();
return $uri;
}
}
Gapps/NicknameEntry.php 0000604 00000013532 15071215231 0011073 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_Extension_Login
*/
require_once 'Zend/Gdata/Gapps/Extension/Login.php';
/**
* @see Zend_Gdata_Gapps_Extension_Nickname
*/
require_once 'Zend/Gdata/Gapps/Extension/Nickname.php';
/**
* Data model class for a Google Apps Nickname Entry.
*
* Each nickname entry describes a single nickname within a Google Apps
* hosted domain. Each user may own several nicknames, but each nickname may
* only belong to one user. Multiple entries are contained within instances
* of Zend_Gdata_Gapps_NicknameFeed.
*
* To transfer nickname entries to and from the Google Apps servers,
* including creating new entries, refer to the Google Apps service class,
* Zend_Gdata_Gapps.
*
* This class represents <atom:entry> in the Google Data protocol.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_NicknameEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_Gapps_NicknameEntry';
/**
* <apps:login> element used to hold information about the owner
* of this nickname, including their username.
*
* @var Zend_Gdata_Gapps_Extension_Login
*/
protected $_login = null;
/**
* <apps:nickname> element used to hold the name of this nickname.
*
* @var Zend_Gdata_Gapps_Extension_Nickname
*/
protected $_nickname = null;
/**
* Create a new instance.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Gapps::$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->_login !== null) {
$element->appendChild($this->_login->getDOM($element->ownerDocument));
}
if ($this->_nickname !== null) {
$element->appendChild($this->_nickname->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('apps') . ':' . 'login';
$login = new Zend_Gdata_Gapps_Extension_Login();
$login->transferFromDOM($child);
$this->_login = $login;
break;
case $this->lookupNamespace('apps') . ':' . 'nickname';
$nickname = new Zend_Gdata_Gapps_Extension_Nickname();
$nickname->transferFromDOM($child);
$this->_nickname = $nickname;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Get the value of the login property for this object.
*
* @see setLogin
* @return Zend_Gdata_Gapps_Extension_Login The requested object.
*/
public function getLogin()
{
return $this->_login;
}
/**
* Set the value of the login property for this object. This property
* is used to store the username address of the current user.
*
* @param Zend_Gdata_Gapps_Extension_Login $value The desired value for
* this instance's login property.
* @return Zend_Gdata_Gapps_NicknameEntry Provides a fluent interface.
*/
public function setLogin($value)
{
$this->_login = $value;
return $this;
}
/**
* Get the value of the nickname property for this object.
*
* @see setNickname
* @return Zend_Gdata_Gapps_Extension_Nickname The requested object.
*/
public function getNickname()
{
return $this->_nickname;
}
/**
* Set the value of the nickname property for this object. This property
* is used to store the the name of the current nickname.
*
* @param Zend_Gdata_Gapps_Extension_Nickname $value The desired value for
* this instance's nickname property.
* @return Zend_Gdata_Gapps_NicknameEntry Provides a fluent interface.
*/
public function setNickname($value)
{
$this->_nickname = $value;
return $this;
}
}
Gapps/UserEntry.php 0000604 00000022045 15071215231 0010263 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_Extension_Login
*/
require_once 'Zend/Gdata/Gapps/Extension/Login.php';
/**
* @see Zend_Gdata_Gapps_Extension_Name
*/
require_once 'Zend/Gdata/Gapps/Extension/Name.php';
/**
* @see Zend_Gdata_Gapps_Extension_Quota
*/
require_once 'Zend/Gdata/Gapps/Extension/Quota.php';
/**
* Data model class for a Google Apps User Entry.
*
* Each user entry describes a single user within a Google Apps hosted
* domain.
*
* To transfer user entries to and from the Google Apps servers, including
* creating new entries, refer to the Google Apps service class,
* Zend_Gdata_Gapps.
*
* This class represents <atom:entry> in the Google Data protocol.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_UserEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_Gapps_UserEntry';
/**
* <apps:login> element containing information about this user's
* account, including their username and permissions.
*
* @var Zend_Gdata_Gapps_Extension_Login
*/
protected $_login = null;
/**
* <apps:name> element containing the user's actual name.
*
* @var Zend_Gdata_Gapps_Extension_Name
*/
protected $_name = null;
/**
* <apps:quotq> element describing any storage quotas in place for
* this user.
*
* @var Zend_Gdata_Gapps_Extension_Quota
*/
protected $_quota = null;
/**
* <gd:feedLink> element containing information about other feeds
* relevant to this entry.
*
* @var Zend_Gdata_Extension_FeedLink
*/
protected $_feedLink = array();
/**
* Create a new instance.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Gapps::$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->_login !== null) {
$element->appendChild($this->_login->getDOM($element->ownerDocument));
}
if ($this->_name !== null) {
$element->appendChild($this->_name->getDOM($element->ownerDocument));
}
if ($this->_quota !== null) {
$element->appendChild($this->_quota->getDOM($element->ownerDocument));
}
foreach ($this->_feedLink as $feedLink) {
$element->appendChild($feedLink->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('apps') . ':' . 'login';
$login = new Zend_Gdata_Gapps_Extension_Login();
$login->transferFromDOM($child);
$this->_login = $login;
break;
case $this->lookupNamespace('apps') . ':' . 'name';
$name = new Zend_Gdata_Gapps_Extension_Name();
$name->transferFromDOM($child);
$this->_name = $name;
break;
case $this->lookupNamespace('apps') . ':' . 'quota';
$quota = new Zend_Gdata_Gapps_Extension_Quota();
$quota->transferFromDOM($child);
$this->_quota = $quota;
break;
case $this->lookupNamespace('gd') . ':' . 'feedLink';
$feedLink = new Zend_Gdata_Extension_FeedLink();
$feedLink->transferFromDOM($child);
$this->_feedLink[] = $feedLink;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Get the value of the login property for this object.
*
* @see setLogin
* @return Zend_Gdata_Gapps_Extension_Login The requested object.
*/
public function getLogin()
{
return $this->_login;
}
/**
* Set the value of the login property for this object. This property
* is used to store the username address of the current user.
*
* @param Zend_Gdata_Gapps_Extension_Login $value The desired value for
* this instance's login property.
* @return Zend_Gdata_Gapps_UserEntry Provides a fluent interface.
*/
public function setLogin($value)
{
$this->_login = $value;
return $this;
}
/**
* Get the value of the name property for this object.
*
* @see setName
* @return Zend_Gdata_Gapps_Extension_Name The requested object.
*/
public function getName()
{
return $this->_name;
}
/**
* Set the value of the name property for this object. This property
* is used to store the full name of the current user.
*
* @param Zend_Gdata_Gapps_Extension_Name $value The desired value for
* this instance's name property.
* @return Zend_Gdata_Gapps_UserEntry Provides a fluent interface.
*/
public function setName($value)
{
$this->_name = $value;
return $this;
}
/**
* Get the value of the quota property for this object.
*
* @see setQuota
* @return Zend_Gdata_Gapps_Extension_Quota The requested object.
*/
public function getQuota()
{
return $this->_quota;
}
/**
* Set the value of the quota property for this object. This property
* is used to store the amount of storage available for the current
* user. Quotas may not be modifiable depending on the domain used.
*
* @param Zend_Gdata_Gapps_Extension_Quota $value The desired value for
* this instance's quota property.
* @return Zend_Gdata_Gapps_UserEntry Provides a fluent interface.
*/
public function setQuota($value)
{
$this->_quota = $value;
return $this;
}
/**
* Returns all feed links for this entry, or if a rel value is
* specified, the feed link associated with that value is returned.
*
* @param string $rel The rel value of the link to be found. If null,
* the array of links is returned instead.
* @return mixed Either an array of Zend_Gdata_Extension_FeedLink
* objects if $rel is null, a single
* Zend_Gdata_Extension_FeedLink object if $rel is specified
* and a matching feed link is found, or null if $rel is
* specified and no matching feed link is found.
*/
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;
}
}
/**
* Set the value of the feed link property for this object. This property
* is used to provide links to alternative feeds relevant to this entry.
*
* @param array $value A collection of
* Zend_Gdata_Gapps_Extension_FeedLink objects.
* @return Zend_Gdata_Gapps_EventEntry Provides a fluent interface.
*/
public function setFeedLink($value)
{
$this->_feedLink = $value;
return $this;
}
}
Gapps/EmailListRecipientEntry.php 0000604 00000011015 15071215231 0013066 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Who
*/
require_once 'Zend/Gdata/Extension/Who.php';
/**
* Data model class for a Google Apps Email List Recipient Entry.
*
* Each instance of this class represents a recipient of an email list
* hosted on a Google Apps domain. Each email list may contain multiple
* recipients. Email lists themselves are described by
* Zend_Gdata_EmailListEntry. Multiple recipient entries are contained within
* instances of Zend_Gdata_Gapps_EmailListRecipientFeed.
*
* To transfer email list recipients to and from the Google Apps servers,
* including creating new recipients, refer to the Google Apps service class,
* Zend_Gdata_Gapps.
*
* This class represents <atom:entry> in the Google Data protocol.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps_EmailListRecipientEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_Gapps_EmailListRecipientEntry';
/**
* <gd:who> element used to store the email address of the current
* recipient. Only the email property of this element should be
* populated.
*
* @var Zend_Gdata_Extension_Who
*/
protected $_who = null;
/**
* Create a new instance.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Gapps::$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->_who !== null) {
$element->appendChild($this->_who->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('gd') . ':' . 'who';
$who = new Zend_Gdata_Extension_Who();
$who->transferFromDOM($child);
$this->_who = $who;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Get the value of the who property for this object.
*
* @see setWho
* @return Zend_Gdata_Extension_Who The requested object.
*/
public function getWho()
{
return $this->_who;
}
/**
* Set the value of the who property for this object. This property
* is used to store the email address of the current recipient.
*
* @param Zend_Gdata_Extension_Who $value The desired value for this
* instance's who property.
* @return Zend_Gdata_Gapps_EventEntry Provides a fluent interface.
*/
public function setWho($value)
{
$this->_who = $value;
return $this;
}
}
ClientLogin.php 0000604 00000015135 15071215231 0007462 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* Zend_Gdata_HttpClient
*/
require_once 'Zend/Gdata/HttpClient.php';
/**
* Zend_Version
*/
require_once 'Zend/Version.php';
/**
* Class to facilitate Google's "Account Authentication
* for Installed Applications" also known as "ClientLogin".
* @see http://code.google.com/apis/accounts/AuthForInstalledApps.html
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_ClientLogin
{
/**
* The Google client login URI
*
*/
const CLIENTLOGIN_URI = 'https://www.google.com/accounts/ClientLogin';
/**
* The default 'source' parameter to send to Google
*
*/
const DEFAULT_SOURCE = 'Zend-ZendFramework';
/**
* Set Google authentication credentials.
* Must be done before trying to do any Google Data operations that
* require authentication.
* For example, viewing private data, or posting or deleting entries.
*
* @param string $email
* @param string $password
* @param string $service
* @param Zend_Gdata_HttpClient $client
* @param string $source
* @param string $loginToken The token identifier as provided by the server.
* @param string $loginCaptcha The user's response to the CAPTCHA challenge.
* @param string $accountType An optional string to identify whether the
* account to be authenticated is a google or a hosted account. Defaults to
* 'HOSTED_OR_GOOGLE'. See: http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html#Request
* @throws Zend_Gdata_App_AuthException
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_App_CaptchaRequiredException
* @return Zend_Gdata_HttpClient
*/
public static function getHttpClient($email, $password, $service = 'xapi',
$client = null,
$source = self::DEFAULT_SOURCE,
$loginToken = null,
$loginCaptcha = null,
$loginUri = self::CLIENTLOGIN_URI,
$accountType = 'HOSTED_OR_GOOGLE')
{
if (! ($email && $password)) {
require_once 'Zend/Gdata/App/AuthException.php';
throw new Zend_Gdata_App_AuthException(
'Please set your Google credentials before trying to ' .
'authenticate');
}
if ($client == null) {
$client = new Zend_Gdata_HttpClient();
}
if (!$client instanceof Zend_Http_Client) {
require_once 'Zend/Gdata/App/HttpException.php';
throw new Zend_Gdata_App_HttpException(
'Client is not an instance of Zend_Http_Client.');
}
// Build the HTTP client for authentication
$client->setUri($loginUri);
$useragent = $source . ' Zend_Framework_Gdata/' . Zend_Version::VERSION;
$client->setConfig(array(
'maxredirects' => 0,
'strictredirects' => true,
'useragent' => $useragent
)
);
$client->setParameterPost('accountType', $accountType);
$client->setParameterPost('Email', (string) $email);
$client->setParameterPost('Passwd', (string) $password);
$client->setParameterPost('service', (string) $service);
$client->setParameterPost('source', (string) $source);
if ($loginToken || $loginCaptcha) {
if($loginToken && $loginCaptcha) {
$client->setParameterPost('logintoken', (string) $loginToken);
$client->setParameterPost('logincaptcha',
(string) $loginCaptcha);
}
else {
require_once 'Zend/Gdata/App/AuthException.php';
throw new Zend_Gdata_App_AuthException(
'Please provide both a token ID and a user\'s response ' .
'to the CAPTCHA challenge.');
}
}
// Send the authentication request
// For some reason Google's server causes an SSL error. We use the
// output buffer to supress an error from being shown. Ugly - but works!
ob_start();
try {
$response = $client->request('POST');
} catch (Zend_Http_Client_Exception $e) {
require_once 'Zend/Gdata/App/HttpException.php';
throw new Zend_Gdata_App_HttpException($e->getMessage(), $e);
}
ob_end_clean();
// Parse Google's response
$goog_resp = array();
foreach (explode("\n", $response->getBody()) as $l) {
$l = chop($l);
if ($l) {
list($key, $val) = explode('=', chop($l), 2);
$goog_resp[$key] = $val;
}
}
if ($response->getStatus() == 200) {
$client = new Zend_Gdata_HttpClient();
$client->setClientLoginToken($goog_resp['Auth']);
$useragent = $source . ' Zend_Framework_Gdata/' . Zend_Version::VERSION;
$client->setConfig(array(
'strictredirects' => true,
'useragent' => $useragent
)
);
return $client;
} elseif ($response->getStatus() == 403) {
// Check if the server asked for a CAPTCHA
if (array_key_exists('Error', $goog_resp) &&
$goog_resp['Error'] == 'CaptchaRequired') {
require_once 'Zend/Gdata/App/CaptchaRequiredException.php';
throw new Zend_Gdata_App_CaptchaRequiredException(
$goog_resp['CaptchaToken'], $goog_resp['CaptchaUrl']);
}
else {
require_once 'Zend/Gdata/App/AuthException.php';
throw new Zend_Gdata_App_AuthException('Authentication with Google failed. Reason: ' .
(isset($goog_resp['Error']) ? $goog_resp['Error'] : 'Unspecified.'));
}
}
}
}
Photos.php 0000604 00000047303 15071215231 0006531 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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
*/
require_once 'Zend/Gdata.php';
/**
* @see Zend_Gdata_Photos_UserFeed
*/
require_once 'Zend/Gdata/Photos/UserFeed.php';
/**
* @see Zend_Gdata_Photos_AlbumFeed
*/
require_once 'Zend/Gdata/Photos/AlbumFeed.php';
/**
* @see Zend_Gdata_Photos_PhotoFeed
*/
require_once 'Zend/Gdata/Photos/PhotoFeed.php';
/**
* Service class for interacting with the Google Photos Data API.
*
* Like other service classes in this module, this class provides access via
* an HTTP client to Google servers for working with entries and feeds.
*
* @link http://code.google.com/apis/picasaweb/gdata.html
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos extends Zend_Gdata
{
const PICASA_BASE_URI = 'http://picasaweb.google.com/data';
const PICASA_BASE_FEED_URI = 'http://picasaweb.google.com/data/feed';
const AUTH_SERVICE_NAME = 'lh2';
/**
* Default projection when interacting with the Picasa server.
*/
const DEFAULT_PROJECTION = 'api';
/**
* The default visibility to filter events by.
*/
const DEFAULT_VISIBILITY = 'all';
/**
* The default user to retrieve feeds for.
*/
const DEFAULT_USER = 'default';
/**
* Path to the user feed on the Picasa server.
*/
const USER_PATH = 'user';
/**
* Path to album feeds on the Picasa server.
*/
const ALBUM_PATH = 'albumid';
/**
* Path to photo feeds on the Picasa server.
*/
const PHOTO_PATH = 'photoid';
/**
* The path to the community search feed on the Picasa server.
*/
const COMMUNITY_SEARCH_PATH = 'all';
/**
* The path to use for finding links to feeds within entries
*/
const FEED_LINK_PATH = 'http://schemas.google.com/g/2005#feed';
/**
* The path to use for the determining type of an entry
*/
const KIND_PATH = 'http://schemas.google.com/g/2005#kind';
/**
* Namespaces used for Zend_Gdata_Photos
*
* @var array
*/
public static $namespaces = array(
array('gphoto', 'http://schemas.google.com/photos/2007', 1, 0),
array('photo', 'http://www.pheed.com/pheed/', 1, 0),
array('exif', 'http://schemas.google.com/photos/exif/2007', 1, 0),
array('georss', 'http://www.georss.org/georss', 1, 0),
array('gml', 'http://www.opengis.net/gml', 1, 0),
array('media', 'http://search.yahoo.com/mrss/', 1, 0)
);
/**
* Create Zend_Gdata_Photos object
*
* @param Zend_Http_Client $client (optional) The HTTP client to use when
* when communicating with the servers.
* @param string $applicationId The identity of the app in the form of Company-AppName-Version
*/
public function __construct($client = null, $applicationId = 'MyCompany-MyApp-1.0')
{
$this->registerPackage('Zend_Gdata_Photos');
$this->registerPackage('Zend_Gdata_Photos_Extension');
parent::__construct($client, $applicationId);
$this->_httpClient->setParameterPost('service', self::AUTH_SERVICE_NAME);
}
/**
* Retrieve a UserFeed containing AlbumEntries, PhotoEntries and
* TagEntries associated with a given user.
*
* @param string $userName The userName of interest
* @param mixed $location (optional) The location for the feed, as a URL
* or Query. If not provided, a default URL will be used instead.
* @return Zend_Gdata_Photos_UserFeed
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
*/
public function getUserFeed($userName = null, $location = null)
{
if ($location instanceof Zend_Gdata_Photos_UserQuery) {
$location->setType('feed');
if ($userName !== null) {
$location->setUser($userName);
}
$uri = $location->getQueryUrl();
} else if ($location instanceof Zend_Gdata_Query) {
if ($userName !== null) {
$location->setUser($userName);
}
$uri = $location->getQueryUrl();
} else if ($location !== null) {
$uri = $location;
} else if ($userName !== null) {
$uri = self::PICASA_BASE_FEED_URI . '/' .
self::DEFAULT_PROJECTION . '/' . self::USER_PATH . '/' .
$userName;
} else {
$uri = self::PICASA_BASE_FEED_URI . '/' .
self::DEFAULT_PROJECTION . '/' . self::USER_PATH . '/' .
self::DEFAULT_USER;
}
return parent::getFeed($uri, 'Zend_Gdata_Photos_UserFeed');
}
/**
* Retreive AlbumFeed object containing multiple PhotoEntry or TagEntry
* objects.
*
* @param mixed $location (optional) The location for the feed, as a URL or Query.
* @return Zend_Gdata_Photos_AlbumFeed
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
*/
public function getAlbumFeed($location = null)
{
if ($location === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Location must not be null');
} else if ($location instanceof Zend_Gdata_Photos_UserQuery) {
$location->setType('feed');
$uri = $location->getQueryUrl();
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_Photos_AlbumFeed');
}
/**
* Retreive PhotoFeed object containing comments and tags associated
* with a given photo.
*
* @param mixed $location (optional) The location for the feed, as a URL
* or Query. If not specified, the community search feed will
* be returned instead.
* @return Zend_Gdata_Photos_PhotoFeed
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
*/
public function getPhotoFeed($location = null)
{
if ($location === null) {
$uri = self::PICASA_BASE_FEED_URI . '/' .
self::DEFAULT_PROJECTION . '/' .
self::COMMUNITY_SEARCH_PATH;
} else if ($location instanceof Zend_Gdata_Photos_UserQuery) {
$location->setType('feed');
$uri = $location->getQueryUrl();
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_Photos_PhotoFeed');
}
/**
* Retreive a single UserEntry object.
*
* @param mixed $location The location for the feed, as a URL or Query.
* @return Zend_Gdata_Photos_UserEntry
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
*/
public function getUserEntry($location)
{
if ($location === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Location must not be null');
} else if ($location instanceof Zend_Gdata_Photos_UserQuery) {
$location->setType('entry');
$uri = $location->getQueryUrl();
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getEntry($uri, 'Zend_Gdata_Photos_UserEntry');
}
/**
* Retreive a single AlbumEntry object.
*
* @param mixed $location The location for the feed, as a URL or Query.
* @return Zend_Gdata_Photos_AlbumEntry
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
*/
public function getAlbumEntry($location)
{
if ($location === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Location must not be null');
} else if ($location instanceof Zend_Gdata_Photos_UserQuery) {
$location->setType('entry');
$uri = $location->getQueryUrl();
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getEntry($uri, 'Zend_Gdata_Photos_AlbumEntry');
}
/**
* Retreive a single PhotoEntry object.
*
* @param mixed $location The location for the feed, as a URL or Query.
* @return Zend_Gdata_Photos_PhotoEntry
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
*/
public function getPhotoEntry($location)
{
if ($location === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Location must not be null');
} else if ($location instanceof Zend_Gdata_Photos_UserQuery) {
$location->setType('entry');
$uri = $location->getQueryUrl();
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getEntry($uri, 'Zend_Gdata_Photos_PhotoEntry');
}
/**
* Retreive a single TagEntry object.
*
* @param mixed $location The location for the feed, as a URL or Query.
* @return Zend_Gdata_Photos_TagEntry
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
*/
public function getTagEntry($location)
{
if ($location === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Location must not be null');
} else if ($location instanceof Zend_Gdata_Photos_UserQuery) {
$location->setType('entry');
$uri = $location->getQueryUrl();
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getEntry($uri, 'Zend_Gdata_Photos_TagEntry');
}
/**
* Retreive a single CommentEntry object.
*
* @param mixed $location The location for the feed, as a URL or Query.
* @return Zend_Gdata_Photos_CommentEntry
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
*/
public function getCommentEntry($location)
{
if ($location === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Location must not be null');
} else if ($location instanceof Zend_Gdata_Photos_UserQuery) {
$location->setType('entry');
$uri = $location->getQueryUrl();
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getEntry($uri, 'Zend_Gdata_Photos_CommentEntry');
}
/**
* Create a new album from a AlbumEntry.
*
* @param Zend_Gdata_Photos_AlbumEntry $album The album entry to
* insert.
* @param string $url (optional) The URI that the album should be
* uploaded to. If null, the default album creation URI for
* this domain will be used.
* @return Zend_Gdata_Photos_AlbumEntry The inserted album entry as
* returned by the server.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
*/
public function insertAlbumEntry($album, $uri = null)
{
if ($uri === null) {
$uri = self::PICASA_BASE_FEED_URI . '/' .
self::DEFAULT_PROJECTION . '/' . self::USER_PATH . '/' .
self::DEFAULT_USER;
}
$newEntry = $this->insertEntry($album, $uri, 'Zend_Gdata_Photos_AlbumEntry');
return $newEntry;
}
/**
* Create a new photo from a PhotoEntry.
*
* @param Zend_Gdata_Photos_PhotoEntry $photo The photo to insert.
* @param string $url The URI that the photo should be uploaded
* to. Alternatively, an AlbumEntry can be provided and the
* photo will be added to that album.
* @return Zend_Gdata_Photos_PhotoEntry The inserted photo entry
* as returned by the server.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
*/
public function insertPhotoEntry($photo, $uri = null)
{
if ($uri instanceof Zend_Gdata_Photos_AlbumEntry) {
$uri = $uri->getLink(self::FEED_LINK_PATH)->href;
}
if ($uri === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'URI must not be null');
}
$newEntry = $this->insertEntry($photo, $uri, 'Zend_Gdata_Photos_PhotoEntry');
return $newEntry;
}
/**
* Create a new tag from a TagEntry.
*
* @param Zend_Gdata_Photos_TagEntry $tag The tag entry to insert.
* @param string $url The URI where the tag should be
* uploaded to. Alternatively, a PhotoEntry can be provided and
* the tag will be added to that photo.
* @return Zend_Gdata_Photos_TagEntry The inserted tag entry as returned
* by the server.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
*/
public function insertTagEntry($tag, $uri = null)
{
if ($uri instanceof Zend_Gdata_Photos_PhotoEntry) {
$uri = $uri->getLink(self::FEED_LINK_PATH)->href;
}
if ($uri === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'URI must not be null');
}
$newEntry = $this->insertEntry($tag, $uri, 'Zend_Gdata_Photos_TagEntry');
return $newEntry;
}
/**
* Create a new comment from a CommentEntry.
*
* @param Zend_Gdata_Photos_CommentEntry $comment The comment entry to
* insert.
* @param string $url The URI where the comment should be uploaded to.
* Alternatively, a PhotoEntry can be provided and
* the comment will be added to that photo.
* @return Zend_Gdata_Photos_CommentEntry The inserted comment entry
* as returned by the server.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
*/
public function insertCommentEntry($comment, $uri = null)
{
if ($uri instanceof Zend_Gdata_Photos_PhotoEntry) {
$uri = $uri->getLink(self::FEED_LINK_PATH)->href;
}
if ($uri === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'URI must not be null');
}
$newEntry = $this->insertEntry($comment, $uri, 'Zend_Gdata_Photos_CommentEntry');
return $newEntry;
}
/**
* Delete an AlbumEntry.
*
* @param Zend_Gdata_Photos_AlbumEntry $album The album entry to
* delete.
* @param boolean $catch Whether to catch an exception when
* modified and re-delete or throw
* @return void.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
*/
public function deleteAlbumEntry($album, $catch)
{
if ($catch) {
try {
$this->delete($album);
} catch (Zend_Gdata_App_HttpException $e) {
if ($e->getResponse()->getStatus() === 409) {
$entry = new Zend_Gdata_Photos_AlbumEntry($e->getResponse()->getBody());
$this->delete($entry->getLink('edit')->href);
} else {
throw $e;
}
}
} else {
$this->delete($album);
}
}
/**
* Delete a PhotoEntry.
*
* @param Zend_Gdata_Photos_PhotoEntry $photo The photo entry to
* delete.
* @param boolean $catch Whether to catch an exception when
* modified and re-delete or throw
* @return void.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
*/
public function deletePhotoEntry($photo, $catch)
{
if ($catch) {
try {
$this->delete($photo);
} catch (Zend_Gdata_App_HttpException $e) {
if ($e->getResponse()->getStatus() === 409) {
$entry = new Zend_Gdata_Photos_PhotoEntry($e->getResponse()->getBody());
$this->delete($entry->getLink('edit')->href);
} else {
throw $e;
}
}
} else {
$this->delete($photo);
}
}
/**
* Delete a CommentEntry.
*
* @param Zend_Gdata_Photos_CommentEntry $comment The comment entry to
* delete.
* @param boolean $catch Whether to catch an exception when
* modified and re-delete or throw
* @return void.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
*/
public function deleteCommentEntry($comment, $catch)
{
if ($catch) {
try {
$this->delete($comment);
} catch (Zend_Gdata_App_HttpException $e) {
if ($e->getResponse()->getStatus() === 409) {
$entry = new Zend_Gdata_Photos_CommentEntry($e->getResponse()->getBody());
$this->delete($entry->getLink('edit')->href);
} else {
throw $e;
}
}
} else {
$this->delete($comment);
}
}
/**
* Delete a TagEntry.
*
* @param Zend_Gdata_Photos_TagEntry $tag The tag entry to
* delete.
* @param boolean $catch Whether to catch an exception when
* modified and re-delete or throw
* @return void.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
*/
public function deleteTagEntry($tag, $catch)
{
if ($catch) {
try {
$this->delete($tag);
} catch (Zend_Gdata_App_HttpException $e) {
if ($e->getResponse()->getStatus() === 409) {
$entry = new Zend_Gdata_Photos_TagEntry($e->getResponse()->getBody());
$this->delete($entry->getLink('edit')->href);
} else {
throw $e;
}
}
} else {
$this->delete($tag);
}
}
}
Extension.php 0000604 00000003303 15071215231 0007221 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents a Gdata extension
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension extends Zend_Gdata_App_Extension
{
protected $_rootNamespace = 'gd';
public function __construct()
{
/* NOTE: namespaces must be registered before calling parent */
$this->registerNamespace('gd',
'http://schemas.google.com/g/2005');
$this->registerNamespace('openSearch',
'http://a9.com/-/spec/opensearchrss/1.0/', 1, 0);
$this->registerNamespace('openSearch',
'http://a9.com/-/spec/opensearch/1.1/', 2, 0);
$this->registerNamespace('rss',
'http://blogs.law.harvard.edu/tech/rss');
parent::__construct();
}
}
Gapps.php 0000604 00000120554 15071215231 0006327 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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
*/
require_once 'Zend/Gdata.php';
/**
* @see Zend_Gdata_Gapps_UserFeed
*/
require_once 'Zend/Gdata/Gapps/UserFeed.php';
/**
* @see Zend_Gdata_Gapps_NicknameFeed
*/
require_once 'Zend/Gdata/Gapps/NicknameFeed.php';
/**
* @see Zend_Gdata_Gapps_EmailListFeed
*/
require_once 'Zend/Gdata/Gapps/EmailListFeed.php';
/**
* @see Zend_Gdata_Gapps_EmailListRecipientFeed
*/
require_once 'Zend/Gdata/Gapps/EmailListRecipientFeed.php';
/**
* Service class for interacting with the Google Apps Provisioning API.
*
* Like other service classes in this module, this class provides access via
* an HTTP client to Google servers for working with entries and feeds.
*
* Because of the nature of this API, all access must occur over an
* authenticated connection.
*
* @link http://code.google.com/apis/apps/gdata_provisioning_api_v2.0_reference.html
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gapps
* @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_Gapps extends Zend_Gdata
{
const APPS_BASE_FEED_URI = 'https://apps-apis.google.com/a/feeds';
const AUTH_SERVICE_NAME = 'apps';
/**
* Path to user feeds on the Google Apps server.
*/
const APPS_USER_PATH = '/user/2.0';
/**
* Path to nickname feeds on the Google Apps server.
*/
const APPS_NICKNAME_PATH = '/nickname/2.0';
/**
* Path to email list feeds on the Google Apps server.
*/
const APPS_EMAIL_LIST_PATH = '/emailList/2.0';
/**
* Path to email list recipient feeds on the Google Apps server.
*/
const APPS_EMAIL_LIST_RECIPIENT_POSTFIX = '/recipient';
/**
* The domain which is being administered via the Provisioning API.
*
* @var string
*/
protected $_domain = null;
/**
* Namespaces used for Zend_Gdata_Gapps
*
* @var array
*/
public static $namespaces = array(
array('apps', 'http://schemas.google.com/apps/2006', 1, 0)
);
/**
* Create Gdata_Gapps object
*
* @param Zend_Http_Client $client (optional) The HTTP client to use when
* when communicating with the Google Apps servers.
* @param string $domain (optional) The Google Apps domain which is to be
* accessed.
* @param string $applicationId The identity of the app in the form of Company-AppName-Version
*/
public function __construct($client = null, $domain = null, $applicationId = 'MyCompany-MyApp-1.0')
{
$this->registerPackage('Zend_Gdata_Gapps');
$this->registerPackage('Zend_Gdata_Gapps_Extension');
parent::__construct($client, $applicationId);
$this->_httpClient->setParameterPost('service', self::AUTH_SERVICE_NAME);
$this->_domain = $domain;
}
/**
* Convert an exception to an ServiceException if an AppsForYourDomain
* XML document is contained within the original exception's HTTP
* response. If conversion fails, throw the original error.
*
* @param Zend_Gdata_Exception $e The exception to convert.
* @throws Zend_Gdata_Gapps_ServiceException
* @throws mixed
*/
public static function throwServiceExceptionIfDetected($e) {
try {
// Check to see if there is an AppsForYourDomainErrors
// datastructure in the response. If so, convert it to
// an exception and throw it.
require_once 'Zend/Gdata/Gapps/ServiceException.php';
$error = new Zend_Gdata_Gapps_ServiceException();
$error->importFromString($e->getResponse()->getBody());
throw $error;
} catch (Zend_Gdata_App_Exception $e2) {
// Unable to convert the response to a ServiceException,
// most likely because the server didn't return an
// AppsForYourDomainErrors document. Throw the original
// exception.
throw $e;
}
}
/**
* Imports a feed located at $uri.
* This method overrides the default behavior of Zend_Gdata_App,
* providing support for Zend_Gdata_Gapps_ServiceException.
*
* @param string $uri
* @param Zend_Http_Client $client (optional) The client used for
* communication
* @param string $className (optional) The class which is used as the
* return type
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
* @return Zend_Gdata_App_Feed
*/
public static function import($uri, $client = null, $className='Zend_Gdata_App_Feed')
{
try {
return parent::import($uri, $client, $className);
} catch (Zend_Gdata_App_HttpException $e) {
self::throwServiceExceptionIfDetected($e);
}
}
/**
* GET a URI using client object.
* This method overrides the default behavior of Zend_Gdata_App,
* providing support for Zend_Gdata_Gapps_ServiceException.
*
* @param string $uri GET URI
* @param array $extraHeaders Extra headers to add to the request, as an
* array of string-based key/value pairs.
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
* @return Zend_Http_Response
*/
public function get($uri, $extraHeaders = array())
{
try {
return parent::get($uri, $extraHeaders);
} catch (Zend_Gdata_App_HttpException $e) {
self::throwServiceExceptionIfDetected($e);
}
}
/**
* POST data with client object.
* This method overrides the default behavior of Zend_Gdata_App,
* providing support for Zend_Gdata_Gapps_ServiceException.
*
* @param mixed $data The Zend_Gdata_App_Entry or XML to post
* @param string $uri (optional) POST URI
* @param integer $remainingRedirects (optional)
* @param string $contentType Content-type of the data
* @param array $extraHaders Extra headers to add tot he request
* @return Zend_Http_Response
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_App_InvalidArgumentException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function post($data, $uri = null, $remainingRedirects = null,
$contentType = null, $extraHeaders = null)
{
try {
return parent::post($data, $uri, $remainingRedirects, $contentType, $extraHeaders);
} catch (Zend_Gdata_App_HttpException $e) {
self::throwServiceExceptionIfDetected($e);
}
}
/**
* PUT data with client object
* This method overrides the default behavior of Zend_Gdata_App,
* providing support for Zend_Gdata_Gapps_ServiceException.
*
* @param mixed $data The Zend_Gdata_App_Entry or XML to post
* @param string $uri (optional) PUT URI
* @param integer $remainingRedirects (optional)
* @param string $contentType Content-type of the data
* @param array $extraHaders Extra headers to add tot he request
* @return Zend_Http_Response
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_App_InvalidArgumentException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function put($data, $uri = null, $remainingRedirects = null,
$contentType = null, $extraHeaders = null)
{
try {
return parent::put($data, $uri, $remainingRedirects, $contentType, $extraHeaders);
} catch (Zend_Gdata_App_HttpException $e) {
self::throwServiceExceptionIfDetected($e);
}
}
/**
* DELETE entry with client object
* This method overrides the default behavior of Zend_Gdata_App,
* providing support for Zend_Gdata_Gapps_ServiceException.
*
* @param mixed $data The Zend_Gdata_App_Entry or URL to delete
* @param integer $remainingRedirects (optional)
* @return void
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_App_InvalidArgumentException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function delete($data, $remainingRedirects = null)
{
try {
return parent::delete($data, $remainingRedirects);
} catch (Zend_Gdata_App_HttpException $e) {
self::throwServiceExceptionIfDetected($e);
}
}
/**
* Set domain for this service instance. This should be a fully qualified
* domain, such as 'foo.example.com'.
*
* This value is used when calculating URLs for retrieving and posting
* entries. If no value is specified, a URL will have to be manually
* constructed prior to using any methods which interact with the Google
* Apps provisioning service.
*
* @param string $value The domain to be used for this session.
*/
public function setDomain($value)
{
$this->_domain = $value;
}
/**
* Get domain for this service instance. This should be a fully qualified
* domain, such as 'foo.example.com'. If no domain is set, null will be
* returned.
*
* @return string The domain to be used for this session, or null if not
* set.
*/
public function getDomain()
{
return $this->_domain;
}
/**
* Returns the base URL used to access the Google Apps service, based
* on the current domain. The current domain can be temporarily
* overridden by providing a fully qualified domain as $domain.
*
* @param string $domain (optional) A fully-qualified domain to use
* instead of the default domain for this service instance.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function getBaseUrl($domain = null)
{
if ($domain !== null) {
return self::APPS_BASE_FEED_URI . '/' . $domain;
} else if ($this->_domain !== null) {
return self::APPS_BASE_FEED_URI . '/' . $this->_domain;
} else {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Domain must be specified.');
}
}
/**
* Retrieve a UserFeed containing multiple UserEntry objects.
*
* @param mixed $location (optional) The location for the feed, as a URL
* or Query.
* @return Zend_Gdata_Gapps_UserFeed
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function getUserFeed($location = null)
{
if ($location === null) {
$uri = $this->getBaseUrl() . self::APPS_USER_PATH;
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_Gapps_UserFeed');
}
/**
* Retreive NicknameFeed object containing multiple NicknameEntry objects.
*
* @param mixed $location (optional) The location for the feed, as a URL
* or Query.
* @return Zend_Gdata_Gapps_NicknameFeed
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function getNicknameFeed($location = null)
{
if ($location === null) {
$uri = $this->getBaseUrl() . self::APPS_NICKNAME_PATH;
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_Gapps_NicknameFeed');
}
/**
* Retreive EmailListFeed object containing multiple EmailListEntry
* objects.
*
* @param mixed $location (optional) The location for the feed, as a URL
* or Query.
* @return Zend_Gdata_Gapps_EmailListFeed
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function getEmailListFeed($location = null)
{
if ($location === null) {
$uri = $this->getBaseUrl() . self::APPS_NICKNAME_PATH;
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_Gapps_EmailListFeed');
}
/**
* Retreive EmailListRecipientFeed object containing multiple
* EmailListRecipientEntry objects.
*
* @param mixed $location The location for the feed, as a URL or Query.
* @return Zend_Gdata_Gapps_EmailListRecipientFeed
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function getEmailListRecipientFeed($location)
{
if ($location === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Location must not be null');
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_Gapps_EmailListRecipientFeed');
}
/**
* Retreive a single UserEntry object.
*
* @param mixed $location The location for the feed, as a URL or Query.
* @return Zend_Gdata_Gapps_UserEntry
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function getUserEntry($location)
{
if ($location === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Location must not be null');
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getEntry($uri, 'Zend_Gdata_Gapps_UserEntry');
}
/**
* Retreive a single NicknameEntry object.
*
* @param mixed $location The location for the feed, as a URL or Query.
* @return Zend_Gdata_Gapps_NicknameEntry
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function getNicknameEntry($location)
{
if ($location === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Location must not be null');
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getEntry($uri, 'Zend_Gdata_Gapps_NicknameEntry');
}
/**
* Retreive a single EmailListEntry object.
*
* @param mixed $location The location for the feed, as a URL or Query.
* @return Zend_Gdata_Gapps_EmailListEntry
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function getEmailListEntry($location)
{
if ($location === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Location must not be null');
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getEntry($uri, 'Zend_Gdata_Gapps_EmailListEntry');
}
/**
* Retreive a single EmailListRecipientEntry object.
*
* @param mixed $location The location for the feed, as a URL or Query.
* @return Zend_Gdata_Gapps_EmailListRecipientEntry
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function getEmailListRecipientEntry($location)
{
if ($location === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Location must not be null');
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getEntry($uri, 'Zend_Gdata_Gapps_EmailListRecipientEntry');
}
/**
* Create a new user from a UserEntry.
*
* @param Zend_Gdata_Gapps_UserEntry $user The user entry to insert.
* @param string $uri (optional) The URI where the user should be
* uploaded to. If null, the default user creation URI for
* this domain will be used.
* @return Zend_Gdata_Gapps_UserEntry The inserted user entry as
* returned by the server.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function insertUser($user, $uri = null)
{
if ($uri === null) {
$uri = $this->getBaseUrl() . self::APPS_USER_PATH;
}
$newEntry = $this->insertEntry($user, $uri, 'Zend_Gdata_Gapps_UserEntry');
return $newEntry;
}
/**
* Create a new nickname from a NicknameEntry.
*
* @param Zend_Gdata_Gapps_NicknameEntry $nickname The nickname entry to
* insert.
* @param string $uri (optional) The URI where the nickname should be
* uploaded to. If null, the default nickname creation URI for
* this domain will be used.
* @return Zend_Gdata_Gapps_NicknameEntry The inserted nickname entry as
* returned by the server.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function insertNickname($nickname, $uri = null)
{
if ($uri === null) {
$uri = $this->getBaseUrl() . self::APPS_NICKNAME_PATH;
}
$newEntry = $this->insertEntry($nickname, $uri, 'Zend_Gdata_Gapps_NicknameEntry');
return $newEntry;
}
/**
* Create a new email list from an EmailListEntry.
*
* @param Zend_Gdata_Gapps_EmailListEntry $emailList The email list entry
* to insert.
* @param string $uri (optional) The URI where the email list should be
* uploaded to. If null, the default email list creation URI for
* this domain will be used.
* @return Zend_Gdata_Gapps_EmailListEntry The inserted email list entry
* as returned by the server.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function insertEmailList($emailList, $uri = null)
{
if ($uri === null) {
$uri = $this->getBaseUrl() . self::APPS_EMAIL_LIST_PATH;
}
$newEntry = $this->insertEntry($emailList, $uri, 'Zend_Gdata_Gapps_EmailListEntry');
return $newEntry;
}
/**
* Create a new email list recipient from an EmailListRecipientEntry.
*
* @param Zend_Gdata_Gapps_EmailListRecipientEntry $recipient The recipient
* entry to insert.
* @param string $uri (optional) The URI where the recipient should be
* uploaded to. If null, the default recipient creation URI for
* this domain will be used.
* @return Zend_Gdata_Gapps_EmailListRecipientEntry The inserted
* recipient entry as returned by the server.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function insertEmailListRecipient($recipient, $uri = null)
{
if ($uri === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'URI must not be null');
} elseif ($uri instanceof Zend_Gdata_Gapps_EmailListEntry) {
$uri = $uri->getLink('edit')->href;
}
$newEntry = $this->insertEntry($recipient, $uri, 'Zend_Gdata_Gapps_EmailListRecipientEntry');
return $newEntry;
}
/**
* Provides a magic factory method to instantiate new objects with
* shorter syntax than would otherwise be required by the Zend Framework
* naming conventions. For more information, see Zend_Gdata_App::__call().
*
* This overrides the default behavior of __call() so that query classes
* do not need to have their domain manually set when created with
* a magic factory method.
*
* @see Zend_Gdata_App::__call()
* @param string $method The method name being called
* @param array $args The arguments passed to the call
* @throws Zend_Gdata_App_Exception
*/
public function __call($method, $args) {
if (preg_match('/^new(\w+Query)/', $method, $matches)) {
$class = $matches[1];
$foundClassName = null;
foreach ($this->_registeredPackages as $name) {
try {
require_once 'Zend/Loader.php';
@Zend_Loader::loadClass("${name}_${class}");
$foundClassName = "${name}_${class}";
break;
} catch (Zend_Exception $e) {
// package wasn't here- continue searching
}
}
if ($foundClassName != null) {
$reflectionObj = new ReflectionClass($foundClassName);
// Prepend the domain to the query
$args = array_merge(array($this->getDomain()), $args);
return $reflectionObj->newInstanceArgs($args);
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception(
"Unable to find '${class}' in registered packages");
}
} else {
return parent::__call($method, $args);
}
}
// Convenience methods
// Specified at http://code.google.com/apis/apps/gdata_provisioning_api_v2.0_reference.html#appendix_e
/**
* Create a new user entry and send it to the Google Apps servers.
*
* @param string $username The username for the new user.
* @param string $givenName The given name for the new user.
* @param string $familyName The family name for the new user.
* @param string $password The password for the new user as a plaintext string
* (if $passwordHashFunction is null) or a SHA-1 hashed
* value (if $passwordHashFunction = 'SHA-1').
* @param string $quotaLimitInMB (optional) The quota limit for the new user in MB.
* @return Zend_Gdata_Gapps_UserEntry (optional) The new user entry as returned by
* server.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function createUser ($username, $givenName, $familyName, $password,
$passwordHashFunction = null, $quotaLimitInMB = null) {
$user = $this->newUserEntry();
$user->login = $this->newLogin();
$user->login->username = $username;
$user->login->password = $password;
$user->login->hashFunctionName = $passwordHashFunction;
$user->name = $this->newName();
$user->name->givenName = $givenName;
$user->name->familyName = $familyName;
if ($quotaLimitInMB !== null) {
$user->quota = $this->newQuota();
$user->quota->limit = $quotaLimitInMB;
}
return $this->insertUser($user);
}
/**
* Retrieve a user based on their username.
*
* @param string $username The username to search for.
* @return Zend_Gdata_Gapps_UserEntry The username to search for, or null
* if no match found.
* @throws Zend_Gdata_App_InvalidArgumentException
* @throws Zend_Gdata_App_HttpException
*/
public function retrieveUser ($username) {
$query = $this->newUserQuery($username);
try {
$user = $this->getUserEntry($query);
} catch (Zend_Gdata_Gapps_ServiceException $e) {
// Set the user to null if not found
if ($e->hasError(Zend_Gdata_Gapps_Error::ENTITY_DOES_NOT_EXIST)) {
$user = null;
} else {
throw $e;
}
}
return $user;
}
/**
* Retrieve a page of users in alphabetical order, starting with the
* provided username.
*
* @param string $startUsername (optional) The first username to retrieve.
* If null or not declared, the page will begin with the first
* user in the domain.
* @return Zend_Gdata_Gapps_UserFeed Collection of Zend_Gdata_UserEntry
* objects representing all users in the domain.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function retrievePageOfUsers ($startUsername = null) {
$query = $this->newUserQuery();
$query->setStartUsername($startUsername);
return $this->getUserFeed($query);
}
/**
* Retrieve all users in the current domain. Be aware that
* calling this function on a domain with many users will take a
* signifigant amount of time to complete. On larger domains this may
* may cause execution to timeout without proper precautions in place.
*
* @return Zend_Gdata_Gapps_UserFeed Collection of Zend_Gdata_UserEntry
* objects representing all users in the domain.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function retrieveAllUsers () {
return $this->retrieveAllEntriesForFeed($this->retrievePageOfUsers());
}
/**
* Overwrite a specified username with the provided UserEntry. The
* UserEntry does not need to contain an edit link.
*
* This method is provided for compliance with the Google Apps
* Provisioning API specification. Normally users will instead want to
* call UserEntry::save() instead.
*
* @see Zend_Gdata_App_Entry::save
* @param string $username The username whose data will be overwritten.
* @param Zend_Gdata_Gapps_UserEntry $userEntry The user entry which
* will be overwritten.
* @return Zend_Gdata_Gapps_UserEntry The UserEntry returned by the
* server.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function updateUser($username, $userEntry) {
return $this->updateEntry($userEntry, $this->getBaseUrl() .
self::APPS_USER_PATH . '/' . $username);
}
/**
* Mark a given user as suspended.
*
* @param string $username The username associated with the user who
* should be suspended.
* @return Zend_Gdata_Gapps_UserEntry The UserEntry for the modified
* user.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function suspendUser($username) {
$user = $this->retrieveUser($username);
$user->login->suspended = true;
return $user->save();
}
/**
* Mark a given user as not suspended.
*
* @param string $username The username associated with the user who
* should be restored.
* @return Zend_Gdata_Gapps_UserEntry The UserEntry for the modified
* user.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function restoreUser($username) {
$user = $this->retrieveUser($username);
$user->login->suspended = false;
return $user->save();
}
/**
* Delete a user by username.
*
* @param string $username The username associated with the user who
* should be deleted.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function deleteUser($username) {
$this->delete($this->getBaseUrl() . self::APPS_USER_PATH . '/' .
$username);
}
/**
* Create a nickname for a given user.
*
* @param string $username The username to which the new nickname should
* be associated.
* @param string $nickname The new nickname to be created.
* @return Zend_Gdata_Gapps_NicknameEntry The nickname entry which was
* created by the server.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function createNickname($username, $nickname) {
$entry = $this->newNicknameEntry();
$nickname = $this->newNickname($nickname);
$login = $this->newLogin($username);
$entry->nickname = $nickname;
$entry->login = $login;
return $this->insertNickname($entry);
}
/**
* Retrieve the entry for a specified nickname.
*
* @param string $nickname The nickname to be retrieved.
* @return Zend_Gdata_Gapps_NicknameEntry The requested nickname entry.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function retrieveNickname($nickname) {
$query = $this->newNicknameQuery();
$query->setNickname($nickname);
try {
$nickname = $this->getNicknameEntry($query);
} catch (Zend_Gdata_Gapps_ServiceException $e) {
// Set the nickname to null if not found
if ($e->hasError(Zend_Gdata_Gapps_Error::ENTITY_DOES_NOT_EXIST)) {
$nickname = null;
} else {
throw $e;
}
}
return $nickname;
}
/**
* Retrieve all nicknames associated with a specific username.
*
* @param string $username The username whose nicknames should be
* returned.
* @return Zend_Gdata_Gapps_NicknameFeed A feed containing all nicknames
* for the given user, or null if
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function retrieveNicknames($username) {
$query = $this->newNicknameQuery();
$query->setUsername($username);
$nicknameFeed = $this->retrieveAllEntriesForFeed(
$this->getNicknameFeed($query));
return $nicknameFeed;
}
/**
* Retrieve a page of nicknames in alphabetical order, starting with the
* provided nickname.
*
* @param string $startNickname (optional) The first nickname to
* retrieve. If null or not declared, the page will begin with
* the first nickname in the domain.
* @return Zend_Gdata_Gapps_NicknameFeed Collection of Zend_Gdata_NicknameEntry
* objects representing all nicknames in the domain.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function retrievePageOfNicknames ($startNickname = null) {
$query = $this->newNicknameQuery();
$query->setStartNickname($startNickname);
return $this->getNicknameFeed($query);
}
/**
* Retrieve all nicknames in the current domain. Be aware that
* calling this function on a domain with many nicknames will take a
* signifigant amount of time to complete. On larger domains this may
* may cause execution to timeout without proper precautions in place.
*
* @return Zend_Gdata_Gapps_NicknameFeed Collection of Zend_Gdata_NicknameEntry
* objects representing all nicknames in the domain.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function retrieveAllNicknames () {
return $this->retrieveAllEntriesForFeed($this->retrievePageOfNicknames());
}
/**
* Delete a specified nickname.
*
* @param string $nickname The name of the nickname to be deleted.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function deleteNickname($nickname) {
$this->delete($this->getBaseUrl() . self::APPS_NICKNAME_PATH . '/' . $nickname);
}
/**
* Create a new email list.
*
* @param string $emailList The name of the email list to be created.
* @return Zend_Gdata_Gapps_EmailListEntry The email list entry
* as created on the server.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function createEmailList($emailList) {
$entry = $this->newEmailListEntry();
$list = $this->newEmailList();
$list->name = $emailList;
$entry->emailList = $list;
return $this->insertEmailList($entry);
}
/**
* Retrieve all email lists associated with a recipient.
*
* @param string $username The recipient whose associated email lists
* should be returned.
* @return Zend_Gdata_Gapps_EmailListFeed The list of email lists found as
* Zend_Gdata_EmailListEntry objects.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function retrieveEmailLists($recipient) {
$query = $this->newEmailListQuery();
$query->recipient = $recipient;
return $this->getEmailListFeed($query);
}
/**
* Retrieve a page of email lists in alphabetical order, starting with the
* provided email list.
*
* @param string $startEmailListName (optional) The first list to
* retrieve. If null or not defined, the page will begin
* with the first email list in the domain.
* @return Zend_Gdata_Gapps_EmailListFeed Collection of Zend_Gdata_EmailListEntry
* objects representing all nicknames in the domain.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function retrievePageOfEmailLists ($startNickname = null) {
$query = $this->newEmailListQuery();
$query->setStartEmailListName($startNickname);
return $this->getEmailListFeed($query);
}
/**
* Retrieve all email lists associated with the curent domain. Be aware that
* calling this function on a domain with many email lists will take a
* signifigant amount of time to complete. On larger domains this may
* may cause execution to timeout without proper precautions in place.
*
* @return Zend_Gdata_Gapps_EmailListFeed The list of email lists found
* as Zend_Gdata_Gapps_EmailListEntry objects.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function retrieveAllEmailLists() {
return $this->retrieveAllEntriesForFeed($this->retrievePageOfEmailLists());
}
/**
* Delete a specified email list.
*
* @param string $emailList The name of the emailList to be deleted.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function deleteEmailList($emailList) {
$this->delete($this->getBaseUrl() . self::APPS_EMAIL_LIST_PATH . '/'
. $emailList);
}
/**
* Add a specified recipient to an existing emailList.
*
* @param string $recipientAddress The address of the recipient to be
* added to the email list.
* @param string $emailList The name of the email address to which the
* recipient should be added.
* @return Zend_Gdata_Gapps_EmailListRecipientEntry The recipient entry
* created by the server.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function addRecipientToEmailList($recipientAddress, $emailList) {
$entry = $this->newEmailListRecipientEntry();
$who = $this->newWho();
$who->email = $recipientAddress;
$entry->who = $who;
$address = $this->getBaseUrl() . self::APPS_EMAIL_LIST_PATH . '/' .
$emailList . self::APPS_EMAIL_LIST_RECIPIENT_POSTFIX . '/';
return $this->insertEmailListRecipient($entry, $address);
}
/**
* Retrieve a page of email list recipients in alphabetical order,
* starting with the provided email list recipient.
*
* @param string $emaiList The email list which should be searched.
* @param string $startRecipient (optinal) The address of the first
* recipient, or null to start with the first recipient in
* the list.
* @return Zend_Gdata_Gapps_EmailListRecipientFeed Collection of
* Zend_Gdata_EmailListRecipientEntry objects representing all
* recpients in the specified list.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function retrievePageOfRecipients ($emailList,
$startRecipient = null) {
$query = $this->newEmailListRecipientQuery();
$query->setEmailListName($emailList);
$query->setStartRecipient($startRecipient);
return $this->getEmailListRecipientFeed($query);
}
/**
* Retrieve all recipients associated with an email list. Be aware that
* calling this function on a domain with many email lists will take a
* signifigant amount of time to complete. On larger domains this may
* may cause execution to timeout without proper precautions in place.
*
* @param string $emaiList The email list which should be searched.
* @return Zend_Gdata_Gapps_EmailListRecipientFeed The list of email lists
* found as Zend_Gdata_Gapps_EmailListRecipientEntry objects.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function retrieveAllRecipients($emailList) {
return $this->retrieveAllEntriesForFeed(
$this->retrievePageOfRecipients($emailList));
}
/**
* Remove a specified recipient from an email list.
*
* @param string $recipientAddress The recipient to be removed.
* @param string $emailList The list from which the recipient should
* be removed.
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_Gapps_ServiceException
*/
public function removeRecipientFromEmailList($recipientAddress, $emailList) {
$this->delete($this->getBaseUrl() . self::APPS_EMAIL_LIST_PATH . '/'
. $emailList . self::APPS_EMAIL_LIST_RECIPIENT_POSTFIX . '/'
. $recipientAddress);
}
}
AuthSub.php 0000604 00000021745 15071215231 0006632 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* Zend_Gdata_HttpClient
*/
require_once 'Zend/Gdata/HttpClient.php';
/**
* Zend_Version
*/
require_once 'Zend/Version.php';
/**
* Wrapper around Zend_Http_Client to facilitate Google's "Account Authentication
* Proxy for Web-Based Applications".
*
* @see http://code.google.com/apis/accounts/AuthForWebApps.html
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_AuthSub
{
const AUTHSUB_REQUEST_URI = 'https://www.google.com/accounts/AuthSubRequest';
const AUTHSUB_SESSION_TOKEN_URI = 'https://www.google.com/accounts/AuthSubSessionToken';
const AUTHSUB_REVOKE_TOKEN_URI = 'https://www.google.com/accounts/AuthSubRevokeToken';
const AUTHSUB_TOKEN_INFO_URI = 'https://www.google.com/accounts/AuthSubTokenInfo';
/**
* Creates a URI to request a single-use AuthSub token.
*
* @param string $next (required) URL identifying the service to be
* accessed.
* The resulting token will enable access to the specified service only.
* Some services may limit scope further, such as read-only access.
* @param string $scope (required) URL identifying the service to be
* accessed. The resulting token will enable
* access to the specified service only.
* Some services may limit scope further, such
* as read-only access.
* @param int $secure (optional) Boolean flag indicating whether the
* authentication transaction should issue a secure
* token (1) or a non-secure token (0). Secure tokens
* are available to registered applications only.
* @param int $session (optional) Boolean flag indicating whether
* the one-time-use token may be exchanged for
* a session token (1) or not (0).
* @param string $request_uri (optional) URI to which to direct the
* authentication request.
*/
public static function getAuthSubTokenUri($next, $scope, $secure=0, $session=0,
$request_uri = self::AUTHSUB_REQUEST_URI)
{
$querystring = '?next=' . urlencode($next)
. '&scope=' . urldecode($scope)
. '&secure=' . urlencode($secure)
. '&session=' . urlencode($session);
return $request_uri . $querystring;
}
/**
* Upgrades a single use token to a session token
*
* @param string $token The single use token which is to be upgraded
* @param Zend_Http_Client $client (optional) HTTP client to use to
* make the request
* @param string $request_uri (optional) URI to which to direct
* the session token upgrade
* @return string The upgraded token value
* @throws Zend_Gdata_App_AuthException
* @throws Zend_Gdata_App_HttpException
*/
public static function getAuthSubSessionToken(
$token, $client = null,
$request_uri = self::AUTHSUB_SESSION_TOKEN_URI)
{
$client = self::getHttpClient($token, $client);
if ($client instanceof Zend_Gdata_HttpClient) {
$filterResult = $client->filterHttpRequest('GET', $request_uri);
$url = $filterResult['url'];
$headers = $filterResult['headers'];
$client->setHeaders($headers);
$client->setUri($url);
} else {
$client->setUri($request_uri);
}
try {
$response = $client->request('GET');
} catch (Zend_Http_Client_Exception $e) {
require_once 'Zend/Gdata/App/HttpException.php';
throw new Zend_Gdata_App_HttpException($e->getMessage(), $e);
}
// Parse Google's response
if ($response->isSuccessful()) {
$goog_resp = array();
foreach (explode("\n", $response->getBody()) as $l) {
$l = chop($l);
if ($l) {
list($key, $val) = explode('=', chop($l), 2);
$goog_resp[$key] = $val;
}
}
return $goog_resp['Token'];
} else {
require_once 'Zend/Gdata/App/AuthException.php';
throw new Zend_Gdata_App_AuthException(
'Token upgrade failed. Reason: ' . $response->getBody());
}
}
/**
* Revoke a token
*
* @param string $token The token to revoke
* @param Zend_Http_Client $client (optional) HTTP client to use to make the request
* @param string $request_uri (optional) URI to which to direct the revokation request
* @return boolean Whether the revokation was successful
* @throws Zend_Gdata_App_HttpException
*/
public static function AuthSubRevokeToken($token, $client = null,
$request_uri = self::AUTHSUB_REVOKE_TOKEN_URI)
{
$client = self::getHttpClient($token, $client);
if ($client instanceof Zend_Gdata_HttpClient) {
$filterResult = $client->filterHttpRequest('GET', $request_uri);
$url = $filterResult['url'];
$headers = $filterResult['headers'];
$client->setHeaders($headers);
$client->setUri($url);
$client->resetParameters();
} else {
$client->setUri($request_uri);
}
ob_start();
try {
$response = $client->request('GET');
} catch (Zend_Http_Client_Exception $e) {
require_once 'Zend/Gdata/App/HttpException.php';
throw new Zend_Gdata_App_HttpException($e->getMessage(), $e);
}
ob_end_clean();
// Parse Google's response
if ($response->isSuccessful()) {
return true;
} else {
return false;
}
}
/**
* get token information
*
* @param string $token The token to retrieve information about
* @param Zend_Http_Client $client (optional) HTTP client to use to
* make the request
* @param string $request_uri (optional) URI to which to direct
* the information request
*/
public static function getAuthSubTokenInfo(
$token, $client = null, $request_uri = self::AUTHSUB_TOKEN_INFO_URI)
{
$client = self::getHttpClient($token, $client);
if ($client instanceof Zend_Gdata_HttpClient) {
$filterResult = $client->filterHttpRequest('GET', $request_uri);
$url = $filterResult['url'];
$headers = $filterResult['headers'];
$client->setHeaders($headers);
$client->setUri($url);
} else {
$client->setUri($request_uri);
}
ob_start();
try {
$response = $client->request('GET');
} catch (Zend_Http_Client_Exception $e) {
require_once 'Zend/Gdata/App/HttpException.php';
throw new Zend_Gdata_App_HttpException($e->getMessage(), $e);
}
ob_end_clean();
return $response->getBody();
}
/**
* Retrieve a HTTP client object with AuthSub credentials attached
* as the Authorization header
*
* @param string $token The token to retrieve information about
* @param Zend_Gdata_HttpClient $client (optional) HTTP client to use to make the request
*/
public static function getHttpClient($token, $client = null)
{
if ($client == null) {
$client = new Zend_Gdata_HttpClient();
}
if (!$client instanceof Zend_Http_Client) {
require_once 'Zend/Gdata/App/HttpException.php';
throw new Zend_Gdata_App_HttpException('Client is not an instance of Zend_Http_Client.');
}
$useragent = 'Zend_Framework_Gdata/' . Zend_Version::VERSION;
$client->setConfig(array(
'strictredirects' => true,
'useragent' => $useragent
)
);
$client->setAuthSubToken($token);
return $client;
}
}
HttpClient.php 0000604 00000020540 15071215231 0007325 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* Zend_Exception
*/
require_once 'Zend/Exception.php';
/**
* Zend_Http_Client
*/
require_once 'Zend/Http/Client.php';
/**
* Gdata Http Client object.
*
* Class to extend the generic Zend Http Client with the ability to perform
* secure AuthSub requests
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_HttpClient extends Zend_Http_Client
{
/**
* OpenSSL private key resource id
* This key is used for AuthSub authentication. If this value is set,
* it is assuemd that secure AuthSub is desired.
*
* @var resource
*/
private $_authSubPrivateKeyId = null;
/**
* Token for AuthSub authentication.
* If this token is set, AuthSub authentication is used.
*
* @var string
*/
private $_authSubToken = null;
/**
* Token for ClientLogin authentication.
* If only this token is set, ClientLogin authentication is used.
*
* @var string
*/
private $_clientLoginToken = null;
/**
* Token for ClientLogin authentication.
* If this token is set, and the AuthSub key is not set,
* ClientLogin authentication is used
*
* @var string
*/
private $_clientLoginKey = null;
/**
* Sets the PEM formatted private key, as read from a file.
*
* This method reads the file and then calls setAuthSubPrivateKey()
* with the file contents.
*
* @param string $file The location of the file containing the PEM key
* @param string $passphrase The optional private key passphrase
* @param bool $useIncludePath Whether to search the include_path
* for the file
* @return void
*/
public function setAuthSubPrivateKeyFile($file, $passphrase = null,
$useIncludePath = false) {
$fp = fopen($file, "r", $useIncludePath);
$key = '';
while (!feof($fp)) {
$key .= fread($fp, 8192);
}
$this->setAuthSubPrivateKey($key, $passphrase);
fclose($fp);
}
/**
* Sets the PEM formatted private key to be used for secure AuthSub auth.
*
* In order to call this method, openssl must be enabled in your PHP
* installation. Otherwise, a Zend_Gdata_App_InvalidArgumentException
* will be thrown.
*
* @param string $key The private key
* @param string $passphrase The optional private key passphrase
* @throws Zend_Gdata_App_InvalidArgumentException
* @return Zend_Gdata_HttpClient Provides a fluent interface
*/
public function setAuthSubPrivateKey($key, $passphrase = null) {
if ($key != null && !function_exists('openssl_pkey_get_private')) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'You cannot enable secure AuthSub if the openssl module ' .
'is not enabled in your PHP installation.');
}
$this->_authSubPrivateKeyId = openssl_pkey_get_private(
$key, $passphrase);
return $this;
}
/**
* Gets the openssl private key id
*
* @return string The private key
*/
public function getAuthSubPrivateKeyId() {
return $this->_authSubPrivateKeyId;
}
/**
* Gets the AuthSub token used for authentication
*
* @return string The token
*/
public function getAuthSubToken() {
return $this->_authSubToken;
}
/**
* Sets the AuthSub token used for authentication
*
* @param string $token The token
* @return Zend_Gdata_HttpClient Provides a fluent interface
*/
public function setAuthSubToken($token) {
$this->_authSubToken = $token;
return $this;
}
/**
* Gets the ClientLogin token used for authentication
*
* @return string The token
*/
public function getClientLoginToken() {
return $this->_clientLoginToken;
}
/**
* Sets the ClientLogin token used for authentication
*
* @param string $token The token
* @return Zend_Gdata_HttpClient Provides a fluent interface
*/
public function setClientLoginToken($token) {
$this->_clientLoginToken = $token;
return $this;
}
/**
* Filters the HTTP requests being sent to add the Authorization header.
*
* If both AuthSub and ClientLogin tokens are set,
* AuthSub takes precedence. If an AuthSub key is set, then
* secure AuthSub authentication is used, and the request is signed.
* Requests must be signed only with the private key corresponding to the
* public key registered with Google. If an AuthSub key is set, but
* openssl support is not enabled in the PHP installation, an exception is
* thrown.
*
* @param string $method The HTTP method
* @param string $url The URL
* @param array $headers An associate array of headers to be
* sent with the request or null
* @param string $body The body of the request or null
* @param string $contentType The MIME content type of the body or null
* @throws Zend_Gdata_App_Exception if there was a signing failure
* @return array The processed values in an associative array,
* using the same names as the params
*/
public function filterHttpRequest($method, $url, $headers = array(), $body = null, $contentType = null) {
if ($this->getAuthSubToken() != null) {
// AuthSub authentication
if ($this->getAuthSubPrivateKeyId() != null) {
// secure AuthSub
$time = time();
$nonce = mt_rand(0, 999999999);
$dataToSign = $method . ' ' . $url . ' ' . $time . ' ' . $nonce;
// compute signature
$pKeyId = $this->getAuthSubPrivateKeyId();
$signSuccess = openssl_sign($dataToSign, $signature, $pKeyId,
OPENSSL_ALGO_SHA1);
if (!$signSuccess) {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception(
'openssl_signing failure - returned false');
}
// encode signature
$encodedSignature = base64_encode($signature);
// final header
$headers['authorization'] = 'AuthSub token="' . $this->getAuthSubToken() . '" ' .
'data="' . $dataToSign . '" ' .
'sig="' . $encodedSignature . '" ' .
'sigalg="rsa-sha1"';
} else {
// AuthSub without secure tokens
$headers['authorization'] = 'AuthSub token="' . $this->getAuthSubToken() . '"';
}
} elseif ($this->getClientLoginToken() != null) {
$headers['authorization'] = 'GoogleLogin auth=' . $this->getClientLoginToken();
}
return array('method' => $method, 'url' => $url, 'body' => $body, 'headers' => $headers, 'contentType' => $contentType);
}
/**
* Method for filtering the HTTP response, though no filtering is
* currently done.
*
* @param Zend_Http_Response $response The response object to filter
* @return Zend_Http_Response The filterd response object
*/
public function filterHttpResponse($response) {
return $response;
}
}
Gbase.php 0000604 00000013723 15071215231 0006275 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @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
*/
require_once 'Zend/Gdata.php';
/**
* @see Zend_Gdata_Gbase_ItemFeed
*/
require_once 'Zend/Gdata/Gbase/ItemFeed.php';
/**
* @see Zend_Gdata_Gbase_ItemEntry
*/
require_once 'Zend/Gdata/Gbase/ItemEntry.php';
/**
* @see Zend_Gdata_Gbase_SnippetEntry
*/
require_once 'Zend/Gdata/Gbase/SnippetEntry.php';
/**
* @see Zend_Gdata_Gbase_SnippetFeed
*/
require_once 'Zend/Gdata/Gbase/SnippetFeed.php';
/**
* Service class for interacting with the Google Base data API
*
* @link http://code.google.com/apis/base
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @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_Gbase extends Zend_Gdata
{
/**
* Path to the customer items feeds on the Google Base server.
*/
const GBASE_ITEM_FEED_URI = 'http://www.google.com/base/feeds/items';
/**
* Path to the snippets feeds on the Google Base server.
*/
const GBASE_SNIPPET_FEED_URI = 'http://www.google.com/base/feeds/snippets';
/**
* Authentication service name for Google Base
*/
const AUTH_SERVICE_NAME = 'gbase';
/**
* The default URI for POST methods
*
* @var string
*/
protected $_defaultPostUri = self::GBASE_ITEM_FEED_URI;
/**
* Namespaces used for Zend_Gdata_Gbase
*
* @var array
*/
public static $namespaces = array(
array('g', 'http://base.google.com/ns/1.0', 1, 0),
array('batch', 'http://schemas.google.com/gdata/batch', 1, 0)
);
/**
* Create Zend_Gdata_Gbase object
*
* @param Zend_Http_Client $client (optional) The HTTP client to use when
* when communicating with the Google Apps servers.
* @param string $applicationId The identity of the app in the form of Company-AppName-Version
*/
public function __construct($client = null, $applicationId = 'MyCompany-MyApp-1.0')
{
$this->registerPackage('Zend_Gdata_Gbase');
$this->registerPackage('Zend_Gdata_Gbase_Extension');
parent::__construct($client, $applicationId);
$this->_httpClient->setParameterPost('service', self::AUTH_SERVICE_NAME);
}
/**
* Retreive feed object
*
* @param mixed $location The location for the feed, as a URL or Query
* @return Zend_Gdata_Gbase_ItemFeed
*/
public function getGbaseItemFeed($location = null)
{
if ($location === null) {
$uri = self::GBASE_ITEM_FEED_URI;
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_Gbase_ItemFeed');
}
/**
* Retreive entry object
*
* @param mixed $location The location for the feed, as a URL or Query
* @return Zend_Gdata_Gbase_ItemEntry
*/
public function getGbaseItemEntry($location = null)
{
if ($location === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Location must not be null');
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getEntry($uri, 'Zend_Gdata_Gbase_ItemEntry');
}
/**
* Insert an entry
*
* @param Zend_Gdata_Gbase_ItemEntry $entry The Base entry to upload
* @param boolean $dryRun Flag for the 'dry-run' parameter
* @return Zend_Gdata_Gbase_ItemFeed
*/
public function insertGbaseItem($entry, $dryRun = false)
{
if ($dryRun == false) {
$uri = $this->_defaultPostUri;
} else {
$uri = $this->_defaultPostUri . '?dry-run=true';
}
$newitem = $this->insertEntry($entry, $uri, 'Zend_Gdata_Gbase_ItemEntry');
return $newitem;
}
/**
* Update an entry
*
* @param Zend_Gdata_Gbase_ItemEntry $entry The Base entry to be updated
* @param boolean $dryRun Flag for the 'dry-run' parameter
* @return Zend_Gdata_Gbase_ItemEntry
*/
public function updateGbaseItem($entry, $dryRun = false)
{
$returnedEntry = $entry->save($dryRun);
return $returnedEntry;
}
/**
* Delete an entry
*
* @param Zend_Gdata_Gbase_ItemEntry $entry The Base entry to remove
* @param boolean $dryRun Flag for the 'dry-run' parameter
* @return Zend_Gdata_Gbase_ItemFeed
*/
public function deleteGbaseItem($entry, $dryRun = false)
{
$entry->delete($dryRun);
return $this;
}
/**
* Retrieve feed object
*
* @param mixed $location The location for the feed, as a URL or Query
* @return Zend_Gdata_Gbase_SnippetFeed
*/
public function getGbaseSnippetFeed($location = null)
{
if ($location === null) {
$uri = self::GBASE_SNIPPET_FEED_URI;
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_Gbase_SnippetFeed');
}
}
Geo/Entry.php 0000604 00000004754 15071215231 0007073 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Geo
* @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_Geo
*/
require_once 'Zend/Gdata/Geo.php';
/**
* @see Zend_Gdata_Geo_Extension_GeoRssWhere
*/
require_once 'Zend/Gdata/Geo/Extension/GeoRssWhere.php';
/**
* An Atom entry containing Geograpic data.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Geo
* @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_Geo_Entry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_Geo_Entry';
protected $_where = null;
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Geo::$namespaces);
parent::__construct($element);
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_where != null) {
$element->appendChild($this->_where->getDOM($element->ownerDocument));
}
return $element;
}
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('georss') . ':' . 'where':
$where = new Zend_Gdata_Geo_Extension_GeoRssWhere();
$where->transferFromDOM($child);
$this->_where = $where;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
public function getWhere()
{
return $this->_where;
}
public function setWhere($value)
{
$this->_where = $value;
return $this;
}
}
Geo/Extension/GmlPoint.php 0000604 00000007440 15071215231 0011472 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Geo
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Geo
*/
require_once 'Zend/Gdata/Geo.php';
/**
* @see Zend_Gdata_Geo_Extension_GmlPos
*/
require_once 'Zend/Gdata/Geo/Extension/GmlPos.php';
/**
* Represents the gml:point element used by the Gdata Geo extensions.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Geo
* @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_Geo_Extension_GmlPoint extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gml';
protected $_rootElement = 'Point';
/**
* The position represented by this GmlPoint
*
* @var Zend_Gdata_Geo_Extension_GmlPos
*/
protected $_pos = null;
/**
* Create a new instance.
*
* @param Zend_Gdata_Geo_Extension_GmlPos $pos (optional) Pos to which this
* object should be initialized.
*/
public function __construct($pos = null)
{
$this->registerAllNamespaces(Zend_Gdata_Geo::$namespaces);
parent::__construct();
$this->setPos($pos);
}
/**
* 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->_pos !== null) {
$element->appendChild($this->_pos->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('gml') . ':' . 'pos';
$pos = new Zend_Gdata_Geo_Extension_GmlPos();
$pos->transferFromDOM($child);
$this->_pos = $pos;
break;
}
}
/**
* Get the value for this element's pos attribute.
*
* @see setPos
* @return Zend_Gdata_Geo_Extension_GmlPos The requested attribute.
*/
public function getPos()
{
return $this->_pos;
}
/**
* Set the value for this element's distance attribute.
*
* @param Zend_Gdata_Geo_Extension_GmlPos $value The desired value for this attribute
* @return Zend_Gdata_Geo_Extension_GmlPoint Provides a fluent interface
*/
public function setPos($value)
{
$this->_pos = $value;
return $this;
}
}
Geo/Extension/GeoRssWhere.php 0000604 00000007526 15071215231 0012143 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Geo
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Geo
*/
require_once 'Zend/Gdata/Geo.php';
/**
* @see Zend_Gdata_Geo_Extension_GmlPoint
*/
require_once 'Zend/Gdata/Geo/Extension/GmlPoint.php';
/**
* Represents the georss:where element used by the Gdata Geo extensions.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Geo
* @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_Geo_Extension_GeoRssWhere extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'georss';
protected $_rootElement = 'where';
/**
* The point location for this geo element
*
* @var Zend_Gdata_Geo_Extension_GmlPoint
*/
protected $_point = null;
/**
* Create a new instance.
*
* @param Zend_Gdata_Geo_Extension_GmlPoint $point (optional) Point to which
* object should be initialized.
*/
public function __construct($point = null)
{
$this->registerAllNamespaces(Zend_Gdata_Geo::$namespaces);
parent::__construct();
$this->setPoint($point);
}
/**
* 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->_point !== null) {
$element->appendChild($this->_point->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('gml') . ':' . 'Point';
$point = new Zend_Gdata_Geo_Extension_GmlPoint();
$point->transferFromDOM($child);
$this->_point = $point;
break;
}
}
/**
* Get the value for this element's point attribute.
*
* @see setPoint
* @return Zend_Gdata_Geo_Extension_GmlPoint The requested attribute.
*/
public function getPoint()
{
return $this->_point;
}
/**
* Set the value for this element's point attribute.
*
* @param Zend_Gdata_Geo_Extension_GmlPoint $value The desired value for this attribute.
* @return Zend_Gdata_Geo_Extension_GeoRssWhere Provides a fluent interface
*/
public function setPoint($value)
{
$this->_point = $value;
return $this;
}
}
Geo/Extension/GmlPos.php 0000604 00000003163 15071215231 0011140 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Geo
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Geo
*/
require_once 'Zend/Gdata/Geo.php';
/**
* Represents the gml:pos element used by the Gdata Geo extensions.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Geo
* @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_Geo_Extension_GmlPos extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gml';
protected $_rootElement = 'pos';
/**
* Constructs a new Zend_Gdata_Geo_Extension_GmlPos object.
*
* @param string $text (optional) The value to use for this element.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Geo::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Geo/Feed.php 0000604 00000003043 15071215231 0006623 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Geo
* @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_eed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* @see Zend_Gdata_Geo
*/
require_once 'Zend/Gdata/Geo.php';
/**
* @see Zend_Gdata_Geo_Entry
*/
require_once 'Zend/Gdata/Geo/Entry.php';
/**
* Feed for Gdata Geographic data entries.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Geo
* @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_Geo_Feed extends Zend_Gdata_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Geo_Entry';
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Geo::$namespaces);
parent::__construct($element);
}
}
Extension/Visibility.php 0000604 00000006712 15071215231 0011357 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Data model class to represent an entry's visibility
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension_Visibility extends Zend_Gdata_Extension
{
protected $_rootElement = 'visibility';
protected $_value = null;
/**
* Constructs a new Zend_Gdata_Extension_Visibility object.
* @param bool $value (optional) Visibility value as URI.
*/
public function __construct($value = null)
{
parent::__construct();
$this->_value = $value;
}
/**
* 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->_value !== null) {
$element->setAttribute('value', $this->_value);
}
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 'value':
$this->_value = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's Value attribute.
*
* @return bool The requested attribute.
*/
public function getValue()
{
return $this->_value;
}
/**
* Set the value for this element's Value attribute.
*
* @param bool $value The desired value for this attribute.
* @return Zend_Gdata_Extension_Visibility The element being modified.
*/
public function setValue($value)
{
$this->_value = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*/
public function __toString()
{
return $this->getValue();
}
}
Extension/Where.php 0000604 00000010630 15071215231 0010274 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Extension_EntryLink
*/
require_once 'Zend/Gdata/Extension/EntryLink.php';
/**
* Data model class to represent a location (gd:where element)
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension_Where extends Zend_Gdata_Extension
{
protected $_rootElement = 'where';
protected $_label = null;
protected $_rel = null;
protected $_valueString = null;
protected $_entryLink = null;
public function __construct($valueString = null, $label = null, $rel = null, $entryLink = null)
{
parent::__construct();
$this->_valueString = $valueString;
$this->_label = $label;
$this->_rel = $rel;
$this->_entryLink = $entryLink;
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_label !== null) {
$element->setAttribute('label', $this->_label);
}
if ($this->_rel !== null) {
$element->setAttribute('rel', $this->_rel);
}
if ($this->_valueString !== null) {
$element->setAttribute('valueString', $this->_valueString);
}
if ($this->entryLink !== null) {
$element->appendChild($this->_entryLink->getDOM($element->ownerDocument));
}
return $element;
}
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'label':
$this->_label = $attribute->nodeValue;
break;
case 'rel':
$this->_rel = $attribute->nodeValue;
break;
case 'valueString':
$this->_valueString = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* 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') . ':' . 'entryLink':
$entryLink = new Zend_Gdata_Extension_EntryLink();
$entryLink->transferFromDOM($child);
$this->_entryLink = $entryLink;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
public function __toString()
{
if ($this->_valueString != null) {
return $this->_valueString;
}
else {
return parent::__toString();
}
}
public function getLabel()
{
return $this->_label;
}
public function setLabel($value)
{
$this->_label = $value;
return $this;
}
public function getRel()
{
return $this->_rel;
}
public function setRel($value)
{
$this->_rel = $value;
return $this;
}
public function getValueString()
{
return $this->_valueString;
}
public function setValueString($value)
{
$this->_valueString = $value;
return $this;
}
public function getEntryLink()
{
return $this->_entryLink;
}
public function setEntryLink($value)
{
$this->_entryLink = $value;
return $this;
}
}
Extension/Comments.php 0000604 00000006037 15071215231 0011015 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Extension_FeedLink
*/
require_once 'Zend/Gdata/Extension/FeedLink.php';
/**
* Represents the gd:comments element
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension_Comments extends Zend_Gdata_Extension
{
protected $_rootElement = 'comments';
protected $_rel = null;
protected $_feedLink = null;
public function __construct($rel = null, $feedLink = null)
{
parent::__construct();
$this->_rel = $rel;
$this->_feedLink = $feedLink;
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_rel !== null) {
$element->setAttribute('rel', $this->_rel);
}
if ($this->_feedLink !== null) {
$element->appendChild($this->_feedLink->getDOM($element->ownerDocument));
}
return $element;
}
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;
}
}
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'rel':
$this->_rel = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
public function getRel()
{
return $this->_rel;
}
public function setRel($value)
{
$this->_rel = $value;
return $this;
}
public function getFeedLink()
{
return $this->_feedLink;
}
public function setFeedLink($value)
{
$this->_feedLink = $value;
return $this;
}
}
Extension/AttendeeType.php 0000604 00000006754 15071215231 0011631 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Data model class to represent an attendee's type (gd:attendeeType)
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension_AttendeeType extends Zend_Gdata_Extension
{
protected $_rootElement = 'attendeeType';
protected $_value = null;
/**
* Constructs a new Zend_Gdata_Extension_AttendeeType object.
* @param string $value (optional) This entry's 'value' attribute.
*/
public function __construct($value = null)
{
parent::__construct();
$this->_value = $value;
}
/**
* 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->_value !== null) {
$element->setAttribute('value', $this->_value);
}
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 'value':
$this->_value = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's Value attribute.
*
* @return string The requested attribute.
*/
public function getValue()
{
return $this->_value;
}
/**
* Set the value for this element's Value attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Extension_Visibility The element being modified.
*/
public function setValue($value)
{
$this->_value = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*/
public function __toString()
{
return $this->getValue();
}
}
Extension/ExtendedProperty.php 0000604 00000005260 15071215231 0012532 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Data model for gd:extendedProperty element, used by some Gdata
* services to implement arbitrary name/value pair storage
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension_ExtendedProperty extends Zend_Gdata_Extension
{
protected $_rootElement = 'extendedProperty';
protected $_name = null;
protected $_value = null;
public function __construct($name = null, $value = null)
{
parent::__construct();
$this->_name = $name;
$this->_value = $value;
}
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->_value !== null) {
$element->setAttribute('value', $this->_value);
}
return $element;
}
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'name':
$this->_name = $attribute->nodeValue;
break;
case 'value':
$this->_value = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
public function __toString()
{
return $this->getName() . '=' . $this->getValue();
}
public function getName()
{
return $this->_name;
}
public function setName($value)
{
$this->_name = $value;
return $this;
}
public function getValue()
{
return $this->_value;
}
public function setValue($value)
{
$this->_value = $value;
return $this;
}
}
Extension/Rating.php 0000604 00000015261 15071215231 0010453 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Implements the gd:rating element
*
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension_Rating extends Zend_Gdata_Extension
{
protected $_rootElement = 'rating';
protected $_min = null;
protected $_max = null;
protected $_numRaters = null;
protected $_average = null;
protected $_value = null;
/**
* Constructs a new Zend_Gdata_Extension_Rating object.
*
* @param integer $average (optional) Average rating.
* @param integer $min (optional) Minimum rating.
* @param integer $max (optional) Maximum rating.
* @param integer $numRaters (optional) Number of raters.
* @param integer $value (optional) The value of the rating.
*/
public function __construct($average = null, $min = null,
$max = null, $numRaters = null, $value = null)
{
parent::__construct();
$this->_average = $average;
$this->_min = $min;
$this->_max = $max;
$this->_numRaters = $numRaters;
$this->_value = $value;
}
/**
* 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->_min !== null) {
$element->setAttribute('min', $this->_min);
}
if ($this->_max !== null) {
$element->setAttribute('max', $this->_max);
}
if ($this->_numRaters !== null) {
$element->setAttribute('numRaters', $this->_numRaters);
}
if ($this->_average !== null) {
$element->setAttribute('average', $this->_average);
}
if ($this->_value !== null) {
$element->setAttribute('value', $this->_value);
}
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 'min':
$this->_min = $attribute->nodeValue;
break;
case 'max':
$this->_max = $attribute->nodeValue;
break;
case 'numRaters':
$this->_numRaters = $attribute->nodeValue;
break;
case 'average':
$this->_average = $attribute->nodeValue;
break;
case 'value':
$this->_value = $atttribute->nodeValue;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's min attribute.
*
* @return integer The requested attribute.
*/
public function getMin()
{
return $this->_min;
}
/**
* Set the value for this element's min attribute.
*
* @param bool $value The desired value for this attribute.
* @return Zend_Gdata_Extension_Rating The element being modified.
*/
public function setMin($value)
{
$this->_min = $value;
return $this;
}
/**
* Get the value for this element's numRaters attribute.
*
* @return integer The requested attribute.
*/
public function getNumRaters()
{
return $this->_numRaters;
}
/**
* Set the value for this element's numRaters attribute.
*
* @param bool $value The desired value for this attribute.
* @return Zend_Gdata_Extension_Rating The element being modified.
*/
public function setNumRaters($value)
{
$this->_numRaters = $value;
return $this;
}
/**
* Get the value for this element's average attribute.
*
* @return integer The requested attribute.
*/
public function getAverage()
{
return $this->_average;
}
/**
* Set the value for this element's average attribute.
*
* @param bool $value The desired value for this attribute.
* @return Zend_Gdata_Extension_Rating The element being modified.
*/
public function setAverage($value)
{
$this->_average = $value;
return $this;
}
/**
* Get the value for this element's max attribute.
*
* @return integer The requested attribute.
*/
public function getMax()
{
return $this->_max;
}
/**
* Set the value for this element's max attribute.
*
* @param bool $value The desired value for this attribute.
* @return Zend_Gdata_Extension_Rating The element being modified.
*/
public function setMax($value)
{
$this->_max = $value;
return $this;
}
/**
* Get the value for this element's value attribute.
*
* @return integer The requested attribute.
*/
public function getValue()
{
return $this->_value;
}
/**
* Set the value for this element's value attribute.
*
* @param bool $value The desired value for this attribute.
* @return Zend_Gdata_Extension_Rating The element being modified.
*/
public function setValue($value)
{
$this->_value = $value;
return $this;
}
}
Extension/AttendeeStatus.php 0000604 00000006757 15071215231 0012176 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Data model class to represent an attendee's status (gd:attendeeStatus)
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension_AttendeeStatus extends Zend_Gdata_Extension
{
protected $_rootElement = 'attendeeStatus';
protected $_value = null;
/**
* Constructs a new Zend_Gdata_Extension_AttendeeStatus object.
* @param string $value (optional) Visibility value as URI.
*/
public function __construct($value = null)
{
parent::__construct();
$this->_value = $value;
}
/**
* 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->_value !== null) {
$element->setAttribute('value', $this->_value);
}
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 'value':
$this->_value = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's Value attribute.
*
* @return string The requested attribute.
*/
public function getValue()
{
return $this->_value;
}
/**
* Set the value for this element's Value attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Extension_Visibility The element being modified.
*/
public function setValue($value)
{
$this->_value = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*/
public function __toString()
{
return $this->getValue();
}
}
Extension/Who.php 0000604 00000021777 15071215231 0007775 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Extension_AttendeeStatus
*/
require_once 'Zend/Gdata/Extension/AttendeeStatus.php';
/**
* @see Zend_Gdata_Extension_AttendeeType
*/
require_once 'Zend/Gdata/Extension/AttendeeType.php';
/**
* @see Zend_Gdata_Extension_EntryLink
*/
require_once 'Zend/Gdata/Extension/EntryLink.php';
/**
* Data model class to represent a participant
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension_Who extends Zend_Gdata_Extension
{
protected $_rootElement = 'who';
protected $_email = null;
protected $_rel = null;
protected $_valueString = null;
protected $_attendeeStatus = null;
protected $_attendeeType = null;
protected $_entryLink = null;
/**
* Constructs a new Zend_Gdata_Extension_Who object.
* @param string $email (optional) Email address.
* @param string $rel (optional) Relationship description.
* @param string $valueString (optional) Simple string describing this person.
* @param Zend_Gdata_Extension_AttendeeStatus $attendeeStatus (optional) The status of the attendee.
* @param Zend_Gdata_Extension_AttendeeType $attendeeType (optional) The type of the attendee.
* @param string $entryLink URL pointing to an associated entry (Contact kind) describing this person.
*/
public function __construct($email = null, $rel = null, $valueString = null,
$attendeeStatus = null, $attendeeType = null, $entryLink = null)
{
parent::__construct();
$this->_email = $email;
$this->_rel = $rel;
$this->_valueString = $valueString;
$this->_attendeeStatus = $attendeeStatus;
$this->_attendeeType = $attendeeType;
$this->_entryLink = $entryLink;
}
/**
* 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->_email !== null) {
$element->setAttribute('email', $this->_email);
}
if ($this->_rel !== null) {
$element->setAttribute('rel', $this->_rel);
}
if ($this->_valueString !== null) {
$element->setAttribute('valueString', $this->_valueString);
}
if ($this->_attendeeStatus !== null) {
$element->appendChild($this->_attendeeStatus->getDOM($element->ownerDocument));
}
if ($this->_attendeeType !== null) {
$element->appendChild($this->_attendeeType->getDOM($element->ownerDocument));
}
if ($this->_entryLink !== null) {
$element->appendChild($this->_entryLink->getDOM($element->ownerDocument));
}
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 'email':
$this->_email = $attribute->nodeValue;
break;
case 'rel':
$this->_rel = $attribute->nodeValue;
break;
case 'valueString':
$this->_valueString = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* 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('gd') . ':' . 'attendeeStatus':
$attendeeStatus = new Zend_Gdata_Extension_AttendeeStatus();
$attendeeStatus->transferFromDOM($child);
$this->_attendeeStatus = $attendeeStatus;
break;
case $this->lookupNamespace('gd') . ':' . 'attendeeType':
$attendeeType = new Zend_Gdata_Extension_AttendeeType();
$attendeeType->transferFromDOM($child);
$this->_attendeeType = $attendeeType;
break;
case $this->lookupNamespace('gd') . ':' . 'entryLink':
$entryLink = new Zend_Gdata_Extension_EntryLink();
$entryLink->transferFromDOM($child);
$this->_entryLink = $entryLink;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Retrieves a human readable string describing this attribute's value.
*
* @return string The attribute value.
*/
public function __toString()
{
if ($this->_valueString != null) {
return $this->_valueString;
}
else {
return parent::__toString();
}
}
/**
* Get the value for this element's ValueString attribute.
*
* @return string The requested attribute.
*/
public function getValueString()
{
return $this->_valueString;
}
/**
* Set the value for this element's ValueString attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Extension_Who The element being modified.
*/
public function setValueString($value)
{
$this->_valueString = $value;
return $this;
}
/**
* Get the value for this element's Email attribute.
*
* @return string The requested attribute.
*/
public function getEmail()
{
return $this->_email;
}
/**
* Set the value for this element's Email attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Extension_Who The element being modified.
*/
public function setEmail($value)
{
$this->_email = $value;
return $this;
}
/**
* Get the value for this element's Rel attribute.
*
* @return string The requested attribute.
*/
public function getRel()
{
return $this->_rel;
}
/**
* Set the value for this element's Rel attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Extension_Who The element being modified.
*/
public function setRel($value)
{
$this->_rel = $value;
return $this;
}
/**
* Get this entry's AttendeeStatus element.
*
* @return Zend_Gdata_Extension_AttendeeStatus The requested entry.
*/
public function getAttendeeStatus()
{
return $this->_attendeeStatus;
}
/**
* Set the child's AttendeeStatus element.
*
* @param Zend_Gdata_Extension_AttendeeStatus $value The desired value for this attribute.
* @return Zend_Gdata_Extension_Who The element being modified.
*/
public function setAttendeeStatus($value)
{
$this->_attendeeStatus = $value;
return $this;
}
/**
* Get this entry's AttendeeType element.
*
* @return Zend_Gdata_Extension_AttendeeType The requested entry.
*/
public function getAttendeeType()
{
return $this->_attendeeType;
}
/**
* Set the child's AttendeeType element.
*
* @param Zend_Gdata_Extension_AttendeeType $value The desired value for this attribute.
* @return Zend_Gdata_Extension_Who The element being modified.
*/
public function setAttendeeType($value)
{
$this->_attendeeType = $value;
return $this;
}
}
Extension/OpenSearchItemsPerPage.php 0000604 00000002532 15071215231 0013521 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the openSearch:itemsPerPage element
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension_OpenSearchItemsPerPage extends Zend_Gdata_Extension
{
protected $_rootElement = 'itemsPerPage';
protected $_rootNamespace = 'openSearch';
public function __construct($text = null)
{
parent::__construct();
$this->_text = $text;
}
}
Extension/FeedLink.php 0000604 00000011027 15071215231 0010704 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* Represents the gd:feedLink element
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension_FeedLink extends Zend_Gdata_Extension
{
protected $_rootElement = 'feedLink';
protected $_countHint = null;
protected $_href = null;
protected $_readOnly = null;
protected $_rel = null;
protected $_feed = null;
public function __construct($href = null, $rel = null,
$countHint = null, $readOnly = null, $feed = null)
{
parent::__construct();
$this->_countHint = $countHint;
$this->_href = $href;
$this->_readOnly = $readOnly;
$this->_rel = $rel;
$this->_feed = $feed;
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_countHint !== null) {
$element->setAttribute('countHint', $this->_countHint);
}
if ($this->_href !== null) {
$element->setAttribute('href', $this->_href);
}
if ($this->_readOnly !== null) {
$element->setAttribute('readOnly', ($this->_readOnly ? "true" : "false"));
}
if ($this->_rel !== null) {
$element->setAttribute('rel', $this->_rel);
}
if ($this->_feed !== null) {
$element->appendChild($this->_feed->getDOM($element->ownerDocument));
}
return $element;
}
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('atom') . ':' . 'feed';
$feed = new Zend_Gdata_Feed();
$feed->transferFromDOM($child);
$this->_feed = $feed;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'countHint':
$this->_countHint = $attribute->nodeValue;
break;
case 'href':
$this->_href = $attribute->nodeValue;
break;
case 'readOnly':
if ($attribute->nodeValue == "true") {
$this->_readOnly = true;
}
else if ($attribute->nodeValue == "false") {
$this->_readOnly = false;
}
else {
throw new Zend_Gdata_App_InvalidArgumentException("Expected 'true' or 'false' for gCal:selected#value.");
}
break;
case 'rel':
$this->_rel = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return string
*/
public function getHref()
{
return $this->_href;
}
public function setHref($value)
{
$this->_href = $value;
return $this;
}
public function getReadOnly()
{
return $this->_readOnly;
}
public function setReadOnly($value)
{
$this->_readOnly = $value;
return $this;
}
public function getRel()
{
return $this->_rel;
}
public function setRel($value)
{
$this->_rel = $value;
return $this;
}
public function getFeed()
{
return $this->_feed;
}
public function setFeed($value)
{
$this->_feed = $value;
return $this;
}
}
Extension/RecurrenceException.php 0000604 00000015463 15071215231 0013207 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Extension_EntryLink
*/
require_once 'Zend/Gdata/Extension/EntryLink.php';
/**
* @see Zend_Gdata_Extension_OriginalEvent
*/
require_once 'Zend/Gdata/Extension/OriginalEvent.php';
/**
* Data model class to represent an entry's recurrenceException
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension_RecurrenceException extends Zend_Gdata_Extension
{
protected $_rootElement = 'recurrenceException';
protected $_specialized = null;
protected $_entryLink = null;
protected $_originalEvent = null;
/**
* Constructs a new Zend_Gdata_Extension_RecurrenceException object.
* @param bool $specialized (optional) Whether this is a specialized exception or not.
* @param Zend_Gdata_EntryLink (optional) An Event entry with details about the exception.
* @param Zend_Gdata_OriginalEvent (optional) The origianl recurrent event this is an exeption to.
*/
public function __construct($specialized = null, $entryLink = null,
$originalEvent = null)
{
parent::__construct();
$this->_specialized = $specialized;
$this->_entryLink = $entryLink;
$this->_originalEvent = $originalEvent;
}
/**
* 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->_specialized !== null) {
$element->setAttribute('specialized', ($this->_specialized ? "true" : "false"));
}
if ($this->_entryLink !== null) {
$element->appendChild($this->_entryLink->getDOM($element->ownerDocument));
}
if ($this->_originalEvent !== null) {
$element->appendChild($this->_originalEvent->getDOM($element->ownerDocument));
}
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 'specialized':
if ($attribute->nodeValue == "true") {
$this->_specialized = true;
}
else if ($attribute->nodeValue == "false") {
$this->_specialized = false;
}
else {
throw new Zend_Gdata_App_InvalidArgumentException("Expected 'true' or 'false' for gCal:selected#value.");
}
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* 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('gd') . ':' . 'entryLink':
$entryLink = new Zend_Gdata_Extension_EntryLink();
$entryLink->transferFromDOM($child);
$this->_entryLink = $entryLink;
break;
case $this->lookupNamespace('gd') . ':' . 'originalEvent':
$originalEvent = new Zend_Gdata_Extension_OriginalEvent();
$originalEvent->transferFromDOM($child);
$this->_originalEvent = $originalEvent;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Get the value for this element's Specialized attribute.
*
* @return bool The requested attribute.
*/
public function getSpecialized()
{
return $this->_specialized;
}
/**
* Set the value for this element's Specialized attribute.
*
* @param bool $value The desired value for this attribute.
* @return Zend_Gdata_Extension_RecurrenceException The element being modified.
*/
public function setSpecialized($value)
{
$this->_specialized = $value;
return $this;
}
/**
* Get the value for this element's EntryLink attribute.
*
* @return Zend_Gdata_Extension_EntryLink The requested attribute.
*/
public function getEntryLink()
{
return $this->_entryLink;
}
/**
* Set the value for this element's EntryLink attribute.
*
* @param Zend_Gdata_Extension_EntryLink $value The desired value for this attribute.
* @return Zend_Gdata_Extension_RecurrenceException The element being modified.
*/
public function setEntryLink($value)
{
$this->_entryLink = $value;
return $this;
}
/**
* Get the value for this element's Specialized attribute.
*
* @return Zend_Gdata_Extension_OriginalEvent The requested attribute.
*/
public function getOriginalEvent()
{
return $this->_originalEvent;
}
/**
* Set the value for this element's Specialized attribute.
*
* @param Zend_Gdata_Extension_OriginalEvent $value The desired value for this attribute.
* @return Zend_Gdata_Extension_RecurrenceException The element being modified.
*/
public function setOriginalEvent($value)
{
$this->_originalEvent = $value;
return $this;
}
}
Extension/Recurrence.php 0000604 00000002424 15071215231 0011321 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the gd:recurrence element
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension_Recurrence extends Zend_Gdata_Extension
{
protected $_rootElement = 'recurrence';
public function __construct($text = null)
{
parent::__construct();
$this->_text = $text;
}
}
Extension/OpenSearchStartIndex.php 0000604 00000002523 15071215231 0013261 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the openSeach:startIndex element
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension_OpenSearchStartIndex extends Zend_Gdata_Extension
{
protected $_rootElement = 'startIndex';
protected $_rootNamespace = 'openSearch';
public function __construct($text = null)
{
parent::__construct();
$this->_text = $text;
}
}
Extension/Reminder.php 0000604 00000010616 15071215231 0010773 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Implements the gd:reminder element used to set/retrieve notifications
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension_Reminder extends Zend_Gdata_Extension
{
protected $_rootElement = 'reminder';
protected $_absoluteTime = null;
protected $_method = null;
protected $_days = null;
protected $_hours = null;
protected $_minutes = null;
public function __construct($absoluteTime = null, $method = null, $days = null,
$hours = null, $minutes = null)
{
parent::__construct();
$this->_absoluteTime = $absoluteTime;
$this->_method = $method;
$this->_days = $days;
$this->_hours = $hours;
$this->_minutes = $minutes;
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_absoluteTime !== null) {
$element->setAttribute('absoluteTime', $this->_absoluteTime);
}
if ($this->_method !== null) {
$element->setAttribute('method', $this->_method);
}
if ($this->_days !== null) {
$element->setAttribute('days', $this->_days);
}
if ($this->_hours !== null) {
$element->setAttribute('hours', $this->_hours);
}
if ($this->_minutes !== null) {
$element->setAttribute('minutes', $this->_minutes);
}
return $element;
}
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'absoluteTime':
$this->_absoluteTime = $attribute->nodeValue;
break;
case 'method':
$this->_method = $attribute->nodeValue;
break;
case 'days':
$this->_days = $attribute->nodeValue;
break;
case 'hours':
$this->_hours = $attribute->nodeValue;
break;
case 'minutes':
$this->_minutes = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
public function __toString()
{
$s;
if ($absoluteTime)
$s = "at" . $absoluteTime;
else if ($days)
$s = "in" . $days . "days";
else if ($hours)
$s = "in" . $hours . "hours";
else if ($minutes)
$s = "in" . $minutes . "minutes";
return $method . $s;
}
public function getAbsoluteTime()
{
return $this->_absoluteTime;
}
public function setAbsoluteTime($value)
{
$this->_absoluteTime = $value;
return $this;
}
public function getDays()
{
return $this->_days;
}
public function setDays($value)
{
$this->_days = $value;
return $this;
}
public function getHours()
{
return $this->_hours;
}
public function setHours($value)
{
$this->_hours = $value;
return $this;
}
public function getMinutes()
{
return $this->_minutes;
}
public function setMinutes($value)
{
$this->_minutes = $value;
return $this;
}
public function getMethod()
{
return $this->_method;
}
public function setMethod($value)
{
$this->_method = $value;
return $this;
}
}
Extension/EventStatus.php 0000604 00000005116 15071215231 0011512 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the gd:eventStatus element
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension_EventStatus extends Zend_Gdata_Extension
{
protected $_rootElement = 'eventStatus';
protected $_value = null;
public function __construct($value = null)
{
parent::__construct();
$this->_value = $value;
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_value !== null) {
$element->setAttribute('value', $this->_value);
}
return $element;
}
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'value':
$this->_value = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's Value attribute.
*
* @return string The requested attribute.
*/
public function getValue()
{
return $this->_value;
}
/**
* Set the value for this element's Value attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Extension_Visibility The element being modified.
*/
public function setValue($value)
{
$this->_value = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*/
public function __toString()
{
return $this->getValue();
}
}
Extension/When.php 0000604 00000010741 15071215231 0010126 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Extension_Reminder
*/
require_once 'Zend/Gdata/Extension/Reminder.php';
/**
* Represents the gd:when element
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension_When extends Zend_Gdata_Extension
{
protected $_rootElement = 'when';
protected $_reminders = array();
protected $_startTime = null;
protected $_valueString = null;
protected $_endTime = null;
public function __construct($startTime = null, $endTime = null,
$valueString = null, $reminders = null)
{
parent::__construct();
$this->_startTime = $startTime;
$this->_endTime = $endTime;
$this->_valueString = $valueString;
$this->_reminders = $reminders;
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_startTime !== null) {
$element->setAttribute('startTime', $this->_startTime);
}
if ($this->_endTime !== null) {
$element->setAttribute('endTime', $this->_endTime);
}
if ($this->_valueString !== null) {
$element->setAttribute('valueString', $this->_valueString);
}
if ($this->_reminders !== null) {
foreach ($this->_reminders as $reminder) {
$element->appendChild(
$reminder->getDOM($element->ownerDocument));
}
}
return $element;
}
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('gd') . ':' . 'reminder';
$reminder = new Zend_Gdata_Extension_Reminder();
$reminder->transferFromDOM($child);
$this->_reminders[] = $reminder;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'startTime':
$this->_startTime = $attribute->nodeValue;
break;
case 'endTime':
$this->_endTime = $attribute->nodeValue;
break;
case 'valueString':
$this->_valueString = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
public function __toString()
{
if ($valueString)
return $valueString;
else {
return 'Starts: ' . $this->getStartTime() . ' ' .
'Ends: ' . $this->getEndTime();
}
}
public function getStartTime()
{
return $this->_startTime;
}
public function setStartTime($value)
{
$this->_startTime = $value;
return $this;
}
public function getEndTime()
{
return $this->_endTime;
}
public function setEndTime($value)
{
$this->_endTime = $value;
return $this;
}
public function getValueString()
{
return $this->_valueString;
}
public function setValueString($value)
{
$this->_valueString = $value;
return $this;
}
public function getReminders()
{
return $this->_reminders;
}
public function setReminders($value)
{
$this->_reminders = $value;
return $this;
}
}
Extension/Transparency.php 0000604 00000006725 15071215231 0011705 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Data model class to represent an entry's transparency
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension_Transparency extends Zend_Gdata_Extension
{
protected $_rootElement = 'transparency';
protected $_value = null;
/**
* Constructs a new Zend_Gdata_Extension_Transparency object.
* @param bool $value (optional) Transparency value as URI
*/
public function __construct($value = null)
{
parent::__construct();
$this->_value = $value;
}
/**
* 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->_value !== null) {
$element->setAttribute('value', $this->_value);
}
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 'value':
$this->_value = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's Value attribute.
*
* @return bool The requested attribute.
*/
public function getValue()
{
return $this->_value;
}
/**
* Set the value for this element's Value attribute.
*
* @param bool $value The desired value for this attribute.
* @return Zend_Gdata_Extension_Transparency The element being modified.
*/
public function setValue($value)
{
$this->_value = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*/
public function __toString()
{
return $this->getValue();
}
}
Extension/OpenSearchTotalResults.php 0000604 00000002532 15071215231 0013641 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the openSearch:totalResults element
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension_OpenSearchTotalResults extends Zend_Gdata_Extension
{
protected $_rootElement = 'totalResults';
protected $_rootNamespace = 'openSearch';
public function __construct($text = null)
{
parent::__construct();
$this->_text = $text;
}
}
Extension/OriginalEvent.php 0000604 00000006703 15071215231 0011776 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* @see Zend_Gdata_When
*/
require_once 'Zend/Gdata/Extension/When.php';
/**
* Represents the gd:originalEvent element
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension_OriginalEvent extends Zend_Gdata_Extension
{
protected $_rootElement = 'originalEvent';
protected $_id = null;
protected $_href = null;
protected $_when = null;
public function __construct($id = null, $href = null, $when = null)
{
parent::__construct();
$this->_id = $id;
$this->_href = $href;
$this->_when = $when;
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_id !== null) {
$element->setAttribute('id', $this->_id);
}
if ($this->_href !== null) {
$element->setAttribute('href', $this->_href);
}
if ($this->_when !== null) {
$element->appendChild($this->_when->getDOM($element->ownerDocument));
}
return $element;
}
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'id':
$this->_id = $attribute->nodeValue;
break;
case 'href':
$this->_href = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('gd') . ':' . 'when';
$when = new Zend_Gdata_Extension_When();
$when->transferFromDOM($child);
$this->_when = $when;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
public function getId()
{
return $this->_id;
}
public function setId($value)
{
$this->_id = $value;
return $this;
}
public function getHref()
{
return $this->_href;
}
public function setHref($value)
{
$this->_href = $value;
return $this;
}
public function getWhen()
{
return $this->_when;
}
public function setWhen($value)
{
$this->_when = $value;
return $this;
}
}
Extension/EntryLink.php 0000604 00000010363 15071215231 0011144 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Entry
*/
require_once 'Zend/Gdata/Entry.php';
/**
* Represents the gd:entryLink element
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Extension_EntryLink extends Zend_Gdata_Extension
{
protected $_rootElement = 'entryLink';
protected $_href = null;
protected $_readOnly = null;
protected $_rel = null;
protected $_entry = null;
public function __construct($href = null, $rel = null,
$readOnly = null, $entry = null)
{
parent::__construct();
$this->_href = $href;
$this->_readOnly = $readOnly;
$this->_rel = $rel;
$this->_entry = $entry;
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_href !== null) {
$element->setAttribute('href', $this->_href);
}
if ($this->_readOnly !== null) {
$element->setAttribute('readOnly', ($this->_readOnly ? "true" : "false"));
}
if ($this->_rel !== null) {
$element->setAttribute('rel', $this->_rel);
}
if ($this->_entry !== null) {
$element->appendChild($this->_entry->getDOM($element->ownerDocument));
}
return $element;
}
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('atom') . ':' . 'entry';
$entry = new Zend_Gdata_Entry();
$entry->transferFromDOM($child);
$this->_entry = $entry;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'href':
$this->_href = $attribute->nodeValue;
break;
case 'readOnly':
if ($attribute->nodeValue == "true") {
$this->_readOnly = true;
}
else if ($attribute->nodeValue == "false") {
$this->_readOnly = false;
}
else {
throw new Zend_Gdata_App_InvalidArgumentException("Expected 'true' or 'false' for gCal:selected#value.");
}
break;
case 'rel':
$this->_rel = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return string
*/
public function getHref()
{
return $this->_href;
}
public function setHref($value)
{
$this->_href = $value;
return $this;
}
public function getReadOnly()
{
return $this->_readOnly;
}
public function setReadOnly($value)
{
$this->_readOnly = $value;
return $this;
}
public function getRel()
{
return $this->_rel;
}
public function setRel($value)
{
$this->_rel = $value;
return $this;
}
public function getEntry()
{
return $this->_entry;
}
public function setEntry($value)
{
$this->_entry = $value;
return $this;
}
}
Health/ProfileEntry.php 0000604 00000007777 15071215231 0011117 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Health
* @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_Health_Extension_Ccr
*/
require_once 'Zend/Gdata/Health/Extension/Ccr.php';
/**
* Concrete class for working with Health profile entries.
*
* @link http://code.google.com/apis/health/
*
* @category Zend
* @package Zend_Gdata
* @subpackage Health
* @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_Health_ProfileEntry extends Zend_Gdata_Entry
{
/**
* The classname for individual profile entry elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Health_ProfileEntry';
/**
* Google Health CCR data
*
* @var Zend_Gdata_Health_Extension_Ccr
*/
protected $_ccrData = null;
/**
* Constructs a new Zend_Gdata_Health_ProfileEntry object.
* @param DOMElement $element (optional) The DOMElement on which to base this object.
*/
public function __construct($element = null)
{
foreach (Zend_Gdata_Health::$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 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->_ccrData !== null) {
$element->appendChild($this->_ccrData->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;
if (strstr($absoluteNodeName, $this->lookupNamespace('ccr') . ':')) {
$ccrElement = new Zend_Gdata_Health_Extension_Ccr();
$ccrElement->transferFromDOM($child);
$this->_ccrData = $ccrElement;
} else {
parent::takeChildFromDOM($child);
}
}
/**
* Sets the profile entry's CCR data
* @param string $ccrXMLStr The CCR as an xml string
* @return Zend_Gdata_Health_Extension_Ccr
*/
public function setCcr($ccrXMLStr) {
$ccrElement = null;
if ($ccrXMLStr != null) {
$ccrElement = new Zend_Gdata_Health_Extension_Ccr();
$ccrElement->transferFromXML($ccrXMLStr);
$this->_ccrData = $ccrElement;
}
return $ccrElement;
}
/**
* Returns all the CCR data in a profile entry
* @return Zend_Gdata_Health_Extension_Ccr
*/
public function getCcr() {
return $this->_ccrData;
}
}
Health/ProfileFeed.php 0000604 00000003533 15071215231 0010643 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Health
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* Represents a Google Health user's Profile Feed
*
* @link http://code.google.com/apis/health/
*
* @category Zend
* @package Zend_Gdata
* @subpackage Health
* @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_Health_ProfileFeed extends Zend_Gdata_Feed
{
/**
* The class name for individual profile feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Health_ProfileEntry';
/**
* Creates a Health Profile feed, representing a user's Health profile
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
foreach (Zend_Gdata_Health::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
parent::__construct($element);
}
public function getEntries()
{
return $this->entry;
}
}
Health/Extension/Ccr.php 0000604 00000010253 15071215231 0011137 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Health
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: Ccr.php 13122 2008-12-10 02:45:49Z tjohns $
*/
/**
* @see Zend_Gdata_App_Extension_Element
*/
require_once 'Zend/Gdata/App/Extension/Element.php';
/**
* Concrete class for working with CCR elements.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Health
* @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_Health_Extension_Ccr extends Zend_Gdata_App_Extension_Element
{
protected $_rootNamespace = 'ccr';
protected $_rootElement = 'ContinuityOfCareRecord';
protected $_ccrDom = null;
/**
* Creates a Zend_Gdata_Health_Extension_Ccr entry, representing CCR data
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
foreach (Zend_Gdata_Health::$namespaces as $nsPrefix => $nsUri) {
$this->registerNamespace($nsPrefix, $nsUri);
}
}
/**
* Transfers each child and attribute into member variables.
* This is called when XML is received over the wire and the data
* model needs to be built to represent this XML.
*
* @param DOMNode $node The DOMNode that represents this object's data
*/
public function transferFromDOM($node)
{
$this->_ccrDom = $node;
}
/**
* 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)
{
if (is_null($doc)) {
$doc = new DOMDocument('1.0', 'utf-8');
}
$domElement = $doc->importNode($this->_ccrDom, true);
return $domElement;
}
/**
* Magic helper that allows drilling down and returning specific elements
* in the CCR. For example, to retrieve the users medications
* (/ContinuityOfCareRecord/Body/Medications) from the entry's CCR, call
* $entry->getCcr()->getMedications(). Similarly, getConditions() would
* return extract the user's conditions.
*
* @param string $name Name of the function to call
* @return array.<DOMElement> A list of the appropriate CCR data
*/
public function __call($name, $args)
{
$matches = array();
if (substr($name, 0, 3) === 'get') {
$category = substr($name, 3);
switch ($category) {
case 'Conditions':
$category = 'Problems';
break;
case 'Allergies':
$category = 'Alerts';
break;
case 'TestResults':
// TestResults is an alias for LabResults
case 'LabResults':
$category = 'Results';
break;
default:
// $category is already well formatted
}
return $this->_ccrDom->getElementsByTagNameNS($this->lookupNamespace('ccr'), $category);
} else {
return null;
}
}
}
Health/ProfileListFeed.php 0000604 00000002636 15071215231 0011502 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Health
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* Represents a Google Health user's Profile List Feed
*
* @link http://code.google.com/apis/health/
*
* @category Zend
* @package Zend_Gdata
* @subpackage Health
* @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_Health_ProfileListFeed extends Zend_Gdata_Feed
{
/**
* The class name for individual profile feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Health_ProfileListEntry';
public function getEntries()
{
return $this->entry;
}
}
Health/Query.php 0000604 00000020565 15071215231 0007570 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Health
* @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_Query
*/
require_once('Zend/Gdata/Query.php');
/**
* Assists in constructing queries for Google Health
*
* @link http://code.google.com/apis/health
*
* @category Zend
* @package Zend_Gdata
* @subpackage Health
* @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_Health_Query extends Zend_Gdata_Query
{
/**
* URI of a user's profile feed.
*/
const HEALTH_PROFILE_FEED_URI =
'https://www.google.com/health/feeds/profile/default';
/**
* URI of register (notices) feed.
*/
const HEALTH_REGISTER_FEED_URI =
'https://www.google.com/health/feeds/register/default';
/**
* Namespace for an item category
*/
const ITEM_CATEGORY_NS = 'http://schemas.google.com/health/item';
/**
* The default URI for POST methods
*
* @var string
*/
protected $_defaultFeedUri = self::HEALTH_PROFILE_FEED_URI;
/**
* Sets the digest parameter's value.
*
* @param string $value
* @return Zend_Gdata_Health_Query Provides a fluent interface
*/
public function setDigest($value)
{
if ($value !== null) {
$this->_params['digest'] = $value;
}
return $this;
}
/**
* Returns the digest parameter's value.
*
* @return string The value set for the digest parameter.
*/
public function getDigest()
{
if (array_key_exists('digest', $this->_params)) {
return $this->_params['digest'];
} else {
return null;
}
}
/**
* Setter for category queries.
*
* @param string $item A category to query.
* @param string $name (optional) A specific item to search a category for.
* An example would be 'Lipitor' if $item is set to 'medication'.
* @return Zend_Gdata_Health_Query Provides a fluent interface
*/
public function setCategory($item, $name = null)
{
$this->_category = $item .
($name ? '/' . urlencode('{' . self::ITEM_CATEGORY_NS . '}' . $name) : null);
return $this;
}
/**
* Returns the query object's category.
*
* @return string id
*/
public function getCategory()
{
return $this->_category;
}
/**
* Setter for the grouped parameter.
*
* @param string $value setting a count of results per group.
* @return Zend_Gdata_Health_Query Provides a fluent interface
*/
public function setGrouped($value)
{
if ($value !== null) {
$this->_params['grouped'] = $value;
}
return $this;
}
/**
* Returns the value set for the grouped parameter.
*
* @return string grouped parameter.
*/
public function getGrouped()
{
if (array_key_exists('grouped', $this->_params)) {
return $this->_params['grouped'];
} else {
return null;
}
}
/**
* Setter for the max-results-group parameter.
*
* @param int $value Specifies the maximum number of groups to be
* retrieved. Must be an integer value greater than zero. This parameter
* is only valid if grouped=true.
* @return Zend_Gdata_Health_Query Provides a fluent interface
*/
public function setMaxResultsGroup($value)
{
if ($value !== null) {
if ($value <= 0 || $this->getGrouped() !== 'true') {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'The max-results-group parameter must be set to a value
greater than 0 and can only be used if grouped=true');
} else {
$this->_params['max-results-group'] = $value;
}
}
return $this;
}
/**
* Returns the value set for max-results-group.
*
* @return int Returns max-results-group parameter.
*/
public function getMaxResultsGroup()
{
if (array_key_exists('max-results-group', $this->_params)) {
return $this->_params['max-results-group'];
} else {
return null;
}
}
/**
* Setter for the max-results-group parameter.
*
* @param int $value Specifies the maximum number of records to be
* retrieved from each group. The limits that you specify with this
* parameter apply to all groups. Must be an integer value greater than
* zero. This parameter is only valid if grouped=true.
* @return Zend_Gdata_Health_Query Provides a fluent interface
*/
public function setMaxResultsInGroup($value)
{
if ($value !== null) {
if ($value <= 0 || $this->getGrouped() !== 'true') {
throw new Zend_Gdata_App_InvalidArgumentException(
'The max-results-in-group parameter must be set to a value
greater than 0 and can only be used if grouped=true');
} else {
$this->_params['max-results-in-group'] = $value;
}
}
return $this;
}
/**
* Returns the value set for max-results-in-group.
*
* @return int Returns max-results-in-group parameter.
*/
public function getMaxResultsInGroup()
{
if (array_key_exists('max-results-in-group', $this->_params)) {
return $this->_params['max-results-in-group'];
} else {
return null;
}
}
/**
* Setter for the start-index-group parameter.
*
* @param int $value Retrieves only items whose group ranking is at
* least start-index-group. This should be set to a 1-based index of the
* first group to be retrieved. The range is applied per category.
* This parameter is only valid if grouped=true.
* @return Zend_Gdata_Health_Query Provides a fluent interface
*/
public function setStartIndexGroup($value)
{
if ($value !== null && $this->getGrouped() !== 'true') {
throw new Zend_Gdata_App_InvalidArgumentException(
'The start-index-group can only be used if grouped=true');
} else {
$this->_params['start-index-group'] = $value;
}
return $this;
}
/**
* Returns the value set for start-index-group.
*
* @return int Returns start-index-group parameter.
*/
public function getStartIndexGroup()
{
if (array_key_exists('start-index-group', $this->_params)) {
return $this->_params['start-index-group'];
} else {
return null;
}
}
/**
* Setter for the start-index-in-group parameter.
*
* @param int $value A 1-based index of the records to be retrieved from
* each group. This parameter is only valid if grouped=true.
* @return Zend_Gdata_Health_Query Provides a fluent interface
*/
public function setStartIndexInGroup($value)
{
if ($value !== null && $this->getGrouped() !== 'true') {
throw new Zend_Gdata_App_InvalidArgumentException('start-index-in-group');
} else {
$this->_params['start-index-in-group'] = $value;
}
return $this;
}
/**
* Returns the value set for start-index-in-group.
*
* @return int Returns start-index-in-group parameter.
*/
public function getStartIndexInGroup()
{
if (array_key_exists('start-index-in-group', $this->_params)) {
return $this->_params['start-index-in-group'];
} else {
return null;
}
}
}
Health/ProfileListEntry.php 0000604 00000005722 15071215231 0011737 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Health
* @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';
/**
* Concrete class for working with Health profile list entries.
*
* @link http://code.google.com/apis/health/
*
* @category Zend
* @package Zend_Gdata
* @subpackage Health
* @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_Health_ProfileListEntry extends Zend_Gdata_Entry
{
/**
* The classname for individual profile list entry elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Health_ProfileListEntry';
/**
* Constructs a new Zend_Gdata_Health_ProfileListEntry object.
* @param DOMElement $element (optional) The DOMElement on which to base this object.
*/
public function __construct($element = null)
{
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);
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)
{
parent::takeChildFromDOM($child);
}
/**
* Retrieves the profile ID for the entry, which is contained in <atom:content>
* @return string The profile id
*/
public function getProfileID() {
return $this->getContent()->text;
}
/**
* Retrieves the profile's title, which is contained in <atom:title>
* @return string The profile name
*/
public function getProfileName() {
return $this->getTitle()->text;
}
}
Media/Entry.php 0000604 00000007403 15071215231 0007372 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Entry
*/
require_once 'Zend/Gdata/Entry.php';
/**
* @see Zend_Gdata_Media
*/
require_once 'Zend/Gdata/Media.php';
/**
* @see Zend_Gdata_Media_Extension_MediaGroup
*/
require_once 'Zend/Gdata/Media/Extension/MediaGroup.php';
/**
* Represents the Gdata flavor of an Atom entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_Media_Entry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_Media_Entry';
/**
* media:group element
*
* @var Zend_Gdata_Media_Extension_MediaGroup
*/
protected $_mediaGroup = null;
/**
* Create a new instance.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct($element);
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for 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->_mediaGroup != null) {
$element->appendChild($this->_mediaGroup->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('media') . ':' . 'group':
$mediaGroup = new Zend_Gdata_Media_Extension_MediaGroup();
$mediaGroup->transferFromDOM($child);
$this->_mediaGroup = $mediaGroup;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Returns the entry's mediaGroup object.
*
* @return Zend_Gdata_Media_Extension_MediaGroup
*/
public function getMediaGroup()
{
return $this->_mediaGroup;
}
/**
* Sets the entry's mediaGroup object.
*
* @param Zend_Gdata_Media_Extension_MediaGroup $mediaGroup
* @return Zend_Gdata_Media_Entry Provides a fluent interface
*/
public function setMediaGroup($mediaGroup)
{
$this->_mediaGroup = $mediaGroup;
return $this;
}
}
Media/Extension/MediaDescription.php 0000604 00000006312 15071215231 0013466 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the media:description element
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_Media_Extension_MediaDescription extends Zend_Gdata_Extension
{
protected $_rootElement = 'description';
protected $_rootNamespace = 'media';
/**
* @var string
*/
protected $_type = null;
/**
* @param string $text
* @param string $type
*/
public function __construct($text = null, $type = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct();
$this->_type = $type;
$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->_type !== null) {
$element->setAttribute('type', $this->_type);
}
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 'type':
$this->_type = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return string
*/
public function getType()
{
return $this->_type;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaDescription Provides a fluent interface
*/
public function setType($value)
{
$this->_type = $value;
return $this;
}
}
Media/Extension/MediaCategory.php 0000604 00000010543 15071215231 0012761 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the media:category element
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_Media_Extension_MediaCategory extends Zend_Gdata_Extension
{
protected $_rootElement = 'category';
protected $_rootNamespace = 'media';
/**
* @var string
*/
protected $_scheme = null;
protected $_label = null;
/**
* Creates an individual MediaCategory object.
*
* @param string $text Indication of the type and content of the media
* @param string $scheme URI that identifies the categorization scheme
* @param string $label Human-readable label to be displayed in applications
*/
public function __construct($text = null, $scheme = null, $label = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct();
$this->_text = $text;
$this->_scheme = $scheme;
$this->_label = $label;
}
/**
* 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->_label !== null) {
$element->setAttribute('label', $this->_label);
}
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 'label':
$this->_label = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Returns the URI that identifies the categorization scheme
* Optional.
*
* @return string URI that identifies the categorization scheme
*/
public function getScheme()
{
return $this->_scheme;
}
/**
* @param string $value URI that identifies the categorization scheme
* @return Zend_Gdata_Media_Extension_MediaCategory Provides a fluent interface
*/
public function setScheme($value)
{
$this->_scheme = $value;
return $this;
}
/**
* @return string Human-readable label to be displayed in applications
*/
public function getLabel()
{
return $this->_label;
}
/**
* @param string $value Human-readable label to be displayed in applications
* @return Zend_Gdata_Media_Extension_MediaCategory Provides a fluent interface
*/
public function setLabel($value)
{
$this->_label = $value;
return $this;
}
}
Media/Extension/MediaPlayer.php 0000604 00000010740 15071215231 0012437 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the media:player element
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_Media_Extension_MediaPlayer extends Zend_Gdata_Extension
{
protected $_rootElement = 'player';
protected $_rootNamespace = 'media';
/**
* @var string
*/
protected $_url = null;
/**
* @var int
*/
protected $_width = null;
/**
* @var int
*/
protected $_height = null;
/**
* Constructs a new MediaPlayer element
*
* @param string $url
* @param int $width
* @param int $height
*/
public function __construct($url = null, $width = null, $height = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct();
$this->_url = $url;
$this->_width = $width;
$this->_height = $height;
}
/**
* 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->_url !== null) {
$element->setAttribute('url', $this->_url);
}
if ($this->_width !== null) {
$element->setAttribute('width', $this->_width);
}
if ($this->_height !== null) {
$element->setAttribute('height', $this->_height);
}
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 'url':
$this->_url = $attribute->nodeValue;
break;
case 'width':
$this->_width = $attribute->nodeValue;
break;
case 'height':
$this->_height = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return string
*/
public function getUrl()
{
return $this->_url;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaPlayer Provides a fluent interface
*/
public function setUrl($value)
{
$this->_url = $value;
return $this;
}
/**
* @return int
*/
public function getWidth()
{
return $this->_width;
}
/**
* @param int $value
* @return Zend_Gdata_Media_Extension_MediaPlayer Provides a fluent interface
*/
public function setWidth($value)
{
$this->_width = $value;
return $this;
}
/**
* @return int
*/
public function getHeight()
{
return $this->_height;
}
/**
* @param int $value
* @return Zend_Gdata_Media_Extension_MediaPlayer Provides a fluent interface
*/
public function setHeight($value)
{
$this->_height = $value;
return $this;
}
}
Media/Extension/MediaContent.php 0000604 00000030726 15071215231 0012623 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the media: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 Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_Media_Extension_MediaContent extends Zend_Gdata_Extension
{
protected $_rootElement = 'content';
protected $_rootNamespace = 'media';
/**
* @var string
*/
protected $_url = null;
/**
* @var int
*/
protected $_fileSize = null;
/**
* @var string
*/
protected $_type = null;
/**
* @var string
*/
protected $_medium = null;
/**
* @var string
*/
protected $_isDefault = null;
/**
* @var string
*/
protected $_expression = null;
/**
* @var int
*/
protected $_bitrate = null;
/**
* @var int
*/
protected $_framerate = null;
/**
* @var int
*/
protected $_samplingrate = null;
/**
* @var int
*/
protected $_channels = null;
/**
* @var int
*/
protected $_duration = null;
/**
* @var int
*/
protected $_height = null;
/**
* @var int
*/
protected $_width = null;
/**
* @var string
*/
protected $_lang = null;
/**
* Creates an individual MediaContent object.
*/
public function __construct($url = null, $fileSize = null, $type = null,
$medium = null, $isDefault = null, $expression = null,
$bitrate = null, $framerate = null, $samplingrate = null,
$channels = null, $duration = null, $height = null, $width = null,
$lang = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct();
$this->_url = $url;
$this->_fileSize = $fileSize;
$this->_type = $type;
$this->_medium = $medium;
$this->_isDefault = $isDefault;
$this->_expression = $expression;
$this->_bitrate = $bitrate;
$this->_framerate = $framerate;
$this->_samplingrate = $samplingrate;
$this->_channels = $channels;
$this->_duration = $duration;
$this->_height = $height;
$this->_width = $width;
$this->_lang = $lang;
}
/**
* 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->_url !== null) {
$element->setAttribute('url', $this->_url);
}
if ($this->_fileSize !== null) {
$element->setAttribute('fileSize', $this->_fileSize);
}
if ($this->_type !== null) {
$element->setAttribute('type', $this->_type);
}
if ($this->_medium !== null) {
$element->setAttribute('medium', $this->_medium);
}
if ($this->_isDefault !== null) {
$element->setAttribute('isDefault', $this->_isDefault);
}
if ($this->_expression !== null) {
$element->setAttribute('expression', $this->_expression);
}
if ($this->_bitrate !== null) {
$element->setAttribute('bitrate', $this->_bitrate);
}
if ($this->_framerate !== null) {
$element->setAttribute('framerate', $this->_framerate);
}
if ($this->_samplingrate !== null) {
$element->setAttribute('samplingrate', $this->_samplingrate);
}
if ($this->_channels !== null) {
$element->setAttribute('channels', $this->_channels);
}
if ($this->_duration !== null) {
$element->setAttribute('duration', $this->_duration);
}
if ($this->_height !== null) {
$element->setAttribute('height', $this->_height);
}
if ($this->_width !== null) {
$element->setAttribute('width', $this->_width);
}
if ($this->_lang !== null) {
$element->setAttribute('lang', $this->_lang);
}
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 'url':
$this->_url = $attribute->nodeValue;
break;
case 'fileSize':
$this->_fileSize = $attribute->nodeValue;
break;
case 'type':
$this->_type = $attribute->nodeValue;
break;
case 'medium':
$this->_medium = $attribute->nodeValue;
break;
case 'isDefault':
$this->_isDefault = $attribute->nodeValue;
break;
case 'expression':
$this->_expression = $attribute->nodeValue;
break;
case 'bitrate':
$this->_bitrate = $attribute->nodeValue;
break;
case 'framerate':
$this->_framerate = $attribute->nodeValue;
break;
case 'samplingrate':
$this->_samplingrate = $attribute->nodeValue;
break;
case 'channels':
$this->_channels = $attribute->nodeValue;
break;
case 'duration':
$this->_duration = $attribute->nodeValue;
break;
case 'height':
$this->_height = $attribute->nodeValue;
break;
case 'width':
$this->_width = $attribute->nodeValue;
break;
case 'lang':
$this->_lang = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Returns the URL representing this MediaContent object
*
* @return string The URL representing this MediaContent object.
*/
public function __toString()
{
return $this->getUrl();
}
/**
* @return string The direct URL to the media object
*/
public function getUrl()
{
return $this->_url;
}
/**
* @param string $value The direct URL to the media object
* @return Zend_Gdata_Media_Extension_MediaContent Provides a fluent interface
*/
public function setUrl($value)
{
$this->_url = $value;
return $this;
}
/**
* @return int The size of the media in bytes
*/
public function getFileSize()
{
return $this->_fileSize;
}
/**
* @param int $value
* @return Zend_Gdata_Media_Extension_MediaContent Provides a fluent interface
*/
public function setFileSize($value)
{
$this->_fileSize = $value;
return $this;
}
/**
* @return string
*/
public function getType()
{
return $this->_type;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaContent Provides a fluent interface
*/
public function setType($value)
{
$this->_type = $value;
return $this;
}
/**
* @return string
*/
public function getMedium()
{
return $this->_medium;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaContent Provides a fluent interface
*/
public function setMedium($value)
{
$this->_medium = $value;
return $this;
}
/**
* @return bool
*/
public function getIsDefault()
{
return $this->_isDefault;
}
/**
* @param bool $value
* @return Zend_Gdata_Media_Extension_MediaContent Provides a fluent interface
*/
public function setIsDefault($value)
{
$this->_isDefault = $value;
return $this;
}
/**
* @return string
*/
public function getExpression()
{
return $this->_expression;
}
/**
* @param string
* @return Zend_Gdata_Media_Extension_MediaContent Provides a fluent interface
*/
public function setExpression($value)
{
$this->_expression = $value;
return $this;
}
/**
* @return int
*/
public function getBitrate()
{
return $this->_bitrate;
}
/**
* @param int
* @return Zend_Gdata_Media_Extension_MediaContent Provides a fluent interface
*/
public function setBitrate($value)
{
$this->_bitrate = $value;
return $this;
}
/**
* @return int
*/
public function getFramerate()
{
return $this->_framerate;
}
/**
* @param int
* @return Zend_Gdata_Media_Extension_MediaContent Provides a fluent interface
*/
public function setFramerate($value)
{
$this->_framerate = $value;
return $this;
}
/**
* @return int
*/
public function getSamplingrate()
{
return $this->_samplingrate;
}
/**
* @param int
* @return Zend_Gdata_Media_Extension_MediaContent Provides a fluent interface
*/
public function setSamplingrate($value)
{
$this->_samplingrate = $value;
return $this;
}
/**
* @return int
*/
public function getChannels()
{
return $this->_channels;
}
/**
* @param int
* @return Zend_Gdata_Media_Extension_MediaContent Provides a fluent interface
*/
public function setChannels($value)
{
$this->_channels = $value;
return $this;
}
/**
* @return int
*/
public function getDuration()
{
return $this->_duration;
}
/**
*
* @param int
* @return Zend_Gdata_Media_Extension_MediaContent Provides a fluent interface
*/
public function setDuration($value)
{
$this->_duration = $value;
return $this;
}
/**
* @return int
*/
public function getHeight()
{
return $this->_height;
}
/**
* @param int
* @return Zend_Gdata_Media_Extension_MediaContent Provides a fluent interface
*/
public function setHeight($value)
{
$this->_height = $value;
return $this;
}
/**
* @return int
*/
public function getWidth()
{
return $this->_width;
}
/**
* @param int
* @return Zend_Gdata_Media_Extension_MediaContent Provides a fluent interface
*/
public function setWidth($value)
{
$this->_width = $value;
return $this;
}
/**
* @return string
*/
public function getLang()
{
return $this->_lang;
}
/**
* @param string
* @return Zend_Gdata_Media_Extension_MediaContent Provides a fluent interface
*/
public function setLang($value)
{
$this->_lang = $value;
return $this;
}
}
Media/Extension/MediaRestriction.php 0000604 00000010025 15071215231 0013504 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the media:restriction element
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_Media_Extension_MediaRestriction extends Zend_Gdata_Extension
{
protected $_rootElement = 'restriction';
protected $_rootNamespace = 'media';
/**
* @var string
*/
protected $_relationship = null;
/**
* @var string
*/
protected $_type = null;
/**
* Constructs a new MediaRestriction element
*
* @param string $text
* @param string $relationship
* @param string $type
*/
public function __construct($text = null, $relationship = null, $type = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct();
$this->_text = $text;
$this->_relationship = $relationship;
$this->_type = $type;
}
/**
* 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->_relationship !== null) {
$element->setAttribute('relationship', $this->_relationship);
}
if ($this->_type !== null) {
$element->setAttribute('type', $this->_type);
}
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 'relationship':
$this->_relationship = $attribute->nodeValue;
break;
case 'type':
$this->_type = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return string
*/
public function getRelationship()
{
return $this->_relationship;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaRestriction Provides a fluent interface
*/
public function setRelationship($value)
{
$this->_relationship = $value;
return $this;
}
/**
* @return string
*/
public function getType()
{
return $this->_type;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaRestriction Provides a fluent interface
*/
public function setType($value)
{
$this->_type = $value;
return $this;
}
}
Media/Extension/MediaTitle.php 0000604 00000006354 15071215231 0012272 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the media:title element in MediaRSS
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_Media_Extension_MediaTitle extends Zend_Gdata_Extension
{
protected $_rootElement = 'title';
protected $_rootNamespace = 'media';
/**
* @var string
*/
protected $_type = null;
/**
* Constructs a MediaTitle element
*
* @param string $text
* @param string $type
*/
public function __construct($text = null, $type = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct();
$this->_type = $type;
$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->_type !== null) {
$element->setAttribute('type', $this->_type);
}
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 'type':
$this->_type = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return string
*/
public function getType()
{
return $this->_type;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaTitle Provides a fluent interface
*/
public function setType($value)
{
$this->_type = $value;
return $this;
}
}
Media/Extension/MediaHash.php 0000604 00000006373 15071215231 0012075 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the media:hash element
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_Media_Extension_MediaHash extends Zend_Gdata_Extension
{
protected $_rootElement = 'hash';
protected $_rootNamespace = 'media';
protected $_algo = null;
/**
* Constructs a new MediaHash element
*
* @param string $text
* @param string $algo
*/
public function __construct($text = null, $algo = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct();
$this->_text = $text;
$this->_algo = $algo;
}
/**
* 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->_algo !== null) {
$element->setAttribute('algo', $this->_algo);
}
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
* @throws Zend_Gdata_App_InvalidArgumentException
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'algo':
$this->_algo = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return string The algo
*/
public function getAlgo()
{
return $this->_algo;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaHash Provides a fluent interface
*/
public function setAlgo($value)
{
$this->_algo = $value;
return $this;
}
}
Media/Extension/MediaGroup.php 0000604 00000035403 15071215231 0012302 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Entry
*/
require_once 'Zend/Gdata/Entry.php';
/**
* @see Zend_Gdata_Media_Extension_MediaContent
*/
require_once 'Zend/Gdata/Media/Extension/MediaContent.php';
/**
* @see Zend_Gdata_Media_Extension_MediaCategory
*/
require_once 'Zend/Gdata/Media/Extension/MediaCategory.php';
/**
* @see Zend_Gdata_Media_Extension_MediaCopyright
*/
require_once 'Zend/Gdata/Media/Extension/MediaCopyright.php';
/**
* @see Zend_Gdata_Media_Extension_MediaCredit
*/
require_once 'Zend/Gdata/Media/Extension/MediaCredit.php';
/**
* @see Zend_Gdata_Media_Extension_MediaDescription
*/
require_once 'Zend/Gdata/Media/Extension/MediaDescription.php';
/**
* @see Zend_Gdata_Media_Extension_MediaHash
*/
require_once 'Zend/Gdata/Media/Extension/MediaHash.php';
/**
* @see Zend_Gdata_Media_Extension_MediaKeywords
*/
require_once 'Zend/Gdata/Media/Extension/MediaKeywords.php';
/**
* @see Zend_Gdata_Media_Extension_MediaPlayer
*/
require_once 'Zend/Gdata/Media/Extension/MediaPlayer.php';
/**
* @see Zend_Gdata_Media_Extension_MediaRating
*/
require_once 'Zend/Gdata/Media/Extension/MediaRating.php';
/**
* @see Zend_Gdata_Media_Extension_MediaRestriction
*/
require_once 'Zend/Gdata/Media/Extension/MediaRestriction.php';
/**
* @see Zend_Gdata_Media_Extension_MediaText
*/
require_once 'Zend/Gdata/Media/Extension/MediaText.php';
/**
* @see Zend_Gdata_Media_Extension_MediaThumbnail
*/
require_once 'Zend/Gdata/Media/Extension/MediaThumbnail.php';
/**
* @see Zend_Gdata_Media_Extension_MediaTitle
*/
require_once 'Zend/Gdata/Media/Extension/MediaTitle.php';
/**
* This class represents the media:group element of Media RSS.
* It allows the grouping of media:content elements that are
* different representations of the same content. When it exists,
* it is a child of an Entry (Atom) or Item (RSS).
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_Media_Extension_MediaGroup extends Zend_Gdata_Extension
{
protected $_rootElement = 'group';
protected $_rootNamespace = 'media';
/**
* @var array
*/
protected $_content = array();
/**
* @var array
*/
protected $_category = array();
/**
* @var Zend_Gdata_Media_Extension_MediaCopyright
*/
protected $_copyright = null;
/**
* @var array
*/
protected $_credit = array();
/**
* @var Zend_Gdata_Media_Extension_MediaDescription
*/
protected $_description = null;
/**
* @var array
*/
protected $_hash = array();
/**
* @var Zend_Gdata_Media_Extension_MediaKeywords
*/
protected $_keywords = null;
/**
* @var array
*/
protected $_player = array();
/**
* @var array
*/
protected $_rating = array();
/**
* @var array
*/
protected $_restriction = array();
/**
* @var array
*/
protected $_mediaText = array();
/**
* @var array
*/
protected $_thumbnail = array();
/**
* @var string
*/
protected $_title = null;
/**
* Creates an individual MediaGroup object.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct($element);
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
foreach ($this->_content as $content) {
$element->appendChild($content->getDOM($element->ownerDocument));
}
foreach ($this->_category as $category) {
$element->appendChild($category->getDOM($element->ownerDocument));
}
foreach ($this->_credit as $credit) {
$element->appendChild($credit->getDOM($element->ownerDocument));
}
foreach ($this->_player as $player) {
$element->appendChild($player->getDOM($element->ownerDocument));
}
foreach ($this->_rating as $rating) {
$element->appendChild($rating->getDOM($element->ownerDocument));
}
foreach ($this->_restriction as $restriction) {
$element->appendChild($restriction->getDOM($element->ownerDocument));
}
foreach ($this->_mediaText as $text) {
$element->appendChild($text->getDOM($element->ownerDocument));
}
foreach ($this->_thumbnail as $thumbnail) {
$element->appendChild($thumbnail->getDOM($element->ownerDocument));
}
if ($this->_copyright != null) {
$element->appendChild(
$this->_copyright->getDOM($element->ownerDocument));
}
if ($this->_description != null) {
$element->appendChild(
$this->_description->getDOM($element->ownerDocument));
}
foreach ($this->_hash as $hash) {
$element->appendChild($hash->getDOM($element->ownerDocument));
}
if ($this->_keywords != null) {
$element->appendChild(
$this->_keywords->getDOM($element->ownerDocument));
}
if ($this->_title != null) {
$element->appendChild(
$this->_title->getDOM($element->ownerDocument));
}
return $element;
}
/**
* Creates individual Entry objects of the appropriate type and
* stores them in the $_entry array based upon DOM data.
*
* @param DOMNode $child The DOMNode to process
*/
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('media') . ':' . 'content';
$content = new Zend_Gdata_Media_Extension_MediaContent();
$content->transferFromDOM($child);
$this->_content[] = $content;
break;
case $this->lookupNamespace('media') . ':' . 'category';
$category = new Zend_Gdata_Media_Extension_MediaCategory();
$category->transferFromDOM($child);
$this->_category[] = $category;
break;
case $this->lookupNamespace('media') . ':' . 'copyright';
$copyright = new Zend_Gdata_Media_Extension_MediaCopyright();
$copyright->transferFromDOM($child);
$this->_copyright = $copyright;
break;
case $this->lookupNamespace('media') . ':' . 'credit';
$credit = new Zend_Gdata_Media_Extension_MediaCredit();
$credit->transferFromDOM($child);
$this->_credit[] = $credit;
break;
case $this->lookupNamespace('media') . ':' . 'description';
$description = new Zend_Gdata_Media_Extension_MediaDescription();
$description->transferFromDOM($child);
$this->_description = $description;
break;
case $this->lookupNamespace('media') . ':' . 'hash';
$hash = new Zend_Gdata_Media_Extension_MediaHash();
$hash->transferFromDOM($child);
$this->_hash[] = $hash;
break;
case $this->lookupNamespace('media') . ':' . 'keywords';
$keywords = new Zend_Gdata_Media_Extension_MediaKeywords();
$keywords->transferFromDOM($child);
$this->_keywords = $keywords;
break;
case $this->lookupNamespace('media') . ':' . 'player';
$player = new Zend_Gdata_Media_Extension_MediaPlayer();
$player->transferFromDOM($child);
$this->_player[] = $player;
break;
case $this->lookupNamespace('media') . ':' . 'rating';
$rating = new Zend_Gdata_Media_Extension_MediaRating();
$rating->transferFromDOM($child);
$this->_rating[] = $rating;
break;
case $this->lookupNamespace('media') . ':' . 'restriction';
$restriction = new Zend_Gdata_Media_Extension_MediaRestriction();
$restriction->transferFromDOM($child);
$this->_restriction[] = $restriction;
break;
case $this->lookupNamespace('media') . ':' . 'text';
$text = new Zend_Gdata_Media_Extension_MediaText();
$text->transferFromDOM($child);
$this->_mediaText[] = $text;
break;
case $this->lookupNamespace('media') . ':' . 'thumbnail';
$thumbnail = new Zend_Gdata_Media_Extension_MediaThumbnail();
$thumbnail->transferFromDOM($child);
$this->_thumbnail[] = $thumbnail;
break;
case $this->lookupNamespace('media') . ':' . 'title';
$title = new Zend_Gdata_Media_Extension_MediaTitle();
$title->transferFromDOM($child);
$this->_title = $title;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* @return array
*/
public function getContent()
{
return $this->_content;
}
/**
* @param array $value
* @return Zend_Gdata_Media_MediaGroup Provides a fluent interface
*/
public function setContent($value)
{
$this->_content = $value;
return $this;
}
/**
* @return array
*/
public function getCategory()
{
return $this->_category;
}
/**
* @param array $value
* @return Zend_Gdata_Media_Extension_MediaGroup
*/
public function setCategory($value)
{
$this->_category = $value;
return $this;
}
/**
* @return Zend_Gdata_Media_Extension_MediaCopyright
*/
public function getCopyright()
{
return $this->_copyright;
}
/**
* @param Zend_Gdata_Media_Extension_MediaCopyright $value
* @return Zend_Gdata_Media_Extension_MediaGroup
*/
public function setCopyright($value)
{
$this->_copyright = $value;
return $this;
}
/**
* @return array
*/
public function getCredit()
{
return $this->_credit;
}
/**
* @param array $value
* @return Zend_Gdata_Media_Extension_MediaGroup
*/
public function setCredit($value)
{
$this->_credit = $value;
return $this;
}
/**
* @return Zend_Gdata_Media_Extension_MediaTitle
*/
public function getTitle()
{
return $this->_title;
}
/**
* @param Zend_Gdata_Media_Extension_MediaTitle $value
* @return Zend_Gdata_Media_Extension_MediaGroup
*/
public function setTitle($value)
{
$this->_title = $value;
return $this;
}
/**
* @return Zend_Gdata_Media_Extension_MediaDescription
*/
public function getDescription()
{
return $this->_description;
}
/**
* @param Zend_Gdata_Media_Extension_MediaDescription $value
* @return Zend_Gdata_Media_Extension_MediaGroup
*/
public function setDescription($value)
{
$this->_description = $value;
return $this;
}
/**
* @return array
*/
public function getHash()
{
return $this->_hash;
}
/**
* @param array $value
* @return Zend_Gdata_Media_Extension_MediaGroup
*/
public function setHash($value)
{
$this->_hash = $value;
return $this;
}
/**
* @return Zend_Gdata_Media_Extension_MediaKeywords
*/
public function getKeywords()
{
return $this->_keywords;
}
/**
* @param array $value
* @return Zend_Gdata_Media_Extension_MediaGroup Provides a fluent interface
*/
public function setKeywords($value)
{
$this->_keywords = $value;
return $this;
}
/**
* @return array
*/
public function getPlayer()
{
return $this->_player;
}
/**
* @param array
* @return Zend_Gdata_Media_Extension_MediaGroup
*/
public function setPlayer($value)
{
$this->_player = $value;
return $this;
}
/**
* @return array
*/
public function getRating()
{
return $this->_rating;
}
/**
* @param array
* @return Zend_Gdata_Media_Extension_MediaGroup
*/
public function setRating($value)
{
$this->_rating = $value;
return $this;
}
/**
* @return array
*/
public function getRestriction()
{
return $this->_restriction;
}
/**
* @param array
* @return Zend_Gdata_Media_Extension_MediaGroup
*/
public function setRestriction($value)
{
$this->_restriction = $value;
return $this;
}
/**
* @return array
*/
public function getThumbnail()
{
return $this->_thumbnail;
}
/**
* @param array
* @return Zend_Gdata_Media_Extension_MediaGroup
*/
public function setThumbnail($value)
{
$this->_thumbnail = $value;
return $this;
}
/**
* @return array
*/
public function getMediaText()
{
return $this->_mediaText;
}
/**
* @param array
* @return Zend_Gdata_Media_Extension_MediaGroup
*/
public function setMediaText($value)
{
$this->_mediaText = $value;
return $this;
}
}
Media/Extension/MediaKeywords.php 0000604 00000002645 15071215231 0013017 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the media:keywords element
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_Media_Extension_MediaKeywords extends Zend_Gdata_Extension
{
protected $_rootElement = 'keywords';
protected $_rootNamespace = 'media';
/**
* Constructs a new MediaKeywords element
*/
public function __construct()
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct();
}
}
Media/Extension/MediaThumbnail.php 0000604 00000012242 15071215231 0013125 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the media:thumbnail element
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_Media_Extension_MediaThumbnail extends Zend_Gdata_Extension
{
protected $_rootElement = 'thumbnail';
protected $_rootNamespace = 'media';
/**
* @var string
*/
protected $_url = null;
/**
* @var int
*/
protected $_width = null;
/**
* @var int
*/
protected $_height = null;
/**
* @var string
*/
protected $_time = null;
/**
* Constructs a new MediaThumbnail element
*
* @param string $url
* @param int $width
* @param int $height
* @param string $time
*/
public function __construct($url = null, $width = null, $height = null,
$time = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct();
$this->_url = $url;
$this->_width = $width;
$this->_height = $height;
$this->_time = $time ;
}
/**
* 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->_url !== null) {
$element->setAttribute('url', $this->_url);
}
if ($this->_width !== null) {
$element->setAttribute('width', $this->_width);
}
if ($this->_height !== null) {
$element->setAttribute('height', $this->_height);
}
if ($this->_time !== null) {
$element->setAttribute('time', $this->_time);
}
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 'url':
$this->_url = $attribute->nodeValue;
break;
case 'width':
$this->_width = $attribute->nodeValue;
break;
case 'height':
$this->_height = $attribute->nodeValue;
break;
case 'time':
$this->_time = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return string
*/
public function getUrl()
{
return $this->_url;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaThumbnail Provides a fluent interface
*/
public function setUrl($value)
{
$this->_url = $value;
return $this;
}
/**
* @return int
*/
public function getWidth()
{
return $this->_width;
}
/**
* @param int $value
* @return Zend_Gdata_Media_Extension_MediaThumbnail Provides a fluent interface
*/
public function setWidth($value)
{
$this->_width = $value;
return $this;
}
/**
* @return int
*/
public function getHeight()
{
return $this->_height;
}
/**
* @param int $value
* @return Zend_Gdata_Media_Extension_MediaThumbnail Provides a fluent interface
*/
public function setHeight($value)
{
$this->_height = $value;
return $this;
}
/**
* @return string
*/
public function getTime()
{
return $this->_time;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaThumbnail Provides a fluent interface
*/
public function setTime($value)
{
$this->_time = $value;
return $this;
}
}
Media/Extension/MediaCopyright.php 0000604 00000006264 15071215231 0013161 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the media:copyright element
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_Media_Extension_MediaCopyright extends Zend_Gdata_Extension
{
protected $_rootElement = 'copyright';
protected $_rootNamespace = 'media';
/**
* @var string
*/
protected $_url = null;
/**
* @param string $text
* @param string $url
*/
public function __construct($text = null, $url = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct();
$this->_text = $text;
$this->_url = $url;
}
/**
* 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->_url !== null) {
$element->setAttribute('url', $this->_url);
}
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 'url':
$this->_url = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return string
*/
public function getUrl()
{
return $this->_url;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaCopyright Provides a fluent interface
*/
public function setUrl($value)
{
$this->_url = $value;
return $this;
}
}
Media/Extension/MediaRating.php 0000604 00000006405 15071215231 0012432 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the media:rating element
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_Media_Extension_MediaRating extends Zend_Gdata_Extension
{
protected $_rootElement = 'rating';
protected $_rootNamespace = 'media';
/**
* @var string
*/
protected $_scheme = null;
/**
* Constructs a new MediaRating element
*
* @param string $text
* @param string $scheme
*/
public function __construct($text = null, $scheme = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct();
$this->_scheme = $scheme;
$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);
}
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;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return string
*/
public function getScheme()
{
return $this->_scheme;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaRating Provides a fluent interface
*/
public function setScheme($value)
{
$this->_scheme = $value;
return $this;
}
}
Media/Extension/MediaCredit.php 0000604 00000007650 15071215231 0012423 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the media:credit element
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_Media_Extension_MediaCredit extends Zend_Gdata_Extension
{
protected $_rootElement = 'credit';
protected $_rootNamespace = 'media';
/**
* @var string
*/
protected $_role = null;
/**
* @var string
*/
protected $_scheme = null;
/**
* Creates an individual MediaCredit object.
*
* @param string $text
* @param string $role
* @param string $scheme
*/
public function __construct($text = null, $role = null, $scheme = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct();
$this->_text = $text;
$this->_role = $role;
$this->_scheme = $scheme;
}
/**
* 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);
}
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;
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;
}
}
Media/Extension/MediaText.php 0000604 00000012273 15071215231 0012132 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the media:text element
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_Media_Extension_MediaText extends Zend_Gdata_Extension
{
protected $_rootElement = 'text';
protected $_rootNamespace = 'media';
/**
* @var string
*/
protected $_type = null;
/**
* @var string
*/
protected $_lang = null;
/**
* @var string
*/
protected $_start = null;
/**
* @var string
*/
protected $_end = null;
/**
* Constructs a new MediaText element
*
* @param $text string
* @param $type string
* @param $lang string
* @param $start string
* @param $end string
*/
public function __construct($text = null, $type = null, $lang = null,
$start = null, $end = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct();
$this->_text = $text;
$this->_type = $type;
$this->_lang = $lang;
$this->_start = $start;
$this->_end = $end;
}
/**
* 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->_type !== null) {
$element->setAttribute('type', $this->_type);
}
if ($this->_lang !== null) {
$element->setAttribute('lang', $this->_lang);
}
if ($this->_start !== null) {
$element->setAttribute('start', $this->_start);
}
if ($this->_end !== null) {
$element->setAttribute('end', $this->_end);
}
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 'type':
$this->_type = $attribute->nodeValue;
break;
case 'lang':
$this->_lang = $attribute->nodeValue;
break;
case 'start':
$this->_start = $attribute->nodeValue;
break;
case 'end':
$this->_end = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return string
*/
public function getType()
{
return $this->_type;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaText Provides a fluent interface
*/
public function setType($value)
{
$this->_type = $value;
return $this;
}
/**
* @return string
*/
public function getLang()
{
return $this->_lang;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaText Provides a fluent interface
*/
public function setLang($value)
{
$this->_lang = $value;
return $this;
}
/**
* @return string
*/
public function getStart()
{
return $this->_start;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaText Provides a fluent interface
*/
public function setStart($value)
{
$this->_start = $value;
return $this;
}
/**
* @return string
*/
public function getEnd()
{
return $this->_end;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaText Provides a fluent interface
*/
public function setEnd($value)
{
$this->_end = $value;
return $this;
}
}
Media/Feed.php 0000604 00000003354 15071215231 0007135 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_eed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* @see Zend_Gdata_Media
*/
require_once 'Zend/Gdata/Media.php';
/**
* @see Zend_Gdata_Media_Entry
*/
require_once 'Zend/Gdata/Media/Entry.php';
/**
* The Gdata flavor of an Atom Feed with media support
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_Media_Feed extends Zend_Gdata_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Media_Entry';
/**
* Create a new instance.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct($element);
}
}
Docs.php 0000604 00000022274 15071215231 0006145 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Docs
* @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
*/
require_once 'Zend/Gdata.php';
/**
* @see Zend_Gdata_Docs_DocumentListFeed
*/
require_once 'Zend/Gdata/Docs/DocumentListFeed.php';
/**
* @see Zend_Gdata_Docs_DocumentListEntry
*/
require_once 'Zend/Gdata/Docs/DocumentListEntry.php';
/**
* Service class for interacting with the Google Document List data API
* @link http://code.google.com/apis/documents/
*
* @category Zend
* @package Zend_Gdata
* @subpackage Docs
* @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_Docs extends Zend_Gdata
{
const DOCUMENTS_LIST_FEED_URI = 'http://docs.google.com/feeds/documents/private/full';
const AUTH_SERVICE_NAME = 'writely';
protected $_defaultPostUri = self::DOCUMENTS_LIST_FEED_URI;
private static $SUPPORTED_FILETYPES = array(
'CSV'=>'text/csv',
'DOC'=>'application/msword',
'ODS'=>'application/vnd.oasis.opendocument.spreadsheet',
'ODT'=>'application/vnd.oasis.opendocument.text',
'RTF'=>'application/rtf',
'SXW'=>'application/vnd.sun.xml.writer',
'TXT'=>'text/plain',
'XLS'=>'application/vnd.ms-excel');
/**
* Create Gdata_Docs object
*
* @param Zend_Http_Client $client (optional) The HTTP client to use when
* when communicating with the Google servers.
* @param string $applicationId The identity of the app in the form of Company-AppName-Version
*/
public function __construct($client = null, $applicationId = 'MyCompany-MyApp-1.0')
{
$this->registerPackage('Zend_Gdata_Docs');
parent::__construct($client, $applicationId);
$this->_httpClient->setParameterPost('service', self::AUTH_SERVICE_NAME);
}
/**
* Looks up the mime type based on the file name extension. For example,
* calling this method with 'csv' would return
* 'text/comma-separated-values'. The Mime type is sent as a header in
* the upload HTTP POST request.
*
* @param string $fileExtension
* @return string The mime type to be sent to the server to tell it how the
* multipart mime data should be interpreted.
*/
public static function lookupMimeType($fileExtension) {
return self::$SUPPORTED_FILETYPES[strtoupper($fileExtension)];
}
/**
* Retreive feed object containing entries for the user's documents.
*
* @param mixed $location The location for the feed, as a URL or Query
* @return Zend_Gdata_Docs_DocumentListFeed
*/
public function getDocumentListFeed($location = null)
{
if ($location === null) {
$uri = self::DOCUMENTS_LIST_FEED_URI;
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_Docs_DocumentListFeed');
}
/**
* Retreive entry object representing a single document.
*
* @param mixed $location The location for the entry, as a URL or Query
* @return Zend_Gdata_Docs_DocumentListEntry
*/
public function getDocumentListEntry($location = null)
{
if ($location === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Location must not be null');
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getEntry($uri, 'Zend_Gdata_Docs_DocumentListEntry');
}
/**
* Retreive entry object representing a single document.
*
* This method builds the URL where this item is stored using the type
* and the id of the document.
* @param string $docId The URL key for the document. Examples:
* dcmg89gw_62hfjj8m, pKq0CzjiF3YmGd0AIlHKqeg
* @param string $docType The type of the document as used in the Google
* Document List URLs. Examples: document, spreadsheet, presentation
* @return Zend_Gdata_Docs_DocumentListEntry
*/
public function getDoc($docId, $docType) {
$location = 'http://docs.google.com/feeds/documents/private/full/' .
$docType . '%3A' . $docId;
return $this->getDocumentListEntry($location);
}
/**
* Retreive entry object for the desired word processing document.
*
* @param string $id The URL id for the document. Example:
* dcmg89gw_62hfjj8m
*/
public function getDocument($id) {
return $this->getDoc($id, 'document');
}
/**
* Retreive entry object for the desired spreadsheet.
*
* @param string $id The URL id for the document. Example:
* pKq0CzjiF3YmGd0AIlHKqeg
*/
public function getSpreadsheet($id) {
return $this->getDoc($id, 'spreadsheet');
}
/**
* Retreive entry object for the desired presentation.
*
* @param string $id The URL id for the document. Example:
* dcmg89gw_21gtrjcn
*/
public function getPresentation($id) {
return $this->getDoc($id, 'presentation');
}
/**
* Upload a local file to create a new Google Document entry.
*
* @param string $fileLocation The full or relative path of the file to
* be uploaded.
* @param string $title The name that this document should have on the
* server. If set, the title is used as the slug header in the
* POST request. If no title is provided, the location of the
* file will be used as the slug header in the request. If no
* mimeType is provided, this method attempts to determine the
* mime type based on the slugHeader by looking for .doc,
* .csv, .txt, etc. at the end of the file name.
* Example value: 'test.doc'.
* @param string $mimeType Describes the type of data which is being sent
* to the server. This must be one of the accepted mime types
* which are enumerated in SUPPORTED_FILETYPES.
* @param string $uri (optional) The URL to which the upload should be
* made.
* Example: 'http://docs.google.com/feeds/documents/private/full'.
* @return Zend_Gdata_Docs_DocumentListEntry The entry for the newly
* created Google Document.
*/
public function uploadFile($fileLocation, $title=null, $mimeType=null,
$uri=null)
{
// Set the URI to which the file will be uploaded.
if ($uri === null) {
$uri = $this->_defaultPostUri;
}
// Create the media source which describes the file.
$fs = $this->newMediaFileSource($fileLocation);
if ($title !== null) {
$slugHeader = $title;
} else {
$slugHeader = $fileLocation;
}
// Set the slug header to tell the Google Documents server what the
// title of the document should be and what the file extension was
// for the original file.
$fs->setSlug($slugHeader);
// Set the mime type of the data.
if ($mimeType === null) {
$slugHeader = $fs->getSlug();
$filenameParts = explode('.', $slugHeader);
$fileExtension = end($filenameParts);
$mimeType = self::lookupMimeType($fileExtension);
}
// Set the mime type for the upload request.
$fs->setContentType($mimeType);
// Send the data to the server.
return $this->insertDocument($fs, $uri);
}
/**
* Inserts an entry to a given URI and returns the response as an Entry.
*
* @param mixed $data The Zend_Gdata_Docs_DocumentListEntry or media
* source to post. If it is a DocumentListEntry, the mediaSource
* should already have been set. If $data is a mediaSource, it
* should have the correct slug header and mime type.
* @param string $uri POST URI
* @param string $className (optional) The class of entry to be returned.
* The default is a 'Zend_Gdata_Docs_DocumentListEntry'.
* @return Zend_Gdata_Docs_DocumentListEntry The entry returned by the
* service after insertion.
*/
public function insertDocument($data, $uri,
$className='Zend_Gdata_Docs_DocumentListEntry')
{
return $this->insertEntry($data, $uri, $className);
}
}
Query.php 0000604 00000022740 15071215231 0006360 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* Zend_Gdata_App_Util
*/
require_once 'Zend/Gdata/App/Util.php';
/**
* Provides a mechanism to build a query URL for Gdata services.
* Queries are not defined for APP, but are provided by Gdata services
* as an extension.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Query
{
/**
* Query parameters.
*
* @var array
*/
protected $_params = array();
/**
* Default URL
*
* @var string
*/
protected $_defaultFeedUri = null;
/**
* Base URL
* TODO: Add setters and getters
*
* @var string
*/
protected $_url = null;
/**
* Category for the query
*
* @var string
*/
protected $_category = null;
/**
* Create Gdata_Query object
*/
public function __construct($url = null)
{
$this->_url = $url;
}
/**
* @return string querystring
*/
public function getQueryString()
{
$queryArray = array();
foreach ($this->_params as $name => $value) {
if (substr($name, 0, 1) == '_') {
continue;
}
$queryArray[] = urlencode($name) . '=' . urlencode($value);
}
if (count($queryArray) > 0) {
return '?' . implode('&', $queryArray);
} else {
return '';
}
}
/**
*
*/
public function resetParameters()
{
$this->_params = array();
}
/**
* @return string url
*/
public function getQueryUrl()
{
if ($this->_url == null) {
$url = $this->_defaultFeedUri;
} else {
$url = $this->_url;
}
if ($this->getCategory() !== null) {
$url .= '/-/' . $this->getCategory();
}
$url .= $this->getQueryString();
return $url;
}
/**
* @param string $name
* @param string $value
* @return Zend_Gdata_Query Provides a fluent interface
*/
public function setParam($name, $value)
{
$this->_params[$name] = $value;
return $this;
}
/**
* @param string $name
*/
public function getParam($name)
{
return $this->_params[$name];
}
/**
* @param string $value
* @return Zend_Gdata_Query Provides a fluent interface
*/
public function setAlt($value)
{
if ($value != null) {
$this->_params['alt'] = $value;
} else {
unset($this->_params['alt']);
}
return $this;
}
/**
* @param int $value
* @return Zend_Gdata_Query Provides a fluent interface
*/
public function setMaxResults($value)
{
if ($value != null) {
$this->_params['max-results'] = $value;
} else {
unset($this->_params['max-results']);
}
return $this;
}
/**
* @param string $value
* @return Zend_Gdata_Query Provides a fluent interface
*/
public function setQuery($value)
{
if ($value != null) {
$this->_params['q'] = $value;
} else {
unset($this->_params['q']);
}
return $this;
}
/**
* @param int $value
* @return Zend_Gdata_Query Provides a fluent interface
*/
public function setStartIndex($value)
{
if ($value != null) {
$this->_params['start-index'] = $value;
} else {
unset($this->_params['start-index']);
}
return $this;
}
/**
* @param string $value
* @return Zend_Gdata_Query Provides a fluent interface
*/
public function setUpdatedMax($value)
{
if ($value != null) {
$this->_params['updated-max'] = Zend_Gdata_App_Util::formatTimestamp($value);
} else {
unset($this->_params['updated-max']);
}
return $this;
}
/**
* @param string $value
* @return Zend_Gdata_Query Provides a fluent interface
*/
public function setUpdatedMin($value)
{
if ($value != null) {
$this->_params['updated-min'] = Zend_Gdata_App_Util::formatTimestamp($value);
} else {
unset($this->_params['updated-min']);
}
return $this;
}
/**
* @param string $value
* @return Zend_Gdata_Query Provides a fluent interface
*/
public function setPublishedMax($value)
{
if ($value !== null) {
$this->_params['published-max'] = Zend_Gdata_App_Util::formatTimestamp($value);
} else {
unset($this->_params['published-max']);
}
return $this;
}
/**
* @param string $value
* @return Zend_Gdata_Query Provides a fluent interface
*/
public function setPublishedMin($value)
{
if ($value != null) {
$this->_params['published-min'] = Zend_Gdata_App_Util::formatTimestamp($value);
} else {
unset($this->_params['published-min']);
}
return $this;
}
/**
* @param string $value
* @return Zend_Gdata_Query Provides a fluent interface
*/
public function setAuthor($value)
{
if ($value != null) {
$this->_params['author'] = $value;
} else {
unset($this->_params['author']);
}
return $this;
}
/**
* @return string rss or atom
*/
public function getAlt()
{
if (array_key_exists('alt', $this->_params)) {
return $this->_params['alt'];
} else {
return null;
}
}
/**
* @return int maxResults
*/
public function getMaxResults()
{
if (array_key_exists('max-results', $this->_params)) {
return intval($this->_params['max-results']);
} else {
return null;
}
}
/**
* @return string query
*/
public function getQuery()
{
if (array_key_exists('q', $this->_params)) {
return $this->_params['q'];
} else {
return null;
}
}
/**
* @return int startIndex
*/
public function getStartIndex()
{
if (array_key_exists('start-index', $this->_params)) {
return intval($this->_params['start-index']);
} else {
return null;
}
}
/**
* @return string updatedMax
*/
public function getUpdatedMax()
{
if (array_key_exists('updated-max', $this->_params)) {
return $this->_params['updated-max'];
} else {
return null;
}
}
/**
* @return string updatedMin
*/
public function getUpdatedMin()
{
if (array_key_exists('updated-min', $this->_params)) {
return $this->_params['updated-min'];
} else {
return null;
}
}
/**
* @return string publishedMax
*/
public function getPublishedMax()
{
if (array_key_exists('published-max', $this->_params)) {
return $this->_params['published-max'];
} else {
return null;
}
}
/**
* @return string publishedMin
*/
public function getPublishedMin()
{
if (array_key_exists('published-min', $this->_params)) {
return $this->_params['published-min'];
} else {
return null;
}
}
/**
* @return string author
*/
public function getAuthor()
{
if (array_key_exists('author', $this->_params)) {
return $this->_params['author'];
} else {
return null;
}
}
/**
* @param string $value
* @return Zend_Gdata_Query Provides a fluent interface
*/
public function setCategory($value)
{
$this->_category = $value;
return $this;
}
/*
* @return string id
*/
public function getCategory()
{
return $this->_category;
}
public function __get($name)
{
$method = 'get'.ucfirst($name);
if (method_exists($this, $method)) {
return call_user_func(array(&$this, $method));
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('Property ' . $name . ' does not exist');
}
}
public function __set($name, $val)
{
$method = 'set'.ucfirst($name);
if (method_exists($this, $method)) {
return call_user_func(array(&$this, $method), $val);
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('Property ' . $name . ' does not exist');
}
}
}
Exif/Extension/Time.php 0000604 00000003173 15071215231 0011017 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Exif
*/
require_once 'Zend/Gdata/Exif.php';
/**
* Represents the exif:time element used by the Gdata Exif extensions.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @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_Exif_Extension_Time extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'exif';
protected $_rootElement = 'time';
/**
* Constructs a new Zend_Gdata_Exif_Extension_Time object.
*
* @param string $text (optional) The value to use for this element.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Exif::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Exif/Extension/Iso.php 0000604 00000003167 15071215231 0010656 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Exif
*/
require_once 'Zend/Gdata/Exif.php';
/**
* Represents the exif:iso element used by the Gdata Exif extensions.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @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_Exif_Extension_Iso extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'exif';
protected $_rootElement = 'iso';
/**
* Constructs a new Zend_Gdata_Exif_Extension_Iso object.
*
* @param string $text (optional) The value to use for this element.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Exif::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Exif/Extension/FStop.php 0000604 00000003177 15071215231 0011160 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Exif
*/
require_once 'Zend/Gdata/Exif.php';
/**
* Represents the exif:fStop element used by the Gdata Exif extensions.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @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_Exif_Extension_FStop extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'exif';
protected $_rootElement = 'fstop';
/**
* Constructs a new Zend_Gdata_Exif_Extension_FStop object.
*
* @param string $text (optional) The value to use for this element.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Exif::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Exif/Extension/Model.php 0000604 00000003177 15071215231 0011165 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Exif
*/
require_once 'Zend/Gdata/Exif.php';
/**
* Represents the exif:model element used by the Gdata Exif extensions.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @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_Exif_Extension_Model extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'exif';
protected $_rootElement = 'model';
/**
* Constructs a new Zend_Gdata_Exif_Extension_Model object.
*
* @param string $text (optional) The value to use for this element.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Exif::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Exif/Extension/Exposure.php 0000604 00000003213 15071215231 0011726 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Exif
*/
require_once 'Zend/Gdata/Exif.php';
/**
* Represents the exif:exposure element used by the Gdata Exif extensions.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @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_Exif_Extension_Exposure extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'exif';
protected $_rootElement = 'exposure';
/**
* Constructs a new Zend_Gdata_Exif_Extension_Exposure object.
*
* @param string $text (optional) The value to use for this element.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Exif::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Exif/Extension/Distance.php 0000604 00000003213 15071215231 0011646 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Exif
*/
require_once 'Zend/Gdata/Exif.php';
/**
* Represents the exif:distance element used by the Gdata Exif extensions.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @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_Exif_Extension_Distance extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'exif';
protected $_rootElement = 'distance';
/**
* Constructs a new Zend_Gdata_Exif_Extension_Distance object.
*
* @param string $text (optional) The value to use for this element.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Exif::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Exif/Extension/Tags.php 0000604 00000040626 15071215231 0011023 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Exif
*/
require_once 'Zend/Gdata/Exif.php';
/**
* @see Zend_Gdata_Exif_Extension_Distance
*/
require_once 'Zend/Gdata/Exif/Extension/Distance.php';
/**
* @see Zend_Gdata_Exif_Extension_Exposure
*/
require_once 'Zend/Gdata/Exif/Extension/Exposure.php';
/**
* @see Zend_Gdata_Exif_Extension_Flash
*/
require_once 'Zend/Gdata/Exif/Extension/Flash.php';
/**
* @see Zend_Gdata_Exif_Extension_FocalLength
*/
require_once 'Zend/Gdata/Exif/Extension/FocalLength.php';
/**
* @see Zend_Gdata_Exif_Extension_FStop
*/
require_once 'Zend/Gdata/Exif/Extension/FStop.php';
/**
* @see Zend_Gdata_Exif_Extension_ImageUniqueId
*/
require_once 'Zend/Gdata/Exif/Extension/ImageUniqueId.php';
/**
* @see Zend_Gdata_Exif_Extension_Iso
*/
require_once 'Zend/Gdata/Exif/Extension/Iso.php';
/**
* @see Zend_Gdata_Exif_Extension_Make
*/
require_once 'Zend/Gdata/Exif/Extension/Make.php';
/**
* @see Zend_Gdata_Exif_Extension_Model
*/
require_once 'Zend/Gdata/Exif/Extension/Model.php';
/**
* @see Zend_Gdata_Exif_Extension_Time
*/
require_once 'Zend/Gdata/Exif/Extension/Time.php';
/**
* Represents the exif:tags element used by the Gdata Exif extensions.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @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_Exif_Extension_Tags extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'exif';
protected $_rootElement = 'tags';
/**
* exif:distance value
*
* @var Zend_Gdata_Exif_Extension_Distance
*/
protected $_distance = null;
/**
* exif:exposure value
*
* @var Zend_Gdata_Exif_Extension_Exposure
*/
protected $_exposure = null;
/**
* exif:flash value
*
* @var Zend_Gdata_Exif_Extension_Flash
*/
protected $_flash = null;
/**
* exif:focalLength value
*
* @var Zend_Gdata_Exif_Extension_FocalLength
*/
protected $_focalLength = null;
/**
* exif:fStop value
*
* @var Zend_Gdata_Exif_Extension_FStop
*/
protected $_fStop = null;
/**
* exif:imageUniqueID value
*
* @var Zend_Gdata_Exif_Extension_ImageUniqueId
*/
protected $_imageUniqueId = null;
/**
* exif:iso value
*
* @var Zend_Gdata_Exif_Extension_Iso
*/
protected $_iso = null;
/**
* exif:make value
*
* @var Zend_Gdata_Exif_Extension_Make
*/
protected $_make = null;
/**
* exif:model value
*
* @var Zend_Gdata_Exif_Extension_Model
*/
protected $_model = null;
/**
* exif:time value
*
* @var Zend_Gdata_Exif_Extension_Time
*/
protected $_time = null;
/**
* Constructs a new Zend_Gdata_Exif_Extension_Tags object.
*
* @param Zend_Gdata_Exif_Extension_Distance $distance (optional) The exif:distance
* value to be set in the constructed object.
* @param Zend_Gdata_Exif_Extension_Exposure $exposure (optional) The exif:exposure
* value to be set in the constructed object.
* @param Zend_Gdata_Exif_Extension_Flash $flash (optional) The exif:flash
* value to be set in the constructed object.
* @param Zend_Gdata_Exif_Extension_FocalLength$focalLength (optional) The exif:focallength
* value to be set in the constructed object.
* @param Zend_Gdata_Exif_Extension_FStop $fStop (optional) The exif:fstop
* value to be set in the constructed object.
* @param Zend_Gdata_Exif_Extension_ImageUniqueId $imageUniqueId (optional) The exif:imageUniqueID
* value to be set in the constructed object.
* @param Zend_Gdata_Exif_Extension_Iso $iso (optional) The exif:iso
* value to be set in the constructed object.
* @param Zend_Gdata_Exif_Extension_Make $make (optional) The exif:make
* value to be set in the constructed object.
* @param Zend_Gdata_Exif_Extension_Model $model (optional) The exif:model
* value to be set in the constructed object.
* @param Zend_Gdata_Exif_Extension_Time $time (optional) The exif:time
* value to be set in the constructed object.
*/
public function __construct($distance = null, $exposure = null,
$flash = null, $focalLength = null, $fStop = null,
$imageUniqueId = null, $iso = null, $make = null,
$model = null, $time = null)
{
$this->registerAllNamespaces(Zend_Gdata_Exif::$namespaces);
parent::__construct();
$this->setDistance($distance);
$this->setExposure($exposure);
$this->setFlash($flash);
$this->setFocalLength($focalLength);
$this->setFStop($fStop);
$this->setImageUniqueId($imageUniqueId);
$this->setIso($iso);
$this->setMake($make);
$this->setModel($model);
$this->setTime($time);
}
/**
* 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->_distance !== null) {
$element->appendChild($this->_distance->getDOM($element->ownerDocument));
}
if ($this->_exposure !== null) {
$element->appendChild($this->_exposure->getDOM($element->ownerDocument));
}
if ($this->_flash !== null) {
$element->appendChild($this->_flash->getDOM($element->ownerDocument));
}
if ($this->_focalLength !== null) {
$element->appendChild($this->_focalLength->getDOM($element->ownerDocument));
}
if ($this->_fStop !== null) {
$element->appendChild($this->_fStop->getDOM($element->ownerDocument));
}
if ($this->_imageUniqueId !== null) {
$element->appendChild($this->_imageUniqueId->getDOM($element->ownerDocument));
}
if ($this->_iso !== null) {
$element->appendChild($this->_iso->getDOM($element->ownerDocument));
}
if ($this->_make !== null) {
$element->appendChild($this->_make->getDOM($element->ownerDocument));
}
if ($this->_model !== null) {
$element->appendChild($this->_model->getDOM($element->ownerDocument));
}
if ($this->_time !== null) {
$element->appendChild($this->_time->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('exif') . ':' . 'distance';
$distance = new Zend_Gdata_Exif_Extension_Distance();
$distance->transferFromDOM($child);
$this->_distance = $distance;
break;
case $this->lookupNamespace('exif') . ':' . 'exposure';
$exposure = new Zend_Gdata_Exif_Extension_Exposure();
$exposure->transferFromDOM($child);
$this->_exposure = $exposure;
break;
case $this->lookupNamespace('exif') . ':' . 'flash';
$flash = new Zend_Gdata_Exif_Extension_Flash();
$flash->transferFromDOM($child);
$this->_flash = $flash;
break;
case $this->lookupNamespace('exif') . ':' . 'focallength';
$focalLength = new Zend_Gdata_Exif_Extension_FocalLength();
$focalLength->transferFromDOM($child);
$this->_focalLength = $focalLength;
break;
case $this->lookupNamespace('exif') . ':' . 'fstop';
$fStop = new Zend_Gdata_Exif_Extension_FStop();
$fStop->transferFromDOM($child);
$this->_fStop = $fStop;
break;
case $this->lookupNamespace('exif') . ':' . 'imageUniqueID';
$imageUniqueId = new Zend_Gdata_Exif_Extension_ImageUniqueId();
$imageUniqueId->transferFromDOM($child);
$this->_imageUniqueId = $imageUniqueId;
break;
case $this->lookupNamespace('exif') . ':' . 'iso';
$iso = new Zend_Gdata_Exif_Extension_Iso();
$iso->transferFromDOM($child);
$this->_iso = $iso;
break;
case $this->lookupNamespace('exif') . ':' . 'make';
$make = new Zend_Gdata_Exif_Extension_Make();
$make->transferFromDOM($child);
$this->_make = $make;
break;
case $this->lookupNamespace('exif') . ':' . 'model';
$model = new Zend_Gdata_Exif_Extension_Model();
$model->transferFromDOM($child);
$this->_model = $model;
break;
case $this->lookupNamespace('exif') . ':' . 'time';
$time = new Zend_Gdata_Exif_Extension_Time();
$time->transferFromDOM($child);
$this->_time = $time;
break;
}
}
/**
* Get the value for this element's distance attribute.
*
* @see setDistance
* @return Zend_Gdata_Exif_Extension_Distance The requested attribute.
*/
public function getDistance()
{
return $this->_distance;
}
/**
* Set the value for this element's distance attribute.
*
* @param Zend_Gdata_Exif_Extension_Distance $value The desired value for this attribute.
* @return Zend_Gdata_Exif_Extension_Tags Provides a fluent interface
*/
public function setDistance($value)
{
$this->_distance = $value;
return $this;
}
/**
* Get the value for this element's exposure attribute.
*
* @see setExposure
* @return Zend_Gdata_Exif_Extension_Exposure The requested attribute.
*/
public function getExposure()
{
return $this->_exposure;
}
/**
* Set the value for this element's exposure attribute.
*
* @param Zend_Gdata_Exif_Extension_Exposure $value The desired value for this attribute.
* @return Zend_Gdata_Exif_Extension_Tags Provides a fluent interface
*/
public function setExposure($value)
{
$this->_exposure = $value;
return $this;
}
/**
* Get the value for this element's flash attribute.
*
* @see setFlash
* @return Zend_Gdata_Exif_Extension_Flash The requested attribute.
*/
public function getFlash()
{
return $this->_flash;
}
/**
* Set the value for this element's flash attribute.
*
* @param Zend_Gdata_Exif_Extension_Flash $value The desired value for this attribute.
* @return Zend_Gdata_Exif_Extension_Tags Provides a fluent interface
*/
public function setFlash($value)
{
$this->_flash = $value;
return $this;
}
/**
* Get the value for this element's name attribute.
*
* @see setFocalLength
* @return Zend_Gdata_Exif_Extension_FocalLength The requested attribute.
*/
public function getFocalLength()
{
return $this->_focalLength;
}
/**
* Set the value for this element's focalLength attribute.
*
* @param Zend_Gdata_Exif_Extension_FocalLength $value The desired value for this attribute.
* @return Zend_Gdata_Exif_Extension_Tags Provides a fluent interface
*/
public function setFocalLength($value)
{
$this->_focalLength = $value;
return $this;
}
/**
* Get the value for this element's fStop attribute.
*
* @see setFStop
* @return Zend_Gdata_Exif_Extension_FStop The requested attribute.
*/
public function getFStop()
{
return $this->_fStop;
}
/**
* Set the value for this element's fStop attribute.
*
* @param Zend_Gdata_Exif_Extension_FStop $value The desired value for this attribute.
* @return Zend_Gdata_Exif_Extension_Tags Provides a fluent interface
*/
public function setFStop($value)
{
$this->_fStop = $value;
return $this;
}
/**
* Get the value for this element's imageUniqueId attribute.
*
* @see setImageUniqueId
* @return Zend_Gdata_Exif_Extension_ImageUniqueId The requested attribute.
*/
public function getImageUniqueId()
{
return $this->_imageUniqueId;
}
/**
* Set the value for this element's imageUniqueId attribute.
*
* @param Zend_Gdata_Exif_Extension_ImageUniqueId $value The desired value for this attribute.
* @return Zend_Gdata_Exif_Extension_Tags Provides a fluent interface
*/
public function setImageUniqueId($value)
{
$this->_imageUniqueId = $value;
return $this;
}
/**
* Get the value for this element's iso attribute.
*
* @see setIso
* @return Zend_Gdata_Exif_Extension_Iso The requested attribute.
*/
public function getIso()
{
return $this->_iso;
}
/**
* Set the value for this element's iso attribute.
*
* @param Zend_Gdata_Exif_Extension_Iso $value The desired value for this attribute.
* @return Zend_Gdata_Exif_Extension_Tags Provides a fluent interface
*/
public function setIso($value)
{
$this->_iso = $value;
return $this;
}
/**
* Get the value for this element's make attribute.
*
* @see setMake
* @return Zend_Gdata_Exif_Extension_Make The requested attribute.
*/
public function getMake()
{
return $this->_make;
}
/**
* Set the value for this element's make attribute.
*
* @param Zend_Gdata_Exif_Extension_Make $value The desired value for this attribute.
* @return Zend_Gdata_Exif_Extension_Tags Provides a fluent interface
*/
public function setMake($value)
{
$this->_make = $value;
return $this;
}
/**
* Get the value for this element's model attribute.
*
* @see setModel
* @return Zend_Gdata_Exif_Extension_Model The requested attribute.
*/
public function getModel()
{
return $this->_model;
}
/**
* Set the value for this element's model attribute.
*
* @param Zend_Gdata_Exif_Extension_Model $value The desired value for this attribute.
* @return Zend_Gdata_Exif_Extension_Tags Provides a fluent interface
*/
public function setModel($value)
{
$this->_model = $value;
return $this;
}
/**
* Get the value for this element's time attribute.
*
* @see setTime
* @return Zend_Gdata_Exif_Extension_Time The requested attribute.
*/
public function getTime()
{
return $this->_time;
}
/**
* Set the value for this element's time attribute.
*
* @param Zend_Gdata_Exif_Extension_Time $value The desired value for this attribute.
* @return Zend_Gdata_Exif_Extension_Tags Provides a fluent interface
*/
public function setTime($value)
{
$this->_time = $value;
return $this;
}
}
Exif/Extension/Make.php 0000604 00000003173 15071215231 0010776 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Exif
*/
require_once 'Zend/Gdata/Exif.php';
/**
* Represents the exif:make element used by the Gdata Exif extensions.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @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_Exif_Extension_Make extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'exif';
protected $_rootElement = 'make';
/**
* Constructs a new Zend_Gdata_Exif_Extension_Make object.
*
* @param string $text (optional) The value to use for this element.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Exif::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Exif/Extension/Flash.php 0000604 00000003177 15071215231 0011162 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Exif
*/
require_once 'Zend/Gdata/Exif.php';
/**
* Represents the exif:flash element used by the Gdata Exif extensions.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @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_Exif_Extension_Flash extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'exif';
protected $_rootElement = 'flash';
/**
* Constructs a new Zend_Gdata_Exif_Extension_Flash object.
*
* @param string $text (optional) The value to use for this element.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Exif::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Exif/Extension/ImageUniqueId.php 0000604 00000003237 15071215231 0012610 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Exif
*/
require_once 'Zend/Gdata/Exif.php';
/**
* Represents the exif:imageUniqueId element used by the Gdata Exif extensions.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @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_Exif_Extension_ImageUniqueId extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'exif';
protected $_rootElement = 'imageUniqueID';
/**
* Constructs a new Zend_Gdata_Exif_Extension_ImageUniqueId object.
*
* @param string $text (optional) The value to use for this element.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Exif::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Exif/Extension/FocalLength.php 0000604 00000003227 15071215231 0012307 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Exif
*/
require_once 'Zend/Gdata/Exif.php';
/**
* Represents the exif:focalLength element used by the Gdata Exif extensions.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @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_Exif_Extension_FocalLength extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'exif';
protected $_rootElement = 'focallength';
/**
* Constructs a new Zend_Gdata_Exif_Extension_FocalLength object.
*
* @param string $text (optional) The value to use for this element.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Exif::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Exif/Entry.php 0000604 00000010036 15071215231 0007242 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @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_Exif
*/
require_once 'Zend/Gdata/Exif.php';
/**
* @see Zend_Gdata_Exif_Extension_Tags
*/
require_once 'Zend/Gdata/Exif/Extension/Tags.php';
/**
* An Atom entry containing EXIF metadata.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @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_Exif_Entry extends Zend_Gdata_Entry
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Exif_Entry';
/**
* The tags that belong to the Exif group.
*
* @var string
*/
protected $_tags = null;
/**
* Create a new instance.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Exif::$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->_tags != null) {
$element->appendChild($this->_tags->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('exif') . ':' . 'tags':
$tags = new Zend_Gdata_Exif_Extension_Tags();
$tags->transferFromDOM($child);
$this->_tags = $tags;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Retrieve the tags for this entry.
*
* @see setTags
* @return Zend_Gdata_Exif_Extension_Tags The requested object
* or null if not set.
*/
public function getTags()
{
return $this->_tags;
}
/**
* Set the tags property for this entry. This property contains
* various Exif data.
*
* This corresponds to the <exif:tags> property in the Google Data
* protocol.
*
* @param Zend_Gdata_Exif_Extension_Tags $value The desired value
* this element, or null to unset.
* @return Zend_Gdata_Exif_Entry Provides a fluent interface
*/
public function setTags($value)
{
$this->_tags = $value;
return $this;
}
}
Exif/Feed.php 0000604 00000003321 15071215231 0007003 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @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_eed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* @see Zend_Gdata_Exif
*/
require_once 'Zend/Gdata/Exif.php';
/**
* @see Zend_Gdata_Exif_Entry
*/
require_once 'Zend/Gdata/Exif/Entry.php';
/**
* Feed for Gdata EXIF data entries.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Exif
* @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_Exif_Feed extends Zend_Gdata_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Exif_Entry';
/**
* Create a new instance.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Exif::$namespaces);
parent::__construct($element);
}
}
Calendar.php 0000604 00000011645 15071215231 0006766 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @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
*/
require_once 'Zend/Gdata.php';
/**
* @see Zend_Gdata_Calendar_EventFeed
*/
require_once 'Zend/Gdata/Calendar/EventFeed.php';
/**
* @see Zend_Gdata_Calendar_EventEntry
*/
require_once 'Zend/Gdata/Calendar/EventEntry.php';
/**
* @see Zend_Gdata_Calendar_ListFeed
*/
require_once 'Zend/Gdata/Calendar/ListFeed.php';
/**
* @see Zend_Gdata_Calendar_ListEntry
*/
require_once 'Zend/Gdata/Calendar/ListEntry.php';
/**
* Service class for interacting with the Google Calendar data API
* @link http://code.google.com/apis/gdata/calendar.html
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @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_Calendar extends Zend_Gdata
{
const CALENDAR_FEED_URI = 'http://www.google.com/calendar/feeds';
const CALENDAR_EVENT_FEED_URI = 'http://www.google.com/calendar/feeds/default/private/full';
const AUTH_SERVICE_NAME = 'cl';
protected $_defaultPostUri = self::CALENDAR_EVENT_FEED_URI;
/**
* Namespaces used for Zend_Gdata_Calendar
*
* @var array
*/
public static $namespaces = array(
array('gCal', 'http://schemas.google.com/gCal/2005', 1, 0)
);
/**
* Create Gdata_Calendar object
*
* @param Zend_Http_Client $client (optional) The HTTP client to use when
* when communicating with the Google servers.
* @param string $applicationId The identity of the app in the form of Company-AppName-Version
*/
public function __construct($client = null, $applicationId = 'MyCompany-MyApp-1.0')
{
$this->registerPackage('Zend_Gdata_Calendar');
$this->registerPackage('Zend_Gdata_Calendar_Extension');
parent::__construct($client, $applicationId);
$this->_httpClient->setParameterPost('service', self::AUTH_SERVICE_NAME);
}
/**
* Retreive feed object
*
* @param mixed $location The location for the feed, as a URL or Query
* @return Zend_Gdata_Calendar_EventFeed
*/
public function getCalendarEventFeed($location = null)
{
if ($location == null) {
$uri = self::CALENDAR_EVENT_FEED_URI;
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_Calendar_EventFeed');
}
/**
* Retreive entry object
*
* @return Zend_Gdata_Calendar_EventEntry
*/
public function getCalendarEventEntry($location = null)
{
if ($location == null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Location must not be null');
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getEntry($uri, 'Zend_Gdata_Calendar_EventEntry');
}
/**
* Retrieve feed object
*
* @return Zend_Gdata_Calendar_ListFeed
*/
public function getCalendarListFeed()
{
$uri = self::CALENDAR_FEED_URI . '/default';
return parent::getFeed($uri,'Zend_Gdata_Calendar_ListFeed');
}
/**
* Retreive entryobject
*
* @return Zend_Gdata_Calendar_ListEntry
*/
public function getCalendarListEntry($location = null)
{
if ($location == null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Location must not be null');
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getEntry($uri,'Zend_Gdata_Calendar_ListEntry');
}
public function insertEvent($event, $uri=null)
{
if ($uri == null) {
$uri = $this->_defaultPostUri;
}
$newEvent = $this->insertEntry($event, $uri, 'Zend_Gdata_Calendar_EventEntry');
return $newEvent;
}
}
DublinCore/Extension/Format.php 0000604 00000003304 15071215231 0012500 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc.
* (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* File format, physical medium, or dimensions of the resource
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @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_DublinCore_Extension_Format extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'dc';
protected $_rootElement = 'format';
/**
* Constructor for Zend_Gdata_DublinCore_Extension_Format which
* File format, physical medium, or dimensions of the resource
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_DublinCore::$namespaces);
parent::__construct();
$this->_text = $value;
}
}
DublinCore/Extension/Creator.php 0000604 00000003271 15071215231 0012652 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc.
* (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Entity primarily responsible for making the resource
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @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_DublinCore_Extension_Creator extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'dc';
protected $_rootElement = 'creator';
/**
* Constructor for Zend_Gdata_DublinCore_Extension_Creator which
* Entity primarily responsible for making the resource
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_DublinCore::$namespaces);
parent::__construct();
$this->_text = $value;
}
}
DublinCore/Extension/Description.php 0000604 00000003213 15071215231 0013532 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc.
* (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Account of the resource
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @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_DublinCore_Extension_Description extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'dc';
protected $_rootElement = 'description';
/**
* Constructor for Zend_Gdata_DublinCore_Extension_Description which
* Account of the resource
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_DublinCore::$namespaces);
parent::__construct();
$this->_text = $value;
}
}
DublinCore/Extension/Publisher.php 0000604 00000003277 15071215231 0013216 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc.
* (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Entity responsible for making the resource available
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @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_DublinCore_Extension_Publisher extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'dc';
protected $_rootElement = 'publisher';
/**
* Constructor for Zend_Gdata_DublinCore_Extension_Publisher which
* Entity responsible for making the resource available
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_DublinCore::$namespaces);
parent::__construct();
$this->_text = $value;
}
}
DublinCore/Extension/Identifier.php 0000604 00000003330 15071215231 0013331 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc.
* (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* An unambiguous reference to the resource within a given context
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @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_DublinCore_Extension_Identifier extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'dc';
protected $_rootElement = 'identifier';
/**
* Constructor for Zend_Gdata_DublinCore_Extension_Identifier which
* An unambiguous reference to the resource within a given context
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_DublinCore::$namespaces);
parent::__construct();
$this->_text = $value;
}
}
DublinCore/Extension/Subject.php 0000604 00000003173 15071215231 0012653 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc.
* (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Topic of the resource
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @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_DublinCore_Extension_Subject extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'dc';
protected $_rootElement = 'subject';
/**
* Constructor for Zend_Gdata_DublinCore_Extension_Subject which
* Topic of the resource
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_DublinCore::$namespaces);
parent::__construct();
$this->_text = $value;
}
}
DublinCore/Extension/Date.php 0000604 00000003364 15071215231 0012133 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc.
* (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Point or period of time associated with an event in the lifecycle of the
* resource
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @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_DublinCore_Extension_Date extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'dc';
protected $_rootElement = 'date';
/**
* Constructor for Zend_Gdata_DublinCore_Extension_Date which
* Point or period of time associated with an event in the lifecycle of the
* resource
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_DublinCore::$namespaces);
parent::__construct();
$this->_text = $value;
}
}
DublinCore/Extension/Language.php 0000604 00000003204 15071215231 0012772 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc.
* (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Language of the resource
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @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_DublinCore_Extension_Language extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'dc';
protected $_rootElement = 'language';
/**
* Constructor for Zend_Gdata_DublinCore_Extension_Language which
* Language of the resource
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_DublinCore::$namespaces);
parent::__construct();
$this->_text = $value;
}
}
DublinCore/Extension/Title.php 0000604 00000003177 15071215231 0012341 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc.
* (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Name given to the resource
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @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_DublinCore_Extension_Title extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'dc';
protected $_rootElement = 'title';
/**
* Constructor for Zend_Gdata_DublinCore_Extension_Title which
* Name given to the resource
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_DublinCore::$namespaces);
parent::__construct();
$this->_text = $value;
}
}
DublinCore/Extension/Rights.php 0000604 00000003272 15071215231 0012514 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc.
* (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Information about rights held in and over the resource
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @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_DublinCore_Extension_Rights extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'dc';
protected $_rootElement = 'rights';
/**
* Constructor for Zend_Gdata_DublinCore_Extension_Rights which
* Information about rights held in and over the resource
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_DublinCore::$namespaces);
parent::__construct();
$this->_text = $value;
}
}
Geo.php 0000604 00000004062 15071215231 0005762 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Geo
* @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
*/
require_once 'Zend/Gdata.php';
/**
* Service class for interacting with the services which use the
* GeoRSS + GML extensions.
* @link http://georss.org/
* @link http://www.opengis.net/gml/
* @link http://code.google.com/apis/picasaweb/reference.html#georss_reference
*
* @category Zend
* @package Zend_Gdata
* @subpackage Geo
* @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_Geo extends Zend_Gdata
{
/**
* Namespaces used for Zend_Gdata_Geo
*
* @var array
*/
public static $namespaces = array(
array('georss', 'http://www.georss.org/georss', 1, 0),
array('gml', 'http://www.opengis.net/gml', 1, 0)
);
/**
* Create Zend_Gdata_Geo object
*
* @param Zend_Http_Client $client (optional) The HTTP client to use when
* when communicating with the Google Apps servers.
* @param string $applicationId The identity of the app in the form of Company-AppName-Version
*/
public function __construct($client = null, $applicationId = 'MyCompany-MyApp-1.0')
{
$this->registerPackage('Zend_Gdata_Geo');
$this->registerPackage('Zend_Gdata_Geo_Extension');
parent::__construct($client, $applicationId);
}
}
DublinCore.php 0000604 00000003611 15071215231 0007275 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @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
*/
require_once 'Zend/Gdata.php';
/**
* Service class for interacting with the services which use the
* DublinCore extensions.
*
* @category Zend
* @package Zend_Gdata
* @subpackage DublinCore
* @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_DublinCore extends Zend_Gdata
{
/**
* Namespaces used for Zend_Gdata_DublinCore
*
* @var array
*/
public static $namespaces = array(
array('dc', 'http://purl.org/dc/terms', 1, 0)
);
/**
* Create Zend_Gdata_DublinCore object
*
* @param Zend_Http_Client $client (optional) The HTTP client to use when
* when communicating with the Google servers.
* @param string $applicationId The identity of the app in the form of Company-AppName-Version
*/
public function __construct($client = null, $applicationId = 'MyCompany-MyApp-1.0')
{
$this->registerPackage('Zend_Gdata_DublinCore');
$this->registerPackage('Zend_Gdata_DublinCore_Extension');
parent::__construct($client, $applicationId);
}
}
Media.php 0000604 00000003637 15071215231 0006276 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata
*/
require_once 'Zend/Gdata.php';
/**
* Service class for interacting with the services which use the media extensions
* @link http://code.google.com/apis/gdata/calendar.html
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_Media extends Zend_Gdata
{
/**
* Namespaces used for Zend_Gdata_Photos
*
* @var array
*/
public static $namespaces = array(
array('media', 'http://search.yahoo.com/mrss/', 1, 0)
);
/**
* Create Gdata_Media object
*
* @param Zend_Http_Client $client (optional) The HTTP client to use when
* when communicating with the Google Apps servers.
* @param string $applicationId The identity of the app in the form of Company-AppName-Version
*/
public function __construct($client = null, $applicationId = 'MyCompany-MyApp-1.0')
{
$this->registerPackage('Zend_Gdata_Media');
$this->registerPackage('Zend_Gdata_Media_Extension');
parent::__construct($client, $applicationId);
}
}
YouTube/CommentEntry.php 0000604 00000002434 15071215231 0011271 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Feed
*/
require_once 'Zend/Gdata/Media/Feed.php';
/**
* The YouTube comments flavor of an Atom Entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_CommentEntry extends Zend_Gdata_Entry
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_CommentEntry';
}
YouTube/Extension/MediaGroup.php 0000604 00000023230 15071215231 0012652 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Extension_MediaGroup
*/
require_once 'Zend/Gdata/Media/Extension/MediaGroup.php';
/**
* @see Zend_Gdata_YouTube_Extension_MediaContent
*/
require_once 'Zend/Gdata/YouTube/Extension/MediaContent.php';
/**
* @see Zend_Gdata_YouTube_Extension_Duration
*/
require_once 'Zend/Gdata/YouTube/Extension/Duration.php';
/**
* @see Zend_Gdata_YouTube_Extension_MediaRating
*/
require_once 'Zend/Gdata/YouTube/Extension/MediaRating.php';
/**
* @see Zend_Gdata_YouTube_Extension_MediaCredit
*/
require_once 'Zend/Gdata/YouTube/Extension/MediaCredit.php';
/**
* @see Zend_Gdata_YouTube_Extension_Private
*/
require_once 'Zend/Gdata/YouTube/Extension/Private.php';
/**
* @see Zend_Gdata_YouTube_Extension_VideoId
*/
require_once 'Zend/Gdata/YouTube/Extension/VideoId.php';
/**
* @see Zend_Gdata_YouTube_Extension_Uploaded
*/
require_once 'Zend/Gdata/YouTube/Extension/Uploaded.php';
/**
* This class represents the media:group element of Media RSS.
* It allows the grouping of media:content elements that are
* different representations of the same content. When it exists,
* it is a child of an Entry (Atom) or Item (RSS).
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_MediaGroup extends Zend_Gdata_Media_Extension_MediaGroup
{
protected $_rootElement = 'group';
protected $_rootNamespace = 'media';
/**
* @var Zend_Gdata_YouTube_Extension_Duration
*/
protected $_duration = null;
/**
* @var Zend_Gdata_YouTube_Extension_Private
*/
protected $_private = null;
/**
* @var Zend_Gdata_YouTube_Extension_VideoId
*/
protected $_videoid = null;
/**
* @var Zend_Gdata_YouTube_Extension_MediaRating
*/
protected $_mediarating = null;
/**
* @var Zend_Gdata_YouTube_Extension_MediaCredit
*/
protected $_mediacredit = null;
/**
* @var Zend_Gdata_YouTube_Extension_Uploaded
*/
protected $_uploaded = null;
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_duration !== null) {
$element->appendChild(
$this->_duration->getDOM($element->ownerDocument));
}
if ($this->_private !== null) {
$element->appendChild(
$this->_private->getDOM($element->ownerDocument));
}
if ($this->_videoid != null) {
$element->appendChild(
$this->_videoid->getDOM($element->ownerDocument));
}
if ($this->_uploaded != null) {
$element->appendChild(
$this->_uploaded->getDOM($element->ownerDocument));
}
if ($this->_mediacredit != null) {
$element->appendChild(
$this->_mediacredit->getDOM($element->ownerDocument));
}
if ($this->_mediarating != null) {
$element->appendChild(
$this->_mediarating->getDOM($element->ownerDocument));
}
return $element;
}
/**
* Creates individual Entry objects of the appropriate type and
* stores them in the $_entry array based upon DOM data.
*
* @param DOMNode $child The DOMNode to process
*/
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('media') . ':' . 'content':
$content = new Zend_Gdata_YouTube_Extension_MediaContent();
$content->transferFromDOM($child);
$this->_content[] = $content;
break;
case $this->lookupNamespace('media') . ':' . 'rating':
$mediarating = new Zend_Gdata_YouTube_Extension_MediaRating();
$mediarating->transferFromDOM($child);
$this->_mediarating = $mediarating;
break;
case $this->lookupNamespace('media') . ':' . 'credit':
$mediacredit = new Zend_Gdata_YouTube_Extension_MediaCredit();
$mediacredit->transferFromDOM($child);
$this->_mediacredit = $mediacredit;
break;
case $this->lookupNamespace('yt') . ':' . 'duration':
$duration = new Zend_Gdata_YouTube_Extension_Duration();
$duration->transferFromDOM($child);
$this->_duration = $duration;
break;
case $this->lookupNamespace('yt') . ':' . 'private':
$private = new Zend_Gdata_YouTube_Extension_Private();
$private->transferFromDOM($child);
$this->_private = $private;
break;
case $this->lookupNamespace('yt') . ':' . 'videoid':
$videoid = new Zend_Gdata_YouTube_Extension_VideoId();
$videoid ->transferFromDOM($child);
$this->_videoid = $videoid;
break;
case $this->lookupNamespace('yt') . ':' . 'uploaded':
$uploaded = new Zend_Gdata_YouTube_Extension_Uploaded();
$uploaded ->transferFromDOM($child);
$this->_uploaded = $uploaded;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Returns the duration value of this element
*
* @return Zend_Gdata_YouTube_Extension_Duration
*/
public function getDuration()
{
return $this->_duration;
}
/**
* Sets the duration value of this element
*
* @param Zend_Gdata_YouTube_Extension_Duration $value The duration value
* @return Zend_Gdata_YouTube_Extension_MediaGroup Provides a fluent
* interface
*/
public function setDuration($value)
{
$this->_duration = $value;
return $this;
}
/**
* Returns the videoid value of this element
*
* @return Zend_Gdata_YouTube_Extension_VideoId
*/
public function getVideoId()
{
return $this->_videoid;
}
/**
* Sets the videoid value of this element
*
* @param Zend_Gdata_YouTube_Extension_VideoId $value The video id value
* @return Zend_Gdata_YouTube_Extension_MediaGroup Provides a fluent
* interface
*/
public function setVideoId($value)
{
$this->_videoid = $value;
return $this;
}
/**
* Returns the yt:uploaded element
*
* @return Zend_Gdata_YouTube_Extension_Uploaded
*/
public function getUploaded()
{
return $this->_uploaded;
}
/**
* Sets the yt:uploaded element
*
* @param Zend_Gdata_YouTube_Extension_Uploaded $value The uploaded value
* @return Zend_Gdata_YouTube_Extension_MediaGroup Provides a fluent
* interface
*/
public function setUploaded($value)
{
$this->_uploaded = $value;
return $this;
}
/**
* Returns the private value of this element
*
* @return Zend_Gdata_YouTube_Extension_Private
*/
public function getPrivate()
{
return $this->_private;
}
/**
* Sets the private value of this element
*
* @param Zend_Gdata_YouTube_Extension_Private $value The private value
* @return Zend_Gdata_YouTube_Extension_MediaGroup Provides a fluent
* interface
*/
public function setPrivate($value)
{
$this->_private = $value;
return $this;
}
/**
* Returns the rating value of this element
*
* @return Zend_Gdata_YouTube_Extension_MediaRating
*/
public function getMediaRating()
{
return $this->_mediarating;
}
/**
* Sets the media:rating value of this element
*
* @param Zend_Gdata_YouTube_Extension_MediaRating $value The rating element
* @return Zend_Gdata_YouTube_Extension_MediaGroup Provides a fluent
* interface
*/
public function setMediaRating($value)
{
$this->_mediarating = $value;
return $this;
}
/**
* Returns the media:credit value of this element
*
* @return Zend_Gdata_YouTube_Extension_MediaCredit
*/
public function getMediaCredit()
{
return $this->_mediacredit;
}
/**
* Sets the media:credit value of this element
*
* @param Zend_Gdata_YouTube_Extension_MediaCredit $value The credit element
* @return Zend_Gdata_YouTube_Extension_MediaGroup Provides a fluent
* interface
*/
public function setMediaCredit($value)
{
$this->_mediacredit = $value;
return $this;
}
}
YouTube/Extension/Status.php 0000604 00000002601 15071215231 0012100 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:status element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Status extends Zend_Gdata_Extension
{
protected $_rootElement = 'status';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/Control.php 0000604 00000010003 15071215231 0012230 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension_Control
*/
require_once 'Zend/Gdata/App/Extension/Control.php';
/**
* @see Zend_Gdata_YouTube_Extension_State
*/
require_once 'Zend/Gdata/YouTube/Extension/State.php';
/**
* Specialized Control class for use with YouTube. Enables use of yt extension elements.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Control extends Zend_Gdata_App_Extension_Control
{
protected $_state = null;
/**
* Constructs a new Zend_Gdata_Calendar_Extension_Control object.
* @see Zend_Gdata_App_Extension_Control#__construct
* @param Zend_Gdata_App_Extension_Draft $draft
* @param Zend_Gdata_YouTube_Extension_State $state
*/
public function __construct($draft = null, $state = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($draft);
$this->_state = $state;
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_state != null) {
$element->appendChild($this->_state->getDOM($element->ownerDocument));
}
return $element;
}
/**
* Creates individual Entry objects of the appropriate type and
* stores them as members of this entry based upon DOM data.
*
* @param DOMNode $child The DOMNode to process
*/
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('yt') . ':' . 'state':
$state = new Zend_Gdata_YouTube_Extension_State();
$state->transferFromDOM($child);
$this->_state = $state;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Get the value for this element's state attribute.
*
* @return Zend_Gdata_YouTube_Extension_State The state element.
*/
public function getState()
{
return $this->_state;
}
/**
* Set the value for this element's state attribute.
*
* @param Zend_Gdata_YouTube_Extension_State $value The desired value for this attribute.
* @return Zend_YouTube_Extension_Control The element being modified.
*/
public function setState($value)
{
$this->_state = $value;
return $this;
}
/**
* Get the value of this element's state attribute.
*
* @return string The state's text value
*/
public function getStateValue()
{
return $this->getState()->getText();
}
}
YouTube/Extension/Token.php 0000604 00000004177 15071215231 0011707 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:token element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Token extends Zend_Gdata_App_Extension
{
protected $_rootNamespace = 'yt';
protected $_rootElement = 'token';
/**
* Constructs a new Zend_Gdata_YouTube_Extension_Token object.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
return $element;
}
}
YouTube/Extension/NoEmbed.php 0000604 00000003046 15071215231 0012132 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:noembed element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_NoEmbed extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'yt';
protected $_rootElement = 'noembed';
/**
* Constructs a new Zend_Gdata_YouTube_Extension_VideoShare object.
* @param bool $enabled(optional) The enabled value of the element.
*/
public function __construct($enabled = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
}
}
YouTube/Extension/Relationship.php 0000604 00000002623 15071215231 0013262 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:relationship element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Relationship extends Zend_Gdata_Extension
{
protected $_rootElement = 'relationship';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/Description.php 0000604 00000002620 15071215231 0013101 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:description element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Description extends Zend_Gdata_Extension
{
protected $_rootElement = 'description';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/State.php 0000604 00000013167 15071215231 0011706 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:state element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_State extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'yt';
protected $_rootElement = 'state';
protected $_name = null;
protected $_reasonCode = null;
protected $_helpUrl = null;
/**
* Constructs a new Zend_Gdata_YouTube_Extension_State object.
*
* @param string $explanation(optional) The explanation of this state
* @param string $name(optional) The name value
* @param string $reasonCode(optional) The reasonCode value
* @param string $helpUrl(optional) The helpUrl value
*/
public function __construct($explanation = null, $name = null,
$reasonCode = null, $helpUrl = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $explanation;
$this->_name = $name;
$this->_reasonCode = $reasonCode;
$this->_helpUrl = $reasonCode;
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_name !== null) {
$element->setAttribute('name', $this->_name);
}
if ($this->_reasonCode !== null) {
$element->setAttribute('reasonCode', $this->_reasonCode);
}
if ($this->_helpUrl !== null) {
$element->setAttribute('helpUrl', $this->_helpUrl);
}
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and valueare
* stored in an array.
* TODO: Convert attributes to proper types
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'name':
$this->_name = $attribute->nodeValue;
break;
case 'reasonCode':
$this->_reasonCode = $attribute->nodeValue;
break;
case 'helpUrl':
$this->_helpUrl = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's name attribute.
*
* @return int The value associated with this attribute.
*/
public function getName()
{
return $this->_name;
}
/**
* Set the value for this element's name attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_State The element being modified.
*/
public function setName($value)
{
$this->_name = $value;
return $this;
}
/**
* Get the value for this element's reasonCode attribute.
*
* @return int The value associated with this attribute.
*/
public function getReasonCode()
{
return $this->_reasonCode;
}
/**
* Set the value for this element's reasonCode attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_State The element being modified.
*/
public function setReasonCode($value)
{
$this->_reasonCode = $value;
return $this;
}
/**
* Get the value for this element's helpUrl attribute.
*
* @return int The value associated with this attribute.
*/
public function getHelpUrl()
{
return $this->_helpUrl;
}
/**
* Set the value for this element's helpUrl attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_State The element being modified.
*/
public function setHelpUrl($value)
{
$this->_helpUrl = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*
* @return string
*/
public function __toString()
{
return $this->_text;
}
}
YouTube/Extension/PlaylistId.php 0000604 00000002615 15071215231 0012700 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:playlistId element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_PlaylistId extends Zend_Gdata_Extension
{
protected $_rootElement = 'playlistId';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/Position.php 0000604 00000004515 15071215231 0012427 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Data model class to represent a playlist item's position in the list (yt:position)
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Position extends Zend_Gdata_Extension
{
protected $_rootElement = 'position';
protected $_rootNamespace = 'yt';
/**
* Constructs a new Zend_Gdata_YouTube_Extension_Position object.
*
* @param string $value (optional) The 1-based position in the playlist
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $value;
}
/**
* Get the value for the position in the playlist
*
* @return int The 1-based position in the playlist
*/
public function getValue()
{
return $this->_text;
}
/**
* Set the value for the position in the playlist
*
* @param int $value The 1-based position in the playlist
* @return Zend_Gdata_Extension_Visibility The element being modified
*/
public function setValue($value)
{
$this->_text = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*
* @return string
*/
public function __toString()
{
return $this->getValue();
}
}
YouTube/Extension/Uploaded.php 0000604 00000002607 15071215231 0012360 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:uploaded element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Uploaded extends Zend_Gdata_Extension
{
protected $_rootElement = 'uploaded';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/FirstName.php 0000604 00000002612 15071215231 0012507 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:firstName element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_FirstName extends Zend_Gdata_Extension
{
protected $_rootElement = 'firstName';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/Movies.php 0000604 00000002601 15071215231 0012057 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:movies element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Movies extends Zend_Gdata_Extension
{
protected $_rootElement = 'movies';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/Gender.php 0000604 00000002601 15071215231 0012021 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:gender element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Gender extends Zend_Gdata_Extension
{
protected $_rootElement = 'gender';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/Link.php 0000604 00000010066 15071215231 0011516 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension_Link
*/
require_once 'Zend/Gdata/App/Extension/Link.php';
/**
* @see Zend_Gdata_YouTube_Extension_Token
*/
require_once 'Zend/Gdata/YouTube/Extension/Token.php';
/**
* Specialized Link class for use with YouTube. Enables use of yt extension elements.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Link extends Zend_Gdata_App_Extension_Link
{
protected $_token = null;
/**
* Constructs a new Zend_Gdata_Calendar_Extension_Link object.
* @see Zend_Gdata_App_Extension_Link#__construct
* @param Zend_Gdata_YouTube_Extension_Token $token
*/
public function __construct($href = null, $rel = null, $type = null,
$hrefLang = null, $title = null, $length = null, $token = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($href, $rel, $type, $hrefLang, $title, $length);
$this->_token = $token;
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_token != null) {
$element->appendChild($this->_token->getDOM($element->ownerDocument));
}
return $element;
}
/**
* Creates individual Entry objects of the appropriate type and
* stores them as members of this entry based upon DOM data.
*
* @param DOMNode $child The DOMNode to process
*/
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('yt') . ':' . 'token':
$token = new Zend_Gdata_YouTube_Extension_Token();
$token->transferFromDOM($child);
$this->_token = $token;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Get the value for this element's token attribute.
*
* @return Zend_Gdata_YouTube_Extension_Token The token element.
*/
public function getToken()
{
return $this->_token;
}
/**
* Set the value for this element's token attribute.
*
* @param Zend_Gdata_YouTube_Extension_Token $value The desired value for this attribute.
* @return Zend_YouTube_Extension_Link The element being modified.
*/
public function setToken($value)
{
$this->_token = $value;
return $this;
}
/**
* Get the value of this element's token attribute.
*
* @return string The token's text value
*/
public function getTokenValue()
{
return $this->getToken()->getText();
}
}
YouTube/Extension/Company.php 0000604 00000002604 15071215231 0012226 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:company element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Company extends Zend_Gdata_Extension
{
protected $_rootElement = 'company';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/CountHint.php 0000604 00000002612 15071215231 0012532 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:countHint element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_CountHint extends Zend_Gdata_Extension
{
protected $_rootElement = 'countHint';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/Recorded.php 0000604 00000002607 15071215231 0012352 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:recorded element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Recorded extends Zend_Gdata_Extension
{
protected $_rootElement = 'recorded';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/Age.php 0000604 00000002570 15071215231 0011316 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:age element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Age extends Zend_Gdata_Extension
{
protected $_rootElement = 'age';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/MediaRating.php 0000604 00000007751 15071215231 0013014 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the media:rating element specific to YouTube.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_MediaRating extends Zend_Gdata_Extension
{
protected $_rootElement = 'rating';
protected $_rootNamespace = 'media';
/**
* @var string
*/
protected $_scheme = null;
/**
* @var string
*/
protected $_country = null;
/**
* Constructs a new MediaRating element
*
* @param string $text
* @param string $scheme
* @param string $country
*/
public function __construct($text = null, $scheme = null, $country = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct();
$this->_scheme = $scheme;
$this->_country = $country;
$this->_text = $text;
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_scheme !== null) {
$element->setAttribute('scheme', $this->_scheme);
}
if ($this->_country != null) {
$element->setAttribute('country', $this->_country);
}
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and value are
* stored in an array.
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'scheme':
$this->_scheme = $attribute->nodeValue;
break;
case 'country':
$this->_country = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return string
*/
public function getScheme()
{
return $this->_scheme;
}
/**
* @param string $value
* @return Zend_Gdata_YouTube_Extension_MediaRating Provides a fluent interface
*/
public function setScheme($value)
{
$this->_scheme = $value;
return $this;
}
/**
* @return string
*/
public function getCountry()
{
return $this->_country;
}
/**
* @param string $value
* @return Zend_Gdata_YouTube_Extension_MediaRating Provides a fluent interface
*/
public function setCountry($value)
{
$this->_country = $value;
return $this;
}
}
YouTube/Extension/AboutMe.php 0000604 00000002604 15071215231 0012154 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:aboutMe element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_AboutMe extends Zend_Gdata_Extension
{
protected $_rootElement = 'aboutMe';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/Hometown.php 0000604 00000002607 15071215231 0012423 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:hometown element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Hometown extends Zend_Gdata_Extension
{
protected $_rootElement = 'hometown';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/MediaCredit.php 0000604 00000011610 15071215231 0012767 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the YouTube specific media:credit element
*
* @category Zend
* @package Zend_Gdata
* @subpackage Media
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_MediaCredit extends Zend_Gdata_Extension
{
protected $_rootElement = 'credit';
protected $_rootNamespace = 'media';
/**
* @var string
*/
protected $_role = null;
/**
* @var string
*/
protected $_scheme = null;
/**
* Represents the value of the yt:type attribute.
*
* Set to 'partner' if the uploader of this video is a YouTube
* partner.
*
* @var string
*/
protected $_yttype = null;
/**
* Creates an individual MediaCredit object.
*
* @param string $text
* @param string $role
* @param string $scheme
*/
public function __construct($text = null, $role = null, $scheme = null,
$yttype = null)
{
$this->registerAllNamespaces(Zend_Gdata_Media::$namespaces);
parent::__construct();
$this->_text = $text;
$this->_role = $role;
$this->_scheme = $scheme;
$this->_yttype = $yttype;
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_role !== null) {
$element->setAttribute('role', $this->_role);
}
if ($this->_scheme !== null) {
$element->setAttribute('scheme', $this->_scheme);
}
if ($this->_yttype !== null) {
$element->setAttributeNS('http://gdata.youtube.com/schemas/2007',
'yt:type', $this->_yttype);
}
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and value are
* stored in an array.
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'role':
$this->_role = $attribute->nodeValue;
break;
case 'scheme':
$this->_scheme = $attribute->nodeValue;
break;
case 'type':
$this->_yttype = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return string
*/
public function getRole()
{
return $this->_role;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaCredit Provides a fluent
* interface
*/
public function setRole($value)
{
$this->_role = $value;
return $this;
}
/**
* @return string
*/
public function getScheme()
{
return $this->_scheme;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaCredit Provides a fluent
* interface
*/
public function setScheme($value)
{
$this->_scheme = $value;
return $this;
}
/**
* @return string
*/
public function getYTtype()
{
return $this->_yttype;
}
/**
* @param string $value
* @return Zend_Gdata_Media_Extension_MediaCredit Provides a fluent
* interface
*/
public function setYTtype($value)
{
$this->_yttype = $value;
return $this;
}
} YouTube/Extension/Duration.php 0000604 00000007277 15071215231 0012420 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:duration element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Duration extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'yt';
protected $_rootElement = 'duration';
protected $_seconds = null;
/**
* Constructs a new Zend_Gdata_YouTube_Extension_Duration object.
* @param bool $seconds(optional) The seconds value of the element.
*/
public function __construct($seconds = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_seconds = $seconds;
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_seconds !== null) {
$element->setAttribute('seconds', $this->_seconds);
}
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and valueare
* stored in an array.
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'seconds':
$this->_seconds = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's seconds attribute.
*
* @return int The value associated with this attribute.
*/
public function getSeconds()
{
return $this->_seconds;
}
/**
* Set the value for this element's seconds attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_Duration The element being modified.
*/
public function setSeconds($value)
{
$this->_seconds = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*
* @return string The duration in seconds
*/
public function __toString()
{
return $this->_seconds;
}
}
YouTube/Extension/MediaContent.php 0000604 00000007140 15071215231 0013172 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Extension_MediaContent
*/
require_once 'Zend/Gdata/Media/Extension/MediaContent.php';
/**
* Represents the media:content element of Media RSS.
* Represents media objects. Multiple media objects representing
* the same content can be represented using a
* media:group (Zend_Gdata_Media_Extension_MediaGroup) element.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_MediaContent extends Zend_Gdata_Media_Extension_MediaContent
{
protected $_rootElement = 'content';
protected $_rootNamespace = 'media';
/*
* Format of the video
* Optional.
*
* @var int
*/
protected $_format = null;
function __construct() {
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_format!= null) {
$element->setAttributeNS($this->lookupNamespace('yt'), 'yt:format', $this->_format);
}
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and value are
* stored in an array.
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
$absoluteAttrName = $attribute->namespaceURI . ':' . $attribute->localName;
if ($absoluteAttrName == $this->lookupNamespace('yt') . ':' . 'format') {
$this->_format = $attribute->nodeValue;
} else {
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Returns the format of the media
* Optional.
*
* @return int The format of the media
*/
public function getFormat()
{
return $this->_format;
}
/**
* Sets the format of the media
*
* @param int $value Format of the media
* @return Zend_Gdata_YouTube_Extension_MediaContent Provides a fluent interface
*
*/
public function setFormat($value)
{
$this->_format = $value;
return $this;
}
}
YouTube/Extension/Username.php 0000604 00000002607 15071215231 0012402 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:username element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Username extends Zend_Gdata_Extension
{
protected $_rootElement = 'username';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/ReleaseDate.php 0000604 00000002620 15071215231 0012774 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:releaseDate element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_ReleaseDate extends Zend_Gdata_Extension
{
protected $_rootElement = 'releaseDate';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/Music.php 0000604 00000002576 15071215231 0011710 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:music element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Music extends Zend_Gdata_Extension
{
protected $_rootElement = 'music';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/LastName.php 0000604 00000002607 15071215231 0012327 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:lastName element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_LastName extends Zend_Gdata_Extension
{
protected $_rootElement = 'lastName';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/Racy.php 0000604 00000007125 15071215231 0011521 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:racy element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Racy extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'yt';
protected $_rootElement = 'racy';
protected $_state = null;
/**
* Constructs a new Zend_Gdata_YouTube_Extension_Racy object.
* @param bool $state(optional) The state value of the element.
*/
public function __construct($state = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_state = $state;
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_state !== null) {
$element->setAttribute('state', $this->_state);
}
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and value are
* stored in an array.
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'state':
$this->_state = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's state attribute.
*
* @return bool The value associated with this attribute.
*/
public function getState()
{
return $this->_state;
}
/**
* Set the value for this element's state attribute.
*
* @param bool $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_Racy The element being modified.
*/
public function setState($value)
{
$this->_state = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*/
public function __toString()
{
return $this->_state;
}
}
YouTube/Extension/Occupation.php 0000604 00000002615 15071215231 0012726 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:occupation element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Occupation extends Zend_Gdata_Extension
{
protected $_rootElement = 'occupation';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/PlaylistTitle.php 0000604 00000002626 15071215231 0013427 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:playlistTitle element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_PlaylistTitle extends Zend_Gdata_Extension
{
protected $_rootElement = 'playlistTitle';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/QueryString.php 0000604 00000002620 15071215231 0013112 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:queryString element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_QueryString extends Zend_Gdata_Extension
{
protected $_rootElement = 'queryString';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/Location.php 0000604 00000002607 15071215231 0012373 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:location element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Location extends Zend_Gdata_Extension
{
protected $_rootElement = 'location';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/Private.php 0000604 00000004745 15071215231 0012242 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:private element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Private extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'yt';
protected $_rootElement = 'private';
/**
* Constructs a new Zend_Gdata_YouTube_Extension_Private object.
*/
public function __construct()
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and valueare
* stored in an array.
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
parent::takeAttributeFromDOM($attribute);
}
}
YouTube/Extension/School.php 0000604 00000002601 15071215231 0012044 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:school element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_School extends Zend_Gdata_Extension
{
protected $_rootElement = 'school';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/Statistics.php 0000604 00000011310 15071215231 0012744 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:statistics element used by the YouTube data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Statistics extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'yt';
protected $_rootElement = 'statistics';
protected $_viewCount = null;
protected $_watchCount = null;
/**
* Constructs a new Zend_Gdata_YouTube_Extension_Statistics object.
* @param string $viewCount(optional) The viewCount value
* @param string $watchCount(optional) The watchCount value
*/
public function __construct($viewCount = null, $watchCount = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_viewCount = $viewCount;
$this->_watchCount = $watchCount;
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_viewCount !== null) {
$element->setAttribute('viewCount', $this->_viewCount);
}
if ($this->_watchCount !== null) {
$element->setAttribute('watchCount', $this->_watchCount);
}
return $element;
}
/**
* Given a DOMNode representing an attribute, tries to map the data into
* instance members. If no mapping is defined, the name and valueare
* stored in an array.
* TODO: Convert attributes to proper types
*
* @param DOMNode $attribute The DOMNode attribute needed to be handled
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'viewCount':
$this->_viewCount = $attribute->nodeValue;
break;
case 'watchCount':
$this->_watchCount = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's viewCount attribute.
*
* @return int The value associated with this attribute.
*/
public function getViewCount()
{
return $this->_viewCount;
}
/**
* Set the value for this element's viewCount attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_Statistics The element being modified.
*/
public function setViewCount($value)
{
$this->_viewCount = $value;
return $this;
}
/**
* Get the value for this element's watchCount attribute.
*
* @return int The value associated with this attribute.
*/
public function getWatchCount()
{
return $this->_watchCount;
}
/**
* Set the value for this element's watchCount attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_YouTube_Extension_Statistics The element being modified.
*/
public function setWatchCount($value)
{
$this->_watchCount = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*
* @return string
*/
public function __toString()
{
return 'View Count=' . $this->_viewCount;
}
}
YouTube/Extension/VideoId.php 0000604 00000002604 15071215231 0012143 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:videoid element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_VideoId extends Zend_Gdata_Extension
{
protected $_rootElement = 'videoid';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/Hobbies.php 0000604 00000002604 15071215231 0012173 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:hobbies element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Hobbies extends Zend_Gdata_Extension
{
protected $_rootElement = 'hobbies';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/Extension/Books.php 0000604 00000002576 15071215231 0011705 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the yt:books element
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_Extension_Books extends Zend_Gdata_Extension
{
protected $_rootElement = 'books';
protected $_rootNamespace = 'yt';
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
YouTube/PlaylistVideoEntry.php 0000604 00000010127 15071215231 0012455 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_YouTube_VideoEntry
*/
require_once 'Zend/Gdata/YouTube/VideoEntry.php';
/**
* @see Zend_Gdata_YouTube_Extension_Position
*/
require_once 'Zend/Gdata/YouTube/Extension/Position.php';
/**
* Represents the YouTube video playlist flavor of an Atom entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_PlaylistVideoEntry extends Zend_Gdata_YouTube_VideoEntry
{
protected $_entryClassName = 'Zend_Gdata_YouTube_PlaylistVideoEntry';
/**
* Position of the entry in the feed, as specified by the user
*
* @var Zend_Gdata_YouTube_Extension_Position
*/
protected $_position = null;
/**
* Creates a Playlist video entry, representing an individual video
* in a list of videos contained within a specific playlist
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_position !== null) {
$element->appendChild($this->_position->getDOM($element->ownerDocument));
}
return $element;
}
/**
* Creates individual Entry objects of the appropriate type and
* stores them in the $_entry array based upon DOM data.
*
* @param DOMNode $child The DOMNode to process
*/
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('yt') . ':' . 'position':
$position = new Zend_Gdata_YouTube_Extension_Position();
$position->transferFromDOM($child);
$this->_position = $position;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Sets the array of embedded feeds related to the video
*
* @param Zend_Gdata_YouTube_Extension_Position $position
* The position of the entry in the feed, as specified by the user.
* @return Zend_Gdata_YouTube_PlaylistVideoEntry Provides a fluent interface
*/
public function setPosition($position = null)
{
$this->_position = $position;
return $this;
}
/**
* Returns the position of the entry in the feed, as specified by the user
*
* @return Zend_Gdata_YouTube_Extension_Position The position
*/
public function getPosition()
{
return $this->_position;
}
}
YouTube/CommentFeed.php 0000604 00000003436 15071215231 0011036 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* @see Zend_Gdata_YouTube_CommentEntry
*/
require_once 'Zend/Gdata/YouTube/CommentEntry.php';
/**
* The YouTube comments flavor of an Atom Feed
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_CommentFeed extends Zend_Gdata_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_CommentEntry';
/**
* Constructs a new YouTube Comment Feed object, to represent
* a feed of comments for an individual video
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}
YouTube/SubscriptionFeed.php 0000604 00000003722 15071215231 0012116 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Feed
*/
require_once 'Zend/Gdata/Media/Feed.php';
/**
* @see Zend_Gdata_YouTube_SubscriptionEntry
*/
require_once 'Zend/Gdata/YouTube/SubscriptionEntry.php';
/**
* The YouTube video subscription list flavor of an Atom Feed with media support
* Represents a list of individual subscriptions, where each contained entry is
* a subscription.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_SubscriptionFeed extends Zend_Gdata_Media_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_SubscriptionEntry';
/**
* Creates a Subscription feed, representing a list of subscriptions,
* usually associated with an individual user.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}
YouTube/VideoFeed.php 0000604 00000003377 15071215231 0010506 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Feed
*/
require_once 'Zend/Gdata/Media/Feed.php';
/**
* @see Zend_Gdata_YouTube_VideoEntry
*/
require_once 'Zend/Gdata/YouTube/VideoEntry.php';
/**
* The YouTube video flavor of an Atom Feed with media support
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_VideoFeed extends Zend_Gdata_Media_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_VideoEntry';
/**
* Creates a Video feed, representing a list of videos
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}
YouTube/ContactEntry.php 0000604 00000007665 15071215231 0011275 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_YouTube_UserProfileEntry
*/
require_once 'Zend/Gdata/YouTube/UserProfileEntry.php';
/**
* @see Zend_Gdata_YouTube_Extension_Status
*/
require_once 'Zend/Gdata/YouTube/Extension/Status.php';
/**
* The YouTube contacts flavor of an Atom Entry with media support
* Represents a an individual contact
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_ContactEntry extends Zend_Gdata_YouTube_UserProfileEntry
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_ContactEntry';
/**
* Status of the user as a contact
*
* @var string
*/
protected $_status = null;
/**
* Constructs a new Contact Entry object, to represent
* an individual contact for a user
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_status != null) {
$element->appendChild($this->_status->getDOM($element->ownerDocument));
}
return $element;
}
/**
* Creates individual Entry objects of the appropriate type and
* stores them in the $_entry array based upon DOM data.
*
* @param DOMNode $child The DOMNode to process
*/
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('yt') . ':' . 'status':
$status = new Zend_Gdata_YouTube_Extension_Status();
$status->transferFromDOM($child);
$this->_status = $status;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Sets the status
*
* @param Zend_Gdata_YouTube_Extension_Status $status The status
* @return Zend_Gdata_YouTube_ContactEntry Provides a fluent interface
*/
public function setStatus($status = null)
{
$this->_status = $status;
return $this;
}
/**
* Returns the status
*
* @return Zend_Gdata_YouTube_Extension_Status The status
*/
public function getStatus()
{
return $this->_status;
}
}
YouTube/PlaylistListFeed.php 0000604 00000003676 15071215231 0012077 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Feed
*/
require_once 'Zend/Gdata/Media/Feed.php';
/**
* @see Zend_Gdata_YouTube_PlaylistListEntry
*/
require_once 'Zend/Gdata/YouTube/PlaylistListEntry.php';
/**
* The YouTube video playlist flavor of an Atom Feed with media support
* Represents a list of individual playlists, where each contained entry is
* a playlist.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_PlaylistListFeed extends Zend_Gdata_Media_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_PlaylistListEntry';
/**
* Creates a Playlist list feed, representing a list of playlists,
* usually associated with an individual user.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}
YouTube/PlaylistVideoFeed.php 0000604 00000003714 15071215231 0012223 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Feed
*/
require_once 'Zend/Gdata/Media/Feed.php';
/**
* @see Zend_Gdata_YouTube_PlaylistVideoEntry
*/
require_once 'Zend/Gdata/YouTube/PlaylistVideoEntry.php';
/**
* The YouTube video playlist flavor of an Atom Feed with media support
* Represents a list of videos contained in a playlist. Each entry in this
* feed represents an individual video.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_PlaylistVideoFeed extends Zend_Gdata_Media_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_PlaylistVideoEntry';
/**
* Creates a Play Video feed, representing a list of videos contained
* within a single playlist.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}
YouTube/MediaEntry.php 0000604 00000004344 15071215231 0010710 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media
*/
require_once 'Zend/Gdata/Media.php';
/**
* @see Zend_Gdata_Media_Entry
*/
require_once 'Zend/Gdata/Media/Entry.php';
/**
* @see Zend_Gdata_YouTube_Extension_MediaGroup
*/
require_once 'Zend/Gdata/YouTube/Extension/MediaGroup.php';
/**
* Represents the YouTube flavor of a Gdata Media Entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_MediaEntry extends Zend_Gdata_Media_Entry
{
protected $_entryClassName = 'Zend_Gdata_YouTube_MediaEntry';
/**
* media:group element
*
* @var Zend_Gdata_YouTube_Extension_MediaGroup
*/
protected $_mediaGroup = null;
/**
* Creates individual Entry objects of the appropriate type and
* stores them as members of this entry based upon DOM data.
*
* @param DOMNode $child The DOMNode to process
*/
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('media') . ':' . 'group':
$mediaGroup = new Zend_Gdata_YouTube_Extension_MediaGroup();
$mediaGroup->transferFromDOM($child);
$this->_mediaGroup = $mediaGroup;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
}
YouTube/UserProfileEntry.php 0000604 00000072313 15071215231 0012131 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Entry
*/
require_once 'Zend/Gdata/Entry.php';
/**
* @see Zend_Gdata_Extension_FeedLink
*/
require_once 'Zend/Gdata/Extension/FeedLink.php';
/**
* @see Zend_Gdata_YouTube_Extension_Description
*/
require_once 'Zend/Gdata/YouTube/Extension/Description.php';
/**
* @see Zend_Gdata_YouTube_Extension_AboutMe
*/
require_once 'Zend/Gdata/YouTube/Extension/AboutMe.php';
/**
* @see Zend_Gdata_YouTube_Extension_Age
*/
require_once 'Zend/Gdata/YouTube/Extension/Age.php';
/**
* @see Zend_Gdata_YouTube_Extension_Username
*/
require_once 'Zend/Gdata/YouTube/Extension/Username.php';
/**
* @see Zend_Gdata_YouTube_Extension_Books
*/
require_once 'Zend/Gdata/YouTube/Extension/Books.php';
/**
* @see Zend_Gdata_YouTube_Extension_Company
*/
require_once 'Zend/Gdata/YouTube/Extension/Company.php';
/**
* @see Zend_Gdata_YouTube_Extension_Hobbies
*/
require_once 'Zend/Gdata/YouTube/Extension/Hobbies.php';
/**
* @see Zend_Gdata_YouTube_Extension_Hometown
*/
require_once 'Zend/Gdata/YouTube/Extension/Hometown.php';
/**
* @see Zend_Gdata_YouTube_Extension_Location
*/
require_once 'Zend/Gdata/YouTube/Extension/Location.php';
/**
* @see Zend_Gdata_YouTube_Extension_Movies
*/
require_once 'Zend/Gdata/YouTube/Extension/Movies.php';
/**
* @see Zend_Gdata_YouTube_Extension_Music
*/
require_once 'Zend/Gdata/YouTube/Extension/Music.php';
/**
* @see Zend_Gdata_YouTube_Extension_Occupation
*/
require_once 'Zend/Gdata/YouTube/Extension/Occupation.php';
/**
* @see Zend_Gdata_YouTube_Extension_School
*/
require_once 'Zend/Gdata/YouTube/Extension/School.php';
/**
* @see Zend_Gdata_YouTube_Extension_Gender
*/
require_once 'Zend/Gdata/YouTube/Extension/Gender.php';
/**
* @see Zend_Gdata_YouTube_Extension_Relationship
*/
require_once 'Zend/Gdata/YouTube/Extension/Relationship.php';
/**
* @see Zend_Gdata_YouTube_Extension_FirstName
*/
require_once 'Zend/Gdata/YouTube/Extension/FirstName.php';
/**
* @see Zend_Gdata_YouTube_Extension_LastName
*/
require_once 'Zend/Gdata/YouTube/Extension/LastName.php';
/**
* @see Zend_Gdata_YouTube_Extension_Statistics
*/
require_once 'Zend/Gdata/YouTube/Extension/Statistics.php';
/**
* @see Zend_Gdata_Media_Extension_MediaThumbnail
*/
require_once 'Zend/Gdata/Media/Extension/MediaThumbnail.php';
/**
* Represents the YouTube video playlist flavor of an Atom entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_UserProfileEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_YouTube_UserProfileEntry';
/**
* Nested feed links
*
* @var array
*/
protected $_feedLink = array();
/**
* The username for this profile entry
*
* @var string
*/
protected $_username = null;
/**
* The description of the user
*
* @var string
*/
protected $_description = null;
/**
* The contents of the 'About Me' field.
*
* @var string
*/
protected $_aboutMe = null;
/**
* The age of the user
*
* @var int
*/
protected $_age = null;
/**
* Books of interest to the user
*
* @var string
*/
protected $_books = null;
/**
* Company
*
* @var string
*/
protected $_company = null;
/**
* Hobbies
*
* @var string
*/
protected $_hobbies = null;
/**
* Hometown
*
* @var string
*/
protected $_hometown = null;
/**
* Location
*
* @var string
*/
protected $_location = null;
/**
* Movies
*
* @var string
*/
protected $_movies = null;
/**
* Music
*
* @var string
*/
protected $_music = null;
/**
* Occupation
*
* @var string
*/
protected $_occupation = null;
/**
* School
*
* @var string
*/
protected $_school = null;
/**
* Gender
*
* @var string
*/
protected $_gender = null;
/**
* Relationship
*
* @var string
*/
protected $_relationship = null;
/**
* First name
*
* @var string
*/
protected $_firstName = null;
/**
* Last name
*
* @var string
*/
protected $_lastName = null;
/**
* Statistics
*
* @var Zend_Gdata_YouTube_Extension_Statistics
*/
protected $_statistics = null;
/**
* Thumbnail
*
* @var Zend_Gdata_Media_Extension_MediaThumbnail
*/
protected $_thumbnail = null;
/**
* Creates a User Profile entry, representing an individual user
* and their attributes.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_description != null) {
$element->appendChild($this->_description->getDOM($element->ownerDocument));
}
if ($this->_aboutMe != null) {
$element->appendChild($this->_aboutMe->getDOM($element->ownerDocument));
}
if ($this->_age != null) {
$element->appendChild($this->_age->getDOM($element->ownerDocument));
}
if ($this->_username != null) {
$element->appendChild($this->_username->getDOM($element->ownerDocument));
}
if ($this->_books != null) {
$element->appendChild($this->_books->getDOM($element->ownerDocument));
}
if ($this->_company != null) {
$element->appendChild($this->_company->getDOM($element->ownerDocument));
}
if ($this->_hobbies != null) {
$element->appendChild($this->_hobbies->getDOM($element->ownerDocument));
}
if ($this->_hometown != null) {
$element->appendChild($this->_hometown->getDOM($element->ownerDocument));
}
if ($this->_location != null) {
$element->appendChild($this->_location->getDOM($element->ownerDocument));
}
if ($this->_movies != null) {
$element->appendChild($this->_movies->getDOM($element->ownerDocument));
}
if ($this->_music != null) {
$element->appendChild($this->_music->getDOM($element->ownerDocument));
}
if ($this->_occupation != null) {
$element->appendChild($this->_occupation->getDOM($element->ownerDocument));
}
if ($this->_school != null) {
$element->appendChild($this->_school->getDOM($element->ownerDocument));
}
if ($this->_gender != null) {
$element->appendChild($this->_gender->getDOM($element->ownerDocument));
}
if ($this->_relationship != null) {
$element->appendChild($this->_relationship->getDOM($element->ownerDocument));
}
if ($this->_firstName != null) {
$element->appendChild($this->_firstName->getDOM($element->ownerDocument));
}
if ($this->_lastName != null) {
$element->appendChild($this->_lastName->getDOM($element->ownerDocument));
}
if ($this->_statistics != null) {
$element->appendChild($this->_statistics->getDOM($element->ownerDocument));
}
if ($this->_thumbnail != null) {
$element->appendChild($this->_thumbnail->getDOM($element->ownerDocument));
}
if ($this->_feedLink != null) {
foreach ($this->_feedLink as $feedLink) {
$element->appendChild($feedLink->getDOM($element->ownerDocument));
}
}
return $element;
}
/**
* Creates individual Entry objects of the appropriate type and
* stores them in the $_entry array based upon DOM data.
*
* @param DOMNode $child The DOMNode to process
*/
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('yt') . ':' . 'description':
$description = new Zend_Gdata_YouTube_Extension_Description();
$description->transferFromDOM($child);
$this->_description = $description;
break;
case $this->lookupNamespace('yt') . ':' . 'aboutMe':
$aboutMe = new Zend_Gdata_YouTube_Extension_AboutMe();
$aboutMe->transferFromDOM($child);
$this->_aboutMe = $aboutMe;
break;
case $this->lookupNamespace('yt') . ':' . 'age':
$age = new Zend_Gdata_YouTube_Extension_Age();
$age->transferFromDOM($child);
$this->_age = $age;
break;
case $this->lookupNamespace('yt') . ':' . 'username':
$username = new Zend_Gdata_YouTube_Extension_Username();
$username->transferFromDOM($child);
$this->_username = $username;
break;
case $this->lookupNamespace('yt') . ':' . 'books':
$books = new Zend_Gdata_YouTube_Extension_Books();
$books->transferFromDOM($child);
$this->_books = $books;
break;
case $this->lookupNamespace('yt') . ':' . 'company':
$company = new Zend_Gdata_YouTube_Extension_Company();
$company->transferFromDOM($child);
$this->_company = $company;
break;
case $this->lookupNamespace('yt') . ':' . 'hobbies':
$hobbies = new Zend_Gdata_YouTube_Extension_Hobbies();
$hobbies->transferFromDOM($child);
$this->_hobbies = $hobbies;
break;
case $this->lookupNamespace('yt') . ':' . 'hometown':
$hometown = new Zend_Gdata_YouTube_Extension_Hometown();
$hometown->transferFromDOM($child);
$this->_hometown = $hometown;
break;
case $this->lookupNamespace('yt') . ':' . 'location':
$location = new Zend_Gdata_YouTube_Extension_Location();
$location->transferFromDOM($child);
$this->_location = $location;
break;
case $this->lookupNamespace('yt') . ':' . 'movies':
$movies = new Zend_Gdata_YouTube_Extension_Movies();
$movies->transferFromDOM($child);
$this->_movies = $movies;
break;
case $this->lookupNamespace('yt') . ':' . 'music':
$music = new Zend_Gdata_YouTube_Extension_Music();
$music->transferFromDOM($child);
$this->_music = $music;
break;
case $this->lookupNamespace('yt') . ':' . 'occupation':
$occupation = new Zend_Gdata_YouTube_Extension_Occupation();
$occupation->transferFromDOM($child);
$this->_occupation = $occupation;
break;
case $this->lookupNamespace('yt') . ':' . 'school':
$school = new Zend_Gdata_YouTube_Extension_School();
$school->transferFromDOM($child);
$this->_school = $school;
break;
case $this->lookupNamespace('yt') . ':' . 'gender':
$gender = new Zend_Gdata_YouTube_Extension_Gender();
$gender->transferFromDOM($child);
$this->_gender = $gender;
break;
case $this->lookupNamespace('yt') . ':' . 'relationship':
$relationship = new Zend_Gdata_YouTube_Extension_Relationship();
$relationship->transferFromDOM($child);
$this->_relationship = $relationship;
break;
case $this->lookupNamespace('yt') . ':' . 'firstName':
$firstName = new Zend_Gdata_YouTube_Extension_FirstName();
$firstName->transferFromDOM($child);
$this->_firstName = $firstName;
break;
case $this->lookupNamespace('yt') . ':' . 'lastName':
$lastName = new Zend_Gdata_YouTube_Extension_LastName();
$lastName->transferFromDOM($child);
$this->_lastName = $lastName;
break;
case $this->lookupNamespace('yt') . ':' . 'statistics':
$statistics = new Zend_Gdata_YouTube_Extension_Statistics();
$statistics->transferFromDOM($child);
$this->_statistics = $statistics;
break;
case $this->lookupNamespace('media') . ':' . 'thumbnail':
$thumbnail = new Zend_Gdata_Media_Extension_MediaThumbnail();
$thumbnail->transferFromDOM($child);
$this->_thumbnail = $thumbnail;
break;
case $this->lookupNamespace('gd') . ':' . 'feedLink':
$feedLink = new Zend_Gdata_Extension_FeedLink();
$feedLink->transferFromDOM($child);
$this->_feedLink[] = $feedLink;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Sets the content of the 'about me' field.
*
* @param Zend_Gdata_YouTube_Extension_AboutMe $aboutMe The 'about me'
* information.
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setAboutMe($aboutMe = null)
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The setAboutMe ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
$this->_aboutMe = $aboutMe;
return $this;
}
}
/**
* Returns the contents of the 'about me' field.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_AboutMe The 'about me' information
*/
public function getAboutMe()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getAboutMe ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_aboutMe;
}
}
/**
* Sets the content of the 'first name' field.
*
* @param Zend_Gdata_YouTube_Extension_FirstName $firstName The first name
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setFirstName($firstName = null)
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The setFirstName ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
$this->_firstName = $firstName;
return $this;
}
}
/**
* Returns the first name
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_FirstName The first name
*/
public function getFirstName()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getFirstName ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_firstName;
}
}
/**
* Sets the content of the 'last name' field.
*
* @param Zend_Gdata_YouTube_Extension_LastName $lastName The last name
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setLastName($lastName = null)
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The setLastName ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
$this->_lastName = $lastName;
return $this;
}
}
/**
* Returns the last name
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_LastName The last name
*/
public function getLastName()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getLastName ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_lastName;
}
}
/**
* Returns the statistics
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_Statistics The profile statistics
*/
public function getStatistics()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getStatistics ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_statistics;
}
}
/**
* Returns the thumbnail
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_Media_Extension_MediaThumbnail The profile thumbnail
*/
public function getThumbnail()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getThumbnail ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_thumbnail;
}
}
/**
* Sets the age
*
* @param Zend_Gdata_YouTube_Extension_Age $age The age
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setAge($age = null)
{
$this->_age = $age;
return $this;
}
/**
* Returns the age
*
* @return Zend_Gdata_YouTube_Extension_Age The age
*/
public function getAge()
{
return $this->_age;
}
/**
* Sets the username
*
* @param Zend_Gdata_YouTube_Extension_Username $username The username
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setUsername($username = null)
{
$this->_username = $username;
return $this;
}
/**
* Returns the username
*
* @return Zend_Gdata_YouTube_Extension_Username The username
*/
public function getUsername()
{
return $this->_username;
}
/**
* Sets the books
*
* @param Zend_Gdata_YouTube_Extension_Books $books The books
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setBooks($books = null)
{
$this->_books = $books;
return $this;
}
/**
* Returns the books
*
* @return Zend_Gdata_YouTube_Extension_Books The books
*/
public function getBooks()
{
return $this->_books;
}
/**
* Sets the company
*
* @param Zend_Gdata_YouTube_Extension_Company $company The company
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setCompany($company = null)
{
$this->_company = $company;
return $this;
}
/**
* Returns the company
*
* @return Zend_Gdata_YouTube_Extension_Company The company
*/
public function getCompany()
{
return $this->_company;
}
/**
* Sets the hobbies
*
* @param Zend_Gdata_YouTube_Extension_Hobbies $hobbies The hobbies
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setHobbies($hobbies = null)
{
$this->_hobbies = $hobbies;
return $this;
}
/**
* Returns the hobbies
*
* @return Zend_Gdata_YouTube_Extension_Hobbies The hobbies
*/
public function getHobbies()
{
return $this->_hobbies;
}
/**
* Sets the hometown
*
* @param Zend_Gdata_YouTube_Extension_Hometown $hometown The hometown
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setHometown($hometown = null)
{
$this->_hometown = $hometown;
return $this;
}
/**
* Returns the hometown
*
* @return Zend_Gdata_YouTube_Extension_Hometown The hometown
*/
public function getHometown()
{
return $this->_hometown;
}
/**
* Sets the location
*
* @param Zend_Gdata_YouTube_Extension_Location $location The location
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setLocation($location = null)
{
$this->_location = $location;
return $this;
}
/**
* Returns the location
*
* @return Zend_Gdata_YouTube_Extension_Location The location
*/
public function getLocation()
{
return $this->_location;
}
/**
* Sets the movies
*
* @param Zend_Gdata_YouTube_Extension_Movies $movies The movies
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setMovies($movies = null)
{
$this->_movies = $movies;
return $this;
}
/**
* Returns the movies
*
* @return Zend_Gdata_YouTube_Extension_Movies The movies
*/
public function getMovies()
{
return $this->_movies;
}
/**
* Sets the music
*
* @param Zend_Gdata_YouTube_Extension_Music $music The music
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setMusic($music = null)
{
$this->_music = $music;
return $this;
}
/**
* Returns the music
*
* @return Zend_Gdata_YouTube_Extension_Music The music
*/
public function getMusic()
{
return $this->_music;
}
/**
* Sets the occupation
*
* @param Zend_Gdata_YouTube_Extension_Occupation $occupation The occupation
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setOccupation($occupation = null)
{
$this->_occupation = $occupation;
return $this;
}
/**
* Returns the occupation
*
* @return Zend_Gdata_YouTube_Extension_Occupation The occupation
*/
public function getOccupation()
{
return $this->_occupation;
}
/**
* Sets the school
*
* @param Zend_Gdata_YouTube_Extension_School $school The school
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setSchool($school = null)
{
$this->_school = $school;
return $this;
}
/**
* Returns the school
*
* @return Zend_Gdata_YouTube_Extension_School The school
*/
public function getSchool()
{
return $this->_school;
}
/**
* Sets the gender
*
* @param Zend_Gdata_YouTube_Extension_Gender $gender The gender
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setGender($gender = null)
{
$this->_gender = $gender;
return $this;
}
/**
* Returns the gender
*
* @return Zend_Gdata_YouTube_Extension_Gender The gender
*/
public function getGender()
{
return $this->_gender;
}
/**
* Sets the relationship
*
* @param Zend_Gdata_YouTube_Extension_Relationship $relationship The relationship
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setRelationship($relationship = null)
{
$this->_relationship = $relationship;
return $this;
}
/**
* Returns the relationship
*
* @return Zend_Gdata_YouTube_Extension_Relationship The relationship
*/
public function getRelationship()
{
return $this->_relationship;
}
/**
* Sets the array of embedded feeds related to the video
*
* @param array $feedLink The array of embedded feeds relating to the video
* @return Zend_Gdata_YouTube_UserProfileEntry Provides a fluent interface
*/
public function setFeedLink($feedLink = null)
{
$this->_feedLink = $feedLink;
return $this;
}
/**
* Get the feed link property for this entry.
*
* @see setFeedLink
* @param string $rel (optional) The rel value of the link to be found.
* If null, the array of links is returned.
* @return mixed If $rel is specified, a Zend_Gdata_Extension_FeedLink
* object corresponding to the requested rel value is returned
* if found, or null if the requested value is not found. If
* $rel is null or not specified, an array of all available
* feed links for this entry is returned, or null if no feed
* links are set.
*/
public function getFeedLink($rel = null)
{
if ($rel == null) {
return $this->_feedLink;
} else {
foreach ($this->_feedLink as $feedLink) {
if ($feedLink->rel == $rel) {
return $feedLink;
}
}
return null;
}
}
/**
* Returns the URL in the gd:feedLink with the provided rel value
*
* @param string $rel The rel value to find
* @return mixed Either the URL as a string or null if a feedLink wasn't
* found with the provided rel value
*/
public function getFeedLinkHref($rel)
{
$feedLink = $this->getFeedLink($rel);
if ($feedLink !== null) {
return $feedLink->href;
} else {
return null;
}
}
/**
* Returns the URL of the playlist list feed
*
* @return string The URL of the playlist video feed
*/
public function getPlaylistListFeedUrl()
{
return getFeedLinkHref(Zend_Gdata_YouTube::USER_PLAYLISTS_REL);
}
/**
* Returns the URL of the uploads feed
*
* @return string The URL of the uploads video feed
*/
public function getUploadsFeedUrl()
{
return getFeedLinkHref(Zend_Gdata_YouTube::USER_UPLOADS_REL);
}
/**
* Returns the URL of the subscriptions feed
*
* @return string The URL of the subscriptions feed
*/
public function getSubscriptionsFeedUrl()
{
return getFeedLinkHref(Zend_Gdata_YouTube::USER_SUBSCRIPTIONS_REL);
}
/**
* Returns the URL of the contacts feed
*
* @return string The URL of the contacts feed
*/
public function getContactsFeedUrl()
{
return getFeedLinkHref(Zend_Gdata_YouTube::USER_CONTACTS_REL);
}
/**
* Returns the URL of the favorites feed
*
* @return string The URL of the favorites feed
*/
public function getFavoritesFeedUrl()
{
return getFeedLinkHref(Zend_Gdata_YouTube::USER_FAVORITES_REL);
}
}
YouTube/VideoQuery.php 0000604 00000041272 15071215231 0010744 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Gdata_YouTube
*/
require_once('Zend/Gdata/YouTube.php');
/**
* Zend_Gdata_Query
*/
require_once('Zend/Gdata/Query.php');
/**
* Assists in constructing queries for YouTube videos
*
* @link http://code.google.com/apis/youtube/
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_VideoQuery extends Zend_Gdata_Query
{
/**
* Create Gdata_YouTube_VideoQuery object
*/
public function __construct($url = null)
{
parent::__construct($url);
}
/**
* Sets the type of feed this query should be used to search
*
* @param string $feedType The type of feed
* @param string $videoId The ID of the video associated with this query
* @param string $entry The ID of the entry associated with this query
*/
public function setFeedType($feedType, $videoId = null, $entry = null)
{
switch ($feedType) {
case 'top rated':
$this->_url = Zend_Gdata_YouTube::STANDARD_TOP_RATED_URI;
break;
case 'most viewed':
$this->_url = Zend_Gdata_YouTube::STANDARD_MOST_VIEWED_URI;
break;
case 'recently featured':
$this->_url = Zend_Gdata_YouTube::STANDARD_RECENTLY_FEATURED_URI;
break;
case 'mobile':
$this->_url = Zend_Gdata_YouTube::STANDARD_WATCH_ON_MOBILE_URI;
break;
case 'related':
if ($videoId === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Video ID must be set for feed of type: ' . $feedType);
} else {
$this->_url = Zend_Gdata_YouTube::VIDEO_URI . '/' . $videoId .
'/related';
}
break;
case 'responses':
if ($videoId === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_Exception(
'Video ID must be set for feed of type: ' . $feedType);
} else {
$this->_url = Zend_Gdata_YouTube::VIDEO_URI . '/' . $videoId .
'responses';
}
break;
case 'comments':
if ($videoId === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_Exception(
'Video ID must be set for feed of type: ' . $feedType);
} else {
$this->_url = Zend_Gdata_YouTube::VIDEO_URI . '/' .
$videoId . 'comments';
if ($entry !== null) {
$this->_url .= '/' . $entry;
}
}
break;
default:
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('Unknown feed type');
break;
}
}
/**
* Sets the location parameter for the query
*
* @param string $value
* @throws Zend_Gdata_App_InvalidArgumentException
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setLocation($value)
{
switch($value) {
case null:
unset($this->_params['location']);
default:
$parameters = explode(',', $value);
if (count($parameters) != 2) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'You must provide 2 coordinates to the location ' .
'URL parameter');
}
foreach($parameters as $param) {
$temp = trim($param);
// strip off the optional exclamation mark for numeric check
if (substr($temp, -1) == '!') {
$temp = substr($temp, -1);
}
if (!is_numeric($temp)) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Value provided to location parameter must' .
' be in the form of two coordinates');
}
}
$this->_params['location'] = $value;
}
}
/**
* Get the value of the location parameter
*
* @return string|null Return the location if it exists, null otherwise.
*/
public function getLocation()
{
if (array_key_exists('location', $this->_params)) {
return $this->_params['location'];
} else {
return null;
}
}
/**
* Sets the location-radius parameter for the query
*
* @param string $value
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setLocationRadius($value)
{
switch($value) {
case null:
unset($this->_params['location-radius']);
default:
$this->_params['location-radius'] = $value;
}
}
/**
* Get the value of the location-radius parameter
*
* @return string|null Return the location-radius if it exists,
* null otherwise.
*/
public function getLocationRadius()
{
if (array_key_exists('location-radius', $this->_params)) {
return $this->_params['location-radius'];
} else {
return null;
}
}
/**
* Sets the time period over which this query should apply
*
* @param string $value
* @throws Zend_Gdata_App_InvalidArgumentException
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setTime($value = null)
{
switch ($value) {
case 'today':
$this->_params['time'] = 'today';
break;
case 'this_week':
$this->_params['time'] = 'this_week';
break;
case 'this_month':
$this->_params['time'] = 'this_month';
break;
case 'all_time':
$this->_params['time'] = 'all_time';
break;
case null:
unset($this->_params['time']);
default:
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Unknown time value');
break;
}
return $this;
}
/**
* Sets the value of the uploader parameter
*
* @param string $value The value of the uploader parameter. Currently this
* can only be set to the value of 'partner'.
* @throws Zend_Gdata_App_InvalidArgumentException
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setUploader($value = null)
{
switch ($value) {
case 'partner':
$this->_params['uploader'] = 'partner';
break;
case null:
unset($this->_params['uploader']);
break;
default:
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Unknown value for uploader');
}
return $this;
}
/**
* Sets the formatted video query (vq) URL param value
*
* @param string $value
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setVideoQuery($value = null)
{
if ($value != null) {
$this->_params['vq'] = $value;
} else {
unset($this->_params['vq']);
}
return $this;
}
/**
* Sets the param to return videos of a specific format
*
* @param string $value
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setFormat($value = null)
{
if ($value != null) {
$this->_params['format'] = $value;
} else {
unset($this->_params['format']);
}
return $this;
}
/**
* Sets whether or not to include racy videos in the search results
*
* @param string $value
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setRacy($value = null)
{
switch ($value) {
case 'include':
$this->_params['racy'] = $value;
break;
case 'exclude':
$this->_params['racy'] = $value;
break;
case null:
unset($this->_params['racy']);
break;
}
return $this;
}
/**
* Whether or not to include racy videos in the search results
*
* @return string|null The value of racy if it exists, null otherwise.
*/
public function getRacy()
{
if (array_key_exists('racy', $this->_params)) {
return $this->_params['racy'];
} else {
return null;
}
}
/**
* Set the safeSearch parameter
*
* @param string $value The value of the parameter, currently only 'none',
* 'moderate' or 'strict' are allowed values.
* @throws Zend_Gdata_App_InvalidArgumentException
* @return Zend_Gdata_YouTube_VideoQuery Provides a fluent interface
*/
public function setSafeSearch($value)
{
switch ($value) {
case 'none':
$this->_params['safeSearch'] = 'none';
break;
case 'moderate':
$this->_params['safeSearch'] = 'moderate';
break;
case 'strict':
$this->_params['safeSearch'] = 'strict';
break;
case null:
unset($this->_params['safeSearch']);
default:
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'The safeSearch parameter only supports the values '.
'\'none\', \'moderate\' or \'strict\'.');
}
}
/**
* Return the value of the safeSearch parameter
*
* @return string|null The value of the safeSearch parameter if it has been
* set, null otherwise.
*/
public function getSafeSearch()
{
if (array_key_exists('safeSearch', $this->_params)) {
return $this->_params['safeSearch'];
}
return $this;
}
/**
* Set the value of the orderby parameter
*
* @param string $value
* @return Zend_Gdata_YouTube_Query Provides a fluent interface
*/
public function setOrderBy($value)
{
if ($value != null) {
$this->_params['orderby'] = $value;
} else {
unset($this->_params['orderby']);
}
return $this;
}
/**
* Return the value of the format parameter
*
* @return string|null The value of format if it exists, null otherwise.
*/
public function getFormat()
{
if (array_key_exists('format', $this->_params)) {
return $this->_params['format'];
} else {
return null;
}
}
/**
* Return the value of the video query that has been set
*
* @return string|null The value of the video query if it exists,
* null otherwise.
*/
public function getVideoQuery()
{
if (array_key_exists('vq', $this->_params)) {
return $this->_params['vq'];
} else {
return null;
}
}
/**
* Return the value of the time parameter
*
* @return string|null The time parameter if it exists, null otherwise.
*/
public function getTime()
{
if (array_key_exists('time', $this->_params)) {
return $this->_params['time'];
} else {
return null;
}
}
/**
* Return the value of the orderby parameter if it exists
*
* @return string|null The value of orderby if it exists, null otherwise.
*/
public function getOrderBy()
{
if (array_key_exists('orderby', $this->_params)) {
return $this->_params['orderby'];
} else {
return null;
}
}
/**
* Generate the query string from the URL parameters, optionally modifying
* them based on protocol version.
*
* @param integer $majorProtocolVersion The major protocol version
* @param integer $minorProtocolVersion The minor protocol version
* @throws Zend_Gdata_App_VersionException
* @return string querystring
*/
public function getQueryString($majorProtocolVersion = null,
$minorProtocolVersion = null)
{
$queryArray = array();
foreach ($this->_params as $name => $value) {
if (substr($name, 0, 1) == '_') {
continue;
}
switch($name) {
case 'location-radius':
if ($majorProtocolVersion == 1) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException("The $name " .
"parameter is only supported in version 2.");
}
break;
case 'racy':
if ($majorProtocolVersion == 2) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException("The $name " .
"parameter is not supported in version 2. " .
"Please use 'safeSearch'.");
}
break;
case 'safeSearch':
if ($majorProtocolVersion == 1) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException("The $name " .
"parameter is only supported in version 2. " .
"Please use 'racy'.");
}
break;
case 'uploader':
if ($majorProtocolVersion == 1) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException("The $name " .
"parameter is only supported in version 2.");
}
break;
case 'vq':
if ($majorProtocolVersion == 2) {
$name = 'q';
}
break;
}
$queryArray[] = urlencode($name) . '=' . urlencode($value);
}
if (count($queryArray) > 0) {
return '?' . implode('&', $queryArray);
} else {
return '';
}
}
/**
* Returns the generated full query URL, optionally modifying it based on
* the protocol version.
*
* @param integer $majorProtocolVersion The major protocol version
* @param integer $minorProtocolVersion The minor protocol version
* @return string The URL
*/
public function getQueryUrl($majorProtocolVersion = null,
$minorProtocolVersion = null)
{
if (isset($this->_url)) {
$url = $this->_url;
} else {
$url = Zend_Gdata_YouTube::VIDEO_URI;
}
if ($this->getCategory() !== null) {
$url .= '/-/' . $this->getCategory();
}
$url = $url . $this->getQueryString($majorProtocolVersion,
$minorProtocolVersion);
return $url;
}
}
YouTube/SubscriptionEntry.php 0000604 00000034677 15071215231 0012371 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Entry
*/
require_once 'Zend/Gdata/Entry.php';
/**
* @see Zend_Gdata_Extension_FeedLink
*/
require_once 'Zend/Gdata/Extension/FeedLink.php';
/**
* @see Zend_Gdata_YouTube_Extension_Description
*/
require_once 'Zend/Gdata/YouTube/Extension/Description.php';
/**
* @see Zend_Gdata_YouTube_Extension_PlaylistTitle
*/
require_once 'Zend/Gdata/YouTube/Extension/PlaylistTitle.php';
/**
* @see Zend_Gdata_YouTube_Extension_PlaylistId
*/
require_once 'Zend/Gdata/YouTube/Extension/PlaylistId.php';
/**
* @see Zend_Gdata_Media_Extension_MediaThumbnail
*/
require_once 'Zend/Gdata/Media/Extension/MediaThumbnail.php';
/**
* @see Zend_Gdata_YouTube_Extension_Username
*/
require_once 'Zend/Gdata/YouTube/Extension/Username.php';
/**
* @see Zend_Gdata_YouTube_Extension_CountHint
*/
require_once 'Zend/Gdata/YouTube/Extension/CountHint.php';
/**
* @see Zend_Gdata_YouTube_Extension_QueryString
*/
require_once 'Zend/Gdata/YouTube/Extension/QueryString.php';
/**
* Represents the YouTube video subscription flavor of an Atom entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_SubscriptionEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_YouTube_SubscriptionEntry';
/**
* Nested feed links
*
* @var array
*/
protected $_feedLink = array();
/**
* The username of this entry.
*
* @var Zend_Gdata_YouTube_Extension_Username
*/
protected $_username = null;
/**
* The playlist title for this entry.
*
* This element is only used on subscriptions to playlists.
*
* @var Zend_Gdata_YouTube_Extension_PlaylistTitle
*/
protected $_playlistTitle = null;
/**
* The playlist id for this entry.
*
* This element is only used on subscriptions to playlists.
*
* @var Zend_Gdata_YouTube_Extension_PlaylistId
*/
protected $_playlistId = null;
/**
* The media:thumbnail element for this entry.
*
* This element is only used on subscriptions to playlists.
*
* @var Zend_Gdata_Media_Extension_MediaThumbnail
*/
protected $_mediaThumbnail = null;
/**
* The countHint for this entry.
*
* @var Zend_Gdata_YouTube_Extension_CountHint
*/
protected $_countHint = null;
/**
* The queryString for this entry.
*
* @var Zend_Gdata_YouTube_Extension_QueryString
*/
protected $_queryString = null;
/**
* Creates a subscription entry, representing an individual subscription
* in a list of subscriptions, usually associated with an individual user.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_countHint != null) {
$element->appendChild($this->_countHint->getDOM($element->ownerDocument));
}
if ($this->_playlistTitle != null) {
$element->appendChild($this->_playlistTitle->getDOM($element->ownerDocument));
}
if ($this->_playlistId != null) {
$element->appendChild($this->_playlistId->getDOM($element->ownerDocument));
}
if ($this->_mediaThumbnail != null) {
$element->appendChild($this->_mediaThumbnail->getDOM($element->ownerDocument));
}
if ($this->_username != null) {
$element->appendChild($this->_username->getDOM($element->ownerDocument));
}
if ($this->_queryString != null) {
$element->appendChild($this->_queryString->getDOM($element->ownerDocument));
}
if ($this->_feedLink != null) {
foreach ($this->_feedLink as $feedLink) {
$element->appendChild($feedLink->getDOM($element->ownerDocument));
}
}
return $element;
}
/**
* Creates individual Entry objects of the appropriate type and
* stores them in the $_entry array based upon DOM data.
*
* @param DOMNode $child The DOMNode to process
*/
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('gd') . ':' . 'feedLink':
$feedLink = new Zend_Gdata_Extension_FeedLink();
$feedLink->transferFromDOM($child);
$this->_feedLink[] = $feedLink;
break;
case $this->lookupNamespace('media') . ':' . 'thumbnail':
$mediaThumbnail = new Zend_Gdata_Media_Extension_MediaThumbnail();
$mediaThumbnail->transferFromDOM($child);
$this->_mediaThumbnail = $mediaThumbnail;
break;
case $this->lookupNamespace('yt') . ':' . 'countHint':
$countHint = new Zend_Gdata_YouTube_Extension_CountHint();
$countHint->transferFromDOM($child);
$this->_countHint = $countHint;
break;
case $this->lookupNamespace('yt') . ':' . 'playlistTitle':
$playlistTitle = new Zend_Gdata_YouTube_Extension_PlaylistTitle();
$playlistTitle->transferFromDOM($child);
$this->_playlistTitle = $playlistTitle;
break;
case $this->lookupNamespace('yt') . ':' . 'playlistId':
$playlistId = new Zend_Gdata_YouTube_Extension_PlaylistId();
$playlistId->transferFromDOM($child);
$this->_playlistId = $playlistId;
break;
case $this->lookupNamespace('yt') . ':' . 'queryString':
$queryString = new Zend_Gdata_YouTube_Extension_QueryString();
$queryString->transferFromDOM($child);
$this->_queryString = $queryString;
break;
case $this->lookupNamespace('yt') . ':' . 'username':
$username = new Zend_Gdata_YouTube_Extension_Username();
$username->transferFromDOM($child);
$this->_username = $username;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Sets the array of embedded feeds related to the video
*
* @param array $feedLink The array of embedded feeds relating to the video
* @return Zend_Gdata_YouTube_SubscriptionEntry Provides a fluent interface
*/
public function setFeedLink($feedLink = null)
{
$this->_feedLink = $feedLink;
return $this;
}
/**
* Get the feed link property for this entry.
*
* @see setFeedLink
* @param string $rel (optional) The rel value of the link to be found.
* If null, the array of links is returned.
* @return mixed If $rel is specified, a Zend_Gdata_Extension_FeedLink
* object corresponding to the requested rel value is returned
* if found, or null if the requested value is not found. If
* $rel is null or not specified, an array of all available
* feed links for this entry is returned, or null if no feed
* links are set.
*/
public function getFeedLink($rel = null)
{
if ($rel == null) {
return $this->_feedLink;
} else {
foreach ($this->_feedLink as $feedLink) {
if ($feedLink->rel == $rel) {
return $feedLink;
}
}
return null;
}
}
/**
* Get the playlist title for a 'playlist' subscription.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_PlaylistId
*/
public function getPlaylistId()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getPlaylistId ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_playlistId;
}
}
/**
* Sets the yt:playlistId element for a new playlist subscription.
*
* @param Zend_Gdata_YouTube_Extension_PlaylistId $id The id of
* the playlist to which to subscribe to.
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_SubscriptionEntry Provides a fluent interface
*/
public function setPlaylistId($id = null)
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The setPlaylistTitle ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
$this->_playlistId = $id;
return $this;
}
}
/**
* Get the queryString of the subscription
*
* @return Zend_Gdata_YouTube_Extension_QueryString
*/
public function getQueryString()
{
return $this->_queryString;
}
/**
* Sets the yt:queryString element for a new keyword subscription.
*
* @param Zend_Gdata_YouTube_Extension_QueryString $queryString The query
* string to subscribe to
* @return Zend_Gdata_YouTube_SubscriptionEntry Provides a fluent interface
*/
public function setQueryString($queryString = null)
{
$this->_queryString = $queryString;
return $this;
}
/**
* Get the playlist title for a 'playlist' subscription.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_PlaylistTitle
*/
public function getPlaylistTitle()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getPlaylistTitle ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_playlistTitle;
}
}
/**
* Sets the yt:playlistTitle element for a new playlist subscription.
*
* @param Zend_Gdata_YouTube_Extension_PlaylistTitle $title The title of
* the playlist to which to subscribe to.
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_SubscriptionEntry Provides a fluent interface
*/
public function setPlaylistTitle($title = null)
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The setPlaylistTitle ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
$this->_playlistTitle = $title;
return $this;
}
}
/**
* Get the counthint for a subscription.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_CountHint
*/
public function getCountHint()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getCountHint ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_countHint;
}
}
/**
* Get the thumbnail for a subscription.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_Media_Extension_MediaThumbnail
*/
public function getMediaThumbnail()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The getMediaThumbnail ' .
' method is only supported as of version 2 of the YouTube ' .
'API.');
} else {
return $this->_mediaThumbnail;
}
}
/**
* Get the username for a channel subscription.
*
* @return Zend_Gdata_YouTube_Extension_Username
*/
public function getUsername()
{
return $this->_username;
}
/**
* Sets the username for a new channel subscription.
*
* @param Zend_Gdata_YouTube_Extension_Username $username The username of
* the channel to which to subscribe to.
* @return Zend_Gdata_YouTube_SubscriptionEntry Provides a fluent interface
*/
public function setUsername($username = null)
{
$this->_username = $username;
return $this;
}
}
YouTube/PlaylistListEntry.php 0000604 00000022711 15071215231 0012324 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_YouTube
*/
require_once 'Zend/Gdata/YouTube.php';
/**
* @see Zend_Gdata_Entry
*/
require_once 'Zend/Gdata/Entry.php';
/**
* @see Zend_Gdata_Extension_FeedLink
*/
require_once 'Zend/Gdata/Extension/FeedLink.php';
/**
* @see Zend_Gdata_YouTube_Extension_Description
*/
require_once 'Zend/Gdata/YouTube/Extension/Description.php';
/**
* @see Zend_Gdata_YouTube_Extension_PlaylistId
*/
require_once 'Zend/Gdata/YouTube/Extension/PlaylistId.php';
/**
* @see Zend_Gdata_YouTube_Extension_CountHint
*/
require_once 'Zend/Gdata/YouTube/Extension/CountHint.php';
/**
* Represents the YouTube video playlist flavor of an Atom entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_PlaylistListEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_YouTube_PlaylistListEntry';
/**
* Nested feed links
*
* @var array
*/
protected $_feedLink = array();
/**
* Description of this playlist
*
* @deprecated Deprecated as of version 2 of the YouTube API.
* @var Zend_Gdata_YouTube_Extension_Description
*/
protected $_description = null;
/**
* Id of this playlist
*
* @var Zend_Gdata_YouTube_Extension_PlaylistId
*/
protected $_playlistId = null;
/**
* CountHint for this playlist.
*
* @var Zend_Gdata_YouTube_Extension_CountHint
*/
protected $_countHint = null;
/**
* Creates a Playlist list entry, representing an individual playlist
* in a list of playlists, usually associated with an individual user.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_description != null) {
$element->appendChild($this->_description->getDOM($element->ownerDocument));
}
if ($this->_countHint != null) {
$element->appendChild($this->_countHint->getDOM($element->ownerDocument));
}
if ($this->_playlistId != null) {
$element->appendChild($this->_playlistId->getDOM($element->ownerDocument));
}
if ($this->_feedLink != null) {
foreach ($this->_feedLink as $feedLink) {
$element->appendChild($feedLink->getDOM($element->ownerDocument));
}
}
return $element;
}
/**
* Creates individual Entry objects of the appropriate type and
* stores them in the $_entry array based upon DOM data.
*
* @param DOMNode $child The DOMNode to process
*/
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('yt') . ':' . 'description':
$description = new Zend_Gdata_YouTube_Extension_Description();
$description->transferFromDOM($child);
$this->_description = $description;
break;
case $this->lookupNamespace('yt') . ':' . 'countHint':
$countHint = new Zend_Gdata_YouTube_Extension_CountHint();
$countHint->transferFromDOM($child);
$this->_countHint = $countHint;
break;
case $this->lookupNamespace('yt') . ':' . 'playlistId':
$playlistId = new Zend_Gdata_YouTube_Extension_PlaylistId();
$playlistId->transferFromDOM($child);
$this->_playlistId = $playlistId;
break;
case $this->lookupNamespace('gd') . ':' . 'feedLink':
$feedLink = new Zend_Gdata_Extension_FeedLink();
$feedLink->transferFromDOM($child);
$this->_feedLink[] = $feedLink;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Sets the description relating to the playlist.
*
* @deprecated Deprecated as of version 2 of the YouTube API.
* @param Zend_Gdata_YouTube_Extension_Description $description The description relating to the video
* @return Zend_Gdata_YouTube_PlaylistListEntry Provides a fluent interface
*/
public function setDescription($description = null)
{
if ($this->getMajorProtocolVersion() >= 2) {
$this->setSummary($description);
} else {
$this->_description = $description;
}
return $this;
}
/**
* Returns the description relating to the video.
*
* @return Zend_Gdata_YouTube_Extension_Description The description
* relating to the video
*/
public function getDescription()
{
if ($this->getMajorProtocolVersion() >= 2) {
return $this->getSummary();
} else {
return $this->_description;
}
}
/**
* Returns the countHint relating to the playlist.
*
* The countHint is the number of videos on a playlist.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_CountHint The count of videos on
* a playlist.
*/
public function getCountHint()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The yt:countHint ' .
'element is not supported in versions earlier than 2.');
} else {
return $this->_countHint;
}
}
/**
* Returns the Id relating to the playlist.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_PlaylistId The id of this playlist.
*/
public function getPlaylistId()
{
if (($this->getMajorProtocolVersion() == null) ||
($this->getMajorProtocolVersion() == 1)) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException('The yt:playlistId ' .
'element is not supported in versions earlier than 2.');
} else {
return $this->_playlistId;
}
}
/**
* Sets the array of embedded feeds related to the playlist
*
* @param array $feedLink The array of embedded feeds relating to the video
* @return Zend_Gdata_YouTube_PlaylistListEntry Provides a fluent interface
*/
public function setFeedLink($feedLink = null)
{
$this->_feedLink = $feedLink;
return $this;
}
/**
* Get the feed link property for this entry.
*
* @see setFeedLink
* @param string $rel (optional) The rel value of the link to be found.
* If null, the array of links is returned.
* @return mixed If $rel is specified, a Zend_Gdata_Extension_FeedLink
* object corresponding to the requested rel value is returned
* if found, or null if the requested value is not found. If
* $rel is null or not specified, an array of all available
* feed links for this entry is returned, or null if no feed
* links are set.
*/
public function getFeedLink($rel = null)
{
if ($rel == null) {
return $this->_feedLink;
} else {
foreach ($this->_feedLink as $feedLink) {
if ($feedLink->rel == $rel) {
return $feedLink;
}
}
return null;
}
}
/**
* Returns the URL of the playlist video feed
*
* @return string The URL of the playlist video feed
*/
public function getPlaylistVideoFeedUrl()
{
if ($this->getMajorProtocolVersion() >= 2) {
return $this->getContent()->getSrc();
} else {
return $this->getFeedLink(Zend_Gdata_YouTube::PLAYLIST_REL)->href;
}
}
}
YouTube/VideoEntry.php 0000604 00000101744 15071215231 0010741 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: VideoEntry.php 13360 2008-12-18 22:54:14Z jhartmann $
*/
/**
* @see Zend_Gdata_Extension_Comments
*/
require_once 'Zend/Gdata/Extension/Comments.php';
/**
* @see Zend_Gdata_Extension_FeedLink
*/
require_once 'Zend/Gdata/Extension/FeedLink.php';
/**
* @see Zend_Gdata_YouTube_MediaEntry
*/
require_once 'Zend/Gdata/YouTube/MediaEntry.php';
/**
* @see Zend_Gdata_YouTube_Extension_MediaGroup
*/
require_once 'Zend/Gdata/YouTube/Extension/MediaGroup.php';
/**
* @see Zend_Gdata_YouTube_Extension_NoEmbed
*/
require_once 'Zend/Gdata/YouTube/Extension/NoEmbed.php';
/**
* @see Zend_Gdata_YouTube_Extension_Statistics
*/
require_once 'Zend/Gdata/YouTube/Extension/Statistics.php';
/**
* @see Zend_Gdata_YouTube_Extension_Link
*/
require_once 'Zend/Gdata/YouTube/Extension/Link.php';
/**
* @see Zend_Gdata_YouTube_Extension_Racy
*/
require_once 'Zend/Gdata/YouTube/Extension/Racy.php';
/**
* @see Zend_Gdata_Extension_Rating
*/
require_once 'Zend/Gdata/Extension/Rating.php';
/**
* @see Zend_Gdata_Geo_Extension_GeoRssWhere
*/
require_once 'Zend/Gdata/Geo/Extension/GeoRssWhere.php';
/**
* @see Zend_Gdata_YouTube_Extension_Control
*/
require_once 'Zend/Gdata/YouTube/Extension/Control.php';
/**
* @see Zend_Gdata_YouTube_Extension_Recorded
*/
require_once 'Zend/Gdata/YouTube/Extension/Recorded.php';
/**
* @see Zend_Gdata_YouTube_Extension_Location
*/
require_once 'Zend/Gdata/YouTube/Extension/Location.php';
/**
* Represents the YouTube video flavor of an Atom entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_VideoEntry extends Zend_Gdata_YouTube_MediaEntry
{
const YOUTUBE_DEVELOPER_TAGS_SCHEMA = 'http://gdata.youtube.com/schemas/2007/developertags.cat';
const YOUTUBE_CATEGORY_SCHEMA = 'http://gdata.youtube.com/schemas/2007/categories.cat';
protected $_entryClassName = 'Zend_Gdata_YouTube_VideoEntry';
/**
* If null, the video can be embedded
*
* @var Zend_Gdata_YouTube_Extension_NoEmbed|null
*/
protected $_noEmbed = null;
/**
* Specifies the statistics relating to the video.
*
* @var Zend_Gdata_YouTube_Extension_Statistics
*/
protected $_statistics = null;
/**
* If not null, specifies that the video has racy content.
*
* @var Zend_Gdata_YouTube_Extension_Racy|null
*/
protected $_racy = null;
/**
* If not null, specifies that the video is private.
*
* @var Zend_Gdata_YouTube_Extension_Private|null
*/
protected $_private = null;
/**
* Specifies the video's rating.
*
* @var Zend_Gdata_Extension_Rating
*/
protected $_rating = null;
/**
* Specifies the comments associated with a video.
*
* @var Zend_Gdata_Extensions_Comments
*/
protected $_comments = null;
/**
* Nested feed links
*
* @var array
*/
protected $_feedLink = array();
/**
* Geo location for the video
*
* @var Zend_Gdata_Geo_Extension_GeoRssWhere
*/
protected $_where = null;
/**
* Recording date for the video
*
* @var Zend_Gdata_YouTube_Extension_Recorded|null
*/
protected $_recorded = null;
/**
* Location informtion for the video
*
* @var Zend_Gdata_YouTube_Extension_Location|null
*/
protected $_location = null;
/**
* Creates a Video entry, representing an individual video
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
/**
* Retrieves a DOMElement which corresponds to this element and all
* child properties. This is used to build an entry back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistence.
*
* @param DOMDocument $doc The DOMDocument used to construct DOMElements
* @return DOMElement The DOMElement representing this element and all
* child properties.
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_noEmbed != null) {
$element->appendChild($this->_noEmbed->getDOM(
$element->ownerDocument));
}
if ($this->_statistics != null) {
$element->appendChild($this->_statistics->getDOM(
$element->ownerDocument));
}
if ($this->_racy != null) {
$element->appendChild($this->_racy->getDOM(
$element->ownerDocument));
}
if ($this->_recorded != null) {
$element->appendChild($this->_recorded->getDOM(
$element->ownerDocument));
}
if ($this->_location != null) {
$element->appendChild($this->_location->getDOM(
$element->ownerDocument));
}
if ($this->_rating != null) {
$element->appendChild($this->_rating->getDOM(
$element->ownerDocument));
}
if ($this->_comments != null) {
$element->appendChild($this->_comments->getDOM(
$element->ownerDocument));
}
if ($this->_feedLink != null) {
foreach ($this->_feedLink as $feedLink) {
$element->appendChild($feedLink->getDOM(
$element->ownerDocument));
}
}
if ($this->_where != null) {
$element->appendChild($this->_where->getDOM(
$element->ownerDocument));
}
return $element;
}
/**
* Creates individual Entry objects of the appropriate type and
* stores them in the $_entry array based upon DOM data.
*
* @param DOMNode $child The DOMNode to process
*/
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('yt') . ':' . 'statistics':
$statistics = new Zend_Gdata_YouTube_Extension_Statistics();
$statistics->transferFromDOM($child);
$this->_statistics = $statistics;
break;
case $this->lookupNamespace('yt') . ':' . 'racy':
$racy = new Zend_Gdata_YouTube_Extension_Racy();
$racy->transferFromDOM($child);
$this->_racy = $racy;
break;
case $this->lookupNamespace('yt') . ':' . 'recorded':
$recorded = new Zend_Gdata_YouTube_Extension_Recorded();
$recorded->transferFromDOM($child);
$this->_recorded = $recorded;
break;
case $this->lookupNamespace('yt') . ':' . 'location':
$location = new Zend_Gdata_YouTube_Extension_Location();
$location->transferFromDOM($child);
$this->_location = $location;
break;
case $this->lookupNamespace('gd') . ':' . 'rating':
$rating = new Zend_Gdata_Extension_Rating();
$rating->transferFromDOM($child);
$this->_rating = $rating;
break;
case $this->lookupNamespace('gd') . ':' . 'comments':
$comments = new Zend_Gdata_Extension_Comments();
$comments->transferFromDOM($child);
$this->_comments = $comments;
break;
case $this->lookupNamespace('yt') . ':' . 'noembed':
$noEmbed = new Zend_Gdata_YouTube_Extension_NoEmbed();
$noEmbed->transferFromDOM($child);
$this->_noEmbed = $noEmbed;
break;
case $this->lookupNamespace('gd') . ':' . 'feedLink':
$feedLink = new Zend_Gdata_Extension_FeedLink();
$feedLink->transferFromDOM($child);
$this->_feedLink[] = $feedLink;
break;
case $this->lookupNamespace('georss') . ':' . 'where':
$where = new Zend_Gdata_Geo_Extension_GeoRssWhere();
$where->transferFromDOM($child);
$this->_where = $where;
break;
case $this->lookupNamespace('atom') . ':' . 'link';
$link = new Zend_Gdata_YouTube_Extension_Link();
$link->transferFromDOM($child);
$this->_link[] = $link;
break;
case $this->lookupNamespace('app') . ':' . 'control':
$control = new Zend_Gdata_YouTube_Extension_Control();
$control->transferFromDOM($child);
$this->_control = $control;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Sets when the video was recorded.
*
* @param Zend_Gdata_YouTube_Extension_Recorded $recorded When the video was recorded
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setRecorded($recorded = null)
{
$this->_recorded = $recorded;
return $this;
}
/**
* Gets the date that the video was recorded.
*
* @return Zend_Gdata_YouTube_Extension_Recorded|null
*/
public function getRecorded()
{
return $this->_recorded;
}
/**
* Sets the location information.
*
* @param Zend_Gdata_YouTube_Extension_Location $location Where the video
* was recorded
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setLocation($location = null)
{
$this->_location = $location;
return $this;
}
/**
* Gets the location where the video was recorded.
*
* @return Zend_Gdata_YouTube_Extension_Location|null
*/
public function getLocation()
{
return $this->_location;
}
/**
* If an instance of Zend_Gdata_YouTube_Extension_NoEmbed is passed in,
* the video cannot be embedded. Otherwise, if null is passsed in, the
* video is able to be embedded.
*
* @param Zend_Gdata_YouTube_Extension_NoEmbed $noEmbed Whether or not the
* video can be embedded.
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setNoEmbed($noEmbed = null)
{
$this->_noEmbed = $noEmbed;
return $this;
}
/**
* If the return value is an instance of
* Zend_Gdata_YouTube_Extension_NoEmbed, this video cannot be embedded.
*
* @return Zend_Gdata_YouTube_Extension_NoEmbed|null Whether or not the video can be embedded
*/
public function getNoEmbed()
{
return $this->_noEmbed;
}
/**
* Checks whether the video is embeddable.
*
* @return bool Returns true if the video is embeddable.
*/
public function isVideoEmbeddable()
{
if ($this->getNoEmbed() == null) {
return true;
} else {
return false;
}
}
/**
* Sets the statistics relating to the video.
*
* @param Zend_Gdata_YouTube_Extension_Statistics $statistics The statistics relating to the video
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setStatistics($statistics = null)
{
$this->_statistics = $statistics;
return $this;
}
/**
* Returns the statistics relating to the video.
*
* @return Zend_Gdata_YouTube_Extension_Statistics The statistics relating to the video
*/
public function getStatistics()
{
return $this->_statistics;
}
/**
* Specifies that the video has racy content.
*
* @param Zend_Gdata_YouTube_Extension_Racy $racy The racy flag object
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setRacy($racy = null)
{
if ($this->getMajorProtocolVersion() == 2) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException(
'Calling getRacy() on a YouTube VideoEntry is deprecated ' .
'as of version 2 of the API.');
}
$this->_racy = $racy;
return $this;
}
/**
* Returns the racy flag object.
*
* @throws Zend_Gdata_App_VersionException
* @return Zend_Gdata_YouTube_Extension_Racy|null The racy flag object
*/
public function getRacy()
{
if ($this->getMajorProtocolVersion() == 2) {
require_once 'Zend/Gdata/App/VersionException.php';
throw new Zend_Gdata_App_VersionException(
'Calling getRacy() on a YouTube VideoEntry is deprecated ' .
'as of version 2 of the API.');
}
return $this->_racy;
}
/**
* Sets the rating relating to the video.
*
* @param Zend_Gdata_Extension_Rating $rating The rating relating to the video
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setRating($rating = null)
{
$this->_rating = $rating;
return $this;
}
/**
* Returns the rating relating to the video.
*
* @return Zend_Gdata_Extension_Rating The rating relating to the video
*/
public function getRating()
{
return $this->_rating;
}
/**
* Sets the comments relating to the video.
*
* @param Zend_Gdata_Extension_Comments $comments The comments relating to the video
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setComments($comments = null)
{
$this->_comments = $comments;
return $this;
}
/**
* Returns the comments relating to the video.
*
* @return Zend_Gdata_Extension_Comments The comments relating to the video
*/
public function getComments()
{
return $this->_comments;
}
/**
* Sets the array of embedded feeds related to the video
*
* @param array $feedLink The array of embedded feeds relating to the video
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setFeedLink($feedLink = null)
{
$this->_feedLink = $feedLink;
return $this;
}
/**
* Get the feed link property for this entry.
*
* @see setFeedLink
* @param string $rel (optional) The rel value of the link to be found.
* If null, the array of links is returned.
* @return mixed If $rel is specified, a Zend_Gdata_Extension_FeedLink
* object corresponding to the requested rel value is returned
* if found, or null if the requested value is not found. If
* $rel is null or not specified, an array of all available
* feed links for this entry is returned, or null if no feed
* links are set.
*/
public function getFeedLink($rel = null)
{
if ($rel == null) {
return $this->_feedLink;
} else {
foreach ($this->_feedLink as $feedLink) {
if ($feedLink->rel == $rel) {
return $feedLink;
}
}
return null;
}
}
/**
* Returns the link element relating to video responses.
*
* @return Zend_Gdata_App_Extension_Link
*/
public function getVideoResponsesLink()
{
return $this->getLink(Zend_Gdata_YouTube::VIDEO_RESPONSES_REL);
}
/**
* Returns the link element relating to video ratings.
*
* @return Zend_Gdata_App_Extension_Link
*/
public function getVideoRatingsLink()
{
return $this->getLink(Zend_Gdata_YouTube::VIDEO_RATINGS_REL);
}
/**
* Returns the link element relating to video complaints.
*
* @return Zend_Gdata_App_Extension_Link
*/
public function getVideoComplaintsLink()
{
return $this->getLink(Zend_Gdata_YouTube::VIDEO_COMPLAINTS_REL);
}
/**
* Gets the YouTube video ID based upon the atom:id value
*
* @return string The video ID
*/
public function getVideoId()
{
if ($this->getMajorProtocolVersion() == 2) {
$videoId = $this->getMediaGroup()->getVideoId()->text;
} else {
$fullId = $this->getId()->getText();
$position = strrpos($fullId, '/');
if ($position === false) {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception(
'Slash not found in atom:id of ' . $fullId);
} else {
$videoId = substr($fullId, $position + 1);
}
}
return $videoId;
}
/**
* Gets the date that the video was recorded.
*
* @return string|null The date that the video was recorded
*/
public function getVideoRecorded()
{
$recorded = $this->getRecorded();
if ($recorded != null) {
return $recorded->getText();
} else {
return null;
}
}
/**
* Sets the date that the video was recorded.
*
* @param string $recorded The date that the video was recorded, in the
* format of '2001-06-19'
*/
public function setVideoRecorded($recorded)
{
$this->setRecorded(
new Zend_Gdata_YouTube_Extension_Recorded($recorded));
return $this;
}
/**
* Gets the georss:where element
*
* @return Zend_Gdata_Geo_Extension_GeoRssWhere
*/
public function getWhere()
{
return $this->_where;
}
/**
* Sets the georss:where element
*
* @param Zend_Gdata_Geo_Extension_GeoRssWhere $value The georss:where class value
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setWhere($value)
{
$this->_where = $value;
return $this;
}
/**
* Gets the title of the video as a string. null is returned
* if the video title is not available.
*
* @return string|null The title of the video
*/
public function getVideoTitle()
{
$this->ensureMediaGroupIsNotNull();
if ($this->getMediaGroup()->getTitle() != null) {
return $this->getMediaGroup()->getTitle()->getText();
} else {
return null;
}
}
/**
* Sets the title of the video as a string.
*
* @param string $title Title for the video
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setVideoTitle($title)
{
$this->ensureMediaGroupIsNotNull();
$this->getMediaGroup()->setTitle(
new Zend_Gdata_Media_Extension_MediaTitle($title));
return $this;
}
/**
* Sets the description of the video as a string.
*
* @param string $description Description for the video
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setVideoDescription($description)
{
$this->ensureMediaGroupIsNotNull();
$this->getMediaGroup()->setDescription(
new Zend_Gdata_Media_Extension_MediaDescription($description));
return $this;
}
/**
* Gets the description of the video as a string. null is returned
* if the video description is not available.
*
* @return string|null The description of the video
*/
public function getVideoDescription()
{
$this->ensureMediaGroupIsNotNull();
if ($this->getMediaGroup()->getDescription() != null) {
return $this->getMediaGroup()->getDescription()->getText();
} else {
return null;
}
}
/**
* Gets the URL of the YouTube video watch page. null is returned
* if the video watch page URL is not available.
*
* @return string|null The URL of the YouTube video watch page
*/
public function getVideoWatchPageUrl()
{
$this->ensureMediaGroupIsNotNull();
if ($this->getMediaGroup()->getPlayer() != null &&
array_key_exists(0, $this->getMediaGroup()->getPlayer())) {
$players = $this->getMediaGroup()->getPlayer();
return $players[0]->getUrl();
} else {
return null;
}
}
/**
* Gets an array of the thumbnails representing the video.
* Each thumbnail is an element of the array, and is an
* array of the thumbnail properties - time, height, width,
* and url. For convient usage inside a foreach loop, an
* empty array is returned if there are no thumbnails.
*
* @return array An array of video thumbnails.
*/
public function getVideoThumbnails()
{
$this->ensureMediaGroupIsNotNull();
if ($this->getMediaGroup()->getThumbnail() != null) {
$thumbnailArray = array();
foreach ($this->getMediaGroup()->getThumbnail() as $thumbnailObj) {
$thumbnail = array();
$thumbnail['time'] = $thumbnailObj->time;
$thumbnail['height'] = $thumbnailObj->height;
$thumbnail['width'] = $thumbnailObj->width;
$thumbnail['url'] = $thumbnailObj->url;
$thumbnailArray[] = $thumbnail;
}
return $thumbnailArray;
} else {
return array();
}
}
/**
* Gets the URL of the flash player SWF. null is returned if the
* duration value is not available.
*
* @return string|null The URL of the flash player SWF
*/
public function getFlashPlayerUrl()
{
$this->ensureMediaGroupIsNotNull();
foreach ($this->getMediaGroup()->getContent() as $content) {
if ($content->getType() === 'application/x-shockwave-flash') {
return $content->getUrl();
}
}
return null;
}
/**
* Gets the duration of the video, in seconds. null is returned
* if the duration value is not available.
*
* @return string|null The duration of the video, in seconds.
*/
public function getVideoDuration()
{
$this->ensureMediaGroupIsNotNull();
if ($this->getMediaGroup()->getDuration() != null) {
return $this->getMediaGroup()->getDuration()->getSeconds();
} else {
return null;
}
}
/**
* Checks whether the video is private.
*
* @return bool Return true if video is private
*/
public function isVideoPrivate()
{
$this->ensureMediaGroupIsNotNull();
if ($this->getMediaGroup()->getPrivate() != null) {
return true;
} else {
return false;
}
}
/**
* Sets video to private.
*
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setVideoPrivate()
{
$this->ensureMediaGroupIsNotNull();
$this->getMediaGroup()->setPrivate(new Zend_Gdata_YouTube_Extension_Private());
return $this;
}
/**
* Sets a private video to be public.
*
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setVideoPublic()
{
$this->ensureMediaGroupIsNotNull();
$this->getMediaGroup()->private = null;
return $this;
}
/**
* Gets an array of the tags assigned to this video. For convient
* usage inside a foreach loop, an empty array is returned when there
* are no tags assigned.
*
* @return array An array of the tags assigned to this video
*/
public function getVideoTags()
{
$this->ensureMediaGroupIsNotNull();
if ($this->getMediaGroup()->getKeywords() != null) {
$keywords = $this->getMediaGroup()->getKeywords();
$keywordsString = $keywords->getText();
if (strlen(trim($keywordsString)) > 0) {
return split('(, *)|,', $keywordsString);
}
}
return array();
}
/**
* Sets the keyword tags for a video.
*
* @param mixed $tags Either a comma-separated string or an array
* of tags for the video
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setVideoTags($tags)
{
$this->ensureMediaGroupIsNotNull();
$keywords = new Zend_Gdata_Media_Extension_MediaKeywords();
if (is_array($tags)) {
$tags = implode(', ', $tags);
}
$keywords->setText($tags);
$this->getMediaGroup()->setKeywords($keywords);
return $this;
}
/**
* Gets the number of views for this video. null is returned if the
* number of views is not available.
*
* @return string|null The number of views for this video
*/
public function getVideoViewCount()
{
if ($this->getStatistics() != null) {
return $this->getStatistics()->getViewCount();
} else {
return null;
}
}
/**
* Gets the location specified for this video, if available. The location
* is returned as an array containing the keys 'longitude' and 'latitude'.
* null is returned if the location is not available.
*
* @return array|null The location specified for this video
*/
public function getVideoGeoLocation()
{
if ($this->getWhere() != null &&
$this->getWhere()->getPoint() != null &&
($position = $this->getWhere()->getPoint()->getPos()) != null) {
$positionString = $position->__toString();
if (strlen(trim($positionString)) > 0) {
$positionArray = explode(' ', trim($positionString));
if (count($positionArray) == 2) {
$returnArray = array();
$returnArray['latitude'] = $positionArray[0];
$returnArray['longitude'] = $positionArray[1];
return $returnArray;
}
}
}
return null;
}
/**
* Gets the rating information for this video, if available. The rating
* is returned as an array containing the keys 'average' and 'numRaters'.
* null is returned if the rating information is not available.
*
* @return array|null The rating information for this video
*/
public function getVideoRatingInfo()
{
if ($this->getRating() != null) {
$returnArray = array();
$returnArray['average'] = $this->getRating()->getAverage();
$returnArray['numRaters'] = $this->getRating()->getNumRaters();
return $returnArray;
} else {
return null;
}
}
/**
* Gets the category of this video, if available. The category is returned
* as a string. Valid categories are found at:
* http://gdata.youtube.com/schemas/2007/categories.cat
* If the category is not set, null is returned.
*
* @return string|null The category of this video
*/
public function getVideoCategory()
{
$this->ensureMediaGroupIsNotNull();
$categories = $this->getMediaGroup()->getCategory();
if ($categories != null) {
foreach($categories as $category) {
if ($category->getScheme() == self::YOUTUBE_CATEGORY_SCHEMA) {
return $category->getText();
}
}
}
return null;
}
/**
* Sets the category of the video as a string.
*
* @param string $category Categories for the video
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setVideoCategory($category)
{
$this->ensureMediaGroupIsNotNull();
$this->getMediaGroup()->setCategory(array(new Zend_Gdata_Media_Extension_MediaCategory($category, self::YOUTUBE_CATEGORY_SCHEMA)));
return $this;
}
/**
* Gets the developer tags for the video, if available and if client is
* authenticated with a valid developerKey. The tags are returned
* as an array.
* If no tags are set, null is returned.
*
* @return array|null The developer tags for this video or null if none were set.
*/
public function getVideoDeveloperTags()
{
$developerTags = null;
$this->ensureMediaGroupIsNotNull();
$categoryArray = $this->getMediaGroup()->getCategory();
if ($categoryArray != null) {
foreach ($categoryArray as $category) {
if ($category instanceof Zend_Gdata_Media_Extension_MediaCategory) {
if ($category->getScheme() == self::YOUTUBE_DEVELOPER_TAGS_SCHEMA) {
$developerTags[] = $category->getText();
}
}
}
return $developerTags;
}
return null;
}
/**
* Adds a developer tag to array of tags for the video.
*
* @param string $developerTag DeveloperTag for the video
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function addVideoDeveloperTag($developerTag)
{
$this->ensureMediaGroupIsNotNull();
$newCategory = new Zend_Gdata_Media_Extension_MediaCategory($developerTag, self::YOUTUBE_DEVELOPER_TAGS_SCHEMA);
if ($this->getMediaGroup()->getCategory() == null) {
$this->getMediaGroup()->setCategory($newCategory);
} else {
$categories = $this->getMediaGroup()->getCategory();
$categories[] = $newCategory;
$this->getMediaGroup()->setCategory($categories);
}
return $this;
}
/**
* Set multiple developer tags for the video as strings.
*
* @param array $developerTags Array of developerTag for the video
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface
*/
public function setVideoDeveloperTags($developerTags)
{
foreach($developerTags as $developerTag) {
$this->addVideoDeveloperTag($developerTag);
}
return $this;
}
/**
* Get the current publishing state of the video.
*
* @return Zend_Gdata_YouTube_Extension_State|null The publishing state of this video
*/
public function getVideoState()
{
$control = $this->getControl();
if ($control != null &&
$control->getDraft() != null &&
$control->getDraft()->getText() == 'yes') {
return $control->getState();
}
return null;
}
/**
* Get the VideoEntry's Zend_Gdata_YouTube_Extension_MediaGroup object.
* If the mediaGroup does not exist, then set it.
*
* @return void
*/
public function ensureMediaGroupIsNotNull()
{
if ($this->getMediagroup() == null) {
$this->setMediagroup(new Zend_Gdata_YouTube_Extension_MediaGroup());
}
}
/**
* Helper function to conveniently set a video's rating.
*
* @param integer $ratingValue A number representing the rating. Must
* be between 1 and 5 inclusive.
* @throws Zend_Gdata_Exception
* @return Zend_Gdata_YouTube_VideoEntry Provides a fluent interface.
*/
public function setVideoRating($ratingValue)
{
if ($ratingValue < 1 || $ratingValue > 5) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Rating for video entry must be between 1 and 5 inclusive.');
}
require_once 'Zend/Gdata/Extension/Rating.php';
$rating = new Zend_Gdata_Extension_Rating(null, 1, 5, null,
$ratingValue);
$this->setRating($rating);
return $this;
}
/**
* Retrieve the URL for a video's comment feed.
*
* @return string|null The URL if found, or null if not found.
*/
public function getVideoCommentFeedUrl()
{
$commentsExtension = $this->getComments();
$commentsFeedUrl = null;
if ($commentsExtension) {
$commentsFeedLink = $commentsExtension->getFeedLink();
if ($commentsFeedLink) {
$commentsFeedUrl = $commentsFeedLink->getHref();
}
}
return $commentsFeedUrl;
}
}
YouTube/ContactFeed.php 0000604 00000003617 15071215231 0011030 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Media_Feed
*/
require_once 'Zend/Gdata/Media/Feed.php';
/**
* @see Zend_Gdata_YouTube_ContactEntry
*/
require_once 'Zend/Gdata/YouTube/ContactEntry.php';
/**
* The YouTube contacts flavor of an Atom Feed with media support
* Represents a list of individual contacts, where each contained entry is
* a contact.
*
* @category Zend
* @package Zend_Gdata
* @subpackage YouTube
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Gdata_YouTube_ContactFeed extends Zend_Gdata_Media_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_YouTube_ContactEntry';
/**
* Constructs a new YouTube Contact Feed object, to represent
* a feed of contacts for a user
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_YouTube::$namespaces);
parent::__construct($element);
}
}
App.php 0000604 00000113707 15071215231 0005777 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* Zend_Gdata_Http_Client
*/
require_once 'Zend/Http/Client.php';
/**
* Zend_Version
*/
require_once 'Zend/Version.php';
/**
* Zend_Gdata_App_MediaSource
*/
require_once 'Zend/Gdata/App/MediaSource.php';
/**
* Provides Atom Publishing Protocol (APP) functionality. This class and all
* other components of Zend_Gdata_App are designed to work independently from
* other Zend_Gdata components in order to interact with generic APP services.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App
{
/** Default major protocol version.
*
* @see _majorProtocolVersion
*/
const DEFAULT_MAJOR_PROTOCOL_VERSION = 1;
/** Default minor protocol version.
*
* @see _minorProtocolVersion
*/
const DEFAULT_MINOR_PROTOCOL_VERSION = null;
/**
* Client object used to communicate
*
* @var Zend_Http_Client
*/
protected $_httpClient;
/**
* Client object used to communicate in static context
*
* @var Zend_Http_Client
*/
protected static $_staticHttpClient = null;
/**
* Override HTTP PUT and DELETE request methods?
*
* @var boolean
*/
protected static $_httpMethodOverride = false;
/**
* Enable gzipped responses?
*
* @var boolean
*/
protected static $_gzipEnabled = false;
/**
* Use verbose exception messages. In the case of HTTP errors,
* use the body of the HTTP response in the exception message.
*
* @var boolean
*/
protected static $_verboseExceptionMessages = true;
/**
* Default URI to which to POST.
*
* @var string
*/
protected $_defaultPostUri = null;
/**
* Packages to search for classes when using magic __call method, in order.
*
* @var array
*/
protected $_registeredPackages = array(
'Zend_Gdata_App_Extension',
'Zend_Gdata_App');
/**
* Maximum number of redirects to follow during HTTP operations
*
* @var int
*/
protected static $_maxRedirects = 5;
/**
* Indicates the major protocol version that should be used.
* At present, recognized values are either 1 or 2. However, any integer
* value >= 1 is considered valid.
*
* Under most circumtances, this will be automatically set by
* Zend_Gdata_App subclasses.
*
* @see setMajorProtocolVersion()
* @see getMajorProtocolVersion()
*/
protected $_majorProtocolVersion;
/**
* Indicates the minor protocol version that should be used. Can be set
* to either an integer >= 0, or NULL if no minor version should be sent
* to the server.
*
* At present, this field is not used by any Google services, but may be
* used in the future.
*
* Under most circumtances, this will be automatically set by
* Zend_Gdata_App subclasses.
*
* @see setMinorProtocolVersion()
* @see getMinorProtocolVersion()
*/
protected $_minorProtocolVersion;
/**
* Create Gdata object
*
* @param Zend_Http_Client $client
* @param string $applicationId
*/
public function __construct($client = null, $applicationId = 'MyCompany-MyApp-1.0')
{
$this->setHttpClient($client, $applicationId);
// Set default protocol version. Subclasses should override this as
// needed once a given service supports a new version.
$this->setMajorProtocolVersion(self::DEFAULT_MAJOR_PROTOCOL_VERSION);
$this->setMinorProtocolVersion(self::DEFAULT_MINOR_PROTOCOL_VERSION);
}
/**
* Adds a Zend Framework package to the $_registeredPackages array.
* This array is searched when using the magic __call method below
* to instantiante new objects.
*
* @param string $name The name of the package (eg Zend_Gdata_App)
* @return void
*/
public function registerPackage($name)
{
array_unshift($this->_registeredPackages, $name);
}
/**
* Retreive feed object
*
* @param string $uri The uri from which to retrieve the feed
* @param string $className The class which is used as the return type
* @return Zend_Gdata_App_Feed
*/
public function getFeed($uri, $className='Zend_Gdata_App_Feed')
{
return $this->importUrl($uri, $className);
}
/**
* Retreive entry object
*
* @param string $uri
* @param string $className The class which is used as the return type
* @return Zend_Gdata_App_Entry
*/
public function getEntry($uri, $className='Zend_Gdata_App_Entry')
{
return $this->importUrl($uri, $className);
}
/**
* Get the Zend_Http_Client object used for communication
*
* @return Zend_Http_Client
*/
public function getHttpClient()
{
return $this->_httpClient;
}
/**
* Set the Zend_Http_Client object used for communication
*
* @param Zend_Http_Client $client The client to use for communication
* @throws Zend_Gdata_App_HttpException
* @return Zend_Gdata_App Provides a fluent interface
*/
public function setHttpClient($client, $applicationId = 'MyCompany-MyApp-1.0')
{
if ($client === null) {
$client = new Zend_Http_Client();
}
if (!$client instanceof Zend_Http_Client) {
require_once 'Zend/Gdata/App/HttpException.php';
throw new Zend_Gdata_App_HttpException('Argument is not an instance of Zend_Http_Client.');
}
$userAgent = $applicationId . ' Zend_Framework_Gdata/' . Zend_Version::VERSION;
$client->setHeaders('User-Agent', $userAgent);
$client->setConfig(array(
'strictredirects' => true
)
);
$this->_httpClient = $client;
Zend_Gdata::setStaticHttpClient($client);
return $this;
}
/**
* Set the static HTTP client instance
*
* Sets the static HTTP client object to use for retrieving the feed.
*
* @param Zend_Http_Client $httpClient
* @return void
*/
public static function setStaticHttpClient(Zend_Http_Client $httpClient)
{
self::$_staticHttpClient = $httpClient;
}
/**
* Gets the HTTP client object. If none is set, a new Zend_Http_Client will be used.
*
* @return Zend_Http_Client
*/
public static function getStaticHttpClient()
{
if (!self::$_staticHttpClient instanceof Zend_Http_Client) {
$client = new Zend_Http_Client();
$userAgent = 'Zend_Framework_Gdata/' . Zend_Version::VERSION;
$client->setHeaders('User-Agent', $userAgent);
$client->setConfig(array(
'strictredirects' => true
)
);
self::$_staticHttpClient = $client;
}
return self::$_staticHttpClient;
}
/**
* Toggle using POST instead of PUT and DELETE HTTP methods
*
* Some feed implementations do not accept PUT and DELETE HTTP
* methods, or they can't be used because of proxies or other
* measures. This allows turning on using POST where PUT and
* DELETE would normally be used; in addition, an
* X-Method-Override header will be sent with a value of PUT or
* DELETE as appropriate.
*
* @param boolean $override Whether to override PUT and DELETE with POST.
* @return void
*/
public static function setHttpMethodOverride($override = true)
{
self::$_httpMethodOverride = $override;
}
/**
* Get the HTTP override state
*
* @return boolean
*/
public static function getHttpMethodOverride()
{
return self::$_httpMethodOverride;
}
/**
* Toggle requesting gzip encoded responses
*
* @param boolean $enabled Whether or not to enable gzipped responses
* @return void
*/
public static function setGzipEnabled($enabled = false)
{
if ($enabled && !function_exists('gzinflate')) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'You cannot enable gzipped responses if the zlib module ' .
'is not enabled in your PHP installation.');
}
self::$_gzipEnabled = $enabled;
}
/**
* Get the HTTP override state
*
* @return boolean
*/
public static function getGzipEnabled()
{
return self::$_gzipEnabled;
}
/**
* Get whether to use verbose exception messages
*
* In the case of HTTP errors, use the body of the HTTP response
* in the exception message.
*
* @return boolean
*/
public static function getVerboseExceptionMessages()
{
return self::$_verboseExceptionMessages;
}
/**
* Set whether to use verbose exception messages
*
* In the case of HTTP errors, use the body of the HTTP response
* in the exception message.
*
* @param boolean $verbose Whether to use verbose exception messages
*/
public static function setVerboseExceptionMessages($verbose)
{
self::$_verboseExceptionMessages = $verbose;
}
/**
* Set the maximum number of redirects to follow during HTTP operations
*
* @param int $maxRedirects Maximum number of redirects to follow
* @return void
*/
public static function setMaxRedirects($maxRedirects)
{
self::$_maxRedirects = $maxRedirects;
}
/**
* Get the maximum number of redirects to follow during HTTP operations
*
* @return int Maximum number of redirects to follow
*/
public static function getMaxRedirects()
{
return self::$_maxRedirects;
}
/**
* Set the major protocol version that should be used. Values < 1 will
* cause a Zend_Gdata_App_InvalidArgumentException to be thrown.
*
* @see _majorProtocolVersion
* @param int $value The major protocol version to use.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function setMajorProtocolVersion($value)
{
if (!($value >= 1)) {
require_once('Zend/Gdata/App/InvalidArgumentException.php');
throw new Zend_Gdata_App_InvalidArgumentException(
'Major protocol version must be >= 1');
}
$this->_majorProtocolVersion = $value;
}
/**
* Get the major protocol version that is in use.
*
* @see _majorProtocolVersion
* @return int The major protocol version in use.
*/
public function getMajorProtocolVersion()
{
return $this->_majorProtocolVersion;
}
/**
* Set the minor protocol version that should be used. If set to NULL, no
* minor protocol version will be sent to the server. Values < 0 will
* cause a Zend_Gdata_App_InvalidArgumentException to be thrown.
*
* @see _minorProtocolVersion
* @param (int|NULL) $value The minor protocol version to use.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function setMinorProtocolVersion($value)
{
if (!($value >= 0)) {
require_once('Zend/Gdata/App/InvalidArgumentException.php');
throw new Zend_Gdata_App_InvalidArgumentException(
'Minor protocol version must be >= 0');
}
$this->_minorProtocolVersion = $value;
}
/**
* Get the minor protocol version that is in use.
*
* @see _minorProtocolVersion
* @return (int|NULL) The major protocol version in use, or NULL if no
* minor version is specified.
*/
public function getMinorProtocolVersion()
{
return $this->_minorProtocolVersion;
}
/**
* Provides pre-processing for HTTP requests to APP services.
*
* 1. Checks the $data element and, if it's an entry, extracts the XML,
* multipart data, edit link (PUT,DELETE), etc.
* 2. If $data is a string, sets the default content-type header as
* 'application/atom+xml' if it's not already been set.
* 3. Adds a x-http-method override header and changes the HTTP method
* to 'POST' if necessary as per getHttpMethodOverride()
*
* @param string $method The HTTP method for the request - 'GET', 'POST',
* 'PUT', 'DELETE'
* @param string $url The URL to which this request is being performed,
* or null if found in $data
* @param array $headers An associative array of HTTP headers for this
* request
* @param mixed $data The Zend_Gdata_App_Entry or XML for the
* body of the request
* @param string $contentTypeOverride The override value for the
* content type of the request body
* @return array An associative array containing the determined
* 'method', 'url', 'data', 'headers', 'contentType'
*/
public function prepareRequest($method,
$url = null,
$headers = array(),
$data = null,
$contentTypeOverride = null)
{
// As a convenience, if $headers is null, we'll convert it back to
// an empty array.
if (is_null($headers)) {
$headers = array();
}
$rawData = null;
$finalContentType = null;
if ($url == null) {
$url = $this->_defaultPostUri;
}
if (is_string($data)) {
$rawData = $data;
if ($contentTypeOverride === null) {
$finalContentType = 'application/atom+xml';
}
} elseif ($data instanceof Zend_Gdata_App_MediaEntry) {
$rawData = $data->encode();
if ($data->getMediaSource() !== null) {
$finalContentType = 'multipart/related; boundary="' . $data->getBoundary() . '"';
$headers['MIME-version'] = '1.0';
$headers['Slug'] = $data->getMediaSource()->getSlug();
} else {
$finalContentType = 'application/atom+xml';
}
if ($method == 'PUT' || $method == 'DELETE') {
$editLink = $data->getEditLink();
if ($editLink != null) {
$url = $editLink->getHref();
}
}
} elseif ($data instanceof Zend_Gdata_App_Entry) {
$rawData = $data->saveXML();
$finalContentType = 'application/atom+xml';
if ($method == 'PUT' || $method == 'DELETE') {
$editLink = $data->getEditLink();
if ($editLink != null) {
$url = $editLink->getHref();
}
}
} elseif ($data instanceof Zend_Gdata_App_MediaSource) {
$rawData = $data->encode();
if ($data->getSlug() !== null) {
$headers['Slug'] = $data->getSlug();
}
$finalContentType = $data->getContentType();
}
if ($method == 'DELETE') {
$rawData = null;
}
// Set an If-Match header if:
// - This isn't a DELETE
// - If this isn't a GET, the Etag isn't weak
// - A similar header (If-Match/If-None-Match) hasn't already been
// set.
if ($method != 'DELETE' && (
!array_key_exists('If-Match', $headers) &&
!array_key_exists('If-None-Match', $headers)
) ) {
$allowWeak = $method == 'GET';
if ($ifMatchHeader = $this->generateIfMatchHeaderData(
$data, $allowWeak)) {
$headers['If-Match'] = $ifMatchHeader;
}
}
if ($method != 'POST' && $method != 'GET' && Zend_Gdata_App::getHttpMethodOverride()) {
$headers['x-http-method-override'] = $method;
$method = 'POST';
} else {
$headers['x-http-method-override'] = null;
}
if ($contentTypeOverride != null) {
$finalContentType = $contentTypeOverride;
}
return array('method' => $method, 'url' => $url, 'data' => $rawData, 'headers' => $headers, 'contentType' => $finalContentType);
}
/**
* Performs a HTTP request using the specified method
*
* @param string $method The HTTP method for the request - 'GET', 'POST',
* 'PUT', 'DELETE'
* @param string $url The URL to which this request is being performed
* @param array $headers An associative array of HTTP headers
* for this request
* @param string $body The body of the HTTP request
* @param string $contentType The value for the content type
* of the request body
* @param int $remainingRedirects Number of redirects to follow if request
* s results in one
* @return Zend_Http_Response The response object
*/
public function performHttpRequest($method, $url, $headers = null, $body = null, $contentType = null, $remainingRedirects = null)
{
require_once 'Zend/Http/Client/Exception.php';
if ($remainingRedirects === null) {
$remainingRedirects = self::getMaxRedirects();
}
if ($headers === null) {
$headers = array();
}
// Append a Gdata version header if protocol v2 or higher is in use.
// (Protocol v1 does not use this header.)
$major = $this->getMajorProtocolVersion();
$minor = $this->getMinorProtocolVersion();
if ($major >= 2) {
$headers['GData-Version'] = $major +
(is_null($minor) ? '.' + $minor : '');
}
// check the overridden method
if (($method == 'POST' || $method == 'PUT') && $body === null && $headers['x-http-method-override'] != 'DELETE') {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'You must specify the data to post as either a ' .
'string or a child of Zend_Gdata_App_Entry');
}
if ($url === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException('You must specify an URI to which to post.');
}
$headers['Content-Type'] = $contentType;
if (Zend_Gdata_App::getGzipEnabled()) {
// some services require the word 'gzip' to be in the user-agent header
// in addition to the accept-encoding header
if (strpos($this->_httpClient->getHeader('User-Agent'), 'gzip') === false) {
$headers['User-Agent'] = $this->_httpClient->getHeader('User-Agent') . ' (gzip)';
}
$headers['Accept-encoding'] = 'gzip, deflate';
} else {
$headers['Accept-encoding'] = 'identity';
}
// Make sure the HTTP client object is 'clean' before making a request
// In addition to standard headers to reset via resetParameters(),
// also reset the Slug header
$this->_httpClient->resetParameters();
$this->_httpClient->setHeaders('Slug', null);
// Set the params for the new request to be performed
$this->_httpClient->setHeaders($headers);
$this->_httpClient->setUri($url);
$this->_httpClient->setConfig(array('maxredirects' => 0));
$this->_httpClient->setRawData($body, $contentType);
try {
$response = $this->_httpClient->request($method);
} catch (Zend_Http_Client_Exception $e) {
require_once 'Zend/Gdata/App/HttpException.php';
throw new Zend_Gdata_App_HttpException($e->getMessage(), $e);
}
if ($response->isRedirect() && $response->getStatus() != '304') {
if ($remainingRedirects > 0) {
$newUrl = $response->getHeader('Location');
$response = $this->performHttpRequest($method, $newUrl, $headers, $body, $contentType, $remainingRedirects);
} else {
require_once 'Zend/Gdata/App/HttpException.php';
throw new Zend_Gdata_App_HttpException(
'Number of redirects exceeds maximum', null, $response);
}
}
if (!$response->isSuccessful()) {
require_once 'Zend/Gdata/App/HttpException.php';
$exceptionMessage = 'Expected response code 200, got ' . $response->getStatus();
if (self::getVerboseExceptionMessages()) {
$exceptionMessage .= "\n" . $response->getBody();
}
$exception = new Zend_Gdata_App_HttpException($exceptionMessage);
$exception->setResponse($response);
throw $exception;
}
return $response;
}
/**
* Imports a feed located at $uri.
*
* @param string $uri
* @param Zend_Http_Client $client The client used for communication
* @param string $className The class which is used as the return type
* @throws Zend_Gdata_App_Exception
* @return Zend_Gdata_App_Feed
*/
public static function import($uri, $client = null, $className='Zend_Gdata_App_Feed')
{
$app = new Zend_Gdata_App($client);
$requestData = $app->prepareRequest('GET', $uri);
$response = $app->performHttpRequest($requestData['method'], $requestData['url']);
$feedContent = $response->getBody();
$feed = self::importString($feedContent, $className);
if ($client != null) {
$feed->setHttpClient($client);
}
return $feed;
}
/**
* Imports the specified URL (non-statically).
*
* @param string $url The URL to import
* @param string $className The class which is used as the return type
* @param array $extraHeaders Extra headers to add to the request, as an
* array of string-based key/value pairs.
* @throws Zend_Gdata_App_Exception
* @return Zend_Gdata_App_Feed
*/
public function importUrl($url, $className='Zend_Gdata_App_Feed', $extraHeaders = array())
{
$response = $this->get($url, $extraHeaders);
$feedContent = $response->getBody();
$feed = self::importString($feedContent, $className);
$etag = $response->getHeader('ETag');
if (!is_null($etag)) {
$feed->setEtag($etag);
}
$protocolVersionStr = $response->getHeader('GData-Version');
if (!is_null($protocolVersionStr)) {
// Extract protocol major and minor version from header
$delimiterPos = strpos($protocolVersionStr, '.');
$length = strlen($protocolVersionStr);
$major = substr($protocolVersionStr,
0,
$delimiterPos);
$minor = substr($protocolVersionStr,
$delimiterPos + 1,
$length);
$feed->setMajorProtocolVersion($major);
$feed->setMinorProtocolVersion($minor);
} else {
$feed->setMajorProtocolVersion(null);
$feed->setMinorProtocolVersion(null);
}
if ($this->getHttpClient() != null) {
$feed->setHttpClient($this->getHttpClient());
}
return $feed;
}
/**
* Imports a feed represented by $string.
*
* @param string $string
* @param string $className The class which is used as the return type
* @throws Zend_Gdata_App_Exception
* @return Zend_Gdata_App_Feed
*/
public static function importString($string, $className='Zend_Gdata_App_Feed')
{
// Load the feed as an XML DOMDocument object
@ini_set('track_errors', 1);
$doc = new DOMDocument();
$success = @$doc->loadXML($string);
@ini_restore('track_errors');
if (!$success) {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception("DOMDocument cannot parse XML: $php_errormsg");
}
$feed = new $className($string);
$feed->setHttpClient(self::getstaticHttpClient());
return $feed;
}
/**
* Imports a feed from a file located at $filename.
*
* @param string $filename
* @param string $className The class which is used as the return type
* @param string $useIncludePath Whether the include_path should be searched
* @throws Zend_Gdata_App_Exception
* @return Zend_Gdata_Feed
*/
public static function importFile($filename,
$className='Zend_Gdata_App_Feed', $useIncludePath = false)
{
@ini_set('track_errors', 1);
$feed = @file_get_contents($filename, $useIncludePath);
@ini_restore('track_errors');
if ($feed === false) {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception("File could not be loaded: $php_errormsg");
}
return self::importString($feed, $className);
}
/**
* GET a URI using client object.
*
* @param string $uri GET URI
* @param array $extraHeaders Extra headers to add to the request, as an
* array of string-based key/value pairs.
* @throws Zend_Gdata_App_HttpException
* @return Zend_Http_Response
*/
public function get($uri, $extraHeaders = array())
{
$requestData = $this->prepareRequest('GET', $uri, $extraHeaders);
return $this->performHttpRequest($requestData['method'], $requestData['url'], $requestData['headers']);
}
/**
* POST data with client object
*
* @param mixed $data The Zend_Gdata_App_Entry or XML to post
* @param string $uri POST URI
* @param array $headers Additional HTTP headers to insert.
* @param string $contentType Content-type of the data
* @param array $extraHeaders Extra headers to add to the request, as an
* array of string-based key/value pairs.
* @return Zend_Http_Response
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function post($data, $uri = null, $remainingRedirects = null,
$contentType = null, $extraHeaders = null)
{
$requestData = $this->prepareRequest('POST', $uri, $extraHeaders,
$data, $contentType);
return $this->performHttpRequest(
$requestData['method'], $requestData['url'],
$requestData['headers'], $requestData['data'],
$requestData['contentType']);
}
/**
* PUT data with client object
*
* @param mixed $data The Zend_Gdata_App_Entry or XML to post
* @param string $uri PUT URI
* @param array $headers Additional HTTP headers to insert.
* @param string $contentType Content-type of the data
* @param array $extraHeaders Extra headers to add to the request, as an
* array of string-based key/value pairs.
* @return Zend_Http_Response
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function put($data, $uri = null, $remainingRedirects = null,
$contentType = null, $extraHeaders = null)
{
$requestData = $this->prepareRequest('PUT', $uri, $extraHeaders, $data, $contentType);
return $this->performHttpRequest(
$requestData['method'], $requestData['url'],
$requestData['headers'], $requestData['data'],
$requestData['contentType']);
}
/**
* DELETE entry with client object
*
* @param mixed $data The Zend_Gdata_App_Entry or URL to delete
* @return void
* @throws Zend_Gdata_App_Exception
* @throws Zend_Gdata_App_HttpException
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function delete($data, $remainingRedirects = null)
{
if (is_string($data)) {
$requestData = $this->prepareRequest('DELETE', $data);
} else {
$headers = array();
$requestData = $this->prepareRequest('DELETE', null, $headers, $data);
}
return $this->performHttpRequest($requestData['method'],
$requestData['url'],
$requestData['headers'],
'',
$requestData['contentType'],
$remainingRedirects);
}
/**
* Inserts an entry to a given URI and returns the response as a fully formed Entry.
* @param mixed $data The Zend_Gdata_App_Entry or XML to post
* @param string $uri POST URI
* @param string $className The class of entry to be returned.
* @param array $extraHeaders Extra headers to add to the request, as an
* array of string-based key/value pairs.
* @return Zend_Gdata_App_Entry The entry returned by the service after insertion.
*/
public function insertEntry($data, $uri, $className='Zend_Gdata_App_Entry', $extraHeaders = array())
{
$response = $this->post($data, $uri, null, null, $extraHeaders);
$returnEntry = new $className($response->getBody());
$returnEntry->setHttpClient(self::getstaticHttpClient());
$etag = $response->getHeader('ETag');
if (!is_null($etag)) {
$returnEntry->setEtag($etag);
}
return $returnEntry;
}
/**
* Update an entry
*
* @param mixed $data Zend_Gdata_App_Entry or XML (w/ID and link rel='edit')
* @param string|null The URI to send requests to, or null if $data
* contains the URI.
* @param string|null The name of the class that should be deserialized
* from the server response. If null, then 'Zend_Gdata_App_Entry'
* will be used.
* @param array $extraHeaders Extra headers to add to the request, as an
* array of string-based key/value pairs.
* @return Zend_Gdata_App_Entry The entry returned from the server
* @throws Zend_Gdata_App_Exception
*/
public function updateEntry($data, $uri = null, $className = null, $extraHeaders = array())
{
if ($className === null && $data instanceof Zend_Gdata_App_Entry) {
$className = get_class($data);
} elseif ($className === null) {
$className = 'Zend_Gdata_App_Entry';
}
$response = $this->put($data, $uri, null, null, $extraHeaders);
$returnEntry = new $className($response->getBody());
$returnEntry->setHttpClient(self::getstaticHttpClient());
$etag = $response->getHeader('ETag');
if (!is_null($etag)) {
$returnEntry->setEtag($etag);
}
return $returnEntry;
}
/**
* Provides a magic factory method to instantiate new objects with
* shorter syntax than would otherwise be required by the Zend Framework
* naming conventions. For instance, to construct a new
* Zend_Gdata_Calendar_Extension_Color, a developer simply needs to do
* $gCal->newColor(). For this magic constructor, packages are searched
* in the same order as which they appear in the $_registeredPackages
* array
*
* @param string $method The method name being called
* @param array $args The arguments passed to the call
* @throws Zend_Gdata_App_Exception
*/
public function __call($method, $args)
{
if (preg_match('/^new(\w+)/', $method, $matches)) {
$class = $matches[1];
$foundClassName = null;
foreach ($this->_registeredPackages as $name) {
try {
@Zend_Loader::loadClass("${name}_${class}");
$foundClassName = "${name}_${class}";
break;
} catch (Zend_Exception $e) {
// package wasn't here- continue searching
}
}
if ($foundClassName != null) {
$reflectionObj = new ReflectionClass($foundClassName);
$instance = $reflectionObj->newInstanceArgs($args);
if ($instance instanceof Zend_Gdata_App_FeedEntryParent) {
$instance->setHttpClient($this->_httpClient);
}
return $instance;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception(
"Unable to find '${class}' in registered packages");
}
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception("No such method ${method}");
}
}
/**
* Retrieve all entries for a feed, iterating through pages as necessary.
* Be aware that calling this function on a large dataset will take a
* significant amount of time to complete. In some cases this may cause
* execution to timeout without proper precautions in place.
*
* @param $feed The feed to iterate through.
* @return mixed A new feed of the same type as the one originally
* passed in, containing all relevent entries.
*/
public function retrieveAllEntriesForFeed($feed) {
$feedClass = get_class($feed);
$reflectionObj = new ReflectionClass($feedClass);
$result = $reflectionObj->newInstance();
do {
foreach ($feed as $entry) {
$result->addEntry($entry);
}
$next = $feed->getLink('next');
if ($next !== null) {
$feed = $this->getFeed($next->href, $feedClass);
} else {
$feed = null;
}
}
while ($feed != null);
return $result;
}
/**
* This method enables logging of requests by changing the
* Zend_Http_Client_Adapter used for performing the requests.
* NOTE: This will not work if you have customized the adapter
* already to use a proxy server or other interface.
*
* @param $logfile The logfile to use when logging the requests
*/
public function enableRequestDebugLogging($logfile)
{
$this->_httpClient->setConfig(array(
'adapter' => 'Zend_Gdata_App_LoggingHttpClientAdapterSocket',
'logfile' => $logfile
));
}
/**
* Retrieve next set of results based on a given feed.
*
* @param Zend_Gdata_App_Feed $feed The feed from which to
* retreive the next set of results.
* @param string $className (optional) The class of feed to be returned.
* If null, the next feed (if found) will be the same class as
* the feed that was given as the first argument.
* @return Zend_Gdata_App_Feed|null Returns a
* Zend_Gdata_App_Feed or null if no next set of results
* exists.
*/
public function getNextFeed($feed, $className = null)
{
$nextLink = $feed->getNextLink();
if (!$nextLink) {
return null;
}
$nextLinkHref = $nextLink->getHref();
if (is_null($className)) {
$className = get_class($feed);
}
return $this->getFeed($nextLinkHref, $className);
}
/**
* Retrieve previous set of results based on a given feed.
*
* @param Zend_Gdata_App_Feed $feed The feed from which to
* retreive the previous set of results.
* @param string $className (optional) The class of feed to be returned.
* If null, the previous feed (if found) will be the same class as
* the feed that was given as the first argument.
* @return Zend_Gdata_App_Feed|null Returns a
* Zend_Gdata_App_Feed or null if no previous set of results
* exists.
*/
public function getPreviousFeed($feed, $className = null)
{
$previousLink = $feed->getPreviousLink();
if (!$previousLink) {
return null;
}
$previousLinkHref = $previousLink->getHref();
if (is_null($className)) {
$className = get_class($feed);
}
return $this->getFeed($previousLinkHref, $className);
}
/**
* Returns the data for an If-Match header based on the current Etag
* property. If Etags are not supported by the server or cannot be
* extracted from the data, then null will be returned.
*
* @param boolean $allowWeak If false, then if a weak Etag is detected,
* then return null rather than the Etag.
* @return string|null $data
*/
public function generateIfMatchHeaderData($data, $allowWeek)
{
$result = '';
// Set an If-Match header if an ETag has been set (version >= 2 only)
if ($this->_majorProtocolVersion >= 2 &&
$data instanceof Zend_Gdata_App_Entry) {
$etag = $data->getEtag();
if (!is_null($etag) &&
($allowWeek || substr($etag, 0, 2) != 'W/')) {
$result = $data->getEtag();
}
}
return $result;
}
}
App/Extension.php 0000604 00000002131 15071215231 0007737 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Base
*/
require_once 'Zend/Gdata/App/Base.php';
/**
* Gdata App extensions
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
abstract class Zend_Gdata_App_Extension extends Zend_Gdata_App_Base
{
}
App/InvalidArgumentException.php 0000604 00000002255 15071215231 0012742 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Gdata_App_Exception
*/
require_once 'Zend/Gdata/App/Exception.php';
/**
* Gdata exceptions
*
* Class to represent exceptions that occur during Gdata operations.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_InvalidArgumentException extends Zend_Gdata_App_Exception
{
}
App/Extension/Title.php 0000604 00000002252 15071215231 0011024 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension_Text
*/
require_once 'Zend/Gdata/App/Extension/Text.php';
/**
* Represents the atom:title element
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Title extends Zend_Gdata_App_Extension_Text
{
protected $_rootElement = 'title';
}
App/Extension/Icon.php 0000604 00000002420 15071215231 0010630 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the atom:icon element
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Icon extends Zend_Gdata_App_Extension
{
protected $_rootElement = 'icon';
public function __construct($text = null)
{
parent::__construct();
$this->_text = $text;
}
}
App/Extension/Uri.php 0000604 00000002413 15071215231 0010501 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an uri
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the atom:uri element
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Uri extends Zend_Gdata_App_Extension
{
protected $_rootElement = 'uri';
public function __construct($text = null)
{
parent::__construct();
$this->_text = $text;
}
}
App/Extension/Email.php 0000604 00000002423 15071215231 0010772 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the atom:email element
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Email extends Zend_Gdata_App_Extension
{
protected $_rootElement = 'email';
public function __construct($text = null)
{
parent::__construct();
$this->_text = $text;
}
}
App/Extension/Summary.php 0000604 00000002260 15071215231 0011377 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension_Text
*/
require_once 'Zend/Gdata/App/Extension/Text.php';
/**
* Represents the atom:summary element
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Summary extends Zend_Gdata_App_Extension_Text
{
protected $_rootElement = 'summary';
}
App/Extension/Content.php 0000604 00000004342 15071215231 0011357 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension_Text
*/
require_once 'Zend/Gdata/App/Extension/Text.php';
/**
* Represents the atom:content element
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Content extends Zend_Gdata_App_Extension_Text
{
protected $_rootElement = 'content';
protected $_src = null;
public function __construct($text = null, $type = 'text', $src = null)
{
parent::__construct($text, $type);
$this->_src = $src;
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_src !== null) {
$element->setAttribute('src', $this->_src);
}
return $element;
}
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'src':
$this->_src = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return string
*/
public function getSrc()
{
return $this->_src;
}
/**
* @param string $value
* @return Zend_Gdata_App_Entry Provides a fluent interface
*/
public function setSrc($value)
{
$this->_src = $value;
return $this;
}
}
App/Extension/Subtitle.php 0000604 00000002263 15071215231 0011540 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension_Text
*/
require_once 'Zend/Gdata/App/Extension/Text.php';
/**
* Represents the atom:subtitle element
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Subtitle extends Zend_Gdata_App_Extension_Text
{
protected $_rootElement = 'subtitle';
}
App/Extension/Control.php 0000604 00000005134 15071215231 0011365 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* @see Zend_Gdata_App_Extension_Draft
*/
require_once 'Zend/Gdata/App/Extension/Draft.php';
/**
* Represents the app:control element
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Control extends Zend_Gdata_App_Extension
{
protected $_rootNamespace = 'app';
protected $_rootElement = 'control';
protected $_draft = null;
public function __construct($draft = null)
{
parent::__construct();
$this->_draft = $draft;
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_draft != null) {
$element->appendChild($this->_draft->getDOM($element->ownerDocument));
}
return $element;
}
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('app') . ':' . 'draft':
$draft = new Zend_Gdata_App_Extension_Draft();
$draft->transferFromDOM($child);
$this->_draft = $draft;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* @return Zend_Gdata_App_Extension_Draft
*/
public function getDraft()
{
return $this->_draft;
}
/**
* @param Zend_Gdata_App_Extension_Draft $value
* @return Zend_Gdata_App_Entry Provides a fluent interface
*/
public function setDraft($value)
{
$this->_draft = $value;
return $this;
}
}
App/Extension/Author.php 0000604 00000002254 15071215231 0011207 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension/Person.php';
/**
* Represents the atom:author element
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Author extends Zend_Gdata_App_Extension_Person
{
protected $_rootElement = 'author';
}
App/Extension/Person.php 0000604 00000010474 15071215231 0011216 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* @see Zend_Gdata_App_Extension_Name
*/
require_once 'Zend/Gdata/App/Extension/Name.php';
/**
* @see Zend_Gdata_App_Extension_Email
*/
require_once 'Zend/Gdata/App/Extension/Email.php';
/**
* @see Zend_Gdata_App_Extension_Uri
*/
require_once 'Zend/Gdata/App/Extension/Uri.php';
/**
* Base class for people (currently used by atom:author, atom:contributor)
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
abstract class Zend_Gdata_App_Extension_Person extends Zend_Gdata_App_Extension
{
protected $_rootElement = null;
protected $_name = null;
protected $_email = null;
protected $_uri = null;
public function __construct($name = null, $email = null, $uri = null)
{
parent::__construct();
$this->_name = $name;
$this->_email = $email;
$this->_uri = $uri;
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_name != null) {
$element->appendChild($this->_name->getDOM($element->ownerDocument));
}
if ($this->_email != null) {
$element->appendChild($this->_email->getDOM($element->ownerDocument));
}
if ($this->_uri != null) {
$element->appendChild($this->_uri->getDOM($element->ownerDocument));
}
return $element;
}
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('atom') . ':' . 'name':
$name = new Zend_Gdata_App_Extension_Name();
$name->transferFromDOM($child);
$this->_name = $name;
break;
case $this->lookupNamespace('atom') . ':' . 'email':
$email = new Zend_Gdata_App_Extension_Email();
$email->transferFromDOM($child);
$this->_email = $email;
break;
case $this->lookupNamespace('atom') . ':' . 'uri':
$uri = new Zend_Gdata_App_Extension_Uri();
$uri->transferFromDOM($child);
$this->_uri = $uri;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* @return Zend_Gdata_App_Extension_Name
*/
public function getName()
{
return $this->_name;
}
/**
* @param Zend_Gdata_App_Extension_Name $value
* @return Zend_Gdata_App_Entry Provides a fluent interface
*/
public function setName($value)
{
$this->_name = $value;
return $this;
}
/**
* @return Zend_Gdata_App_Extension_Email
*/
public function getEmail()
{
return $this->_email;
}
/**
* @param Zend_Gdata_App_Extension_Email $value
* @return Zend_Gdata_App_Extension_Person Provides a fluent interface
*/
public function setEmail($value)
{
$this->_email = $value;
return $this;
}
/**
* @return Zend_Gdata_App_Extension_Uri
*/
public function getUri()
{
return $this->_uri;
}
/**
* @param Zend_Gdata_App_Extension_Uri $value
* @return Zend_Gdata_App_Extension_Person Provides a fluent interface
*/
public function setUri($value)
{
$this->_uri = $value;
return $this;
}
}
App/Extension/Category.php 0000604 00000006673 15071215231 0011533 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the atom:category element
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Category extends Zend_Gdata_App_Extension
{
protected $_rootElement = 'category';
protected $_term = null;
protected $_scheme = null;
protected $_label = null;
public function __construct($term = null, $scheme = null, $label=null)
{
parent::__construct();
$this->_term = $term;
$this->_scheme = $scheme;
$this->_label = $label;
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_term !== null) {
$element->setAttribute('term', $this->_term);
}
if ($this->_scheme !== null) {
$element->setAttribute('scheme', $this->_scheme);
}
if ($this->_label !== null) {
$element->setAttribute('label', $this->_label);
}
return $element;
}
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'term':
$this->_term = $attribute->nodeValue;
break;
case 'scheme':
$this->_scheme = $attribute->nodeValue;
break;
case 'label':
$this->_label = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return string|null
*/
public function getTerm()
{
return $this->_term;
}
/**
* @param string|null $value
* @return Zend_Gdata_App_Extension_Category Provides a fluent interface
*/
public function setTerm($value)
{
$this->_term = $value;
return $this;
}
/**
* @return string|null
*/
public function getScheme()
{
return $this->_scheme;
}
/**
* @param string|null $value
* @return Zend_Gdata_App_Extension_Category Provides a fluent interface
*/
public function setScheme($value)
{
$this->_scheme = $value;
return $this;
}
/**
* @return string|null
*/
public function getLabel()
{
return $this->_label;
}
/**
* @param string|null $value
* @return Zend_Gdata_App_Extension_Category Provides a fluent interface
*/
public function setLabel($value)
{
$this->_label = $value;
return $this;
}
}
App/Extension/Link.php 0000604 00000012307 15071215231 0010642 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Data model for representing an atom:link element
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Link extends Zend_Gdata_App_Extension
{
protected $_rootElement = 'link';
protected $_href = null;
protected $_rel = null;
protected $_type = null;
protected $_hrefLang = null;
protected $_title = null;
protected $_length = null;
public function __construct($href = null, $rel = null, $type = null,
$hrefLang = null, $title = null, $length = null)
{
parent::__construct();
$this->_href = $href;
$this->_rel = $rel;
$this->_type = $type;
$this->_hrefLang = $hrefLang;
$this->_title = $title;
$this->_length = $length;
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_href !== null) {
$element->setAttribute('href', $this->_href);
}
if ($this->_rel !== null) {
$element->setAttribute('rel', $this->_rel);
}
if ($this->_type !== null) {
$element->setAttribute('type', $this->_type);
}
if ($this->_hrefLang !== null) {
$element->setAttribute('hreflang', $this->_hrefLang);
}
if ($this->_title !== null) {
$element->setAttribute('title', $this->_title);
}
if ($this->_length !== null) {
$element->setAttribute('length', $this->_length);
}
return $element;
}
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'href':
$this->_href = $attribute->nodeValue;
break;
case 'rel':
$this->_rel = $attribute->nodeValue;
break;
case 'type':
$this->_type = $attribute->nodeValue;
break;
case 'hreflang':
$this->_hrefLang = $attribute->nodeValue;
break;
case 'title':
$this->_title = $attribute->nodeValue;
break;
case 'length':
$this->_length = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return string|null
*/
public function getHref()
{
return $this->_href;
}
/**
* @param string|null $value
* @return Zend_Gdata_App_Entry Provides a fluent interface
*/
public function setHref($value)
{
$this->_href = $value;
return $this;
}
/**
* @return string|null
*/
public function getRel()
{
return $this->_rel;
}
/**
* @param string|null $value
* @return Zend_Gdata_App_Entry Provides a fluent interface
*/
public function setRel($value)
{
$this->_rel = $value;
return $this;
}
/**
* @return string|null
*/
public function getType()
{
return $this->_type;
}
/**
* @param string|null $value
* @return Zend_Gdata_App_Entry Provides a fluent interface
*/
public function setType($value)
{
$this->_type = $value;
return $this;
}
/**
* @return string|null
*/
public function getHrefLang()
{
return $this->_hrefLang;
}
/**
* @param string|null $value
* @return Zend_Gdata_App_Entry Provides a fluent interface
*/
public function setHrefLang($value)
{
$this->_hrefLang = $value;
return $this;
}
/**
* @return string|null
*/
public function getTitle()
{
return $this->_title;
}
/**
* @param string|null $value
* @return Zend_Gdata_App_Entry Provides a fluent interface
*/
public function setTitle($value)
{
$this->_title = $value;
return $this;
}
/**
* @return string|null
*/
public function getLength()
{
return $this->_length;
}
/**
* @param string|null $value
* @return Zend_Gdata_App_Entry Provides a fluent interface
*/
public function setLength($value)
{
$this->_length = $value;
return $this;
}
}
App/Extension/Source.php 0000604 00000002331 15071215231 0011201 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Entry
*/
require_once 'Zend/Gdata/App/Entry.php';
/**
* @see Zend_Gdata_App_FeedSourceParent
*/
require_once 'Zend/Gdata/App/FeedSourceParent.php';
/**
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Source extends Zend_Gdata_App_FeedSourceParent
{
protected $_rootElement = 'source';
}
App/Extension/Name.php 0000604 00000002417 15071215231 0010626 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the atom:name element
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Name extends Zend_Gdata_App_Extension
{
protected $_rootElement = 'name';
public function __construct($text = null)
{
parent::__construct();
$this->_text = $text;
}
}
App/Extension/Logo.php 0000604 00000002420 15071215231 0010640 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the atom:logo element
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Logo extends Zend_Gdata_App_Extension
{
protected $_rootElement = 'logo';
public function __construct($text = null)
{
parent::__construct();
$this->_text = $text;
}
}
App/Extension/Published.php 0000604 00000002437 15071215231 0011667 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the atom:published element
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Published extends Zend_Gdata_App_Extension
{
protected $_rootElement = 'published';
public function __construct($text = null)
{
parent::__construct();
$this->_text = $text;
}
}
App/Extension/Id.php 0000604 00000002412 15071215231 0010275 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the atom:id element
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Id extends Zend_Gdata_App_Extension
{
protected $_rootElement = 'id';
public function __construct($text = null)
{
parent::__construct();
$this->_text = $text;
}
}
App/Extension/Updated.php 0000604 00000002431 15071215231 0011330 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the atom:updated element
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Updated extends Zend_Gdata_App_Extension
{
protected $_rootElement = 'updated';
public function __construct($text = null)
{
parent::__construct();
$this->_text = $text;
}
}
App/Extension/Draft.php 0000604 00000002471 15071215231 0011006 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the app:draft element
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Draft extends Zend_Gdata_App_Extension
{
protected $_rootNamespace = 'app';
protected $_rootElement = 'draft';
public function __construct($text = null)
{
parent::__construct();
$this->_text = $text;
}
}
App/Extension/Rights.php 0000604 00000002445 15071215231 0011207 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension_Text
*/
require_once 'Zend/Gdata/App/Extension/Text.php';
/**
* Represents the atom:rights element
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Rights extends Zend_Gdata_App_Extension_Text
{
protected $_rootElement = 'rights';
public function __construct($text = null)
{
parent::__construct();
$this->_text = $text;
}
}
App/Extension/Text.php 0000604 00000004503 15071215231 0010670 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Abstract class for data models that require only text and type-- such as:
* title, summary, etc.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
abstract class Zend_Gdata_App_Extension_Text extends Zend_Gdata_App_Extension
{
protected $_rootElement = null;
protected $_type = 'text';
public function __construct($text = null, $type = 'text')
{
parent::__construct();
$this->_text = $text;
$this->_type = $type;
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_type !== null) {
$element->setAttribute('type', $this->_type);
}
return $element;
}
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'type':
$this->_type = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/*
* @return Zend_Gdata_App_Extension_Type
*/
public function getType()
{
return $this->_type;
}
/*
* @param string $value
* @return Zend_Gdata_App_Extension_Text Provides a fluent interface
*/
public function setType($value)
{
$this->_type = $value;
return $this;
}
}
App/Extension/Generator.php 0000604 00000005655 15071215231 0011703 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Represents the atom:generator element
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Generator extends Zend_Gdata_App_Extension
{
protected $_rootElement = 'generator';
protected $_uri = null;
protected $_version = null;
public function __construct($text = null, $uri = null, $version = null)
{
parent::__construct();
$this->_text = $text;
$this->_uri = $uri;
$this->_version = $version;
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_uri !== null) {
$element->setAttribute('uri', $this->_uri);
}
if ($this->_version !== null) {
$element->setAttribute('version', $this->_version);
}
return $element;
}
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'uri':
$this->_uri = $attribute->nodeValue;
break;
case 'version':
$this->_version= $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* @return Zend_Gdata_App_Extension_Uri
*/
public function getUri()
{
return $this->_uri;
}
/**
* @param Zend_Gdata_App_Extension_Uri $value
* @return Zend_Gdata_App_Entry Provides a fluent interface
*/
public function setUri($value)
{
$this->_uri = $value;
return $this;
}
/**
* @return Zend_Gdata_App_Extension_Version
*/
public function getVersion()
{
return $this->_version;
}
/**
* @param Zend_Gdata_App_Extension_Version $value
* @return Zend_Gdata_App_Entry Provides a fluent interface
*/
public function setVersion($value)
{
$this->_version = $value;
return $this;
}
}
App/Extension/Contributor.php 0000604 00000002273 15071215231 0012260 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension/Person.php';
/**
* Represents the atom:contributor element
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Contributor extends Zend_Gdata_App_Extension_Person
{
protected $_rootElement = 'contributor';
}
App/Extension/Element.php 0000604 00000003343 15071215231 0011336 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension
*/
require_once 'Zend/Gdata/App/Extension.php';
/**
* Class that represents elements which were not handled by other parsing
* code in the library.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Extension_Element extends Zend_Gdata_App_Extension
{
public function __construct($rootElement=null, $rootNamespace=null, $rootNamespaceURI=null, $text=null){
parent::__construct();
$this->_rootElement = $rootElement;
$this->_rootNamespace = $rootNamespace;
$this->_rootNamespaceURI = $rootNamespaceURI;
$this->_text = $text;
}
public function transferFromDOM($node)
{
parent::transferFromDOM($node);
$this->_rootNamespace = null;
$this->_rootNamespaceURI = $node->namespaceURI;
$this->_rootElement = $node->localName;
}
}
App/CaptchaRequiredException.php 0000604 00000005203 15071215231 0012711 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_CaptchaRequiredException
*/
require_once 'Zend/Gdata/App/AuthException.php';
/**
* Gdata exceptions
*
* Class to represent an exception that occurs during the use of ClientLogin.
* This particular exception happens when a CAPTCHA challenge is issued. This
* challenge is a visual puzzle presented to the user to prove that they are
* not an automated system.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_CaptchaRequiredException extends Zend_Gdata_App_AuthException
{
/**
* The Google Accounts URL prefix.
*/
const ACCOUNTS_URL = 'https://www.google.com/accounts/';
/**
* The token identifier from the server.
*
* @var string
*/
private $captchaToken;
/**
* The URL of the CAPTCHA image.
*
* @var string
*/
private $captchaUrl;
/**
* Constructs the exception to handle a CAPTCHA required response.
*
* @param string $captchaToken The CAPTCHA token ID provided by the server.
* @param string $captchaUrl The URL to the CAPTCHA challenge image.
*/
public function __construct($captchaToken, $captchaUrl) {
$this->captchaToken = $captchaToken;
$this->captchaUrl = Zend_Gdata_App_CaptchaRequiredException::ACCOUNTS_URL . $captchaUrl;
parent::__construct('CAPTCHA challenge issued by server');
}
/**
* Retrieves the token identifier as provided by the server.
*
* @return string
*/
public function getCaptchaToken() {
return $this->captchaToken;
}
/**
* Retrieves the URL CAPTCHA image as provided by the server.
*
* @return string
*/
public function getCaptchaUrl() {
return $this->captchaUrl;
}
}
App/AuthException.php 0000604 00000002246 15071215231 0010552 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Exception
*/
require_once 'Zend/Gdata/App/Exception.php';
/**
* Gdata exceptions
*
* Class to represent exceptions that occur during Gdata operations.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_AuthException extends Zend_Gdata_App_Exception
{
}
App/Util.php 0000604 00000007674 15071215231 0006721 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Utility class for static functions needed by Zend_Gdata_App
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Util
{
/**
* Convert timestamp into RFC 3339 date string.
* 2005-04-19T15:30:00
*
* @param int $timestamp
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public static function formatTimestamp($timestamp)
{
$rfc3339 = '/^(\d{4})\-?(\d{2})\-?(\d{2})((T|t)(\d{2})\:?(\d{2})' .
'\:?(\d{2})(\.\d{1,})?((Z|z)|([\+\-])(\d{2})\:?(\d{2})))?$/';
if (ctype_digit($timestamp)) {
return gmdate('Y-m-d\TH:i:sP', $timestamp);
} elseif (preg_match($rfc3339, $timestamp) > 0) {
// timestamp is already properly formatted
return $timestamp;
} else {
$ts = strtotime($timestamp);
if ($ts === false) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException("Invalid timestamp: $timestamp.");
}
return date('Y-m-d\TH:i:s', $ts);
}
}
/** Find the greatest key that is less than or equal to a given upper
* bound, and return the value associated with that key.
*
* @param integer|null $maximumKey The upper bound for keys. If null, the
* maxiumum valued key will be found.
* @param array $collection An two-dimensional array of key/value pairs
* to search through.
* @returns mixed The value corresponding to the located key.
* @throws Zend_Gdata_App_Exception Thrown if $collection is empty.
*/
public static function findGreatestBoundedValue($maximumKey, $collection)
{
$found = false;
$foundKey = $maximumKey;
// Sanity check: Make sure that the collection isn't empty
if (sizeof($collection) == 0) {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception("Empty namespace collection encountered.");
}
if (is_null($maximumKey)) {
// If the key is null, then we return the maximum available
$keys = array_keys($collection);
sort($keys);
$found = true;
$foundKey = end($keys);
} else {
// Otherwise, we optimistically guess that the current version
// will have a matching namespce. If that fails, we decrement the
// version until we find a match.
while (!$found && $foundKey >= 0) {
if (array_key_exists($foundKey, $collection))
$found = true;
else
$foundKey--;
}
}
// Guard: A namespace wasn't found. Either none were registered, or
// the current protcol version is lower than the maximum namespace.
if (!$found) {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception("Namespace compatible with current protocol not found.");
}
return $foundKey;
}
}
App/Entry.php 0000604 00000025225 15071215231 0007075 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_FeedEntryParent
*/
require_once 'Zend/Gdata/App/FeedEntryParent.php';
/**
* @see Zend_Gdata_App_Extension_Content
*/
require_once 'Zend/Gdata/App/Extension/Content.php';
/**
* @see Zend_Gdata_App_Extension_Published
*/
require_once 'Zend/Gdata/App/Extension/Published.php';
/**
* @see Zend_Gdata_App_Extension_Source
*/
require_once 'Zend/Gdata/App/Extension/Source.php';
/**
* @see Zend_Gdata_App_Extension_Summary
*/
require_once 'Zend/Gdata/App/Extension/Summary.php';
/**
* @see Zend_Gdata_App_Extension_Control
*/
require_once 'Zend/Gdata/App/Extension/Control.php';
/**
* Concrete class for working with Atom entries.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Entry extends Zend_Gdata_App_FeedEntryParent
{
/**
* Root XML element for Atom entries.
*
* @var string
*/
protected $_rootElement = 'entry';
/**
* Class name for each entry in this feed*
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_App_Entry';
/**
* atom:content element
*
* @var Zend_Gdata_App_Extension_Content
*/
protected $_content = null;
/**
* atom:published element
*
* @var Zend_Gdata_App_Extension_Published
*/
protected $_published = null;
/**
* atom:source element
*
* @var Zend_Gdata_App_Extension_Source
*/
protected $_source = null;
/**
* atom:summary element
*
* @var Zend_Gdata_App_Extension_Summary
*/
protected $_summary = null;
/**
* app:control element
*
* @var Zend_Gdata_App_Extension_Control
*/
protected $_control = null;
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_content != null) {
$element->appendChild($this->_content->getDOM($element->ownerDocument));
}
if ($this->_published != null) {
$element->appendChild($this->_published->getDOM($element->ownerDocument));
}
if ($this->_source != null) {
$element->appendChild($this->_source->getDOM($element->ownerDocument));
}
if ($this->_summary != null) {
$element->appendChild($this->_summary->getDOM($element->ownerDocument));
}
if ($this->_control != null) {
$element->appendChild($this->_control->getDOM($element->ownerDocument));
}
return $element;
}
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('atom') . ':' . 'content':
$content = new Zend_Gdata_App_Extension_Content();
$content->transferFromDOM($child);
$this->_content = $content;
break;
case $this->lookupNamespace('atom') . ':' . 'published':
$published = new Zend_Gdata_App_Extension_Published();
$published->transferFromDOM($child);
$this->_published = $published;
break;
case $this->lookupNamespace('atom') . ':' . 'source':
$source = new Zend_Gdata_App_Extension_Source();
$source->transferFromDOM($child);
$this->_source = $source;
break;
case $this->lookupNamespace('atom') . ':' . 'summary':
$summary = new Zend_Gdata_App_Extension_Summary();
$summary->transferFromDOM($child);
$this->_summary = $summary;
break;
case $this->lookupNamespace('app') . ':' . 'control':
$control = new Zend_Gdata_App_Extension_Control();
$control->transferFromDOM($child);
$this->_control = $control;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Uploads changes in this entry to the server using Zend_Gdata_App
*
* @param string|null $uri The URI to send requests to, or null if $data
* contains the URI.
* @param string|null $className The name of the class that should we
* deserializing the server response. If null, then
* 'Zend_Gdata_App_Entry' will be used.
* @param array $extraHeaders Extra headers to add to the request, as an
* array of string-based key/value pairs.
* @return Zend_Gdata_App_Entry The updated entry.
* @throws Zend_Gdata_App_Exception
*/
public function save($uri = null, $className = null, $extraHeaders = array())
{
return $this->getService()->updateEntry($this,
$uri,
$className,
$extraHeaders);
}
/**
* Deletes this entry to the server using the referenced
* Zend_Http_Client to do a HTTP DELETE to the edit link stored in this
* entry's link collection.
*
* @return void
* @throws Zend_Gdata_App_Exception
*/
public function delete()
{
$this->getService()->delete($this);
}
/**
* Reload the current entry. Returns a new copy of the entry as returned
* by the server, or null if no changes exist. This does not
* modify the current entry instance.
*
* @param string|null The URI to send requests to, or null if $data
* contains the URI.
* @param string|null The name of the class that should we deserializing
* the server response. If null, then 'Zend_Gdata_App_Entry' will
* be used.
* @param array $extraHeaders Extra headers to add to the request, as an
* array of string-based key/value pairs.
* @return mixed A new instance of the current entry with updated data, or
* null if the server reports that no changes have been made.
* @throws Zend_Gdata_App_Exception
*/
public function reload($uri = null, $className = null, $extraHeaders = array())
{
// Get URI
$editLink = $this->getEditLink();
if (is_null($uri) && $editLink != null) {
$uri = $editLink->getHref();
}
// Set classname to current class, if not otherwise set
if (is_null($className)) {
$className = get_class($this);
}
// Append ETag, if present (Gdata v2 and above, only) and doesn't
// conflict with existing headers
if ($this->_etag != null
&& !array_key_exists('If-Match', $extraHeaders)
&& !array_key_exists('If-None-Match', $extraHeaders)) {
$extraHeaders['If-None-Match'] = $this->_etag;
}
// If an HTTP 304 status (Not Modified)is returned, then we return
// null.
$result = null;
try {
$result = $this->service->importUrl($uri, $className, $extraHeaders);
} catch (Zend_Gdata_App_HttpException $e) {
if ($e->getResponse()->getStatus() != '304')
throw $e;
}
return $result;
}
/**
* Gets the value of the atom:content element
*
* @return Zend_Gdata_App_Extension_Content
*/
public function getContent()
{
return $this->_content;
}
/**
* Sets the value of the atom:content element
*
* @param Zend_Gdata_App_Extension_Content $value
* @return Zend_Gdata_App_Entry Provides a fluent interface
*/
public function setContent($value)
{
$this->_content = $value;
return $this;
}
/**
* Sets the value of the atom:published element
* This represents the publishing date for an entry
*
* @return Zend_Gdata_App_Extension_Published
*/
public function getPublished()
{
return $this->_published;
}
/**
* Sets the value of the atom:published element
* This represents the publishing date for an entry
*
* @param Zend_Gdata_App_Extension_Published $value
* @return Zend_Gdata_App_Entry Provides a fluent interface
*/
public function setPublished($value)
{
$this->_published = $value;
return $this;
}
/**
* Gets the value of the atom:source element
*
* @return Zend_Gdata_App_Extension_Source
*/
public function getSource()
{
return $this->_source;
}
/**
* Sets the value of the atom:source element
*
* @param Zend_Gdata_App_Extension_Source $value
* @return Zend_Gdata_App_Entry Provides a fluent interface
*/
public function setSource($value)
{
$this->_source = $value;
return $this;
}
/**
* Gets the value of the atom:summary element
* This represents a textual summary of this entry's content
*
* @return Zend_Gdata_App_Extension_Summary
*/
public function getSummary()
{
return $this->_summary;
}
/**
* Sets the value of the atom:summary element
* This represents a textual summary of this entry's content
*
* @param Zend_Gdata_App_Extension_Summary $value
* @return Zend_Gdata_App_Entry Provides a fluent interface
*/
public function setSummary($value)
{
$this->_summary = $value;
return $this;
}
/**
* Gets the value of the app:control element
*
* @return Zend_Gdata_App_Extension_Control
*/
public function getControl()
{
return $this->_control;
}
/**
* Sets the value of the app:control element
*
* @param Zend_Gdata_App_Extension_Control $value
* @return Zend_Gdata_App_Entry Provides a fluent interface
*/
public function setControl($value)
{
$this->_control = $value;
return $this;
}
}
App/MediaFileSource.php 0000604 00000007560 15071215231 0010776 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_MediaData
*/
require_once 'Zend/Gdata/App/BaseMediaSource.php';
/**
* Concrete class to use a file handle as an attachment within a MediaEntry.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_MediaFileSource extends Zend_Gdata_App_BaseMediaSource
{
/**
* The filename which is represented
*
* @var string
*/
protected $_filename = null;
/**
* The content type for the file attached (example image/png)
*
* @var string
*/
protected $_contentType = null;
/**
* Create a new Zend_Gdata_App_MediaFileSource object.
*
* @param string $filename The name of the file to read from.
*/
public function __construct($filename)
{
$this->setFilename($filename);
}
/**
* Return the MIME multipart representation of this MediaEntry.
*
* @return string
* @throws Zend_Gdata_App_IOException
*/
public function encode()
{
if ($this->getFilename() !== null &&
is_readable($this->getFilename())) {
// Retrieves the file, using the include path
$fileHandle = fopen($this->getFilename(), 'r', true);
$result = fread($fileHandle, filesize($this->getFilename()));
if ($result === false) {
require_once 'Zend/Gdata/App/IOException.php';
throw new Zend_Gdata_App_IOException("Error reading file - " .
$this->getFilename() . '. Read failed.');
}
fclose($fileHandle);
return $result;
} else {
require_once 'Zend/Gdata/App/IOException.php';
throw new Zend_Gdata_App_IOException("Error reading file - " .
$this->getFilename() . '. File is not readable.');
}
}
/**
* Get the filename associated with this reader.
*
* @return string
*/
public function getFilename()
{
return $this->_filename;
}
/**
* Set the filename which is to be read.
*
* @param string $value The desired file handle.
* @return Zend_Gdata_App_MediaFileSource Provides a fluent interface.
*/
public function setFilename($value)
{
$this->_filename = $value;
return $this;
}
/**
* The content type for the file attached (example image/png)
*
* @return string The content type
*/
public function getContentType()
{
return $this->_contentType;
}
/**
* Set the content type for the file attached (example image/png)
*
* @param string $value The content type
* @return Zend_Gdata_App_MediaFileSource Provides a fluent interface
*/
public function setContentType($value)
{
$this->_contentType = $value;
return $this;
}
/**
* Alias for getFilename().
*
* @return string
*/
public function __toString()
{
return $this->getFilename();
}
}
App/LoggingHttpClientAdapterSocket.php 0000604 00000006417 15071215231 0014035 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @version $Id: Socket.php 8064 2008-02-16 10:58:39Z thomas $
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
require_once 'Zend/Http/Client/Adapter/Socket.php';
/**
* Overrides the traditional socket-based adapter class for Zend_Http_Client to
* enable logging of requests. All requests are logged to a location specified
* in the config as $config['logfile']. Requests and responses are logged after
* they are sent and received/processed, thus an error could prevent logging.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_LoggingHttpClientAdapterSocket extends Zend_Http_Client_Adapter_Socket
{
/**
* The file handle for writing logs
*
* @var resource|null
*/
protected $log_handle = null;
/**
* Log the given message to the log file. The log file is configured
* as the config param 'logfile'. This method opens the file for
* writing if necessary.
*
* @param string $message The message to log
*/
protected function log($message)
{
if ($this->log_handle == null) {
$this->log_handle = fopen($this->config['logfile'], 'a');
}
fwrite($this->log_handle, $message);
}
/**
* Connect to the remote server
*
* @param string $host
* @param int $port
* @param boolean $secure
* @param int $timeout
*/
public function connect($host, $port = 80, $secure = false)
{
$this->log("Connecting to: ${host}:${port}");
return parent::connect($host, $port, $secure);
}
/**
* Send request to the remote server
*
* @param string $method
* @param Zend_Uri_Http $uri
* @param string $http_ver
* @param array $headers
* @param string $body
* @return string Request as string
*/
public function write($method, $uri, $http_ver = '1.1', $headers = array(), $body = '')
{
$request = parent::write($method, $uri, $http_ver, $headers, $body);
$this->log("\n\n" . $request);
return $request;
}
/**
* Read response from server
*
* @return string
*/
public function read()
{
$response = parent::read();
$this->log("${response}\n\n");
return $response;
}
/**
* Close the connection to the server
*
*/
public function close()
{
$this->log("Closing socket\n\n");
parent::close();
}
}
App/MediaEntry.php 0000604 00000011034 15071215231 0010026 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Entry
*/
require_once 'Zend/Gdata/App/Entry.php';
/**
* @see Zend_Gdata_App_MediaSource
*/
require_once 'Zend/Gdata/App/MediaSource.php';
/**
* @see Zend_Mime
*/
require_once 'Zend/Mime.php';
/**
* @see Zend_Mime_Message
*/
require_once 'Zend/Mime/Message.php';
/**
* Concrete class for working with Atom entries containing multi-part data.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_MediaEntry extends Zend_Gdata_App_Entry
{
/**
* The attached MediaSource/file
*
* @var Zend_Gdata_App_MediaSource
*/
protected $_mediaSource = null;
/**
* The Zend_Mime object used to generate the boundary
*
* @var Zend_Mime
*/
protected $_mime = null;
/**
* Constructs a new MediaEntry, representing XML data and optional
* file to upload
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null, $mediaSource = null)
{
parent::__construct($element);
$this->_mime = new Zend_Mime();
$this->_mediaSource = $mediaSource;
}
/**
* Return the Zend_Mime object associated with this MediaEntry. This
* object is used to generate the media boundaries.
*
* @return Zend_Mime The Zend_Mime object associated with this MediaEntry.
*/
public function getMime()
{
return $this->_mime;
}
/**
* Return the MIME multipart representation of this MediaEntry.
*
* @return string The MIME multipart representation of this MediaEntry
*/
public function encode()
{
$xmlData = $this->saveXML();
if ($this->getMediaSource() === null) {
// No attachment, just send XML for entry
return $xmlData;
} else {
$mimeMessage = new Zend_Mime_Message();
$mimeMessage->setMime($this->_mime);
$xmlPart = new Zend_Mime_Part($xmlData);
$xmlPart->type = 'application/atom+xml';
$xmlPart->encoding = null;
$mimeMessage->addPart($xmlPart);
$binaryPart = new Zend_Mime_Part($this->getMediaSource()->encode());
$binaryPart->type = $this->getMediaSource()->getContentType();
$binaryPart->encoding = null;
$mimeMessage->addPart($binaryPart);
return $mimeMessage->generateMessage();
}
}
/**
* Return the MediaSource object representing the file attached to this
* MediaEntry.
*
* @return Zend_Gdata_App_MediaSource The attached MediaSource/file
*/
public function getMediaSource()
{
return $this->_mediaSource;
}
/**
* Set the MediaSource object (file) for this MediaEntry
*
* @param Zend_Gdata_App_MediaSource $value The attached MediaSource/file
* @return Zend_Gdata_App_MediaEntry Provides a fluent interface
*/
public function setMediaSource($value)
{
if ($value instanceof Zend_Gdata_App_MediaSource) {
$this->_mediaSource = $value;
} else {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'You must specify the media data as a class that conforms to Zend_Gdata_App_MediaSource.');
}
return $this;
}
/**
* Return the boundary used in the MIME multipart message
*
* @return string The boundary used in the MIME multipart message
*/
public function getBoundary()
{
return $this->_mime->boundary();
}
}
App/BaseMediaSource.php 0000604 00000012507 15071215231 0010766 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_MediaSource
*/
require_once 'Zend/Gdata/App/MediaSource.php';
/**
* Concrete class to use a file handle as an attachment within a MediaEntry.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
abstract class Zend_Gdata_App_BaseMediaSource implements Zend_Gdata_App_MediaSource
{
/**
* The content type for the attached file (example image/png)
*
* @var string
*/
protected $_contentType = null;
/**
* The slug header value representing the attached file title, or null if
* no slug should be used. The slug header is only necessary in some cases,
* usually when a multipart upload is not being performed.
*
* @var string
*/
protected $_slug = null;
/**
* The content type for the attached file (example image/png)
*
* @return string The content type
*/
public function getContentType()
{
return $this->_contentType;
}
/**
* Set the content type for the file attached (example image/png)
*
* @param string $value The content type
* @return Zend_Gdata_App_MediaFileSource Provides a fluent interface
*/
public function setContentType($value)
{
$this->_contentType = $value;
return $this;
}
/**
* Returns the Slug header value. Used by some services to determine the
* title for the uploaded file. Returns null if no slug should be used.
*
* @return string
*/
public function getSlug(){
return $this->_slug;
}
/**
* Sets the Slug header value. Used by some services to determine the
* title for the uploaded file. A null value indicates no slug header.
*
* @var string The slug value
* @return Zend_Gdata_App_MediaSource Provides a fluent interface
*/
public function setSlug($value){
$this->_slug = $value;
return $this;
}
/**
* Magic getter to allow acces like $source->foo to call $source->getFoo()
* Alternatively, if no getFoo() is defined, but a $_foo protected variable
* is defined, this is returned.
*
* TODO Remove ability to bypass getFoo() methods??
*
* @param string $name The variable name sought
*/
public function __get($name)
{
$method = 'get'.ucfirst($name);
if (method_exists($this, $method)) {
return call_user_func(array(&$this, $method));
} else if (property_exists($this, "_${name}")) {
return $this->{'_' . $name};
} else {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Property ' . $name . ' does not exist');
}
}
/**
* Magic setter to allow acces like $source->foo='bar' to call
* $source->setFoo('bar') automatically.
*
* Alternatively, if no setFoo() is defined, but a $_foo protected variable
* is defined, this is returned.
*
* @param string $name
* @param string $value
*/
public function __set($name, $val)
{
$method = 'set'.ucfirst($name);
if (method_exists($this, $method)) {
return call_user_func(array(&$this, $method), $val);
} else if (isset($this->{'_' . $name}) || is_null($this->{'_' . $name})) {
$this->{'_' . $name} = $val;
} else {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Property ' . $name . ' does not exist');
}
}
/**
* Magic __isset method
*
* @param string $name
*/
public function __isset($name)
{
$rc = new ReflectionClass(get_class($this));
$privName = '_' . $name;
if (!($rc->hasProperty($privName))) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Property ' . $name . ' does not exist');
} else {
if (isset($this->{$privName})) {
if (is_array($this->{$privName})) {
if (count($this->{$privName}) > 0) {
return true;
} else {
return false;
}
} else {
return true;
}
} else {
return false;
}
}
}
}
App/FeedEntryParent.php 0000604 00000052737 15071215231 0011043 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension_Element
*/
require_once 'Zend/Gdata/App/Extension/Element.php';
/**
* @see Zend_Gdata_App_Extension_Author
*/
require_once 'Zend/Gdata/App/Extension/Author.php';
/**
* @see Zend_Gdata_App_Extension_Category
*/
require_once 'Zend/Gdata/App/Extension/Category.php';
/**
* @see Zend_Gdata_App_Extension_Contributor
*/
require_once 'Zend/Gdata/App/Extension/Contributor.php';
/**
* @see Zend_Gdata_App_Extension_Id
*/
require_once 'Zend/Gdata/App/Extension/Id.php';
/**
* @see Zend_Gdata_App_Extension_Link
*/
require_once 'Zend/Gdata/App/Extension/Link.php';
/**
* @see Zend_Gdata_App_Extension_Rights
*/
require_once 'Zend/Gdata/App/Extension/Rights.php';
/**
* @see Zend_Gdata_App_Extension_Title
*/
require_once 'Zend/Gdata/App/Extension/Title.php';
/**
* @see Zend_Gdata_App_Extension_Updated
*/
require_once 'Zend/Gdata/App/Extension/Updated.php';
/**
* Zend_Version
*/
require_once 'Zend/Version.php';
/**
* Abstract class for common functionality in entries and feeds
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
abstract class Zend_Gdata_App_FeedEntryParent extends Zend_Gdata_App_Base
{
/**
* Service instance used to make network requests.
*
* @see setService(), getService()
*/
protected $_service = null;
/**
* The HTTP ETag associated with this entry. Used for optimistic
* concurrency in protoco v2 or greater.
*
* @var string|null
*/
protected $_etag = NULL;
protected $_author = array();
protected $_category = array();
protected $_contributor = array();
protected $_id = null;
protected $_link = array();
protected $_rights = null;
protected $_title = null;
protected $_updated = null;
/**
* Indicates the major protocol version that should be used.
* At present, recognized values are either 1 or 2. However, any integer
* value >= 1 is considered valid.
*
* @see setMajorProtocolVersion()
* @see getMajorProtocolVersion()
*/
protected $_majorProtocolVersion = 1;
/**
* Indicates the minor protocol version that should be used. Can be set
* to either an integer >= 0, or NULL if no minor version should be sent
* to the server.
*
* @see setMinorProtocolVersion()
* @see getMinorProtocolVersion()
*/
protected $_minorProtocolVersion = null;
/**
* Constructs a Feed or Entry
*/
public function __construct($element = null)
{
if (!($element instanceof DOMElement)) {
if ($element) {
// Load the feed as an XML DOMDocument object
@ini_set('track_errors', 1);
$doc = new DOMDocument();
$success = @$doc->loadXML($element);
@ini_restore('track_errors');
if (!$success) {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception("DOMDocument cannot parse XML: $php_errormsg");
}
$element = $doc->getElementsByTagName($this->_rootElement)->item(0);
if (!$element) {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('No root <' . $this->_rootElement . '> element found, cannot parse feed.');
}
$this->transferFromDOM($element);
}
} else {
$this->transferFromDOM($element);
}
}
/**
* Set the HTTP client instance
*
* Sets the HTTP client object to use for retrieving the feed.
*
* @deprecated Deprecated as of Zend Framework 1.7. Use
* setService() instead.
* @param Zend_Http_Client $httpClient
* @return Zend_Gdata_App_Feed Provides a fluent interface
*/
public function setHttpClient(Zend_Http_Client $httpClient)
{
if (!$this->_service) {
$this->_service = new Zend_Gdata_App();
}
$this->_service->setHttpClient($httpClient);
return $this;
}
/**
* Gets the HTTP client object. If none is set, a new Zend_Http_Client
* will be used.
*
* @deprecated Deprecated as of Zend Framework 1.7. Use
* getService() instead.
* @return Zend_Http_Client_Abstract
*/
public function getHttpClient()
{
if (!$this->_service) {
$this->_service = new Zend_Gdata_App();
}
$client = $this->_service->getHttpClient();
return $client;
}
/**
* Set the active service instance for this object. This will be used to
* perform network requests, such as when calling save() and delete().
*
* @param Zend_Gdata_App $instance The new service instance.
* @return Zend_Gdata_App_FeedEntryParent Provides a fluent interface.
*/
public function setService($instance)
{
$this->_service = $instance;
return $this;
}
/**
* Get the active service instance for this object. This will be used to
* perform network requests, such as when calling save() and delete().
*
* @return Zend_Gdata_App|null The current service instance, or null if
* not set.
*/
public function getService()
{
return $this->_service;
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
foreach ($this->_author as $author) {
$element->appendChild($author->getDOM($element->ownerDocument));
}
foreach ($this->_category as $category) {
$element->appendChild($category->getDOM($element->ownerDocument));
}
foreach ($this->_contributor as $contributor) {
$element->appendChild($contributor->getDOM($element->ownerDocument));
}
if ($this->_id != null) {
$element->appendChild($this->_id->getDOM($element->ownerDocument));
}
foreach ($this->_link as $link) {
$element->appendChild($link->getDOM($element->ownerDocument));
}
if ($this->_rights != null) {
$element->appendChild($this->_rights->getDOM($element->ownerDocument));
}
if ($this->_title != null) {
$element->appendChild($this->_title->getDOM($element->ownerDocument));
}
if ($this->_updated != null) {
$element->appendChild($this->_updated->getDOM($element->ownerDocument));
}
return $element;
}
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('atom') . ':' . 'author':
$author = new Zend_Gdata_App_Extension_Author();
$author->transferFromDOM($child);
$this->_author[] = $author;
break;
case $this->lookupNamespace('atom') . ':' . 'category':
$category = new Zend_Gdata_App_Extension_Category();
$category->transferFromDOM($child);
$this->_category[] = $category;
break;
case $this->lookupNamespace('atom') . ':' . 'contributor':
$contributor = new Zend_Gdata_App_Extension_Contributor();
$contributor->transferFromDOM($child);
$this->_contributor[] = $contributor;
break;
case $this->lookupNamespace('atom') . ':' . 'id':
$id = new Zend_Gdata_App_Extension_Id();
$id->transferFromDOM($child);
$this->_id = $id;
break;
case $this->lookupNamespace('atom') . ':' . 'link':
$link = new Zend_Gdata_App_Extension_Link();
$link->transferFromDOM($child);
$this->_link[] = $link;
break;
case $this->lookupNamespace('atom') . ':' . 'rights':
$rights = new Zend_Gdata_App_Extension_Rights();
$rights->transferFromDOM($child);
$this->_rights = $rights;
break;
case $this->lookupNamespace('atom') . ':' . 'title':
$title = new Zend_Gdata_App_Extension_Title();
$title->transferFromDOM($child);
$this->_title = $title;
break;
case $this->lookupNamespace('atom') . ':' . 'updated':
$updated = new Zend_Gdata_App_Extension_Updated();
$updated->transferFromDOM($child);
$this->_updated = $updated;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* @return Zend_Gdata_App_Extension_Author
*/
public function getAuthor()
{
return $this->_author;
}
/**
* Sets the list of the authors of this feed/entry. In an atom feed, each
* author is represented by an atom:author element
*
* @param array $value
* @return Zend_Gdata_App_FeedEntryParent Provides a fluent interface
*/
public function setAuthor($value)
{
$this->_author = $value;
return $this;
}
/**
* Returns the array of categories that classify this feed/entry. Each
* category is represented in an atom feed by an atom:category element.
*
* @return array Array of Zend_Gdata_App_Extension_Category
*/
public function getCategory()
{
return $this->_category;
}
/**
* Sets the array of categories that classify this feed/entry. Each
* category is represented in an atom feed by an atom:category element.
*
* @param array $value Array of Zend_Gdata_App_Extension_Category
* @return Zend_Gdata_App_FeedEntryParent Provides a fluent interface
*/
public function setCategory($value)
{
$this->_category = $value;
return $this;
}
/**
* Returns the array of contributors to this feed/entry. Each contributor
* is represented in an atom feed by an atom:contributor XML element
*
* @return array An array of Zend_Gdata_App_Extension_Contributor
*/
public function getContributor()
{
return $this->_contributor;
}
/**
* Sets the array of contributors to this feed/entry. Each contributor
* is represented in an atom feed by an atom:contributor XML element
*
* @param array $value
* @return Zend_Gdata_App_FeedEntryParent Provides a fluent interface
*/
public function setContributor($value)
{
$this->_contributor = $value;
return $this;
}
/**
* @return Zend_Gdata_App_Extension_Id
*/
public function getId()
{
return $this->_id;
}
/**
* @param Zend_Gdata_App_Extension_Id $value
* @return Zend_Gdata_App_FeedEntryParent Provides a fluent interface
*/
public function setId($value)
{
$this->_id = $value;
return $this;
}
/**
* Given a particular 'rel' value, this method returns a matching
* Zend_Gdata_App_Extension_Link element. If the 'rel' value
* is not provided, the full array of Zend_Gdata_App_Extension_Link
* elements is returned. In an atom feed, each link is represented
* by an atom:link element. The 'rel' value passed to this function
* is the atom:link/@rel attribute. Example rel values include 'self',
* 'edit', and 'alternate'.
*
* @param string $rel The rel value of the link to be found. If null,
* the array of Zend_Gdata_App_Extension_link elements is returned
* @return mixed Either a single Zend_Gdata_App_Extension_link element,
* an array of the same or null is returned depending on the rel value
* supplied as the argument to this function
*/
public function getLink($rel = null)
{
if ($rel == null) {
return $this->_link;
} else {
foreach ($this->_link as $link) {
if ($link->rel == $rel) {
return $link;
}
}
return null;
}
}
/**
* Returns the Zend_Gdata_App_Extension_Link element which represents
* the URL used to edit this resource. This link is in the atom feed/entry
* as an atom:link with a rel attribute value of 'edit'.
*
* @return Zend_Gdata_App_Extension_Link The link, or null if not found
*/
public function getEditLink()
{
return $this->getLink('edit');
}
/**
* Returns the Zend_Gdata_App_Extension_Link element which represents
* the URL used to retrieve the next chunk of results when paging through
* a feed. This link is in the atom feed as an atom:link with a
* rel attribute value of 'next'.
*
* @return Zend_Gdata_App_Extension_Link The link, or null if not found
*/
public function getNextLink()
{
return $this->getLink('next');
}
/**
* Returns the Zend_Gdata_App_Extension_Link element which represents
* the URL used to retrieve the previous chunk of results when paging
* through a feed. This link is in the atom feed as an atom:link with a
* rel attribute value of 'previous'.
*
* @return Zend_Gdata_App_Extension_Link The link, or null if not found
*/
public function getPreviousLink()
{
return $this->getLink('previous');
}
/**
* @return Zend_Gdata_App_Extension_Link
*/
public function getLicenseLink()
{
return $this->getLink('license');
}
/**
* Returns the Zend_Gdata_App_Extension_Link element which represents
* the URL used to retrieve the entry or feed represented by this object
* This link is in the atom feed/entry as an atom:link with a
* rel attribute value of 'self'.
*
* @return Zend_Gdata_App_Extension_Link The link, or null if not found
*/
public function getSelfLink()
{
return $this->getLink('self');
}
/**
* Returns the Zend_Gdata_App_Extension_Link element which represents
* the URL for an alternate view of the data represented by this feed or
* entry. This alternate view is commonly a user-facing webpage, blog
* post, etc. The MIME type for the data at the URL is available from the
* returned Zend_Gdata_App_Extension_Link element.
* This link is in the atom feed/entry as an atom:link with a
* rel attribute value of 'self'.
*
* @return Zend_Gdata_App_Extension_Link The link, or null if not found
*/
public function getAlternateLink()
{
return $this->getLink('alternate');
}
/**
* @param array $value The array of Zend_Gdata_App_Extension_Link elements
* @return Zend_Gdata_App_FeedEntryParent Provides a fluent interface
*/
public function setLink($value)
{
$this->_link = $value;
return $this;
}
/**
* @return Zend_Gdata_AppExtension_Rights
*/
public function getRights()
{
return $this->_rights;
}
/**
* @param Zend_Gdata_App_Extension_Rights $value
* @return Zend_Gdata_App_FeedEntryParent Provides a fluent interface
*/
public function setRights($value)
{
$this->_rights = $value;
return $this;
}
/**
* Returns the title of this feed or entry. The title is an extremely
* short textual representation of this resource and is found as
* an atom:title element in a feed or entry
*
* @return Zend_Gdata_App_Extension_Title
*/
public function getTitle()
{
return $this->_title;
}
/**
* Returns a string representation of the title of this feed or entry.
* The title is an extremely short textual representation of this
* resource and is found as an atom:title element in a feed or entry
*
* @return string
*/
public function getTitleValue()
{
if (($titleObj = $this->getTitle()) != null) {
return $titleObj->getText();
} else {
return null;
}
}
/**
* Returns the title of this feed or entry. The title is an extremely
* short textual representation of this resource and is found as
* an atom:title element in a feed or entry
*
* @param Zend_Gdata_App_Extension_Title $value
* @return Zend_Gdata_App_Feed_Entry_Parent Provides a fluent interface
*/
public function setTitle($value)
{
$this->_title = $value;
return $this;
}
/**
* @return Zend_Gdata_App_Extension_Updated
*/
public function getUpdated()
{
return $this->_updated;
}
/**
* @param Zend_Gdata_App_Extension_Updated $value
* @return Zend_Gdata_App_Feed_Entry_Parent Provides a fluent interface
*/
public function setUpdated($value)
{
$this->_updated = $value;
return $this;
}
/**
* Set the Etag for the current entry to $value. Setting $value to null
* unsets the Etag.
*
* @param string|null $value
* @return Zend_Gdata_App_Entry Provides a fluent interface
*/
public function setEtag($value) {
$this->_etag = $value;
return $this;
}
/**
* Return the Etag for the current entry, or null if not set.
*
* @return string|null
*/
public function getEtag() {
return $this->_etag;
}
/**
* Set the major protocol version that should be used. Values < 1
* (excluding NULL) will cause a Zend_Gdata_App_InvalidArgumentException
* to be thrown.
*
* @see _majorProtocolVersion
* @param (int|NULL) $value The major protocol version to use.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function setMajorProtocolVersion($value)
{
if (!($value >= 1) && !is_null($value)) {
require_once('Zend/Gdata/App/InvalidArgumentException.php');
throw new Zend_Gdata_App_InvalidArgumentException(
'Major protocol version must be >= 1');
}
$this->_majorProtocolVersion = $value;
}
/**
* Get the major protocol version that is in use.
*
* @see _majorProtocolVersion
* @return (int|NULL) The major protocol version in use.
*/
public function getMajorProtocolVersion()
{
return $this->_majorProtocolVersion;
}
/**
* Set the minor protocol version that should be used. If set to NULL, no
* minor protocol version will be sent to the server. Values < 0 will
* cause a Zend_Gdata_App_InvalidArgumentException to be thrown.
*
* @see _minorProtocolVersion
* @param (int|NULL) $value The minor protocol version to use.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function setMinorProtocolVersion($value)
{
if (!($value >= 0)) {
require_once('Zend/Gdata/App/InvalidArgumentException.php');
throw new Zend_Gdata_App_InvalidArgumentException(
'Minor protocol version must be >= 0 or null');
}
$this->_minorProtocolVersion = $value;
}
/**
* Get the minor protocol version that is in use.
*
* @see _minorProtocolVersion
* @return (int|NULL) The major protocol version in use, or NULL if no
* minor version is specified.
*/
public function getMinorProtocolVersion()
{
return $this->_minorProtocolVersion;
}
/**
* Get the full version of a namespace prefix
*
* Looks up a prefix (atom:, etc.) in the list of registered
* namespaces and returns the full namespace URI if
* available. Returns the prefix, unmodified, if it's not
* registered.
*
* The current entry or feed's version will be used when performing the
* namespace lookup unless overridden using $majorVersion and
* $minorVersion. If the entry/fee has a null version, then the latest
* protocol version will be used by default.
*
* @param string $prefix The namespace prefix to lookup.
* @param integer $majorVersion The major protocol version in effect.
* Defaults to null (auto-select).
* @param integer $minorVersion The minor protocol version in effect.
* Defaults to null (auto-select).
* @return string
*/
public function lookupNamespace($prefix,
$majorVersion = null,
$minorVersion = null)
{
// Auto-select current version
if (is_null($majorVersion)) {
$majorVersion = $this->getMajorProtocolVersion();
}
if (is_null($minorVersion)) {
$minorVersion = $this->getMinorProtocolVersion();
}
// Perform lookup
return parent::lookupNamespace($prefix, $majorVersion, $minorVersion);
}
}
App/MediaSource.php 0000604 00000004210 15071215231 0010163 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Interface for defining data that can be encoded and sent over the network.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
interface Zend_Gdata_App_MediaSource
{
/**
* Return a byte stream representation of this object.
*
* @return string
*/
public function encode();
/**
* Set the content type for the file attached (example image/png)
*
* @param string $value The content type
* @return Zend_Gdata_App_MediaFileSource Provides a fluent interface
*/
public function setContentType($value);
/**
* The content type for the file attached (example image/png)
*
* @return string The content type
*/
public function getContentType();
/**
* Sets the Slug header value. Used by some services to determine the
* title for the uploaded file. A null value indicates no slug header.
*
* @var string The slug value
* @return Zend_Gdata_App_MediaSource Provides a fluent interface
*/
public function setSlug($value);
/**
* Returns the Slug header value. Used by some services to determine the
* title for the uploaded file. Returns null if no slug should be used.
*
* @return string The slug value
*/
public function getSlug();
}
App/VersionException.php 0000604 00000002265 15071215231 0011277 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Gdata_App_Exception
*/
require_once 'Zend/Gdata/App/Exception.php';
/**
* Gdata APP exceptions
*
* Class to represent version exceptions that occur during Gdata APP operations.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_VersionException extends Zend_Gdata_App_Exception
{
}
App/HttpException.php 0000604 00000005666 15071215231 0010601 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Gdata_App_Exception
*/
require_once 'Zend/Gdata/App/Exception.php';
/**
* Zend_Http_Client_Exception
*/
require_once 'Zend/Http/Client/Exception.php';
/**
* Gdata exceptions
*
* Class to represent exceptions that occur during Gdata operations.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_HttpException extends Zend_Gdata_App_Exception
{
protected $_httpClientException = null;
protected $_response = null;
/**
* Create a new Zend_Gdata_App_HttpException
*
* @param string $message Optionally set a message
* @param Zend_Http_Client_Exception Optionally pass in a Zend_Http_Client_Exception
* @param Zend_Http_Response Optionally pass in a Zend_Http_Response
*/
public function __construct($message = null, $e = null, $response = null)
{
$this->_httpClientException = $e;
$this->_response = $response;
parent::__construct($message);
}
/**
* Get the Zend_Http_Client_Exception.
*
* @return Zend_Http_Client_Exception
*/
public function getHttpClientException()
{
return $this->_httpClientException;
}
/**
* Set the Zend_Http_Client_Exception.
*
* @param Zend_Http_Client_Exception $value
*/
public function setHttpClientException($value)
{
$this->_httpClientException = $value;
return $this;
}
/**
* Set the Zend_Http_Response.
*
* @param Zend_Http_Response $response
*/
public function setResponse($response)
{
$this->_response = $response;
return $this;
}
/**
* Get the Zend_Http_Response.
*
* @return Zend_Http_Response
*/
public function getResponse()
{
return $this->_response;
}
/**
* Get the body of the Zend_Http_Response
*
* @return string
*/
public function getRawResponseBody()
{
if ($this->getResponse()) {
$response = $this->getResponse();
return $response->getRawBody();
}
return null;
}
}
App/Base.php 0000604 00000042561 15071215231 0006650 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Util
*/
require_once 'Zend/Gdata/App/Util.php';
/**
* Abstract class for all XML elements
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
abstract class Zend_Gdata_App_Base
{
/**
* @var string The XML element name, including prefix if desired
*/
protected $_rootElement = null;
/**
* @var string The XML namespace prefix
*/
protected $_rootNamespace = 'atom';
/**
* @var string The XML namespace URI - takes precedence over lookup up the
* corresponding URI for $_rootNamespace
*/
protected $_rootNamespaceURI = null;
/**
* @var array Leftover elements which were not handled
*/
protected $_extensionElements = array();
/**
* @var array Leftover attributes which were not handled
*/
protected $_extensionAttributes = array();
/**
* @var string XML child text node content
*/
protected $_text = null;
/**
* List of namespaces, as a three-dimensional array. The first dimension
* represents the namespace prefix, the second dimension represents the
* minimum major protocol version, and the third dimension is the minimum
* minor protocol version. Null keys are NOT allowed.
*
* When looking up a namespace for a given prefix, the greatest version
* number (both major and minor) which is less than the effective version
* should be used.
*
* @see lookupNamespace()
* @see registerNamespace()
* @see registerAllNamespaces()
* @var array
*/
protected $_namespaces = array(
'atom' => array(
1 => array(
0 => 'http://www.w3.org/2005/Atom'
)
),
'app' => array(
1 => array(
0 => 'http://purl.org/atom/app#'
),
2 => array(
0 => 'http://www.w3.org/2007/app'
)
)
);
public function __construct()
{
}
/**
* Returns the child text node of this element
* This represents any raw text contained within the XML element
*
* @return string Child text node
*/
public function getText($trim = true)
{
if ($trim) {
return trim($this->_text);
} else {
return $this->_text;
}
}
/**
* Sets the child text node of this element
* This represents any raw text contained within the XML element
*
* @param string $value Child text node
* @return Zend_Gdata_App_Base Returns an object of the same type as 'this' to provide a fluent interface.
*/
public function setText($value)
{
$this->_text = $value;
return $this;
}
/**
* Returns an array of all elements not matched to data model classes
* during the parsing of the XML
*
* @return array All elements not matched to data model classes during parsing
*/
public function getExtensionElements()
{
return $this->_extensionElements;
}
/**
* Sets an array of all elements not matched to data model classes
* during the parsing of the XML. This method can be used to add arbitrary
* child XML elements to any data model class.
*
* @param array $value All extension elements
* @return Zend_Gdata_App_Base Returns an object of the same type as 'this' to provide a fluent interface.
*/
public function setExtensionElements($value)
{
$this->_extensionElements = $value;
return $this;
}
/**
* Returns an array of all extension attributes not transformed into data
* model properties during parsing of the XML. Each element of the array
* is a hashed array of the format:
* array('namespaceUri' => string, 'name' => string, 'value' => string);
*
* @return array All extension attributes
*/
public function getExtensionAttributes()
{
return $this->_extensionAttributes;
}
/**
* Sets an array of all extension attributes not transformed into data
* model properties during parsing of the XML. Each element of the array
* is a hashed array of the format:
* array('namespaceUri' => string, 'name' => string, 'value' => string);
* This can be used to add arbitrary attributes to any data model element
*
* @param array $value All extension attributes
* @return Zend_Gdata_App_Base Returns an object of the same type as 'this' to provide a fluent interface.
*/
public function setExtensionAttributes($value)
{
$this->_extensionAttributes = $value;
return $this;
}
/**
* 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)
{
if (is_null($doc)) {
$doc = new DOMDocument('1.0', 'utf-8');
}
if ($this->_rootNamespaceURI != null) {
$element = $doc->createElementNS($this->_rootNamespaceURI, $this->_rootElement);
} elseif ($this->_rootNamespace !== null) {
if (strpos($this->_rootElement, ':') === false) {
$elementName = $this->_rootNamespace . ':' . $this->_rootElement;
} else {
$elementName = $this->_rootElement;
}
$element = $doc->createElementNS($this->lookupNamespace($this->_rootNamespace), $elementName);
} else {
$element = $doc->createElement($this->_rootElement);
}
if ($this->_text != null) {
$element->appendChild($element->ownerDocument->createTextNode($this->_text));
}
foreach ($this->_extensionElements as $extensionElement) {
$element->appendChild($extensionElement->getDOM($element->ownerDocument));
}
foreach ($this->_extensionAttributes as $attribute) {
$element->setAttribute($attribute['name'], $attribute['value']);
}
return $element;
}
/**
* Given a child DOMNode, tries to determine how to map the data into
* object instance members. If no mapping is defined, Extension_Element
* objects are created and stored in an array.
*
* @param DOMNode $child The DOMNode needed to be handled
*/
protected function takeChildFromDOM($child)
{
if ($child->nodeType == XML_TEXT_NODE) {
$this->_text = $child->nodeValue;
} else {
$extensionElement = new Zend_Gdata_App_Extension_Element();
$extensionElement->transferFromDOM($child);
$this->_extensionElements[] = $extensionElement;
}
}
/**
* 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)
{
$arrayIndex = ($attribute->namespaceURI != '')?(
$attribute->namespaceURI . ':' . $attribute->name):
$attribute->name;
$this->_extensionAttributes[$arrayIndex] =
array('namespaceUri' => $attribute->namespaceURI,
'name' => $attribute->localName,
'value' => $attribute->nodeValue);
}
/**
* Transfers each child and attribute into member variables.
* This is called when XML is received over the wire and the data
* model needs to be built to represent this XML.
*
* @param DOMNode $node The DOMNode that represents this object's data
*/
public function transferFromDOM($node)
{
foreach ($node->childNodes as $child) {
$this->takeChildFromDOM($child);
}
foreach ($node->attributes as $attribute) {
$this->takeAttributeFromDOM($attribute);
}
}
/**
* Parses the provided XML text and generates data model classes for
* each know element by turning the XML text into a DOM tree and calling
* transferFromDOM($element). The first data model element with the same
* name as $this->_rootElement is used and the child elements are
* recursively parsed.
*
* @param string $xml The XML text to parse
*/
public function transferFromXML($xml)
{
if ($xml) {
// Load the feed as an XML DOMDocument object
@ini_set('track_errors', 1);
$doc = new DOMDocument();
$success = @$doc->loadXML($xml);
@ini_restore('track_errors');
if (!$success) {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception("DOMDocument cannot parse XML: $php_errormsg");
}
$element = $doc->getElementsByTagName($this->_rootElement)->item(0);
if (!$element) {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('No root <' . $this->_rootElement . '> element');
}
$this->transferFromDOM($element);
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('XML passed to transferFromXML cannot be null');
}
}
/**
* Converts this element and all children into XML text using getDOM()
*
* @return string XML content
*/
public function saveXML()
{
$element = $this->getDOM();
return $element->ownerDocument->saveXML($element);
}
/**
* Alias for saveXML() returns XML content for this element and all
* children
*
* @return string XML content
*/
public function getXML()
{
return $this->saveXML();
}
/**
* Alias for saveXML()
*
* Can be overridden by children to provide more complex representations
* of entries.
*
* @return string Encoded string content
*/
public function encode()
{
return $this->saveXML();
}
/**
* Get the full version of a namespace prefix
*
* Looks up a prefix (atom:, etc.) in the list of registered
* namespaces and returns the full namespace URI if
* available. Returns the prefix, unmodified, if it's not
* registered.
*
* @param string $prefix The namespace prefix to lookup.
* @param integer $majorVersion The major protocol version in effect.
* Defaults to '1'.
* @param integer $minorVersion The minor protocol version in effect.
* Defaults to null (use latest).
* @return string
*/
public function lookupNamespace($prefix,
$majorVersion = 1,
$minorVersion = null)
{
// If no match, return the prefix by default
$result = $prefix;
// Find tuple of keys that correspond to the namespace we should use
if (isset($this->_namespaces[$prefix])) {
// Major version search
$nsData = $this->_namespaces[$prefix];
$foundMajorV = Zend_Gdata_App_Util::findGreatestBoundedValue(
$majorVersion, $nsData);
// Minor version search
$nsData = $nsData[$foundMajorV];
$foundMinorV = Zend_Gdata_App_Util::findGreatestBoundedValue(
$minorVersion, $nsData);
// Extract NS
$result = $nsData[$foundMinorV];
}
return $result;
}
/**
* Add a namespace and prefix to the registered list
*
* Takes a prefix and a full namespace URI and adds them to the
* list of registered namespaces for use by
* $this->lookupNamespace().
*
* @param string $prefix The namespace prefix
* @param string $namespaceUri The full namespace URI
* @param integer $majorVersion The major protocol version in effect.
* Defaults to '1'.
* @param integer $minorVersion The minor protocol version in effect.
* Defaults to null (use latest).
* @return void
*/
public function registerNamespace($prefix,
$namespaceUri,
$majorVersion = 1,
$minorVersion = 0)
{
$this->_namespaces[$prefix][$majorVersion][$minorVersion] =
$namespaceUri;
}
/**
* Add an array of namespaces to the registered list.
*
* Takes an array in the format of:
* namespace prefix, namespace URI, major protocol version,
* minor protocol version and adds them with calls to ->registerNamespace()
*
* @param array $namespaceArray An array of namespaces.
* @return void
*/
public function registerAllNamespaces($namespaceArray)
{
foreach($namespaceArray as $namespace) {
$this->registerNamespace(
$namespace[0], $namespace[1], $namespace[2], $namespace[3]);
}
}
/**
* Magic getter to allow access like $entry->foo to call $entry->getFoo()
* Alternatively, if no getFoo() is defined, but a $_foo protected variable
* is defined, this is returned.
*
* TODO Remove ability to bypass getFoo() methods??
*
* @param string $name The variable name sought
*/
public function __get($name)
{
$method = 'get'.ucfirst($name);
if (method_exists($this, $method)) {
return call_user_func(array(&$this, $method));
} else if (property_exists($this, "_${name}")) {
return $this->{'_' . $name};
} else {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Property ' . $name . ' does not exist');
}
}
/**
* Magic setter to allow acces like $entry->foo='bar' to call
* $entry->setFoo('bar') automatically.
*
* Alternatively, if no setFoo() is defined, but a $_foo protected variable
* is defined, this is returned.
*
* TODO Remove ability to bypass getFoo() methods??
*
* @param string $name
* @param string $value
*/
public function __set($name, $val)
{
$method = 'set'.ucfirst($name);
if (method_exists($this, $method)) {
return call_user_func(array(&$this, $method), $val);
} else if (isset($this->{'_' . $name}) || is_null($this->{'_' . $name})) {
$this->{'_' . $name} = $val;
} else {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Property ' . $name . ' does not exist');
}
}
/**
* Magic __isset method
*
* @param string $name
*/
public function __isset($name)
{
$rc = new ReflectionClass(get_class($this));
$privName = '_' . $name;
if (!($rc->hasProperty($privName))) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Property ' . $name . ' does not exist');
} else {
if (isset($this->{$privName})) {
if (is_array($this->{$privName})) {
if (count($this->{$privName}) > 0) {
return true;
} else {
return false;
}
} else {
return true;
}
} else {
return false;
}
}
}
/**
* Magic __unset method
*
* @param string $name
*/
public function __unset($name)
{
if (isset($this->{'_' . $name})) {
if (is_array($this->{'_' . $name})) {
$this->{'_' . $name} = array();
} else {
$this->{'_' . $name} = null;
}
}
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*
* @return string The text representation of this object
*/
public function __toString()
{
return $this->getText();
}
}
App/FeedSourceParent.php 0000604 00000016352 15071215231 0011173 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Entry
*/
require_once 'Zend/Gdata/App/Entry.php';
/**
* @see Zend_Gdata_App_FeedSourceParent
*/
require_once 'Zend/Gdata/App/FeedEntryParent.php';
/**
* @see Zend_Gdata_App_Extension_Generator
*/
require_once 'Zend/Gdata/App/Extension/Generator.php';
/**
* @see Zend_Gdata_App_Extension_Icon
*/
require_once 'Zend/Gdata/App/Extension/Icon.php';
/**
* @see Zend_Gdata_App_Extension_Logo
*/
require_once 'Zend/Gdata/App/Extension/Logo.php';
/**
* @see Zend_Gdata_App_Extension_Subtitle
*/
require_once 'Zend/Gdata/App/Extension/Subtitle.php';
/**
* Atom feed class
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
abstract class Zend_Gdata_App_FeedSourceParent extends Zend_Gdata_App_FeedEntryParent
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_App_Entry';
/**
* Root XML element for Atom entries.
*
* @var string
*/
protected $_rootElement = null;
protected $_generator = null;
protected $_icon = null;
protected $_logo = null;
protected $_subtitle = null;
/**
* Set the HTTP client instance
*
* Sets the HTTP client object to use for retrieving the feed.
*
* @deprecated Deprecated as of Zend Framework 1.7. Use
* setService() instead.
* @param Zend_Http_Client $httpClient
* @return Zend_Gdata_App_FeedSourceParent Provides a fluent interface
*/
public function setHttpClient(Zend_Http_Client $httpClient)
{
parent::setHttpClient($httpClient);
foreach ($this->_entry as $entry) {
$entry->setHttpClient($httpClient);
}
return $this;
}
/**
* Set the active service instance for this feed and all enclosed entries.
* This will be used to perform network requests, such as when calling
* save() and delete().
*
* @param Zend_Gdata_App $instance The new service instance.
* @return Zend_Gdata_App_FeedEntryParent Provides a fluent interface.
*/
public function setService($instance)
{
parent::setService($instance);
foreach ($this->_entry as $entry) {
$entry->setService($instance);
}
return $this;
}
/**
* Make accessing some individual elements of the feed easier.
*
* Special accessors 'entry' and 'entries' are provided so that if
* you wish to iterate over an Atom feed's entries, you can do so
* using foreach ($feed->entries as $entry) or foreach
* ($feed->entry as $entry).
*
* @param string $var The property to access.
* @return mixed
*/
public function __get($var)
{
switch ($var) {
default:
return parent::__get($var);
}
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_generator != null) {
$element->appendChild($this->_generator->getDOM($element->ownerDocument));
}
if ($this->_icon != null) {
$element->appendChild($this->_icon->getDOM($element->ownerDocument));
}
if ($this->_logo != null) {
$element->appendChild($this->_logo->getDOM($element->ownerDocument));
}
if ($this->_subtitle != null) {
$element->appendChild($this->_subtitle->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('atom') . ':' . 'generator':
$generator = new Zend_Gdata_App_Extension_Generator();
$generator->transferFromDOM($child);
$this->_generator = $generator;
break;
case $this->lookupNamespace('atom') . ':' . 'icon':
$icon = new Zend_Gdata_App_Extension_Icon();
$icon->transferFromDOM($child);
$this->_icon = $icon;
break;
case $this->lookupNamespace('atom') . ':' . 'logo':
$logo = new Zend_Gdata_App_Extension_Logo();
$logo->transferFromDOM($child);
$this->_logo = $logo;
break;
case $this->lookupNamespace('atom') . ':' . 'subtitle':
$subtitle = new Zend_Gdata_App_Extension_Subtitle();
$subtitle->transferFromDOM($child);
$this->_subtitle = $subtitle;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* @return Zend_Gdata_AppExtension_Generator
*/
public function getGenerator()
{
return $this->_generator;
}
/**
* @param Zend_Gdata_App_Extension_Generator $value
* @return Zend_Gdata_App_FeedSourceParent Provides a fluent interface
*/
public function setGenerator($value)
{
$this->_generator = $value;
return $this;
}
/**
* @return Zend_Gdata_AppExtension_Icon
*/
public function getIcon()
{
return $this->_icon;
}
/**
* @param Zend_Gdata_App_Extension_Icon $value
* @return Zend_Gdata_App_FeedSourceParent Provides a fluent interface
*/
public function setIcon($value)
{
$this->_icon = $value;
return $this;
}
/**
* @return Zend_Gdata_AppExtension_logo
*/
public function getlogo()
{
return $this->_logo;
}
/**
* @param Zend_Gdata_App_Extension_logo $value
* @return Zend_Gdata_App_FeedSourceParent Provides a fluent interface
*/
public function setlogo($value)
{
$this->_logo = $value;
return $this;
}
/**
* @return Zend_Gdata_AppExtension_Subtitle
*/
public function getSubtitle()
{
return $this->_subtitle;
}
/**
* @param Zend_Gdata_App_Extension_Subtitle $value
* @return Zend_Gdata_App_FeedSourceParent Provides a fluent interface
*/
public function setSubtitle($value)
{
$this->_subtitle = $value;
return $this;
}
}
App/Feed.php 0000604 00000022750 15071215231 0006637 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Entry
*/
require_once 'Zend/Gdata/App/Entry.php';
/**
* @see Zend_Gdata_App_FeedSourceParent
*/
require_once 'Zend/Gdata/App/FeedSourceParent.php';
/**
* Atom feed class
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Feed extends Zend_Gdata_App_FeedSourceParent
implements Iterator, ArrayAccess
{
/**
* The root xml element of this data element
*
* @var string
*/
protected $_rootElement = 'feed';
/**
* Cache of feed entries.
*
* @var array
*/
protected $_entry = array();
/**
* Current location in $_entry array
*
* @var int
*/
protected $_entryIndex = 0;
/**
* Make accessing some individual elements of the feed easier.
*
* Special accessors 'entry' and 'entries' are provided so that if
* you wish to iterate over an Atom feed's entries, you can do so
* using foreach ($feed->entries as $entry) or foreach
* ($feed->entry as $entry).
*
* @param string $var The property to get.
* @return mixed
*/
public function __get($var)
{
switch ($var) {
case 'entries':
return $this;
default:
return parent::__get($var);
}
}
/**
* Retrieves the DOM model representing this object and all children
*
* @param DOMDocument $doc
* @return DOMElement
*/
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
foreach ($this->_entry as $entry) {
$element->appendChild($entry->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('atom') . ':' . 'entry':
$newEntry = new $this->_entryClassName($child);
$newEntry->setHttpClient($this->getHttpClient());
$newEntry->setMajorProtocolVersion($this->getMajorProtocolVersion());
$newEntry->setMinorProtocolVersion($this->getMinorProtocolVersion());
$this->_entry[] = $newEntry;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Get the number of entries in this feed object.
*
* @return integer Entry count.
*/
public function count()
{
return count($this->_entry);
}
/**
* Required by the Iterator interface.
*
* @return void
*/
public function rewind()
{
$this->_entryIndex = 0;
}
/**
* Required by the Iterator interface.
*
* @return mixed The current row, or null if no rows.
*/
public function current()
{
return $this->_entry[$this->_entryIndex];
}
/**
* Required by the Iterator interface.
*
* @return mixed The current row number (starts at 0), or NULL if no rows
*/
public function key()
{
return $this->_entryIndex;
}
/**
* Required by the Iterator interface.
*
* @return mixed The next row, or null if no more rows.
*/
public function next()
{
++$this->_entryIndex;
}
/**
* Required by the Iterator interface.
*
* @return boolean Whether the iteration is valid
*/
public function valid()
{
return 0 <= $this->_entryIndex && $this->_entryIndex < $this->count();
}
/**
* Gets the array of atom:entry elements contained within this
* atom:feed representation
*
* @return array Zend_Gdata_App_Entry array
*/
public function getEntry()
{
return $this->_entry;
}
/**
* Sets the array of atom:entry elements contained within this
* atom:feed representation
*
* @param array $value The array of Zend_Gdata_App_Entry elements
* @return Zend_Gdata_App_Feed Provides a fluent interface
*/
public function setEntry($value)
{
$this->_entry = $value;
return $this;
}
/**
* Adds an entry representation to the array of entries
* contained within this feed
*
* @param Zend_Gdata_App_Entry An individual entry to add.
* @return Zend_Gdata_App_Feed Provides a fluent interface
*/
public function addEntry($value)
{
$this->_entry[] = $value;
return $this;
}
/**
* Required by the ArrayAccess interface
*
* @param int $key The index to set
* @param Zend_Gdata_App_Entry $value The value to set
* @return void
*/
public function offsetSet($key, $value)
{
$this->_entry[$key] = $value;
}
/**
* Required by the ArrayAccess interface
*
* @param int $key The index to get
* @param Zend_Gdata_App_Entry $value The value to set
*/
public function offsetGet($key)
{
if (array_key_exists($key, $this->_entry)) {
return $this->_entry[$key];
}
}
/**
* Required by the ArrayAccess interface
*
* @param int $key The index to set
* @param Zend_Gdata_App_Entry $value The value to set
*/
public function offsetUnset($key)
{
if (array_key_exists($key, $this->_entry)) {
unset($this->_entry[$key]);
}
}
/**
* Required by the ArrayAccess interface
*
* @param int $key The index to check for existence
* @return boolean
*/
public function offsetExists($key)
{
return (array_key_exists($key, $this->_entry));
}
/**
* Retrieve the next set of results from this feed.
*
* @throws Zend_Gdata_App_Exception
* @return mixed|null Returns the next set of results as a feed of the same
* class as this feed, or null if no results exist.
*/
public function getNextFeed()
{
$nextLink = $this->getNextLink();
if (!$nextLink) {
require_once 'Zend/Gdata/App/HttpException.php';
throw new Zend_Gdata_App_Exception('No link to next set ' .
'of results found.');
}
$nextLinkHref = $nextLink->getHref();
$service = new Zend_Gdata_App($this->getHttpClient());
return $service->getFeed($nextLinkHref, get_class($this));
}
/**
* Retrieve the previous set of results from this feed.
*
* @throws Zend_Gdata_App_Exception
* @return mixed|null Returns the previous set of results as a feed of
* the same class as this feed, or null if no results exist.
*/
public function getPreviousFeed()
{
$previousLink = $this->getPreviousLink();
if (!$previousLink) {
require_once 'Zend/Gdata/App/HttpException.php';
throw new Zend_Gdata_App_Exception('No link to previous set ' .
'of results found.');
}
$previousLinkHref = $previousLink->getHref();
$service = new Zend_Gdata_App($this->getHttpClient());
return $service->getFeed($previousLinkHref, get_class($this));
}
/**
* Set the major protocol version that should be used. Values < 1 will
* cause a Zend_Gdata_App_InvalidArgumentException to be thrown.
*
* This value will be propogated to all child entries.
*
* @see _majorProtocolVersion
* @param (int|NULL) $value The major protocol version to use.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function setMajorProtocolVersion($value)
{
parent::setMajorProtocolVersion($value);
foreach ($this->entries as $entry) {
$entry->setMajorProtocolVersion($value);
}
}
/**
* Set the minor protocol version that should be used. If set to NULL, no
* minor protocol version will be sent to the server. Values < 0 will
* cause a Zend_Gdata_App_InvalidArgumentException to be thrown.
*
* This value will be propogated to all child entries.
*
* @see _minorProtocolVersion
* @param (int|NULL) $value The minor protocol version to use.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function setMinorProtocolVersion($value)
{
parent::setMinorProtocolVersion($value);
foreach ($this->entries as $entry) {
$entry->setMinorProtocolVersion($value);
}
}
}
App/IOException.php 0000604 00000002260 15071215231 0010154 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Gdata_App_Exception
*/
require_once 'Zend/Gdata/App/Exception.php';
/**
* Gdata App IO exceptions.
*
* Class to represent IO exceptions that occur during Gdata App operations.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_IOException extends Zend_Gdata_App_Exception
{
}
App/BadMethodCallException.php 0000604 00000002263 15071215231 0012273 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Gdata_App_Exception
*/
require_once 'Zend/Gdata/App/Exception.php';
/**
* Gdata APP exceptions
*
* Class to represent exceptions that occur during Gdata APP operations.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_BadMethodCallException extends Zend_Gdata_App_Exception
{
}
App/Exception.php 0000604 00000002211 15071215231 0007720 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Exception
*/
require_once 'Zend/Exception.php';
/**
* Gdata App exceptions
*
* Class to represent exceptions that occur during Gdata App operations.
*
* @category Zend
* @package Zend_Gdata
* @subpackage App
* @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_App_Exception extends Zend_Exception
{
}
Docs/Query.php 0000604 00000013300 15071215231 0007240 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Docs
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Gdata_Query
*/
require_once('Zend/Gdata/Query.php');
/**
* Assists in constructing queries for Google Document List documents
*
* @link http://code.google.com/apis/gdata/spreadsheets/
*
* @category Zend
* @package Zend_Gdata
* @subpackage Docs
* @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_Docs_Query extends Zend_Gdata_Query
{
/**
* The base URL for retrieving a document list
*
* @var string
*/
const DOCUMENTS_LIST_FEED_URI = 'http://docs.google.com/feeds/documents';
/**
* The generic base URL used by some inherited methods
*
* @var string
*/
protected $_defaultFeedUri = self::DOCUMENTS_LIST_FEED_URI;
/**
* The visibility to be used when querying for the feed. A request for a
* feed with private visbility requires the user to be authenricated.
* Private is the only avilable visibility for the documents list.
*
* @var string
*/
protected $_visibility = 'private';
/**
* The projection determines how much detail should be given in the
* result of the query. Full is the only valid projection for the
* documents list.
*
* @var string
*/
protected $_projection = 'full';
/**
* Constructs a new instance of a Zend_Gdata_Docs_Query object.
*/
public function __construct()
{
parent::__construct();
}
/**
* Sets the projection for this query. Common values for projection
* include 'full'.
*
* @param string $value
* @return Zend_Gdata_Docs_Query Provides a fluent interface
*/
public function setProjection($value)
{
$this->_projection = $value;
return $this;
}
/**
* Sets the visibility for this query. Common values for visibility
* include 'private'.
*
* @return Zend_Gdata_Docs_Query Provides a fluent interface
*/
public function setVisibility($value)
{
$this->_visibility = $value;
return $this;
}
/**
* Gets the projection for this query.
*
* @return string projection
*/
public function getProjection()
{
return $this->_projection;
}
/**
* Gets the visibility for this query.
*
* @return string visibility
*/
public function getVisibility()
{
return $this->_visibility;
}
/**
* Sets the title attribute for this query. The title parameter is used
* to restrict the results to documents whose titles either contain or
* completely match the title.
*
* @param string $value
* @return Zend_Gdata_Docs_Query Provides a fluent interface
*/
public function setTitle($value)
{
if ($value !== null) {
$this->_params['title'] = $value;
} else {
unset($this->_params['title']);
}
return $this;
}
/**
* Gets the title attribute for this query.
*
* @return string title
*/
public function getTitle()
{
if (array_key_exists('title', $this->_params)) {
return $this->_params['title'];
} else {
return null;
}
}
/**
* Sets the title-exact attribute for this query.
* If title-exact is set to true, the title query parameter will be used
* in an exact match. Only documents with a title identical to the
* title parameter will be returned.
*
* @param boolean $value Use either true or false
* @return Zend_Gdata_Docs_Query Provides a fluent interface
*/
public function setTitleExact($value)
{
if ($value) {
$this->_params['title-exact'] = $value;
} else {
unset($this->_params['title-exact']);
}
return $this;
}
/**
* Gets the title-exact attribute for this query.
*
* @return string title-exact
*/
public function getTitleExact()
{
if (array_key_exists('title-exact', $this->_params)) {
return $this->_params['title-exact'];
} else {
return false;
}
}
/**
* Gets the full query URL for this query.
*
* @return string url
*/
public function getQueryUrl()
{
$uri = $this->_defaultFeedUri;
if ($this->_visibility !== null) {
$uri .= '/' . $this->_visibility;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception(
'A visibility must be provided for cell queries.');
}
if ($this->_projection !== null) {
$uri .= '/' . $this->_projection;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception(
'A projection must be provided for cell queries.');
}
$uri .= $this->getQueryString();
return $uri;
}
}
Docs/DocumentListFeed.php 0000604 00000003440 15071215231 0011335 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Docs
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* Data model for a Google Documents List feed of documents
*
* @category Zend
* @package Zend_Gdata
* @subpackage Docs
* @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_Docs_DocumentListFeed extends Zend_Gdata_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Docs_DocumentListEntry';
/**
* The classname for the feed.
*
* @var string
*/
protected $_feedClassName = 'Zend_Gdata_Docs_DocumentListFeed';
/**
* Create a new instance of a feed for a list of documents.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Docs::$namespaces);
parent::__construct($element);
}
}
Docs/DocumentListEntry.php 0000604 00000003037 15071215231 0011575 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Docs
* @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_EntryAtom
*/
require_once 'Zend/Gdata/Entry.php';
/**
* Represents a Documents List entry in the Documents List data API meta feed
* of a user's documents.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Docs
* @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_Docs_DocumentListEntry extends Zend_Gdata_Entry
{
/**
* Create a new instance of an entry representing a document.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Docs::$namespaces);
parent::__construct($element);
}
}
Calendar/ListFeed.php 0000604 00000005546 15071215231 0010470 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* @see Zend_Gdata_Extension_Timezone
*/
require_once 'Zend/Gdata/Calendar/Extension/Timezone.php';
/**
* Represents the meta-feed list of calendars
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @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_Calendar_ListFeed extends Zend_Gdata_Feed
{
protected $_timezone = null;
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Calendar_ListEntry';
/**
* The classname for the feed.
*
* @var string
*/
protected $_feedClassName = 'Zend_Gdata_Calendar_ListFeed';
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Calendar::$namespaces);
parent::__construct($element);
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_timezone != null) {
$element->appendChild($this->_timezone->getDOM($element->ownerDocument));
}
return $element;
}
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('gCal') . ':' . 'timezone';
$timezone = new Zend_Gdata_Calendar_Extension_Timezone();
$timezone->transferFromDOM($child);
$this->_timezone = $timezone;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
public function getTimezone()
{
return $this->_timezone;
}
/**
* @param Zend_Gdata_Calendar_Extension_Timezone $value
* @return Zend_Gdata_Extension_ListEntry Provides a fluent interface
*/
public function setTimezone($value)
{
$this->_timezone = $value;
return $this;
}
}
Calendar/EventEntry.php 0000604 00000011637 15071215231 0011072 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @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_Kind_EventEntry
*/
require_once 'Zend/Gdata/Kind/EventEntry.php';
/**
* @see Zend_Gdata_Calendar_Extension_SendEventNotifications
*/
require_once 'Zend/Gdata/Calendar/Extension/SendEventNotifications.php';
/**
* @see Zend_Gdata_Calendar_Extension_Timezone
*/
require_once 'Zend/Gdata/Calendar/Extension/Timezone.php';
/**
* @see Zend_Gdata_Calendar_Extension_Link
*/
require_once 'Zend/Gdata/Calendar/Extension/Link.php';
/**
* @see Zend_Gdata_Calendar_Extension_QuickAdd
*/
require_once 'Zend/Gdata/Calendar/Extension/QuickAdd.php';
/**
* Data model class for a Google Calendar Event Entry
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @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_Calendar_EventEntry extends Zend_Gdata_Kind_EventEntry
{
protected $_entryClassName = 'Zend_Gdata_Calendar_EventEntry';
protected $_sendEventNotifications = null;
protected $_timezone = null;
protected $_quickadd = null;
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Calendar::$namespaces);
parent::__construct($element);
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_sendEventNotifications != null) {
$element->appendChild($this->_sendEventNotifications->getDOM($element->ownerDocument));
}
if ($this->_timezone != null) {
$element->appendChild($this->_timezone->getDOM($element->ownerDocument));
}
if ($this->_quickadd != null) {
$element->appendChild($this->_quickadd->getDOM($element->ownerDocument));
}
return $element;
}
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('gCal') . ':' . 'sendEventNotifications';
$sendEventNotifications = new Zend_Gdata_Calendar_Extension_SendEventNotifications();
$sendEventNotifications->transferFromDOM($child);
$this->_sendEventNotifications = $sendEventNotifications;
break;
case $this->lookupNamespace('gCal') . ':' . 'timezone';
$timezone = new Zend_Gdata_Calendar_Extension_Timezone();
$timezone->transferFromDOM($child);
$this->_timezone = $timezone;
break;
case $this->lookupNamespace('atom') . ':' . 'link';
$link = new Zend_Gdata_Calendar_Extension_Link();
$link->transferFromDOM($child);
$this->_link[] = $link;
break;
case $this->lookupNamespace('gCal') . ':' . 'quickadd';
$quickadd = new Zend_Gdata_Calendar_Extension_QuickAdd();
$quickadd->transferFromDOM($child);
$this->_quickadd = $quickadd;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
public function getSendEventNotifications()
{
return $this->_sendEventNotifications;
}
public function setSendEventNotifications($value)
{
$this->_sendEventNotifications = $value;
return $this;
}
public function getTimezone()
{
return $this->_timezone;
}
/**
* @param Zend_Gdata_Calendar_Extension_Timezone $value
* @return Zend_Gdata_Extension_EventEntry Provides a fluent interface
*/
public function setTimezone($value)
{
$this->_timezone = $value;
return $this;
}
public function getQuickAdd()
{
return $this->_quickadd;
}
/**
* @param Zend_Gdata_Calendar_Extension_QuickAdd $value
* @return Zend_Gdata_Extension_ListEntry Provides a fluent interface
*/
public function setQuickAdd($value)
{
$this->_quickadd = $value;
return $this;
}
}
Calendar/ListEntry.php 0000604 00000015550 15071215231 0010722 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @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_Calendar_Extension_AccessLevel
*/
require_once 'Zend/Gdata/Calendar/Extension/AccessLevel.php';
/**
* @see Zend_Calendar_Extension_Color
*/
require_once 'Zend/Gdata/Calendar/Extension/Color.php';
/**
* @see Zend_Calendar_Extension_Hidden
*/
require_once 'Zend/Gdata/Calendar/Extension/Hidden.php';
/**
* @see Zend_Calendar_Extension_Selected
*/
require_once 'Zend/Gdata/Calendar/Extension/Selected.php';
/**
* @see Zend_Gdata_Extension_EventStatus
*/
require_once 'Zend/Gdata/Extension/EventStatus.php';
/**
* @see Zend_Gdata_Extension_Visibility
*/
require_once 'Zend/Gdata/Extension/Visibility.php';
/**
* @see Zend_Extension_Where
*/
require_once 'Zend/Gdata/Extension/Where.php';
/**
* Represents a Calendar entry in the Calendar data API meta feed of a user's
* calendars.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @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_Calendar_ListEntry extends Zend_Gdata_Entry
{
protected $_color = null;
protected $_accessLevel = null;
protected $_hidden = null;
protected $_selected = null;
protected $_timezone = null;
protected $_where = array();
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Calendar::$namespaces);
parent::__construct($element);
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_accessLevel != null) {
$element->appendChild($this->_accessLevel->getDOM($element->ownerDocument));
}
if ($this->_color != null) {
$element->appendChild($this->_color->getDOM($element->ownerDocument));
}
if ($this->_hidden != null) {
$element->appendChild($this->_hidden->getDOM($element->ownerDocument));
}
if ($this->_selected != null) {
$element->appendChild($this->_selected->getDOM($element->ownerDocument));
}
if ($this->_timezone != null) {
$element->appendChild($this->_timezone->getDOM($element->ownerDocument));
}
if ($this->_where != null) {
foreach ($this->_where as $where) {
$element->appendChild($where->getDOM($element->ownerDocument));
}
}
return $element;
}
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('gCal') . ':' . 'accesslevel';
$accessLevel = new Zend_Gdata_Calendar_Extension_AccessLevel();
$accessLevel->transferFromDOM($child);
$this->_accessLevel = $accessLevel;
break;
case $this->lookupNamespace('gCal') . ':' . 'color';
$color = new Zend_Gdata_Calendar_Extension_Color();
$color->transferFromDOM($child);
$this->_color = $color;
break;
case $this->lookupNamespace('gCal') . ':' . 'hidden';
$hidden = new Zend_Gdata_Calendar_Extension_Hidden();
$hidden->transferFromDOM($child);
$this->_hidden = $hidden;
break;
case $this->lookupNamespace('gCal') . ':' . 'selected';
$selected = new Zend_Gdata_Calendar_Extension_Selected();
$selected->transferFromDOM($child);
$this->_selected = $selected;
break;
case $this->lookupNamespace('gCal') . ':' . 'timezone';
$timezone = new Zend_Gdata_Calendar_Extension_Timezone();
$timezone->transferFromDOM($child);
$this->_timezone = $timezone;
break;
case $this->lookupNamespace('gd') . ':' . 'where';
$where = new Zend_Gdata_Extension_Where();
$where->transferFromDOM($child);
$this->_where[] = $where;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
public function getAccessLevel()
{
return $this->_accessLevel;
}
/**
* @param Zend_Gdata_Calendar_Extension_AccessLevel $value
* @return Zend_Gdata_Extension_ListEntry Provides a fluent interface
*/
public function setAccessLevel($value)
{
$this->_accessLevel = $value;
return $this;
}
public function getColor()
{
return $this->_color;
}
/**
* @param Zend_Gdata_Calendar_Extension_Color $value
* @return Zend_Gdata_Extension_ListEntry Provides a fluent interface
*/
public function setColor($value)
{
$this->_color = $value;
return $this;
}
public function getHidden()
{
return $this->_hidden;
}
/**
* @param Zend_Gdata_Calendar_Extension_Hidden $value
* @return Zend_Gdata_Extension_ListEntry Provides a fluent interface
*/
public function setHidden($value)
{
$this->_hidden = $value;
return $this;
}
public function getSelected()
{
return $this->_selected;
}
/**
* @param Zend_Gdata_Calendar_Extension_Selected $value
* @return Zend_Gdata_Extension_ListEntry Provides a fluent interface
*/
public function setSelected($value)
{
$this->_selected = $value;
return $this;
}
public function getTimezone()
{
return $this->_timezone;
}
/**
* @param Zend_Gdata_Calendar_Extension_Timezone $value
* @return Zend_Gdata_Extension_ListEntry Provides a fluent interface
*/
public function setTimezone($value)
{
$this->_timezone = $value;
return $this;
}
public function getWhere()
{
return $this->_where;
}
/**
* @param Zend_Gdata_Extension_Where $value
* @return Zend_Gdata_Extension_ListEntry Provides a fluent interface
*/
public function setWhere($value)
{
$this->_where = $value;
return $this;
}
}
Calendar/Extension/SendEventNotifications.php 0000604 00000007746 15071215231 0015376 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Data model class to represent an entry's sendEventNotifications
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @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_Calendar_Extension_SendEventNotifications extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gCal';
protected $_rootElement = 'sendEventNotifications';
protected $_value = null;
/**
* Constructs a new Zend_Gdata_Extension_SendEventNotifications object.
* @param bool $value (optional) SendEventNotifications value as URI.
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_Calendar::$namespaces);
parent::__construct();
$this->_value = $value;
}
/**
* 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->_value !== null) {
$element->setAttribute('value', ($this->_value ? "true" : "false"));
}
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 'value':
if ($attribute->nodeValue == "true") {
$this->_value = true;
}
else if ($attribute->nodeValue == "false") {
$this->_value = false;
}
else {
throw new Zend_Gdata_App_InvalidArgumentException("Expected 'true' or 'false' for gCal:selected#value.");
}
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's Value attribute.
*
* @return string The requested attribute.
*/
public function getValue()
{
return $this->_value;
}
/**
* Set the value for this element's Value attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Extension_SendEventNotifications The element being modified.
*/
public function setValue($value)
{
$this->_value = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*/
public function __toString()
{
return $this->getValue();
}
}
Calendar/Extension/QuickAdd.php 0000604 00000007722 15071215231 0012430 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the gCal:quickAdd element used by the Calendar data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @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_Calendar_Extension_QuickAdd extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gCal';
protected $_rootElement = 'quickadd';
protected $_value = null;
/**
* Constructs a new Zend_Gdata_Calendar_Extension_QuickAdd object.
* @param string $value (optional) The text content of the element.
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_Calendar::$namespaces);
parent::__construct();
$this->_value = $value;
}
/**
* 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->_value !== null) {
$element->setAttribute('value', ($this->_value ? "true" : "false"));
}
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 'value':
if ($attribute->nodeValue == "true") {
$this->_value = true;
}
else if ($attribute->nodeValue == "false") {
$this->_value = false;
}
else {
throw new Zend_Gdata_App_InvalidArgumentException("Expected 'true' or 'false' for gCal:selected#value.");
}
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's value attribute.
*
* @return string The value associated with this attribute.
*/
public function getValue()
{
return $this->_value;
}
/**
* Set the value for this element's value attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Calendar_Extension_QuickAdd The element being modified.
*/
public function setValue($value)
{
$this->_value = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*/
public function __toString()
{
return $this->getValue();
}
}
Calendar/Extension/Color.php 0000604 00000007234 15071215231 0012017 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the gCal:color element used by the Calendar data API
* to define the color of a calendar in the UI.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @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_Calendar_Extension_Color extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gCal';
protected $_rootElement = 'color';
protected $_value = null;
/**
* Constructs a new Zend_Gdata_Calendar_Extension_Color object.
* @param string $value (optional) The text content of the element.
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_Calendar::$namespaces);
parent::__construct();
$this->_value = $value;
}
/**
* 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->_value != null) {
$element->setAttribute('value', $this->_value);
}
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 'value':
$this->_value = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's value attribute.
*
* @return string The value associated with this attribute.
*/
public function getValue()
{
return $this->_value;
}
/**
* Set the value for this element's value attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Calendar_Extension_Color The element being modified.
*/
public function setValue($value)
{
$this->_value = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*/
public function __toString()
{
return $this->_value;
}
}
Calendar/Extension/Link.php 0000604 00000010047 15071215231 0011632 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: Entry.php 3941 2007-03-14 21:36:13Z darby $
*/
/**
* @see Zend_Gdata_Entry
*/
require_once 'Zend/Gdata/App/Extension/Link.php';
/**
* @see Zend_Gdata_Entry
*/
require_once 'Zend/Gdata/Calendar/Extension/WebContent.php';
/**
* Specialized Link class for use with Calendar. Enables use of gCal extension elements.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @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_Calendar_Extension_Link extends Zend_Gdata_App_Extension_Link
{
protected $_webContent = null;
/**
* Constructs a new Zend_Gdata_Calendar_Extension_Link object.
* @see Zend_Gdata_App_Extension_Link#__construct
* @param Zend_Gdata_Calendar_Extension_Webcontent $webContent
*/
public function __construct($href = null, $rel = null, $type = null,
$hrefLang = null, $title = null, $length = null, $webContent = null)
{
$this->registerAllNamespaces(Zend_Gdata_Calendar::$namespaces);
parent::__construct($href, $rel, $type, $hrefLang, $title, $length);
$this->_webContent = $webContent;
}
/**
* 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->_webContent != null) {
$element->appendChild($this->_webContent->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('gCal') . ':' . 'webContent':
$webContent = new Zend_Gdata_Calendar_Extension_WebContent();
$webContent->transferFromDOM($child);
$this->_webContent = $webContent;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Get the value for this element's WebContent attribute.
*
* @return Zend_Gdata_Calendar_Extension_Webcontent The WebContent value
*/
public function getWebContent()
{
return $this->_webContent;
}
/**
* Set the value for this element's WebContent attribute.
*
* @param Zend_Gdata_Calendar_Extension_WebContent $value The desired value for this attribute.
* @return Zend_Calendar_Extension_Link The element being modified. Provides a fluent interface.
*/
public function setWebContent($value)
{
$this->_webContent = $value;
return $this;
}
}
Calendar/Extension/Hidden.php 0000604 00000007765 15071215231 0012145 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the gCal:hidden element used by the Calendar data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @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_Calendar_Extension_Hidden extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gCal';
protected $_rootElement = 'hidden';
protected $_value = null;
/**
* Constructs a new Zend_Gdata_Calendar_Extension_Hidden object.
* @param bool $value (optional) The value of the element.
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_Calendar::$namespaces);
parent::__construct();
$this->_value = $value;
}
/**
* 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->_value !== null) {
$element->setAttribute('value', ($this->_value ? "true" : "false"));
}
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 'value':
if ($attribute->nodeValue == "true") {
$this->_value = true;
}
else if ($attribute->nodeValue == "false") {
$this->_value = false;
}
else {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException("Expected 'true' or 'false' for gCal:selected#value.");
}
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's value attribute.
*
* @return string The requested attribute.
*/
public function getValue()
{
return $this->_value;
}
/**
* Set the value for this element's value attribute.
*
* @param bool $value The desired value for this attribute.
* @return Zend_Gdata_Calendar_Extension_Hidden The element being modified.
*/
public function setValue($value)
{
$this->_value = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*/
public function __toString()
{
return $this->_value;
}
}
Calendar/Extension/Selected.php 0000604 00000010015 15071215231 0012460 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the gCal:selected element used by the Calendar data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @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_Calendar_Extension_Selected extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gCal';
protected $_rootElement = 'selected';
protected $_value = null;
/**
* Constructs a new Zend_Gdata_Calendar_Extension_Selected object.
* @param bool $value (optional) The value of the element.
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_Calendar::$namespaces);
parent::__construct();
$this->_value = $value;
}
/**
* 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->_value !== null) {
$element->setAttribute('value', ($this->_value ? "true" : "false"));
}
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 'value':
if ($attribute->nodeValue == "true") {
$this->_value = true;
}
else if ($attribute->nodeValue == "false") {
$this->_value = false;
}
else {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException("Expected 'true' or 'false' for gCal:selected#value.");
}
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's value attribute.
*
* @return bool The value associated with this attribute.
*/
public function getValue()
{
return $this->_value;
}
/**
* Set the value for this element's value attribute.
*
* @param bool $value The desired value for this attribute.
* @return Zend_Gdata_Calendar_Extension_Selected The element being modified.
*/
public function setValue($value)
{
$this->_value = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*/
public function __toString()
{
return $this->_value;
}
}
Calendar/Extension/AccessLevel.php 0000604 00000007316 15071215231 0013133 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Calendar.php';
/**
* Represents the gCal:accessLevel element used by the Calendar data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @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_Calendar_Extension_AccessLevel extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gCal';
protected $_rootElement = 'accesslevel';
protected $_value = null;
/**
* Constructs a new Zend_Gdata_Calendar_Extension_AccessLevel object.
* @param string $value (optional) The text content of the element.
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_Calendar::$namespaces);
parent::__construct();
$this->_value = $value;
}
/**
* 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->_value != null) {
$element->setAttribute('value', $this->_value);
}
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 'value':
$this->_value = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's value attribute.
*
* @return string The attribute being modified.
*/
public function getValue()
{
return $this->_value;
}
/**
* Set the value for this element's value attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Calendar_Extension_Selected The element being modified.
*/
public function setValue($value)
{
$this->_value = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*/
public function __toString()
{
return $this->getValue();
}
}
Calendar/Extension/WebContent.php 0000604 00000012455 15071215231 0013012 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the gCal:webContent element used by the Calendar data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @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_Calendar_Extension_WebContent extends Zend_Gdata_App_Extension
{
protected $_rootNamespace = 'gCal';
protected $_rootElement = 'webContent';
protected $_url = null;
protected $_height = null;
protected $_width = null;
/**
* Constructs a new Zend_Gdata_Calendar_Extension_WebContent object.
* @param string $url (optional) The value for this element's URL attribute.
* @param string $height (optional) The value for this element's height attribute.
* @param string $width (optional) The value for this element's width attribute.
*/
public function __construct($url = null, $height = null, $width = null)
{
$this->registerAllNamespaces(Zend_Gdata_Calendar::$namespaces);
parent::__construct();
$this->_url = $url;
$this->_height = $height;
$this->_width = $width;
}
/**
* 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->url != null) {
$element->setAttribute('url', $this->_url);
}
if ($this->height != null) {
$element->setAttribute('height', $this->_height);
}
if ($this->width != null) {
$element->setAttribute('width', $this->_width);
}
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 'url':
$this->_url = $attribute->nodeValue;
break;
case 'height':
$this->_height = $attribute->nodeValue;
break;
case 'width':
$this->_width = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's URL attribute.
*
* @return string The desired value for this attribute.
*/
public function getURL()
{
return $this->_url;
}
/**
* Set the value for this element's URL attribute.
*
* @param bool $value The desired value for this attribute.
* @return Zend_Gdata_Calendar_Extension_WebContent The element being modified.
*/
public function setURL($value)
{
$this->_url = $value;
return $this;
}
/**
* Get the value for this element's height attribute.
*
* @return int The desired value for this attribute.
*/
public function getHeight()
{
return $this->_height;
}
/**
* Set the value for this element's height attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_Calendar_Extension_WebContent The element being modified.
*/
public function setHeight($value)
{
$this->_height = $value;
return $this;
}
/**
* Get the value for this element's height attribute.
*
* @return int The desired value for this attribute.
*/
public function getWidth()
{
return $this->_width;
}
/**
* Set the value for this element's height attribute.
*
* @param int $value The desired value for this attribute.
* @return Zend_Gdata_Calendar_Extension_WebContent The element being modified.
*/
public function setWidth($value)
{
$this->_width = $value;
return $this;
}
}
Calendar/Extension/Timezone.php 0000604 00000007177 15071215231 0012541 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Represents the gCal:timezone element used by the Calendar data API
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @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_Calendar_Extension_Timezone extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gCal';
protected $_rootElement = 'timezone';
protected $_value = null;
/**
* Constructs a new Zend_Gdata_Calendar_Extension_Timezone object.
* @param string $value (optional) The text content of the element.
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_Calendar::$namespaces);
parent::__construct();
$this->_value = $value;
}
/**
* 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->_value != null) {
$element->setAttribute('value', $this->_value);
}
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 'value':
$this->_value = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Get the value for this element's value attribute.
*
* @return string The value associated with this attribute.
*/
public function getValue()
{
return $this->_value;
}
/**
* Set the value for this element's value attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Calendar_Extension_Timezone The element being modified.
*/
public function setValue($value)
{
$this->_value = $value;
return $this;
}
/**
* Magic toString method allows using this directly via echo
* Works best in PHP >= 4.2.0
*/
public function __toString()
{
return $this->getValue();
}
}
Calendar/EventFeed.php 0000604 00000005374 15071215231 0010635 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* @see Zend_Gdata_Extension_Timezone
*/
require_once 'Zend/Gdata/Calendar/Extension/Timezone.php';
/**
* Data model for a Google Calendar feed of events
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @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_Calendar_EventFeed extends Zend_Gdata_Feed
{
protected $_timezone = null;
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Calendar_EventEntry';
/**
* The classname for the feed.
*
* @var string
*/
protected $_feedClassName = 'Zend_Gdata_Calendar_EventFeed';
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Calendar::$namespaces);
parent::__construct($element);
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_timezone != null) {
$element->appendChild($this->_timezone->getDOM($element->ownerDocument));
}
return $element;
}
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('gCal') . ':' . 'timezone';
$timezone = new Zend_Gdata_Calendar_Extension_Timezone();
$timezone->transferFromDOM($child);
$this->_timezone = $timezone;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
public function getTimezone()
{
return $this->_timezone;
}
public function setTimezone($value)
{
$this->_timezone = $value;
return $this;
}
}
Calendar/EventQuery.php 0000604 00000027426 15071215231 0011101 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Gdata_App_util
*/
require_once('Zend/Gdata/App/Util.php');
/**
* Zend_Gdata_Query
*/
require_once('Zend/Gdata/Query.php');
/**
* Assists in constructing queries for Google Calendar events
*
* @link http://code.google.com/apis/gdata/calendar/
*
* @category Zend
* @package Zend_Gdata
* @subpackage Calendar
* @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_Calendar_EventQuery extends Zend_Gdata_Query
{
const CALENDAR_FEED_URI = 'http://www.google.com/calendar/feeds';
protected $_defaultFeedUri = self::CALENDAR_FEED_URI;
protected $_comments = null;
protected $_user = null;
protected $_visibility = null;
protected $_projection = null;
protected $_event = null;
/**
* Create Gdata_Calendar_EventQuery object. If a URL is provided,
* it becomes the base URL, and additional URL components may be
* appended. For instance, if $url is 'http://www.foo.com', the
* default URL constructed will be 'http://www.foo.com/default/public/full'
*
* @param string $url The URL to use as the base path for requests
*/
public function __construct($url = null)
{
parent::__construct($url);
}
/**
* @param string $value
* @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface
*/
public function setComments($value)
{
$this->_comments = $value;
return $this;
}
/**
* @param string $value
* @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface
*/
public function setEvent($value)
{
$this->_event = $value;
return $this;
}
/**
* @param string $value
* @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface
*/
public function setProjection($value)
{
$this->_projection = $value;
return $this;
}
/**
* @param string $value
* @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface
*/
public function setUser($value)
{
$this->_user = $value;
return $this;
}
/**
* @param bool $value
* @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface
*/
public function setVisibility($value)
{
$this->_visibility = $value;
return $this;
}
/**
* @return string comments
*/
public function getComments()
{
return $this->_comments;
}
/**
* @return string event
*/
public function getEvent()
{
return $this->_event;
}
/**
* @return string projection
*/
public function getProjection()
{
return $this->_projection;
}
/**
* @return string user
*/
public function getUser()
{
return $this->_user;
}
/**
* @return string visibility
*/
public function getVisibility()
{
return $this->_visibility;
}
/**
* @param int $value
* @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface
*/
public function setStartMax($value)
{
if ($value != null) {
$this->_params['start-max'] = Zend_Gdata_App_Util::formatTimestamp($value);
} else {
unset($this->_params['start-max']);
}
return $this;
}
/**
* @param int $value
* @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface
*/
public function setStartMin($value)
{
if ($value != null) {
$this->_params['start-min'] = Zend_Gdata_App_Util::formatTimestamp($value);
} else {
unset($this->_params['start-min']);
}
return $this;
}
/**
* @param string $value
* @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface
*/
public function setOrderBy($value)
{
if ($value != null) {
$this->_params['orderby'] = $value;
} else {
unset($this->_params['orderby']);
}
return $this;
}
/**
* @return int start-max
*/
public function getStartMax()
{
if (array_key_exists('start-max', $this->_params)) {
return $this->_params['start-max'];
} else {
return null;
}
}
/**
* @return int start-min
*/
public function getStartMin()
{
if (array_key_exists('start-min', $this->_params)) {
return $this->_params['start-min'];
} else {
return null;
}
}
/**
* @return string orderby
*/
public function getOrderBy()
{
if (array_key_exists('orderby', $this->_params)) {
return $this->_params['orderby'];
} else {
return null;
}
}
/**
* @return string sortorder
*/
public function getSortOrder()
{
if (array_key_exists('sortorder', $this->_params)) {
return $this->_params['sortorder'];
} else {
return null;
}
}
/**
* @return string sortorder
*/
public function setSortOrder($value)
{
if ($value != null) {
$this->_params['sortorder'] = $value;
} else {
unset($this->_params['sortorder']);
}
return $this;
}
/**
* @return string recurrence-expansion-start
*/
public function getRecurrenceExpansionStart()
{
if (array_key_exists('recurrence-expansion-start', $this->_params)) {
return $this->_params['recurrence-expansion-start'];
} else {
return null;
}
}
/**
* @return string recurrence-expansion-start
*/
public function setRecurrenceExpansionStart($value)
{
if ($value != null) {
$this->_params['recurrence-expansion-start'] = Zend_Gdata_App_Util::formatTimestamp($value);
} else {
unset($this->_params['recurrence-expansion-start']);
}
return $this;
}
/**
* @return string recurrence-expansion-end
*/
public function getRecurrenceExpansionEnd()
{
if (array_key_exists('recurrence-expansion-end', $this->_params)) {
return $this->_params['recurrence-expansion-end'];
} else {
return null;
}
}
/**
* @return string recurrence-expansion-end
*/
public function setRecurrenceExpansionEnd($value)
{
if ($value != null) {
$this->_params['recurrence-expansion-end'] = Zend_Gdata_App_Util::formatTimestamp($value);
} else {
unset($this->_params['recurrence-expansion-end']);
}
return $this;
}
/**
* @param string $value Also accepts bools.
* @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface
*/
public function getSingleEvents()
{
if (array_key_exists('singleevents', $this->_params)) {
$value = $this->_params['singleevents'];
switch ($value) {
case 'true':
return true;
break;
case 'false':
return false;
break;
default:
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception(
'Invalid query param value for futureevents: ' .
$value . ' It must be a boolean.');
}
} else {
return null;
}
}
/**
* @param string $value Also accepts bools. If using a string, must be either "true" or "false".
* @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface
*/
public function setSingleEvents($value)
{
if (!is_null($value)) {
if (is_bool($value)) {
$this->_params['singleevents'] = ($value?'true':'false');
} elseif ($value == 'true' | $value == 'false') {
$this->_params['singleevents'] = $value;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception(
'Invalid query param value for futureevents: ' .
$value . ' It must be a boolean.');
}
} else {
unset($this->_params['singleevents']);
}
return $this;
}
/**
* @return string futureevents
*/
public function getFutureEvents()
{
if (array_key_exists('futureevents', $this->_params)) {
$value = $this->_params['futureevents'];
switch ($value) {
case 'true':
return true;
break;
case 'false':
return false;
break;
default:
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception(
'Invalid query param value for futureevents: ' .
$value . ' It must be a boolean.');
}
} else {
return null;
}
}
/**
* @param string $value Also accepts bools. If using a string, must be either "true" or "false" or
* an exception will be thrown on retrieval.
* @return Zend_Gdata_Calendar_EventQuery Provides a fluent interface
*/
public function setFutureEvents($value)
{
if (!is_null($value)) {
if (is_bool($value)) {
$this->_params['futureevents'] = ($value?'true':'false');
} elseif ($value == 'true' | $value == 'false') {
$this->_params['futureevents'] = $value;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception(
'Invalid query param value for futureevents: ' .
$value . ' It must be a boolean.');
}
} else {
unset($this->_params['futureevents']);
}
return $this;
}
/**
* @return string url
*/
public function getQueryUrl()
{
if (isset($this->_url)) {
$uri = $this->_url;
} else {
$uri = $this->_defaultFeedUri;
}
if ($this->getUser() != null) {
$uri .= '/' . $this->getUser();
} else {
$uri .= '/default';
}
if ($this->getVisibility() != null) {
$uri .= '/' . $this->getVisibility();
} else {
$uri .= '/public';
}
if ($this->getProjection() != null) {
$uri .= '/' . $this->getProjection();
} else {
$uri .= '/full';
}
if ($this->getEvent() != null) {
$uri .= '/' . $this->getEvent();
if ($this->getComments() != null) {
$uri .= '/comments/' . $this->getComments();
}
}
$uri .= $this->getQueryString();
return $uri;
}
}
Gbase/SnippetFeed.php 0000604 00000002501 15071215231 0010473 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @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_Gbase_Feed
*/
require_once 'Zend/Gdata/Gbase/Feed.php';
/**
* Represents the Google Base Snippets Feed
*
* @link http://code.google.com/apis/base/
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @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_Gbase_SnippetFeed extends Zend_Gdata_Feed
{
/**
* The classname for individual snippet feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Gbase_SnippetEntry';
}
Gbase/ItemEntry.php 0000604 00000013122 15071215231 0010206 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @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_Gbase_Entry
*/
require_once 'Zend/Gdata/Gbase/Entry.php';
/**
* Concrete class for working with Item entries.
*
* @link http://code.google.com/apis/base/
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @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_Gbase_ItemEntry extends Zend_Gdata_Gbase_Entry
{
/**
* The classname for individual item entry elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Gbase_ItemEntry';
/**
* Set the value of the itme_type
*
* @param Zend_Gdata_Gbase_Extension_ItemType $value The desired value for the item_type
* @return Zend_Gdata_Gbase_ItemEntry Provides a fluent interface
*/
public function setItemType($value)
{
$this->addGbaseAttribute('item_type', $value, 'text');
return $this;
}
/**
* Adds a custom attribute to the entry in the following format:
* <g:[$name] type='[$type]'>[$value]</g:[$name]>
*
* @param string $name The name of the attribute
* @param string $value The text value of the attribute
* @param string $type (optional) The type of the attribute.
* e.g.: 'text', 'number', 'floatUnit'
* @return Zend_Gdata_Gbase_ItemEntry Provides a fluent interface
*/
public function addGbaseAttribute($name, $text, $type = null) {
$newBaseAttribute = new Zend_Gdata_Gbase_Extension_BaseAttribute($name, $text, $type);
$this->_baseAttributes[] = $newBaseAttribute;
return $this;
}
/**
* Removes a Base attribute from the current list of Base attributes
*
* @param Zend_Gdata_Gbase_Extension_BaseAttribute $baseAttribute The attribute to be removed
* @return Zend_Gdata_Gbase_ItemEntry Provides a fluent interface
*/
public function removeGbaseAttribute($baseAttribute) {
$baseAttributes = $this->_baseAttributes;
for ($i = 0; $i < count($this->_baseAttributes); $i++) {
if ($this->_baseAttributes[$i] == $baseAttribute) {
array_splice($baseAttributes, $i, 1);
break;
}
}
$this->_baseAttributes = $baseAttributes;
return $this;
}
/**
* Uploads changes in this entry to the server using Zend_Gdata_App
*
* @param boolean $dryRun Whether the transaction is dry run or not.
* @param string|null $uri The URI to send requests to, or null if $data
* contains the URI.
* @param string|null $className The name of the class that should we
* deserializing the server response. If null, then
* 'Zend_Gdata_App_Entry' will be used.
* @param array $extraHeaders Extra headers to add to the request, as an
* array of string-based key/value pairs.
* @return Zend_Gdata_App_Entry The updated entry
* @throws Zend_Gdata_App_Exception
*/
public function save($dryRun = false,
$uri = null,
$className = null,
$extraHeaders = array())
{
if ($dryRun == true) {
$editLink = $this->getEditLink();
if ($uri == null && $editLink !== null) {
$uri = $editLink->getHref() . '?dry-run=true';
}
if ($uri === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException('You must specify an URI which needs deleted.');
}
$service = new Zend_Gdata_App($this->getHttpClient());
return $service->updateEntry($this,
$uri,
$className,
$extraHeaders);
} else {
parent::save($uri, $className, $extraHeaders);
}
}
/**
* Deletes this entry to the server using the referenced
* Zend_Http_Client to do a HTTP DELETE to the edit link stored in this
* entry's link collection.
*
* @param boolean $dyrRun Whether the transaction is dry run or not
* @return void
* @throws Zend_Gdata_App_Exception
*/
public function delete($dryRun = false)
{
$uri = null;
if ($dryRun == true) {
$editLink = $this->getEditLink();
if ($editLink !== null) {
$uri = $editLink->getHref() . '?dry-run=true';
}
if ($uri === null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException('You must specify an URI which needs deleted.');
}
parent::delete($uri);
} else {
parent::delete();
}
}
}
Gbase/SnippetQuery.php 0000604 00000003665 15071215232 0010752 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Gdata_Query
*/
require_once('Zend/Gdata/Query.php');
/**
* Zend_Gdata_Gbase_Query
*/
require_once('Zend/Gdata/Gbase/Query.php');
/**
* Assists in constructing queries for Google Base Snippets Feed
*
* @link http://code.google.com/apis/base/
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @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_Gbase_SnippetQuery extends Zend_Gdata_Gbase_Query
{
/**
* Path to the snippets feeds on the Google Base server.
*/
const BASE_SNIPPET_FEED_URI = 'http://www.google.com/base/feeds/snippets';
/**
* The default URI for POST methods
*
* @var string
*/
protected $_defaultFeedUri = self::BASE_SNIPPET_FEED_URI;
/**
* Returns the query URL generated by this query instance.
*
* @return string The query URL for this instance.
*/
public function getQueryUrl()
{
$uri = $this->_defaultFeedUri;
if ($this->getCategory() !== null) {
$uri .= '/-/' . $this->getCategory();
}
$uri .= $this->getQueryString();
return $uri;
}
}
Gbase/ItemQuery.php 0000604 00000004554 15071215232 0010224 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @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_Query
*/
require_once('Zend/Gdata/Query.php');
/**
* @see Zend_Gdata_Gbase_Query
*/
require_once('Zend/Gdata/Gbase/Query.php');
/**
* Assists in constructing queries for Google Base Customer Items Feed
*
* @link http://code.google.com/apis/base/
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @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_Gbase_ItemQuery extends Zend_Gdata_Gbase_Query
{
/**
* Path to the customer items feeds on the Google Base server.
*/
const GBASE_ITEM_FEED_URI = 'http://www.google.com/base/feeds/items';
/**
* The default URI for POST methods
*
* @var string
*/
protected $_defaultFeedUri = self::GBASE_ITEM_FEED_URI;
/**
* The id of an item
*
* @var string
*/
protected $_id = null;
/**
* @param string $value
* @return Zend_Gdata_Gbase_ItemQuery Provides a fluent interface
*/
public function setId($value)
{
$this->_id = $value;
return $this;
}
/*
* @return string id
*/
public function getId()
{
return $this->_id;
}
/**
* Returns the query URL generated by this query instance.
*
* @return string The query URL for this instance.
*/
public function getQueryUrl()
{
$uri = $this->_defaultFeedUri;
if ($this->getId() !== null) {
$uri .= '/' . $this->getId();
} else {
$uri .= $this->getQueryString();
}
return $uri;
}
}
Gbase/SnippetEntry.php 0000604 00000002524 15071215232 0010737 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @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_Gbase_Entry
*/
require_once 'Zend/Gdata/Gbase/Entry.php';
/**
* Concrete class for working with Snippet entries.
*
* @link http://code.google.com/apis/base/
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @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_Gbase_SnippetEntry extends Zend_Gdata_Gbase_Entry
{
/**
* The classname for individual snippet entry elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Gbase_SnippetEntry';
}
Gbase/ItemFeed.php 0000604 00000002476 15071215232 0007763 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @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_Gbase_Feed
*/
require_once 'Zend/Gdata/Gbase/Feed.php';
/**
* Represents the Google Base Customer Items Feed
*
* @link http://code.google.com/apis/base/
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @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_Gbase_ItemFeed extends Zend_Gdata_Feed
{
/**
* The classname for individual item feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Gbase_ItemEntry';
}
Gbase/Entry.php 0000604 00000011043 15071215232 0007370 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @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_Gbase_Extension_BaseAttribute
*/
require_once 'Zend/Gdata/Gbase/Extension/BaseAttribute.php';
/**
* Base class for working with Google Base entries.
*
* @link http://code.google.com/apis/base/
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @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_Gbase_Entry extends Zend_Gdata_Entry
{
/**
* Name of the base class for Google Base entries
*
* var @string
*/
protected $_entryClassName = 'Zend_Gdata_Gbase_Entry';
/**
* Google Base attribute elements in the 'g' namespace
*
* @var array
*/
protected $_baseAttributes = array();
/**
* Constructs a new Zend_Gdata_Gbase_ItemEntry object.
* @param DOMElement $element (optional) The DOMElement on which to base this object.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Gbase::$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);
foreach ($this->_baseAttributes as $baseAttribute) {
$element->appendChild($baseAttribute->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;
if (strstr($absoluteNodeName, $this->lookupNamespace('g') . ':')) {
$baseAttribute = new Zend_Gdata_Gbase_Extension_BaseAttribute();
$baseAttribute->transferFromDOM($child);
$this->_baseAttributes[] = $baseAttribute;
} else {
parent::takeChildFromDOM($child);
}
}
/**
* Get the value of the itme_type
*
* @return Zend_Gdata_Gbase_Extension_ItemType The requested object.
*/
public function getItemType()
{
$itemType = $this->getGbaseAttribute('item_type');
if (is_object($itemType[0])) {
return $itemType[0];
} else {
return null;
}
}
/**
* Return all the Base attributes
* @return Zend_Gdata_Gbase_Extension_BaseAttribute
*/
public function getGbaseAttributes() {
return $this->_baseAttributes;
}
/**
* Return an array of Base attributes that match the given attribute name
*
* @param string $name The name of the Base attribute to look for
* @return array $matches Array that contains the matching list of Base attributes
*/
public function getGbaseAttribute($name)
{
$matches = array();
for ($i = 0; $i < count($this->_baseAttributes); $i++) {
$baseAttribute = $this->_baseAttributes[$i];
if ($baseAttribute->rootElement == $name &&
$baseAttribute->rootNamespaceURI == $this->lookupNamespace('g')) {
$matches[] = &$this->_baseAttributes[$i];
}
}
return $matches;
}
}
Gbase/Extension/BaseAttribute.php 0000604 00000007077 15071215232 0013015 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: Entry.php 3941 2007-03-14 21:36:13Z darby $
*/
/**
* @see Zend_Gdata_App_Extension_Element
*/
require_once 'Zend/Gdata/App/Extension/Element.php';
/**
* Concrete class for working with ItemType elements.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @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_Gbase_Extension_BaseAttribute extends Zend_Gdata_App_Extension_Element
{
/**
* Namespace for Google Base elements
*
* var @string
*/
protected $_rootNamespace = 'g';
/**
* Create a new instance.
*
* @param string $name (optional) The name of the Base attribute
* @param string $text (optional) The text value of the Base attribute
* @param string $text (optional) The type of the Base attribute
*/
public function __construct($name = null, $text = null, $type = null)
{
$this->registerAllNamespaces(Zend_Gdata_Gbase::$namespaces);
if ($type !== null) {
$attr = array('name' => 'type', 'value' => $type);
$typeAttr = array('type' => $attr);
$this->setExtensionAttributes($typeAttr);
}
parent::__construct($name,
$this->_rootNamespace,
$this->lookupNamespace($this->_rootNamespace),
$text);
}
/**
* Get the name of the attribute
*
* @return attribute name The requested object.
*/
public function getName() {
return $this->_rootElement;
}
/**
* Get the type of the attribute
*
* @return attribute type The requested object.
*/
public function getType() {
$typeAttr = $this->getExtensionAttributes();
return $typeAttr['type']['value'];
}
/**
* Set the 'name' of the Base attribute object:
* <g:[$name] type='[$type]'>[$value]</g:[$name]>
*
* @param Zend_Gdata_App_Extension_Element $attribute The attribute object
* @param string $name The name of the Base attribute
* @return Zend_Gdata_Extension_ItemEntry Provides a fluent interface
*/
public function setName($name) {
$this->_rootElement = $name;
return $this;
}
/**
* Set the 'type' of the Base attribute object:
* <g:[$name] type='[$type]'>[$value]</g:[$name]>
*
* @param Zend_Gdata_App_Extension_Element $attribute The attribute object
* @param string $type The type of the Base attribute
* @return Zend_Gdata_Extension_ItemEntry Provides a fluent interface
*/
public function setType($type) {
$attr = array('name' => 'type', 'value' => $type);
$typeAttr = array('type' => $attr);
$this->setExtensionAttributes($typeAttr);
return $this;
}
}
Gbase/Feed.php 0000604 00000003135 15071215232 0007135 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* Base class for the Google Base Feed
*
* @link http://code.google.com/apis/base/
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @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_Gbase_Feed extends Zend_Gdata_Feed
{
/**
* The classname for the feed.
*
* @var string
*/
protected $_feedClassName = 'Zend_Gdata_Gbase_Feed';
/**
* Create a new instance.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Gbase::$namespaces);
parent::__construct($element);
}
}
Gbase/Query.php 0000604 00000014207 15071215232 0007401 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @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_Query
*/
require_once('Zend/Gdata/Query.php');
/**
* Assists in constructing queries for Google Base
*
* @link http://code.google.com/apis/base
*
* @category Zend
* @package Zend_Gdata
* @subpackage Gbase
* @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_Gbase_Query extends Zend_Gdata_Query
{
/**
* Path to the customer items feeds on the Google Base server.
*/
const GBASE_ITEM_FEED_URI = 'http://www.google.com/base/feeds/items';
/**
* Path to the snippets feeds on the Google Base server.
*/
const GBASE_SNIPPET_FEED_URI = 'http://www.google.com/base/feeds/snippets';
/**
* The default URI for POST methods
*
* @var string
*/
protected $_defaultFeedUri = self::GBASE_ITEM_FEED_URI;
/**
* @param string $value
* @return Zend_Gdata_Gbase_Query Provides a fluent interface
*/
public function setKey($value)
{
if ($value !== null) {
$this->_params['key'] = $value;
} else {
unset($this->_params['key']);
}
return $this;
}
/**
* @param string $value
* @return Zend_Gdata_Gbase_ItemQuery Provides a fluent interface
*/
public function setBq($value)
{
if ($value !== null) {
$this->_params['bq'] = $value;
} else {
unset($this->_params['bq']);
}
return $this;
}
/**
* @param string $value
* @return Zend_Gdata_Gbase_ItemQuery Provides a fluent interface
*/
public function setRefine($value)
{
if ($value !== null) {
$this->_params['refine'] = $value;
} else {
unset($this->_params['refine']);
}
return $this;
}
/**
* @param string $value
* @return Zend_Gdata_Gbase_ItemQuery Provides a fluent interface
*/
public function setContent($value)
{
if ($value !== null) {
$this->_params['content'] = $value;
} else {
unset($this->_params['content']);
}
return $this;
}
/**
* @param string $value
* @return Zend_Gdata_Gbase_ItemQuery Provides a fluent interface
*/
public function setOrderBy($value)
{
if ($value !== null) {
$this->_params['orderby'] = $value;
} else {
unset($this->_params['orderby']);
}
return $this;
}
/**
* @param string $value
* @return Zend_Gdata_Gbase_ItemQuery Provides a fluent interface
*/
public function setSortOrder($value)
{
if ($value !== null) {
$this->_params['sortorder'] = $value;
} else {
unset($this->_params['sortorder']);
}
return $this;
}
/**
* @param string $value
* @return Zend_Gdata_Gbase_ItemQuery Provides a fluent interface
*/
public function setCrowdBy($value)
{
if ($value !== null) {
$this->_params['crowdby'] = $value;
} else {
unset($this->_params['crowdby']);
}
return $this;
}
/**
* @param string $value
* @return Zend_Gdata_Gbase_ItemQuery Provides a fluent interface
*/
public function setAdjust($value)
{
if ($value !== null) {
$this->_params['adjust'] = $value;
} else {
unset($this->_params['adjust']);
}
return $this;
}
/**
* @return string key
*/
public function getKey()
{
if (array_key_exists('key', $this->_params)) {
return $this->_params['key'];
} else {
return null;
}
}
/**
* @return string bq
*/
public function getBq()
{
if (array_key_exists('bq', $this->_params)) {
return $this->_params['bq'];
} else {
return null;
}
}
/**
* @return string refine
*/
public function getRefine()
{
if (array_key_exists('refine', $this->_params)) {
return $this->_params['refine'];
} else {
return null;
}
}
/**
* @return string content
*/
public function getContent()
{
if (array_key_exists('content', $this->_params)) {
return $this->_params['content'];
} else {
return null;
}
}
/**
* @return string orderby
*/
public function getOrderBy()
{
if (array_key_exists('orderby', $this->_params)) {
return $this->_params['orderby'];
} else {
return null;
}
}
/**
* @return string sortorder
*/
public function getSortOrder()
{
if (array_key_exists('sortorder', $this->_params)) {
return $this->_params['sortorder'];
} else {
return null;
}
}
/**
* @return string crowdby
*/
public function getCrowdBy()
{
if (array_key_exists('crowdby', $this->_params)) {
return $this->_params['crowdby'];
} else {
return null;
}
}
/**
* @return string adjust
*/
public function getAdjust()
{
if (array_key_exists('adjust', $this->_params)) {
return $this->_params['adjust'];
} else {
return null;
}
}
}
Feed.php 0000604 00000016012 15071215232 0006112 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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
*/
/**
* @see Zend_Gdata
*/
require_once 'Zend/Gdata.php';
/**
* @see Zend_Gdata_App_Feed
*/
require_once 'Zend/Gdata/App/Feed.php';
/**
* @see Zend_Gdata_Entry
*/
require_once 'Zend/Gdata/Entry.php';
/**
* @see Zend_Gdata_Extension_OpenSearchTotalResults
*/
require_once 'Zend/Gdata/Extension/OpenSearchTotalResults.php';
/**
* @see Zend_Gdata_Extension_OpenSearchStartIndex
*/
require_once 'Zend/Gdata/Extension/OpenSearchStartIndex.php';
/**
* @see Zend_Gdata_Extension_OpenSearchItemsPerPage
*/
require_once 'Zend/Gdata/Extension/OpenSearchItemsPerPage.php';
/**
* The Gdata flavor of an Atom Feed
*
* @category Zend
* @package Zend_Gdata
* @subpackage 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_Feed extends Zend_Gdata_App_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Entry';
/**
* The openSearch:totalResults element
*
* @var string
*/
protected $_totalResults = null;
/**
* The openSearch:startIndex element
*
* @var string
*/
protected $_startIndex = null;
/**
* The openSearch:itemsPerPage element
*
* @var string
*/
protected $_itemsPerPage = null;
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata::$namespaces);
parent::__construct($element);
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_totalResults != null) {
$element->appendChild($this->_totalResults->getDOM($element->ownerDocument));
}
if ($this->_startIndex != null) {
$element->appendChild($this->_startIndex->getDOM($element->ownerDocument));
}
if ($this->_itemsPerPage != null) {
$element->appendChild($this->_itemsPerPage->getDOM($element->ownerDocument));
}
// ETags are special. We only support them in protocol >= 2.X.
// This will be duplicated by the HTTP ETag header.
if ($majorVersion >= 2) {
if ($this->_etag != null) {
$element->setAttributeNS($this->lookupNamespace('gd'),
'gd:etag',
$this->_etag);
}
}
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('openSearch') . ':' . 'totalResults':
$totalResults = new Zend_Gdata_Extension_OpenSearchTotalResults();
$totalResults->transferFromDOM($child);
$this->_totalResults = $totalResults;
break;
case $this->lookupNamespace('openSearch') . ':' . 'startIndex':
$startIndex = new Zend_Gdata_Extension_OpenSearchStartIndex();
$startIndex->transferFromDOM($child);
$this->_startIndex = $startIndex;
break;
case $this->lookupNamespace('openSearch') . ':' . 'itemsPerPage':
$itemsPerPage = new Zend_Gdata_Extension_OpenSearchItemsPerPage();
$itemsPerPage->transferFromDOM($child);
$this->_itemsPerPage = $itemsPerPage;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* 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 'etag':
// ETags are special, since they can be conveyed by either the
// HTTP ETag header or as an XML attribute.
$etag = $attribute->nodeValue;
if (is_null($this->_etag)) {
$this->_etag = $etag;
}
elseif ($this->_etag != $etag) {
require_once('Zend/Gdata/App/IOException.php');
throw new Zend_Gdata_App_IOException("ETag mismatch");
}
break;
default:
parent::takeAttributeFromDOM($attribute);
break;
}
}
/**
* Set the value of the totalResults property.
*
* @param integer $value The value of the totalResults property.
* @return Zend_Gdata_Feed Provides a fluent interface.
*/
function setTotalResults($value) {
$this->_totalResults = $value;
return $this;
}
/**
* Get the value of the totalResults property.
*
* @return integer|null The value of the totalResults property, or null.
*/
function getTotalResults() {
return $this->_totalResults;
}
/**
* Set the start index property for feed paging.
*
* @param integer $value The value for the startIndex property.
* @return Zend_Gdata_Feed Provides a fluent interface.
*/
function setStartIndex($value) {
$this->_startIndex = $value;
return $this;
}
/**
* Get the value of the startIndex property.
*
* @return integer|null The value of the startIndex property, or null.
*/
function getStartIndex() {
return $this->_startIndex;
}
/**
* Set the itemsPerPage property.
*
* @param integer $value The value for the itemsPerPage property.
* @return Zend_Gdata_Feed Provides a fluent interface.
*/
function setItemsPerPage($value) {
$this->_itemsPerPage = $value;
return $this;
}
/**
* Get the value of the itemsPerPage property.
*
* @return integer|null The value of the itemsPerPage property, or null.
*/
function getItemsPerPage() {
return $this->_itemsPerPage;
}
}
Spreadsheets.php 0000604 00000034750 15071215232 0007712 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Gdata
*/
require_once('Zend/Gdata.php');
/**
* Zend_Gdata_Spreadsheets_SpreadsheetFeed
*/
require_once('Zend/Gdata/Spreadsheets/SpreadsheetFeed.php');
/**
* Zend_Gdata_Spreadsheets_WorksheetFeed
*/
require_once('Zend/Gdata/Spreadsheets/WorksheetFeed.php');
/**
* Zend_Gdata_Spreadsheets_CellFeed
*/
require_once('Zend/Gdata/Spreadsheets/CellFeed.php');
/**
* Zend_Gdata_Spreadsheets_ListFeed
*/
require_once('Zend/Gdata/Spreadsheets/ListFeed.php');
/**
* Zend_Gdata_Spreadsheets_SpreadsheetEntry
*/
require_once('Zend/Gdata/Spreadsheets/SpreadsheetEntry.php');
/**
* Zend_Gdata_Spreadsheets_WorksheetEntry
*/
require_once('Zend/Gdata/Spreadsheets/WorksheetEntry.php');
/**
* Zend_Gdata_Spreadsheets_CellEntry
*/
require_once('Zend/Gdata/Spreadsheets/CellEntry.php');
/**
* Zend_Gdata_Spreadsheets_ListEntry
*/
require_once('Zend/Gdata/Spreadsheets/ListEntry.php');
/**
* Zend_Gdata_Spreadsheets_DocumentQuery
*/
require_once('Zend/Gdata/Spreadsheets/DocumentQuery.php');
/**
* Zend_Gdata_Spreadsheets_ListQuery
*/
require_once('Zend/Gdata/Spreadsheets/ListQuery.php');
/**
* Zend_Gdata_Spreadsheets_CellQuery
*/
require_once('Zend/Gdata/Spreadsheets/CellQuery.php');
/**
* Gdata Spreadsheets
*
* @link http://code.google.com/apis/gdata/spreadsheets.html
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @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_Spreadsheets extends Zend_Gdata
{
const SPREADSHEETS_FEED_URI = 'http://spreadsheets.google.com/feeds/spreadsheets';
const SPREADSHEETS_POST_URI = 'http://spreadsheets.google.com/feeds/spreadsheets/private/full';
const WORKSHEETS_FEED_LINK_URI = 'http://schemas.google.com/spreadsheets/2006#worksheetsfeed';
const LIST_FEED_LINK_URI = 'http://schemas.google.com/spreadsheets/2006#listfeed';
const CELL_FEED_LINK_URI = 'http://schemas.google.com/spreadsheets/2006#cellsfeed';
const AUTH_SERVICE_NAME = 'wise';
/**
* Namespaces used for Zend_Gdata_Photos
*
* @var array
*/
public static $namespaces = array(
array('gs', 'http://schemas.google.com/spreadsheets/2006', 1, 0),
array(
'gsx', 'http://schemas.google.com/spreadsheets/2006/extended', 1, 0)
);
/**
* Create Gdata_Spreadsheets object
*
* @param Zend_Http_Client $client (optional) The HTTP client to use when
* when communicating with the Google servers.
* @param string $applicationId The identity of the app in the form of Company-AppName-Version
*/
public function __construct($client = null, $applicationId = 'MyCompany-MyApp-1.0')
{
$this->registerPackage('Zend_Gdata_Spreadsheets');
$this->registerPackage('Zend_Gdata_Spreadsheets_Extension');
parent::__construct($client, $applicationId);
$this->_httpClient->setParameterPost('service', self::AUTH_SERVICE_NAME);
$this->_server = 'spreadsheets.google.com';
}
/**
* Gets a spreadsheet feed.
*
* @param mixed $location A DocumentQuery or a string URI specifying the feed location.
* @return Zend_Gdata_Spreadsheets_SpreadsheetFeed
*/
public function getSpreadsheetFeed($location = null)
{
if ($location == null) {
$uri = self::SPREADSHEETS_FEED_URI;
} else if ($location instanceof Zend_Gdata_Spreadsheets_DocumentQuery) {
if ($location->getDocumentType() == null) {
$location->setDocumentType('spreadsheets');
}
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_Spreadsheets_SpreadsheetFeed');
}
/**
* Gets a spreadsheet entry.
*
* @param string $location A DocumentQuery or a URI specifying the entry location.
* @return SpreadsheetEntry
*/
public function getSpreadsheetEntry($location)
{
if ($location instanceof Zend_Gdata_Spreadsheets_DocumentQuery) {
if ($location->getDocumentType() == null) {
$location->setDocumentType('spreadsheets');
}
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getEntry($uri, 'Zend_Gdata_Spreadsheets_SpreadsheetEntry');
}
/**
* Gets a worksheet feed.
*
* @param mixed $location A DocumentQuery, SpreadsheetEntry, or a string URI
* @return Zend_Gdata_Spreadsheets_WorksheetFeed The feed of worksheets
*/
public function getWorksheetFeed($location)
{
if ($location instanceof Zend_Gdata_Spreadsheets_DocumentQuery) {
if ($location->getDocumentType() == null) {
$location->setDocumentType('worksheets');
}
$uri = $location->getQueryUrl();
} else if ($location instanceof Zend_Gdata_Spreadsheets_SpreadsheetEntry) {
$uri = $location->getLink(self::WORKSHEETS_FEED_LINK_URI)->href;
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_Spreadsheets_WorksheetFeed');
}
/**
* Gets a worksheet entry.
*
* @param string $location A DocumentQuery or a URI specifying the entry location.
* @return WorksheetEntry
*/
public function GetWorksheetEntry($location)
{
if ($location instanceof Zend_Gdata_Spreadsheets_DocumentQuery) {
if ($location->getDocumentType() == null) {
$location->setDocumentType('worksheets');
}
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getEntry($uri, 'Zend_Gdata_Spreadsheets_WorksheetEntry');
}
/**
* Gets a cell feed.
*
* @param string $location A CellQuery, WorksheetEntry or a URI specifying the feed location.
* @return CellFeed
*/
public function getCellFeed($location)
{
if ($location instanceof Zend_Gdata_Spreadsheets_CellQuery) {
$uri = $location->getQueryUrl();
} else if ($location instanceof Zend_Gdata_Spreadsheets_WorksheetEntry) {
$uri = $location->getLink(self::CELL_FEED_LINK_URI)->href;
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_Spreadsheets_CellFeed');
}
/**
* Gets a cell entry.
*
* @param string $location A CellQuery or a URI specifying the entry location.
* @return CellEntry
*/
public function getCellEntry($location)
{
if ($location instanceof Zend_Gdata_Spreadsheets_CellQuery) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getEntry($uri, 'Zend_Gdata_Spreadsheets_CellEntry');
}
/**
* Gets a list feed.
*
* @param mixed $location A ListQuery, WorksheetEntry or string URI specifying the feed location.
* @return ListFeed
*/
public function getListFeed($location)
{
if ($location instanceof Zend_Gdata_Spreadsheets_ListQuery) {
$uri = $location->getQueryUrl();
} else if ($location instanceof Zend_Gdata_Spreadsheets_WorksheetEntry) {
$uri = $location->getLink(self::LIST_FEED_LINK_URI)->href;
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_Spreadsheets_ListFeed');
}
/**
* Gets a list entry.
*
* @param string $location A ListQuery or a URI specifying the entry location.
* @return ListEntry
*/
public function getListEntry($location)
{
if ($location instanceof Zend_Gdata_Spreadsheets_ListQuery) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getEntry($uri, 'Zend_Gdata_Spreadsheets_ListEntry');
}
/**
* Updates an existing cell.
*
* @param int $row The row containing the cell to update
* @param int $col The column containing the cell to update
* @param int $inputValue The new value for the cell
* @param string $key The key for the spreadsheet to be updated
* @param string $wkshtId (optional) The worksheet to be updated
* @return CellEntry The updated cell entry.
*/
public function updateCell($row, $col, $inputValue, $key, $wkshtId = 'default')
{
$cell = 'R'.$row.'C'.$col;
$query = new Zend_Gdata_Spreadsheets_CellQuery();
$query->setSpreadsheetKey($key);
$query->setWorksheetId($wkshtId);
$query->setCellId($cell);
$entry = $this->getCellEntry($query);
$entry->setCell(new Zend_Gdata_Spreadsheets_Extension_Cell(null, $row, $col, $inputValue));
$response = $entry->save();
return $response;
}
/**
* Inserts a new row with provided data.
*
* @param array $rowData An array of column header to row data
* @param string $key The key of the spreadsheet to modify
* @param string $wkshtId (optional) The worksheet to modify
* @return ListEntry The inserted row
*/
public function insertRow($rowData, $key, $wkshtId = 'default')
{
$newEntry = new Zend_Gdata_Spreadsheets_ListEntry();
$newCustomArr = array();
foreach ($rowData as $k => $v) {
$newCustom = new Zend_Gdata_Spreadsheets_Extension_Custom();
$newCustom->setText($v)->setColumnName($k);
$newEntry->addCustom($newCustom);
}
$query = new Zend_Gdata_Spreadsheets_ListQuery();
$query->setSpreadsheetKey($key);
$query->setWorksheetId($wkshtId);
$feed = $this->getListFeed($query);
$editLink = $feed->getLink('http://schemas.google.com/g/2005#post');
return $this->insertEntry($newEntry->saveXML(), $editLink->href, 'Zend_Gdata_Spreadsheets_ListEntry');
}
/**
* Updates an existing row with provided data.
*
* @param ListEntry $entry The row entry to update
* @param array $newRowData An array of column header to row data
*/
public function updateRow($entry, $newRowData)
{
$newCustomArr = array();
foreach ($newRowData as $k => $v) {
$newCustom = new Zend_Gdata_Spreadsheets_Extension_Custom();
$newCustom->setText($v)->setColumnName($k);
$newCustomArr[] = $newCustom;
}
$entry->setCustom($newCustomArr);
return $entry->save();
}
/**
* Deletes an existing row .
*
* @param ListEntry $entry The row to delete
*/
public function deleteRow($entry)
{
$entry->delete();
}
/**
* Returns the content of all rows as an associative array
*
* @param mixed $location A ListQuery or string URI specifying the feed location.
* @return array An array of rows. Each element of the array is an associative array of data
*/
public function getSpreadsheetListFeedContents($location)
{
$listFeed = $this->getListFeed($location);
$listFeed = $this->retrieveAllEntriesForFeed($listFeed);
$spreadsheetContents = array();
foreach ($listFeed as $listEntry) {
$rowContents = array();
$customArray = $listEntry->getCustom();
foreach ($customArray as $custom) {
$rowContents[$custom->getColumnName()] = $custom->getText();
}
$spreadsheetContents[] = $rowContents;
}
return $spreadsheetContents;
}
/**
* Returns the content of all cells as an associative array, indexed
* off the cell location (ie 'A1', 'D4', etc). Each element of
* the array is an associative array with a 'value' and a 'function'.
* Only non-empty cells are returned by default. 'range' is the
* value of the 'range' query parameter specified at:
* http://code.google.com/apis/spreadsheets/reference.html#cells_Parameters
*
* @param mixed $location A CellQuery, WorksheetEntry or a URL (w/o query string) specifying the feed location.
* @param string $range The range of cells to retrieve
* @param boolean $empty Whether to retrieve empty cells
* @return array An associative array of cells
*/
public function getSpreadsheetCellFeedContents($location, $range = null, $empty = false)
{
$cellQuery = null;
if ($location instanceof Zend_Gdata_Spreadsheets_CellQuery) {
$cellQuery = $location;
} else if ($location instanceof Zend_Gdata_Spreadsheets_WorksheetEntry) {
$url = $location->getLink(self::CELL_FEED_LINK_URI)->href;
$cellQuery = new Zend_Gdata_Spreadsheets_CellQuery($url);
} else {
$url = $location;
$cellQuery = new Zend_Gdata_Spreadsheets_CellQuery($url);
}
if ($range != null) {
$cellQuery->setRange($range);
}
$cellQuery->setReturnEmpty($empty);
$cellFeed = $this->getCellFeed($cellQuery);
$cellFeed = $this->retrieveAllEntriesForFeed($cellFeed);
$spreadsheetContents = array();
foreach ($cellFeed as $cellEntry) {
$cellContents = array();
$cell = $cellEntry->getCell();
$cellContents['formula'] = $cell->getInputValue();
$cellContents['value'] = $cell->getText();
$spreadsheetContents[$cellEntry->getTitle()->getText()] = $cellContents;
}
return $spreadsheetContents;
}
/**
* Alias for getSpreadsheetFeed
*
* @param mixed $location A DocumentQuery or a string URI specifying the feed location.
* @return Zend_Gdata_Spreadsheets_SpreadsheetFeed
*/
public function getSpreadsheets($location = null)
{
return $this->getSpreadsheetFeed($location = null);
}
}
Spreadsheets/CellQuery.php 0000604 00000024353 15071215232 0011615 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Gdata_App_util
*/
require_once('Zend/Gdata/App/Util.php');
/**
* Zend_Gdata_Query
*/
require_once('Zend/Gdata/Query.php');
/**
* Assists in constructing queries for Google Spreadsheets cells
*
* @link http://code.google.com/apis/gdata/spreadsheets/
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @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_Spreadsheets_CellQuery extends Zend_Gdata_Query
{
const SPREADSHEETS_CELL_FEED_URI = 'http://spreadsheets.google.com/feeds/cells';
protected $_defaultFeedUri = self::SPREADSHEETS_CELL_FEED_URI;
protected $_visibility = 'private';
protected $_projection = 'full';
protected $_spreadsheetKey = null;
protected $_worksheetId = 'default';
protected $_cellId = null;
/**
* Constructs a new Zend_Gdata_Spreadsheets_CellQuery object.
*
* @param string $url Base URL to use for queries
*/
public function __construct($url = null)
{
parent::__construct($url);
}
/**
* Sets the spreadsheet key for this query.
*
* @param string $value
* @return Zend_Gdata_Spreadsheets_CellQuery Provides a fluent interface
*/
public function setSpreadsheetKey($value)
{
$this->_spreadsheetKey = $value;
return $this;
}
/**
* Gets the spreadsheet key for this query.
*
* @return string spreadsheet key
*/
public function getSpreadsheetKey()
{
return $this->_spreadsheetKey;
}
/**
* Sets the worksheet id for this query.
*
* @param string $value
* @return Zend_Gdata_Spreadsheets_CellQuery Provides a fluent interface
*/
public function setWorksheetId($value)
{
$this->_worksheetId = $value;
return $this;
}
/**
* Gets the worksheet id for this query.
*
* @return string worksheet id
*/
public function getWorksheetId()
{
return $this->_worksheetId;
}
/**
* Sets the cell id for this query.
*
* @param string $value
* @return Zend_Gdata_Spreadsheets_CellQuery Provides a fluent interface
*/
public function setCellId($value)
{
$this->_cellId = $value;
return $this;
}
/**
* Gets the cell id for this query.
*
* @return string cell id
*/
public function getCellId()
{
return $this->_cellId;
}
/**
* Sets the projection for this query.
*
* @param string $value
* @return Zend_Gdata_Spreadsheets_CellQuery Provides a fluent interface
*/
public function setProjection($value)
{
$this->_projection = $value;
return $this;
}
/**
* Sets the visibility for this query.
*
* @return Zend_Gdata_Spreadsheets_CellQuery Provides a fluent interface
*/
public function setVisibility($value)
{
$this->_visibility = $value;
return $this;
}
/**
* Gets the projection for this query.
*
* @return string projection
*/
public function getProjection()
{
return $this->_projection;
}
/**
* Gets the visibility for this query.
*
* @return string visibility
*/
public function getVisibility()
{
return $this->_visibility;
}
/**
* Sets the min-row attribute for this query.
*
* @param string $value
* @return Zend_Gdata_Spreadsheets_CellQuery Provides a fluent interface
*/
public function setMinRow($value)
{
if ($value != null) {
$this->_params['min-row'] = $value;
} else {
unset($this->_params['min-row']);
}
return $this;
}
/**
* Gets the min-row attribute for this query.
*
* @return string min-row
*/
public function getMinRow()
{
if (array_key_exists('min-row', $this->_params)) {
return $this->_params['min-row'];
} else {
return null;
}
}
/**
* Sets the max-row attribute for this query.
*
* @param string $value
* @return Zend_Gdata_Spreadsheets_CellQuery Provides a fluent interface
*/
public function setMaxRow($value)
{
if ($value != null) {
$this->_params['max-row'] = $value;
} else {
unset($this->_params['max-row']);
}
return $this;
}
/**
* Gets the max-row attribute for this query.
*
* @return string max-row
*/
public function getMaxRow()
{
if (array_key_exists('max-row', $this->_params)) {
return $this->_params['max-row'];
} else {
return null;
}
}
/**
* Sets the min-col attribute for this query.
*
* @param string $value
* @return Zend_Gdata_Spreadsheets_CellQuery Provides a fluent interface
*/
public function setMinCol($value)
{
if ($value != null) {
$this->_params['min-col'] = $value;
} else {
unset($this->_params['min-col']);
}
return $this;
}
/**
* Gets the min-col attribute for this query.
*
* @return string min-col
*/
public function getMinCol()
{
if (array_key_exists('min-col', $this->_params)) {
return $this->_params['min-col'];
} else {
return null;
}
}
/**
* Sets the max-col attribute for this query.
*
* @param string $value
* @return Zend_Gdata_Spreadsheets_CellQuery Provides a fluent interface
*/
public function setMaxCol($value)
{
if ($value != null) {
$this->_params['max-col'] = $value;
} else {
unset($this->_params['max-col']);
}
return $this;
}
/**
* Gets the max-col attribute for this query.
*
* @return string max-col
*/
public function getMaxCol()
{
if (array_key_exists('max-col', $this->_params)) {
return $this->_params['max-col'];
} else {
return null;
}
}
/**
* Sets the range attribute for this query.
*
* @param string $value
* @return Zend_Gdata_Spreadsheets_CellQuery Provides a fluent interface
*/
public function setRange($value)
{
if ($value != null) {
$this->_params['range'] = $value;
} else {
unset($this->_params['range']);
}
return $this;
}
/**
* Gets the range attribute for this query.
*
* @return string range
*/
public function getRange()
{
if (array_key_exists('range', $this->_params)) {
return $this->_params['range'];
} else {
return null;
}
}
/**
* Sets the return-empty attribute for this query.
*
* @param mixed $value String or bool value for whether to return empty cells
* @return Zend_Gdata_Spreadsheets_CellQuery Provides a fluent interface
*/
public function setReturnEmpty($value)
{
if (is_bool($value)) {
$this->_params['return-empty'] = ($value?'true':'false');
} else if ($value != null) {
$this->_params['return-empty'] = $value;
} else {
unset($this->_params['return-empty']);
}
return $this;
}
/**
* Gets the return-empty attribute for this query.
*
* @return string return-empty
*/
public function getReturnEmpty()
{
if (array_key_exists('return-empty', $this->_params)) {
return $this->_params['return-empty'];
} else {
return null;
}
}
/**
* Gets the full query URL for this query.
*
* @return string url
*/
public function getQueryUrl()
{
if ($this->_url == null) {
$uri = $this->_defaultFeedUri;
if ($this->_spreadsheetKey != null) {
$uri .= '/'.$this->_spreadsheetKey;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('A spreadsheet key must be provided for cell queries.');
}
if ($this->_worksheetId != null) {
$uri .= '/'.$this->_worksheetId;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('A worksheet id must be provided for cell queries.');
}
if ($this->_visibility != null) {
$uri .= '/'.$this->_visibility;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('A visibility must be provided for cell queries.');
}
if ($this->_projection != null) {
$uri .= '/'.$this->_projection;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('A projection must be provided for cell queries.');
}
if ($this->_cellId != null) {
$uri .= '/'.$this->_cellId;
}
} else {
$uri = $this->_url;
}
$uri .= $this->getQueryString();
return $uri;
}
/**
* Gets the attribute query string for this query.
*
* @return string query string
*/
public function getQueryString()
{
return parent::getQueryString();
}
}
Spreadsheets/ListFeed.php 0000604 00000003333 15071215232 0011402 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @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_Spreadsheets_ListFeed extends Zend_Gdata_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Spreadsheets_ListEntry';
/**
* The classname for the feed.
*
* @var string
*/
protected $_feedClassName = 'Zend_Gdata_Spreadsheets_ListFeed';
/**
* Constructs a new Zend_Gdata_Spreadsheets_ListFeed object.
* @param DOMElement $element An existing XML element on which to base this new object.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Spreadsheets::$namespaces);
parent::__construct($element);
}
}
Spreadsheets/WorksheetEntry.php 0000604 00000013525 15071215232 0012704 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @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_Spreadsheets_Extension_RowCount
*/
require_once 'Zend/Gdata/Spreadsheets/Extension/RowCount.php';
/**
* @see Zend_Gdata_Spreadsheets_Extension_ColCount
*/
require_once 'Zend/Gdata/Spreadsheets/Extension/ColCount.php';
/**
* Concrete class for working with Worksheet entries.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @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_Spreadsheets_WorksheetEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_Spreadsheets_WorksheetEntry';
protected $_rowCount = null;
protected $_colCount = null;
/**
* Constructs a new Zend_Gdata_Spreadsheets_WorksheetEntry object.
*
* @param DOMElement $element (optional) The DOMElement on which to base this object.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Spreadsheets::$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->_rowCount != null) {
$element->appendChild($this->_rowCount->getDOM($element->ownerDocument));
}
if ($this->_colCount != null) {
$element->appendChild($this->_colCount->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('gs') . ':' . 'rowCount';
$rowCount = new Zend_Gdata_Spreadsheets_Extension_RowCount();
$rowCount->transferFromDOM($child);
$this->_rowCount = $rowCount;
break;
case $this->lookupNamespace('gs') . ':' . 'colCount';
$colCount = new Zend_Gdata_Spreadsheets_Extension_ColCount();
$colCount->transferFromDOM($child);
$this->_colCount = $colCount;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Gets the row count for this entry.
*
* @return string The row count for the entry.
*/
public function getRowCount()
{
return $this->_rowCount;
}
/**
* Gets the column count for this entry.
*
* @return string The column count for the entry.
*/
public function getColumnCount()
{
return $this->_colCount;
}
/**
* Sets the row count for this entry.
*
* @param string $rowCount The new row count for the entry.
*/
public function setRowCount($rowCount)
{
$this->_rowCount = $rowCount;
return $this;
}
/**
* Sets the column count for this entry.
*
* @param string $colCount The new column count for the entry.
*/
public function setColumnCount($colCount)
{
$this->_colCount = $colCount;
return $this;
}
/**
* Returns the content of all rows as an associative array
*
* @return array An array of rows. Each element of the array is an associative array of data
*/
public function getContentsAsRows()
{
$service = new Zend_Gdata_Spreadsheets($this->getHttpClient());
return $service->getSpreadsheetListFeedContents($this);
}
/**
* Returns the content of all cells as an associative array, indexed
* off the cell location (ie 'A1', 'D4', etc). Each element of
* the array is an associative array with a 'value' and a 'function'.
* Only non-empty cells are returned by default. 'range' is the
* value of the 'range' query parameter specified at:
* http://code.google.com/apis/spreadsheets/reference.html#cells_Parameters
*
* @param string $range The range of cells to retrieve
* @param boolean $empty Whether to retrieve empty cells
* @return array An associative array of cells
*/
public function getContentsAsCells($range = null, $empty = false)
{
$service = new Zend_Gdata_Spreadsheets($this->getHttpClient());
return $service->getSpreadsheetCellFeedContents($this, $range, $empty);
}
}
Spreadsheets/SpreadsheetEntry.php 0000604 00000003555 15071215232 0013202 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @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';
/**
* Concrete class for working with Atom entries.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @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_Spreadsheets_SpreadsheetEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_Spreadsheets_SpreadsheetEntry';
/**
* Constructs a new Zend_Gdata_Spreadsheets_SpreadsheetEntry object.
* @param DOMElement $element (optional) The DOMElement on which to base this object.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Spreadsheets::$namespaces);
parent::__construct($element);
}
/**
* Returns the worksheets in this spreadsheet
*
* @return Zend_Gdata_Spreadsheets_WorksheetFeed The worksheets
*/
public function getWorksheets()
{
$service = new Zend_Gdata_Spreadsheets($this->getHttpClient());
return $service->getWorksheetFeed($this);
}
}
Spreadsheets/Extension/RowCount.php 0000604 00000003324 15071215232 0013437 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: Entry.php 3941 2007-03-14 21:36:13Z darby $
*/
/**
* @see Zend_Gdata_Entry
*/
require_once 'Zend/Gdata/Entry.php';
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Concrete class for working with RowCount elements.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @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_Spreadsheets_Extension_RowCount extends Zend_Gdata_Extension
{
protected $_rootElement = 'rowCount';
protected $_rootNamespace = 'gs';
/**
* Constructs a new Zend_Gdata_Spreadsheets_Extension_RowCount object.
* @param string $text (optional) The text content of the element.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Spreadsheets::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Spreadsheets/Extension/Cell.php 0000604 00000012577 15071215232 0012550 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: Entry.php 3941 2007-03-14 21:36:13Z darby $
*/
/**
* @see Zend_Gdata_Entry
*/
require_once 'Zend/Gdata/Entry.php';
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Concrete class for working with cell elements.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @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_Spreadsheets_Extension_Cell extends Zend_Gdata_Extension
{
protected $_rootElement = 'cell';
protected $_rootNamespace = 'gs';
/**
* The row attribute of this cell
*
* @var string
*/
protected $_row = null;
/**
* The column attribute of this cell
*
* @var string
*/
protected $_col = null;
/**
* The inputValue attribute of this cell
*
* @var string
*/
protected $_inputValue = null;
/**
* The numericValue attribute of this cell
*
* @var string
*/
protected $_numericValue = null;
/**
* Constructs a new Zend_Gdata_Spreadsheets_Extension_Cell element.
*
* @param string $text (optional) Text contents of the element.
* @param string $row (optional) Row attribute of the element.
* @param string $col (optional) Column attribute of the element.
* @param string $inputValue (optional) Input value attribute of the element.
* @param string $numericValue (optional) Numeric value attribute of the element.
*/
public function __construct($text = null, $row = null, $col = null, $inputValue = null, $numericValue = null)
{
$this->registerAllNamespaces(Zend_Gdata_Spreadsheets::$namespaces);
parent::__construct();
$this->_text = $text;
$this->_row = $row;
$this->_col = $col;
$this->_inputValue = $inputValue;
$this->_numericValue = $numericValue;
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
$element->setAttribute('row', $this->_row);
$element->setAttribute('col', $this->_col);
if ($this->_inputValue) $element->setAttribute('inputValue', $this->_inputValue);
if ($this->_numericValue) $element->setAttribute('numericValue', $this->_numericValue);
return $element;
}
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'row':
$this->_row = $attribute->nodeValue;
break;
case 'col':
$this->_col = $attribute->nodeValue;
break;
case 'inputValue':
$this->_inputValue = $attribute->nodeValue;
break;
case 'numericValue':
$this->_numericValue = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Gets the row attribute of the Cell element.
* @return string Row of the Cell.
*/
public function getRow()
{
return $this->_row;
}
/**
* Gets the column attribute of the Cell element.
* @return string Column of the Cell.
*/
public function getColumn()
{
return $this->_col;
}
/**
* Gets the input value attribute of the Cell element.
* @return string Input value of the Cell.
*/
public function getInputValue()
{
return $this->_inputValue;
}
/**
* Gets the numeric value attribute of the Cell element.
* @return string Numeric value of the Cell.
*/
public function getNumericValue()
{
return $this->_numericValue;
}
/**
* Sets the row attribute of the Cell element.
* @param string $row New row of the Cell.
*/
public function setRow($row)
{
$this->_row = $row;
return $this;
}
/**
* Sets the column attribute of the Cell element.
* @param string $col New column of the Cell.
*/
public function setColumn($col)
{
$this->_col = $col;
return $this;
}
/**
* Sets the input value attribute of the Cell element.
* @param string $inputValue New input value of the Cell.
*/
public function setInputValue($inputValue)
{
$this->_inputValue = $inputValue;
return $this;
}
/**
* Sets the numeric value attribute of the Cell element.
* @param string $numericValue New numeric value of the Cell.
*/
public function setNumericValue($numericValue)
{
$this->_numericValue = $numericValue;
}
}
Spreadsheets/Extension/ColCount.php 0000604 00000003321 15071215232 0013402 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: Entry.php 3941 2007-03-14 21:36:13Z darby $
*/
/**
* @see Zend_Gdata_Entry
*/
require_once 'Zend/Gdata/Entry.php';
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Concrete class for working with colCount elements.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @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_Spreadsheets_Extension_ColCount extends Zend_Gdata_Extension
{
protected $_rootElement = 'colCount';
protected $_rootNamespace = 'gs';
/**
* Constructs a new Zend_Gdata_Spreadsheets_Extension_ColCount element.
* @param string $text (optional) Text contents of the element.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Spreadsheets::$namespaces);
parent::__construct();
$this->_text = $text;
}
}
Spreadsheets/Extension/Custom.php 0000604 00000005641 15071215232 0013135 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: Entry.php 3941 2007-03-14 21:36:13Z darby $
*/
/**
* @see Zend_Gdata_Entry
*/
require_once 'Zend/Gdata/Entry.php';
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Concrete class for working with custom gsx elements.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @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_Spreadsheets_Extension_Custom extends Zend_Gdata_Extension
{
// custom elements have custom names.
protected $_rootElement = null; // The name of the column
protected $_rootNamespace = 'gsx';
/**
* Constructs a new Zend_Gdata_Spreadsheets_Extension_Custom object.
* @param string $column (optional) The column/tag name of the element.
* @param string $value (optional) The text content of the element.
*/
public function __construct($column = null, $value = null)
{
$this->registerAllNamespaces(Zend_Gdata_Spreadsheets::$namespaces);
parent::__construct();
$this->_text = $value;
$this->_rootElement = $column;
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
return $element;
}
/**
* Transfers each child and attribute into member variables.
* This is called when XML is received over the wire and the data
* model needs to be built to represent this XML.
*
* @param DOMNode $node The DOMNode that represents this object's data
*/
public function transferFromDOM($node)
{
parent::transferFromDOM($node);
$this->_rootElement = $node->localName;
}
/**
* Sets the column/tag name of the element.
* @param string $column The new column name.
*/
public function setColumnName($column)
{
$this->_rootElement = $column;
return $this;
}
/**
* Gets the column name of the element
* @return string The column name.
*/
public function getColumnName()
{
return $this->_rootElement;
}
}
Spreadsheets/CellEntry.php 0000604 00000005650 15071215232 0011610 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @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_Spreadsheets_Extension_Cell
*/
require_once 'Zend/Gdata/Spreadsheets/Extension/Cell.php';
/**
* Concrete class for working with Cell entries.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @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_Spreadsheets_CellEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_Spreadsheets_CellEntry';
protected $_cell;
/**
* Constructs a new Zend_Gdata_Spreadsheets_CellEntry object.
* @param string $uri (optional)
* @param DOMElement $element (optional) The DOMElement on which to base this object.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Spreadsheets::$namespaces);
parent::__construct($element);
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_cell != null) {
$element->appendChild($this->_cell->getDOM($element->ownerDocument));
}
return $element;
}
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('gs') . ':' . 'cell';
$cell = new Zend_Gdata_Spreadsheets_Extension_Cell();
$cell->transferFromDOM($child);
$this->_cell = $cell;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Gets the Cell element of this Cell Entry.
* @return Zend_Gdata_Spreadsheets_Extension_Cell
*/
public function getCell()
{
return $this->_cell;
}
/**
* Sets the Cell element of this Cell Entry.
* @param $cell Zend_Gdata_Spreadsheets_Extension_Cell $cell
*/
public function setCell($cell)
{
$this->_cell = $cell;
return $this;
}
}
Spreadsheets/SpreadsheetFeed.php 0000604 00000003365 15071215232 0012743 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @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_Spreadsheets_SpreadsheetFeed extends Zend_Gdata_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Spreadsheets_SpreadsheetEntry';
/**
* The classname for the feed.
*
* @var string
*/
protected $_feedClassName = 'Zend_Gdata_Spreadsheets_SpreadsheetFeed';
/**
* Constructs a new Zend_Gdata_Spreadsheets_SpreadsheetFeed object.
* @param DOMElement $element (optional) The DOMElement on which to base this object.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Spreadsheets::$namespaces);
parent::__construct($element);
}
}
Spreadsheets/CellFeed.php 0000604 00000010477 15071215232 0011355 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* @see Zend_Gdata_Spreadsheets_Extension_RowCount
*/
require_once 'Zend/Gdata/Spreadsheets/Extension/RowCount.php';
/**
* @see Zend_Gdata_Spreadsheets_Extension_ColCount
*/
require_once 'Zend/Gdata/Spreadsheets/Extension/ColCount.php';
/**
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @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_Spreadsheets_CellFeed extends Zend_Gdata_Feed
{
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Spreadsheets_CellEntry';
/**
* The classname for the feed.
*
* @var string
*/
protected $_feedClassName = 'Zend_Gdata_Spreadsheets_CellFeed';
/**
* The row count for the feed.
*
* @var Zend_Gdata_Spreadsheets_Extension_RowCount
*/
protected $_rowCount = null;
/**
* The column count for the feed.
*
* @var Zend_Gdata_Spreadsheets_Extension_ColCount
*/
protected $_colCount = null;
/**
* Constructs a new Zend_Gdata_Spreadsheets_CellFeed object.
* @param DOMElement $element (optional) The XML Element on which to base this object.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Spreadsheets::$namespaces);
parent::__construct($element);
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->rowCount != null) {
$element->appendChild($this->_rowCount->getDOM($element->ownerDocument));
}
if ($this->colCount != null) {
$element->appendChild($this->_colCount->getDOM($element->ownerDocument));
}
return $element;
}
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('gs') . ':' . 'rowCount';
$rowCount = new Zend_Gdata_Spreadsheets_Extension_RowCount();
$rowCount->transferFromDOM($child);
$this->_rowCount = $rowCount;
break;
case $this->lookupNamespace('gs') . ':' . 'colCount';
$colCount = new Zend_Gdata_Spreadsheets_Extension_ColCount();
$colCount->transferFromDOM($child);
$this->_colCount = $colCount;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Gets the row count for this feed.
* @return string The row count for the feed.
*/
public function getRowCount()
{
return $this->_rowCount;
}
/**
* Gets the column count for this feed.
* @return string The column count for the feed.
*/
public function getColumnCount()
{
return $this->_colCount;
}
/**
* Sets the row count for this feed.
* @param string $rowCount The new row count for the feed.
*/
public function setRowCount($rowCount)
{
$this->_rowCount = $rowCount;
return $this;
}
/**
* Sets the column count for this feed.
* @param string $colCount The new column count for the feed.
*/
public function setColumnCount($colCount)
{
$this->_colCount = $colCount;
return $this;
}
}
Spreadsheets/ListQuery.php 0000604 00000017211 15071215232 0011644 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Gdata_App_util
*/
require_once('Zend/Gdata/App/Util.php');
/**
* Zend_Gdata_Query
*/
require_once('Zend/Gdata/Query.php');
/**
* Assists in constructing queries for Google Spreadsheets lists
*
* @link http://code.google.com/apis/gdata/calendar/
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @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_Spreadsheets_ListQuery extends Zend_Gdata_Query
{
const SPREADSHEETS_LIST_FEED_URI = 'http://spreadsheets.google.com/feeds/list';
protected $_defaultFeedUri = self::SPREADSHEETS_LIST_FEED_URI;
protected $_visibility = 'private';
protected $_projection = 'full';
protected $_spreadsheetKey = null;
protected $_worksheetId = 'default';
protected $_rowId = null;
/**
* Constructs a new Zend_Gdata_Spreadsheets_ListQuery object.
*/
public function __construct()
{
parent::__construct();
}
/**
* Sets the spreadsheet key for the query.
* @param string $value
* @return Zend_Gdata_Spreadsheets_CellQuery Provides a fluent interface
*/
public function setSpreadsheetKey($value)
{
$this->_spreadsheetKey = $value;
return $this;
}
/**
* Gets the spreadsheet key for the query.
* @return string spreadsheet key
*/
public function getSpreadsheetKey()
{
return $this->_spreadsheetKey;
}
/**
* Sets the worksheet id for the query.
* @param string $value
* @return Zend_Gdata_Spreadsheets_CellQuery Provides a fluent interface
*/
public function setWorksheetId($value)
{
$this->_worksheetId = $value;
return $this;
}
/**
* Gets the worksheet id for the query.
* @return string worksheet id
*/
public function getWorksheetId()
{
return $this->_worksheetId;
}
/**
* Sets the row id for the query.
* @param string $value row id
* @return Zend_Gdata_Spreadsheets_CellQuery Provides a fluent interface
*/
public function setRowId($value)
{
$this->_rowId = $value;
return $this;
}
/**
* Gets the row id for the query.
* @return string row id
*/
public function getRowId()
{
return $this->_rowId;
}
/**
* Sets the projection for the query.
* @param string $value Projection
* @return Zend_Gdata_Spreadsheets_ListQuery Provides a fluent interface
*/
public function setProjection($value)
{
$this->_projection = $value;
return $this;
}
/**
* Sets the visibility for this query.
* @param string $value visibility
* @return Zend_Gdata_Spreadsheets_ListQuery Provides a fluent interface
*/
public function setVisibility($value)
{
$this->_visibility = $value;
return $this;
}
/**
* Gets the projection for this query.
* @return string projection
*/
public function getProjection()
{
return $this->_projection;
}
/**
* Gets the visibility for this query.
* @return string visibility
*/
public function getVisibility()
{
return $this->_visibility;
}
/**
* Sets the spreadsheet key for this query.
* @param string $value
* @return Zend_Gdata_Spreadsheets_DocumentQuery Provides a fluent interface
*/
public function setSpreadsheetQuery($value)
{
if ($value != null) {
$this->_params['sq'] = $value;
} else {
unset($this->_params['sq']);
}
return $this;
}
/**
* Gets the spreadsheet key for this query.
* @return string spreadsheet query
*/
public function getSpreadsheetQuery()
{
if (array_key_exists('sq', $this->_params)) {
return $this->_params['sq'];
} else {
return null;
}
}
/**
* Sets the orderby attribute for this query.
* @param string $value
* @return Zend_Gdata_Spreadsheets_DocumentQuery Provides a fluent interface
*/
public function setOrderBy($value)
{
if ($value != null) {
$this->_params['orderby'] = $value;
} else {
unset($this->_params['orderby']);
}
return $this;
}
/**
* Gets the orderby attribute for this query.
* @return string orderby
*/
public function getOrderBy()
{
if (array_key_exists('orderby', $this->_params)) {
return $this->_params['orderby'];
} else {
return null;
}
}
/**
* Sets the reverse attribute for this query.
* @param string $value
* @return Zend_Gdata_Spreadsheets_DocumentQuery Provides a fluent interface
*/
public function setReverse($value)
{
if ($value != null) {
$this->_params['reverse'] = $value;
} else {
unset($this->_params['reverse']);
}
return $this;
}
/**
* Gets the reverse attribute for this query.
* @return string reverse
*/
public function getReverse()
{
if (array_key_exists('reverse', $this->_params)) {
return $this->_params['reverse'];
} else {
return null;
}
}
/**
* Gets the full query URL for this query.
* @return string url
*/
public function getQueryUrl()
{
$uri = $this->_defaultFeedUri;
if ($this->_spreadsheetKey != null) {
$uri .= '/'.$this->_spreadsheetKey;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('A spreadsheet key must be provided for list queries.');
}
if ($this->_worksheetId != null) {
$uri .= '/'.$this->_worksheetId;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('A worksheet id must be provided for list queries.');
}
if ($this->_visibility != null) {
$uri .= '/'.$this->_visibility;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('A visibility must be provided for list queries.');
}
if ($this->_projection != null) {
$uri .= '/'.$this->_projection;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('A projection must be provided for list queries.');
}
if ($this->_rowId != null) {
$uri .= '/'.$this->_rowId;
}
$uri .= $this->getQueryString();
return $uri;
}
/**
* Gets the attribute query string for this query.
* @return string query string
*/
public function getQueryString()
{
return parent::getQueryString();
}
}
Spreadsheets/WorksheetFeed.php 0000604 00000003356 15071215232 0012447 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @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_Spreadsheets_WorksheetFeed extends Zend_Gdata_Feed
{
/**
* Constructs a new Zend_Gdata_Spreadsheets_WorksheetFeed object.
* @param DOMElement $element (optional) The DOMElement on whick to base this element.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Spreadsheets::$namespaces);
parent::__construct($element);
}
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Spreadsheets_WorksheetEntry';
/**
* The classname for the feed.
*
* @var string
*/
protected $_feedClassName = 'Zend_Gdata_Spreadsheets_WorksheetFeed';
}
Spreadsheets/ListEntry.php 0000604 00000015540 15071215232 0011643 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @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_Spreadsheets_Extension_Custom
*/
require_once 'Zend/Gdata/Spreadsheets/Extension/Custom.php';
/**
* Concrete class for working with List entries.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @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_Spreadsheets_ListEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_Spreadsheets_ListEntry';
/**
* List of custom row elements (Zend_Gdata_Spreadsheets_Extension_Custom),
* indexed by order added to this entry.
* @var array
*/
protected $_custom = array();
/**
* List of custom row elements (Zend_Gdata_Spreadsheets_Extension_Custom),
* indexed by element name.
* @var array
*/
protected $_customByName = array();
/**
* Constructs a new Zend_Gdata_Spreadsheets_ListEntry object.
* @param DOMElement $element An existing XML element on which to base this new object.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Spreadsheets::$namespaces);
parent::__construct($element);
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if (!empty($this->_custom)) {
foreach ($this->_custom as $custom) {
$element->appendChild($custom->getDOM($element->ownerDocument));
}
}
return $element;
}
protected function takeChildFromDOM($child)
{
switch ($child->namespaceURI) {
case $this->lookupNamespace('gsx');
$custom = new Zend_Gdata_Spreadsheets_Extension_Custom($child->localName);
$custom->transferFromDOM($child);
$this->addCustom($custom);
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Gets the row elements contained by this list entry.
* @return array The custom row elements in this list entry
*/
public function getCustom()
{
return $this->_custom;
}
/**
* Gets a single row element contained by this list entry using its name.
* @param string $name The name of a custom element to return. If null
* or not defined, an array containing all custom elements
* indexed by name will be returned.
* @return mixed If a name is specified, the
* Zend_Gdata_Spreadsheets_Extension_Custom element requested,
* is returned or null if not found. Otherwise, an array of all
* Zend_Gdata_Spreadsheets_Extension_Custom elements is returned
* indexed by name.
*/
public function getCustomByName($name = null)
{
if ($name === null) {
return $this->_customByName;
} else {
if (array_key_exists($name, $this->customByName)) {
return $this->_customByName[$name];
} else {
return null;
}
}
}
/**
* Sets the row elements contained by this list entry. If any
* custom row elements were previously stored, they will be overwritten.
* @param array $custom The custom row elements to be contained in this
* list entry.
* @return Zend_Gdata_Spreadsheets_ListEntry Provides a fluent interface.
*/
public function setCustom($custom)
{
$this->_custom = array();
foreach ($custom as $c) {
$this->addCustom($c);
}
return $this;
}
/**
* Add an individual custom row element to this list entry.
* @param Zend_Gdata_Spreadsheets_Extension_Custom $custom The custom
* element to be added.
* @return Zend_Gdata_Spreadsheets_ListEntry Provides a fluent interface.
*/
public function addCustom($custom)
{
$this->_custom[] = $custom;
$this->_customByName[$custom->getColumnName()] = $custom;
return $this;
}
/**
* Remove an individual row element from this list entry by index. This
* will cause the array to be re-indexed.
* @param int $index The index of the custom element to be deleted.
* @return Zend_Gdata_Spreadsheets_ListEntry Provides a fluent interface.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function removeCustom($index)
{
if (array_key_exists($index, $this->_custom)) {
$element = $this->_custom[$index];
// Remove element
unset($this->_custom[$index]);
// Re-index the array
$this->_custom = array_values($this->_custom);
// Be sure to delete form both arrays!
$key = array_search($element, $this->_customByName);
unset($this->_customByName[$key]);
} else {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Element does not exist.');
}
return $this;
}
/**
* Remove an individual row element from this list entry by name.
* @param string $name The name of the custom element to be deleted.
* @return Zend_Gdata_Spreadsheets_ListEntry Provides a fluent interface.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function removeCustomByName($name)
{
if (array_key_exists($name, $this->_customByName)) {
$element = $this->_customByName[$name];
// Remove element
unset($this->_customByName[$name]);
// Be sure to delete from both arrays!
$key = array_search($element, $this->_custom);
unset($this->_custom[$key]);
} else {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Element does not exist.');
}
return $this;
}
}
Spreadsheets/DocumentQuery.php 0000604 00000017021 15071215232 0012506 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Gdata_App_util
*/
require_once('Zend/Gdata/App/Util.php');
/**
* Zend_Gdata_Query
*/
require_once('Zend/Gdata/Query.php');
/**
* Assists in constructing queries for Google Spreadsheets documents
*
* @link http://code.google.com/apis/gdata/spreadsheets/
*
* @category Zend
* @package Zend_Gdata
* @subpackage Spreadsheets
* @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_Spreadsheets_DocumentQuery extends Zend_Gdata_Query
{
const SPREADSHEETS_FEED_URI = 'http://spreadsheets.google.com/feeds';
protected $_defaultFeedUri = self::SPREADSHEETS_FEED_URI;
protected $_documentType;
protected $_visibility = 'private';
protected $_projection = 'full';
protected $_spreadsheetKey = null;
protected $_worksheetId = null;
/**
* Constructs a new Zend_Gdata_Spreadsheets_DocumentQuery object.
*/
public function __construct()
{
parent::__construct();
}
/**
* Sets the spreadsheet key for this query.
* @param string $value
* @return Zend_Gdata_Spreadsheets_CellQuery Provides a fluent interface
*/
public function setSpreadsheetKey($value)
{
$this->_spreadsheetKey = $value;
return $this;
}
/**
* Gets the spreadsheet key for this query.
* @return string spreadsheet key
*/
public function getSpreadsheetKey()
{
return $this->_spreadsheetKey;
}
/**
* Sets the worksheet id for this query.
* @param string $value
* @return Zend_Gdata_Spreadsheets_CellQuery Provides a fluent interface
*/
public function setWorksheetId($value)
{
$this->_worksheetId = $value;
return $this;
}
/**
* Gets the worksheet id for this query.
* @return string worksheet id
*/
public function getWorksheetId()
{
return $this->_worksheetId;
}
/**
* Sets the document type for this query.
* @param string $value spreadsheets or worksheets
* @return Zend_Gdata_Spreadsheets_DocumentQuery Provides a fluent interface
*/
public function setDocumentType($value)
{
$this->_documentType = $value;
return $this;
}
/**
* Gets the document type for this query.
* @return string document type
*/
public function getDocumentType()
{
return $this->_documentType;
}
/**
* Sets the projection for this query.
* @param string $value
* @return Zend_Gdata_Spreadsheets_DocumentQuery Provides a fluent interface
*/
public function setProjection($value)
{
$this->_projection = $value;
return $this;
}
/**
* Sets the visibility for this query.
* @return Zend_Gdata_Spreadsheets_DocumentQuery Provides a fluent interface
*/
public function setVisibility($value)
{
$this->_visibility = $value;
return $this;
}
/**
* Gets the projection for this query.
* @return string projection
*/
public function getProjection()
{
return $this->_projection;
}
/**
* Gets the visibility for this query.
* @return string visibility
*/
public function getVisibility()
{
return $this->_visibility;
}
/**
* Sets the title attribute for this query.
* @param string $value
* @return Zend_Gdata_Spreadsheets_DocumentQuery Provides a fluent interface
*/
public function setTitle($value)
{
if ($value != null) {
$this->_params['title'] = $value;
} else {
unset($this->_params['title']);
}
return $this;
}
/**
* Sets the title-exact attribute for this query.
* @param string $value
* @return Zend_Gdata_Spreadsheets_DocumentQuery Provides a fluent interface
*/
public function setTitleExact($value)
{
if ($value != null) {
$this->_params['title-exact'] = $value;
} else {
unset($this->_params['title-exact']);
}
return $this;
}
/**
* Gets the title attribute for this query.
* @return string title
*/
public function getTitle()
{
if (array_key_exists('title', $this->_params)) {
return $this->_params['title'];
} else {
return null;
}
}
/**
* Gets the title-exact attribute for this query.
* @return string title-exact
*/
public function getTitleExact()
{
if (array_key_exists('title-exact', $this->_params)) {
return $this->_params['title-exact'];
} else {
return null;
}
}
private function appendVisibilityProjection()
{
$uri = '';
if ($this->_visibility != null) {
$uri .= '/'.$this->_visibility;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('A visibility must be provided for document queries.');
}
if ($this->_projection != null) {
$uri .= '/'.$this->_projection;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('A projection must be provided for document queries.');
}
return $uri;
}
/**
* Gets the full query URL for this query.
* @return string url
*/
public function getQueryUrl()
{
$uri = $this->_defaultFeedUri;
if ($this->_documentType != null) {
$uri .= '/'.$this->_documentType;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('A document type must be provided for document queries.');
}
if ($this->_documentType == 'spreadsheets') {
$uri .= $this->appendVisibilityProjection();
if ($this->_spreadsheetKey != null) {
$uri .= '/'.$this->_spreadsheetKey;
}
} else if ($this->_documentType == 'worksheets') {
if ($this->_spreadsheetKey != null) {
$uri .= '/'.$this->_spreadsheetKey;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('A spreadsheet key must be provided for worksheet document queries.');
}
$uri .= $this->appendVisibilityProjection();
if ($this->_worksheetId != null) {
$uri .= '/'.$this->_worksheetId;
}
}
$uri .= $this->getQueryString();
return $uri;
}
/**
* Gets the attribute query string for this query.
* @return string query string
*/
public function getQueryString()
{
return parent::getQueryString();
}
}
Books/VolumeQuery.php 0000604 00000005701 15071215232 0010624 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Gdata_Books
*/
require_once('Zend/Gdata/Books.php');
/**
* Zend_Gdata_Query
*/
require_once('Zend/Gdata/Query.php');
/**
* Assists in constructing queries for Books volumes
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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_Books_VolumeQuery extends Zend_Gdata_Query
{
/**
* Create Gdata_Books_VolumeQuery object
*
* @param string|null $url If non-null, pre-initializes the instance to
* use a given URL.
*/
public function __construct($url = null)
{
parent::__construct($url);
}
/**
* Sets the minimum level of viewability of volumes to return in the search results
*
* @param string|null $value The minimum viewability - 'full' or 'partial'
* @return Zend_Gdata_Books_VolumeQuery Provides a fluent interface
*/
public function setMinViewability($value = null)
{
switch ($value) {
case 'full_view':
$this->_params['min-viewability'] = 'full';
break;
case 'partial_view':
$this->_params['min-viewability'] = 'partial';
break;
case null:
unset($this->_params['min-viewability']);
break;
}
return $this;
}
/**
* Minimum viewability of volumes to include in search results
*
* @return string|null min-viewability
*/
public function getMinViewability()
{
if (array_key_exists('min-viewability', $this->_params)) {
return $this->_params['min-viewability'];
} else {
return null;
}
}
/**
* Returns the generated full query URL
*
* @return string The URL
*/
public function getQueryUrl()
{
if (isset($this->_url)) {
$url = $this->_url;
} else {
$url = Zend_Gdata_Books::VOLUME_FEED_URI;
}
if ($this->getCategory() !== null) {
$url .= '/-/' . $this->getCategory();
}
$url = $url . $this->getQueryString();
return $url;
}
}
Books/VolumeFeed.php 0000604 00000003242 15071215232 0010360 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc.
* (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* Describes a Book Search volume feed
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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_Books_VolumeFeed extends Zend_Gdata_Feed
{
/**
* Constructor for Zend_Gdata_Books_VolumeFeed which
* Describes a Book Search volume feed
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
parent::__construct($element);
}
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Books_VolumeEntry';
}
Books/Extension/BooksCategory.php 0000604 00000003507 15071215232 0013060 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc.
* (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension_Category
*/
require_once 'Zend/Gdata/App/Extension/Category.php';
/**
* Describes a books category
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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_Books_Extension_BooksCategory extends
Zend_Gdata_App_Extension_Category
{
/**
* Constructor for Zend_Gdata_Books_Extension_BooksCategory which
* Describes a books category
*
* @param string|null $term An identifier representing the category within
* the categorization scheme.
* @param string|null $scheme A string containing a URI identifying the
* categorization scheme.
* @param string|null $label A human-readable label for display in
* end-user applications.
*/
public function __construct($term = null, $scheme = null, $label = null)
{
$this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
parent::__construct($term, $scheme, $label);
}
}
Books/Extension/PreviewLink.php 0000604 00000003620 15071215232 0012540 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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_Books_Extension_BooksLink
*/
require_once 'Zend/Gdata/Books/Extension/BooksLink.php';
/**
* Describes a preview link
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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_Books_Extension_PreviewLink extends
Zend_Gdata_Books_Extension_BooksLink
{
/**
* Constructor for Zend_Gdata_Books_Extension_PreviewLink which
* Describes a preview link
*
* @param string|null $href Linked resource URI
* @param string|null $rel Forward relationship
* @param string|null $type Resource MIME type
* @param string|null $hrefLang Resource language
* @param string|null $title Human-readable resource title
* @param string|null $length Resource length in octets
*/
public function __construct($href = null, $rel = null, $type = null,
$hrefLang = null, $title = null, $length = null)
{
$this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
parent::__construct($href, $rel, $type, $hrefLang, $title, $length);
}
}
Books/Extension/Viewability.php 0000604 00000006770 15071215232 0012602 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc.
* (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Describes a viewability
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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_Books_Extension_Viewability extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gbs';
protected $_rootElement = 'viewability';
protected $_value = null;
/**
* Constructor for Zend_Gdata_Books_Extension_Viewability which
* Describes a viewability
*
* @param string|null $value A programmatic value representing the book's
* viewability mode.
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
parent::__construct();
$this->_value = $value;
}
/**
* Retrieves DOMElement which corresponds to this element and all
* child properties. This is used to build this object back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistance.
*
* @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);
if ($this->_value !== null) {
$element->setAttribute('value', $this->_value);
}
return $element;
}
/**
* Extracts XML attributes from the DOM and converts them to the
* appropriate object members.
*
* @param DOMNode $attribute The DOMNode attribute to be handled.
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'value':
$this->_value = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Returns the programmatic value that describes the viewability of a volume
* in Google Book Search
*
* @return string The value
*/
public function getValue()
{
return $this->_value;
}
/**
* Sets the programmatic value that describes the viewability of a volume in
* Google Book Search
*
* @param string $value programmatic value that describes the viewability
* of a volume in Googl eBook Search
* @return Zend_Gdata_Books_Extension_Viewability Provides a fluent
* interface
*/
public function setValue($value)
{
$this->_value = $value;
return $this;
}
}
Books/Extension/AnnotationLink.php 0000604 00000004025 15071215232 0013231 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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_Books_Extension_BooksLink
*/
require_once 'Zend/Gdata/Books/Extension/BooksLink.php';
/**
* Describes an annotation link
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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_Books_Extension_AnnotationLink extends
Zend_Gdata_Books_Extension_BooksLink
{
/**
* Constructor for Zend_Gdata_Books_Extension_AnnotationLink which
* Describes an annotation link
*
* @param string|null $href Linked resource URI
* @param string|null $rel Forward relationship
* @param string|null $type Resource MIME type
* @param string|null $hrefLang Resource language
* @param string|null $title Human-readable resource title
* @param string|null $length Resource length in octets
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($href = null, $rel = null, $type = null,
$hrefLang = null, $title = null, $length = null)
{
$this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
parent::__construct($href, $rel, $type, $hrefLang, $title, $length);
}
}
Books/Extension/ThumbnailLink.php 0000604 00000003630 15071215232 0013043 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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_Books_Extension_BooksLink
*/
require_once 'Zend/Gdata/Books/Extension/BooksLink.php';
/**
* Describes a thumbnail link
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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_Books_Extension_ThumbnailLink extends
Zend_Gdata_Books_Extension_BooksLink
{
/**
* Constructor for Zend_Gdata_Books_Extension_ThumbnailLink which
* Describes a thumbnail link
*
* @param string|null $href Linked resource URI
* @param string|null $rel Forward relationship
* @param string|null $type Resource MIME type
* @param string|null $hrefLang Resource language
* @param string|null $title Human-readable resource title
* @param string|null $length Resource length in octets
*/
public function __construct($href = null, $rel = null, $type = null,
$hrefLang = null, $title = null, $length = null)
{
$this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
parent::__construct($href, $rel, $type, $hrefLang, $title, $length);
}
}
Books/Extension/BooksLink.php 0000604 00000003647 15071215232 0012205 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc.
* (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_App_Extension_Link
*/
require_once 'Zend/Gdata/App/Extension/Link.php';
/**
* Extends the base Link class with Books extensions
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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_Books_Extension_BooksLink extends Zend_Gdata_App_Extension_Link
{
/**
* Constructor for Zend_Gdata_Books_Extension_BooksLink which
* Extends the base Link class with Books extensions
*
* @param string|null $href Linked resource URI
* @param string|null $rel Forward relationship
* @param string|null $type Resource MIME type
* @param string|null $hrefLang Resource language
* @param string|null $title Human-readable resource title
* @param string|null $length Resource length in octets
*/
public function __construct($href = null, $rel = null, $type = null,
$hrefLang = null, $title = null, $length = null)
{
$this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
parent::__construct($href, $rel, $type, $hrefLang, $title, $length);
}
}
Books/Extension/InfoLink.php 0000604 00000003606 15071215232 0012016 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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_Books_Extension_BooksLink
*/
require_once 'Zend/Gdata/Books/Extension/BooksLink.php';
/**
* Describes an info link
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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_Books_Extension_InfoLink extends
Zend_Gdata_Books_Extension_BooksLink
{
/**
* Constructor for Zend_Gdata_Books_Extension_InfoLink which
* Describes an info link
*
* @param string|null $href Linked resource URI
* @param string|null $rel Forward relationship
* @param string|null $type Resource MIME type
* @param string|null $hrefLang Resource language
* @param string|null $title Human-readable resource title
* @param string|null $length Resource length in octets
*/
public function __construct($href = null, $rel = null, $type = null,
$hrefLang = null, $title = null, $length = null)
{
$this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
parent::__construct($href, $rel, $type, $hrefLang, $title, $length);
}
}
Books/Extension/Review.php 0000604 00000010316 15071215232 0011542 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc.
* (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* User-provided review
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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_Books_Extension_Review extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gbs';
protected $_rootElement = 'review';
protected $_lang = null;
protected $_type = null;
/**
* Constructor for Zend_Gdata_Books_Extension_Review which
* User-provided review
*
* @param string|null $lang Review language.
* @param string|null $type Type of text construct (typically text, html,
* or xhtml).
* @param string|null $value Text content of the review.
*/
public function __construct($lang = null, $type = null, $value = null)
{
$this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
parent::__construct();
$this->_lang = $lang;
$this->_type = $type;
$this->_text = $value;
}
/**
* Retrieves DOMElement which corresponds to this element and all
* child properties. This is used to build this object back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistance.
*
* @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);
if ($this->_lang !== null) {
$element->setAttribute('lang', $this->_lang);
}
if ($this->_type !== null) {
$element->setAttribute('type', $this->_type);
}
return $element;
}
/**
* Extracts XML attributes from the DOM and converts them to the
* appropriate object members.
*
* @param DOMNode $attribute The DOMNode attribute to be handled.
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'lang':
$this->_lang = $attribute->nodeValue;
break;
case 'type':
$this->_type = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Returns the language of link title
*
* @return string The lang
*/
public function getLang()
{
return $this->_lang;
}
/**
* Returns the type of text construct (typically 'text', 'html' or 'xhtml')
*
* @return string The type
*/
public function getType()
{
return $this->_type;
}
/**
* Sets the language of link title
*
* @param string $lang language of link title
* @return Zend_Gdata_Books_Extension_Review Provides a fluent interface
*/
public function setLang($lang)
{
$this->_lang = $lang;
return $this;
}
/**
* Sets the type of text construct (typically 'text', 'html' or 'xhtml')
*
* @param string $type type of text construct (typically 'text', 'html' or 'xhtml')
* @return Zend_Gdata_Books_Extension_Review Provides a fluent interface
*/
public function setType($type)
{
$this->_type = $type;
return $this;
}
}
Books/Extension/Embeddability.php 0000604 00000007026 15071215232 0013043 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc.
* (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* Describes an embeddability
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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_Books_Extension_Embeddability extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gbs';
protected $_rootElement = 'embeddability';
protected $_value = null;
/**
* Constructor for Zend_Gdata_Books_Extension_Embeddability which
* Describes an embeddability.
*
* @param string|null $value A programmatic value representing the book's
* embeddability.
*/
public function __construct($value = null)
{
$this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
parent::__construct();
$this->_value = $value;
}
/**
* Retrieves DOMElement which corresponds to this element and all
* child properties. This is used to build this object back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistance.
*
* @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);
if ($this->_value !== null) {
$element->setAttribute('value', $this->_value);
}
return $element;
}
/**
* Extracts XML attributes from the DOM and converts them to the
* appropriate object members.
*
* @param DOMNode $attribute The DOMNode attribute to be handled.
*/
protected function takeAttributeFromDOM($attribute)
{
switch ($attribute->localName) {
case 'value':
$this->_value = $attribute->nodeValue;
break;
default:
parent::takeAttributeFromDOM($attribute);
}
}
/**
* Returns the programmatic value that describes the embeddability of a
* volume in Google Book Search
*
* @return string|null The value
*/
public function getValue()
{
return $this->_value;
}
/**
* Sets the programmatic value that describes the embeddability of a
* volume in Google Book Search
*
* @param string|null $value Programmatic value that describes the
* embeddability of a volume in Google Book Search
* @return Zend_Gdata_Books_Extension_Embeddability Provides a fluent
* interface
*/
public function setValue($value)
{
$this->_value = $value;
return $this;
}
}
Books/VolumeEntry.php 0000604 00000045563 15071215232 0010632 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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_Comments
*/
require_once 'Zend/Gdata/Extension/Comments.php';
/**
* @see Zend_Gdata_DublinCore_Extension_Creator
*/
require_once 'Zend/Gdata/DublinCore/Extension/Creator.php';
/**
* @see Zend_Gdata_DublinCore_Extension_Date
*/
require_once 'Zend/Gdata/DublinCore/Extension/Date.php';
/**
* @see Zend_Gdata_DublinCore_Extension_Description
*/
require_once 'Zend/Gdata/DublinCore/Extension/Description.php';
/**
* @see Zend_Gdata_Books_Extension_Embeddability
*/
require_once 'Zend/Gdata/Books/Extension/Embeddability.php';
/**
* @see Zend_Gdata_DublinCore_Extension_Format
*/
require_once 'Zend/Gdata/DublinCore/Extension/Format.php';
/**
* @see Zend_Gdata_DublinCore_Extension_Identifier
*/
require_once 'Zend/Gdata/DublinCore/Extension/Identifier.php';
/**
* @see Zend_Gdata_DublinCore_Extension_Language
*/
require_once 'Zend/Gdata/DublinCore/Extension/Language.php';
/**
* @see Zend_Gdata_DublinCore_Extension_Publisher
*/
require_once 'Zend/Gdata/DublinCore/Extension/Publisher.php';
/**
* @see Zend_Gdata_Extension_Rating
*/
require_once 'Zend/Gdata/Extension/Rating.php';
/**
* @see Zend_Gdata_Books_Extension_Review
*/
require_once 'Zend/Gdata/Books/Extension/Review.php';
/**
* @see Zend_Gdata_DublinCore_Extension_Subject
*/
require_once 'Zend/Gdata/DublinCore/Extension/Subject.php';
/**
* @see Zend_Gdata_DublinCore_Extension_Title
*/
require_once 'Zend/Gdata/DublinCore/Extension/Title.php';
/**
* @see Zend_Gdata_Books_Extension_Viewability
*/
require_once 'Zend/Gdata/Books/Extension/Viewability.php';
/**
* Describes an entry in a feed of Book Search volumes
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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_Books_VolumeEntry extends Zend_Gdata_Entry
{
const THUMBNAIL_LINK_REL = 'http://schemas.google.com/books/2008/thumbnail';
const PREVIEW_LINK_REL = 'http://schemas.google.com/books/2008/preview';
const INFO_LINK_REL = 'http://schemas.google.com/books/2008/info';
const ANNOTATION_LINK_REL = 'http://schemas.google.com/books/2008/annotation';
protected $_comments = null;
protected $_creators = array();
protected $_dates = array();
protected $_descriptions = array();
protected $_embeddability = null;
protected $_formats = array();
protected $_identifiers = array();
protected $_languages = array();
protected $_publishers = array();
protected $_rating = null;
protected $_review = null;
protected $_subjects = array();
protected $_titles = array();
protected $_viewability = null;
/**
* Constructor for Zend_Gdata_Books_VolumeEntry which
* Describes an entry in a feed of Book Search volumes
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
parent::__construct($element);
}
/**
* Retrieves DOMElement which corresponds to this element and all
* child properties. This is used to build this object back into a DOM
* and eventually XML text for sending to the server upon updates, or
* for application storage/persistance.
*
* @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);
if ($this->_creators !== null) {
foreach ($this->_creators as $creators) {
$element->appendChild($creators->getDOM(
$element->ownerDocument));
}
}
if ($this->_dates !== null) {
foreach ($this->_dates as $dates) {
$element->appendChild($dates->getDOM($element->ownerDocument));
}
}
if ($this->_descriptions !== null) {
foreach ($this->_descriptions as $descriptions) {
$element->appendChild($descriptions->getDOM(
$element->ownerDocument));
}
}
if ($this->_formats !== null) {
foreach ($this->_formats as $formats) {
$element->appendChild($formats->getDOM(
$element->ownerDocument));
}
}
if ($this->_identifiers !== null) {
foreach ($this->_identifiers as $identifiers) {
$element->appendChild($identifiers->getDOM(
$element->ownerDocument));
}
}
if ($this->_languages !== null) {
foreach ($this->_languages as $languages) {
$element->appendChild($languages->getDOM(
$element->ownerDocument));
}
}
if ($this->_publishers !== null) {
foreach ($this->_publishers as $publishers) {
$element->appendChild($publishers->getDOM(
$element->ownerDocument));
}
}
if ($this->_subjects !== null) {
foreach ($this->_subjects as $subjects) {
$element->appendChild($subjects->getDOM(
$element->ownerDocument));
}
}
if ($this->_titles !== null) {
foreach ($this->_titles as $titles) {
$element->appendChild($titles->getDOM($element->ownerDocument));
}
}
if ($this->_comments !== null) {
$element->appendChild($this->_comments->getDOM(
$element->ownerDocument));
}
if ($this->_embeddability !== null) {
$element->appendChild($this->_embeddability->getDOM(
$element->ownerDocument));
}
if ($this->_rating !== null) {
$element->appendChild($this->_rating->getDOM(
$element->ownerDocument));
}
if ($this->_review !== null) {
$element->appendChild($this->_review->getDOM(
$element->ownerDocument));
}
if ($this->_viewability !== null) {
$element->appendChild($this->_viewability->getDOM(
$element->ownerDocument));
}
return $element;
}
/**
* Creates individual objects of the appropriate type and stores
* them in this object 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('dc') . ':' . 'creator':
$creators = new Zend_Gdata_DublinCore_Extension_Creator();
$creators->transferFromDOM($child);
$this->_creators[] = $creators;
break;
case $this->lookupNamespace('dc') . ':' . 'date':
$dates = new Zend_Gdata_DublinCore_Extension_Date();
$dates->transferFromDOM($child);
$this->_dates[] = $dates;
break;
case $this->lookupNamespace('dc') . ':' . 'description':
$descriptions = new Zend_Gdata_DublinCore_Extension_Description();
$descriptions->transferFromDOM($child);
$this->_descriptions[] = $descriptions;
break;
case $this->lookupNamespace('dc') . ':' . 'format':
$formats = new Zend_Gdata_DublinCore_Extension_Format();
$formats->transferFromDOM($child);
$this->_formats[] = $formats;
break;
case $this->lookupNamespace('dc') . ':' . 'identifier':
$identifiers = new Zend_Gdata_DublinCore_Extension_Identifier();
$identifiers->transferFromDOM($child);
$this->_identifiers[] = $identifiers;
break;
case $this->lookupNamespace('dc') . ':' . 'language':
$languages = new Zend_Gdata_DublinCore_Extension_Language();
$languages->transferFromDOM($child);
$this->_languages[] = $languages;
break;
case $this->lookupNamespace('dc') . ':' . 'publisher':
$publishers = new Zend_Gdata_DublinCore_Extension_Publisher();
$publishers->transferFromDOM($child);
$this->_publishers[] = $publishers;
break;
case $this->lookupNamespace('dc') . ':' . 'subject':
$subjects = new Zend_Gdata_DublinCore_Extension_Subject();
$subjects->transferFromDOM($child);
$this->_subjects[] = $subjects;
break;
case $this->lookupNamespace('dc') . ':' . 'title':
$titles = new Zend_Gdata_DublinCore_Extension_Title();
$titles->transferFromDOM($child);
$this->_titles[] = $titles;
break;
case $this->lookupNamespace('gd') . ':' . 'comments':
$comments = new Zend_Gdata_Extension_Comments();
$comments->transferFromDOM($child);
$this->_comments = $comments;
break;
case $this->lookupNamespace('gbs') . ':' . 'embeddability':
$embeddability = new Zend_Gdata_Books_Extension_Embeddability();
$embeddability->transferFromDOM($child);
$this->_embeddability = $embeddability;
break;
case $this->lookupNamespace('gd') . ':' . 'rating':
$rating = new Zend_Gdata_Extension_Rating();
$rating->transferFromDOM($child);
$this->_rating = $rating;
break;
case $this->lookupNamespace('gbs') . ':' . 'review':
$review = new Zend_Gdata_Books_Extension_Review();
$review->transferFromDOM($child);
$this->_review = $review;
break;
case $this->lookupNamespace('gbs') . ':' . 'viewability':
$viewability = new Zend_Gdata_Books_Extension_Viewability();
$viewability->transferFromDOM($child);
$this->_viewability = $viewability;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Returns the Comments class
*
* @return Zend_Gdata_Extension_Comments|null The comments
*/
public function getComments()
{
return $this->_comments;
}
/**
* Returns the creators
*
* @return array The creators
*/
public function getCreators()
{
return $this->_creators;
}
/**
* Returns the dates
*
* @return array The dates
*/
public function getDates()
{
return $this->_dates;
}
/**
* Returns the descriptions
*
* @return array The descriptions
*/
public function getDescriptions()
{
return $this->_descriptions;
}
/**
* Returns the embeddability
*
* @return Zend_Gdata_Books_Extension_Embeddability|null The embeddability
*/
public function getEmbeddability()
{
return $this->_embeddability;
}
/**
* Returns the formats
*
* @return array The formats
*/
public function getFormats()
{
return $this->_formats;
}
/**
* Returns the identifiers
*
* @return array The identifiers
*/
public function getIdentifiers()
{
return $this->_identifiers;
}
/**
* Returns the languages
*
* @return array The languages
*/
public function getLanguages()
{
return $this->_languages;
}
/**
* Returns the publishers
*
* @return array The publishers
*/
public function getPublishers()
{
return $this->_publishers;
}
/**
* Returns the rating
*
* @return Zend_Gdata_Extension_Rating|null The rating
*/
public function getRating()
{
return $this->_rating;
}
/**
* Returns the review
*
* @return Zend_Gdata_Books_Extension_Review|null The review
*/
public function getReview()
{
return $this->_review;
}
/**
* Returns the subjects
*
* @return array The subjects
*/
public function getSubjects()
{
return $this->_subjects;
}
/**
* Returns the titles
*
* @return array The titles
*/
public function getTitles()
{
return $this->_titles;
}
/**
* Returns the viewability
*
* @return Zend_Gdata_Books_Extension_Viewability|null The viewability
*/
public function getViewability()
{
return $this->_viewability;
}
/**
* Sets the Comments class
*
* @param Zend_Gdata_Extension_Comments|null $comments Comments class
* @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
*/
public function setComments($comments)
{
$this->_comments = $comments;
return $this;
}
/**
* Sets the creators
*
* @param array $creators Creators|null
* @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
*/
public function setCreators($creators)
{
$this->_creators = $creators;
return $this;
}
/**
* Sets the dates
*
* @param array $dates dates
* @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
*/
public function setDates($dates)
{
$this->_dates = $dates;
return $this;
}
/**
* Sets the descriptions
*
* @param array $descriptions descriptions
* @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
*/
public function setDescriptions($descriptions)
{
$this->_descriptions = $descriptions;
return $this;
}
/**
* Sets the embeddability
*
* @param Zend_Gdata_Books_Extension_Embeddability|null $embeddability
* embeddability
* @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
*/
public function setEmbeddability($embeddability)
{
$this->_embeddability = $embeddability;
return $this;
}
/**
* Sets the formats
*
* @param array $formats formats
* @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
*/
public function setFormats($formats)
{
$this->_formats = $formats;
return $this;
}
/**
* Sets the identifiers
*
* @param array $identifiers identifiers
* @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
*/
public function setIdentifiers($identifiers)
{
$this->_identifiers = $identifiers;
return $this;
}
/**
* Sets the languages
*
* @param array $languages languages
* @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
*/
public function setLanguages($languages)
{
$this->_languages = $languages;
return $this;
}
/**
* Sets the publishers
*
* @param array $publishers publishers
* @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
*/
public function setPublishers($publishers)
{
$this->_publishers = $publishers;
return $this;
}
/**
* Sets the rating
*
* @param Zend_Gdata_Extension_Rating|null $rating rating
* @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
*/
public function setRating($rating)
{
$this->_rating = $rating;
return $this;
}
/**
* Sets the review
*
* @param Zend_Gdata_Books_Extension_Review|null $review review
* @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
*/
public function setReview($review)
{
$this->_review = $review;
return $this;
}
/**
* Sets the subjects
*
* @param array $subjects subjects
* @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
*/
public function setSubjects($subjects)
{
$this->_subjects = $subjects;
return $this;
}
/**
* Sets the titles
*
* @param array $titles titles
* @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
*/
public function setTitles($titles)
{
$this->_titles = $titles;
return $this;
}
/**
* Sets the viewability
*
* @param Zend_Gdata_Books_Extension_Viewability|null $viewability
* viewability
* @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
*/
public function setViewability($viewability)
{
$this->_viewability = $viewability;
return $this;
}
/**
* Gets the volume ID based upon the atom:id value
*
* @return string The volume ID
* @throws Zend_Gdata_App_Exception
*/
public function getVolumeId()
{
$fullId = $this->getId()->getText();
$position = strrpos($fullId, '/');
if ($position === false) {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('Slash not found in atom:id');
} else {
return substr($fullId, strrpos($fullId,'/') + 1);
}
}
/**
* Gets the thumbnail link
*
* @return Zend_Gdata_App_Extension_link|null The thumbnail link
*/
public function getThumbnailLink()
{
return $this->getLink(self::THUMBNAIL_LINK_REL);
}
/**
* Gets the preview link
*
* @return Zend_Gdata_App_Extension_Link|null The preview link
*/
public function getPreviewLink()
{
return $this->getLink(self::PREVIEW_LINK_REL);
}
/**
* Gets the info link
*
* @return Zend_Gdata_App_Extension_Link|null The info link
*/
public function getInfoLink()
{
return $this->getLink(self::INFO_LINK_REL);
}
/**
* Gets the annotations link
*
* @return Zend_Gdata_App_Extension_Link|null The annotations link
*/
public function getAnnotationLink()
{
return $this->getLink(self::ANNOTATION_LINK_REL);
}
}
Books/CollectionFeed.php 0000604 00000003260 15071215232 0011204 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc.
* (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* Describes a Book Search collection feed
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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_Books_CollectionFeed extends Zend_Gdata_Feed
{
/**
* Constructor for Zend_Gdata_Books_CollectionFeed which
* Describes a Book Search collection feed
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
parent::__construct($element);
}
/**
* The classname for individual feed elements.
*
* @var string
*/
protected $_entryClassName = 'Zend_Gdata_Books_CollectionEntry';
}
Books/CollectionEntry.php 0000604 00000003033 15071215232 0011440 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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';
/**
* Describes an entry in a feed of collections
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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_Books_CollectionEntry extends Zend_Gdata_Entry
{
/**
* Constructor for Zend_Gdata_Books_CollectionEntry which
* Describes an entry in a feed of collections
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
parent::__construct($element);
}
}
Books.php 0000604 00000014114 15071215232 0006325 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
require_once 'Zend/Gdata.php';
/**
* @see Zend_Gdata_DublinCore
*/
require_once 'Zend/Gdata/DublinCore.php';
/**
* @see Zend_Gdata_Books_CollectionEntry
*/
require_once 'Zend/Gdata/Books/CollectionEntry.php';
/**
* @see Zend_Gdata_Books_CollectionFeed
*/
require_once 'Zend/Gdata/Books/CollectionFeed.php';
/**
* @see Zend_Gdata_Books_VolumeEntry
*/
require_once 'Zend/Gdata/Books/VolumeEntry.php';
/**
* @see Zend_Gdata_Books_VolumeFeed
*/
require_once 'Zend/Gdata/Books/VolumeFeed.php';
/**
* Service class for interacting with the Books service
*
* @category Zend
* @package Zend_Gdata
* @subpackage Books
* @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_Books extends Zend_Gdata
{
const VOLUME_FEED_URI = 'http://books.google.com/books/feeds/volumes';
const MY_LIBRARY_FEED_URI = 'http://books.google.com/books/feeds/users/me/collections/library/volumes';
const MY_ANNOTATION_FEED_URI = 'http://books.google.com/books/feeds/users/me/volumes';
const AUTH_SERVICE_NAME = 'print';
/**
* Namespaces used for Zend_Gdata_Books
*
* @var array
*/
public static $namespaces = array(
array('gbs', 'http://schemas.google.com/books/2008', 1, 0),
array('dc', 'http://purl.org/dc/terms', 1, 0)
);
/**
* Create Zend_Gdata_Books object
*
* @param Zend_Http_Client $client (optional) The HTTP client to use when
* when communicating with the Google servers.
* @param string $applicationId The identity of the app in the form of Company-AppName-Version
*/
public function __construct($client = null, $applicationId = 'MyCompany-MyApp-1.0')
{
$this->registerPackage('Zend_Gdata_Books');
$this->registerPackage('Zend_Gdata_Books_Extension');
parent::__construct($client, $applicationId);
$this->_httpClient->setParameterPost('service', self::AUTH_SERVICE_NAME);
}
/**
* Retrieves a feed of volumes.
*
* @param Zend_Gdata_Query|string|null $location (optional) The URL to
* query or a Zend_Gdata_Query object from which a URL can be
* determined.
* @return Zend_Gdata_Books_VolumeFeed The feed of volumes found at the
* specified URL.
*/
public function getVolumeFeed($location = null)
{
if ($location == null) {
$uri = self::VOLUME_FEED_URI;
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_Books_VolumeFeed');
}
/**
* Retrieves a specific volume entry.
*
* @param string|null $volumeId The volumeId of interest.
* @param Zend_Gdata_Query|string|null $location (optional) The URL to
* query or a Zend_Gdata_Query object from which a URL can be
* determined.
* @return Zend_Gdata_Books_VolumeEntry The feed of volumes found at the
* specified URL.
*/
public function getVolumeEntry($volumeId = null, $location = null)
{
if ($volumeId !== null) {
$uri = self::VOLUME_FEED_URI . "/" . $volumeId;
} else if ($location instanceof Zend_Gdata_Query) {
$uri = $location->getQueryUrl();
} else {
$uri = $location;
}
return parent::getEntry($uri, 'Zend_Gdata_Books_VolumeEntry');
}
/**
* Retrieves a feed of volumes, by default the User library feed.
*
* @param Zend_Gdata_Query|string|null $location (optional) The URL to
* query.
* @return Zend_Gdata_Books_VolumeFeed The feed of volumes found at the
* specified URL.
*/
public function getUserLibraryFeed($location = null)
{
if ($location == null) {
$uri = self::MY_LIBRARY_FEED_URI;
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_Books_VolumeFeed');
}
/**
* Retrieves a feed of volumes, by default the User annotation feed
*
* @param Zend_Gdata_Query|string|null $location (optional) The URL to
* query.
* @return Zend_Gdata_Books_VolumeFeed The feed of volumes found at the
* specified URL.
*/
public function getUserAnnotationFeed($location = null)
{
if ($location == null) {
$uri = self::MY_ANNOTATION_FEED_URI;
} else {
$uri = $location;
}
return parent::getFeed($uri, 'Zend_Gdata_Books_VolumeFeed');
}
/**
* Insert a Volume / Annotation
*
* @param Zend_Gdata_Books_VolumeEntry $entry
* @param Zend_Gdata_Query|string|null $location (optional) The URL to
* query
* @return Zend_Gdata_Books_VolumeEntry The inserted volume entry.
*/
public function insertVolume($entry, $location = null)
{
if ($location == null) {
$uri = self::MY_LIBRARY_FEED_URI;
} else {
$uri = $location;
}
return parent::insertEntry(
$entry, $uri, 'Zend_Gdata_Books_VolumeEntry');
}
/**
* Delete a Volume
*
* @param Zend_Gdata_Books_VolumeEntry $entry
* @return void
*/
public function deleteVolume($entry)
{
$entry->delete();
}
}
Photos/UserQuery.php 0000604 00000023466 15071215232 0010502 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Gapps_Query
*/
require_once('Zend/Gdata/Gapps/Query.php');
/**
* Assists in constructing queries for user entries.
* Instances of this class can be provided in many places where a URL is
* required.
*
* For information on submitting queries to a server, see the
* service class, Zend_Gdata_Photos.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_UserQuery extends Zend_Gdata_Query
{
/**
* Indicates the format of data returned in Atom feeds. Can be either
* 'api' or 'base'. Default value is 'api'.
*
* @var string
*/
protected $_projection = 'api';
/**
* Indicates whether to request a feed or entry in queries. Default
* value is 'feed';
*
* @var string
*/
protected $_type = 'feed';
/**
* A string which, if not null, indicates which user should
* be retrieved by this query. If null, the default user will be used
* instead.
*
* @var string
*/
protected $_user = Zend_Gdata_Photos::DEFAULT_USER;
/**
* Create a new Query object with default values.
*/
public function __construct()
{
parent::__construct();
}
/**
* Set's the format of data returned in Atom feeds. Can be either
* 'api' or 'base'. Normally, 'api' will be desired. Default is 'api'.
*
* @param string $value
* @return Zend_Gdata_Photos_UserQuery Provides a fluent interface
*/
public function setProjection($value)
{
$this->_projection = $value;
return $this;
}
/**
* Gets the format of data in returned in Atom feeds.
*
* @see setProjection
* @return string projection
*/
public function getProjection()
{
return $this->_projection;
}
/**
* Set's the type of data returned in queries. Can be either
* 'feed' or 'entry'. Normally, 'feed' will be desired. Default is 'feed'.
*
* @param string $value
* @return Zend_Gdata_Photos_UserQuery Provides a fluent interface
*/
public function setType($value)
{
$this->_type = $value;
return $this;
}
/**
* Gets the type of data in returned in queries.
*
* @see setType
* @return string type
*/
public function getType()
{
return $this->_type;
}
/**
* Set the user to query for. When set, this user's feed will be
* returned. If not set or null, the default user's feed will be returned
* instead.
*
* @param string $value The user to retrieve, or null for the default
* user.
*/
public function setUser($value)
{
if ($value !== null) {
$this->_user = $value;
} else {
$this->_user = Zend_Gdata_Photos::DEFAULT_USER;
}
}
/**
* Get the user which is to be returned.
*
* @see setUser
* @return string The visibility to retrieve.
*/
public function getUser()
{
return $this->_user;
}
/**
* Set the visibility filter for entries returned. Only entries which
* match this value will be returned. If null or unset, the default
* value will be used instead.
*
* Valid values are 'all' (default), 'public', and 'private'.
*
* @param string $value The visibility to filter by, or null to use the
* default value.
*/
public function setAccess($value)
{
if ($value !== null) {
$this->_params['access'] = $value;
} else {
unset($this->_params['access']);
}
}
/**
* Get the visibility filter for entries returned.
*
* @see setAccess
* @return string The visibility to filter by, or null for the default
* user.
*/
public function getAccess()
{
return $this->_params['access'];
}
/**
* Set the tag for entries that are returned. Only entries which
* match this value will be returned. If null or unset, this filter will
* not be applied.
*
* See http://code.google.com/apis/picasaweb/reference.html#Parameters
* for a list of valid values.
*
* @param string $value The tag to filter by, or null if no
* filter is to be applied.
*/
public function setTag($value)
{
if ($value !== null) {
$this->_params['tag'] = $value;
} else {
unset($this->_params['tag']);
}
}
/**
* Get the tag filter for entries returned.
*
* @see setTag
* @return string The tag to filter by, or null if no filter
* is to be applied.
*/
public function getTag()
{
return $this->_params['tag'];
}
/**
* Set the kind of entries that are returned. Only entries which
* match this value will be returned. If null or unset, this filter will
* not be applied.
*
* See http://code.google.com/apis/picasaweb/reference.html#Parameters
* for a list of valid values.
*
* @param string $value The kind to filter by, or null if no
* filter is to be applied.
*/
public function setKind($value)
{
if ($value !== null) {
$this->_params['kind'] = $value;
} else {
unset($this->_params['kind']);
}
}
/**
* Get the kind of entries to be returned.
*
* @see setKind
* @return string The kind to filter by, or null if no filter
* is to be applied.
*/
public function getKind()
{
return $this->_params['kind'];
}
/**
* Set the maximum image size for entries returned. Only entries which
* match this value will be returned. If null or unset, this filter will
* not be applied.
*
* See http://code.google.com/apis/picasaweb/reference.html#Parameters
* for a list of valid values.
*
* @param string $value The image size to filter by, or null if no
* filter is to be applied.
*/
public function setImgMax($value)
{
if ($value !== null) {
$this->_params['imgmax'] = $value;
} else {
unset($this->_params['imgmax']);
}
}
/**
* Get the maximum image size filter for entries returned.
*
* @see setImgMax
* @return string The image size size to filter by, or null if no filter
* is to be applied.
*/
public function getImgMax()
{
return $this->_params['imgmax'];
}
/**
* Set the thumbnail size filter for entries returned. Only entries which
* match this value will be returned. If null or unset, this filter will
* not be applied.
*
* See http://code.google.com/apis/picasaweb/reference.html#Parameters
* for a list of valid values.
*
* @param string $value The thumbnail size to filter by, or null if no
* filter is to be applied.
*/
public function setThumbsize($value)
{
if ($value !== null) {
$this->_params['thumbsize'] = $value;
} else {
unset($this->_params['thumbsize']);
}
}
/**
* Get the thumbnail size filter for entries returned.
*
* @see setThumbsize
* @return string The thumbnail size to filter by, or null if no filter
* is to be applied.
*/
public function getThumbsize()
{
return $this->_params['thumbsize'];
}
/**
* Returns the URL generated for this query, based on it's current
* parameters.
*
* @return string A URL generated based on the state of this query.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function getQueryUrl($incomingUri = null)
{
$uri = Zend_Gdata_Photos::PICASA_BASE_URI;
if ($this->getType() !== null) {
$uri .= '/' . $this->getType();
} else {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Type must be feed or entry, not null');
}
if ($this->getProjection() !== null) {
$uri .= '/' . $this->getProjection();
} else {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'Projection must not be null');
}
if ($this->getUser() !== null) {
$uri .= '/user/' . $this->getUser();
} else {
// Should never occur due to setter behavior
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'User must not be null');
}
$uri .= $incomingUri;
$uri .= $this->getQueryString();
return $uri;
}
}
Photos/AlbumQuery.php 0000604 00000010772 15071215232 0010620 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_UserQuery
*/
require_once('Zend/Gdata/Photos/UserQuery.php');
/**
* Assists in constructing album queries for various entries.
* Instances of this class can be provided in many places where a URL is
* required.
*
* For information on submitting queries to a server, see the service
* class, Zend_Gdata_Photos.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_AlbumQuery extends Zend_Gdata_Photos_UserQuery
{
/**
* The name of the album to query for. Mutually exclusive with AlbumId.
*
* @var string
*/
protected $_albumName = null;
/**
* The ID of the album to query for. Mutually exclusive with AlbumName.
*
* @var string
*/
protected $_albumId = null;
/**
* Set the album name to query for. When set, this album's photographs
* be returned. If not set or null, the default user's feed will be
* returned instead.
*
* NOTE: AlbumName and AlbumId are mutually exclusive. Setting one will
* automatically set the other to null.
*
* @param string $value The name of the album to retrieve, or null to
* clear.
* @return Zend_Gdata_Photos_AlbumQuery The query object.
*/
public function setAlbumName($value)
{
$this->_albumId = null;
$this->_albumName = $value;
return $this;
}
/**
* Get the album name which is to be returned.
*
* @see setAlbumName
* @return string The name of the album to retrieve.
*/
public function getAlbumName()
{
return $this->_albumName;
}
/**
* Set the album ID to query for. When set, this album's photographs
* be returned. If not set or null, the default user's feed will be
* returned instead.
*
* NOTE: Album and AlbumId are mutually exclusive. Setting one will
* automatically set the other to null.
*
* @param string $value The ID of the album to retrieve, or null to
* clear.
* @return Zend_Gdata_Photos_AlbumQuery The query object.
*/
public function setAlbumId($value)
{
$this->_albumName = null;
$this->_albumId = $value;
return $this;
}
/**
* Get the album ID which is to be returned.
*
* @see setAlbum
* @return string The ID of the album to retrieve.
*/
public function getAlbumId()
{
return $this->_albumId;
}
/**
* Returns the URL generated for this query, based on it's current
* parameters.
*
* @return string A URL generated based on the state of this query.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function getQueryUrl($incomingUri = '')
{
$uri = '';
if ($this->getAlbumName() !== null && $this->getAlbumId() === null) {
$uri .= '/album/' . $this->getAlbumName();
} elseif ($this->getAlbumName() === null && $this->getAlbumId() !== null) {
$uri .= '/albumid/' . $this->getAlbumId();
} elseif ($this->getAlbumName() !== null && $this->getAlbumId() !== null) {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'AlbumName and AlbumId cannot both be non-null');
} else {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'AlbumName and AlbumId cannot both be null');
}
$uri .= $incomingUri;
return parent::getQueryUrl($uri);
}
}
Photos/CommentEntry.php 0000604 00000013364 15071215232 0011156 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_Id
*/
require_once 'Zend/Gdata/Photos/Extension/Id.php';
/**
* @see Zend_Gdata_Photos_Extension_PhotoId
*/
require_once 'Zend/Gdata/Photos/Extension/PhotoId.php';
/**
* @see Zend_Gdata_Photos_Extension_Weight
*/
require_once 'Zend/Gdata/Photos/Extension/Weight.php';
/**
* @see Zend_Gdata_App_Extension_Category
*/
require_once 'Zend/Gdata/App/Extension/Category.php';
/**
* Data model class for a Comment Entry.
*
* To transfer user entries to and from the servers, including
* creating new entries, refer to the service class,
* Zend_Gdata_Photos.
*
* This class represents <atom:entry> in the Google Data protocol.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_CommentEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_Photos_CommentEntry';
/**
* gphoto:id element
*
* @var Zend_Gdata_Photos_Extension_Id
*/
protected $_gphotoId = null;
/**
* gphoto:photoid element, differs from gphoto:id as this is an
* actual identification number unique exclusively to photo entries,
* whereas gphoto:id can refer to all gphoto objects
*
* @var Zend_Gdata_Photos_Extension_PhotoId
*/
protected $_gphotoPhotoId = null;
/**
* Create a new instance.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct($element);
$category = new Zend_Gdata_App_Extension_Category(
'http://schemas.google.com/photos/2007#comment',
'http://schemas.google.com/g/2005#kind');
$this->setCategory(array($category));
}
/**
* 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->_gphotoId !== null) {
$element->appendChild($this->_gphotoId->getDOM($element->ownerDocument));
}
if ($this->_gphotoPhotoId !== null) {
$element->appendChild($this->_gphotoPhotoId->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('gphoto') . ':' . 'id';
$id = new Zend_Gdata_Photos_Extension_Id();
$id->transferFromDOM($child);
$this->_gphotoId = $id;
break;
case $this->lookupNamespace('gphoto') . ':' . 'photoid';
$photoid = new Zend_Gdata_Photos_Extension_PhotoId();
$photoid->transferFromDOM($child);
$this->_gphotoPhotoId = $photoid;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Get the value for this element's gphoto:photoid attribute.
*
* @see setGphotoPhotoId
* @return string The requested attribute.
*/
public function getGphotoPhotoId()
{
return $this->_gphotoPhotoId;
}
/**
* Set the value for this element's gphoto:photoid attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_PhotoId The element being modified.
*/
public function setGphotoPhotoId($value)
{
$this->_gphotoPhotoId = $value;
return $this;
}
/**
* Get the value for this element's gphoto:id attribute.
*
* @see setGphotoId
* @return string The requested attribute.
*/
public function getGphotoId()
{
return $this->_gphotoId;
}
/**
* Set the value for this element's gphoto:id attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Id The element being modified.
*/
public function setGphotoId($value)
{
$this->_gphotoId = $value;
return $this;
}
}
Photos/TagEntry.php 0000604 00000010316 15071215232 0010261 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_Weight
*/
require_once 'Zend/Gdata/Photos/Extension/Weight.php';
/**
* @see Zend_Gdata_App_Extension_Category
*/
require_once 'Zend/Gdata/App/Extension/Category.php';
/**
* Data model class for a Tag Entry.
*
* To transfer user entries to and from the servers, including
* creating new entries, refer to the service class,
* Zend_Gdata_Photos.
*
* This class represents <atom:entry> in the Google Data protocol.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_TagEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_Photos_TagEntry';
protected $_gphotoWeight = null;
/**
* Create a new instance.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct($element);
$category = new Zend_Gdata_App_Extension_Category(
'http://schemas.google.com/photos/2007#tag',
'http://schemas.google.com/g/2005#kind');
$this->setCategory(array($category));
}
/**
* 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->_gphotoWeight !== null) {
$element->appendChild($this->_gphotoWeight->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('gphoto') . ':' . 'weight';
$weight = new Zend_Gdata_Photos_Extension_Weight();
$weight->transferFromDOM($child);
$this->_gphotoWeight = $weight;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Get the value for this element's gphoto:weight attribute.
*
* @see setGphotoWeight
* @return string The requested attribute.
*/
public function getGphotoWeight()
{
return $this->_gphotoWeight;
}
/**
* Set the value for this element's gphoto:weight attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Weight The element being modified.
*/
public function setGphotoWeight($value)
{
$this->_gphotoWeight = $value;
return $this;
}
}
Photos/AlbumEntry.php 0000604 00000043576 15071215232 0010624 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_Access
*/
require_once 'Zend/Gdata/Photos/Extension/Access.php';
/**
* @see Zend_Gdata_Photos_Extension_BytesUsed
*/
require_once 'Zend/Gdata/Photos/Extension/BytesUsed.php';
/**
* @see Zend_Gdata_Photos_Extension_Location
*/
require_once 'Zend/Gdata/Photos/Extension/Location.php';
/**
* @see Zend_Gdata_Photos_Extension_Name
*/
require_once 'Zend/Gdata/Photos/Extension/Name.php';
/**
* @see Zend_Gdata_Photos_Extension_NumPhotos
*/
require_once 'Zend/Gdata/Photos/Extension/NumPhotos.php';
/**
* @see Zend_Gdata_Photos_Extension_NumPhotosRemaining
*/
require_once 'Zend/Gdata/Photos/Extension/NumPhotosRemaining.php';
/**
* @see Zend_Gdata_Photos_Extension_CommentCount
*/
require_once 'Zend/Gdata/Photos/Extension/CommentCount.php';
/**
* @see Zend_Gdata_Photos_Extension_CommentingEnabled
*/
require_once 'Zend/Gdata/Photos/Extension/CommentingEnabled.php';
/**
* @see Zend_Gdata_Photos_Extension_Id
*/
require_once 'Zend/Gdata/Photos/Extension/Id.php';
/**
* @see Zend_Gdata_Geo_Extension_GeoRssWhere
*/
require_once 'Zend/Gdata/Geo/Extension/GeoRssWhere.php';
/**
* @see Zend_Gdata_Media_Extension_MediaGroup
*/
require_once 'Zend/Gdata/Media/Extension/MediaGroup.php';
/**
* @see Zend_Gdata_App_Extension_Category
*/
require_once 'Zend/Gdata/App/Extension/Category.php';
/**
* Data model class for a Photo Album Entry.
*
* To transfer user entries to and from the servers, including
* creating new entries, refer to the service class,
* Zend_Gdata_Photos.
*
* This class represents <atom:entry> in the Google Data protocol.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_AlbumEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_Photos_AlbumEntry';
/**
* gphoto:id element
*
* @var Zend_Gdata_Photos_Extension_Id
*/
protected $_gphotoId = null;
/**
* gphoto:access element
*
* @var Zend_Gdata_Photos_Extension_Access
*/
protected $_gphotoAccess = null;
/**
* gphoto:location element
*
* @var Zend_Gdata_Photos_Extension_Location
*/
protected $_gphotoLocation = null;
/**
* gphoto:user element
*
* @var Zend_Gdata_Photos_Extension_User
*/
protected $_gphotoUser = null;
/**
* gphoto:nickname element
*
* @var Zend_Gdata_Photos_Extension_Nickname
*/
protected $_gphotoNickname = null;
/**
* gphoto:timestamp element
*
* @var Zend_Gdata_Photos_Extension_Timestamp
*/
protected $_gphotoTimestamp = null;
/**
* gphoto:name element
*
* @var Zend_Gdata_Photos_Extension_Name
*/
protected $_gphotoName = null;
/**
* gphoto:numphotos element
*
* @var Zend_Gdata_Photos_Extension_NumPhotos
*/
protected $_gphotoNumPhotos = null;
/**
* gphoto:commentCount element
*
* @var Zend_Gdata_Photos_Extension_CommentCount
*/
protected $_gphotoCommentCount = null;
/**
* gphoto:commentingEnabled element
*
* @var Zend_Gdata_Photos_Extension_CommentingEnabled
*/
protected $_gphotoCommentingEnabled = null;
/**
* media:group element
*
* @var Zend_Gdata_Media_MediaGroup
*/
protected $_mediaGroup = null;
/**
* georss:where element
*
* @var Zend_Gdata_Geo_Extension_GeoRssWhere
*/
protected $_geoRssWhere = null;
/**
* Create a new instance.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct($element);
$category = new Zend_Gdata_App_Extension_Category(
'http://schemas.google.com/photos/2007#album',
'http://schemas.google.com/g/2005#kind');
$this->setCategory(array($category));
}
/**
* 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->_gphotoTimestamp !== null) {
$element->appendChild($this->_gphotoTimestamp->getDOM($element->ownerDocument));
}
if ($this->_gphotoUser !== null) {
$element->appendChild($this->_gphotoUser->getDOM($element->ownerDocument));
}
if ($this->_gphotoNickname !== null) {
$element->appendChild($this->_gphotoNickname->getDOM($element->ownerDocument));
}
if ($this->_gphotoAccess !== null) {
$element->appendChild($this->_gphotoAccess->getDOM($element->ownerDocument));
}
if ($this->_gphotoLocation !== null) {
$element->appendChild($this->_gphotoLocation->getDOM($element->ownerDocument));
}
if ($this->_gphotoName !== null) {
$element->appendChild($this->_gphotoName->getDOM($element->ownerDocument));
}
if ($this->_gphotoNumPhotos !== null) {
$element->appendChild($this->_gphotoNumPhotos->getDOM($element->ownerDocument));
}
if ($this->_gphotoCommentCount !== null) {
$element->appendChild($this->_gphotoCommentCount->getDOM($element->ownerDocument));
}
if ($this->_gphotoCommentingEnabled !== null) {
$element->appendChild($this->_gphotoCommentingEnabled->getDOM($element->ownerDocument));
}
if ($this->_gphotoId !== null) {
$element->appendChild($this->_gphotoId->getDOM($element->ownerDocument));
}
if ($this->_mediaGroup !== null) {
$element->appendChild($this->_mediaGroup->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('gphoto') . ':' . 'access';
$access = new Zend_Gdata_Photos_Extension_Access();
$access->transferFromDOM($child);
$this->_gphotoAccess = $access;
break;
case $this->lookupNamespace('gphoto') . ':' . 'location';
$location = new Zend_Gdata_Photos_Extension_Location();
$location->transferFromDOM($child);
$this->_gphotoLocation = $location;
break;
case $this->lookupNamespace('gphoto') . ':' . 'name';
$name = new Zend_Gdata_Photos_Extension_Name();
$name->transferFromDOM($child);
$this->_gphotoName = $name;
break;
case $this->lookupNamespace('gphoto') . ':' . 'numphotos';
$numPhotos = new Zend_Gdata_Photos_Extension_NumPhotos();
$numPhotos->transferFromDOM($child);
$this->_gphotoNumPhotos = $numPhotos;
break;
case $this->lookupNamespace('gphoto') . ':' . 'commentCount';
$commentCount = new Zend_Gdata_Photos_Extension_CommentCount();
$commentCount->transferFromDOM($child);
$this->_gphotoCommentCount = $commentCount;
break;
case $this->lookupNamespace('gphoto') . ':' . 'commentingEnabled';
$commentingEnabled = new Zend_Gdata_Photos_Extension_CommentingEnabled();
$commentingEnabled->transferFromDOM($child);
$this->_gphotoCommentingEnabled = $commentingEnabled;
break;
case $this->lookupNamespace('gphoto') . ':' . 'id';
$id = new Zend_Gdata_Photos_Extension_Id();
$id->transferFromDOM($child);
$this->_gphotoId = $id;
break;
case $this->lookupNamespace('gphoto') . ':' . 'user';
$user = new Zend_Gdata_Photos_Extension_User();
$user->transferFromDOM($child);
$this->_gphotoUser = $user;
break;
case $this->lookupNamespace('gphoto') . ':' . 'timestamp';
$timestamp = new Zend_Gdata_Photos_Extension_Timestamp();
$timestamp->transferFromDOM($child);
$this->_gphotoTimestamp = $timestamp;
break;
case $this->lookupNamespace('gphoto') . ':' . 'nickname';
$nickname = new Zend_Gdata_Photos_Extension_Nickname();
$nickname->transferFromDOM($child);
$this->_gphotoNickname = $nickname;
break;
case $this->lookupNamespace('georss') . ':' . 'where';
$geoRssWhere = new Zend_Gdata_Geo_Extension_GeoRssWhere();
$geoRssWhere->transferFromDOM($child);
$this->_geoRssWhere = $geoRssWhere;
break;
case $this->lookupNamespace('media') . ':' . 'group';
$mediaGroup = new Zend_Gdata_Media_Extension_MediaGroup();
$mediaGroup->transferFromDOM($child);
$this->_mediaGroup = $mediaGroup;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Get the value for this element's gphoto:access attribute.
*
* @see setGphotoAccess
* @return string The requested attribute.
*/
public function getGphotoAccess()
{
return $this->_gphotoAccess;
}
/**
* Set the value for this element's gphoto:access attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Access The element being modified.
*/
public function setGphotoAccess($value)
{
$this->_gphotoAccess = $value;
return $this;
}
/**
* Get the value for this element's gphoto:location attribute.
*
* @see setGphotoLocation
* @return string The requested attribute.
*/
public function getGphotoLocation()
{
return $this->_gphotoLocation;
}
/**
* Set the value for this element's gphoto:location attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Location The element being modified.
*/
public function setGphotoLocation($value)
{
$this->_location = $value;
return $this;
}
/**
* Get the value for this element's gphoto:name attribute.
*
* @see setGphotoName
* @return string The requested attribute.
*/
public function getGphotoName()
{
return $this->_gphotoName;
}
/**
* Set the value for this element's gphoto:name attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Name The element being modified.
*/
public function setGphotoName($value)
{
$this->_gphotoName = $value;
return $this;
}
/**
* Get the value for this element's gphoto:numphotos attribute.
*
* @see setGphotoNumPhotos
* @return string The requested attribute.
*/
public function getGphotoNumPhotos()
{
return $this->_gphotoNumPhotos;
}
/**
* Set the value for this element's gphoto:numphotos attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_NumPhotos The element being modified.
*/
public function setGphotoNumPhotos($value)
{
$this->_gphotoNumPhotos = $value;
return $this;
}
/**
* Get the value for this element's gphoto:commentCount attribute.
*
* @see setGphotoCommentCount
* @return string The requested attribute.
*/
public function getGphotoCommentCount()
{
return $this->_gphotoCommentCount;
}
/**
* Set the value for this element's gphoto:commentCount attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_CommentCount The element being modified.
*/
public function setGphotoCommentCount($value)
{
$this->_gphotoCommentCount = $value;
return $this;
}
/**
* Get the value for this element's gphoto:commentingEnabled attribute.
*
* @see setGphotoCommentingEnabled
* @return string The requested attribute.
*/
public function getGphotoCommentingEnabled()
{
return $this->_gphotoCommentingEnabled;
}
/**
* Set the value for this element's gphoto:commentingEnabled attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_CommentingEnabled The element being modified.
*/
public function setGphotoCommentingEnabled($value)
{
$this->_gphotoCommentingEnabled = $value;
return $this;
}
/**
* Get the value for this element's gphoto:id attribute.
*
* @see setGphotoId
* @return string The requested attribute.
*/
public function getGphotoId()
{
return $this->_gphotoId;
}
/**
* Set the value for this element's gphoto:id attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Id The element being modified.
*/
public function setGphotoId($value)
{
$this->_gphotoId = $value;
return $this;
}
/**
* Get the value for this element's georss:where attribute.
*
* @see setGeoRssWhere
* @return string The requested attribute.
*/
public function getGeoRssWhere()
{
return $this->_geoRssWhere;
}
/**
* Set the value for this element's georss:where attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Geo_Extension_GeoRssWhere The element being modified.
*/
public function setGeoRssWhere($value)
{
$this->_geoRssWhere = $value;
return $this;
}
/**
* Get the value for this element's media:group attribute.
*
* @see setMediaGroup
* @return string The requested attribute.
*/
public function getMediaGroup()
{
return $this->_mediaGroup;
}
/**
* Set the value for this element's media:group attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Media_Extension_MediaGroup The element being modified.
*/
public function setMediaGroup($value)
{
$this->_mediaGroup = $value;
return $this;
}
/**
* Get the value for this element's gphoto:user attribute.
*
* @see setGphotoUser
* @return string The requested attribute.
*/
public function getGphotoUser()
{
return $this->_gphotoUser;
}
/**
* Set the value for this element's gphoto:user attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_User The element being modified.
*/
public function setGphotoUser($value)
{
$this->_gphotoUser = $value;
return $this;
}
/**
* Get the value for this element's gphoto:nickname attribute.
*
* @see setGphotoNickname
* @return string The requested attribute.
*/
public function getGphotoNickname()
{
return $this->_gphotoNickname;
}
/**
* Set the value for this element's gphoto:nickname attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Nickname The element being modified.
*/
public function setGphotoNickname($value)
{
$this->_gphotoNickname = $value;
return $this;
}
/**
* Get the value for this element's gphoto:timestamp attribute.
*
* @see setGphotoTimestamp
* @return string The requested attribute.
*/
public function getGphotoTimestamp()
{
return $this->_gphotoTimestamp;
}
/**
* Set the value for this element's gphoto:timestamp attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Timestamp The element being modified.
*/
public function setGphotoTimestamp($value)
{
$this->_gphotoTimestamp = $value;
return $this;
}
}
Photos/UserFeed.php 0000604 00000017013 15071215232 0010227 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* @see Zend_Gdata_Photos_UserEntry
*/
require_once 'Zend/Gdata/Photos/UserEntry.php';
/**
* @see Zend_Gdata_Photos_AlbumEntry
*/
require_once 'Zend/Gdata/Photos/AlbumEntry.php';
/**
* @see Zend_Gdata_Photos_PhotoEntry
*/
require_once 'Zend/Gdata/Photos/PhotoEntry.php';
/**
* @see Zend_Gdata_Photos_TagEntry
*/
require_once 'Zend/Gdata/Photos/TagEntry.php';
/**
* @see Zend_Gdata_Photos_CommentEntry
*/
require_once 'Zend/Gdata/Photos/CommentEntry.php';
/**
* Data model for a collection of entries for a specific user, usually
* provided by the servers.
*
* For information on requesting this feed from a server, see the
* service class, Zend_Gdata_Photos.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_UserFeed extends Zend_Gdata_Feed
{
/**
* gphoto:user element
*
* @var Zend_Gdata_Photos_Extension_User
*/
protected $_gphotoUser = null;
/**
* gphoto:thumbnail element
*
* @var Zend_Gdata_Photos_Extension_Thumbnail
*/
protected $_gphotoThumbnail = null;
/**
* gphoto:nickname element
*
* @var Zend_Gdata_Photos_Extension_Nickname
*/
protected $_gphotoNickname = null;
protected $_entryClassName = 'Zend_Gdata_Photos_UserEntry';
protected $_feedClassName = 'Zend_Gdata_Photos_UserFeed';
protected $_entryKindClassMapping = array(
'http://schemas.google.com/photos/2007#album' => 'Zend_Gdata_Photos_AlbumEntry',
'http://schemas.google.com/photos/2007#photo' => 'Zend_Gdata_Photos_PhotoEntry',
'http://schemas.google.com/photos/2007#comment' => 'Zend_Gdata_Photos_CommentEntry',
'http://schemas.google.com/photos/2007#tag' => 'Zend_Gdata_Photos_TagEntry'
);
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct($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('gphoto') . ':' . 'user';
$user = new Zend_Gdata_Photos_Extension_User();
$user->transferFromDOM($child);
$this->_gphotoUser = $user;
break;
case $this->lookupNamespace('gphoto') . ':' . 'nickname';
$nickname = new Zend_Gdata_Photos_Extension_Nickname();
$nickname->transferFromDOM($child);
$this->_gphotoNickname = $nickname;
break;
case $this->lookupNamespace('gphoto') . ':' . 'thumbnail';
$thumbnail = new Zend_Gdata_Photos_Extension_Thumbnail();
$thumbnail->transferFromDOM($child);
$this->_gphotoThumbnail = $thumbnail;
break;
case $this->lookupNamespace('atom') . ':' . 'entry':
$entryClassName = $this->_entryClassName;
$tmpEntry = new Zend_Gdata_App_Entry($child);
$categories = $tmpEntry->getCategory();
foreach ($categories as $category) {
if ($category->scheme == Zend_Gdata_Photos::KIND_PATH &&
$this->_entryKindClassMapping[$category->term] != "") {
$entryClassName = $this->_entryKindClassMapping[$category->term];
break;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('Entry is missing kind declaration.');
}
}
$newEntry = new $entryClassName($child);
$newEntry->setHttpClient($this->getHttpClient());
$this->_entry[] = $newEntry;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_gphotoUser != null) {
$element->appendChild($this->_gphotoUser->getDOM($element->ownerDocument));
}
if ($this->_gphotoNickname != null) {
$element->appendChild($this->_gphotoNickname->getDOM($element->ownerDocument));
}
if ($this->_gphotoThumbnail != null) {
$element->appendChild($this->_gphotoThumbnail->getDOM($element->ownerDocument));
}
return $element;
}
/**
* Get the value for this element's gphoto:user attribute.
*
* @see setGphotoUser
* @return string The requested attribute.
*/
public function getGphotoUser()
{
return $this->_gphotoUser;
}
/**
* Set the value for this element's gphoto:user attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_User The element being modified.
*/
public function setGphotoUser($value)
{
$this->_gphotoUser = $value;
return $this;
}
/**
* Get the value for this element's gphoto:nickname attribute.
*
* @see setGphotoNickname
* @return string The requested attribute.
*/
public function getGphotoNickname()
{
return $this->_gphotoNickname;
}
/**
* Set the value for this element's gphoto:nickname attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Nickname The element being modified.
*/
public function setGphotoNickname($value)
{
$this->_gphotoNickname = $value;
return $this;
}
/**
* Get the value for this element's gphoto:thumbnail attribute.
*
* @see setGphotoThumbnail
* @return string The requested attribute.
*/
public function getGphotoThumbnail()
{
return $this->_gphotoThumbnail;
}
/**
* Set the value for this element's gphoto:thumbnail attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Thumbnail The element being modified.
*/
public function setGphotoThumbnail($value)
{
$this->_gphotoThumbnail = $value;
return $this;
}
}
Photos/UserEntry.php 0000604 00000025720 15071215232 0010471 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Gapps
*/
require_once 'Zend/Gdata/Gapps.php';
/**
* @see Zend_Gdata_Photos_Extension_Nickname
*/
require_once 'Zend/Gdata/Photos/Extension/Nickname.php';
/**
* @see Zend_Gdata_Photos_Extension_Thumbnail
*/
require_once 'Zend/Gdata/Photos/Extension/Thumbnail.php';
/**
* @see Zend_Gdata_Photos_Extension_QuotaCurrent
*/
require_once 'Zend/Gdata/Photos/Extension/QuotaCurrent.php';
/**
* @see Zend_Gdata_Photos_Extension_QuotaLimit
*/
require_once 'Zend/Gdata/Photos/Extension/QuotaLimit.php';
/**
* @see Zend_Gdata_Photos_Extension_MaxPhotosPerAlbum
*/
require_once 'Zend/Gdata/Photos/Extension/MaxPhotosPerAlbum.php';
/**
* @see Zend_Gdata_Photos_Extension_User
*/
require_once 'Zend/Gdata/Photos/Extension/User.php';
/**
* @see Zend_Gdata_App_Extension_Category
*/
require_once 'Zend/Gdata/App/Extension/Category.php';
/**
* Data model class for a User Entry.
*
* To transfer user entries to and from the servers, including
* creating new entries, refer to the service class,
* Zend_Gdata_Photos.
*
* This class represents <atom:entry> in the Google Data protocol.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_UserEntry extends Zend_Gdata_Entry
{
protected $_entryClassName = 'Zend_Gdata_Photos_UserEntry';
/**
* gphoto:nickname element
*
* @var Zend_Gdata_Photos_Extension_Nickname
*/
protected $_gphotoNickname = null;
/**
* gphoto:user element
*
* @var Zend_Gdata_Photos_Extension_User
*/
protected $_gphotoUser = null;
/**
* gphoto:thumbnail element
*
* @var Zend_Gdata_Photos_Extension_Thumbnail
*/
protected $_gphotoThumbnail = null;
/**
* gphoto:quotalimit element
*
* @var Zend_Gdata_Photos_Extension_QuotaLimit
*/
protected $_gphotoQuotaLimit = null;
/**
* gphoto:quotacurrent element
*
* @var Zend_Gdata_Photos_Extension_QuotaCurrent
*/
protected $_gphotoQuotaCurrent = null;
/**
* gphoto:maxPhotosPerAlbum element
*
* @var Zend_Gdata_Photos_Extension_MaxPhotosPerAlbum
*/
protected $_gphotoMaxPhotosPerAlbum = null;
/**
* Create a new instance.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct($element);
$category = new Zend_Gdata_App_Extension_Category(
'http://schemas.google.com/photos/2007#user',
'http://schemas.google.com/g/2005#kind');
$this->setCategory(array($category));
}
/**
* 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->_gphotoNickname !== null) {
$element->appendChild($this->_gphotoNickname->getDOM($element->ownerDocument));
}
if ($this->_gphotoThumbnail !== null) {
$element->appendChild($this->_gphotoThumbnail->getDOM($element->ownerDocument));
}
if ($this->_gphotoUser !== null) {
$element->appendChild($this->_gphotoUser->getDOM($element->ownerDocument));
}
if ($this->_gphotoQuotaCurrent !== null) {
$element->appendChild($this->_gphotoQuotaCurrent->getDOM($element->ownerDocument));
}
if ($this->_gphotoQuotaLimit !== null) {
$element->appendChild($this->_gphotoQuotaLimit->getDOM($element->ownerDocument));
}
if ($this->_gphotoMaxPhotosPerAlbum !== null) {
$element->appendChild($this->_gphotoMaxPhotosPerAlbum->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('gphoto') . ':' . 'nickname';
$nickname = new Zend_Gdata_Photos_Extension_Nickname();
$nickname->transferFromDOM($child);
$this->_gphotoNickname = $nickname;
break;
case $this->lookupNamespace('gphoto') . ':' . 'thumbnail';
$thumbnail = new Zend_Gdata_Photos_Extension_Thumbnail();
$thumbnail->transferFromDOM($child);
$this->_gphotoThumbnail = $thumbnail;
break;
case $this->lookupNamespace('gphoto') . ':' . 'user';
$user = new Zend_Gdata_Photos_Extension_User();
$user->transferFromDOM($child);
$this->_gphotoUser = $user;
break;
case $this->lookupNamespace('gphoto') . ':' . 'quotacurrent';
$quotaCurrent = new Zend_Gdata_Photos_Extension_QuotaCurrent();
$quotaCurrent->transferFromDOM($child);
$this->_gphotoQuotaCurrent = $quotaCurrent;
break;
case $this->lookupNamespace('gphoto') . ':' . 'quotalimit';
$quotaLimit = new Zend_Gdata_Photos_Extension_QuotaLimit();
$quotaLimit->transferFromDOM($child);
$this->_gphotoQuotaLimit = $quotaLimit;
break;
case $this->lookupNamespace('gphoto') . ':' . 'maxPhotosPerAlbum';
$maxPhotosPerAlbum = new Zend_Gdata_Photos_Extension_MaxPhotosPerAlbum();
$maxPhotosPerAlbum->transferFromDOM($child);
$this->_gphotoMaxPhotosPerAlbum = $maxPhotosPerAlbum;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Get the value for this element's gphoto:nickname attribute.
*
* @see setGphotoNickname
* @return string The requested attribute.
*/
public function getGphotoNickname()
{
return $this->_gphotoNickname;
}
/**
* Set the value for this element's gphoto:nickname attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Nickname The element being modified.
*/
public function setGphotoNickname($value)
{
$this->_gphotoNickname = $value;
return $this;
}
/**
* Get the value for this element's gphoto:thumbnail attribute.
*
* @see setGphotoThumbnail
* @return string The requested attribute.
*/
public function getGphotoThumbnail()
{
return $this->_gphotoThumbnail;
}
/**
* Set the value for this element's gphoto:thumbnail attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Thumbnail The element being modified.
*/
public function setGphotoThumbnail($value)
{
$this->_gphotoThumbnail = $value;
return $this;
}
/**
* Get the value for this element's gphoto:quotacurrent attribute.
*
* @see setGphotoQuotaCurrent
* @return string The requested attribute.
*/
public function getGphotoQuotaCurrent()
{
return $this->_gphotoQuotaCurrent;
}
/**
* Set the value for this element's gphoto:quotacurrent attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_QuotaCurrent The element being modified.
*/
public function setGphotoQuotaCurrent($value)
{
$this->_gphotoQuotaCurrent = $value;
return $this;
}
/**
* Get the value for this element's gphoto:quotalimit attribute.
*
* @see setGphotoQuotaLimit
* @return string The requested attribute.
*/
public function getGphotoQuotaLimit()
{
return $this->_gphotoQuotaLimit;
}
/**
* Set the value for this element's gphoto:quotalimit attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_QuotaLimit The element being modified.
*/
public function setGphotoQuotaLimit($value)
{
$this->_gphotoQuotaLimit = $value;
return $this;
}
/**
* Get the value for this element's gphoto:maxPhotosPerAlbum attribute.
*
* @see setGphotoMaxPhotosPerAlbum
* @return string The requested attribute.
*/
public function getGphotoMaxPhotosPerAlbum()
{
return $this->_gphotoMaxPhotosPerAlbum;
}
/**
* Set the value for this element's gphoto:maxPhotosPerAlbum attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_MaxPhotosPerAlbum The element being modified.
*/
public function setGphotoMaxPhotosPerAlbum($value)
{
$this->_gphotoMaxPhotosPerAlbum = $value;
return $this;
}
/**
* Get the value for this element's gphoto:user attribute.
*
* @see setGphotoUser
* @return string The requested attribute.
*/
public function getGphotoUser()
{
return $this->_gphotoUser;
}
/**
* Set the value for this element's gphoto:user attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_User The element being modified.
*/
public function setGphotoUser($value)
{
$this->_gphotoUser = $value;
return $this;
}
}
Photos/Extension/Nickname.php 0000604 00000003267 15071215232 0012234 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:nickname element used by the API.
* This class represents the nickname for a user.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_Nickname extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'nickname';
/**
* Constructs a new Zend_Gdata_Photos_Extension_Nickname object.
*
* @param string $text (optional) The value being represented.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/Thumbnail.php 0000604 00000003304 15071215232 0012422 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:thumbnail element used by the API.
* This class represents the URI for a thumbnail image.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_Thumbnail extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'thumbnail';
/**
* Constructs a new Zend_Gdata_Photos_Extension_Thumbnail object.
*
* @param string $text (optional) The thumbnail URI to represent.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/PhotoId.php 0000604 00000003171 15071215232 0012047 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:id element used by the Picasa API.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_PhotoId extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'id';
/**
* Constructs a new Zend_Gdata_Photos_Extension_PhotoId object.
*
* @param string $text (optional) The value to represent.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/CommentCount.php 0000604 00000003473 15071215232 0013121 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:commentCount element used by the API. This
* class represents the number of comments attached to an entry and is usually contained
* within an instance of Zend_Gdata_Photos_PhotoEntry or AlbumEntry.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_CommentCount extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'commentCount';
/**
* Constructs a new Zend_Gdata_Photos_Extension_CommentCount object.
*
* @param string $text (optional) The value to use for the count.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/QuotaCurrent.php 0000604 00000003335 15071215232 0013137 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:quotaCurrent element used by the API.
* This class represents the number of bytes of storage used by a user.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_QuotaCurrent extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'quotaCurrent';
/**
* Constructs a new Zend_Gdata_Photos_Extension_QuotaCurrent object.
*
* @param string $text (optional) The value being represented.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/Version.php 0000604 00000003322 15071215232 0012124 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:version element used by the API.
* This number is used for optimistic concurrency, and does not
* increase linearly.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_Version extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'version';
/**
* Constructs a new Zend_Gdata_Photos_Extension_Version object.
*
* @param string $text (optional) The value to represent.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/Access.php 0000604 00000003340 15071215232 0011700 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:access element used by the API.
* This determines the visibility for an album, and can be either
* the strings 'private' or 'public'.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_Access extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'access';
/**
* Constructs a new Zend_Gdata_Photos_Extension_Access object.
*
* @param string $text (optional) The value to represent.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/Name.php 0000604 00000003244 15071215232 0011362 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:name element used by the API.
* This indicates the URL-usable name for an album.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_Name extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'name';
/**
* Constructs a new Zend_Gdata_Photos_Extension_Name object.
*
* @param string $text (optional) The value to represent.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/NumPhotosRemaining.php 0000604 00000003346 15071215232 0014273 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:numphotosremaining element used by the API.
* This indicates the number of photos remaining in an album.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_NumPhotosRemaining extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'numphotosremaining';
/**
* Constructs a new Zend_Gdata_Photos_Extension_NumPhotosRemaining object.
*
* @param string $text (optional) The value to represent.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/Location.php 0000604 00000003303 15071215232 0012246 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:location element used by the API.
* This indicates the number of bytes of storage used by an album.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_Location extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'location';
/**
* Constructs a new Zend_Gdata_Photos_Extension_Location object.
*
* @param string $text (optional) The value to represent.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/BytesUsed.php 0000604 00000003307 15071215232 0012411 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:bytesUsed element used by the API.
* This indicates the number of bytes of storage used by an album.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_BytesUsed extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'bytesUsed';
/**
* Constructs a new Zend_Gdata_Photos_Extension_BytesUsed object.
*
* @param string $text (optional) The value to represent.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/Timestamp.php 0000604 00000003404 15071215232 0012443 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:timestamp element used by the API.
* The timestamp of a photo in milliseconds since January 1, 1970.
* This date is either set externally or based on EXIF data.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_Timestamp extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'timestamp';
/**
* Constructs a new Zend_Gdata_Photos_Extension_Timestamp object.
*
* @param string $text (optional) The value to represent.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/CommentingEnabled.php 0000604 00000003426 15071215232 0014057 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:commentingEnabled element used by the API.
* This class represents whether commenting is enabled for a given
* entry.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_CommentingEnabled extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'commentingEnabled';
/**
* Constructs a new Zend_Gdata_Photos_Extension_CommentingEnabled object.
*
* @param string $text (optional) Whether commenting should be enabled
* or not.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/Size.php 0000604 00000003221 15071215232 0011407 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:size element used by the API.
* The size of a photo in bytes.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_Size extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'size';
/**
* Constructs a new Zend_Gdata_Photos_Extension_Size object.
*
* @param string $text (optional) The value to represent.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/Weight.php 0000604 00000003357 15071215232 0011736 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:weight element used by the API.
* This indicates the weight of a tag, based on the number of times
* it appears in photos under the current element.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_Weight extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'weight';
/**
* Constructs a new Zend_Gdata_Photos_Extension_Weight object.
*
* @param string $text (optional) The value to represent.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/QuotaLimit.php 0000604 00000003336 15071215232 0012574 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:quotaLimit element used by the API.
* This class represents the number of bytes of storage available for
* a user.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_QuotaLimit extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'quotaLimit';
/**
* Constructs a new Zend_Gdata_Photos_Extension_QuotaLimit object.
*
* @param string $text (optional) The value being represented.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/Id.php 0000604 00000003270 15071215232 0011035 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:id element used by the API. This class
* represents the unique ID assigned to an element by the servers.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_Id extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'id';
/**
* Constructs a new Zend_Gdata_Photos_Extension_Id object.
*
* @param string $text (optional) The ID being represented.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/AlbumId.php 0000604 00000003423 15071215232 0012016 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:albumid element used by the API. This
* class represents the ID of an album and is usually contained
* within an instance of Zend_Gdata_Photos_AlbumEntry or CommentEntry.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_AlbumId extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'albumid';
/**
* Constructs a new Zend_Gdata_Photos_Extension_AlbumId object.
*
* @param string $text (optional) The value to use for the Album ID.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/Rotation.php 0000604 00000003370 15071215232 0012301 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:rotation element used by the API.
* The rotation of a photo in degrees. Will only be shown if the
* rotation has not already been applied to the image.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_Rotation extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'rotation';
/**
* Constructs a new Zend_Gdata_Photos_Extension_Rotation object.
*
* @param string $text (optional) The value to represent.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/Position.php 0000604 00000003264 15071215232 0012310 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:position element used by the API.
* The ordinal position of a photo within an album.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_Position extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'position';
/**
* Constructs a new Zend_Gdata_Photos_Extension_Position object.
*
* @param string $text (optional) The value to represent.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/Height.php 0000604 00000003234 15071215232 0011711 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:height element used by the API.
* The height of a photo in pixels.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_Height extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'height';
/**
* Constructs a new Zend_Gdata_Photos_Extension_Height object.
*
* @param string $text (optional) The value to represent.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/Checksum.php 0000604 00000003351 15071215232 0012243 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:checksum element used by the API.
* This is an optional field that can be used to store a photo's
* checksum to ease duplicate checking.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_Checksum extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'checksum';
/**
* Constructs a new Zend_Gdata_Photos_Extension_Checksum object.
*
* @param string $text (optional) The value to represent.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/User.php 0000604 00000003245 15071215232 0011421 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:user element used by the API.
* This class represents the username for a user.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_User extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'user';
/**
* Constructs a new Zend_Gdata_Photos_Extension_User object.
*
* @param string $text (optional) The username to represent.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/NumPhotos.php 0000604 00000003270 15071215232 0012435 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:numphotos element used by the API.
* This indicates the number of photos in an album.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_NumPhotos extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'numphotos';
/**
* Constructs a new Zend_Gdata_Photos_Extension_NumPhotos object.
*
* @param string $text (optional) The value to represent.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/MaxPhotosPerAlbum.php 0000604 00000003367 15071215232 0014062 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:maxPhotosPerAlbum element used by the API.
* This class represents the maximum number of photos allowed in an
* album.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_MaxPhotosPerAlbum extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'maxPhotosPerAlbum';
/**
* Constructs a new Zend_Gdata_Photos_Extension_MaxPhotosPerAlbum object.
*
* @param string $text (optional) The value being represented.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/Width.php 0000604 00000003246 15071215232 0011563 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:width element used by the API.
* This indicates the width of a photo in pixels.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_Width extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'width';
/**
* Constructs a new Zend_Gdata_Photos_Extension_Width object.
*
* @param string $text (optional) The value to represent.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/Extension/Client.php 0000604 00000003327 15071215232 0011722 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* @see Zend_Gdata_Extension
*/
require_once 'Zend/Gdata/Extension.php';
/**
* @see Zend_Gdata_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* Represents the gphoto:client element used by the API.
* This is an optional field that can be used to indicate the
* client which created a photo.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_Extension_Client extends Zend_Gdata_Extension
{
protected $_rootNamespace = 'gphoto';
protected $_rootElement = 'client';
/**
* Constructs a new Zend_Gdata_Photos_Extension_Client object.
*
* @param string $text (optional) The value to represent.
*/
public function __construct($text = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct();
$this->setText($text);
}
}
Photos/PhotoEntry.php 0000604 00000047654 15071215232 0010656 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_MediaEntry
*/
require_once 'Zend/Gdata/Media/Entry.php';
/**
* @see Zend_Gdata_Photos_Extension_PhotoId
*/
require_once 'Zend/Gdata/Photos/Extension/PhotoId.php';
/**
* @see Zend_Gdata_Photos_Extension_Version
*/
require_once 'Zend/Gdata/Photos/Extension/Version.php';
/**
* @see Zend_Gdata_Photos_Extension_AlbumId
*/
require_once 'Zend/Gdata/Photos/Extension/AlbumId.php';
/**
* @see Zend_Gdata_Photos_Extension_Id
*/
require_once 'Zend/Gdata/Photos/Extension/Id.php';
/**
* @see Zend_Gdata_Photos_Extension_Width
*/
require_once 'Zend/Gdata/Photos/Extension/Width.php';
/**
* @see Zend_Gdata_Photos_Extension_Height
*/
require_once 'Zend/Gdata/Photos/Extension/Height.php';
/**
* @see Zend_Gdata_Photos_Extension_Size
*/
require_once 'Zend/Gdata/Photos/Extension/Size.php';
/**
* @see Zend_Gdata_Photos_Extension_Client
*/
require_once 'Zend/Gdata/Photos/Extension/Client.php';
/**
* @see Zend_Gdata_Photos_Extension_Checksum
*/
require_once 'Zend/Gdata/Photos/Extension/Checksum.php';
/**
* @see Zend_Gdata_Photos_Extension_Timestamp
*/
require_once 'Zend/Gdata/Photos/Extension/Timestamp.php';
/**
* @see Zend_Gdata_Photos_Extension_CommentingEnabled
*/
require_once 'Zend/Gdata/Photos/Extension/CommentingEnabled.php';
/**
* @see Zend_Gdata_Photos_Extension_CommentCount
*/
require_once 'Zend/Gdata/Photos/Extension/CommentCount.php';
/**
* @see Zend_Gdata_Exif_Extension_Tags
*/
require_once 'Zend/Gdata/Exif/Extension/Tags.php';
/**
* @see Zend_Gdata_Geo_Extension_GeoRssWhere
*/
require_once 'Zend/Gdata/Geo/Extension/GeoRssWhere.php';
/**
* @see Zend_Gdata_App_Extension_Category
*/
require_once 'Zend/Gdata/App/Extension/Category.php';
/**
* Data model class for a Comment Entry.
*
* To transfer user entries to and from the servers, including
* creating new entries, refer to the service class,
* Zend_Gdata_Photos.
*
* This class represents <atom:entry> in the Google Data protocol.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_PhotoEntry extends Zend_Gdata_Media_Entry
{
protected $_entryClassName = 'Zend_Gdata_Photos_PhotoEntry';
/**
* gphoto:id element
*
* @var Zend_Gdata_Photos_Extension_Id
*/
protected $_gphotoId = null;
/**
* gphoto:albumid element
*
* @var Zend_Gdata_Photos_Extension_AlbumId
*/
protected $_gphotoAlbumId = null;
/**
* gphoto:version element
*
* @var Zend_Gdata_Photos_Extension_Version
*/
protected $_gphotoVersion = null;
/**
* gphoto:width element
*
* @var Zend_Gdata_Photos_Extension_Width
*/
protected $_gphotoWidth = null;
/**
* gphoto:height element
*
* @var Zend_Gdata_Photos_Extension_Height
*/
protected $_gphotoHeight = null;
/**
* gphoto:size element
*
* @var Zend_Gdata_Photos_Extension_Size
*/
protected $_gphotoSize = null;
/**
* gphoto:client element
*
* @var Zend_Gdata_Photos_Extension_Client
*/
protected $_gphotoClient = null;
/**
* gphoto:checksum element
*
* @var Zend_Gdata_Photos_Extension_Checksum
*/
protected $_gphotoChecksum = null;
/**
* gphoto:timestamp element
*
* @var Zend_Gdata_Photos_Extension_Timestamp
*/
protected $_gphotoTimestamp = null;
/**
* gphoto:commentCount element
*
* @var Zend_Gdata_Photos_Extension_CommentCount
*/
protected $_gphotoCommentCount = null;
/**
* gphoto:commentingEnabled element
*
* @var Zend_Gdata_Photos_Extension_CommentingEnabled
*/
protected $_gphotoCommentingEnabled = null;
/**
* exif:tags element
*
* @var Zend_Gdata_Exif_Extension_Tags
*/
protected $_exifTags = null;
/**
* georss:where element
*
* @var Zend_Gdata_Geo_Extension_GeoRssWhere
*/
protected $_geoRssWhere = null;
/**
* Create a new instance.
*
* @param DOMElement $element (optional) DOMElement from which this
* object should be constructed.
*/
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct($element);
$category = new Zend_Gdata_App_Extension_Category(
'http://schemas.google.com/photos/2007#photo',
'http://schemas.google.com/g/2005#kind');
$this->setCategory(array($category));
}
/**
* 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->_gphotoAlbumId !== null) {
$element->appendChild($this->_gphotoAlbumId->getDOM($element->ownerDocument));
}
if ($this->_gphotoId !== null) {
$element->appendChild($this->_gphotoId->getDOM($element->ownerDocument));
}
if ($this->_gphotoVersion !== null) {
$element->appendChild($this->_gphotoVersion->getDOM($element->ownerDocument));
}
if ($this->_gphotoWidth !== null) {
$element->appendChild($this->_gphotoWidth->getDOM($element->ownerDocument));
}
if ($this->_gphotoHeight !== null) {
$element->appendChild($this->_gphotoHeight->getDOM($element->ownerDocument));
}
if ($this->_gphotoSize !== null) {
$element->appendChild($this->_gphotoSize->getDOM($element->ownerDocument));
}
if ($this->_gphotoClient !== null) {
$element->appendChild($this->_gphotoClient->getDOM($element->ownerDocument));
}
if ($this->_gphotoChecksum !== null) {
$element->appendChild($this->_gphotoChecksum->getDOM($element->ownerDocument));
}
if ($this->_gphotoTimestamp !== null) {
$element->appendChild($this->_gphotoTimestamp->getDOM($element->ownerDocument));
}
if ($this->_gphotoCommentingEnabled !== null) {
$element->appendChild($this->_gphotoCommentingEnabled->getDOM($element->ownerDocument));
}
if ($this->_gphotoCommentCount !== null) {
$element->appendChild($this->_gphotoCommentCount->getDOM($element->ownerDocument));
}
if ($this->_exifTags !== null) {
$element->appendChild($this->_exifTags->getDOM($element->ownerDocument));
}
if ($this->_geoRssWhere !== null) {
$element->appendChild($this->_geoRssWhere->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('gphoto') . ':' . 'albumid';
$albumId = new Zend_Gdata_Photos_Extension_AlbumId();
$albumId->transferFromDOM($child);
$this->_gphotoAlbumId = $albumId;
break;
case $this->lookupNamespace('gphoto') . ':' . 'id';
$id = new Zend_Gdata_Photos_Extension_Id();
$id->transferFromDOM($child);
$this->_gphotoId = $id;
break;
case $this->lookupNamespace('gphoto') . ':' . 'version';
$version = new Zend_Gdata_Photos_Extension_Version();
$version->transferFromDOM($child);
$this->_gphotoVersion = $version;
break;
case $this->lookupNamespace('gphoto') . ':' . 'width';
$width = new Zend_Gdata_Photos_Extension_Width();
$width->transferFromDOM($child);
$this->_gphotoWidth = $width;
break;
case $this->lookupNamespace('gphoto') . ':' . 'height';
$height = new Zend_Gdata_Photos_Extension_Height();
$height->transferFromDOM($child);
$this->_gphotoHeight = $height;
break;
case $this->lookupNamespace('gphoto') . ':' . 'size';
$size = new Zend_Gdata_Photos_Extension_Size();
$size->transferFromDOM($child);
$this->_gphotoSize = $size;
break;
case $this->lookupNamespace('gphoto') . ':' . 'client';
$client = new Zend_Gdata_Photos_Extension_Client();
$client->transferFromDOM($child);
$this->_gphotoClient = $client;
break;
case $this->lookupNamespace('gphoto') . ':' . 'checksum';
$checksum = new Zend_Gdata_Photos_Extension_Checksum();
$checksum->transferFromDOM($child);
$this->_gphotoChecksum = $checksum;
break;
case $this->lookupNamespace('gphoto') . ':' . 'timestamp';
$timestamp = new Zend_Gdata_Photos_Extension_Timestamp();
$timestamp->transferFromDOM($child);
$this->_gphotoTimestamp = $timestamp;
break;
case $this->lookupNamespace('gphoto') . ':' . 'commentingEnabled';
$commentingEnabled = new Zend_Gdata_Photos_Extension_CommentingEnabled();
$commentingEnabled->transferFromDOM($child);
$this->_gphotoCommentingEnabled = $commentingEnabled;
break;
case $this->lookupNamespace('gphoto') . ':' . 'commentCount';
$commentCount = new Zend_Gdata_Photos_Extension_CommentCount();
$commentCount->transferFromDOM($child);
$this->_gphotoCommentCount = $commentCount;
break;
case $this->lookupNamespace('exif') . ':' . 'tags';
$exifTags = new Zend_Gdata_Exif_Extension_Tags();
$exifTags->transferFromDOM($child);
$this->_exifTags = $exifTags;
break;
case $this->lookupNamespace('georss') . ':' . 'where';
$geoRssWhere = new Zend_Gdata_Geo_Extension_GeoRssWhere();
$geoRssWhere->transferFromDOM($child);
$this->_geoRssWhere = $geoRssWhere;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Get the value for this element's gphoto:albumid attribute.
*
* @see setGphotoAlbumId
* @return string The requested attribute.
*/
public function getGphotoAlbumId()
{
return $this->_gphotoAlbumId;
}
/**
* Set the value for this element's gphoto:albumid attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_AlbumId The element being modified.
*/
public function setGphotoAlbumId($value)
{
$this->_gphotoAlbumId = $value;
return $this;
}
/**
* Get the value for this element's gphoto:id attribute.
*
* @see setGphotoId
* @return string The requested attribute.
*/
public function getGphotoId()
{
return $this->_gphotoId;
}
/**
* Set the value for this element's gphoto:id attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Id The element being modified.
*/
public function setGphotoId($value)
{
$this->_gphotoId = $value;
return $this;
}
/**
* Get the value for this element's gphoto:version attribute.
*
* @see setGphotoVersion
* @return string The requested attribute.
*/
public function getGphotoVersion()
{
return $this->_gphotoVersion;
}
/**
* Set the value for this element's gphoto:version attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Version The element being modified.
*/
public function setGphotoVersion($value)
{
$this->_gphotoVersion = $value;
return $this;
}
/**
* Get the value for this element's gphoto:width attribute.
*
* @see setGphotoWidth
* @return string The requested attribute.
*/
public function getGphotoWidth()
{
return $this->_gphotoWidth;
}
/**
* Set the value for this element's gphoto:width attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Width The element being modified.
*/
public function setGphotoWidth($value)
{
$this->_gphotoWidth = $value;
return $this;
}
/**
* Get the value for this element's gphoto:height attribute.
*
* @see setGphotoHeight
* @return string The requested attribute.
*/
public function getGphotoHeight()
{
return $this->_gphotoHeight;
}
/**
* Set the value for this element's gphoto:height attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Height The element being modified.
*/
public function setGphotoHeight($value)
{
$this->_gphotoHeight = $value;
return $this;
}
/**
* Get the value for this element's gphoto:size attribute.
*
* @see setGphotoSize
* @return string The requested attribute.
*/
public function getGphotoSize()
{
return $this->_gphotoSize;
}
/**
* Set the value for this element's gphoto:size attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Size The element being modified.
*/
public function setGphotoSize($value)
{
$this->_gphotoSize = $value;
return $this;
}
/**
* Get the value for this element's gphoto:client attribute.
*
* @see setGphotoClient
* @return string The requested attribute.
*/
public function getGphotoClient()
{
return $this->_gphotoClient;
}
/**
* Set the value for this element's gphoto:client attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Client The element being modified.
*/
public function setGphotoClient($value)
{
$this->_gphotoClient = $value;
return $this;
}
/**
* Get the value for this element's gphoto:checksum attribute.
*
* @see setGphotoChecksum
* @return string The requested attribute.
*/
public function getGphotoChecksum()
{
return $this->_gphotoChecksum;
}
/**
* Set the value for this element's gphoto:checksum attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Checksum The element being modified.
*/
public function setGphotoChecksum($value)
{
$this->_gphotoChecksum = $value;
return $this;
}
/**
* Get the value for this element's gphoto:timestamp attribute.
*
* @see setGphotoTimestamp
* @return string The requested attribute.
*/
public function getGphotoTimestamp()
{
return $this->_gphotoTimestamp;
}
/**
* Set the value for this element's gphoto:timestamp attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Timestamp The element being modified.
*/
public function setGphotoTimestamp($value)
{
$this->_gphotoTimestamp = $value;
return $this;
}
/**
* Get the value for this element's gphoto:commentCount attribute.
*
* @see setGphotoCommentCount
* @return string The requested attribute.
*/
public function getGphotoCommentCount()
{
return $this->_gphotoCommentCount;
}
/**
* Set the value for this element's gphoto:commentCount attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_CommentCount The element being modified.
*/
public function setGphotoCommentCount($value)
{
$this->_gphotoCommentCount = $value;
return $this;
}
/**
* Get the value for this element's gphoto:commentingEnabled attribute.
*
* @see setGphotoCommentingEnabled
* @return string The requested attribute.
*/
public function getGphotoCommentingEnabled()
{
return $this->_gphotoCommentingEnabled;
}
/**
* Set the value for this element's gphoto:commentingEnabled attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_CommentingEnabled The element being modified.
*/
public function setGphotoCommentingEnabled($value)
{
$this->_gphotoCommentingEnabled = $value;
return $this;
}
/**
* Get the value for this element's exif:tags attribute.
*
* @see setExifTags
* @return string The requested attribute.
*/
public function getExifTags()
{
return $this->_exifTags;
}
/**
* Set the value for this element's exif:tags attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Exif_Extension_Tags The element being modified.
*/
public function setExifTags($value)
{
$this->_exifTags = $value;
return $this;
}
/**
* Get the value for this element's georss:where attribute.
*
* @see setGeoRssWhere
* @return string The requested attribute.
*/
public function getGeoRssWhere()
{
return $this->_geoRssWhere;
}
/**
* Set the value for this element's georss:where attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Geo_Extension_GeoRssWhere The element being modified.
*/
public function setGeoRssWhere($value)
{
$this->_geoRssWhere = $value;
return $this;
}
/**
* Get the value for this element's media:group attribute.
*
* @see setMediaGroup
* @return string The requested attribute.
*/
public function getMediaGroup()
{
return $this->_mediaGroup;
}
/**
* Set the value for this element's media:group attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Media_Extension_MediaGroup The element being modified.
*/
public function setMediaGroup($value)
{
$this->_mediaGroup = $value;
return $this;
}
}
Photos/PhotoFeed.php 0000604 00000041616 15071215232 0010410 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* @see Zend_Gdata_Photos_PhotoEntry
*/
require_once 'Zend/Gdata/Photos/PhotoEntry.php';
/**
* Data model for a collection of photo entries, usually
* provided by the Picasa servers.
*
* For information on requesting this feed from a server, see the
* service class, Zend_Gdata_Photos.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_PhotoFeed extends Zend_Gdata_Feed
{
/**
* gphoto:id element
*
* @var Zend_Gdata_Photos_Extension_Id
*/
protected $_gphotoId = null;
/**
* gphoto:albumid element
*
* @var Zend_Gdata_Photos_Extension_AlbumId
*/
protected $_gphotoAlbumId = null;
/**
* gphoto:version element
*
* @var Zend_Gdata_Photos_Extension_Version
*/
protected $_gphotoVersion = null;
/**
* gphoto:width element
*
* @var Zend_Gdata_Photos_Extension_Width
*/
protected $_gphotoWidth = null;
/**
* gphoto:height element
*
* @var Zend_Gdata_Photos_Extension_Height
*/
protected $_gphotoHeight = null;
/**
* gphoto:size element
*
* @var Zend_Gdata_Photos_Extension_Size
*/
protected $_gphotoSize = null;
/**
* gphoto:client element
*
* @var Zend_Gdata_Photos_Extension_Client
*/
protected $_gphotoClient = null;
/**
* gphoto:checksum element
*
* @var Zend_Gdata_Photos_Extension_Checksum
*/
protected $_gphotoChecksum = null;
/**
* gphoto:timestamp element
*
* @var Zend_Gdata_Photos_Extension_Timestamp
*/
protected $_gphotoTimestamp = null;
/**
* gphoto:commentCount element
*
* @var Zend_Gdata_Photos_Extension_CommentCount
*/
protected $_gphotoCommentCount = null;
/**
* gphoto:commentingEnabled element
*
* @var Zend_Gdata_Photos_Extension_CommentingEnabled
*/
protected $_gphotoCommentingEnabled = null;
/**
* media:group element
*
* @var Zend_Gdata_Media_Extension_MediaGroup
*/
protected $_mediaGroup = null;
protected $_entryClassName = 'Zend_Gdata_Photos_PhotoEntry';
protected $_feedClassName = 'Zend_Gdata_Photos_PhotoFeed';
protected $_entryKindClassMapping = array(
'http://schemas.google.com/photos/2007#comment' => 'Zend_Gdata_Photos_CommentEntry',
'http://schemas.google.com/photos/2007#tag' => 'Zend_Gdata_Photos_TagEntry'
);
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct($element);
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_gphotoId != null) {
$element->appendChild($this->_gphotoId->getDOM($element->ownerDocument));
}
if ($this->_gphotoVersion != null) {
$element->appendChild($this->_gphotoVersion->getDOM($element->ownerDocument));
}
if ($this->_gphotoWidth != null) {
$element->appendChild($this->_gphotoWidth->getDOM($element->ownerDocument));
}
if ($this->_gphotoHeight != null) {
$element->appendChild($this->_gphotoHeight->getDOM($element->ownerDocument));
}
if ($this->_gphotoSize != null) {
$element->appendChild($this->_gphotoSize->getDOM($element->ownerDocument));
}
if ($this->_gphotoClient != null) {
$element->appendChild($this->_gphotoClient->getDOM($element->ownerDocument));
}
if ($this->_gphotoChecksum != null) {
$element->appendChild($this->_gphotoChecksum->getDOM($element->ownerDocument));
}
if ($this->_gphotoTimestamp != null) {
$element->appendChild($this->_gphotoTimestamp->getDOM($element->ownerDocument));
}
if ($this->_gphotoCommentingEnabled != null) {
$element->appendChild($this->_gphotoCommentingEnabled->getDOM($element->ownerDocument));
}
if ($this->_gphotoCommentCount != null) {
$element->appendChild($this->_gphotoCommentCount->getDOM($element->ownerDocument));
}
if ($this->_mediaGroup != null) {
$element->appendChild($this->_mediaGroup->getDOM($element->ownerDocument));
}
return $element;
}
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('gphoto') . ':' . 'id';
$id = new Zend_Gdata_Photos_Extension_Id();
$id->transferFromDOM($child);
$this->_gphotoId = $id;
break;
case $this->lookupNamespace('gphoto') . ':' . 'version';
$version = new Zend_Gdata_Photos_Extension_Version();
$version->transferFromDOM($child);
$this->_gphotoVersion = $version;
break;
case $this->lookupNamespace('gphoto') . ':' . 'albumid';
$albumid = new Zend_Gdata_Photos_Extension_AlbumId();
$albumid->transferFromDOM($child);
$this->_gphotoAlbumId = $albumid;
break;
case $this->lookupNamespace('gphoto') . ':' . 'width';
$width = new Zend_Gdata_Photos_Extension_Width();
$width->transferFromDOM($child);
$this->_gphotoWidth = $width;
break;
case $this->lookupNamespace('gphoto') . ':' . 'height';
$height = new Zend_Gdata_Photos_Extension_Height();
$height->transferFromDOM($child);
$this->_gphotoHeight = $height;
break;
case $this->lookupNamespace('gphoto') . ':' . 'size';
$size = new Zend_Gdata_Photos_Extension_Size();
$size->transferFromDOM($child);
$this->_gphotoSize = $size;
break;
case $this->lookupNamespace('gphoto') . ':' . 'client';
$client = new Zend_Gdata_Photos_Extension_Client();
$client->transferFromDOM($child);
$this->_gphotoClient = $client;
break;
case $this->lookupNamespace('gphoto') . ':' . 'checksum';
$checksum = new Zend_Gdata_Photos_Extension_Checksum();
$checksum->transferFromDOM($child);
$this->_gphotoChecksum = $checksum;
break;
case $this->lookupNamespace('gphoto') . ':' . 'timestamp';
$timestamp = new Zend_Gdata_Photos_Extension_Timestamp();
$timestamp->transferFromDOM($child);
$this->_gphotoTimestamp = $timestamp;
break;
case $this->lookupNamespace('gphoto') . ':' . 'commentingEnabled';
$commentingEnabled = new Zend_Gdata_Photos_Extension_CommentingEnabled();
$commentingEnabled->transferFromDOM($child);
$this->_gphotoCommentingEnabled = $commentingEnabled;
break;
case $this->lookupNamespace('gphoto') . ':' . 'commentCount';
$commentCount = new Zend_Gdata_Photos_Extension_CommentCount();
$commentCount->transferFromDOM($child);
$this->_gphotoCommentCount = $commentCount;
break;
case $this->lookupNamespace('media') . ':' . 'group';
$mediaGroup = new Zend_Gdata_Media_Extension_MediaGroup();
$mediaGroup->transferFromDOM($child);
$this->_mediaGroup = $mediaGroup;
break;
case $this->lookupNamespace('atom') . ':' . 'entry':
$entryClassName = $this->_entryClassName;
$tmpEntry = new Zend_Gdata_App_Entry($child);
$categories = $tmpEntry->getCategory();
foreach ($categories as $category) {
if ($category->scheme == Zend_Gdata_Photos::KIND_PATH &&
$this->_entryKindClassMapping[$category->term] != "") {
$entryClassName = $this->_entryKindClassMapping[$category->term];
break;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('Entry is missing kind declaration.');
}
}
$newEntry = new $entryClassName($child);
$newEntry->setHttpClient($this->getHttpClient());
$this->_entry[] = $newEntry;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Get the value for this element's gphoto:id attribute.
*
* @see setGphotoId
* @return string The requested attribute.
*/
public function getGphotoId()
{
return $this->_gphotoId;
}
/**
* Set the value for this element's gphoto:id attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Id The element being modified.
*/
public function setGphotoId($value)
{
$this->_gphotoId = $value;
return $this;
}
/**
* Get the value for this element's gphoto:version attribute.
*
* @see setGphotoVersion
* @return string The requested attribute.
*/
public function getGphotoVersion()
{
return $this->_gphotoVersion;
}
/**
* Set the value for this element's gphoto:version attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Version The element being modified.
*/
public function setGphotoVersion($value)
{
$this->_gphotoVersion = $value;
return $this;
}
/**
* Get the value for this element's gphoto:albumid attribute.
*
* @see setGphotoAlbumId
* @return string The requested attribute.
*/
public function getGphotoAlbumId()
{
return $this->_gphotoAlbumId;
}
/**
* Set the value for this element's gphoto:albumid attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_AlbumId The element being modified.
*/
public function setGphotoAlbumId($value)
{
$this->_gphotoAlbumId = $value;
return $this;
}
/**
* Get the value for this element's gphoto:width attribute.
*
* @see setGphotoWidth
* @return string The requested attribute.
*/
public function getGphotoWidth()
{
return $this->_gphotoWidth;
}
/**
* Set the value for this element's gphoto:width attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Width The element being modified.
*/
public function setGphotoWidth($value)
{
$this->_gphotoWidth = $value;
return $this;
}
/**
* Get the value for this element's gphoto:height attribute.
*
* @see setGphotoHeight
* @return string The requested attribute.
*/
public function getGphotoHeight()
{
return $this->_gphotoHeight;
}
/**
* Set the value for this element's gphoto:height attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Height The element being modified.
*/
public function setGphotoHeight($value)
{
$this->_gphotoHeight = $value;
return $this;
}
/**
* Get the value for this element's gphoto:size attribute.
*
* @see setGphotoSize
* @return string The requested attribute.
*/
public function getGphotoSize()
{
return $this->_gphotoSize;
}
/**
* Set the value for this element's gphoto:size attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Size The element being modified.
*/
public function setGphotoSize($value)
{
$this->_gphotoSize = $value;
return $this;
}
/**
* Get the value for this element's gphoto:client attribute.
*
* @see setGphotoClient
* @return string The requested attribute.
*/
public function getGphotoClient()
{
return $this->_gphotoClient;
}
/**
* Set the value for this element's gphoto:client attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Client The element being modified.
*/
public function setGphotoClient($value)
{
$this->_gphotoClient = $value;
return $this;
}
/**
* Get the value for this element's gphoto:checksum attribute.
*
* @see setGphotoChecksum
* @return string The requested attribute.
*/
public function getGphotoChecksum()
{
return $this->_gphotoChecksum;
}
/**
* Set the value for this element's gphoto:checksum attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Checksum The element being modified.
*/
public function setGphotoChecksum($value)
{
$this->_gphotoChecksum = $value;
return $this;
}
/**
* Get the value for this element's gphoto:timestamp attribute.
*
* @see setGphotoTimestamp
* @return string The requested attribute.
*/
public function getGphotoTimestamp()
{
return $this->_gphotoTimestamp;
}
/**
* Set the value for this element's gphoto:timestamp attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Timestamp The element being modified.
*/
public function setGphotoTimestamp($value)
{
$this->_gphotoTimestamp = $value;
return $this;
}
/**
* Get the value for this element's gphoto:commentCount attribute.
*
* @see setGphotoCommentCount
* @return string The requested attribute.
*/
public function getGphotoCommentCount()
{
return $this->_gphotoCommentCount;
}
/**
* Set the value for this element's gphoto:commentCount attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_CommentCount The element being modified.
*/
public function setGphotoCommentCount($value)
{
$this->_gphotoCommentCount = $value;
return $this;
}
/**
* Get the value for this element's gphoto:commentingEnabled attribute.
*
* @see setGphotoCommentingEnabled
* @return string The requested attribute.
*/
public function getGphotoCommentingEnabled()
{
return $this->_gphotoCommentingEnabled;
}
/**
* Set the value for this element's gphoto:commentingEnabled attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_CommentingEnabled The element being modified.
*/
public function setGphotoCommentingEnabled($value)
{
$this->_gphotoCommentingEnabled = $value;
return $this;
}
/**
* Get the value for this element's media:group attribute.
*
* @see setMediaGroup
* @return string The requested attribute.
*/
public function getMediaGroup()
{
return $this->_mediaGroup;
}
/**
* Set the value for this element's media:group attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Media_Extension_MediaGroup The element being modified.
*/
public function setMediaGroup($value)
{
$this->_mediaGroup = $value;
return $this;
}
}
Photos/PhotoQuery.php 0000604 00000005363 15071215232 0010651 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Gapps_Picasa_AlbumQuery
*/
require_once('Zend/Gdata/Photos/AlbumQuery.php');
/**
* Assists in constructing queries for comment/tag entries.
* Instances of this class can be provided in many places where a URL is
* required.
*
* For information on submitting queries to a server, see the
* service class, Zend_Gdata_Photos.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_PhotoQuery extends Zend_Gdata_Photos_AlbumQuery
{
/**
* The ID of the photo to query for.
*
* @var string
*/
protected $_photoId = null;
/**
* Set the photo ID to query for. When set, this photo's comments/tags
* will be returned. If not set or null, the default user's feed will be
* returned instead.
*
* @param string $value The ID of the photo to retrieve, or null to
* clear.
*/
public function setPhotoId($value)
{
$this->_photoId = $value;
}
/**
* Get the photo ID which is to be returned.
*
* @see setPhoto
* @return string The ID of the photo to retrieve.
*/
public function getPhotoId()
{
return $this->_photoId;
}
/**
* Returns the URL generated for this query, based on it's current
* parameters.
*
* @return string A URL generated based on the state of this query.
* @throws Zend_Gdata_App_InvalidArgumentException
*/
public function getQueryUrl($incomingUri = '')
{
$uri = '';
if ($this->getPhotoId() !== null) {
$uri .= '/photoid/' . $this->getPhotoId();
} else {
require_once 'Zend/Gdata/App/InvalidArgumentException.php';
throw new Zend_Gdata_App_InvalidArgumentException(
'PhotoId cannot be null');
}
$uri .= $incomingUri;
return parent::getQueryUrl($uri);
}
}
Photos/AlbumFeed.php 0000604 00000037012 15071215232 0010352 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos
*/
require_once 'Zend/Gdata/Photos.php';
/**
* @see Zend_Gdata_Feed
*/
require_once 'Zend/Gdata/Feed.php';
/**
* @see Zend_Gdata_Photos_AlbumEntry
*/
require_once 'Zend/Gdata/Photos/AlbumEntry.php';
/**
* Data model for a collection of album entries, usually
* provided by the servers.
*
* For information on requesting this feed from a server, see the
* service class, Zend_Gdata_Photos.
*
* @category Zend
* @package Zend_Gdata
* @subpackage Photos
* @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_Photos_AlbumFeed extends Zend_Gdata_Feed
{
protected $_entryClassName = 'Zend_Gdata_Photos_AlbumEntry';
protected $_feedClassName = 'Zend_Gdata_Photos_AlbumFeed';
/**
* gphoto:id element
*
* @var Zend_Gdata_Photos_Extension_Id
*/
protected $_gphotoId = null;
/**
* gphoto:user element
*
* @var Zend_Gdata_Photos_Extension_User
*/
protected $_gphotoUser = null;
/**
* gphoto:access element
*
* @var Zend_Gdata_Photos_Extension_Access
*/
protected $_gphotoAccess = null;
/**
* gphoto:location element
*
* @var Zend_Gdata_Photos_Extension_Location
*/
protected $_gphotoLocation = null;
/**
* gphoto:nickname element
*
* @var Zend_Gdata_Photos_Extension_Nickname
*/
protected $_gphotoNickname = null;
/**
* gphoto:timestamp element
*
* @var Zend_Gdata_Photos_Extension_Timestamp
*/
protected $_gphotoTimestamp = null;
/**
* gphoto:name element
*
* @var Zend_Gdata_Photos_Extension_Name
*/
protected $_gphotoName = null;
/**
* gphoto:numphotos element
*
* @var Zend_Gdata_Photos_Extension_NumPhotos
*/
protected $_gphotoNumPhotos = null;
/**
* gphoto:commentCount element
*
* @var Zend_Gdata_Photos_Extension_CommentCount
*/
protected $_gphotoCommentCount = null;
/**
* gphoto:commentingEnabled element
*
* @var Zend_Gdata_Photos_Extension_CommentingEnabled
*/
protected $_gphotoCommentingEnabled = null;
protected $_entryKindClassMapping = array(
'http://schemas.google.com/photos/2007#photo' => 'Zend_Gdata_Photos_PhotoEntry',
'http://schemas.google.com/photos/2007#comment' => 'Zend_Gdata_Photos_CommentEntry',
'http://schemas.google.com/photos/2007#tag' => 'Zend_Gdata_Photos_TagEntry'
);
public function __construct($element = null)
{
$this->registerAllNamespaces(Zend_Gdata_Photos::$namespaces);
parent::__construct($element);
}
public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
{
$element = parent::getDOM($doc, $majorVersion, $minorVersion);
if ($this->_gphotoId != null) {
$element->appendChild($this->_gphotoId->getDOM($element->ownerDocument));
}
if ($this->_gphotoUser != null) {
$element->appendChild($this->_gphotoUser->getDOM($element->ownerDocument));
}
if ($this->_gphotoNickname != null) {
$element->appendChild($this->_gphotoNickname->getDOM($element->ownerDocument));
}
if ($this->_gphotoName != null) {
$element->appendChild($this->_gphotoName->getDOM($element->ownerDocument));
}
if ($this->_gphotoLocation != null) {
$element->appendChild($this->_gphotoLocation->getDOM($element->ownerDocument));
}
if ($this->_gphotoAccess != null) {
$element->appendChild($this->_gphotoAccess->getDOM($element->ownerDocument));
}
if ($this->_gphotoTimestamp != null) {
$element->appendChild($this->_gphotoTimestamp->getDOM($element->ownerDocument));
}
if ($this->_gphotoNumPhotos != null) {
$element->appendChild($this->_gphotoNumPhotos->getDOM($element->ownerDocument));
}
if ($this->_gphotoCommentingEnabled != null) {
$element->appendChild($this->_gphotoCommentingEnabled->getDOM($element->ownerDocument));
}
if ($this->_gphotoCommentCount != null) {
$element->appendChild($this->_gphotoCommentCount->getDOM($element->ownerDocument));
}
return $element;
}
protected function takeChildFromDOM($child)
{
$absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
switch ($absoluteNodeName) {
case $this->lookupNamespace('gphoto') . ':' . 'id';
$id = new Zend_Gdata_Photos_Extension_Id();
$id->transferFromDOM($child);
$this->_gphotoId = $id;
break;
case $this->lookupNamespace('gphoto') . ':' . 'user';
$user = new Zend_Gdata_Photos_Extension_User();
$user->transferFromDOM($child);
$this->_gphotoUser = $user;
break;
case $this->lookupNamespace('gphoto') . ':' . 'nickname';
$nickname = new Zend_Gdata_Photos_Extension_Nickname();
$nickname->transferFromDOM($child);
$this->_gphotoNickname = $nickname;
break;
case $this->lookupNamespace('gphoto') . ':' . 'name';
$name = new Zend_Gdata_Photos_Extension_Name();
$name->transferFromDOM($child);
$this->_gphotoName = $name;
break;
case $this->lookupNamespace('gphoto') . ':' . 'location';
$location = new Zend_Gdata_Photos_Extension_Location();
$location->transferFromDOM($child);
$this->_gphotoLocation = $location;
break;
case $this->lookupNamespace('gphoto') . ':' . 'access';
$access = new Zend_Gdata_Photos_Extension_Access();
$access->transferFromDOM($child);
$this->_gphotoAccess = $access;
break;
case $this->lookupNamespace('gphoto') . ':' . 'timestamp';
$timestamp = new Zend_Gdata_Photos_Extension_Timestamp();
$timestamp->transferFromDOM($child);
$this->_gphotoTimestamp = $timestamp;
break;
case $this->lookupNamespace('gphoto') . ':' . 'numphotos';
$numphotos = new Zend_Gdata_Photos_Extension_NumPhotos();
$numphotos->transferFromDOM($child);
$this->_gphotoNumPhotos = $numphotos;
break;
case $this->lookupNamespace('gphoto') . ':' . 'commentingEnabled';
$commentingEnabled = new Zend_Gdata_Photos_Extension_CommentingEnabled();
$commentingEnabled->transferFromDOM($child);
$this->_gphotoCommentingEnabled = $commentingEnabled;
break;
case $this->lookupNamespace('gphoto') . ':' . 'commentCount';
$commentCount = new Zend_Gdata_Photos_Extension_CommentCount();
$commentCount->transferFromDOM($child);
$this->_gphotoCommentCount = $commentCount;
break;
case $this->lookupNamespace('atom') . ':' . 'entry':
$entryClassName = $this->_entryClassName;
$tmpEntry = new Zend_Gdata_App_Entry($child);
$categories = $tmpEntry->getCategory();
foreach ($categories as $category) {
if ($category->scheme == Zend_Gdata_Photos::KIND_PATH &&
$this->_entryKindClassMapping[$category->term] != "") {
$entryClassName = $this->_entryKindClassMapping[$category->term];
break;
} else {
require_once 'Zend/Gdata/App/Exception.php';
throw new Zend_Gdata_App_Exception('Entry is missing kind declaration.');
}
}
$newEntry = new $entryClassName($child);
$newEntry->setHttpClient($this->getHttpClient());
$this->_entry[] = $newEntry;
break;
default:
parent::takeChildFromDOM($child);
break;
}
}
/**
* Get the value for this element's gphoto:user attribute.
*
* @see setGphotoUser
* @return string The requested attribute.
*/
public function getGphotoUser()
{
return $this->_gphotoUser;
}
/**
* Set the value for this element's gphoto:user attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_User The element being modified.
*/
public function setGphotoUser($value)
{
$this->_gphotoUser = $value;
return $this;
}
/**
* Get the value for this element's gphoto:access attribute.
*
* @see setGphotoAccess
* @return string The requested attribute.
*/
public function getGphotoAccess()
{
return $this->_gphotoAccess;
}
/**
* Set the value for this element's gphoto:access attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Access The element being modified.
*/
public function setGphotoAccess($value)
{
$this->_gphotoAccess = $value;
return $this;
}
/**
* Get the value for this element's gphoto:location attribute.
*
* @see setGphotoLocation
* @return string The requested attribute.
*/
public function getGphotoLocation()
{
return $this->_gphotoLocation;
}
/**
* Set the value for this element's gphoto:location attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Location The element being modified.
*/
public function setGphotoLocation($value)
{
$this->_gphotoLocation = $value;
return $this;
}
/**
* Get the value for this element's gphoto:name attribute.
*
* @see setGphotoName
* @return string The requested attribute.
*/
public function getGphotoName()
{
return $this->_gphotoName;
}
/**
* Set the value for this element's gphoto:name attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Name The element being modified.
*/
public function setGphotoName($value)
{
$this->_gphotoName = $value;
return $this;
}
/**
* Get the value for this element's gphoto:numphotos attribute.
*
* @see setGphotoNumPhotos
* @return string The requested attribute.
*/
public function getGphotoNumPhotos()
{
return $this->_gphotoNumPhotos;
}
/**
* Set the value for this element's gphoto:numphotos attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_NumPhotos The element being modified.
*/
public function setGphotoNumPhotos($value)
{
$this->_gphotoNumPhotos = $value;
return $this;
}
/**
* Get the value for this element's gphoto:commentCount attribute.
*
* @see setGphotoCommentCount
* @return string The requested attribute.
*/
public function getGphotoCommentCount()
{
return $this->_gphotoCommentCount;
}
/**
* Set the value for this element's gphoto:commentCount attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_CommentCount The element being modified.
*/
public function setGphotoCommentCount($value)
{
$this->_gphotoCommentCount = $value;
return $this;
}
/**
* Get the value for this element's gphoto:commentingEnabled attribute.
*
* @see setGphotoCommentingEnabled
* @return string The requested attribute.
*/
public function getGphotoCommentingEnabled()
{
return $this->_gphotoCommentingEnabled;
}
/**
* Set the value for this element's gphoto:commentingEnabled attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_CommentingEnabled The element being modified.
*/
public function setGphotoCommentingEnabled($value)
{
$this->_gphotoCommentingEnabled = $value;
return $this;
}
/**
* Get the value for this element's gphoto:id attribute.
*
* @see setGphotoId
* @return string The requested attribute.
*/
public function getGphotoId()
{
return $this->_gphotoId;
}
/**
* Set the value for this element's gphoto:id attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Id The element being modified.
*/
public function setGphotoId($value)
{
$this->_gphotoId = $value;
return $this;
}
/**
* Get the value for this element's georss:where attribute.
*
* @see setGeoRssWhere
* @return string The requested attribute.
*/
public function getGeoRssWhere()
{
return $this->_geoRssWhere;
}
/**
* Set the value for this element's georss:where attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Geo_Extension_GeoRssWhere The element being modified.
*/
public function setGeoRssWhere($value)
{
$this->_geoRssWhere = $value;
return $this;
}
/**
* Get the value for this element's gphoto:nickname attribute.
*
* @see setGphotoNickname
* @return string The requested attribute.
*/
public function getGphotoNickname()
{
return $this->_gphotoNickname;
}
/**
* Set the value for this element's gphoto:nickname attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Nickname The element being modified.
*/
public function setGphotoNickname($value)
{
$this->_gphotoNickname = $value;
return $this;
}
/**
* Get the value for this element's gphoto:timestamp attribute.
*
* @see setGphotoTimestamp
* @return string The requested attribute.
*/
public function getGphotoTimestamp()
{
return $this->_gphotoTimestamp;
}
/**
* Set the value for this element's gphoto:timestamp attribute.
*
* @param string $value The desired value for this attribute.
* @return Zend_Gdata_Photos_Extension_Timestamp The element being modified.
*/
public function setGphotoTimestamp($value)
{
$this->_gphotoTimestamp = $value;
return $this;
}
}