function afficheGestion($dbh) { $html = recupererHTML("../html/gestion_compte.html"); $pseudos = $dbh->query("SELECT pseudo, actif FROM utilisateur WHERE role<>'admin'"); $gestion = ""; foreach ($pseudos as $pseudo) { $gestion .= "<tr>\n\t\t\t\t\t\t\t\t<td>" . $pseudo['pseudo'] . "</td>\n\t\t\t\t\t\t\t\t<td align='center'>\n\t\t\t\t\t\t\t\t\t<input type='radio' name='" . $pseudo['pseudo'] . "' value='1' " . ($pseudo['actif'] == 1 ? 'checked' : '') . ">\n\t\t\t\t\t\t\t\t<td align='center'>\n\t\t\t\t\t\t\t\t\t<input type='radio' name='" . $pseudo['pseudo'] . "' value='0' " . ($pseudo['actif'] == 0 ? 'checked' : '') . ">\n\t\t\t\t\t\t\t\t<td align='center'>\n\t\t\t\t\t\t\t\t\t<input type='radio' name='" . $pseudo['pseudo'] . "' value='2'>\n\t\t\t\t\t\t\t</tr>"; } return str_replace("%champs%", $gestion, $html); }
/** Affiche les technotes contenues dans la BDD $dbh selon un mode de $tri et une $valeur donnée * * $dbh : BDD * $tri : mode de tri (date/auteur/mot clef) * $valeur : restreint le tri à une valeur donnée */ function afficheTechnote($dbh, $tri, $valeur) { $html = recupererHTML("../html/technote.html"); $technotes = $dbh->query(requeteParTri($tri, $valeur)); $listeTech = ""; foreach ($technotes as $technote) { $listeTech .= "<p><a href='consulter_technote.php?id=" . $technote["id"] . "'>" . $technote["titre"] . " publiée par " . $technote["auteur"] . ", le " . $technote["date"] . "</a><p>"; } return str_replace("%listeTech%", $listeTech, $html); }
/** Affiche les questions contenues dans la BDD $dbh selon un mode de $tri et une $valeur donnée * * $dbh : BDD * $tri : mode de tri (date/statut/mot clef) * $valeur : restreint le tri à une valeur donnée */ function afficheQuestion($dbh, $tri, $valeur) { $html = recupererHTML("../html/question.html"); $questions = $dbh->query(requeteParTri($tri, $valeur)); $listeQues = ""; foreach ($questions as $question) { $listeQues .= "<p><a href='consulter_question.php?id=" . $question["id"] . "'>" . utf8_encode($question["titre"]) . " publiée par " . $question["auteur"] . ", le " . $question["date"] . "</a><p>"; } return str_replace("%listeQues%", $listeQues, $html); }
function consulterQuestion($dbh, $id) { $html = recupererHTML("../html/consulter_question.html"); $requete = $dbh->prepare("SELECT titre, contenu, auteur, date FROM question WHERE id = :id"); $requete->bindValue(':id', $id); $requete->execute(); $question; while ($donnee = $requete->fetch(PDO::FETCH_ASSOC)) { $question = $donnee; } $requete = $dbh->prepare("SELECT mot_cle FROM association WHERE question = :id"); $requete->execute(array(':id' => $id)); $requete->execute(); $motscles = array(); while ($donnee = $requete->fetch(PDO::FETCH_ASSOC)) { array_push($motscles, $donnee["mot_cle"]); } $remplacement = array('%titre%' => utf8_encode($question["titre"]), '%contenu%' => utf8_encode($question["contenu"]), '%auteur%' => $question["auteur"], '%date%' => $question["date"], '%mc%' => utf8_encode(implode(", ", $motscles)), '%listeRep%' => afficherRep($dbh, $id)); return str_replace(array_keys($remplacement), array_values($remplacement), $html); }
function consulterTechnote($dbh, $id) { $html = recupererHTML("../html/consulter_technote.html"); $message = ""; $idTech = ""; if (isset($_SESSION["role"])) { $html .= recupererHTML("../html/commentaire_technote.html"); if (isset($_POST["commentaire"])) { $requete = $dbh->prepare("SELECT MAX(ordre) FROM commentaire WHERE technote = :id"); $requete->bindValue(':id', $id); $ordre = $requete->execute(); $ordre = $ordre == NULL ? 1 : $ordre + 1; $requete = $dbh->prepare("INSERT INTO commentaire VALUES (:ordre, :technote, :contenu, :auteur, :date)"); $requete->bindValue(':ordre', $ordre + 1); $requete->bindValue(':technote', $id); $requete->bindValue(':contenu', $_POST["commentaire"]); $requete->bindValue(':auteur', $_SESSION["pseudo"]); $requete->bindValue(':date', date("o-m-d")); $ajout = $requete->execute(); $message = $ajout ? "Votre commentaire a bien été publié." : "Une erreur est survenue."; $idTech = $id; } } $requete = $dbh->prepare("SELECT titre, contenu, auteur, date FROM technote WHERE id = :id"); $requete->bindValue(':id', $id); $requete->execute(); $technote; while ($donnee = $requete->fetch(PDO::FETCH_ASSOC)) { $technote = $donnee; } $requete = $dbh->prepare("SELECT mot_cle FROM indexation WHERE technote = :id"); $requete->execute(array(':id' => $id)); $requete->execute(); $motscles = array(); while ($donnee = $requete->fetch(PDO::FETCH_ASSOC)) { array_push($motscles, $donnee["mot_cle"]); } $remplacement = array('%titre%' => $technote["titre"], '%contenu%' => utf8_encode($technote["contenu"]), '%auteur%' => $technote["auteur"], '%date%' => $technote["date"], '%mc%' => utf8_encode(implode(", ", $motscles)), '%listeCom%' => afficherCom($dbh, $id), '%message%' => $message, '%id%' => $idTech); return str_replace(array_keys($remplacement), array_values($remplacement), $html); }
<?php session_start(); include_once "fonctions.php"; // Fonctions auxiliaires include_once "Question.php"; /* Stockage de la vue à charger dans un buffer */ $html = recupererHTML("../main.html"); /* Initialisation du tableau pour le remplacement */ $remplacement = array('%navbar%' => recupererHTML("../html/navbar.html"), '%contenu%' => mainQuestionnaire(), '%scripts%' => "", '%accueilActif%' => "", '%questActif%' => 'class="active"', '%statActif%' => "", '%deconnexion%' => $_SESSION['connecte'] ? '<ul class="nav navbar-nav navbar-right"><li><a href="../php/deconnexion.php">Deconnexion</a></li></ul>' : ''); /* Remplacement des variables de la vue par les données de la page */ $html = remplacerContenu($html, $remplacement); echo $html;
<?php require_once "utils.php"; require_once "fonctions.php"; if (!isset($_SESSION["role"])) { echo recupererHTML("../html/interdit.html"); return 1; } $id = 1; $message = ""; if (isset($_POST["commentaire"])) { $requete = $dbh->prepare("SELECT MAX(ordre) FROM commentaire WHERE technote = :id"); $requete->bindValue(':id', $id); $ordre = $requete->execute(); $ordre = $ordre == NULL ? 1 : $ordre + 1; $requete = $dbh->prepare("INSERT INTO commentaire VALUES (:ordre, :technote, :contenu, :auteur, :date)"); $requete->bindValue(':ordre', $ordre + 1); $requete->bindValue(':technote', $id); $requete->bindValue(':contenu', $_POST["commentaire"]); $requete->bindValue(':auteur', $_SESSION["pseudo"]); $requete->bindValue(':date', date("o-m-d")); $ajout = $requete->execute(); $message = $ajout ? "Votre commentaire a bien été publié." : "Une erreur est survenue."; } $html = recupererHTML("../html/commentaire_technote.html"); $remplacement = array('%id%' => $id, '%message%' => $message); $html = str_replace(array_keys($remplacement), array_values($remplacement), $html); echo $html;
function depotQuestion($dbh) { $html = recupererHTML("../html/depot_question.html"); return str_replace("%motscles%", recupererMotsCles($dbh), $html); }
<?php session_start(); include_once "connexion.php"; include_once "fonctions.php"; /* Affiche un message d'erreur si connexion échouée */ $erreurCo = ""; $erreurCrea = ""; $erreurModif = ""; if (isset($_POST['login']) && isset($_POST['password']) && !$_SESSION['connecte']) { $erreurCo = authentification($dbh); } if (isset($_POST['nlogin']) && isset($_POST['npassword']) && isset($_POST['npasswordV'])) { $erreurCrea = inscription($dbh); } if (isset($_POST['infoPassword'])) { $erreurModif = modifInfoUser($dbh); } $infos_user = getInfosUser($dbh); /* Stockage de la vue à charger dans un buffer */ $html = recupererHTML("../main.html"); /* Initialisation du tableau pour le remplacement */ $remplacement = array('%navbar%' => recupererHTML("../html/navbar.html"), '%contenu%' => $_SESSION['connecte'] ? recupererHTML("../html/compte.html") : recupererHTML("../html/accueil.html"), '%scripts%' => "", '%accueilActif%' => 'class="active"', '%questActif%' => "", '%statActif%' => "", '%deconnexion%' => $_SESSION['connecte'] ? '<ul class="nav navbar-nav navbar-right"><li><a href="../php/deconnexion.php">Deconnexion</a></li></ul>' : '', '%erreurCo%' => $erreurCo, '%erreurCrea%' => $erreurCrea, '%erreurModif%' => $erreurModif, '%selGNull%' => !isset($infos_user->genre) ? "selected" : "", '%selGHom%' => $infos_user->genre == "homme" ? "selected" : "", '%selGFem%' => $infos_user->genre == "femme" ? "selected" : "", '%infoProf%' => isset($infos_user->profession) ? "value='" . $infos_user->profession . "'" : "", '%infoFrT%' => $infos_user->fr_natif ? 'checked' : '', '%infoFrF%' => !$infos_user->fr_natif ? 'checked' : ''); /* Remplacement des variables de la vue par les données de la page */ $html = remplacerContenu($html, $remplacement); echo $html;
<?php include_once "utils.php"; include_once "fonctions.php"; if (!isset($_SESSION["role"]) && $_SESSION["role"] != "admin") { echo recupererHTML("../html/interdit.html"); return 1; } shablagoo;
/** * Affiche le header du site * Affiche les boutons de connexion/inscription pour les visiteurs * Affiche un message personnalisé et l'option de déconnexion pour les membres authentifiés */ function afficheHeader($dbh) { $html = recupererHTML("../html/bandeau.html"); //$estConnecte = true; $espaceConnexion = ""; $modalInscription = ""; $modalConnexion = ""; $modalConfirmation = ""; if (isset($_POST["login"]) && $_POST["password"]) { $_SESSION["estConnecte"] = authentification($dbh, $_POST["login"], $_POST["password"]); $_SESSION["role"] = $dbh->query("SELECT role FROM utilisateur WHERE pseudo='" . $_POST["login"] . "'"); $_SESSION["role"] = $_SESSION["role"]->fetch(PDO::FETCH_OBJ); $_SESSION["role"] = $_SESSION["role"]->role; $_SESSION["pseudo"] = $_POST["login"]; } if (isset($_SESSION["estConnecte"]) && $_SESSION["estConnecte"]) { $espaceConnexion = ' <div class="account" id="logged"> Bienvenue, ' . $_SESSION["pseudo"] . ' ! <form method="post"> <button type="submit" id="deConnexion" value="Deconnexion" name="deConnexion">Deconnexion</button> </form> </div> '; } else { $espaceConnexion = ' <nav class="main-nav"> <ul> <li><a class="connexion lien" href="#conn">Se connecter</a></li> <li><a class="inscription lien" href="#inscr">S\'inscrire</a></li> </ul> </nav> '; $modalInscription = ' <div id="inscr" class="modal"> <div> <a href="#fermer" title="Fermer" class="fermer">X</a> <h2>INSCRIPTION</h2> <form action="' . $_SERVER['PHP_SELF'] . '#conf" method="post"> <label for="inscrPseudo">Pseudo</label> <input type="text" name="inscrPseudo" id="inscrPseudo" placeholder="Pseudo" required><br> <label for="inscrMail">Mail</label> <input type="text" name="inscrMail" id="inscrMail" placeholder="*****@*****.**" required><br> <button type="submit" class="submit">Je m\'inscris !</button> </form> </div> </div> '; $pageActuelle = $_SERVER['PHP_SELF'] == "/1000k_web/php/consulter_technote.php" ? "/1000k_web/php/consulter_technote.php?id=" . $_GET["id"] : ($_SERVER['PHP_SELF'] == "/1000k_web/php/consulter_question.php" ? "/1000k_web/php/consulter_question.php?id=" . $_GET["id"] : $_SERVER['PHP_SELF']); $modalConnexion = ' <div id="conn" class="modal"> <div> <a href="#fermer" title="Fermer" class="fermer">X</a> <h2>CONNEXION</h2> <form action="' . $pageActuelle . '" method="post"> <label for="connPseudo">Pseudo</label> <input type="text" name="login" id="connPseudo" placeholder="Pseudo" required><br> <label for="connMDP">Mail</label> <input type="password" name="password" id="connMDP" placeholder="*****" required><br> <button type="submit" class="submit">Je me connecte !</button> </form> </div> </div> '; if (isset($_POST["inscrPseudo"]) && isset($_POST["inscrMail"])) { $message = creationCompte($_POST["inscrMail"], $_POST["inscrPseudo"], $dbh); $modalConfirmation = ' <div id="conf" class="modal"> <div> <a href="#fermer" title="Fermer" class="fermer">X</a> <h2>CONFIRMATION</h2> <span>' . $message . '</span> </div> </div> '; } } $remplacement = array('%espaceConnexion%' => $espaceConnexion, '%modalInscription%' => $modalInscription, '%modalConnexion%' => $modalConnexion, '%modalConfirmation%' => $modalConfirmation); return remplacerContenu($html, $remplacement); }
function afficheAccueil($dbh) { $html = recupererHTML("../html/accueil.html"); $Tcle = aleaCle($dbh, "indexation"); $Qcle = aleaCle($dbh, "association"); $donneesAffichees = array('%TparDate%' => resumeTechnote(TechParDate($dbh), "La plus récente :"), '%TparCom%' => resumeTechnote(TechParCom($dbh), "On a récemment commenté cette technote :"), '%TparCle%' => resumeTechnote(TechParCle($dbh, $Tcle), "Dans la catégorie " . utf8_encode($Tcle) . " :"), '%TparAuteur%' => resumeTechnote(TechParAuteur($dbh, aleaAuteur($dbh, "technote")), "Il a publié ça :"), '%QparDate%' => resumeQuestion(QuestParDate($dbh), "La plus récente :"), '%QparRep%' => resumeQuestion(QuestParRep($dbh), "On a récemment répondu à cette question :"), '%QparCle%' => resumeQuestion(QuestParCle($dbh, $Qcle), "Dans la catégorie " . utf8_encode($Qcle) . " :"), '%QparAuteur%' => resumeQuestion(QuestParAuteur($dbh, aleaAuteur($dbh, "question")), "Il a besoin de votre aide :")); return str_replace(array_keys($donneesAffichees), array_values($donneesAffichees), $html); }
/** Renvoie la page html du dépôt de technotes une fois la liste des mots clés ajoutée * * $dbh : BDD utilisée */ function depotTechnote($dbh) { $html = recupererHTML("../html/depot_technote.html"); return str_replace("%motscles%", recupererMotsCles($dbh), $html); }
return $res === false ? 3 : 2; } /* Déclaration des variables pour cette page */ $header = afficheHeader($dbh); $onglets = afficheOnglets("profil"); $pageCentrale = recupererHTML("../html/profil.html"); $message = ""; $menu = ""; $script = ""; if (isset($_POST["mdp"])) { if (mdpValide($dbh, $_POST["mdp"])) { $valide = filter_var($_POST["email"], FILTER_VALIDATE_EMAIL); $message = $valide == false ? information(4) : information(changerEmail($dbh, $_POST["email"])); } else { $message = information(5); } } if (isset($_POST["ancien"])) { if ($_POST["nouv1"] === $_POST["nouv2"]) { //$message = (mdpValide($dbh, $_POST["ancien"]) ? information(changerMDP($dbh, $_POST["nouv1"])) : information(5)); } else { $message = information(6); } } /* Stockage de la vue à charger dans un buffer */ $html = recupererHTML("../html/index.html"); /* Initialisation du tableau pour le remplacement */ $remplacement = array('%header%' => $header, '%onglets%' => $onglets, '%pageCentrale%' => $pageCentrale, '%message%' => $message, '%menu%' => $menu, '%script%' => $script); /* Remplacement des variables de la vue par les données de la page */ $html = str_replace(array_keys($remplacement), array_values($remplacement), $html); echo $html;