!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

E:\xampp\xampp\php\PEAR\Zend\Gdata\   drwxrwxrwx
Free 7.26 GB of 239.26 GB (3.03%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     Gapps.php (41.05 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/**
 * Zend Framework
 *
 * LICENSE
 *
 * This source file is subject to the new BSD license that is bundled
 * with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://framework.zend.com/license/new-bsd
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-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-2009 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 * @version    $Id: Gapps.php 16971 2009-07-22 18:05:45Z mikaelkael $
 */

/**
 * @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-2009 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'10)
    );

    
/**
     * 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) {
        
// 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
            // an exception and throw it.
            
require_once 'Zend/Gdata/Gapps/ServiceException.php';
            
$error = new Zend_Gdata_Gapps_ServiceException();
            
$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
            // 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 {
                     
// Autoloading disabled on next line for compatibility
                     // with magic factories. See ZF-6660.
                     
if (!class_exists($name '_' $classfalse)) {
                        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);
    }

}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0312 ]--