]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #3132 added 'route', $handler plugin hook
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Wed, 18 May 2011 01:35:52 +0000 (01:35 +0000)
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Wed, 18 May 2011 01:35:52 +0000 (01:35 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@9098 36083f99-b078-4883-b0ff-0f9b5a30f544

engine/lib/pagehandler.php

index e598d6821ce486cc26e69a0dcde2c7ddce6e83f1..31d73b18c93c1d82e25500d04d3ff2d518445165 100644 (file)
@@ -27,6 +27,20 @@ function page_handler($handler, $page) {
                array_pop($page);
        }
 
+       // return false to stop processing the request (because you handled it)
+       // return a new $params array if you want to route the request differently
+       $params = array(
+               'handler' => $handler,
+               'segments' => $page,
+       );
+       $params = elgg_trigger_plugin_hook('route', $handler, NULL, $params);
+       if ($params === false) {
+               return true;
+       }
+
+       $handler = $params['handler'];
+       $page = $params['segments'];
+
        if (!isset($CONFIG->pagehandler) || empty($handler)) {
                $result = false;
        } else if (isset($CONFIG->pagehandler[$handler]) && is_callable($CONFIG->pagehandler[$handler])) {