2019-07-17 20:08:50 +00:00
< ? php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE . txt .
* It is also available through the world - wide - web at this URL :
* http :// framework . zend . com / license / new - bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world - 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
2019-07-17 20:19:00 +00:00
* @ copyright Copyright ( c ) 2005 - 2009 Zend Technologies USA Inc . ( http :// www . zend . com )
2019-07-17 20:08:50 +00:00
* @ license http :// framework . zend . com / license / new - bsd New BSD License
2019-07-17 20:31:04 +00:00
* @ version $Id : Error . php 18951 2009 - 11 - 12 16 : 26 : 19 Z alexander $
2019-07-17 20:08:50 +00:00
*/
/**
* Zend_Gdata_App_Base
*/
require_once 'Zend/Gdata/App/Base.php' ;
/**
2019-07-17 20:31:04 +00:00
* Gdata Gapps Error class . This class is used to represent errors returned
* within an AppsForYourDomainErrors message received from the Google Apps
2019-07-17 20:08:50 +00:00
* servers .
*
2019-07-17 20:31:04 +00:00
* Several different errors may be represented by this class , determined by
* the error code returned by the server . For a list of error codes
2019-07-17 20:08:50 +00:00
* available at the time of this writing , see getErrorCode .
*
* @ category Zend
* @ package Zend_Gdata
2019-07-17 20:16:19 +00:00
* @ subpackage Gapps
2019-07-17 20:19:00 +00:00
* @ copyright Copyright ( c ) 2005 - 2009 Zend Technologies USA Inc . ( http :// www . zend . com )
2019-07-17 20:08:50 +00:00
* @ license http :// framework . zend . com / license / new - bsd New BSD License
*/
class Zend_Gdata_Gapps_Error extends Zend_Gdata_App_Base
{
2019-07-17 20:31:04 +00:00
// Error codes as defined at
2019-07-17 20:08:50 +00:00
// http://code.google.com/apis/apps/gdata_provisioning_api_v2.0_reference.html#appendix_d
2019-07-17 20:31:04 +00:00
2019-07-17 20:08:50 +00:00
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 ;
2019-07-17 20:31:04 +00:00
2019-07-17 20:08:50 +00:00
protected $_errorCode = null ;
protected $_reason = null ;
protected $_invalidInput = null ;
2019-07-17 20:31:04 +00:00
public function __construct ( $errorCode = null , $reason = null ,
2019-07-17 20:08:50 +00:00
$invalidInput = null ) {
parent :: __construct ( " Google Apps error received: $errorCode ( $reason ) " );
$this -> _errorCode = $errorCode ;
$this -> _reason = $reason ;
$this -> _invalidInput = $invalidInput ;
}
2019-07-17 20:31:04 +00:00
2019-07-17 20:08:50 +00:00
/**
2019-07-17 20:31:04 +00:00
* Set the error code for this exception . For more information about
2019-07-17 20:08:50 +00:00
* error codes , see getErrorCode .
2019-07-17 20:31:04 +00:00
*
2019-07-17 20:08:50 +00:00
* @ see getErrorCode
* @ param integer $value The new value for the error code .
*/
public function setErrorCode ( $value ) {
$this -> _errorCode = $value ;
}
2019-07-17 20:31:04 +00:00
/**
* Get the error code for this exception . Currently valid values are
2019-07-17 20:08:50 +00:00
* available as constants within this class . These values are :
2019-07-17 20:31:04 +00:00
*
2019-07-17 20:08:50 +00:00
* 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 )
2019-07-17 20:31:04 +00:00
*
* Numbers in parenthesis indicate the actual integer value of the
* constant . This list should not be treated as exhaustive , as additional
2019-07-17 20:08:50 +00:00
* error codes may be added at any time .
2019-07-17 20:31:04 +00:00
*
* For more information about these codes and their meaning , please
2019-07-17 20:08:50 +00:00
* see Appendix D of the Google Apps Provisioning API Reference .
2019-07-17 20:31:04 +00:00
*
2019-07-17 20:08:50 +00:00
* @ 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 ;
}
2019-07-17 20:31:04 +00:00
2019-07-17 20:08:50 +00:00
/**
* Set human - readable text describing the reason this exception occurred .
2019-07-17 20:31:04 +00:00
*
2019-07-17 20:08:50 +00:00
* @ see getReason
* @ param string $value The reason this exception occurred .
*/
public function setReason ( $value ) {
$this -> _reason = $value ;
}
2019-07-17 20:31:04 +00:00
2019-07-17 20:08:50 +00:00
/**
* Get human - readable text describing the reason this exception occurred .
2019-07-17 20:31:04 +00:00
*
2019-07-17 20:08:50 +00:00
* @ see setReason
* @ return string The reason this exception occurred .
*/
public function getReason () {
return $this -> _reason ;
}
/**
* Set the invalid input which caused this exception .
2019-07-17 20:31:04 +00:00
*
2019-07-17 20:08:50 +00:00
* @ see getInvalidInput
* @ param string $value The invalid input that triggered this exception .
*/
public function setInvalidInput ( $value ) {
$this -> _invalidInput = $value ;
}
2019-07-17 20:31:04 +00:00
2019-07-17 20:08:50 +00:00
/**
* Set the invalid input which caused this exception .
2019-07-17 20:31:04 +00:00
*
2019-07-17 20:08:50 +00:00
* @ see setInvalidInput
* @ return string The reason this exception occurred .
*/
public function getInvalidInput () {
return $this -> _invalidInput ;
}
2019-07-17 20:31:04 +00:00
2019-07-17 20:08:50 +00:00
/**
* 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 ;
}
2019-07-17 20:31:04 +00:00
2019-07-17 20:08:50 +00:00
/**
* 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 );
}
}
2019-07-17 20:31:04 +00:00
2019-07-17 20:08:50 +00:00
/**
* Get a human readable version of this exception .
2019-07-17 20:31:04 +00:00
*
2019-07-17 20:08:50 +00:00
* @ return string
*/
public function __toString () {
return " Error " . $this -> getErrorCode () . " : " . $this -> getReason () .
" \n \t Invalid Input: \" " . $this -> getInvalidInput () . " \" " ;
}
}