Can report a question

This commit is contained in:
Némunaire 2012-06-19 19:13:44 +02:00
parent 63e14532f8
commit 9bbdfffe26
4 changed files with 40 additions and 10 deletions

View File

@ -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;

View File

@ -53,8 +53,8 @@
<h3>Confirmer votre question</h3>
<p>
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.
</p>
@ -79,7 +79,7 @@
Ce champ est à 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.
</p>
</aside>
@ -100,7 +100,7 @@ foreach($cs as $c)
<img src="left_triangle2.gif" id="arrow2" alt="">
<h3>La question</h3>
<p>
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.
<p>
</aside>

View File

@ -29,10 +29,11 @@ else
<label for="filter">Filter par code de cours :</label> <input type="text" id="filter" name="filter" value="<?php echo $filter; ?>"> <input type="submit" value="Filtrer">
</form>
<a href="?">Liste des questions non-validées</a> ::
<a href="?<?php if (isset($_GET["valid"])) echo "valid&amp;"; ?>report">Liste des questions rapportées</a> ::
<a href="?valid">Liste des questions validées</a> :.
</article>
<article id="allQuestions">
<h2>Liste de toutes les questions <?php if (!isset($_GET["valid"])) echo "non-"; ?>validées</h2>
<h2>Liste de toutes les questions <?php if (!isset($_GET["valid"])) echo "non-"; ?>validées<?php if (isset($_GET["report"])) echo " rapportées"; ?></h2>
<table>
<thead>
<tr>
@ -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"]))
<form method="post" action="confirmation.php"><input type="hidden" name="id" value="<?php echo $id ?>"><input type="submit" value="Revalider"></form>
<form method="get" action="changeQuestion.php"><input type="hidden" name="id" value="<?php echo $id ?>"><input type="submit" value="Modifier"></form>
<form method="post" action="?del" onsubmit="return confirm('Êtes-vous sûr de vouloir supprimer cette question ?');"><input type="hidden" name="id" value="<?php echo $id ?>"><input type="submit" value="Supprimer"></form>
<form method="<?php if ($q->isReported()) echo "post"; else echo "get"; ?>" action="report.php"><input type="hidden" name="id" value="<?php echo $q->getReportId(); ?>"><input type="submit" value="<?php if ($q->isReported()) echo "Désignaler"; else echo "Signaler"; ?>"></form>
</div>
<?php } ?>
</td>

View File

@ -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: ./");
}
?></h2>
<p>
Nemubot vous remercie de l'aider à améliorer la qualité de sa base de données.<br><br>