示例#1
0
 public function getEditableRoles($user_id = null)
 {
     $editable_roles = RbacController::getEditableRoles();
     if (isset($editable_roles[$this->role])) {
         array_walk($editable_roles[$this->role], function (&$value, $key) {
             $value = isset(self::roles()[$key]) ? self::roles()[$key] : $value;
         });
     }
     if (isset($editable_roles[$this->role])) {
         if ($user_id !== null && $user_id === $this->id) {
             $editable_roles[$this->role][$this->role] = $this->getCurrentRole();
         }
     }
     return isset($editable_roles[$this->role]) ? $editable_roles[$this->role] : [];
 }