Bonjour à tous,
Voilà nous envisageons d'installer GEPI l'année prochaine pour notre
établissement, je réalise donc pour l'instant des essais avec la
configuration actuelle des enseignants/élèves. J'ai un problème simple lors
de l'importation des emplois du temps mais dont je ne vois pas la solution.
Un professeur M. Prof enseigne les mathématiques. Il a une Seconde pour
laquelle il a des heures classe entière et des heures de modules. Cela créé
trois groupes dans GEPI :
->Classe "2DE 2" en classe entière
->Classe "2DE 2" groupe A nomé "MATHS_2DE_2_A" dans Gepi (2DE_2_A dans STS)
->Classe "2DE 2" groupe B nomé "MATHS_2DE_2_B" dans Gepi (2DE_2_B dans STS)
Lors de l'import de l'emploi du temps depuis un export de UnDeuxTemps le
groupe n'est pas spécifié pour les cours classe entière. Gepi cherche alors
les groupes correspondant à MATHS, M. PROF, 2DE 2 dans la base mysql. De ce
fait plusieurs groupes sont retournés de la base et le cours n'est pas
validé car "Plusieurs" est mis comme paramètre de groupe.
La ligne ...... n'a pas été validée : .....|Plusieurs| ......
De plus pour les heures de modules, UnDeuxTemps ne spécifie que "A" ou "B"
comme groupe et non "2DE_2_A", "2DE_2_B". Dans ce cas aussi le groupe
n'atteint pas la fonction php (le paramètre est vide) et "Plusieurs" est
retourné.
Voilà, je ne comprends pas la bonne procédure.... J'ai changé le code pour
que, en cas de plusieurs groupes trouvés, le premier soit choisi. Cela
fonctionne pour les cours classe entière mais bien entendu pas pour les
cours de module. La fonction concernée dans le fichier
"edt_organisation/edi_init_fonstions.php" est la suivante :
function renvoiIdGroupe($prof, $classe_txt, $matiere_txt, $grp_txt,
$partie_txt, $type_import){
// $prof est le login du prof tel qu'il existe dans Gepi, alors que
les autres infos ne sont pas encore "concordés"
if ($type_import == 'texte') {
// On se préoccupe de la partie qui arrive de
edt_init_texte.php et
edt_init_concordance.php
// Les autres variables sont explicites dans leur désignation
(c'est
leur nom dans l'export texte)
$classe = renvoiConcordances($classe_txt, 2);
$matiere = renvoiConcordances($matiere_txt, 5);
$partie = $partie_txt; //renvoiConcordances($partie_txt, 4);
$grp = renvoiConcordances($grp_txt, 3);
//echo
$classe.'|'.$matiere.'|'.$prof.' -> ';
}elseif($type_import == 'csv2'){
// On se préoccupe de la partie csv2 venant de
edt_init_csv2.php et
edt_init_concordance2.php
$classe = $classe_txt;
$matiere = $matiere_txt;
$partie = '';
$grp = $grp_txt;
}else{
$classe = '';
$matiere = '';
$partie = '';
$grp = '';
}
// On commence par le groupe. S'il existe, on le renvoie tout de suite
if($type_import == 'texte'
AND $grp != "erreur"
AND $grp != "aucun"
AND $grp != ''
AND $grp != "inc"){
return $grp;
}elseif ($grp != "aucun"
AND $grp != ''
AND $grp != "inc"
AND $type_import != 'texte') {
return $grp;
}else{
// On récupère la classe, la matière et le professeur
// et on cherche un enseignement qui pourrait correspondre avec
$req_groupe = mysql_query("SELECT jgp.id_groupe FROM
j_groupes_professeurs jgp, j_groupes_classes jgc, j_groupes_matieres
jgm WHERE
jgp.login = '".$prof."' AND
jgc.id_classe = '".$classe."'
AND
jgm.id_matiere = '".$matiere."'
AND
jgp.id_groupe = jgc.id_groupe
AND
jgp.id_groupe = jgm.id_groupe");
$rep_groupe = mysql_fetch_array($req_groupe);
//print_r($rep_groupe);
//echo '<br />';
$nbre_rep = mysql_num_rows($req_groupe);
// On vérifie ce qu'il y a dans la réponse
if ($nbre_rep == 0) {
$retour = "aucun";
} elseif ($nbre_rep > 1) {
$retour = "plusieurs";
}else{
$retour = $rep_groupe["id_groupe"];
}
} // fin du else
return $retour;
}
_________________________________________________________________________________
Documentation Gepi en ligne : http://www.sylogix.org/projects/gepi/wiki
Pour modifier ou résilier votre abonnement à cette liste :
https://lists.sylogix.net/mailman/listinfo/gepi-users