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

View file

@ -11,10 +11,10 @@ class PluginHandler extends Handler_Protected {
if (method_exists($plugin, $method)) {
$plugin->$method();
} else {
print json_encode(array("error" => "METHOD_NOT_FOUND"));
print error_json(13);
}
} 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[13] = __("Method not found");
$ERRORS[14] = __("Plugin not found");
if ($_REQUEST['mode'] == 'js') {
header("Content-Type: text/javascript; charset=UTF-8");

View file

@ -2452,4 +2452,14 @@
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));
} else {
print json_encode(array("error" => array("code" => 6)));
print error_json(6);
}
}

View file

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