diff -r 5b37998e522e -r 162c1de6545a web/lib/Zend/Application/Resource/Frontcontroller.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/lib/Zend/Application/Resource/Frontcontroller.php Fri Mar 11 15:05:35 2011 +0100 @@ -0,0 +1,163 @@ +getFrontController(); + + foreach ($this->getOptions() as $key => $value) { + switch (strtolower($key)) { + case 'controllerdirectory': + if (is_string($value)) { + $front->setControllerDirectory($value); + } elseif (is_array($value)) { + foreach ($value as $module => $directory) { + $front->addControllerDirectory($directory, $module); + } + } + break; + + case 'modulecontrollerdirectoryname': + $front->setModuleControllerDirectoryName($value); + break; + + case 'moduledirectory': + if (is_string($value)) { + $front->addModuleDirectory($value); + } elseif (is_array($value)) { + foreach($value as $moduleDir) { + $front->addModuleDirectory($moduleDir); + } + } + break; + + case 'defaultcontrollername': + $front->setDefaultControllerName($value); + break; + + case 'defaultaction': + $front->setDefaultAction($value); + break; + + case 'defaultmodule': + $front->setDefaultModule($value); + break; + + case 'baseurl': + if (!empty($value)) { + $front->setBaseUrl($value); + } + break; + + case 'params': + $front->setParams($value); + break; + + case 'plugins': + foreach ((array) $value as $pluginClass) { + $stackIndex = null; + if(is_array($pluginClass)) { + $pluginClass = array_change_key_case($pluginClass, CASE_LOWER); + if(isset($pluginClass['class'])) + { + if(isset($pluginClass['stackindex'])) { + $stackIndex = $pluginClass['stackindex']; + } + + $pluginClass = $pluginClass['class']; + } + } + + $plugin = new $pluginClass(); + $front->registerPlugin($plugin, $stackIndex); + } + break; + + case 'returnresponse': + $front->returnResponse((bool) $value); + break; + + case 'throwexceptions': + $front->throwExceptions((bool) $value); + break; + + case 'actionhelperpaths': + if (is_array($value)) { + foreach ($value as $helperPrefix => $helperPath) { + Zend_Controller_Action_HelperBroker::addPath($helperPath, $helperPrefix); + } + } + break; + + default: + $front->setParam($key, $value); + break; + } + } + + if (null !== ($bootstrap = $this->getBootstrap())) { + $this->getBootstrap()->frontController = $front; + } + + return $front; + } + + /** + * Retrieve front controller instance + * + * @return Zend_Controller_Front + */ + public function getFrontController() + { + if (null === $this->_front) { + $this->_front = Zend_Controller_Front::getInstance(); + } + return $this->_front; + } +}