Confirmation AND validation step

This commit is contained in:
Bertrand 2012-05-23 18:16:55 +02:00
parent 7ab305ef62
commit ad66d30c23
3 changed files with 22 additions and 44 deletions

View File

@ -50,6 +50,16 @@ class Question
return $q; return $q;
} }
public function set_validator($val)
{
$this->validator = $val;
}
public function get_validator()
{
return $this->validator;
}
public function print_test() public function print_test()
{ {
echo 'Cours concerné : ' . $this->course . "<br>"; echo 'Cours concerné : ' . $this->course . "<br>";

View File

@ -11,7 +11,7 @@ include("QuestionsFile.class.php");
// Change this variable depending on the server // Change this variable depending on the server
$validationAddress = "validation.php?id="; $confirmationAddress = "confirmation.php?id=";
if (isset ($_POST['send'])) if (isset ($_POST['send']))
{ {
@ -33,22 +33,17 @@ if (isset ($_POST['send']))
die("Veuillez indiquer une question !"); die("Veuillez indiquer une question !");
else if (count($answers) <= 0) else if (count($answers) <= 0)
die("Veuillez indiquer au moins une réponse correcte !"); die("Veuillez indiquer au moins une réponse correcte !");
else if (count($_POST['email']) <= 0)
die("Veuillez indiquer une adresse mail valide");
else else
{ {
$quest = Question::new_Question($question, $answers, $course); $quest = Question::new_Question($question, $answers, $course);
/* $quest->print_test();*/ $quest->set_validator($_POST['email']);
// @TODO: Create/Load a QuestionFile and add the question (it must be unique) // @TODO: Create/Load a QuestionFile and add the question (it must be unique)
$file = new QuestionsFile('questions.xml'); $file = new QuestionsFile('questions.xml');
$file->add_question($quest); $file->add_question($quest);
$file->save(); $file->save();
/*
echo "<br/>";
echo "<br/> C'est ici pour valider";
echo "<br/>"
. "http://178.170.101.82/~Cccompany/nemubot_askweb/validation.php?id="
. $quest->getId();
*/
// @TODO: Find a validator (from the list of previous senders for example?) // @TODO: Find a validator (from the list of previous senders for example?)
@ -60,41 +55,14 @@ if (isset ($_POST['send']))
echo 'Mail of user : ' . $_POST['email'] . "<br/>"; echo 'Mail of user : ' . $_POST['email'] . "<br/>";
$file = fopen('email.txt', 'r');
$number = fgets($file);
$random = rand(1, $number);
for ($i = 0; $i < $random; $i++)
{
$line = fgets($file);
echo $line . "<br/>";
}
/* Oui, c'est moche de le réecrire 2 fois mais ma première belle
tentative s'est soldée par un echec
*/
while ($line == $_POST['email'])
{
$random = rand(1, $number);
for ($i = 0; $i < $random; $i++)
{
$line = fgets($file);
}
}
echo 'Adresse mail: ' . $line . "<br/>";
fclose($file);
/* This code works, perhaps should be placed in a method in Question class? /* This code works, perhaps should be placed in a method in Question class?
$to = $line; $to = $_POST['email'];
$subject = "[Nemubot] Validation d'une question"; $subject = "[Nemubot] Confirmation de question";
$headers = "From: Nemubot <bot@nemunai.re>"; $headers = "From: Nemubot <bot@nemunai.re>";
$message = 'Bonjour,\n Adresse de validation: $message = "Bonjour,\n" .
$validationAddress . $quest->getId()'; "Êtes vous la personne qui a posté une nouvelle question ?\n" .
"Adresse de validation:
$confirmationAddress . $quest->getId()";
if (mail($to, $subject, $message, $headers)) if (mail($to, $subject, $message, $headers))
{ {
@ -144,7 +112,7 @@ else
<p> <p>
URL de validation:<br/> URL de validation:<br/>
<a href=<?php echo <a href=<?php echo
$validationAddress . $quest->getId() ?>>Valider la question</a> $confirmationAddress . $quest->getId() ?>>Valider la question</a>
</p> </p>
</body> </body>

View File

@ -26,7 +26,7 @@ $question->print_test();
lien ci dessous.<br/> lien ci dessous.<br/>
<input type="button" value="Valider la question" <input type="button" value="Valider la question"
onclick="<?php $question->validate() ?>"/> onclick="<?php $question->validated(); $file->save() ?>"/>
</body> </body>