From 955f4186c5e3681226d01e5f4e77ff0af99f09d6 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Thu, 16 Jan 2014 12:19:38 +0100 Subject: Add kolab_api_exception object for API responses --- lib/kolab_api_exception.php | 71 +++++++++++++++++++++++++++++++++++++++++++++ lib/locale/en_US.php | 8 +++++ 2 files changed, 79 insertions(+) create mode 100644 lib/kolab_api_exception.php 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 @@ + | + +--------------------------------------------------------------------------+ + | Author: Aleksander Machniak | + +--------------------------------------------------------------------------+ +*/ + +/** + * 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!'; -- cgit v1.1