inhibitReadOnlyMode (); call_user_func_array ($GLOBALS['autostart'], array()); exit; } if (self::isPhpUnitTest()) { $registry = Zend_Registry::getInstance(); $registry->Environment = new Environment_Test(); define('STOP_BOOTSTRAP', 1); } else { parent::find_uri(); } } static function isPhpUnitTest() { if (preg_match('/phpunit|phing\.php/', $_SERVER['SCRIPT_FILENAME'])) { return true; } } public static function routed_uri($uri) { if (Router::$routes === NULL) { Router::$routes = Kohana::config('routes'); } $routed_uri = $uri = trim($uri, '/'); if (isset(Router::$routes[$uri])) { $routed_uri = Router::$routes[$uri]; } else { foreach (Router::$routes as $key => $val) { if ($key === '_default') continue; $tmp_key = $key; $val = trim($val, '/'); $key = trim($key, '/'); if (preg_match ('#^'.$key.'$#u', $uri)) { self::$matched_route = $key; self::$matched_original_route = $tmp_key; if (strpos($val, '$') !== FALSE) { $routed_uri = preg_replace('#^'.$key.'$#u', $val, $uri); } else { $routed_uri = $val; } break; } } } if (isset(Router::$routes[$routed_uri])) { $routed_uri = Router::$routes[$routed_uri]; } return trim($routed_uri, '/'); } }