diff options
-rw-r--r-- | lib/kolab_api_exception.php | 71 | ||||
-rw-r--r-- | lib/locale/en_US.php | 8 |
2 files changed, 79 insertions, 0 deletions
diff --git a/lib/kolab_api_exception.php b/lib/kolab_api_exception.php new file mode 100644 index 0000000..c8d763d --- /dev/null +++ b/lib/kolab_api_exception.php @@ -0,0 +1,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); + } +} diff --git a/lib/locale/en_US.php b/lib/locale/en_US.php index bc42754..5e288e9 100644 --- a/lib/locale/en_US.php +++ b/lib/locale/en_US.php @@ -64,6 +64,14 @@ $LANG['domain.type_id'] = 'Standard Domain'; $LANG['edit'] = 'Edit'; $LANG['error'] = 'Error'; +$LANG['error.401'] = 'Unauthorized.'; +$LANG['error.403'] = 'Access forbidden.'; +$LANG['error.404'] = 'Object not found.'; +$LANG['error.408'] = 'Request timeout.'; +$LANG['error.450'] = 'Domain is not empty.'; +$LANG['error.500'] = 'Internal server error.'; +$LANG['error.503'] = 'Service unavailable. Try again later.'; + $LANG['form.required.empty'] = 'Some of the required fields are empty!'; $LANG['form.maxcount.exceeded'] = 'Maximum count of items exceeded!'; |