Esempio n. 1
0
 public function dispatch()
 {
     $rootPath = $this->_rootPath;
     $modulesDAO = new RM_Modules();
     $modules = $modulesDAO->fetchAll();
     $pluginsDAO = new RM_Plugins();
     $plugins = $pluginsDAO->fetchAll();
     $frontController = Zend_Controller_Front::getInstance();
     $frontController->setDispatcher($this->getDispatcher());
     $frontController->registerPlugin(new Zend_Controller_Plugin_ErrorHandler(array('module' => $this->getModule(), 'controller' => 'Error', 'action' => 'error')));
     $frontController->setDefaultModule($this->_module);
     $frontController->throwExceptions(false);
     $controllerPathes = array('admin' => array(), 'user' => array());
     $coreControllers = implode(DIRECTORY_SEPARATOR, array($rootPath, 'RM', 'system', 'application', 'controllers')) . DIRECTORY_SEPARATOR;
     $controllerPathes['admin'][] = $coreControllers;
     $controllerPathes['user'][] = $coreControllers;
     foreach ($modules as $module) {
         $controllerPathes['admin'][] = $controllerPathes['user'][] = RM_Module_Manager::getModuleFolderpath($module->name, $this->_rootPath) . DIRECTORY_SEPARATOR . RM_Module_Config::CONTROLLERS;
     }
     foreach ($plugins as $plugin) {
         $controllerPathes['admin'][] = $controllerPathes['user'][] = RM_Plugin_Manager::getPluginFolderpath($plugin->name, $this->_rootPath) . DIRECTORY_SEPARATOR . RM_Plugin_Config::CONTROLLERS;
     }
     $frontController->setControllerDirectory($controllerPathes);
     $scriptPathes = array();
     foreach ($modules as $module) {
         $scriptPathes[] = implode(DIRECTORY_SEPARATOR, array($rootPath, 'RM', 'userdata', 'modules', $module->name, RM_Module_Config::VIEWS, 'admin', 'scripts')) . DIRECTORY_SEPARATOR;
         $scriptPathes[] = implode(DIRECTORY_SEPARATOR, array($rootPath, 'RM', 'userdata', 'modules', $module->name, RM_Module_Config::VIEWS, 'user', 'scripts')) . DIRECTORY_SEPARATOR;
     }
     foreach ($plugins as $plugin) {
         $scriptPathes[] = implode(DIRECTORY_SEPARATOR, array($rootPath, 'RM', 'userdata', 'plugins', $plugin->name, RM_Plugin_Config::VIEWS, 'admin', 'scripts')) . DIRECTORY_SEPARATOR;
         $scriptPathes[] = implode(DIRECTORY_SEPARATOR, array($rootPath, 'RM', 'userdata', 'plugins', $plugin->name, RM_Plugin_Config::VIEWS, 'user', 'scripts')) . DIRECTORY_SEPARATOR;
     }
     $scriptPathes[] = implode(DIRECTORY_SEPARATOR, array($rootPath, 'RM', 'userdata', 'views', 'admin', 'scripts')) . DIRECTORY_SEPARATOR;
     $scriptPathes[] = implode(DIRECTORY_SEPARATOR, array($rootPath, 'RM', 'userdata', 'views', 'user', 'scripts')) . DIRECTORY_SEPARATOR;
     $view = new RM_View();
     $view->addScriptPath($scriptPathes);
     $viewRenderer = new RM_Controller_Action_Helper_ViewRenderer($view);
     Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
     $router = RM_Environment::getInstance()->getRouter();
     $frontController->setRouter($router);
     Zend_Layout::startMvc(array('layout' => $this->_module, 'layoutPath' => implode(DIRECTORY_SEPARATOR, array($rootPath, 'RM', 'userdata', 'layouts'))));
     $model = new RM_Modules();
     $modules = $model->fetchAllEnabled();
     $manager = new RM_Module_Manager();
     foreach ($modules as $module) {
         $moduleObject = $manager->getModule($module->name);
         if ($moduleObject instanceof RM_System_Setup) {
             $moduleObject->preDispatch();
         }
     }
     $frontController->dispatch($this->getRequestHTTP());
 }
 /**
  * Get all form panels returns JSON with title and link to JS
  *
  */
 public function helppageAction()
 {
     ob_clean();
     $view = new RM_View();
     $view->addScriptPath(implode(DIRECTORY_SEPARATOR, array(RM_Environment::getConnector()->getRootPath(), 'RM', 'userdata', 'modules', 'FormDesigner', 'views', 'admin', 'scripts', 'FormDesigner')));
     echo $view->render('help.phtml');
     die;
 }