by Jérôme DEMIAUX.
Que donnent ces trois instructions (normalement rien) permettant de repérer des cours et des activités avec des contextes foireux ? (simple interrogation de la BDD aucune modification n'est effectuée)
SELECT * FROM mdl_course c WHERE NOT EXISTS (SELECT 1 FROM mdl_context ctx WHERE ctx.instanceid = c.id AND ctx.contextlevel = 50);
SELECT * FROM mdl_course_modules cm WHERE NOT EXISTS (SELECT 1 FROM mdl_context ctx WHERE ctx.instanceid = cm.id AND ctx.contextlevel = 70);
SELECT * FROM mdl_context ctx LEFT JOIN mdl_context parent ON ctx.path LIKE CONCAT('%/', parent.id, '/', ctx.id) WHERE parent.id IS NULL OR ctx.path <> CONCAT(parent.path, '/', ctx.id);
Sinon il faudrait remonter, dans la BDD, la piste de l'instance de forum n°14 ...