/** * Singleton instance * * @return Cosmos_Addon */ public static function getInstance($addons = false) { if (null === self::$_instance) { self::$_instance = new self($addons); } return self::$_instance; }
protected function _initStoreRoutes() { $request = new Zend_Controller_Request_Http(); $path = explode('/', trim($request->getPathInfo(), '/')); $requestedPath = array_shift($path); $requestedHost = $request->getHttpHost(); if ($store = Cosmos_Api::get()->cosmos->getStoreByHostPath($requestedHost, $requestedPath)) { $this->bootstrap('session'); Zend_Registry::set('csession', new Zend_Session_Namespace("cosmos_{$store['group_id']}")); Zend_Registry::get('log')->info($store); if ($store['path']) { $this->bootstrap('frontcontroller'); $front = Zend_Controller_Front::getInstance(); $request = $front->getRequest(); $dispatcher = $front->getDispatcher(); $defaultRoute = new Zend_Controller_Router_Route_Module(array(), $dispatcher, $request); $front->getRouter()->removeDefaultRoutes(); $defaults = array('path' => $store['path'], 'module' => $dispatcher->getDefaultModule()); $pathRoute = new Zend_Controller_Router_Route(':path', $defaults); Zend_Registry::set('cosmosRoute', $pathRoute); // This is to catch empty requests because for some reason 'default' doesn't. $front->getRouter()->addRoute('default-empty', $pathRoute); $front->getRouter()->addRoute('default', $pathRoute->chain($defaultRoute)); Zend_Registry::set('mode', 'path'); } else { Zend_Registry::set('mode', 'host'); } } else { die('fail'); // no matching store? } Cosmos_Addon::getInstance($store['addons']); }
public function indexAction() { Cosmos_Profiler::start('sampleIndex'); $this->view->result = Cosmos_Addon::getInstance()->listEnabledAddons(); Cosmos_Profiler::stop('sampleIndex'); }
public function preDispatch(Zend_Controller_Request_Abstract $request) { if (!Cosmos_Addon::getInstance()->getRequest()) { Cosmos_Addon::getInstance()->setRequest($request); } }