/** * Usine à fabriquer des Entreprise. * @param int $id : l'ID de l'Entreprise */ public static function createFromID($id) { $pdo = myPDO::getInstance(); $stmt = $pdo->prepare(<<<SQL SELECT * FROM ENTREPRISE WHERE idEnt = :id SQL ); $stmt->execute(array("id" => $id)); $stmt->setFetchMode(PDO::FETCH_CLASS, 'Entreprise'); if (($object = $stmt->fetch()) !== false) { $stmt2 = $pdo->prepare(<<<SQL SELECT idOffre FROM offrestage WHERE idEnt = :idEnt AND supprime IS NULL SQL ); $stmt2->execute(array("idEnt" => $object->idEnt)); while (($ligne = $stmt2->fetch()) !== false) { $object->offresProposees[] = OffreStage::createFromID($ligne["idOffre"]); } return $object; } }
/** * 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; }
/** * Usine à fabriquer des Etudiant. * @param int $id : l'ID de l'Etudiant */ public static function createFromID($id) { $pdo = myPDO::getInstance(); // On récupère d'abord la Personne $stmt = $pdo->prepare(<<<SQL SELECT * FROM PERSONNE WHERE idPers = :id SQL ); $stmt->execute(array(':id' => $id)); $stmt->setFetchMode(PDO::FETCH_CLASS, 'Etudiant'); if (($object = $stmt->fetch()) !== false) { // On récupère maintenant l'Etudiant $stmt2 = $pdo->prepare(<<<SQL SELECT * FROM ETUDIANT WHERE idEtu = :id SQL ); $stmt2->execute(array(':id' => $id)); $stmt2->setFetchMode(PDO::FETCH_CLASS, ''); if (($obj = $stmt2->fetch()) !== false) { // On ajoute les informations manquantes $object->idEtu = $obj['idEtu']; $object->cheminCV = $obj['cheminCV']; $stmt3 = $pdo->prepare(<<<SQL SELECT idOffre FROM CANDIDATURE WHERE idEtu = :id SQL ); $stmt3->execute(array(':id' => $id)); while (($obj2 = $stmt3->fetch()) !== false) { $object->offresPostulees[] = OffreStage::createFromID($obj2['idOffre']); } return $object; } } }
<?php require_once "../inc/config.inc.php"; session_start(); if (isset($_SESSION["membre"]) && $_SESSION["membre"] instanceof Entreprise) { $idOffre = (int) $_GET["idO"]; $idEtudiant = (int) $_GET["idE"]; $idEntreprise = $_SESSION["membre"]->getID(); if (in_array(OffreStage::createFromID($idOffre), $_SESSION["membre"]->getOffresProposees())) { $message = "Candidature acceptée. Vous pouvez voir l'état d'avancement du stage dans votre récapitulatif <a href='listeStagesEntreprise.php'>\"Mes stages\"</a><br>\n <a href=\"listeCandidatures.php?id={$idOffre}\">Retour</a>"; $g = Gestionnaire::getInstance(); $g->creeStage($idEtudiant, $idOffre); // MAJ de l'objet en session : $_SESSION["membre"] = Entreprise::createFromID($_SESSION["membre"]->getID()); } else { $message = "Vous ne pouvez pas accepter cette offre. <a href=\"index.php\">Retour</a>"; } $p = new Page("Gestion des stages :: Valider une candidature"); $p->appendCssUrl("../inc/style/stylePageAjout.css"); $p->appendContent(<<<HTML <header> <h1>Valider une candidature</h1> </header> <p class="mesage">{$message}</p> HTML ); echo $p->toHTML(); } else { header("Location: ../index.php"); }
<?php require_once "../inc/config.inc.php"; session_start(); if (isset($_SESSION["membre"]) && $_SESSION["membre"] instanceof Entreprise) { $p = new Page("Gestion des stages :: Voir les candidatures"); $p->appendCssUrl("../inc/style/styleOffres.css"); $p->appendCssUrl("../inc/style/styleCandEtu.css"); $p->appendJsUrl("../inc/script/scriptOffres.js"); $p->appendCssUrl("../inc/style/stylePageOffres.css"); $p->appendCssUrl("../inc/style/stylePageOffresEnt.css"); $idOffre = (int) $_GET["id"]; if (in_array(OffreStage::createFromID($idOffre), $_SESSION["membre"]->getOffresProposees())) { $nomOffre = OffreStage::createFromID($idOffre)->getIntitule(); $html = <<<HTML <header> <h1>Liste des candidatures pour l'offre <a href="../offres/offre.php?id={$idOffre}">"{$nomOffre}"</a></h1> <p>Cliquez sur une offre pour lire la lettre de motivation du candidat<br> <a href="listeOffresEntreprise.php"><- Retour</a></p> </header> <table> <thead> <tr> <th>Nom</th> <th>Prénom</th> <th>CV</th> <th>Valider</th> <th>Refuser</th> </tr> </thead> <tbody>
public function creeStage($idEtudiant, $idOffre) { $pdo = myPDO::getInstance(); $stmt = $pdo->prepare(<<<SQL INSERT INTO STAGE(idEtu, idOffre, idEns, acceptEnt, acceptEtu, acceptEns) VALUES(:idEtu, :idOffre, :idEns, 1, 0, 0) SQL ); $idEns = $this->calculTuteur(OffreStage::createFromID($idOffre)->getEntrepriseId()); $stmt->execute(array("idEtu" => $idEtudiant, "idOffre" => $idOffre, "idEns" => $idEns)); $stmt2 = $pdo->prepare(<<<SQL UPDATE CANDIDATURE SET refuse = 2 WHERE idEtu = :idEtu AND idOffre = :idOffre SQL ); $stmt2->execute(array("idEtu" => $idEtudiant, "idOffre" => $idOffre)); }
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; }
<?php require_once "../inc/config.inc.php"; session_start(); if (isset($_SESSION["membre"]) && $_SESSION["membre"] instanceof Entreprise) { $id = (int) $_GET["id"]; $o = OffreStage::createFromID($id); if ($o->getIdEnt() == $_SESSION["membre"]->getID()) { $pdo = myPDO::getInstance(); $stmt = $pdo->prepare(<<<SQL UPDATE OFFRESTAGE SET supprime = 1 WHERE idOffre = :id SQL ); $stmt->execute(array("id" => $id)); // MAJ de l'objet en session : $_SESSION["membre"] = Entreprise::createFromID($_SESSION["membre"]->getID()); } header("Location: listeOffresEntreprise.php"); } else { header("Location: ../index.php"); }