diff --git a/Question.class.php b/Question.class.php index cf5f5a3..ab31650 100644 --- a/Question.class.php +++ b/Question.class.php @@ -121,6 +121,11 @@ class Question $this->getNormalId(); } + public function getAddedTime() + { + return $this->added_time; + } + public function getId() { return $this->id; @@ -143,6 +148,11 @@ class Question return $this->validated; } + public function isValidation() + { + return $this->id == md5($this->added_time.$this->validator) && $this->validator != $this->writer; + } + public function getCourse() { return Course::getCourse($this->course); @@ -185,6 +195,28 @@ class Question $this->writer = $writer->getId(); } + public function convert() + { + foreach (Course::getCourses() as $c) + { + if ($c->getCode() == $this->course) + { + $this->course = $c->getId(); + return $c->getId(); + } + } + return $this->course; + /*foreach (User::getUsers() as $u) + { + if ($u->getEmail() == $this->validator) + { + $this->validator = $u->getId(); + return $u->getId(); + } + } + return $this->validator;*/ + } + public function setAnswer($answers) { if ($this->answers != $answers) diff --git a/QuestionsFile.class.php b/QuestionsFile.class.php index 456205a..a8f1755 100644 --- a/QuestionsFile.class.php +++ b/QuestionsFile.class.php @@ -47,6 +47,11 @@ class QuestionsFile $this->tmp[$question->getId()] = $question; } + public function del_question($question) + { + unset($this->tmp[$question->getId()]); + } + /** * Get a question from its unique identifiant */ @@ -67,6 +72,28 @@ class QuestionsFile return NULL; } + public function get_ids() + { + $ret = array(); + + $qs = $this->treeXML->getElementsByTagName("question"); + foreach($qs as $q) + $ret[] = $q->getAttribute("xml:id"); + + return $ret; + } + + public function get_questions() + { + $ret = array(); + + $qs = $this->treeXML->getElementsByTagName("question"); + foreach($qs as $q) + $ret[] = new Question($q); + + return $ret; + } + /** * Write changes into the real file */ @@ -84,8 +111,15 @@ class QuestionsFile $this->treeXML->formatOutput = true; $this->treeXML->save($this->filename); } - - } +/* +$file = new QuestionsFile("questions.xml"); +foreach ($file->get_ids() as $id) +{ + $q = $file->get_question($id); + echo $q->convert()."
"; +} +$file->save(); +//*/ ?> \ No newline at end of file diff --git a/User.class.php b/User.class.php index 60c5fe9..f6a181d 100644 --- a/User.class.php +++ b/User.class.php @@ -8,6 +8,7 @@ class User private $email; private $registerdate; private $validated = false; + private $admin = false; public function __construct($node = null) { @@ -17,6 +18,8 @@ class User $this->registerdate = $node->getAttribute("registerdate"); if (intval($node->getAttribute("validated"))) $this->validated = true; + if (intval($node->getAttribute("admin"))) + $this->admin = true; $this->username = $node->getAttribute("username"); $this->password = $node->getAttribute("password"); $this->email = $node->getAttribute("email"); @@ -31,7 +34,7 @@ class User $u->email = $email; $u->username = $username; if (isset($password)) - $this->password = getPassword($username, $password); + $u->password = $u->getPassword($username, $password); return $u; } @@ -78,9 +81,12 @@ class User $treeXML = new DOMDocument('1.0', 'UTF-8'); if (@$treeXML->load($filename)) - return new User($treeXML->getElementById($id)); - else - return null; + { + $u = $treeXML->getElementById($id); + if (!empty($u)) + return new User($u); + } + return null; } public static function setUsers($users, $filename = "users.xml") @@ -102,17 +108,17 @@ class User $qnode->setAttribute("xml:id", $this->id); $qnode->setAttribute("username", $this->username); - $qnode->setAttribute("password", intval($this->password)); + $qnode->setAttribute("password", $this->password); $qnode->setAttribute("email", $this->email); $qnode->setAttribute("registerdate", $this->registerdate); - $qnode->setAttribute("validated", $this->validated); + $qnode->setAttribute("validated", intval($this->validated)); return $qnode; } public function canConnect($password) { - $hash = getPassword($this->username, $password); + $hash = $this->getPassword($this->username, $password); return ($hash == $this->password); } @@ -146,6 +152,11 @@ class User { return $this->validated; } + + public function isAdmin() + { + return $this->admin; + } } /* @@ -158,6 +169,14 @@ User::setUsers($us); /* $us = User::getUsers(); +$u = User::new_User("ircquizz@p0m.fr", "nemunaire", "u6tn84"); +$us[] = $u; + +User::setUsers($us); +//*/ +/* +$us = User::getUsers(); + $u = User::new_User("bertrand@cournaud.fr", "Cccompany"); $us[] = $u; diff --git a/addCourse.php b/addCourse.php index 34bfad1..eb7d263 100644 --- a/addCourse.php +++ b/addCourse.php @@ -3,8 +3,10 @@ include ("header.html"); require_once("Course.class.php"); -//if (empty($_SESSION["connected"])) -// die("

Vous devez être connecté pour accédé à cette partie

"); +session_start(); + +if (empty($_SESSION["connected"])) + die("

Vous devez être connecté pour accédé à cette partie

"); if (isset($_POST["send"])) { @@ -50,7 +52,7 @@ else

Ajouter un cours

-

+


Par exemple : CODO pour Compression de données

@@ -66,9 +68,7 @@ else getName()." (".$c->getCode()." dans ".$c->getBranch().") getId()."\">Supprimer
"; -} ?>
diff --git a/changeQuestion.php b/changeQuestion.php index 10d7050..a515975 100644 --- a/changeQuestion.php +++ b/changeQuestion.php @@ -20,7 +20,9 @@ else echo"Dernière chance pour changer d'avis"; ?>

- Proposée par : get_writer()->getUsername(); ?>

+ get_writer() != null) + {?>Proposée par : get_writer()->getUsername(); ?>

Cours concerné : getCourse()->getName(); ?>

Question posée : getQuestion(); ?>

Réponses valides exhaustives : @@ -41,7 +43,7 @@ else

Modifier la question ...

getId(); ?>> - get_writer()->getEmail(); ?>> + ">


+ +

+ + + + + +Vous êtes maintenant déconnecté. À bientôt !"; + } + else + { +?> +
+
+

Bienvenue

+
+ +
+
+
+ + + diff --git a/questions.php b/questions.php index 167da51..cef3ff4 100755 --- a/questions.php +++ b/questions.php @@ -14,7 +14,7 @@ function isInUsersList($mail) foreach($us as $u) { - if ($u->getEmail() == $mail && $u->isValidated()) + if ($u->getEmail() == $mail/* && $u->isValidated()*/) return $u; } diff --git a/style.css b/style.css index a1556e2..77f7b20 100644 --- a/style.css +++ b/style.css @@ -112,6 +112,11 @@ footer padding-bottom: 50px; } +table tbody tr:hover +{ + background: #F5F7FF; +} + footer a { color: black; @@ -156,3 +161,17 @@ form.invalidation input float: right; margin-right: 30px; } + +.tooltip +{ + background: #CCCC00; + border-radius: 10px; + display: none; + padding: 5px; + position: absolute; + text-align: center; +} +tbody tr:hover .tooltip +{ + display: block; +} \ No newline at end of file diff --git a/thanksRefused.php b/thanksRefused.php index a993e93..7a32197 100644 --- a/thanksRefused.php +++ b/thanksRefused.php @@ -11,7 +11,7 @@ if (isset($_POST['id'])) $file = new QuestionsFile("questions.xml"); $question = $file->get_question($id); - if (!isset($question) || $question->isValidated()) + if (!isset($question) || $question->isValidated() || !$question->isValidation()) echo 'Votre question à déjà été validée, merci de ne pas vous acharner.'; else { diff --git a/thanksValidation.php b/thanksValidation.php index 992ed02..5252b32 100644 --- a/thanksValidation.php +++ b/thanksValidation.php @@ -13,6 +13,8 @@ if (isset($_POST['id'])) if (!isset($question) || $question->isValidated()) echo 'Votre question à déjà été validée, merci de ne pas vous acharner.'; + else if (!$question->isValidation()) + echo 'Cette question n\'est pas dans une phase de validation. Impossible de la valider.'; else { $question->validated(); diff --git a/validation.php b/validation.php index e42105b..fa335b9 100644 --- a/validation.php +++ b/validation.php @@ -29,6 +29,8 @@ else foreach($question->getAnswer() as $a) echo "
  • ".$a."
  • "; echo ""; +if ($question->isValidation()) +{ ?>
    - +La question n'est pas ou plus dans une phase de validation."; } ?>