예제 #1
0
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);
}
예제 #2
0
/** 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);
}
예제 #3
0
/** 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);
}
예제 #4
0
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);
}
예제 #5
0
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);
}
예제 #6
0
<?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;
예제 #7
0
<?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;
예제 #8
0
function depotQuestion($dbh)
{
    $html = recupererHTML("../html/depot_question.html");
    return str_replace("%motscles%", recupererMotsCles($dbh), $html);
}
예제 #9
0
<?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;
예제 #10
0
<?php

include_once "utils.php";
include_once "fonctions.php";
if (!isset($_SESSION["role"]) && $_SESSION["role"] != "admin") {
    echo recupererHTML("../html/interdit.html");
    return 1;
}
shablagoo;
예제 #11
0
/**
 * 	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);
}
예제 #12
0
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);
}
예제 #13
0
/** 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);
}
예제 #14
0
    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;