示例#1
0
 private function getForm()
 {
     $request = $this->getRequest();
     $group_id = $request->getQuery('id');
     $modelGroup = new Model_Usergroups();
     if ($group_id) {
         $group_info = $modelGroup->getUserGroup($group_id);
     }
     if ($request->getPost('name')) {
         $this->view->name = $request->getPost('name');
     } elseif (isset($group_info)) {
         $this->view->name = $group_info['name'];
     }
     if ($request->getPost('description')) {
         $this->view->description = $request->getPost('description');
     } elseif (isset($group_info)) {
         $this->view->description = $group_info['description'];
     }
     if ($request->isPost()) {
         $this->view->access = (array) $request->getPost('access');
     } elseif (isset($group_info)) {
         $this->view->access = $group_info['access'];
     } else {
         $this->view->access = array();
     }
     $access_modules = JO_Registry::forceGet('temporary_for_permision');
     $this->view->access_modules = array();
     foreach ($access_modules as $group => $models) {
         foreach ($models as $model) {
             if (isset($this->view->access_modules[$group])) {
                 $this->view->access_modules[$group]['name'] = $this->view->access_modules[$group]['name'] . ', ' . $model['name'];
             } else {
                 $this->view->access_modules[$group] = array('key' => $model['key'], 'name' => $model['name']);
             }
         }
     }
 }
 private function getForm()
 {
     $request = $this->getRequest();
     $group_id = $request->getQuery('id');
     $modelGroup = new Model_Usergroups();
     if ($group_id) {
         $group_info = $modelGroup->getUserGroup($group_id);
     }
     if ($request->getPost('name')) {
         $this->view->name = $request->getPost('name');
     } elseif (isset($group_info)) {
         $this->view->name = $group_info['name'];
     }
     if ($request->getPost('description')) {
         $this->view->description = $request->getPost('description');
     } elseif (isset($group_info)) {
         $this->view->description = $group_info['description'];
     }
     if ($request->isPost()) {
         $this->view->access = (array) $request->getPost('access');
     } elseif (isset($group_info)) {
         $this->view->access = $group_info['access'];
     } else {
         $this->view->access = array();
     }
     //$access_modules = Helper_Config::get('temporary_for_permision');
     //$this->view->access_modules = array();
     /*foreach($access_modules AS $group => $models) {
     			foreach($models AS $model) {
     				if(isset($this->view->access_modules[$group])) {
     					$this->view->access_modules[$group]['name'] = $this->view->access_modules[$group]['name'] . ', ' .$model['name'];
     				} else {
     					$this->view->access_modules[$group] = array(
     						'key' => $model['key'],
     						'name' => $model['name']
     					);
     				}
     			}
     		}*/
     $this->view->access_modules = array();
     $controllers = self::initPermision();
     if ($controllers) {
         foreach ($controllers as $c) {
             $this->view->access_modules[$c['key']] = array('title' => $c['name'], 'table' => $c['key']);
             $sort_order[$c['key']] = trim(mb_strtolower($c['name'], 'utf-8'));
         }
     }
     array_multisort($sort_order, SORT_ASC, $this->view->access_modules);
     $this->view->permisions_types = array('read' => $this->translate('Read'), 'create' => $this->translate('Create'), 'edit' => $this->translate('Edit'), 'delete' => $this->translate('Delete'));
     foreach ($this->view->permisions_types as $type => $name) {
         if ($request->isPost()) {
             if ($request->issetPost('access[' . $type . ']')) {
                 $this->view->access[$type] = $request->getPost('access[' . $type . ']');
             } else {
                 $this->view->access[$type] = array();
             }
         } elseif (isset($group_info)) {
             if (isset($group_info['access'][$type]) && is_array($group_info['access'][$type])) {
                 $this->view->access[$type] = $group_info['access'][$type];
             } else {
                 $this->view->access[$type] = array();
             }
         } else {
             $this->view->access[$type] = array();
         }
     }
 }