add a wrapper for standard error codes returned by backend, also add explanation to the error object if possible

This commit is contained in:
Andrew Dolgov 2015-03-30 13:02:24 +03:00
parent f75e7c6446
commit 27f7b59353
7 changed files with 23 additions and 17 deletions

View file

@ -63,7 +63,7 @@
if ($_SESSION["uid"]) { if ($_SESSION["uid"]) {
if (!validate_session()) { if (!validate_session()) {
header("Content-Type: text/json"); header("Content-Type: text/json");
print json_encode(array("error" => array("code" => 6))); print error_json(6);
return; return;
} }
load_user_plugins( $_SESSION["uid"]); load_user_plugins( $_SESSION["uid"]);
@ -104,13 +104,6 @@
5 => __("Power User"), 5 => __("Power User"),
10 => __("Administrator")); 10 => __("Administrator"));
#$error = sanity_check();
#if ($error['code'] != 0 && $op != "logout") {
# print json_encode(array("error" => $error));
# return;
#}
$op = str_replace("-", "_", $op); $op = str_replace("-", "_", $op);
$override = PluginHost::getInstance()->lookup_handler($op, $method); $override = PluginHost::getInstance()->lookup_handler($op, $method);
@ -137,18 +130,18 @@
return; return;
} else { } else {
header("Content-Type: text/json"); header("Content-Type: text/json");
print json_encode(array("error" => array("code" => 6))); print error_json(6);
return; return;
} }
} else { } else {
header("Content-Type: text/json"); header("Content-Type: text/json");
print json_encode(array("error" => array("code" => 6))); print error_json(6);
return; return;
} }
} }
} }
header("Content-Type: text/json"); header("Content-Type: text/json");
print json_encode(array("error" => array("code" => 7))); print error_json(13);
?> ?>

View file

@ -706,7 +706,7 @@ class Handler_Public extends Handler {
function index() { function index() {
header("Content-Type: text/plain"); header("Content-Type: text/plain");
print json_encode(array("error" => array("code" => 7))); print error_json(13);
} }
function forgotpass() { function forgotpass() {

View file

@ -11,10 +11,10 @@ class PluginHandler extends Handler_Protected {
if (method_exists($plugin, $method)) { if (method_exists($plugin, $method)) {
$plugin->$method(); $plugin->$method();
} else { } else {
print json_encode(array("error" => "METHOD_NOT_FOUND")); print error_json(13);
} }
} else { } else {
print json_encode(array("error" => "PLUGIN_NOT_FOUND")); print error_json(14);
} }
} }
} }

View file

@ -34,6 +34,10 @@
$ERRORS[12] = __("SQL escaping test failed, check your database and PHP configuration"); $ERRORS[12] = __("SQL escaping test failed, check your database and PHP configuration");
$ERRORS[13] = __("Method not found");
$ERRORS[14] = __("Plugin not found");
if ($_REQUEST['mode'] == 'js') { if ($_REQUEST['mode'] == 'js') {
header("Content-Type: text/javascript; charset=UTF-8"); header("Content-Type: text/javascript; charset=UTF-8");

View file

@ -2452,4 +2452,14 @@
return false; return false;
} }
function error_json($code) {
require_once "errors.php";
@$message = $ERRORS[$code];
return json_encode(array("error" =>
array("code" => $code, "message" => $message)));
}
?> ?>

View file

@ -384,7 +384,7 @@ class Instances extends Plugin implements IHandler {
print json_encode(array("feeds" => $feeds)); print json_encode(array("feeds" => $feeds));
} else { } else {
print json_encode(array("error" => array("code" => 6))); print error_json(6);
} }
} }

View file

@ -56,6 +56,5 @@
} }
header("Content-Type: text/plain"); header("Content-Type: text/plain");
print json_encode(array("error" => array("code" => 7))); print error_json(13);
?> ?>