]> git.wh0rd.org - tt-rss.git/blobdiff - public.php
implement plugin routing masks, add example plugin
[tt-rss.git] / public.php
index 675a9e352d9a6a413b60045c661695e82a9c9095..4cf7653f99a376223e099bb4cab4a6a1f4203cf7 100644 (file)
@@ -1,6 +1,6 @@
 <?php
-       set_include_path(get_include_path() . PATH_SEPARATOR .
-               dirname(__FILE__) . "/include");
+       set_include_path(dirname(__FILE__) ."/include" . PATH_SEPARATOR .
+               get_include_path());
 
        /* remove ill effects of magic quotes */
 
                ob_start("ob_gzhandler");
        }
 
-       function __autoload($class) {
-               $file = "classes/".strtolower(basename($class)).".php";
-               if (file_exists($file)) {
-                       require $file;
-               }
-       }
-
        $method = $_REQUEST["op"];
 
-       $handler = new Public_Handler($link, $_REQUEST);
+       global $pluginhost;
+       $override = $pluginhost->lookup_handler("public", $method);
+
+       if ($override) {
+               $handler = $override;
+       } else {
+               $handler = new Handler_Public($link, $_REQUEST);
+       }
 
-       if ($handler->before($method)) {
+       if (implements_interface($handler, "IHandler") && $handler->before($method)) {
                if ($method && method_exists($handler, $method)) {
                        $handler->$method();
                } else if (method_exists($handler, 'index')) {