示例#1
0
    /**
     * 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"]);
        }
    }
示例#2
0
    /**
     * 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>";
    }