Exact, ce n'est en général pas trop une bonne idée, surtout pour du code "de base" (distribution officielle de Moodle), car ces patches disparaissent à la mise à jour et il faut des compétences techniques pour les suivre.
C'est un petit peu moins grave pour les plugins tiers-partie, surtout pour ceux qui présentent une petite fonctionnalité, car ils seront moins à même d'évoluer. On peut également penser que des plugins qui n'ont pas été touchés depuis un certain temps sont à peu près stable, tant que la compatibilité avec les évolutions de Moodle n'est pas mise en cause.
En tout cas, pour ce problème, voilà la solution :
Dans le fichier /blocks/myCourse/block_myCourses.php §350
Remplacer le code de la fonction create_tree_menu(...) par celui-ci :
function create_tree_menu($categories, &$pnode) {
global $CFG;
$nicon = 'folder.gif';
$eicon = 'folder-expanded.gif';
if (! function_exists('sort_by_name')){
function sort_by_name($a, $b){
if ($a->name == $b->name) return 0;
return ($a->name > $b->name) ? 1 : -1;
}
}
if (! function_exists('sort_by_shortname')){
function sort_by_shortname($a, $b){
if ($a->shortname == $b->shortname) return 0;
return ($a->shortname > $b->shortname) ? 1 : -1;
}
}
uasort($categories, 'sort_by_name');
foreach ($categories as $catid => $catnode) {
if (!$catnode->hascourses) continue;
$node = &$pnode->addItem(new HTML_TreeNode(array('text' => ' '.$catnode->name, 'link' => '',
'icon' => $nicon, 'expandedIcon' => $eicon,
'cssClass' => 'treeMenuDefault')));
if (!empty($catnode->categories)) {
$this->create_tree_menu($catnode->categories, $node);
}
if (!empty($catnode->courses)) {
uasort($catnode->courses, 'sort_by_shortname');
foreach ($catnode->courses as $course) {
$linkcss = '';
if ($this->course->id == $course->id) {
$url = '';
$text = $course->shortname;
$cssclass = 'treeMenuBold';
} else {
$url = $CFG->wwwroot.'/course/view.php?id='.$course->id.
'" title="'.htmlspecialchars($course->fullname, ENT_QUOTES).$linkcss;
$text = $course->shortname;
$cssclass = 'treeMenuDefault';
}
$node->addItem(new HTML_TreeNode(array('text' => $text, 'link' => $url,
'icon' => $nicon, 'cssClass' => $cssclass)));
}
}
}
}
J'essaye par ailleur d'enlever cette horrible icone de dossier pour les cours...