getRequestUri(); if (preg_match("/^http/", $requestUri)) { preg_match("/^(\/[a-zA-Z0-9]+)\//", $_SERVER['PHP_SELF'], $matches); preg_match("/^([htps]{4,5}:[\/]{2}[a-zA-Z0-9\/\.]+)\\" . $matches[1] . "/", $requestUri, $snips); $requestUri = str_replace($snips[1], '', $requestUri); $Request->setRequestUri($requestUri); } /** * Load configuration */ require_once 'Zend/Config/Ini.php'; if (file_exists(APPLICATION_PATH . '/config/config.ini')) { $configFile = APPLICATION_PATH . '/config/config.ini'; } else { $configFile = APPLICATION_PATH . '/config/config.ini.dist'; } $Config = new Zend_Config_Ini($configFile, 'general', true); $ConfigView = $Config->view; $ConfigDb = $Config->db; /** * Environmental Settings */ ini_set('display_errors', $Config->bootstrap->displayerrors); error_reporting((int) $Config->bootstrap->reporting); date_default_timezone_set($Config->bootstrap->timezone); /** * Default session start */ require_once 'Zend/Session.php'; Zend_Session::start(); $DefaultSession = new Zend_Session_Namespace('Default', Zend_Session_Namespace::SINGLE_INSTANCE); // Expire the Zend_Auth session within 30 minutes maximum $AuthSession = new Zend_Session_Namespace('Zend_Auth'); $AuthSession->setExpirationSeconds('1800'); /** * Database Connection? */ $pdoParams = array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_EMULATE_PREPARES => true ); $ConfigDb->driver_options = $pdoParams; require_once 'Zend/Db.php'; $DbAdapter = Zend_Db::factory($ConfigDb->dbtype, $ConfigDb->toArray()); $DbAdapter->query("SET NAMES 'utf8'"); // make sure MySQL obeys our encoding! /** * Create the View Factory */ require_once 'Zps/View/Factory.php'; $ViewFactory = new Zps_View_Factory($ConfigView); /** * Setup default View for Controllers using the ViewRenderer plugin * which determines default view script name format, locations, etc. * Here we're using the Zps_View subclass instead of a stock Zend_View. */ require_once 'Zend/Controller/Action/Helper/ViewRenderer.php'; $zpsView = new Zps_View; $zpsView->setLayout('layout.phtml'); $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer(); $viewRenderer->setView($zpsView)->setViewScriptPathSpec(':controller_:action.:suffix'); Zend_Controller_Action_HelperBroker::addHelper($viewRenderer); /** * Create the Registry */ require_once 'Zend/Registry.php'; $Registry = Zend_Registry::getInstance(); $Registry->set('Configuration', $Config); $Registry->set('ApplicationPath', APPLICATION_PATH); $Registry->set('ViewFactory', $ViewFactory); $Registry->set('DefaultSession', $DefaultSession); $Registry->set('DbAdapter', $DbAdapter); /** * Create the Front Controller */ require_once 'Zend/Controller/Front.php'; $Front = Zend_Controller_Front::getInstance(); /** * Setup and Run the Front Controller */ $Front->throwExceptions((bool) $Config->bootstrap->renderexceptions); if (!empty($Config->bootstrap->baseurl)) { $Front->setBaseUrl($Config->bootstrap->baseurl); } $Front->setControllerDirectory(array( 'default'=> APPLICATION_PATH . '/default/controllers' )); $Front->setParam('Registry', $Registry); $Front->setParam('noErrorHandler', true); /** * Dispatch the Request and send the Response */ $Front->returnResponse(true); $Response = $Front->dispatch($Request); $Response->sendResponse();