Adding constructor to Router.

Adding __setPrefixes to initialize prefixes and merge Routing.admin with new Routing.prefixes.
This commit is contained in:
mark_story 2009-09-26 22:37:19 -04:00
parent 2f46f39225
commit 3904c6f7b5
2 changed files with 27 additions and 3 deletions

View file

@ -164,6 +164,31 @@ class Router {
*/
var $__defaultsMapped = false;
/**
* Constructor for Router.
* Builds __prefixes
*
* @return void
**/
function Router() {
$this->__setPrefixes();
}
/**
* Sets the Routing prefixes.
*
* @return void
* @access private
**/
function __setPrefixes() {
$routing = Configure::read('Routing');
if (isset($routing['admin'])) {
$this->__prefixes[] = $this->__admin = $routing['admin'];
}
if (isset($routing['prefixes'])) {
$this->__prefixes = array_merge($this->__prefixes, $routing['prefixes']);
}
}
/**
* Gets a reference to the Router object instance
*
@ -176,7 +201,6 @@ class Router {
if (!$instance) {
$instance[0] =& new Router();
$instance[0]->__admin = Configure::read('Routing.admin');
}
return $instance[0];
}
@ -722,7 +746,7 @@ class Router {
foreach (get_class_vars('Router') as $key => $val) {
$_this->{$key} = $val;
}
$_this->__admin = Configure::read('Routing.admin');
$_this->__setPrefixes();
}
/**

View file

@ -1655,7 +1655,7 @@ class RouterTest extends CakeTestCase {
$this->assertEqual($result, $expected);
$result = Router::prefixes();
$expected = array('protected', 'admin');
$expected = array('admin', 'protected');
$this->assertEqual($result, $expected);
}