예제 #1
0
 /**
  * Initialize the controllers
  *
  * @return void
  */
 protected function _initControllers()
 {
     $this->bootstrap('config');
     // Get config resource
     $config = $this->getResource('config');
     $modules = $config->globalModules->module->toArray();
     // Setup core cms modules
     $this->_front->addControllerDirectory(APPLICATION_PATH . '/admin/controllers', 'admin');
     $this->_front->addControllerDirectory(APPLICATION_PATH . '/public/controllers', 'public');
     // Setup extension modules
     $this->_front->setParam('pathToModules', APPLICATION_PATH . '/modules');
     $cmsModules = null;
     if ($modules = Digitalus_Module::getModules()) {
         foreach ($modules as $module) {
             $cmsModules['mod_' . $module] = $module;
             $this->_front->addControllerDirectory(APPLICATION_PATH . '/modules/' . $module . '/controllers', 'mod_' . $module);
         }
     }
     if (is_array($cmsModules)) {
         $this->_front->setParam('cmsModules', $cmsModules);
     }
 }
예제 #2
0
 /**
  * Initialize translations
  *
  * @return Zend_Translate
  */
 protected function _initTranslation()
 {
     // Get site settings
     $settings = Zend_Registry::get('siteSettings');
     // Get site config
     $config = Zend_Registry::get('config');
     $languageFiles = $config->language->translations->toArray();
     // Get cache object
     $cache = Zend_Registry::get('cache');
     Zend_Translate::setCache($cache);
     $module = $this->_request->getModuleName();
     $controller = $this->_request->getControllerName();
     // Add translation file depending on current module ('public' or 'admin')
     if ('public' == $module || 'public' == $controller) {
         $end = 'front';
         $key = Digitalus_Language::getLanguage();
     } else {
         $end = 'back';
         $key = Digitalus_Language::getAdminLanguage();
     }
     // always load english translation file
     $adapter = new Zend_Translate('csv', $csvPath = $config->language->path . '/' . $end . '/' . $languageFiles['en'] . '.' . $end . '.csv', $key, array('disableNotices' => true));
     Zend_Registry::set('Zend_Translate', $adapter);
     $csvPath = $config->language->path . '/' . $end . '/' . $languageFiles[$key] . '.' . $end . '.csv';
     if (is_file($csvPath) && 'en' != $key) {
         $this->_addTranslation($csvPath, $key);
     }
     // Module translations (are NOT separated into  'back' and 'front')
     if ($modules = Digitalus_Module::getModules()) {
         foreach ($modules as $module) {
             $this->_addTranslation(APPLICATION_PATH . '/modules/' . $module . '/data/languages/' . $languageFiles[$key] . '.csv', $key);
         }
     }
     return $adapter;
 }
예제 #3
0
 /**
  * Initialize the controllers
  *
  * @return void
  */
 protected function _initControllers()
 {
     // Setup core cms modules
     $this->_front->addControllerDirectory(APPLICATION_PATH . '/admin/controllers', 'admin');
     $this->_front->addControllerDirectory(APPLICATION_PATH . '/public/controllers', 'public');
     // Setup extension modules
     $this->_front->setParam('pathToModules', APPLICATION_PATH . '/modules');
     $cmsModules = null;
     if ($modules = Digitalus_Module::getModules()) {
         foreach ($modules as $module) {
             $cmsModules['mod_' . $module] = $module;
             $this->_front->addControllerDirectory(APPLICATION_PATH . '/modules/' . $module . '/controllers', 'mod_' . $module);
         }
     }
     if (is_array($cmsModules)) {
         $this->_front->setParam('cmsModules', $cmsModules);
     }
 }