Move setup logic into FrontController::__construct().
authorRobert Sesek <rsesek@bluestatic.org>
Tue, 1 Apr 2014 03:47:00 +0000 (23:47 -0400)
committerRobert Sesek <rsesek@bluestatic.org>
Tue, 1 Apr 2014 03:47:00 +0000 (23:47 -0400)
admin/index.php

index dda4edc75792241bd2cc3ac31f445146506dac7e..8a69dc0268c449dd6de69ee8c337a612d2fcbbf5 100644 (file)
@@ -45,6 +45,32 @@ class FrontController implements http\RootControllerDelegate
        public function __construct(http\RootController $controller)
        {
                $this->controller = $controller;
+
+               $url_map = new http\UrlMap($controller);
+               $url_map->set_file_loader(function($name, $value) {
+                       require_once BUGDAR_ROOT . '/admin/' . $value;
+                       return 'bugdar\\admin\\' . $name . 'Action';
+               });
+               $controller->set_url_map($url_map);
+
+               $url_map->set_map(array(
+                       '' => 'home',
+                       'fields/{action}' => 'fields',
+                       'settings' => 'settings',
+               ));
+
+               $output_filter = new http\OutputFilter($controller);
+               $controller->set_output_filter($output_filter);
+
+               $tpl_loader = views\TemplateLoader::GetInstance();
+               $tpl_loader->set_template_path(BUGDAR_ROOT . '/admin/templates/%s.tpl');
+               $tpl_loader->set_cache_backend(new views\PDOCacheBackend(
+                       Bugdar::$db,  // PDO object.
+                       TABLE_PREFIX . 'template',  // Database table.
+                       'filename',  // Name column.
+                       'template',  // Data column.
+                       'timestamp'  // Modified time column.
+               ));
        }
 
        public function LoginPage()
@@ -103,35 +129,9 @@ interface TemplatePreCaching
        public function TemplateSet();
 }
 
-$controller = new http\RootController($GLOBALS);
-$controller->set_delegate(new FrontController($controller));
-
-$url_map = new http\UrlMap($controller);
-$url_map->set_file_loader(function($name, $value) {
-       require_once BUGDAR_ROOT . '/admin/' . $value;
-       return 'bugdar\\admin\\' . $name . 'Action';
-});
-$controller->set_url_map($url_map);
-
-$url_map->set_map(array(
-       '' => 'home',
-       'fields/{action}' => 'fields',
-       'settings' => 'settings',
-));
-
-$output_filter = new http\OutputFilter($controller);
-$controller->set_output_filter($output_filter);
-
-$tpl_loader = views\TemplateLoader::GetInstance();
-$tpl_loader->set_template_path(BUGDAR_ROOT . '/admin/templates/%s.tpl');
-$tpl_loader->set_cache_backend(new views\PDOCacheBackend(
-       Bugdar::$db,  // PDO object.
-       TABLE_PREFIX . 'template',  // Database table.
-       'filename',  // Name column.
-       'template',  // Data column.
-       'timestamp'  // Modified time column.
-));
-
 error_reporting(E_ALL);
 
+$controller = new http\RootController($GLOBALS);
+$delegate = new FrontController($controller);
+$controller->set_delegate($delegate);
 $controller->Run();