Add classes to abstract Users and Courses

Can refuse a question (email the author)
Can modify question before validation
This commit is contained in:
Némunaire 2012-06-18 20:09:31 +02:00
commit 42fec70edf
14 changed files with 667 additions and 401 deletions

View file

@ -3,63 +3,53 @@
include("Question.class.php");
include("QuestionsFile.class.php");
$id = $_GET['id'];
@$id = $_POST['id'];
$fileQ = new QuestionsFile("questions.xml");
$question = $fileQ->get_question($id);
if (!empty($question))
{
$dest_mail = $question->get_validator();
$src_mail = $question->get_validator()->getEmail();
// Uncomment the following part for random email
//Build email list
$users = User::getValidatedUsers();
$nbUsers = count($users);
//Pick a random email
do
{
$file = fopen('email.txt', 'r');
$number = fgets($file);
$random = rand(1, intval($number));
for ($i = 0; $i < $random; $i++)
{
$dest_mail = fgets($file);
}
fclose($file);
$random = rand(1, $nbUsers)-1;
}
while ($dest_mail == $question->get_validator());
while ($src_mail == $users[$random]->getEmail());
$question->set_validator($dest_mail);
echo $dest_mail;
$validationAddress = "/validation.php?id=".$question->getId();
$random = 3;
$question->set_validator($users[$random]);
/* This code works, perhaps should be placed in a method in Question class?*/
$to = $dest_mail;
$subject = "[Nemubot] Validation d'une question";
$headers = "From: Nemubot <bot@nemunai.re>\n";
$message = "Bonjour,\n"
."Une nouvelle question a été proposée à Nemubot.\n\n"
."Vous avez été sélectionné pour valider la question.\n\n"
."Rappels de la questions:\n"
.'Cours concerné : ' . $question->getCourse() . "\n"
.'La question est : ' . $question->getQuestion() . "\n"
.'Les réponses sont : ' . print_r($question->getAnswer(), true) . "\n"
."Voici la question :\n"
.' - Cours concerné : ' . $question->getCourse()->getName() . "\n"
.' - Question posée : ' . $question->getQuestion() . "\n"
." - Les réponses valides sont :\n" . $question->getAnswersMail() . "\n"
."Adresse de confirmation de la question:\n"
. "http://".$_SERVER["SERVER_NAME"]
. dirname($_SERVER["REQUEST_URI"]) . $validationAddress
."Adresse de confirmation de la question :\n"
."http://".$_SERVER["SERVER_NAME"].dirname($_SERVER["REQUEST_URI"])
."validation.php?id=".$question->getValidatorId()
. "\n\n Merci beaucoup de votre participation\n"
."\n\nMerci beaucoup de votre participation\n"
."Cordialement,\n"
."Cordialement,\n\n"
."-- \nNemubot.";
."-- \nNemubot\nQCM accessible sur le réseau IRC rezosup, cannal #epita-qcm";
if ($question->mail_utf8($to, $subject, $message, $headers))
if ($question->mail_utf8($users[$random]->getEmail(), $subject, $message, $headers))
{
$fileQ->save();
header("Location: ./thanksConfirmation.php");
@ -67,9 +57,6 @@ if (!empty($question))
else
die("Une erreur s'est produite lors de l'envoie du mail");
}
//*/
else
{
die("ID de question invalide ou déjà validé.");
}
?>