示例#1
0
 /**
  * Get list of user roles
  * 
  * @param array $roles
  * 
  * @return array
  * 
  * @access protected
  */
 protected function getUserRoles($roles)
 {
     $response = array();
     $names = AAM_Core_API::getRoles()->get_names();
     foreach ($roles as $role) {
         if (isset($names[$role])) {
             $response[] = translate_user_role($names[$role]);
         }
     }
     return $response;
 }
示例#2
0
 /**
  * Update role name
  * 
  * @param string $name
  * 
  * @return boolean
  * 
  * @access public
  */
 public function update($name)
 {
     $roles = AAM_Core_API::getRoles();
     if ($name) {
         $roles->roles[$this->getId()]['name'] = $name;
         $status = AAM_Core_API::updateOption($roles->role_key, $roles->roles);
     } else {
         $status = false;
     }
     return $status;
 }
示例#3
0
 /**
  * 
  * @return type
  */
 protected function getCurrentSubject()
 {
     $userId = AAM_Core_Request::get('user');
     if ($userId) {
         $u = get_user_by('id', $userId);
         $subject = array('type' => 'user', 'id' => $userId, 'name' => $u->display_name ? $u->display_name : $u->user_nicename);
     } else {
         $roles = array_keys(get_editable_roles());
         $role = array_shift($roles);
         $subject = array('type' => 'role', 'id' => $role, 'name' => AAM_Core_API::getRoles()->get_role($role)->name);
     }
     return (object) $subject;
 }
示例#4
0
    /**
     * Add new capability
     * 
     * @return string
     * 
     * @access public
     */
    public function add() {
        $capability = trim(AAM_Core_Request::post('capability'));

        if ($capability) {
            //add the capability to administrator's role as default behavior
            AAM_Core_API::getRoles()->add_cap('administrator', $capability);
            $response = array('status' => 'success');
        } else {
            $response = array('status' => 'failure');
        }

        return json_encode($response);
    }
示例#5
0
 /**
  * 
  * @param AAM_Core_Subject $subject
  * @return type
  */
 protected function deleteCapability(AAM_Core_Subject $subject)
 {
     $capability = AAM_Core_Request::post('capability');
     $roles = AAM_Core_API::getRoles();
     if (is_a($subject, 'AAM_Core_Subject_Role')) {
         $roles->remove_cap($subject->getId(), $capability);
         $response = array('status' => 'success');
     } else {
         $response = array('status' => 'failure', 'message' => __('Can not remove the capability', AAM_KEY));
     }
     return json_encode($response);
 }