/** * 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"]); } }
/** * Retourne la liste, formatée en HTML (tableau) des stages de l'entreprise, en attente de validation (enseignant, étudiant ou entreprise) * @return HTML */ public function listeStagesAttente() { $res = <<<HTML <table> <thead> <tr> <th>Offre</th> <th>Etudiant</th> <th>Enseignant</th> <th>Réponse Entreprise</th> <th>Réponse Enseignant</th> <th>Réponse Etudiant</th> <th>Action</th> </tr> </thead> <tbody> HTML; $pdo = myPDO::getInstance(); foreach ($this->offresProposees as $offre) { $stmt = $pdo->prepare(<<<SQL SELECT idEtu, idEns, idOffre FROM STAGE WHERE idOffre = :idOffre AND (acceptEns = 0 OR acceptEtu = 0 OR acceptEnt = 0) SQL ); $stmt->execute(array("idOffre" => $offre->getID())); while (($ligne = $stmt->fetch()) !== false) { $stage = Stage::createFromIDs($ligne["idEtu"], $offre->getID(), $ligne["idEns"]); if ($stage->getAcceptEnt() == 0) { $typeAction = "accepter"; } else { $typeAction = "refuser"; } $res .= $stage->toHTML($typeAction); } } return $res . "</tbody></table>"; }