blob: c8d763d94eb18b71f936eb3972bdfb1d5837e508 (
plain)
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
|
<?php
/*
+--------------------------------------------------------------------------+
| This file is part of the Kolab Web Admin Panel |
| |
| Copyright (C) 2011-2014, Kolab Systems AG |
| |
| This program is free software: you can redistribute it and/or modify |
| it under the terms of the GNU Affero General Public License as published |
| by the Free Software Foundation, either version 3 of the License, or |
| (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU Affero General Public License for more details. |
| |
| You should have received a copy of the GNU Affero General Public License |
| along with this program. If not, see <http://www.gnu.org/licenses/> |
+--------------------------------------------------------------------------+
| Author: Aleksander Machniak <machniak@kolabsys.com> |
+--------------------------------------------------------------------------+
*/
/**
* Main exception class for Kolab Admin API responses
*/
class kolab_api_exception extends Exception
{
const UNAUTHORIZED = 401;
const FORBIDDEN = 403;
const NOT_FOUND = 404;
const TIMEOUT = 408;
const DOMAIN_NOT_EMPTY = 450;
const SERVER_ERROR = 500;
const TEMP_ERROR = 503;
/**
* Constructor
*/
function __construct()
{
$args = func_get_args();
if (isset($args[1])) {
$code = $args[1];
$message = $args[0];
}
else if (is_int($args[0])) {
$code = $args[0];
$message = null;
}
else {
$message = $args[0];
}
if (!$code) {
$code = self::SERVER_ERROR;
}
if (!$message) {
$message = kolab_api_controller::translate("error.$code");
if (!$message) {
$message = "Server error.";
}
}
parent::__construct($message, $code);
}
}
|