X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=backend.php;h=84abc97304b83db640e64af02254db18b2efcc7b;hb=0d703c73bd27147c94e2c5a67eeb115f448fbd70;hp=66afb06c030ca59554100f0161a11321fb34a3a5;hpb=19b3992b7855518c6fe05a380b6471902f5be5b7;p=tt-rss.git diff --git a/backend.php b/backend.php index 66afb06c..84abc973 100644 --- a/backend.php +++ b/backend.php @@ -37,30 +37,36 @@ @$csrf_token = $_REQUEST['csrf_token']; - require_once "functions.php"; + require_once "autoload.php"; require_once "sessions.php"; + require_once "functions.php"; require_once "config.php"; require_once "db.php"; require_once "db-prefs.php"; - no_cache_incantation(); - startup_gettext(); - $script_started = getmicrotime(); - - $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); + $script_started = microtime(true); - if (!init_connection($link)) return; + if (!init_plugins()) return; - header("Content-Type: text/plain; charset=utf-8"); + header("Content-Type: text/json; charset=utf-8"); if (ENABLE_GZIP_OUTPUT && function_exists("ob_gzhandler")) { ob_start("ob_gzhandler"); } if (SINGLE_USER_MODE) { - authenticate_user($link, "admin", null); + authenticate_user( "admin", null); + } + + if ($_SESSION["uid"]) { + if (!validate_session()) { + header("Content-Type: text/json"); + print json_encode(array("error" => array("code" => 6))); + return; + } + load_user_plugins( $_SESSION["uid"]); } $purge_intervals = array( @@ -98,7 +104,7 @@ 5 => __("Power User"), 10 => __("Administrator")); - #$error = sanity_check($link); + #$error = sanity_check(); #if ($error['code'] != 0 && $op != "logout") { # print json_encode(array("error" => $error)); @@ -107,15 +113,14 @@ $op = str_replace("-", "_", $op); - global $pluginhost; - $override = $pluginhost->lookup_handler($op, $method); + $override = PluginHost::getInstance()->lookup_handler($op, $method); if (class_exists($op) || $override) { if ($override) { $handler = $override; } else { - $handler = new $op($link, $_REQUEST); + $handler = new $op($_REQUEST); } if ($handler && implements_interface($handler, 'IHandler')) { @@ -131,21 +136,19 @@ $handler->after(); return; } else { - header("Content-Type: text/plain"); + header("Content-Type: text/json"); print json_encode(array("error" => array("code" => 6))); return; } } else { - header("Content-Type: text/plain"); + header("Content-Type: text/json"); print json_encode(array("error" => array("code" => 6))); return; } } } - header("Content-Type: text/plain"); + header("Content-Type: text/json"); print json_encode(array("error" => array("code" => 7))); - // We close the connection to database. - db_close($link); ?>