Ejemplo n.º 1
0
 public static function getAccess($roleId)
 {
     $access = KxAdminAccess::find("role_id={$roleId}");
     return $access->toArray();
 }
Ejemplo n.º 2
0
 /**
  * @param $roleId
  * @access Follow(kxAdminRole/index)
  */
 public function editRoleAccessAction($roleId)
 {
     if (!isset($roleId)) {
         parent::errorPage("editRoleAccessAction expect one parameter \$roleId");
     }
     $role = KxAdminRole::findFirst($roleId);
     if (!$role) {
         parent::errorPage("editRoleAccessAction take wrong parameter \$roleId=({$roleId})");
     }
     $access = KxAdminAccess::getAccess($role->role_id);
     $controllerNodes = $this->getControllerNodes();
     foreach ($controllerNodes as $controller => &$nodes) {
         foreach ($nodes as &$node) {
             $node['access'] = false;
             $node['menu_group_id'] = 0;
             //
             $nodeId = $node['node_id'];
             foreach ($access as $a) {
                 $accessNodeId = $a['node_id'];
                 if ($nodeId == $accessNodeId) {
                     $node['access'] = true;
                     $node['menu_group_id'] = $a['menu_group_id'];
                     break;
                 }
             }
         }
         unset($node);
     }
     unset($nodes);
     $menus = KxAdminRoleMenu::find("role_id={$roleId}");
     $data = array('controllerNodes' => $controllerNodes, 'menus' => $menus->toArray(), 'role_name' => $role->name);
     $views = [["name" => '访问控制', "template" => "kxadminrole/edit_role_access"]];
     parent::showTabViews($views, '角色访问控制', $data);
 }