/** * Validate roles plugin role * * @param ElggUser $user * @param string $role_name * @return boolean */ function hj_inbox_roles_role_validator($user, $role_name) { if (!elgg_is_active_plugin('roles')) { return false; } return roles_has_role($user, $role_name); }
function roles_pm_profile_type_change($event, $type, $metadata) { if ($metadata->name != 'custom_profile_type') { return true; } switch ($event) { case 'delete': remove_entity_relationships($metadata->entity_guid, 'has_role'); break; case 'create': case 'update': $profile_type_guid = $metadata->value; $roles = elgg_get_entities_from_relationship(array('relationship_guid' => $profile_type_guid, 'relationship' => 'roles_profile_type', 'inverse_relationship' => true)); $role = $roles[0]; $user = get_entity($metadata->entity_guid); if (!roles_has_role($user, $role->name)) { roles_set_role($role, $user); } break; default: return true; break; } return true; }