Ejemplo n.º 1
0
 /**
  * Récupère le directeur dont l'ecole est passé en paramètres
  * @param Ecole $ecole
  * @return Enseignant
  * @throws \Exception
  */
 public static function getDirecteur(Ecole $ecole)
 {
     try {
         $conn = Main::bdd();
         $reqPrepare = $conn->prepare("SELECT *\n                FROM enseignant ens\n                INNER JOIN ecole e ON e.idEcole = ens.idEcole\n                WHERE e.idEcole = ?\n                AND TypeEnseignant = 1");
         $reqPrepare->execute(array($ecole->getId()));
         $tab = $reqPrepare->fetch();
         $directeur = new Enseignant($tab['idEns'], $tab['civEns'], $tab['nomEns'], $tab['prenomEns'], $tab['mailEns'], $tab['telEns'], $tab['TypeEnseignant']);
         $ecole = new Ecole($tab['idEcole'], $tab['typeEcole'], $tab['nomEcole'], $tab['adresseEcole'], $tab['adresse2Ecole'], $tab['cpEcole'], $tab['villeEcole'], $tab['mail_dir'], $directeur);
         $lesInscriptions = MInscription::getInscriptionByEnseignant($directeur);
         $directeur->setEcole($ecole);
         $directeur->setLesInscriptions($lesInscriptions);
         return $directeur;
     } catch (\PDOException $e) {
         throw new \Exception("Le directeur n'existe pas");
     }
 }
Ejemplo n.º 2
0
 /**
  * Récupère les plannings d'une ecole
  * @param Ecole $ecole
  * @return Collection
  * @throws \Exception
  */
 public static function getPlanningsbyEcole(Ecole $ecole)
 {
     try {
         $conn = Main::bdd();
         $reqPrepare = $conn->prepare("SELECT * FROM planning p\n             INNER JOIN inscription i ON i.idInscription = p.idInscription\n             INNER JOIN enseignant en ON en.idEns = i.idEns\n             INNER JOIN ecole e ON e.idEcole = en.idEcole\n             WHERE e.idEcole = ? ");
         $reqPrepare->execute(array($ecole->getId()));
         $tabs = $reqPrepare->fetchAll();
         $coll = new Collection();
         foreach ($tabs as $tab) {
             $inscription = MInscription::getInscriptionByIdInscription($tab['idInscription']);
             $seance = MSeance::getSeance($tab['idSeance']);
             $planning = new Planning($seance, $inscription);
             $coll->ajouter($planning);
         }
         return $coll;
     } catch (\PDOException $e) {
         throw new \Exception($e->getMessage());
     } catch (KeyHasUseException $ex) {
         throw new \Exception($ex->getMessage());
     }
 }
Ejemplo n.º 3
0
 /**
  * Supprime une école et ses enseignant en cascade
  * @param Ecole $ecole
  * @throws \Exception
  */
 public static function rmEcole(Ecole $ecole)
 {
     $conn = Main::bdd();
     try {
         $conn->beginTransaction();
         $reqPrepare = $conn->prepare("DELETE FROM enseignant WHERE idEcole = ?");
         $reqPrepare->execute(array($ecole->getId()));
         $reqPrepare = $conn->prepare("DELETE FROM ecole WHERE idEcole = ?");
         $reqPrepare->execute(array($ecole->getId()));
         $conn->commit();
     } catch (\PDOException $e) {
         $conn->rollBack();
         throw new \Exception("L'école " . $ecole->getId() . " n'a pas pu être supprimée. Détails : <p>" . $e->getMessage() . "</p>");
     }
 }