/** * Add third party user types/roles to the config array */ function hj_inbox_integrated_user_types($hook, $type, $return, $params) { if (elgg_is_active_plugin('hypeApprove')) { $return['editor'] = array('validator' => 'hj_inbox_approve_role_validator', 'getter' => 'hj_inbox_approve_role_getter_options'); $return['supervisor'] = array('validator' => 'hj_approve_is_supervisor', 'getter' => 'hj_inbox_approve_role_getter_options'); } if (elgg_is_active_plugin('hypeObserver')) { $return['observer'] = array('validator' => 'hj_inbox_observer_role_validator', 'getter' => 'hj_inbox_observer_role_getter_options'); } if (elgg_is_active_plugin('roles')) { $roles = roles_get_all_selectable_roles(); foreach ($roles as $role) { $return[$role->name] = array('validator' => 'hj_inbox_roles_role_validator', 'getter' => 'hj_inbox_roles_role_getter_options'); } } return $return; }
/** * Add third party user types/roles to the config array * * @param string $hook "config:user_types" * @param string $type "framework:inbox" * @param array $return User types config array * @param array $params Hook params * @return array */ public function filterUserTypes($hook, $type, $return, $params) { if (elgg_is_active_plugin('hypeApprove')) { $return['editor'] = array('validator' => array($this->model, 'hasRole'), 'getter' => array($this->model, 'getDirectRelationshipTestQuery')); $return['supervisor'] = array('validator' => array($this->model, 'hasRole'), 'getter' => array($this->model, 'getDirectRelationshipTestQuery')); } if (elgg_is_active_plugin('hypeObserver')) { $return['observer'] = array('validator' => array($this->model, 'hasRole'), 'getter' => array($this->model, 'getDirectRelationshipTestQuery')); } if (elgg_is_active_plugin('roles')) { $roles = roles_get_all_selectable_roles(); foreach ($roles as $role) { $return[$role->name] = array('validator' => array($this->model, 'hasRole'), 'getter' => array($this->model, 'getRoleTestQuery')); } } return $return; }
/** * Setup menus */ function menu_setup() { if (elgg_is_admin_logged_in()) { elgg_register_menu_item('page', array('name' => 'summary', 'href' => 'admin/roles/summary', 'text' => elgg_echo('admin:roles:summary'), 'context' => 'admin', 'section' => 'roles')); elgg_register_menu_item('page', array('name' => 'create', 'href' => 'admin/roles/create', 'text' => elgg_echo('admin:roles:create'), 'context' => 'admin', 'section' => 'roles')); elgg_register_menu_item('page', array('name' => 'permissions', 'href' => '#', 'text' => elgg_echo('admin:roles:permissions'), 'context' => 'admin', 'section' => 'roles')); $selectable_roles = roles_get_all_selectable_roles(); foreach ($selectable_roles as $role) { elgg_register_menu_item('page', array('name' => "roles:users:{$role->name}", 'href' => "admin/roles/users?role={$role->name}", 'text' => elgg_echo('admin:roles:users:role', array(elgg_echo($role->title))), 'context' => 'admin', 'parent_name' => 'users', 'section' => 'administer')); } $roles = roles_get_all_roles(); foreach ($roles as $role) { elgg_register_menu_item('page', array('name' => "roles:permissions:{$role->name}", 'href' => "admin/roles/permissions?role={$role->name}", 'text' => elgg_echo($role->title), 'context' => 'admin', 'parent_name' => 'permissions', 'section' => 'roles')); } } return; }
/** * Provide a way of setting your language prefs * * @package Elgg * @subpackage Core */ $user = elgg_get_page_owner_entity(); $current_role = roles_get_role($user); if ($current_role->isReservedRole()) { $current_role_name = NO_ROLE; } else { $current_role_name = $current_role->name; } $roles_options = array(NO_ROLE => elgg_echo('roles:role:NO_ROLE')); $all_roles = roles_get_all_selectable_roles(); if (is_array($all_roles) && !empty($all_roles)) { foreach ($all_roles as $role) { $roles_options[$role->name] = $role->getDisplayName(); } } if (elgg_instanceof($user, 'user')) { ?> <div class="elgg-module elgg-module-info"> <div class="elgg-head"> <h3><?php echo elgg_echo('user:set:role'); ?> </h3> </div> <div class="elgg-body">
function roles_pm_create_profile_types_from_roles() { $roles = roles_get_all_selectable_roles(); foreach ($roles as $role) { roles_pm_event_create('update', 'object', $role); } return true; }