change router to allow hooking path connections

This commit is contained in:
Evan Prodromou 2010-03-23 12:33:41 -04:00
parent ff60cb4e66
commit dd115fcb08
1 changed files with 28 additions and 1 deletions

View File

@ -33,6 +33,33 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
require_once 'Net/URL/Mapper.php';
class StatusNet_URL_Mapper extends Net_URL_Mapper {
private static $_singleton = null;
private function __construct()
{
}
public static function getInstance($id = '__default__')
{
if (empty(self::$_singleton)) {
self::$_singleton = new StatusNet_URL_Mapper();
}
return self::$_singleton;
}
public function connect($path, $defaults = array(), $rules = array())
{
$result = null;
if (Event::handle('StartConnectPath', array(&$path, &$defaults, &$rules, &$result))) {
$result = parent::connect($path, $defaults, $rules);
Event::handle('EndConnectPath', array($path, $defaults, $rules, $result));
}
return $result;
}
}
/**
* URL Router
*
@ -69,7 +96,7 @@ class Router
function initialize()
{
$m = Net_URL_Mapper::getInstance();
$m = StatusNet_URL_Mapper::getInstance();
if (Event::handle('StartInitializeRouter', array(&$m))) {