Como saber o contextid de um Curso?

Como saber o contextid de um Curso?

por Jaciel ferreira -
Número de respostas: 3

Preciso saber qual é o contextid de um curso especifico. Como posso saber? 

No moodle que estou gerenciando desativaram o botão de gerenciamento de bloco (aquele em forma de engrenagem). Só consigo pelo caminho admin/roles/permissions.php?contextid=XX onde xx corresponde ao contextid do curso.

Contagem das avaliações:  -
Em resposta à Jaciel ferreira

Re: Como saber o contextid de um Curso?

por Gleidson Medeiros -

Ol@,

Pesquisando na base de dados, o "truque" está nos campos "instanceid" que é o id do curso quando o "contextlevel" é igual a 50. Se usando o MySQL com o prefixo de tabelas "mdl_" e substitua o {XX} pelo id do curso.:

SELECT cx.id
FROM mdl_context cx
LEFT JOIN mdl_course c ON cx.instanceid = c.id
WHERE cx.contextlevel = 50 AND c.id = {XX}

Se quiser ainda mais comodidade, selecione o id do contexto concatenando com a {URL do seu site}:

SELECT CONCAT("{URL do seu site}admin/roles/permissions.php?contextid=",cx.id) curso
FROM mdl_context cx
LEFT JOIN mdl_course c ON cx.instanceid = c.id
WHERE cx.contextlevel = 50 AND c.id = {XX}

Abraços,

Gleidson

Contagem das avaliações:  -
Em resposta à Gleidson Medeiros

Re: Como saber o contextid de um Curso?

por Jaciel ferreira -

Oi,

Acabei de testar o script e deu certo! Através do do id do curso encontrei o id do contextid.

Obrigado! 

Contagem das avaliações:  -