le nom du module recherché * * @return UID si le module est dans la BDD, retourne son UID * @return FALSE FAUX si le module n'est pas présent dans la BDD * */ public static function UID($nom){ $getModuleUID = DataBase::getPDO()->prepare("SELECT id_module as id FROM module WHERE nom = :nom"); $getModuleUID->execute(array( ':nom' => $nom )); // on retourne le résultat : FAUX si aucun résultat, sinon la valeur de l'UID du module return $getModuleUID->fetch()['id']; } /* RENVOIE LES INFORMATIONS D'UN MODULE D'UID DONNÉ * * @moduleUID l'UID du module duquel on veut les infos * * @return module tableau associatif contenant tout les champs de la BDD pour ce module * */ public static function info($moduleUID){ $getModuleInfo = DataBase::getPDO()->prepare("SELECT id_module as id, nom, libelle FROM module WHERE id_module = :moduleUID"); $getModuleInfo->execute(array( ':moduleUID' => $moduleUID )); // on retourne le résultat en supprimant les doublons à indices numériques return $getModuleInfo->fetch(); } /* RENVOIE LA LISTE DES MODULES QU'A UN ETUDIANT POUR UN SEMESTRE * * @etudiant Identifiant de l'étudiant * @semestre l'UID du semestre * * @return modules retourne un tableau contenant les modules de l'utilisateur pour ce semestre * */ public static function forStudent($etudiant, $semestre){ // on récupère les modules $getModulesForStudent = DataBase::getPDO()->prepare("SELECT m.id_module as id, m.nom, m.libelle ". "FROM module as m, appartenance as app, semestre as s, mcc_ue, mcc_module as mcc_m ". "WHERE app.id_semestre = s.id_semestre ". "AND mcc_ue.id_semestre = s.id_semestre ". "AND mcc_m.id_mcc_ue = mcc_ue.id_mcc_ue ". "AND mcc_m.id_module = m.id_module ". "AND app.id_etudiant = :etudiant ". "AND s.id_semestre = :semestre ". "ORDER BY m.nom, m.libelle"); $getModulesForStudent->execute(array( ':etudiant' => $etudiant, ':semestre' => $semestre )); return DataBase::delNumeric( $getModulesForStudent->fetchAll() ); } /* CREE UN NOUVEAU MODULE DANS LA BASE DE DONNES * * @nom le nom du nouveau module * @libelle le libellé du nouveau module * * @return UID l'UID du nouveau module s'il a bien été créé * @return created VRAI si le module n'existait pas déjà* et qu'il a bien été créé * (*) Si aucun autre n'avait le même @nom */ public static function creer($nom, $libelle){ /* [1] On normalise les données =================================================================================================*/ $nom = strtoupper($nom); // nom en majuscules /* [2] On vérifie que le module n'est pas déjà créé =================================================================================================*/ if( moduleRepo::UID($nom) ) // si on a un résultat, c'est qu'un module a déjà cee nom return false; /* [3] On créé le nouveu module =================================================================================================*/ $creationModule = DataBase::getPDO()->prepare("INSERT INTO module(id_module, nom, libelle) ". "VALUES(DEFAULT, :nom, :libelle)"); $creationModule->execute(array( ':nom' => $nom, ':libelle' => $libelle )); /* [4] On vérifie que le module a bien été créé =================================================================================================*/ return moduleRepo::UID($nom); } }