Ciao Pier,
prova innanzitutto a verificare quanto indicato in http://docs.moodle.org/dev/Question_bank_consistency_check.
Il tuo caso potrebbe essere risolvibile leggendo attentamente quanto descritto in MDL-12667:
- Identifica se ricadi in una situazione simile a quella descritta in quel issue: http://tracker.moodle.org/browse/MDL-12667?focusedCommentId=50888&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-50888
- Fai un backup del database e prova quanto indicato in http://tracker.moodle.org/browse/MDL-12667?focusedCommentId=50899&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-50899, cioè fa "girare" questo codice:
<?php
require_once('config.php');
require_login();
require_capability('moodle/site:doanything', get_context_instance(CONTEXT_SYSTEM));
build_context_path(true, true);
echo 'Done';
Secondo quanto descritto:
/**
* Populate context.path and context.depth where missing.
* @param bool $force force a complete rebuild of the path and depth fields.
* @param bool $feedback display feedback (during upgrade usually)
* @return void
*/
function build_context_path($force=false, $feedback=false) {
la funzione potrebbe sistemare anche il tuo problema (vedi ad esempio anche MDL-14290): in caso contrario, e ancora peggio, di nuovi problemi, il backup del database ti permetterà di tornare indietro alla situazione di partenza.
ATTENZIONE! Personalmente non ho mai incontrato una situazione del genere, ti consiglio quindi caldamente di fare prove in maniera da essere certo di poter "tornare indietro". Idealmente sarebbe necessario/opportuno provare il tutto in una istanza gemella per non disturbare l'erogazione agli utenti e isolare i danni, nel caso ... Come detto, non ho alcuna esperienza sul tuo errore ma mi hai incuriosito e una ricerca sul tracker mi ha dato le reference di cui sopra.
HTH,
Matteo