/** * 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; }
/** * 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; }
/** * * @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; }
/** * 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); }
/** * * @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); }