Ejemplo n.º 1
0
 /**
  * Route request to the Controller
  * @return void
  */
 public function route()
 {
     $cfg = Registry::get('backend', 'config');
     $controller = $this->_request->getPart(1);
     $controller = Utils_String::formatClassName(Filter::filterValue('pagecode', $controller));
     if (in_array('Backend_' . $controller . '_Controller', $cfg->get('system_controllers'))) {
         $controller = 'Backend_' . $controller . '_Controller';
     } else {
         $manager = new Backend_Modules_Manager();
         $controller = $manager->getModuleController($controller);
         if ($controller === false) {
             if (Request::isAjax()) {
                 Response::jsonError(Lang::lang()->get('WRONG_REQUEST') . ' ' . Request::getInstance()->getUri());
             }
             $controller = 'Backend_Index_Controller';
         }
     }
     $this->runController($controller, $this->_request->getPart(2));
 }
Ejemplo n.º 2
0
 /**
  * List permissions action
  */
 public function permissionsAction()
 {
     $user = Request::post('user_id', 'int', 0);
     $group = Request::post('group_id', 'int', 0);
     $data = array();
     if ($user && $group) {
         Response::jsonError($this->_lang->get('WRONG_REQUEST'));
     }
     if ($group) {
         $data = Model::factory('Permissions')->getGroupPermissions($group);
     }
     if (!empty($data)) {
         $data = Utils::rekey('module', $data);
     }
     $manager = new Backend_Modules_Manager();
     $modules = $manager->getRegisteredModules();
     foreach ($modules as $name) {
         if (!isset($data[$name])) {
             $data[$name] = array('module' => $name, 'view' => false, 'edit' => false, 'delete' => false, 'publish' => false);
         }
     }
     foreach ($data as $k => &$v) {
         $class = $manager->getModuleController($k);
         if (!class_exists($class)) {
             $v['rc'] = false;
             continue;
         }
         $reflector = new ReflectionClass($class);
         if ($reflector->isSubclassOf('Backend_Controller_Crud_Vc')) {
             $v['rc'] = true;
         } else {
             $v['rc'] = false;
         }
     }
     unset($v);
     Response::jsonSuccess(array_values($data));
 }