/** * Constructeur de Gestionnaire * Charge toutes les données depuis la BD et les stocke dans cet objet */ private function __construct() { $pdo = myPDO::getInstance(); // Affecte les enseignants $stmt = $pdo->prepare(<<<SQL SELECT MAX(idPers) AS maxPersonne FROM PERSONNE SQL ); $stmt->execute(); $data = $stmt->fetch(); $maxPersonne = $data["maxPersonne"]; for ($i = 1; $i <= $maxPersonne; $i++) { $this->listeEnseignants[] = Enseignant::createFromID($i); } // Affecte les entreprises $stmt = $pdo->prepare(<<<SQL SELECT MAX(idEnt) AS maxEntreprise FROM ENTREPRISE SQL ); $stmt->execute(); $data = $stmt->fetch(); $maxEntreprise = $data["maxEntreprise"]; for ($i = 1; $i <= $maxEntreprise; $i++) { $this->listeEntreprises[] = Entreprise::createFromID($i); } $stmt = $pdo->prepare(<<<SQL SELECT MAX(idPers) AS maxPersonne FROM PERSONNE SQL ); $stmt->execute(); $data = $stmt->fetch(); $maxPersonne = $data["maxPersonne"]; for ($i = 1; $i <= $maxPersonne; $i++) { $this->listeEtudiants[] = Etudiant::createFromID($i); } // Affecte les offres $stmt = $pdo->prepare(<<<SQL SELECT * FROM OFFRESTAGE ORDER BY datePublication DESC SQL ); $stmt->execute(); while (($data = $stmt->fetch()) !== false) { $this->listeOffres[] = OffreStage::createFromID($data["idOffre"]); } // Affecte les stages $stmt = $pdo->prepare(<<<SQL SELECT idEtu, idOffre, idEns FROM STAGE SQL ); $stmt->execute(); while (($ligne = $stmt->fetch()) !== false) { $this->listeStages[] = Stage::createFromIDs($ligne["idEtu"], $ligne["idOffre"], $ligne["idEns"]); } }
/** * toHTML * @param String $type : type de réponse voulue de l'entreprise ("accepter" ou "refuser") * @return HTML */ public function toHTML($type) { $acceptPhrases = array("En attente", "Validé"); $acceptClass = array("attente", "valide"); $actionPhrase = array("accepter" => "Accepter", "refuser" => "Refuser"); $actionLien = array("accepter" => "accepterStage.php", "refuser" => "annulerStage.php"); $offre = OffreStage::createFromID($this->idOffre); $etudiant = Etudiant::createFromID($this->idEtu); $enseignant = Enseignant::createFromID($this->idEns); return <<<HTML <tr> <td><a href="../offres/offre.php?id={$this->idOffre}">{$offre->getIntitule()}</a></td> <td>{$etudiant->getNom()} {$etudiant->getPrenom()}</td> <td>{$enseignant->getNomPrenom()}</td> <td class="{$acceptClass[$this->acceptEnt]}">{$acceptPhrases[$this->acceptEnt]}</td> <td class="{$acceptClass[$this->acceptEns]}">{$acceptPhrases[$this->acceptEns]}</td> <td class="{$acceptClass[$this->acceptEtu]}">{$acceptPhrases[$this->acceptEtu]}</td> <td> <a href="{$actionLien[$type]}?idO={$this->idOffre}&idEtu={$this->idEtu}" >{$actionPhrase[$type]}</a></td> </tr> HTML; }