/** * 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; }
<th>Refuser</th> </tr> </thead> <tbody> HTML; $pdo = myPDO::getInstance(); $stmt = $pdo->prepare(<<<SQL SELECT * FROM CANDIDATURE WHERE idOffre = :idOffre AND refuse = 0 SQL ); $stmt->execute(array("idOffre" => $idOffre)); while (($ligne = $stmt->fetch()) !== false) { $etu = Etudiant::createFromID($ligne["idEtu"]); $html .= <<<HTML <tr> <td>{$etu->getNom()}</td> <td>{$etu->getPrenom()}</td> <td><a href="{$etu->getCheminCV()}">PDF</a></td> <td><a href="validerCandidature.php?idE={$etu->getId()}&idO={$idOffre}">Valider</a></td> <td><a href="refuserCandidature.php?idE={$etu->getId()}&idO={$idOffre}">Refuser</a></td> </tr> <tr class='descriptionOffre' style='display:none'> <td colspan='5'> <div style="display:table-cell;position:relative;" class="descO"> {$ligne["lettreMotiv"]} </div> </td> </tr>
public function getTutorats() { // pb car affiche dans les 2 tableaux $html = <<<HTML <table> <thead> <tr> <th>Etudiant</th> <th>Entreprise</th> <th>Debut Stage</th> <th>Fin Stage</th> </tr> </thead> <tbody> HTML; foreach ($this->stagesTutores as $s) { $o = OffreStage::createFromID($s->getIdOffre()); $e = Etudiant::createFromID($s->getIdEtu()); $ent = Entreprise::createFromID($o->getEntrepriseId()); $html .= "<tr>"; $html .= "<td>" . $e->getNom() . "</td>"; $html .= "<td>" . $ent->getNomEntreprise() . "</td>"; $html .= "<td>" . $o->getDateDebut() . "</td>"; $html .= "<td>" . $o->getDateFin() . "</td>"; $html .= "</tr>"; $html .= "<tr class='descriptionOffre' style='display:none'><td colspan='4'>" . $o->getDescription() . "</td></tr>"; } $html .= "</tbody></table>"; return $html; }