Exemplo n.º 1
0
/**
 * 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);
}
Exemplo n.º 2
0
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;
}