Como Obtener un rol local

Como Obtener un rol local

de Samuel Ramirez -
Número de respuestas: 3

Saludos moodlers!

Tengo la siguiente situacion:

Trabajo con Moodle 1.9.14.

He creado un rol que hereda del rol profesor llamado "docenucestas".

En determinada actividad, necesito saber con que rol estoy logueado.

Lo que he encontrado es lo siguiente:

get_user_roles($context2, $USER->id)

Pero al entrar con mi nuevo rol e imprimir lo que me devuelve esta funcion, me devuelve es el nombre de rol profesor, y no el nombre del rol que he creado.

Alguna sugerencia? Muchas gracias.

Promedio de valoraciones: -
En respuesta a Samuel Ramirez

Re: Como Obtener un rol local

de Xavier Paz -

Debería devolverte un array, pero ¿con qué función has obtenido el id del contexto?

En respuesta a Xavier Paz

Re: Como Obtener un rol local

de Samuel Ramirez -

Perfecto Xavier, 

estoy trabajando en el modulo questionnarie, 

estoy en la funcion questionnaire_load_capabilities($cmid)

obtengo el $context asi:

$context = questionnaire_get_context($cmid);

logre obtener el rol en el arreglo asi:

$roles = get_user_roles($context, $USER->id;

Donde $roles me devuelve algo como:

Array
(
    [299478] => stdClass Object
        (
            [roleid] => 5
            [contextid] => 331669
            [userid] => 41119
            [hidden] => 0
            [timestart] => 1327381200
            [timeend] => 0
            [timemodified] => 1327421507
            [modifierid] => 48
            [enrol] => manual
            [sortorder] => 0
            [name] => Student
            [shortname] => student
            [id] => 299478
        )

    [137117] => stdClass Object
        (
            [roleid] => 1
            [contextid] => 1
            [userid] => 41119
            [hidden] => 0
            [timestart] => 1265000400
            [timeend] => 0
            [timemodified] => 1265063501
            [modifierid] => 2
            [enrol] => manual
            [sortorder] => 0
            [name] => Administrator
            [shortname] => admin
            [id] => 137117
        )

)

$roles es entonces un arreglo de Objetos tipo Roles. Aparece cada rol que tenga el usuario.

Y los objetos tienen los atributos que necesito: "roleid", "name" y "shortname".

Hasta pronto.