diff --git a/manager/database.php b/manager/database.php index 502160b..8501cf1 100755 --- a/manager/database.php +++ b/manager/database.php @@ -125,7 +125,7 @@ class DataBase{ * */ public static function studentSemestre($etudiant, $semestre_pair, $annee){ - if( $semestre = semestreRepo::studentCurrent($etudiant, $semestre_pair, $annee) ) // si on a un résultat + if( $semestre = semestreRepo::forStudent($etudiant, $semestre_pair, $annee) ) // si on a un résultat return $semestre; else return 'error'; @@ -630,7 +630,9 @@ class DataBase{ /**************************************************/ public function getModulesByUEByEnseignant($enseignant, $semestre_pair, $annee){ // on vérifie que l'enseignant enseigne bien cette année - if( !($enseignantUID=userRepo::UID($enseignant, null, $annee, $semestre_pair)) ) return 'unknown_teacher'; + echo 'a'; + if( !($enseignantUID=userRepo::UID($enseignant, null, $semestre_pair, $annee)) ) return 'unknown_teacher'; + echo 'b'; $UEList = $this->getUEsEnseignant($enseignant, $semestre_pair, $annee); // on récupère la liste des UEs @@ -668,12 +670,11 @@ class DataBase{ /*** retourne les UEs d'un enseignant ***/ /****************************************/ public function getUEsEnseignant($enseignant, $semestre_pair, $annee){ - // on vérifie que l'enseignant enseigne bien cette année - if( !($enseignantUID=userRepo::UID($enseignant, null, $annee, $semestre_pair)) ) return 'unknown_teacher'; + if( !($enseignantUID=userRepo::UID($enseignant, null, $semestre_pair, $annee)) ) return 'unknown_teacher'; // on retourne la liste des UEs en supprimant les doublons à indices numériques - return ueRepo::forTeacher($enseignantUID, $annee); + return ueRepo::forTeacher($enseignantUID, $semestre_pair, $annee); } diff --git a/manager/repo/user.php b/manager/repo/user.php index 6776472..5779ee2 100755 --- a/manager/repo/user.php +++ b/manager/repo/user.php @@ -16,15 +16,16 @@ class userRepo extends DBAccess{ * * @semestre ***OPTIONNEL*** l'UID du semestre auquel on veut vérifier que l'étudiant est inscrit * - * @annee ***OPTIONNEL*** l'année auquelle on veut vérifier si l'enseignant enseigne * @semestre_pair ***OPTIONNEL*** détermine si le semestre est pair ou non + * @annee ***OPTIONNEL*** l'année auquelle on veut vérifier si l'enseignant enseigne * * @return UID si l'utilisateur est dans la BDD, retourne son UID * @return FALSE FAUX si l'utilisateur n'est pas présent dans la BDD * */ - public static function UID($identifiant, $semestre=null, $annee=null, $semestre_pair=null){ - if( $semestre == null && $annee == null && $semestre_pair == null ){ // on cherche un utilisateur avec cet identifiant + public static function UID($identifiant, $semestre=null, $semestre_pair=null, $annee=null){ + + if( $semestre == null && $semestre_pair == null && $annee == null ){ // on cherche un utilisateur avec cet identifiant /* [1] Cas où on cherche juste si l'utilisateur existe =============================================================*/ @@ -42,9 +43,8 @@ class userRepo extends DBAccess{ "AND app.id_semestre = :semestre"); $getUtilisateurUID->execute(array( ':identifiant' => $identifiant, ':semestre' => $semestre )); - }elseif( $annee != null && $semestre_pair != null ){ + }elseif( is_bool($semestre_pair) && $annee != null ){ - $semestre_pair = ($semestre_pair) ? '0' : '1'; /* [2] Cas où on cherche si un enseignant enseigne l'année donnée ==============================================================*/ @@ -54,10 +54,11 @@ class userRepo extends DBAccess{ "AND ens.id_mcc_module = mcc_m.id_mcc_module ". "AND mcc_m.id_mcc_ue = mcc_ue.id_mcc_ue ". "AND mcc_ue.id_semestre = s.id_semestre ". - "AND s.annee = :annee ". + + "AND u.identifiant = :identifiant ". "AND s.rang % 2 = :semestre_pair ". - "AND u.identifiant = :identifiant"); - $getUtilisateurUID->execute(array( ':identifiant' => $identifiant, ':semestre_pair' => $semestre_pair, ':annee' => $annee )); + "AND s.annee = :annee"); + $getUtilisateurUID->execute(array( ':identifiant' => $identifiant, ':semestre_pair' => ($semestre_pair) ? '0' : '1', ':annee' => $annee )); }else // si les paramètres sont pas bons return false;