174 lines
6.7 KiB
PHP
174 lines
6.7 KiB
PHP
|
<?php
|
||
|
|
||
|
/**
|
||
|
* Zend Framework
|
||
|
*
|
||
|
* LICENSE
|
||
|
*
|
||
|
* This source file is subject to the new BSD license that is bundled
|
||
|
* with this package in the file LICENSE.txt.
|
||
|
* It is also available through the world-wide-web at this URL:
|
||
|
* http://framework.zend.com/license/new-bsd
|
||
|
* If you did not receive a copy of the license and are unable to
|
||
|
* obtain it through the world-wide-web, please send an email
|
||
|
* to license@zend.com so we can send you a copy immediately.
|
||
|
*
|
||
|
* @category Zend
|
||
|
* @package Zend_Ldap
|
||
|
* @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: Exception.php 17829 2009-08-26 15:07:10Z sgehrig $
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* @see Zend_Exception
|
||
|
*/
|
||
|
require_once 'Zend/Exception.php';
|
||
|
|
||
|
/**
|
||
|
* @category Zend
|
||
|
* @package Zend_Ldap
|
||
|
* @uses Zend_Exception
|
||
|
* @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_Ldap_Exception extends Zend_Exception
|
||
|
{
|
||
|
const LDAP_SUCCESS = 0x00;
|
||
|
const LDAP_OPERATIONS_ERROR = 0x01;
|
||
|
const LDAP_PROTOCOL_ERROR = 0x02;
|
||
|
const LDAP_TIMELIMIT_EXCEEDED = 0x03;
|
||
|
const LDAP_SIZELIMIT_EXCEEDED = 0x04;
|
||
|
const LDAP_COMPARE_FALSE = 0x05;
|
||
|
const LDAP_COMPARE_TRUE = 0x06;
|
||
|
const LDAP_AUTH_METHOD_NOT_SUPPORTED = 0x07;
|
||
|
const LDAP_STRONG_AUTH_REQUIRED = 0x08;
|
||
|
const LDAP_PARTIAL_RESULTS = 0x09;
|
||
|
const LDAP_REFERRAL = 0x0a;
|
||
|
const LDAP_ADMINLIMIT_EXCEEDED = 0x0b;
|
||
|
const LDAP_UNAVAILABLE_CRITICAL_EXTENSION = 0x0c;
|
||
|
const LDAP_CONFIDENTIALITY_REQUIRED = 0x0d;
|
||
|
const LDAP_SASL_BIND_IN_PROGRESS = 0x0e;
|
||
|
const LDAP_NO_SUCH_ATTRIBUTE = 0x10;
|
||
|
const LDAP_UNDEFINED_TYPE = 0x11;
|
||
|
const LDAP_INAPPROPRIATE_MATCHING = 0x12;
|
||
|
const LDAP_CONSTRAINT_VIOLATION = 0x13;
|
||
|
const LDAP_TYPE_OR_VALUE_EXISTS = 0x14;
|
||
|
const LDAP_INVALID_SYNTAX = 0x15;
|
||
|
const LDAP_NO_SUCH_OBJECT = 0x20;
|
||
|
const LDAP_ALIAS_PROBLEM = 0x21;
|
||
|
const LDAP_INVALID_DN_SYNTAX = 0x22;
|
||
|
const LDAP_IS_LEAF = 0x23;
|
||
|
const LDAP_ALIAS_DEREF_PROBLEM = 0x24;
|
||
|
const LDAP_PROXY_AUTHZ_FAILURE = 0x2F;
|
||
|
const LDAP_INAPPROPRIATE_AUTH = 0x30;
|
||
|
const LDAP_INVALID_CREDENTIALS = 0x31;
|
||
|
const LDAP_INSUFFICIENT_ACCESS = 0x32;
|
||
|
const LDAP_BUSY = 0x33;
|
||
|
const LDAP_UNAVAILABLE = 0x34;
|
||
|
const LDAP_UNWILLING_TO_PERFORM = 0x35;
|
||
|
const LDAP_LOOP_DETECT = 0x36;
|
||
|
const LDAP_NAMING_VIOLATION = 0x40;
|
||
|
const LDAP_OBJECT_CLASS_VIOLATION = 0x41;
|
||
|
const LDAP_NOT_ALLOWED_ON_NONLEAF = 0x42;
|
||
|
const LDAP_NOT_ALLOWED_ON_RDN = 0x43;
|
||
|
const LDAP_ALREADY_EXISTS = 0x44;
|
||
|
const LDAP_NO_OBJECT_CLASS_MODS = 0x45;
|
||
|
const LDAP_RESULTS_TOO_LARGE = 0x46;
|
||
|
const LDAP_AFFECTS_MULTIPLE_DSAS = 0x47;
|
||
|
const LDAP_OTHER = 0x50;
|
||
|
const LDAP_SERVER_DOWN = 0x51;
|
||
|
const LDAP_LOCAL_ERROR = 0x52;
|
||
|
const LDAP_ENCODING_ERROR = 0x53;
|
||
|
const LDAP_DECODING_ERROR = 0x54;
|
||
|
const LDAP_TIMEOUT = 0x55;
|
||
|
const LDAP_AUTH_UNKNOWN = 0x56;
|
||
|
const LDAP_FILTER_ERROR = 0x57;
|
||
|
const LDAP_USER_CANCELLED = 0x58;
|
||
|
const LDAP_PARAM_ERROR = 0x59;
|
||
|
const LDAP_NO_MEMORY = 0x5a;
|
||
|
const LDAP_CONNECT_ERROR = 0x5b;
|
||
|
const LDAP_NOT_SUPPORTED = 0x5c;
|
||
|
const LDAP_CONTROL_NOT_FOUND = 0x5d;
|
||
|
const LDAP_NO_RESULTS_RETURNED = 0x5e;
|
||
|
const LDAP_MORE_RESULTS_TO_RETURN = 0x5f;
|
||
|
const LDAP_CLIENT_LOOP = 0x60;
|
||
|
const LDAP_REFERRAL_LIMIT_EXCEEDED = 0x61;
|
||
|
const LDAP_CUP_RESOURCES_EXHAUSTED = 0x71;
|
||
|
const LDAP_CUP_SECURITY_VIOLATION = 0x72;
|
||
|
const LDAP_CUP_INVALID_DATA = 0x73;
|
||
|
const LDAP_CUP_UNSUPPORTED_SCHEME = 0x74;
|
||
|
const LDAP_CUP_RELOAD_REQUIRED = 0x75;
|
||
|
const LDAP_CANCELLED = 0x76;
|
||
|
const LDAP_NO_SUCH_OPERATION = 0x77;
|
||
|
const LDAP_TOO_LATE = 0x78;
|
||
|
const LDAP_CANNOT_CANCEL = 0x79;
|
||
|
const LDAP_ASSERTION_FAILED = 0x7A;
|
||
|
const LDAP_SYNC_REFRESH_REQUIRED = 0x1000;
|
||
|
const LDAP_X_SYNC_REFRESH_REQUIRED = 0x4100;
|
||
|
const LDAP_X_NO_OPERATION = 0x410e;
|
||
|
const LDAP_X_ASSERTION_FAILED = 0x410f;
|
||
|
const LDAP_X_NO_REFERRALS_FOUND = 0x4110;
|
||
|
const LDAP_X_CANNOT_CHAIN = 0x4111;
|
||
|
|
||
|
/* internal error code constants */
|
||
|
|
||
|
const LDAP_X_DOMAIN_MISMATCH = 0x7001;
|
||
|
const LDAP_X_EXTENSION_NOT_LOADED = 0x7002;
|
||
|
|
||
|
/**
|
||
|
* @param Zend_Ldap $ldap A Zend_Ldap object
|
||
|
* @param string $str An informtive exception message
|
||
|
* @param int $code An LDAP error code
|
||
|
*/
|
||
|
public function __construct(Zend_Ldap $ldap = null, $str = null, $code = 0)
|
||
|
{
|
||
|
$errorMessages = array();
|
||
|
$message = '';
|
||
|
if ($ldap !== null) {
|
||
|
$oldCode = $code;
|
||
|
$message = $ldap->getLastError($code, $errorMessages) . ': ';
|
||
|
if ($code === 0) {
|
||
|
$message = '';
|
||
|
$code = $oldCode;
|
||
|
}
|
||
|
}
|
||
|
if (empty($message)) {
|
||
|
if ($code > 0) {
|
||
|
$message = '0x' . dechex($code) . ': ';
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (!empty($str)) {
|
||
|
$message .= $str;
|
||
|
} else {
|
||
|
$message .= 'no exception message';
|
||
|
}
|
||
|
|
||
|
parent::__construct($message, $code);
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @deprecated not necessary any more - will be removed
|
||
|
* @param Zend_Ldap $ldap A Zend_Ldap object
|
||
|
* @return int The current error code for the resource
|
||
|
*/
|
||
|
public static function getLdapCode(Zend_Ldap $ldap = null)
|
||
|
{
|
||
|
if ($ldap !== null) {
|
||
|
return $ldap->getLastErrorCode();
|
||
|
}
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @deprecated will be removed
|
||
|
* @return int The current error code for this exception
|
||
|
*/
|
||
|
public function getErrorCode()
|
||
|
{
|
||
|
return $this->getCode();
|
||
|
}
|
||
|
}
|