Bonjour,
Même constatation de mon coté : en réinitialisant le tableau de bord d'un utilisateur,
Moodle recréé 2 entrées dans la table my_page , 1 publique, 1 privée
Après, la solution est peut-être dans le code du fichier <moodle>/my/lib.php
Il y a les fonctions qui permettent de réinitialiser les tableaux de bord.
Il y a dans les requêtes des liens avec le contextid de l'utilisateur, les instances de blocks, ...
$page = my_get_page($userid, $private);
if ($page->userid == $userid) {
$context = context_user::instance($userid);
if ($blocks = $DB->get_records('block_instances', array('parentcontextid' => $context->id,
'pagetypepattern' => $pagetype))) {
foreach ($blocks as $block) {
if (is_null($block->subpagepattern) || $block->subpagepattern == $page->id) {
blocks_delete_instance($block);
}
}
}
$DB->delete_records('block_positions', ['subpage' => $page->id, 'pagetype' => $pagetype, 'contextid' => $context->id]);
$DB->delete_records('my_pages', array('id' => $page->id));
}
Donc cela reviendrai à chercher les instances de blocks présentes dans le contexte de l'utilisateur ... ?
Bruno