File: Exception.php

package info (click to toggle)
zendframework 1.10.6-1squeeze2
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 29,480 kB
  • ctags: 46,247
  • sloc: xml: 233,973; php: 195,700; sql: 90; sh: 19; makefile: 10
file content (173 lines) | stat: -rw-r--r-- 6,847 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
<?php

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

/**
 * @see Zend_Exception
 */
require_once 'Zend/Exception.php';

/**
 * @category   Zend
 * @package    Zend_Ldap
 * @uses       Zend_Exception
 * @copyright  Copyright (c) 2005-2010 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();
    }
}