\r
require_once('../vendor/autoload.php');\r
\r
-$config = require('../config/app.php');\r
+//Timezone biz\r
+date_default_timezone_set('UTC');\r
+\r
+//DI biz\r
+$containerBuilder = new DI\ContainerBuilder();\r
+$containerBuilder->addDefinitions('../config/DI.php');\r
+$containerBuilder->useAutowiring(true);\r
+$container = $containerBuilder->build();\r
\r
-// Allow these origins to do cross domain JS.\r
-header("Access-Control-Allow-Origin: " . $config['allow-origin']);\r
-header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");\r
+$config = $container->get('Services\IConfigManager');\r
+$router = $container->get('Services\Routing\IRouter');\r
\r
-// Nice exceptions\r
-if($config['mode'] == 'production')\r
+//Exception biz\r
+if($config->getDirective('mode') == 'production')\r
{\r
ini_set('display_errors', 0);\r
set_exception_handler(array('\Services\StatusReporter', 'exception'));\r
} else {\r
ini_set('display_errors', 1);\r
error_reporting(E_ALL);\r
-}\r
+} \r
\r
-// Everything time related should be UTC+0 based\r
-date_default_timezone_set('UTC');\r
+//CORS biz\r
+$request_headers = apache_request_headers();\r
+$http_origin = isset($request_headers['Origin']) ? $request_headers['Origin'] : null;\r
\r
-// Set up the DI container\r
-$containerBuilder = new DI\ContainerBuilder();\r
-$containerBuilder->addDefinitions('../config/DI.php');\r
-$containerBuilder->useAutowiring(true);\r
-\r
-$container = $containerBuilder->build();\r
-\r
-/* @var $router Services\Routing\IRouter */\r
-$router = $container->get('Services\Routing\IRouter');\r
+if(in_array($http_origin, $config->getDirective('allowed-origins')))\r
+{\r
+ header("Access-Control-Allow-Origin: " . $http_origin);\r
+ header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");\r
+}\r
\r
+//Controller biz\r
$controllerName= $router->getControllerName();\r
$controllerAction = $router->getActionName();\r
$controllerActionArgs = $router->getActionArgs();\r
-\r
$controller = $container->get('Controllers\\' . ucfirst($controllerName) . 'Controller' );\r
\r
-// Last thing to do, call the action on the specified controller.\r
+//Last thing to do, call the action on the specified controller.\r
+//Biz biz\r
call_user_func_array(array($controller, $controllerAction . 'Action'), $controllerActionArgs);\r