Ocultar tópico de curso no Moodle com comando SQL

Ocultar tópico de curso no Moodle com comando SQL

por Lino Vaz Moniz -
Número de respostas: 0

Cada tópico de curso no Moodle é registrado na tabela mdl_course_sections. A coluna visible define se deve ou não aparecer para o aluno.

Caso você precise ocultar uma lista de tópicos de curso em vários cursos no Moodle, localizando pelo nome do tópico, siga os seguintes passos, executando comandos SQL.

Os comandos SQL a seguir localizam e ocultam tópicos pela data de início do curso e nome que compõem o tópico. No filtro, passe os seguintes parâmetros:

  • Data de início do curso em formato timestamp em c.startdate=? (clique aqui e veja como gerar data em timestamp)
  • Nome do tópico que pretende ocultar em LIKE '%?%'

a) Liste os tópicos que pretende ocultar

SELECT s.id,s.section,s.name  FROM mdl_course_sections s INNER JOIN mdl_course c ON c.id = s.course WHERE  c.startdate > ? AND s.visible=1 AND s.name  LIKE '%?%'


b) Conte os tópicos que devem ser ocultados

SELECT COUNT(s.id) AS countrecord FROM mdl_course_sections s INNER JOIN mdl_course c ON c.id = s.course WHERE  c.startdate > ? AND s.visible=1 AND s.name  LIKE '%?%'


c) Oculte a lista de tópicos

UPDATE mdl_course_sections s INNER JOIN mdl_course c ON c.id = s.course  SET s.visible=0 WHERE  c.startdate > ? AND s.visible=1 AND s.name  LIKE '%?%'
d) Lime o cache do Moodle para aplicar  a alteração