/** * Initializes the controller to be tested and clears all previous * authentication as well as output variable assignments * * @param string name of controller class (ex AccountController) * @param bool true to clear all authentication */ function InitController($classname, $clearAuth = true) { $gc = GlobalConfig::GetInstance(); eval('$this->controller = new ' . $classname . '($this->phreezer, $this->renderEngine, $gc->GetContext(), $this->router );'); $this->controller->UnitTestMode = true; $this->controller->CaptureOutputMode = true; // clear all previous input $this->InputClearAll(); // remove any authentication that was hanging around if ($clearAuth) { $this->ClearCurrentUser(); } // get rid of any feedback or warnings $this->renderEngine->clear("warning"); $this->renderEngine->clear("feedback"); $this->overrideController->OverrideSetContext("feedback", ""); $this->Println("-- Controller '{$classname}' initialized"); }
<?php /** @package Pizzaria Meveana */ /* GlobalConfig object contains all configuration information for the app */ include_once "_global_config.php"; include_once "_app_config.php"; @(include_once "_machine_config.php"); if (!GlobalConfig::$CONNECTION_SETTING) { throw new Exception('GlobalConfig::$CONNECTION_SETTING is not configured. Are you missing _machine_config.php?'); } /* require framework libs */ require_once "verysimple/Phreeze/Dispatcher.php"; // the global config is used for all dependency injection $gc = GlobalConfig::GetInstance(); try { Dispatcher::Dispatch($gc->GetPhreezer(), $gc->GetRenderEngine(), '', $gc->GetContext(), $gc->GetRouter()); } catch (exception $ex) { // This is the global error handler which will be called in the event of // uncaught errors. If the endpoint appears to be an API request then // render it as JSON, otherwise attempt to render a friendly HTML page $url = RequestUtil::GetCurrentURL(); $isApiRequest = strpos($url, 'api/') !== false; if ($isApiRequest) { $result = new stdClass(); $result->success = false; $result->message = $ex->getMessage(); $result->data = $ex->getTraceAsString(); @header('HTTP/1.1 401 Unauthorized'); echo json_encode($result); } else { $gc->GetRenderEngine()->assign("message", $ex->getMessage());
/** * Set the url so that URL params can be read by the Router * @param string $url */ function SetUrl($url) { $_REQUEST['_REWRITE_COMMAND'] = $url; // calling get route is required in order to access params GlobalConfig::GetInstance()->GetRouter()->GetRoute(); }