import v1.1.0_beta1 | 2009-08-21
This commit is contained in:
@ -48,46 +48,47 @@ 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
|
||||
*
|
||||
* 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
|
||||
*
|
||||
* 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://www.google.com/a/feeds';
|
||||
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.
|
||||
*
|
||||
@ -95,15 +96,21 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
*/
|
||||
protected $_domain = null;
|
||||
|
||||
/**
|
||||
* Namespaces used for Zend_Gdata_Gapps
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public static $namespaces = array(
|
||||
'apps' => 'http://schemas.google.com/apps/2006');
|
||||
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
|
||||
* @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
|
||||
*/
|
||||
@ -113,12 +120,12 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
$this->registerPackage('Zend_Gdata_Gapps_Extension');
|
||||
parent::__construct($client, $applicationId);
|
||||
$this->_httpClient->setParameterPost('service', self::AUTH_SERVICE_NAME);
|
||||
$this->_domain = $domain;
|
||||
$this->_domain = $domain;
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert an exception to an ServiceException if an AppsForYourDomain
|
||||
* XML document is contained within the original exception's HTTP
|
||||
* 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.
|
||||
@ -126,32 +133,41 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
* @throws mixed
|
||||
*/
|
||||
public static function throwServiceExceptionIfDetected($e) {
|
||||
// Check to make sure that there actually response!
|
||||
// This can happen if the connection dies before the request
|
||||
// completes. (See ZF-5949)
|
||||
$response = $e->getResponse();
|
||||
if (!$response) {
|
||||
require_once('Zend/Gdata/App/IOException.php');
|
||||
throw new Zend_Gdata_App_IOException('No HTTP response received (possible connection failure)');
|
||||
}
|
||||
|
||||
try {
|
||||
// Check to see if there is an AppsForYourDomainErrors
|
||||
// datastructure in the response. If so, convert it to
|
||||
// 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());
|
||||
$error->importFromString($response->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
|
||||
// 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,
|
||||
* 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
|
||||
* @param Zend_Http_Client $client (optional) The client used for
|
||||
* communication
|
||||
* @param string $className (optional) The class which is used as the
|
||||
* @param string $className (optional) The class which is used as the
|
||||
* return type
|
||||
* @throws Zend_Gdata_App_Exception
|
||||
* @throws Zend_Gdata_App_HttpException
|
||||
@ -166,12 +182,12 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
self::throwServiceExceptionIfDetected($e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* GET a URI using client object.
|
||||
* This method overrides the default behavior of Zend_Gdata_App,
|
||||
* 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.
|
||||
@ -186,13 +202,13 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
} catch (Zend_Gdata_App_HttpException $e) {
|
||||
self::throwServiceExceptionIfDetected($e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* POST data with client object.
|
||||
* This method overrides the default behavior of Zend_Gdata_App,
|
||||
* 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)
|
||||
@ -203,7 +219,7 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
* @throws Zend_Gdata_App_InvalidArgumentException
|
||||
* @throws Zend_Gdata_Gapps_ServiceException
|
||||
*/
|
||||
public function post($data, $uri = null, $remainingRedirects = null,
|
||||
public function post($data, $uri = null, $remainingRedirects = null,
|
||||
$contentType = null, $extraHeaders = null)
|
||||
{
|
||||
try {
|
||||
@ -211,13 +227,13 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
} catch (Zend_Gdata_App_HttpException $e) {
|
||||
self::throwServiceExceptionIfDetected($e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* PUT data with client object
|
||||
* This method overrides the default behavior of Zend_Gdata_App,
|
||||
* 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)
|
||||
@ -228,7 +244,7 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
* @throws Zend_Gdata_App_InvalidArgumentException
|
||||
* @throws Zend_Gdata_Gapps_ServiceException
|
||||
*/
|
||||
public function put($data, $uri = null, $remainingRedirects = null,
|
||||
public function put($data, $uri = null, $remainingRedirects = null,
|
||||
$contentType = null, $extraHeaders = null)
|
||||
{
|
||||
try {
|
||||
@ -236,13 +252,13 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
} catch (Zend_Gdata_App_HttpException $e) {
|
||||
self::throwServiceExceptionIfDetected($e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* DELETE entry with client object
|
||||
* This method overrides the default behavior of Zend_Gdata_App,
|
||||
* 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
|
||||
@ -260,14 +276,14 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
}
|
||||
|
||||
/**
|
||||
* Set domain for this service instance. This should be a fully qualified
|
||||
* 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
|
||||
* 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)
|
||||
@ -276,11 +292,11 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
* 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
|
||||
*
|
||||
* @return string The domain to be used for this session, or null if not
|
||||
* set.
|
||||
*/
|
||||
public function getDomain()
|
||||
@ -289,11 +305,11 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the base URL used to access the Google Apps service, based
|
||||
* on the current domain. The current domain can be temporarily
|
||||
* 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
|
||||
* @param string $domain (optional) A fully-qualified domain to use
|
||||
* instead of the default domain for this service instance.
|
||||
* @throws Zend_Gdata_App_InvalidArgumentException
|
||||
*/
|
||||
@ -313,7 +329,7 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
/**
|
||||
* Retrieve a UserFeed containing multiple UserEntry objects.
|
||||
*
|
||||
* @param mixed $location (optional) The location for the feed, as a URL
|
||||
* @param mixed $location (optional) The location for the feed, as a URL
|
||||
* or Query.
|
||||
* @return Zend_Gdata_Gapps_UserFeed
|
||||
* @throws Zend_Gdata_App_Exception
|
||||
@ -335,7 +351,7 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
/**
|
||||
* Retreive NicknameFeed object containing multiple NicknameEntry objects.
|
||||
*
|
||||
* @param mixed $location (optional) The location for the feed, as a URL
|
||||
* @param mixed $location (optional) The location for the feed, as a URL
|
||||
* or Query.
|
||||
* @return Zend_Gdata_Gapps_NicknameFeed
|
||||
* @throws Zend_Gdata_App_Exception
|
||||
@ -355,10 +371,10 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
}
|
||||
|
||||
/**
|
||||
* Retreive EmailListFeed object containing multiple EmailListEntry
|
||||
* Retreive EmailListFeed object containing multiple EmailListEntry
|
||||
* objects.
|
||||
*
|
||||
* @param mixed $location (optional) The location for the feed, as a URL
|
||||
* @param mixed $location (optional) The location for the feed, as a URL
|
||||
* or Query.
|
||||
* @return Zend_Gdata_Gapps_EmailListFeed
|
||||
* @throws Zend_Gdata_App_Exception
|
||||
@ -378,7 +394,7 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
}
|
||||
|
||||
/**
|
||||
* Retreive EmailListRecipientFeed object containing multiple
|
||||
* Retreive EmailListRecipientFeed object containing multiple
|
||||
* EmailListRecipientEntry objects.
|
||||
*
|
||||
* @param mixed $location The location for the feed, as a URL or Query.
|
||||
@ -495,12 +511,12 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
|
||||
/**
|
||||
* 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
|
||||
* @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
|
||||
* @return Zend_Gdata_Gapps_UserEntry The inserted user entry as
|
||||
* returned by the server.
|
||||
* @throws Zend_Gdata_App_Exception
|
||||
* @throws Zend_Gdata_App_HttpException
|
||||
@ -517,13 +533,13 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
|
||||
/**
|
||||
* Create a new nickname from a NicknameEntry.
|
||||
*
|
||||
* @param Zend_Gdata_Gapps_NicknameEntry $nickname The nickname entry to
|
||||
*
|
||||
* @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
|
||||
* @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
|
||||
* @return Zend_Gdata_Gapps_NicknameEntry The inserted nickname entry as
|
||||
* returned by the server.
|
||||
* @throws Zend_Gdata_App_Exception
|
||||
* @throws Zend_Gdata_App_HttpException
|
||||
@ -540,13 +556,13 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
|
||||
/**
|
||||
* 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
|
||||
* @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
|
||||
* @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
|
||||
@ -560,16 +576,16 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
$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
|
||||
*
|
||||
* @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
|
||||
* @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
|
||||
* @return Zend_Gdata_Gapps_EmailListRecipientEntry The inserted
|
||||
* recipient entry as returned by the server.
|
||||
* @throws Zend_Gdata_App_Exception
|
||||
* @throws Zend_Gdata_App_HttpException
|
||||
@ -587,14 +603,14 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
$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
|
||||
* 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()
|
||||
@ -608,9 +624,11 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
$foundClassName = null;
|
||||
foreach ($this->_registeredPackages as $name) {
|
||||
try {
|
||||
require_once 'Zend/Loader.php';
|
||||
@Zend_Loader::loadClass("${name}_${class}");
|
||||
$foundClassName = "${name}_${class}";
|
||||
if (!class_exists($name . '_' . $class)) {
|
||||
require_once 'Zend/Loader.php';
|
||||
@Zend_Loader::loadClass($name . '_' . $class);
|
||||
}
|
||||
$foundClassName = $name . '_' . $class;
|
||||
break;
|
||||
} catch (Zend_Exception $e) {
|
||||
// package wasn't here- continue searching
|
||||
@ -629,29 +647,29 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
} 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
|
||||
* (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
|
||||
* @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,
|
||||
public function createUser ($username, $givenName, $familyName, $password,
|
||||
$passwordHashFunction = null, $quotaLimitInMB = null) {
|
||||
$user = $this->newUserEntry();
|
||||
$user->login = $this->newLogin();
|
||||
@ -667,12 +685,12 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
}
|
||||
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
|
||||
* @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
|
||||
@ -691,15 +709,15 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
}
|
||||
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
|
||||
* @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
|
||||
* @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
|
||||
@ -710,14 +728,14 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
$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
|
||||
* 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
|
||||
* @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
|
||||
@ -726,36 +744,36 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
public function retrieveAllUsers () {
|
||||
return $this->retrieveAllEntriesForFeed($this->retrievePageOfUsers());
|
||||
}
|
||||
|
||||
/**
|
||||
* Overwrite a specified username with the provided UserEntry. The
|
||||
|
||||
/**
|
||||
* 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
|
||||
*
|
||||
* 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
|
||||
* @param Zend_Gdata_Gapps_UserEntry $userEntry The user entry which
|
||||
* will be overwritten.
|
||||
* @return Zend_Gdata_Gapps_UserEntry The UserEntry returned by the
|
||||
* @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() .
|
||||
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
|
||||
*
|
||||
* @param string $username The username associated with the user who
|
||||
* should be suspended.
|
||||
* @return Zend_Gdata_Gapps_UserEntry The UserEntry for the modified
|
||||
* @return Zend_Gdata_Gapps_UserEntry The UserEntry for the modified
|
||||
* user.
|
||||
* @throws Zend_Gdata_App_Exception
|
||||
* @throws Zend_Gdata_App_HttpException
|
||||
@ -766,13 +784,13 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
$user->login->suspended = true;
|
||||
return $user->save();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Mark a given user as not suspended.
|
||||
*
|
||||
* @param string $username The username associated with the user who
|
||||
*
|
||||
* @param string $username The username associated with the user who
|
||||
* should be restored.
|
||||
* @return Zend_Gdata_Gapps_UserEntry The UserEntry for the modified
|
||||
* @return Zend_Gdata_Gapps_UserEntry The UserEntry for the modified
|
||||
* user.
|
||||
* @throws Zend_Gdata_App_Exception
|
||||
* @throws Zend_Gdata_App_HttpException
|
||||
@ -783,28 +801,28 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
$user->login->suspended = false;
|
||||
return $user->save();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Delete a user by username.
|
||||
*
|
||||
* @param string $username The username associated with the user who
|
||||
*
|
||||
* @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 . '/' .
|
||||
$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
|
||||
* @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
|
||||
* @return Zend_Gdata_Gapps_NicknameEntry The nickname entry which was
|
||||
* created by the server.
|
||||
* @throws Zend_Gdata_App_Exception
|
||||
* @throws Zend_Gdata_App_HttpException
|
||||
@ -818,7 +836,7 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
$entry->login = $login;
|
||||
return $this->insertNickname($entry);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retrieve the entry for a specified nickname.
|
||||
*
|
||||
@ -843,14 +861,14 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
}
|
||||
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
|
||||
* @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
|
||||
@ -862,15 +880,15 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
$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
|
||||
* @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
|
||||
* @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
|
||||
@ -881,14 +899,14 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
$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
|
||||
* 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
|
||||
* @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
|
||||
@ -897,10 +915,10 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
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
|
||||
@ -914,7 +932,7 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
* 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
|
||||
* @return Zend_Gdata_Gapps_EmailListEntry The email list entry
|
||||
* as created on the server.
|
||||
* @throws Zend_Gdata_App_Exception
|
||||
* @throws Zend_Gdata_App_HttpException
|
||||
@ -927,11 +945,11 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
$entry->emailList = $list;
|
||||
return $this->insertEmailList($entry);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retrieve all email lists associated with a recipient.
|
||||
*
|
||||
* @param string $username The recipient whose associated email lists
|
||||
*
|
||||
* @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.
|
||||
@ -944,15 +962,15 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
$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
|
||||
* @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
|
||||
* @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
|
||||
@ -963,11 +981,11 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
$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
|
||||
* 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
|
||||
@ -979,28 +997,28 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
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 . '/'
|
||||
$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
|
||||
*
|
||||
* @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
|
||||
* @param string $emailList The name of the email address to which the
|
||||
* recipient should be added.
|
||||
* @return Zend_Gdata_Gapps_EmailListRecipientEntry The recipient entry
|
||||
* @return Zend_Gdata_Gapps_EmailListRecipientEntry The recipient entry
|
||||
* created by the server.
|
||||
* @throws Zend_Gdata_App_Exception
|
||||
* @throws Zend_Gdata_App_HttpException
|
||||
@ -1011,38 +1029,38 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
$who = $this->newWho();
|
||||
$who->email = $recipientAddress;
|
||||
$entry->who = $who;
|
||||
$address = $this->getBaseUrl() . self::APPS_EMAIL_LIST_PATH . '/' .
|
||||
$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,
|
||||
* 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
|
||||
* @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
|
||||
* @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,
|
||||
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
|
||||
* 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.
|
||||
@ -1056,21 +1074,21 @@ class Zend_Gdata_Gapps extends Zend_Gdata
|
||||
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
|
||||
* @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 . '/'
|
||||
$this->delete($this->getBaseUrl() . self::APPS_EMAIL_LIST_PATH . '/'
|
||||
. $emailList . self::APPS_EMAIL_LIST_RECIPIENT_POSTFIX . '/'
|
||||
. $recipientAddress);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user