X-Git-Url: https://git.wh0rd.org/?p=tt-rss.git;a=blobdiff_plain;f=public.php;h=7aebde78f378c7f1012cf122f2a727b878b9eb1f;hp=59e0ef2e3696082acbc9cb9ab2f017a60817747d;hb=HEAD;hpb=88e8fb3a7132d1321ab65b66a19a67df890c402d diff --git a/public.php b/public.php index 59e0ef2e..7aebde78 100644 --- a/public.php +++ b/public.php @@ -17,22 +17,19 @@ $_REQUEST = array_map('stripslashes_deep', $_REQUEST); } - require_once "functions.php"; + require_once "autoload.php"; require_once "sessions.php"; + require_once "functions.php"; require_once "sanity_check.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; if (ENABLE_GZIP_OUTPUT && function_exists("ob_gzhandler")) { ob_start("ob_gzhandler"); @@ -40,9 +37,15 @@ $method = $_REQUEST["op"]; - $handler = new Handler_Public($link, $_REQUEST); + $override = PluginHost::getInstance()->lookup_handler("public", $method); - if ($handler->before($method)) { + if ($override) { + $handler = $override; + } else { + $handler = new Handler_Public($_REQUEST); + } + + if (implements_interface($handler, "IHandler") && $handler->before($method)) { if ($method && method_exists($handler, $method)) { $handler->$method(); } else if (method_exists($handler, 'index')) { @@ -53,8 +56,5 @@ } header("Content-Type: text/plain"); - print json_encode(array("error" => array("code" => 7))); - - // We close the connection to database. - db_close($link); + print error_json(13); ?>