From 9bbdfffe26b7ddc6ce254d8427634d07ea5ccc12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?N=C3=A9munaire?= Date: Tue, 19 Jun 2012 19:13:44 +0200 Subject: [PATCH] Can report a question --- Question.class.php | 11 ++++++++++- index.php | 8 ++++---- list.php | 12 ++++++++++-- report.php | 19 ++++++++++++++++--- 4 files changed, 40 insertions(+), 10 deletions(-) diff --git a/Question.class.php b/Question.class.php index beba19f..9ed303b 100644 --- a/Question.class.php +++ b/Question.class.php @@ -65,7 +65,11 @@ class Question public function get_writer() { - return User::getUser($this->writer); + $u = User::getUser($this->writer); + if (isset($u)) + return $u; + else + return User::getUser("nemubot"); } public function get_validator() @@ -140,6 +144,11 @@ class Question $this->reported = $reported; } + public function isReported() + { + return $this->reported; + } + public function getId() { return $this->id; diff --git a/index.php b/index.php index 15ce59d..cb2b92f 100644 --- a/index.php +++ b/index.php @@ -53,8 +53,8 @@

Confirmer votre question

- Une fois la question ajoutée, un email vous a été envoyé pour que - vous confirmiez qu'il s'agit bien de vous. Cliquez sur le lien + Une fois la question ajoutée, un email vous sera envoyé pour que + vous confirmiez qu'il s'agisse bien de vous. Cliquez sur le lien pour confirmer.

@@ -79,7 +79,7 @@ Ce champ est là à titre indicatif. Il va permettre à la personne qui valide votre question d'aller vérifier par lui même la véracité de votre réponse ; et il permet également de filtrer - les questions en fonction des matière que chacun souhaite réviser. + les questions en fonction des matières que chacun souhaite réviser.

@@ -100,7 +100,7 @@ foreach($cs as $c)

La question

- La question sera afficher sur 1 ligne. Donc pas la peine de + La question sera affichée sur une ligne. Donc pas la peine de faire de retour à la ligne.

diff --git a/list.php b/list.php index 63a888b..9d4ec7b 100644 --- a/list.php +++ b/list.php @@ -29,10 +29,11 @@ else Liste des questions non-validées :: + report">Liste des questions rapportées :: Liste des questions validées :.

-

Liste de toutes les questions validées

+

Liste de toutes les questions validées

@@ -54,7 +55,7 @@ foreach($file->get_questions() as $q) { if (!isset($_GET["valid"])) { - if ($q->isValidated()) + if ($q->isValidated() && !$q->isReported()) continue; } else @@ -63,6 +64,12 @@ foreach($file->get_questions() as $q) continue; } + if (isset($_GET["report"])) + { + if (!$q->isReported()) + continue; + } + if (!empty($filter) && $q->getCourse()->getCode() != $filter) continue; @@ -83,6 +90,7 @@ if (!empty($_SESSION["connected"])) + " action="report.php">"> diff --git a/report.php b/report.php index bc131ab..83dac50 100644 --- a/report.php +++ b/report.php @@ -5,26 +5,39 @@ include("Question.class.php"); include("QuestionsFile.class.php"); -if (isset($_POST['id'])) +session_start(); + +if (isset($_GET['id']) || (isset($_POST['id']) && !empty($_SESSION["connected"]))) { - $id = $_POST['id']; + if (isset($_POST['id']) && !empty($_SESSION["connected"])) + $id = $_POST['id']; + else + $id = $_GET['id']; + $file = new QuestionsFile("questions.xml"); foreach($file->get_questions() as $q) { if ($q->getReportId() == $id) { - $q->setReported(); + $qm = $file->get_question($q->getId()); + $qm->setReported(!(isset($_POST['id']) && !empty($_SESSION["connected"]))); $id = null; + $file->save(); break; } } if (isset($id)) echo 'La question n\'a pas été trouvée'; + else if (isset($_POST['id']) && !empty($_SESSION["connected"])) + echo 'Le signalement de la question a bien été retiré'; else echo 'La question a été rapporté avec succès'; } else +{ + echo "Aucun identifiant n'a été passé à la page"; header("Location: ./"); +} ?>

Nemubot vous remercie de l'aider à améliorer la qualité de sa base de données.