Corrections "return" dans manager/groups.php
This commit is contained in:
parent
9abf0937e8
commit
5df449c6a5
|
@ -241,8 +241,6 @@ class DataBase{
|
|||
/*** retourne la liste des utilisateurs des groupes d'une année ***/
|
||||
/******************************************************************/
|
||||
public function listeEtudiantsTousGroupesAnnee($annee, $semestre_pair, $pSemestre, $pGroupe){
|
||||
$semestre_pair = ($semestre_pair) ? '0' : '1';
|
||||
|
||||
// définition des paramètres optionnels
|
||||
$semestreDeb = 1; $semestreFin = 4;
|
||||
if( $pSemestre != null ){ $semestreDeb = $pSemestre; $semestreFin = $pSemestre; } // semestre donné uniquement (si param non null)
|
||||
|
@ -275,7 +273,7 @@ class DataBase{
|
|||
$getGroupesUID->execute(array(
|
||||
':semestreDeb' => $semestreDeb,
|
||||
':semestreFin' => $semestreFin,
|
||||
':semestre_pair' => $semestre_pair,
|
||||
':semestre_pair' => ($semestre_pair) ? '0' : '1',
|
||||
':annee' => $annee
|
||||
));
|
||||
|
||||
|
@ -301,8 +299,6 @@ class DataBase{
|
|||
/*** retourne la liste des utilisateurs des groupes d'une année ***/
|
||||
/******************************************************************/
|
||||
public function listeEtudiantsTousGroupesEnseignant($annee, $semestre_pair, $enseignant, $pSemestre, $pGroupe){
|
||||
$semestre_pair = ($semestre_pair) ? '0' : '1';
|
||||
|
||||
// définition des paramètres optionnels
|
||||
$semestreDeb = 1; $semestreFin = 4;
|
||||
if( $pSemestre != null ){ $semestreDeb = $pSemestre; $semestreFin = $pSemestre; } // semestre donné uniquement (si param non null)
|
||||
|
@ -352,7 +348,7 @@ class DataBase{
|
|||
':semestreDeb' => $semestreDeb,
|
||||
':semestreFin' => $semestreFin,
|
||||
':annee' => $annee,
|
||||
':semestre_pair' => $semestre_pair,
|
||||
':semestre_pair' => ($semestre_pair) ? '0' : '1',
|
||||
':enseignantUID' => $enseignantUID
|
||||
));
|
||||
|
||||
|
@ -632,16 +628,15 @@ class DataBase{
|
|||
/**************************************************/
|
||||
/*** retourne les modules d'un étudiant par UEs ***/
|
||||
/**************************************************/
|
||||
public function getModulesByUEByEnseignant($enseignant, $annee){
|
||||
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)) ) return 'unknown_teacher';
|
||||
if( !($enseignantUID=userRepo::UID($enseignant, null, $annee, $semestre_pair)) ) return 'unknown_teacher';
|
||||
|
||||
|
||||
$UEList = $this->getUEsEnseignant($enseignant, $annee); // on récupère la liste des UEs
|
||||
$UEList = $this->getUEsEnseignant($enseignant, $semestre_pair, $annee); // on récupère la liste des UEs
|
||||
|
||||
foreach($UEList as $iter=>$UE){
|
||||
|
||||
// si on a l'UID utilisateur & l'UID groupe => on récupère les modules
|
||||
// si on a l'UID enseignant & l'UE => on récupère les modules
|
||||
$getModuleList = DataBase::getPDO()->prepare("SELECT DISTINCT m.id_module as id, m.nom as nom, m.libelle as libelle ".
|
||||
"FROM enseignement as ens, semestre as s, ue, module as m, mcc_ue, mcc_module as mcc_m ".
|
||||
"WHERE ens.id_mcc_module = mcc_m.id_mcc_module ".
|
||||
|
@ -652,11 +647,13 @@ class DataBase{
|
|||
"AND ens.id_enseignant = :enseignantUID ".
|
||||
"AND ue.id_ue = :UEUID ".
|
||||
"AND s.annee = :annee ".
|
||||
"AND s.rang % 2 = :semestre_pair ".
|
||||
"ORDER BY m.nom, m.libelle ASC");
|
||||
$getModuleList->execute(array(
|
||||
':enseignantUID' => $enseignantUID,
|
||||
':UEUID' => $UE['id'],
|
||||
':annee' => $annee
|
||||
':annee' => $annee,
|
||||
':semestre_pair' => ($semestre_pair) ? '0' : '1'
|
||||
));
|
||||
|
||||
// on ajoute la liste des modules en supprimant les valeurs à indinces numériques
|
||||
|
@ -670,30 +667,13 @@ class DataBase{
|
|||
/****************************************/
|
||||
/*** retourne les UEs d'un enseignant ***/
|
||||
/****************************************/
|
||||
public function getUEsEnseignant($enseignant, $annee){
|
||||
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)) ) return 'unknown_teacher';
|
||||
if( !($enseignantUID=userRepo::UID($enseignant, null, $annee, $semestre_pair)) ) return 'unknown_teacher';
|
||||
|
||||
|
||||
|
||||
// si on a l'UID enseignant => on récupère les UEs
|
||||
$getUEList = DataBase::getPDO()->prepare("SELECT DISTINCT ue.id_ue as id, s.annee as annee, ue.nom as nom, ue.libelle as libelle ".
|
||||
"FROM enseignement as ens, semestre as s, ue, mcc_ue, mcc_module as mcc_m ".
|
||||
"WHERE ens.id_mcc_module = mcc_m.id_mcc_module ".
|
||||
"AND mcc_m.id_mcc_ue = mcc_ue.id_mcc_ue ".
|
||||
"AND mcc_ue.id_ue = ue.id_ue ".
|
||||
|
||||
"AND ens.id_enseignant = :enseignantUID ".
|
||||
"AND s.annee = :annee ".
|
||||
|
||||
"ORDER BY ue.nom, ue.libelle ASC");
|
||||
$getUEList->execute(array(
|
||||
':enseignantUID' => $enseignantUID,
|
||||
':annee' => $annee
|
||||
));
|
||||
|
||||
// on retourne la liste d'UEs en supprimant les doublons à clés numériques
|
||||
return DataBase::delNumeric( $getUEList->fetchAll() );
|
||||
// on retourne la liste des UEs en supprimant les doublons à indices numériques
|
||||
return ueRepo::forTeacher($enseignantUID, $annee);
|
||||
}
|
||||
|
||||
|
||||
|
@ -911,14 +891,6 @@ class DataBase{
|
|||
return DataBase::delNumeric( $getNoteList->fetchAll() );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -94,7 +94,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
$answer->userlist = $userlist;
|
||||
$answer->request = 'success';
|
||||
}else // si on a pas récupéré de liste, alors c'est que $userlist est un message d'erreur
|
||||
$answer->answer = $userlist;
|
||||
$answer->request = $userlist;
|
||||
|
||||
}else
|
||||
$answer->request = 'param_error';
|
||||
|
@ -149,10 +149,10 @@ require_once __ROOT__.'/manager/database.php';
|
|||
$answer->grouplist = $grouplist;
|
||||
$answer->request = 'success';
|
||||
}else // si on a pas récupéré de liste, alors c'est que $grouplist est un message d'erreur
|
||||
$answer->answer = $grouplist;
|
||||
$answer->request = $grouplist;
|
||||
|
||||
}else
|
||||
return 'param_error';
|
||||
$answer->request = 'param_error';
|
||||
|
||||
}else
|
||||
$answer->request = 'permission_error';
|
||||
|
@ -187,10 +187,10 @@ require_once __ROOT__.'/manager/database.php';
|
|||
$answer->grouplist = $grouplist;
|
||||
$answer->request = 'success';
|
||||
}else // si on a pas récupéré de liste, alors c'est que $grouplist est un message d'erreur
|
||||
$answer->answer = $grouplist;
|
||||
$answer->request = $grouplist;
|
||||
|
||||
}else
|
||||
return 'param_error';
|
||||
$answer->request = 'param_error';
|
||||
|
||||
}else
|
||||
$answer->request = 'permission_error';
|
||||
|
@ -227,10 +227,10 @@ require_once __ROOT__.'/manager/database.php';
|
|||
$answer->grouplist = $grouplist;
|
||||
$answer->request = 'success';
|
||||
}else // si on a pas récupéré de liste, alors c'est que $grouplist est un message d'erreur
|
||||
$answer->answer = $grouplist;
|
||||
$answer->request = $grouplist;
|
||||
|
||||
}else
|
||||
return 'param_error';
|
||||
$answer->request = 'param_error';
|
||||
|
||||
}else
|
||||
$answer->request = 'permission_error';
|
||||
|
@ -255,7 +255,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
$answer->groupe = $groupe;
|
||||
$answer->request = 'success';
|
||||
}else // si on a pas "success", alors c'est que $groupe est un message d'erreur
|
||||
$answer->answer = 'error';
|
||||
$answer->request = 'error';
|
||||
|
||||
}else
|
||||
$answer->request = 'permission_error';
|
||||
|
@ -275,7 +275,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
if( $groupeCheck ){ // si param ok
|
||||
$answer->request = DataBase::getInstance()->deplacerEtudiant($request->etudiant, $request->groupe, $_SESSION['annee']);
|
||||
}else
|
||||
$answer->answer = 'param_error';
|
||||
$answer->request = 'param_error';
|
||||
|
||||
}else
|
||||
$answer->request = 'permission_error';
|
||||
|
|
|
@ -81,7 +81,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
$anneeCheck = $enseignantCheck && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
|
||||
|
||||
if( $anneeCheck ){ // si tout les paramètres sont bons
|
||||
$UEList = DataBase::getInstance()->getModulesByUEByEnseignant($request->enseignant, $request->annee);
|
||||
$UEList = DataBase::getInstance()->getModulesByUEByEnseignant($request->enseignant, $_SESSION['semestre_pair'], $request->annee);
|
||||
|
||||
// STRUCTURE
|
||||
// tableau d'UES contenant un tableau de MODULES
|
||||
|
|
|
@ -81,7 +81,6 @@ class moduleRepo extends DBAccess{
|
|||
|
||||
|
||||
|
||||
|
||||
/* CREE UN NOUVEAU MODULE DANS LA BASE DE DONNES
|
||||
*
|
||||
* @nom<String> le nom du nouveau module
|
||||
|
|
|
@ -73,6 +73,33 @@ class ueRepo extends DBAccess{
|
|||
|
||||
|
||||
|
||||
/* RENVOIE LA LISTE DES UEs QU'ENSEIGNE UN ENSEIGNANT POUR UNE ANNEE
|
||||
*
|
||||
* @enseignant<String> Identifiant de l'enseignant
|
||||
* @annee<int> l'année en cours
|
||||
*
|
||||
* @return UEs<Array> retourne un tableau contenant les UEs de l'enseignant pour cette année
|
||||
*
|
||||
*/
|
||||
public static function forTeacher($enseignant, $annee){
|
||||
// on récupère les modules
|
||||
$getUesForTeacher = DataBase::getPDO()->prepare("SELECT DISTINCT ue.id_ue as id, s.annee as annee, ue.nom as nom, ue.libelle as libelle ".
|
||||
"FROM enseignement as ens, semestre as s, ue, mcc_ue, mcc_module as mcc_m ".
|
||||
"WHERE ens.id_mcc_module = mcc_m.id_mcc_module ".
|
||||
"AND mcc_m.id_mcc_ue = mcc_ue.id_mcc_ue ".
|
||||
"AND mcc_ue.id_ue = ue.id_ue ".
|
||||
|
||||
"AND ens.id_enseignant = :enseignant ".
|
||||
"AND s.annee = :annee ".
|
||||
|
||||
"ORDER BY ue.nom, ue.libelle ASC");
|
||||
$getUesForTeacher->execute(array( ':enseignant' => $enseignant, ':annee' => $annee ));
|
||||
|
||||
return DataBase::delNumeric( $getUesForTeacher->fetchAll() );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -15,14 +15,16 @@ class userRepo extends DBAccess{
|
|||
* @identifiant<String> l'identifiant de l'utilisateur recherché
|
||||
*
|
||||
* @semestre<int> ***OPTIONNEL*** l'UID du semestre auquel on veut vérifier que l'étudiant est inscrit
|
||||
*
|
||||
* @annee<int> ***OPTIONNEL*** l'année auquelle on veut vérifier si l'enseignant enseigne
|
||||
* @semestre_pair<Boolean> ***OPTIONNEL*** détermine si le semestre est pair ou non
|
||||
*
|
||||
* @return UID<String> si l'utilisateur est dans la BDD, retourne son UID
|
||||
* @return FALSE<Boolean> FAUX si l'utilisateur n'est pas présent dans la BDD
|
||||
*
|
||||
*/
|
||||
public static function UID($identifiant, $semestre=null, $annee=null){
|
||||
if( $semestre == null && $annee == null ){ // on cherche un utilisateur avec cet identifiant
|
||||
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
|
||||
|
||||
/* [1] Cas où on cherche juste si l'utilisateur existe
|
||||
=============================================================*/
|
||||
|
@ -40,7 +42,9 @@ class userRepo extends DBAccess{
|
|||
"AND app.id_semestre = :semestre");
|
||||
$getUtilisateurUID->execute(array( ':identifiant' => $identifiant, ':semestre' => $semestre ));
|
||||
|
||||
}else{
|
||||
}elseif( $annee != null && $semestre_pair != null ){
|
||||
|
||||
$semestre_pair = ($semestre_pair) ? '0' : '1';
|
||||
|
||||
/* [2] Cas où on cherche si un enseignant enseigne l'année donnée
|
||||
==============================================================*/
|
||||
|
@ -51,10 +55,12 @@ class userRepo extends DBAccess{
|
|||
"AND mcc_m.id_mcc_ue = mcc_ue.id_mcc_ue ".
|
||||
"AND mcc_ue.id_semestre = s.id_semestre ".
|
||||
"AND s.annee = :annee ".
|
||||
"AND s.rang % 2 = :semestre_pair ".
|
||||
"AND u.identifiant = :identifiant");
|
||||
$getUtilisateurUID->execute(array( ':identifiant' => $identifiant, ':annee' => $annee ));
|
||||
$getUtilisateurUID->execute(array( ':identifiant' => $identifiant, ':semestre_pair' => $semestre_pair, ':annee' => $annee ));
|
||||
|
||||
}
|
||||
}else // si les paramètres sont pas bons
|
||||
return false;
|
||||
|
||||
// on retourne le résultat : FAUX si aucun résultat, sinon la valeur de l'UID de l'utilisateur
|
||||
return $getUtilisateurUID->fetch()['id'];
|
||||
|
@ -72,7 +78,7 @@ class userRepo extends DBAccess{
|
|||
*/
|
||||
public static function info($utilisateurUID){
|
||||
// on considère que le semestre existe
|
||||
$getUtilisateurInfo = DataBase::getPDO()->prepare("SELECT identifiant as id, prenom, nom, mail, droits FROM utilisateur WHERE identifiant = :utilisateurUID");
|
||||
$getUtilisateurInfo = DataBase::getPDO()->prepare("SELECT identifiant, prenom, nom, mail, droits FROM utilisateur WHERE identifiant = :utilisateurUID");
|
||||
$getUtilisateurInfo->execute(array( ':utilisateurUID' => $utilisateurUID ));
|
||||
|
||||
// on retourne le résultat en supprimant les doublons à indices numériques
|
||||
|
|
|
@ -53,6 +53,8 @@
|
|||
ini_set('display_startup_errors',1);
|
||||
error_reporting(-1);
|
||||
}
|
||||
|
||||
debug();
|
||||
|
||||
|
||||
|
||||
|
@ -191,4 +193,5 @@
|
|||
return $checker;
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
?>
|
|
@ -130,7 +130,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
/* [a] userlist */
|
||||
function user_getUserList(){
|
||||
$userlistFile = file_get_contents("src/userlist.json");
|
||||
return json_decode( $userlistFile );
|
||||
$answer->request = json_decode( $userlistFile );
|
||||
}
|
||||
|
||||
|
||||
|
@ -142,7 +142,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
* @param password<String> Mot de passe de l'utilisateur
|
||||
*
|
||||
* si @username est référencé et que le mot de passe associé vaut @password
|
||||
* alors @return TRUE sinon FALSE
|
||||
* alors @$answer->request = TRUE sinon FALSE
|
||||
* + mise ajout à @answer
|
||||
*
|
||||
* Les variables sessions suivantes sont définies :
|
||||
|
@ -150,7 +150,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
* - $_SESSION['userid']
|
||||
* - $_SESSION['username']
|
||||
*
|
||||
* @return Boolean true si l'utilisateur est ok
|
||||
* @$answer->request = Boolean true si l'utilisateur est ok
|
||||
*/
|
||||
function user_authentification($username, $password){
|
||||
// [1] On récupère la liste d'utilisateurs (/src/userlist.json)
|
||||
|
@ -185,16 +185,16 @@ require_once __ROOT__.'/manager/database.php';
|
|||
$_SESSION['semestre'] = ''.$semestre.'';
|
||||
}
|
||||
|
||||
return 'success';
|
||||
$answer->request = 'success';
|
||||
|
||||
}else
|
||||
return 'not_in_db';
|
||||
$answer->request = 'not_in_db';
|
||||
|
||||
}else
|
||||
return 'wrong_password';
|
||||
$answer->request = 'wrong_password';
|
||||
|
||||
}else
|
||||
return 'unknown_user';
|
||||
$answer->request = 'unknown_user';
|
||||
}
|
||||
|
||||
|
||||
|
@ -204,7 +204,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
*
|
||||
* détermine si les semestres IMPAIRS ou PAIRS sont en cours
|
||||
*
|
||||
* @return isEven<Boolean> VRAI si pair, sinon FAUX (impair)
|
||||
* @$answer->request = isEven<Boolean> VRAI si pair, sinon FAUX (impair)
|
||||
*
|
||||
*/
|
||||
function semestrePair($timestamp=null){
|
||||
|
@ -212,7 +212,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
if( $timestamp == null )
|
||||
$timestamp = time();
|
||||
|
||||
return Date('m', $timestamp) < 8;
|
||||
$answer->request = Date('m', $timestamp) < 8;
|
||||
}
|
||||
|
||||
?>
|
Loading…
Reference in New Issue