Example #1
0
 /**
  * Singleton instance
  *
  * @return Cosmos_Addon
  */
 public static function getInstance($addons = false)
 {
     if (null === self::$_instance) {
         self::$_instance = new self($addons);
     }
     return self::$_instance;
 }
Example #2
0
 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']);
 }
Example #3
0
 public function indexAction()
 {
     Cosmos_Profiler::start('sampleIndex');
     $this->view->result = Cosmos_Addon::getInstance()->listEnabledAddons();
     Cosmos_Profiler::stop('sampleIndex');
 }
Example #4
0
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     if (!Cosmos_Addon::getInstance()->getRequest()) {
         Cosmos_Addon::getInstance()->setRequest($request);
     }
 }