From: Cameron Ball Date: Fri, 2 Jan 2015 02:31:34 +0000 (+0800) Subject: Cleanup index X-Git-Url: http://git.cameron1729.xyz/?p=rock.divinelegy.git;a=commitdiff_plain;h=e0dca0223154254eeeddbca1f726c9cc945c6dbc Cleanup index --- diff --git a/public_html/index.php b/public_html/index.php index be2b695..bf09081 100644 --- a/public_html/index.php +++ b/public_html/index.php @@ -2,40 +2,44 @@ require_once('../vendor/autoload.php'); -$config = require('../config/app.php'); +//Timezone biz +date_default_timezone_set('UTC'); + +//DI biz +$containerBuilder = new DI\ContainerBuilder(); +$containerBuilder->addDefinitions('../config/DI.php'); +$containerBuilder->useAutowiring(true); +$container = $containerBuilder->build(); -// Allow these origins to do cross domain JS. -header("Access-Control-Allow-Origin: " . $config['allow-origin']); -header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept"); +$config = $container->get('Services\IConfigManager'); +$router = $container->get('Services\Routing\IRouter'); -// Nice exceptions -if($config['mode'] == 'production') +//Exception biz +if($config->getDirective('mode') == 'production') { ini_set('display_errors', 0); set_exception_handler(array('\Services\StatusReporter', 'exception')); } else { ini_set('display_errors', 1); error_reporting(E_ALL); -} +} -// Everything time related should be UTC+0 based -date_default_timezone_set('UTC'); +//CORS biz +$request_headers = apache_request_headers(); +$http_origin = isset($request_headers['Origin']) ? $request_headers['Origin'] : null; -// Set up the DI container -$containerBuilder = new DI\ContainerBuilder(); -$containerBuilder->addDefinitions('../config/DI.php'); -$containerBuilder->useAutowiring(true); - -$container = $containerBuilder->build(); - -/* @var $router Services\Routing\IRouter */ -$router = $container->get('Services\Routing\IRouter'); +if(in_array($http_origin, $config->getDirective('allowed-origins'))) +{ + header("Access-Control-Allow-Origin: " . $http_origin); + header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept"); +} +//Controller biz $controllerName= $router->getControllerName(); $controllerAction = $router->getActionName(); $controllerActionArgs = $router->getActionArgs(); - $controller = $container->get('Controllers\\' . ucfirst($controllerName) . 'Controller' ); -// Last thing to do, call the action on the specified controller. +//Last thing to do, call the action on the specified controller. +//Biz biz call_user_func_array(array($controller, $controllerAction . 'Action'), $controllerActionArgs);