示例#1
0
function supprimerVoteEtCitation($citation)
{
    $db = new Mypdo();
    $managerC = new CitationManager($db);
    $managerV = new VoteManager($db);
    $managerV->supprimerVoteCitation($citation);
    $managerC->supprimerCitation($citation);
}
 public function deleteForChange($per_num)
 {
     $voteManager = new VoteManager($this->db);
     $citationManager = new CitationManager($this->db);
     $citationToDelete = $citationManager->getCitationToDeleteForStudent($per_num);
     if (isset($citationToDelete)) {
         foreach ($citationToDelete as $citation) {
             $voteManager->deleteVoteByCitNum($citation->getCitationPerNum());
             $citationManager->deleteCitationByCitNum($citation->getCitationPerNum());
         }
     }
     $citationManager->deleteByPerNum($per_num);
     $sql = "DELETE FROM vote WHERE per_num=:per_num; DELETE FROM citation WHERE per_num_etu=:per_num; DELETE FROM etudiant WHERE per_num=:per_num";
     $requete = $this->db->prepare($sql);
     $requete->bindValue(":per_num", $per_num);
     $retour = $requete->execute();
 }
 public function deleteByPerNum($per_num)
 {
     $voteManager = new VoteManager($this->db);
     $citationManager = new CitationManager($this->db);
     $personneManager = new PersonneManager($this->db);
     $listeVoteDeLaPersonne = $voteManager->getVoteByPerNum($per_num);
     if ($personneManager->isEtudiant($per_num)) {
         $listeCitationDeLaPersonne = $citationManager->getCitationToDeleteForStudent($per_num);
         if (isset($listeCitationDeLaPersonne)) {
             foreach ($listeCitationDeLaPersonne as $citation) {
                 $voteManager->deleteVoteByCitNum($citation->getCitationNum());
                 $citationManager->deleteCitationByCitNum($citation->getCitationNum());
             }
         }
     } else {
         $listeCitationDeLaPersonne = $citationManager->getCitationToDeleteForProf($per_num);
         if (isset($listeCitationDeLaPersonne)) {
             foreach ($listeCitationDeLaPersonne as $citation) {
                 $voteManager->deleteVoteByCitNum($citation->getCitationNum());
                 $citationManager->deleteCitationByCitNum($citation->getCitationNum());
             }
         }
     }
     if (isset($listeVoteDeLaPersonne)) {
         foreach ($listeVoteDeLaPersonne as $vote) {
             $voteManager->deleteVoteByPerNum($vote->getPerNum());
         }
     }
     if (isset($listeCitationDeLaPersonne)) {
         foreach ($listeCitationDeLaPersonne as $citation) {
             $citationManager->deleteCitationByCitNum($citation->getCitationNum());
         }
     }
     if ($personneManager->isEtudiant($per_num)) {
         $etudiantManager = new EtudiantManager($this->db);
         $retour = $etudiantManager->delete($per_num);
     } else {
         $salarieManager = new SalarieManager($this->db);
         $retour = $salarieManager->delete($per_num);
     }
     $sql = "DELETE FROM personne WHERE per_num=:per_num;";
     $requete = $this->db->prepare($sql);
     $requete->bindValue(':per_num', $per_num);
     $retour = $requete->execute();
     return $retour;
 }
<script> changerTitre("Supprimer une citation"); </script>

<?php 
if (!isConnected() || !getPersonneConnectee()->isPerAdmin()) {
    throw new ExceptionPerso("Vous n'avez pas les droits pour afficher cette page !", ExceptionPerso::ERR_DROITS);
}
?>

<h1>Supprimer une citation </h1>

<?php 
$pdo = new Mypdo();
$citationManager = new CitationManager($pdo);
$voteManager = new VoteManager($pdo);
if (empty($_GET['id'])) {
    throw new ExceptionPerso("Merci de ne pas modifier l'URL", ExceptionPerso::ERR_URL);
} else {
    $cit_num = $_GET['id'];
    if (empty($cit_num) || !is_numeric($cit_num)) {
        throw new ExceptionPerso("Merci de ne pas modifier l'URL !", ExceptionPerso::ERR_URL);
    }
    $retour = $citationManager->deleteByCitNum($cit_num);
    if ($retour === true) {
        afficherMessageSucces("Citation supprimée !");
        redirection(1, LISTER_CITATIONS);
    } else {
        afficherMessageErreur("La citation n'a pas pu être supprimée.");
        redirection(5, LISTER_CITATIONS);
    }
}
<script> changerTitre("Voter pour une citation"); </script>
<h1>Voter pour une citation</h1>
<?php 
$pdo = new Mypdo();
$citationManager = new CitationManager($pdo);
$personneManager = new PersonneManager($pdo);
$voteManager = new VoteManager($pdo);
if (!isConnected() || !$personneManager->isEtudiant(getPersonneConnectee()->getPerNum())) {
    throw new ExceptionPerso("Vous n'avez pas les droits pour afficher cette page. Seul un etudiant peut ajouter une citation !", ExceptionPerso::ERR_DROITS);
}
if (empty($_GET['id'])) {
    throw new ExceptionPerso("Merci de ne pas modifier l'URL de la page", ExceptionPerso::ERR_URL);
} else {
    $citation = $citationManager->getCitation($_GET['id']);
    if (empty($_POST['vot_valeur'])) {
        $detailsProf = $personneManager->getPersonne($citation->getCitationPerNum());
        $moyenne = $voteManager->getMoyenneVote($citation->getCitationNum());
        include "include/pages/form/voterCitation.form.inc.php";
    } else {
        if ($voteManager->isPerNumDejaVote(getPersonneConnectee()->getPerNum(), $citation->getCitationNum())) {
            throw new ExceptionPerso("Vous avez déjà voté pour cette citation !", ExceptionPerso::ERR_VOTE);
        }
        $vote = new Vote(array('cit_num' => $citation->getCitationNum(), 'per_num' => getPersonneConnectee()->getPerNum(), 'vot_valeur' => $_POST['vot_valeur'] === "zero" ? 0 : $_POST["vot_valeur"]));
        $retour = $voteManager->add($vote);
        if ($retour != 0) {
            afficherMessageSucces("Votre vote a été pris en compte !");
            redirection(1, LISTER_CITATIONS);
        } else {
            afficherMessageErreur("Votre vote n'a pas été pris en compte, il se peut que vous ayiez déjà voté !");
            redirection(5, LISTER_CITATIONS);
        }
	<h1>Valider une citation</h1>

<?php 
$db = new Mypdo();
$managerC = new CitationManager($db);
$managerP = new PersonneManager($db);
if (!$managerP->isAdminId($_SESSION['id'])) {
    ?>
  <img src="image/erreur.png" alt="Erreur" /> Seul les <b>administrateurs</b> ont le droit de valider une citation <br/><br/>
  <a href="index.php?page=2" class="bouton">Retour aux citations</a><?php 
} else {
    $managerC->validerCitation($_SESSION['id'], $_GET['citation'], date("Y\\-m\\-d"));
    ?>
	
	<!-- message de confirmation -->
  <img src="image/valid.png" alt="ImageValide" /> La citation a bien été validée !<?php 
}
示例#7
0
<?php

$db = new Mypdo();
$managerC = new CitationManager($db);
$managerP = new PersonneManager($db);
$managerV = new VoteManager($db);
?>

<h1>Valider une citation</h1>
<table class="tableCli">
	<tr class="hautTableau">
		<td><b>Nom de l'enseignant 	</b></td>
		<td><b>Libellé							</b></td>
		<td><b>Date									</b></td>
		<td><b>Valider							</b></td>
	</tr>

	<!-- liste des citations non validées -->
	<?php 
$listeCitation = $managerC->getListeCitations();
foreach ($listeCitation as $citation) {
    $numCitation = $citation->getNumCit();
    if (!$managerC->isCitationValide($numCitation)) {
        $numPersonne = $citation->getNumPers();
        $personne = $managerP->getPersonneById($numPersonne);
        ?>
			<tr>
				<td> <?php 
        echo $personne->per_prenom . " " . $personne->per_nom;
        ?>
 </td>
    $num = $_POST['listerEnseignant'];
}
if (!empty($_POST['dateUn'])) {
    $dateUn = getEnglishDate($_POST['dateUn']);
}
if (!empty($_POST['dateDeux'])) {
    $dateDeux = getEnglishDate($_POST['dateDeux']);
}
if (isset($_POST['note'])) {
    $noteUn = $_POST['note'];
}
if (isset($_POST['noteUn'])) {
    $noteDeux = $_POST['noteDeux'];
}
$db = new Mypdo();
$managerC = new CitationManager($db);
$managerP = new PersonneManager($db);
$listeCitation = $managerC->getListeCitationsTri($num, $dateUn, $dateDeux);
if (!empty($listeCitation)) {
    ?>
  <p>Les citations suivantes correspondent à vos critères</p>
  <table class="tableCli">
    <tr class="hautTableau">
      <td><b>Nom de l'enseignant </b></td>
      <td><b>Libellé</b></td>
      <td><b>Date</b></td>
      <td><b>Moyenne des notes</b></td>
    </tr><?php 
    foreach ($listeCitation as $citation) {
        $numCitation = $citation->getNumCit();
        if ($managerC->isCitationValide($numCitation)) {
<?php 
if (!isConnected()) {
    throw new ExceptionPerso("Vous n'avez pas les droits pour afficher cette page ", ExceptionPerso::ERR_DROITS);
}
$pdo = new Mypdo();
if (empty($_POST)) {
    include "include/pages/form/rechercherCitation.form.inc.php";
} else {
    if (empty($_POST['note']) && empty($_POST["date"]) && empty($_POST["prof"])) {
        throw new ExceptionPerso("Il faut remplir au moins un champ lors d'une recherche, sans quoi votre recherche est sans but !", ExceptionPerso::ERR_PEBCAK);
    }
    $note = $_POST["note"];
    $prof = empty($_POST['prof']) ? '' : $_POST['prof'];
    $date = empty($_POST['date']) ? '' : $_POST['date'];
    $recherche = array('note' => $note, 'prof' => $prof, 'date' => $date);
    $citationManager = new CitationManager($pdo);
    if (!isConnected() || !getPersonneConnectee()->isPerAdmin()) {
        $isAdmin = 0;
    } else {
        $isAdmin = 1;
    }
    $resultat = $citationManager->search($recherche, $isAdmin);
    if (empty($resultat)) {
        ?>
    <p>
      Aucun résultat trouvé, voulez vous réessayer en modifiant vos critères de recherche ? <br/>
      <a href="index.php?page=<?php 
        echo RECHERCHER_CITATIONS;
        ?>
">
        <b> Faire une nouvelle recherche </b>
<h1>Supprimer une ville</h1>
<?php 
$db = new Mypdo();
$managerP = new PersonneManager($db);
$managerV = new VilleManager($db);
$managerVo = new VoteManager($db);
$managerC = new CitationManager($db);
$managerE = new EtudiantManager($db);
$managerDe = new DepartementManager($db);
$managerDi = new DivisionManager($db);
if ($managerV->isVille($_GET['ville'])) {
    $nomVille = $managerV->getNomVilleIdVille($_GET['ville']);
    //recuperation du nom de la ville
    //on recupere la liste des departements correspondant à la ville
    $listeDepartements = $managerDe->getDepartementIdVille($_GET['ville']);
    if (!empty($listeDepartements)) {
        foreach ($listeDepartements as $departement) {
            //on recupere la liste des etudiants correspondant au departement
            $listeEtudiant = $managerE->getEtudiantIdDepartement($departement->getDepNum());
            if (!empty($listeEtudiant)) {
                foreach ($listeEtudiant as $etudiant) {
                    //on recupere la liste des citations correspondant à l'étudiant
                    $listeCit = $managerC->getCitationIdEtudiant($etudiant->getNumPers());
                    foreach ($listeCit as $citation) {
                        supprimerVoteEtCitation($citation->getNumCit());
                    }
                    //suppression des votes restants (pour citations entrées par un autre etudiant)
                    $managerVo->supprimerVoteIdPersonne($etudiant->getNumPers());
                    //suppression de l'etudiant
                    $managerE->supprimerEtudiant($etudiant->getNumPers());
                    //suppression de la personne
<script> changerTitre("Valider une citation"); </script>
<?php 
if (!isConnected() || !getPersonneConnectee()->isPerAdmin()) {
    throw new ExceptionPerso("Vous ne pouvez pas accéder à cette page !", ExceptionPerso::ERR_DROITS);
}
$pdo = new Mypdo();
$citationManager = new CitationManager($pdo);
$citationsEnAttente = $citationManager->getCitationsEnAttente();
?>

<h1>Valider une citation </h1>
<?php 
if (empty($_GET['cit_num']) && empty($_GET['cit_valide'])) {
    throw new ExceptionPerso("Merci de ne pas modifier l'URL.", ExceptionPerso::ERR_URL);
} else {
    $citation = $citationManager->getCitation($_GET["cit_num"]);
    if ($_GET['cit_valide'] === "zero") {
        $citation->setCitationValide(0);
    } else {
        $citation->setCitationValide(intval($_GET['cit_valide']));
    }
    $citation->setCitationPerNumValide(getPersonneConnectee()->getPerNum());
    $retour = $citationManager->modererCitation($citation);
    if ($retour != 0) {
        afficherMessageSucces("La citation a été modérée !");
        redirection(1, LISTER_CITATIONS);
    } else {
        afficherMessageErreur("Une erreur est survenue. La citation n'a pas été modérée");
        redirection(5, LISTER_CITATIONS);
    }
}
示例#12
0
<script> changerTitre("Accueil"); </script>
<?php 
$pdo = new Mypdo();
$citationManager = new CitationManager($pdo);
$citation = $citationManager->getTopCitation();
$voteManager = new VoteManager($pdo);
$personneManager = new PersonneManager($pdo);
if (is_null($citation)) {
    ?>
<h2>Aucune top citation à lister !</h2> <?php 
} else {
    ?>
<h2> Actuellement, la meilleure citation est... </h2>

<table class="sortable" >
  <tr>
    <th> &nbsp;Nom de l'enseignant &nbsp;</th>
    <th> Libellé </th>
    <th> Date</th>
    <th> &nbsp; Moyenne des notes &nbsp;</th>
    <?php 
    if (isConnected() && $personneManager->isEtudiant(getPersonneConnectee()->getPerNum())) {
        ?>
    <th>Noter</th>
    <?php 
    }
    if (isConnected() && getPersonneConnectee()->isPerAdmin()) {
        ?>
    <th> Déposé par </th>
    <th> Validé par </th>
    <th> Modération </th>
    throw new ExceptionPerso("Vous n'avez pas les droits pour afficher cette page. Seul un etudiant peut ajouter une citation !", ExceptionPerso::ERR_DROITS);
}
?>

<h1>Ajouter une citation</h1>

<?php 
if (empty($_POST['cit_libelle'])) {
    include "include/pages/form/ajouterCitation.form.inc.php";
    ?>
<br/><q><?php 
    echo getPhraseAleatoire();
    ?>
</q><?php 
} else {
    $citationManager = new CitationManager($pdo);
    $motManager = new MotManager($pdo);
    $listeMotsInterdits = $motManager->getAllMots();
    if (empty($_POST['cit_libelle'])) {
        throw new ExceptionPerso("Le contenu de la citation ne peut être vide !", ExceptionPerso::ERR_PEBCAK);
    }
    $motCitations = explode(" ", $_POST['cit_libelle']);
    $ajoutAutorise = true;
    $citationFinale = "";
    foreach ($motCitations as $mot) {
        $motclean = strtolower(clean_chaine($mot));
        if ($motManager->isMotExistant($motclean)) {
            $ajoutAutorise = false;
            $listeMotsInterditsDetectes[] = $mot;
            $citationFinale .= "---";
        } else {
示例#14
0
<h1> Noter une citation </h1>

<?php 
$db = new Mypdo();
$managerP = new PersonneManager($db);
$managerE = new EtudiantManager($db);
$managerC = new CitationManager($db);
$managerV = new VoteManager($db);
$_SESSION['numCitation'] = $_GET['citation'];
if (!$managerE->isEtudiant($_SESSION['id'])) {
    ?>
  <img src="image/erreur.png" alt="Erreur" /> Seul les <b>étudiants</b> ont le droit de noter une citation <br/><br/>
  <a href="index.php?page=2" class="bouton">Retour aux citations</a><?php 
} else {
    if ($managerV->aVote($_SESSION['numCitation'], $_SESSION['id'])) {
        ?>
    <img src="image/erreur.png" alt="Erreur" /> Vous avez déjà voté pour cette citation <br/><br/>
    <a href="index.php?page=2" class="bouton">Retour aux citations</a><?php 
    } else {
        if ($managerC->isCitationValide($_GET['citation'])) {
            ?>
      <!-- libellé de la citation-->
      <p>Evaluez la citation : <b>"<?php 
            echo $managerC->getLibelleCitation($_GET['citation'])->cit_libelle;
            ?>
"</b></p>
      <div class="divCentre" id="ajout">
        <form action="index.php?page=85" method="post" name="voteCitation">
          <div class="texteFormulaire">
            <p>Note :</p>
          </div>
示例#15
0
<?php

$db = new Mypdo();
$managerC = new CitationManager($db);
$managerP = new PersonneManager($db);
$managerV = new VoteManager($db);
?>
<h1>Liste des citations déposées</h1>
<p>Actuellement <?php 
echo $managerC->getNbCitationValide()->nbCitation;
?>
 citation(s) enregistrée(s) </p>


<table class="tableCli">
	<tr class="hautTableau">
		<td><b>Nom de l'enseignant </b></td>
		<td><b>Libellé</b></td>
		<td><b>Date</b></td>
		<td><b>Moyenne des notes</b></td><?php 
if (isset($_SESSION['id'])) {
    ?>
			<td><b>Noter</b></td><?php 
}
?>
	</tr>

	<?php 
$listeCitation = $managerC->getListeCitations();
//on liste les citations validées
foreach ($listeCitation as $citation) {
示例#16
0
<?php

$db = new Mypdo();
$managerP = new PersonneManager($db);
$managerE = new EtudiantManager($db);
$managerC = new CitationManager($db);
$managerM = new MotManager($db);
//si premiere saisie de la citation
if (empty($_POST['listerEnseignants']) && empty($_POST['dateCit']) && empty($_POST['citation'])) {
    ?>
  <h1>Ajouter une citation</h1>
  <div class="divCentre" id="ajout">
    <form action="index.php?page=52" method="post" name="ajoutCit">
      <div class="texteFormulaire">
        <p>Enseignant :</p>
        <p>Date citation :</p>
        <p>Citation : </p>
      </div>

      <div class="champsFormulaire">
        <!-- liste deroulante de salaries -->
        <select class="zoneTexte" name="listerEnseignants"><?php 
    $listePersonnes = $managerP->getList();
    foreach ($listePersonnes as $personne) {
        echo "\n";
        if (!$managerE->isEtudiant($personne->getNumPers())) {
            ?>
              <option value="<?php 
            echo $personne->getNumPers();
            ?>
"><?php 
<h1>Supprimer une citation</h1>

<?php 
$db = new Mypdo();
$managerP = new PersonneManager($db);
$managerC = new CitationManager($db);
$managerV = new VoteManager($db);
if (!$managerP->isAdminId($_SESSION['id'])) {
    ?>
  <img src="image/erreur.png" alt="Erreur" /> Seul les <b>administrateurs</b> ont le droit de noter une citation <br/><br/>
  <a href="index.php?page=2" class="bouton">Retour aux citations</a><?php 
} else {
    if (!$managerC->getLibelleCitation($_GET['citation'])) {
        ?>
    <img src="image/erreur.png" alt="Erreur" /> La citation n'existe plus <br/><br/>
    <a href="index.php?page=2" class="bouton">Retour aux citations</a><?php 
    } else {
        //on recupere le libelle de la citation pour l'afficher
        $libelle = $managerC->getLibelleCitation($_GET['citation'])->cit_libelle;
        //on supprime la citation et les votes associés
        supprimerVoteEtCitation($_GET['citation']);
        ?>

    <!-- message de confirmation -->
    <img src="image/valid.png" alt="OK" /> La citation <b>"<?php 
        echo $libelle;
        ?>
"</b> a bien été supprimée <br/><br/>
    <a href="index.php?page=2" class="bouton">Retour aux citations</a><?php 
    }
}
<script> changerTitre("Lister les citations"); </script>

<?php 
$pdo = new Mypdo();
$citationManager = new CitationManager($pdo);
if (!isConnected()) {
    $nbCitations = $citationManager->getNbCitations();
    $nbCitationsCorrecte = $citationManager->getNbCitationsCorrectes();
    $nbCitationsListees = 2;
    $tmp = $citationManager->getAllCitations();
    if ($nbCitationsCorrecte < $nbCitationsListees) {
        //Dans le cas ou une seule citation a été modérée.
        $nbCitationsListees = $nbCitationsCorrecte;
    }
    for ($i = 0; $i < $nbCitationsListees; $i++) {
        //On restreint l'affichage pour les personnes connectées.
        $citations[] = $tmp[$i];
    }
}
if (isConnected() && !getPersonneConnectee()->isPerAdmin()) {
    $citations = $citationManager->getAllCitations();
    $nbCitations = count($citations);
}
if (isConnected() && getPersonneConnectee()->isPerAdmin()) {
    $citations = $citationManager->getAllCitationsAdmin();
    $nbCitations = count($citations);
}
$personneManager = new PersonneManager($pdo);
$voteManager = new VoteManager($pdo);
if (intval($nbCitations) === 0) {
    ?>
<h1>Supprimer une personnes enregistrée</h1>
<?php 
$db = new Mypdo();
$managerP = new PersonneManager($db);
$managerC = new CitationManager($db);
$managerE = new EtudiantManager($db);
$managerS = new SalarieManager($db);
$managerV = new VoteManager($db);
$supprimer = TRUE;
//verification que l'id personne existe (au cas d'une URL tapée)
if ($managerP->isPersonne($_GET['personne'])) {
    $personne = $managerP->getPersonneById($_GET['personne']);
    $prenom = $personne->per_prenom;
    $nom = $personne->per_nom;
    //on recupere le nom et le prenom de la personne pour affchage de confirmation
    //cas etudiant
    if ($managerE->isEtudiant($_GET['personne'])) {
        $listeCit = $managerC->getCitationIdEtudiant($_GET['personne']);
        foreach ($listeCit as $citation) {
            supprimerVoteEtCitation($citation->getNumCit());
            //suppression des citations et des votes associés à l'étudiant
        }
        //suppression des votes restants (pour citations entrées par un autre etudiant)
        $managerV->supprimerVoteIdPersonne($_GET['personne']);
        //suppression de l'etudiant
        $managerE->supprimerEtudiant($_GET['personne']);
    } else {
        //cas administrateur
        if ($managerP->isAdminId($_GET['personne'])) {
            //on ne peut pas supprimer le derniere administrateur de la base de données
            if ($managerP->nbAdmin() == 1) {