Il semble que les variables global $USER et $CFG ne s’appellent pas partout. Non authentifié, je récupère bien le chemin vers mon fichier config.php et l'id du user (0).
Dès que je suis authentifié, les valeurs sont vides. seul sur la page url/?redirect j'arrive à récupérer l'id user, le chemin...
Mystère !
Voici le code que j'ai intégré dans le header.php du thème. Il me permet d'écraser la variable $logo appeler dans le header et afficher le logo du groupe.
<code>
/ajout de la gestion du logo pour les groupes
global $USER,$CFG;
$chemin = $CFG->dirroot . '/config.php';
$userid = $USER->id;
$conn = mysqli_connect('', '', ','');
$req= 'SELECT groupid FROM mdl_groups_members WHERE userid ='.$userid;
$res = $conn->query($req);
while($data = mysqli_fetch_array($res))
{
$groupe=$data['groupid'];
}
if (!empty($groupe)) {
$req2= 'SELECT picture FROM mdl_groups WHERE id ='.$groupe;
$res2 = $conn->query($req2);
while($datas = mysqli_fetch_array($res2))
{
$picture=$datas['picture'];
}
}
if (!empty($picture)) {
$req3= 'SELECT contextid FROM mdl_files WHERE id ='.$picture;
$res3 = $conn->query($req3);
while($datass = mysqli_fetch_array($res3))
{
$context=$datass['contextid'];
}
}
mysqli_close($conn);
if (!empty($groupe) && !empty($picture) && !empty($context))
{
$logo='https://url/pluginfile.php/'.$context.'/
group/icon/'.$groupe.'/f1?rev='.$picture;
}</code>