From 6e9554e2f21ea1095947045f9bc8b12784d7261b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?N=C3=A9munaire?=
Date: Mon, 18 Jun 2012 17:57:04 +0200
Subject: [PATCH] An XML file manage courses list
---
Course.class.php | 134 +++++++++++++++++++++++++++++++++++++++++++++++
index.php | 46 ++++------------
2 files changed, 145 insertions(+), 35 deletions(-)
create mode 100644 Course.class.php
diff --git a/Course.class.php b/Course.class.php
new file mode 100644
index 0000000..f2b3f48
--- /dev/null
+++ b/Course.class.php
@@ -0,0 +1,134 @@
+id = $node->getAttribute("xml:id");
+ $this->registerdate = $node->getAttribute("registerdate");
+ if (intval($node->getAttribute("validated")))
+ $this->validated = true;
+ $this->name = $node->getAttribute("name");
+ $this->code = $node->getAttribute("code");
+ $this->branch = $node->getAttribute("branch");
+ }
+ }
+
+ public static function new_Course($name, $code, $branch = "")
+ {
+ $c = new Course();
+ $c->id = sha1($code);
+ $c->registerdate = time();
+ $c->name = $name;
+ $c->code = $code;
+ $c->branch = $branch;
+
+ return $c;
+ }
+
+ public static function getCourses($filename = "courses.xml")
+ {
+ $courses = array();
+ $treeXML = new DOMDocument('1.0', 'UTF-8');
+
+ if (@$treeXML->load($filename))
+ {
+ $nodes = $treeXML->getElementsByTagName("course");
+ foreach($nodes as $node)
+ {
+ $c = new Course($node);
+ $courses[$c->id] = $c;
+ }
+ }
+
+ return $courses;
+ }
+
+ public static function setCourses($courses, $filename = "courses.xml")
+ {
+ $treeXML = new DOMDocument('1.0', 'UTF-8');
+ $root_node = $treeXML->createElement("users");
+ $treeXML->appendChild($root_node);
+
+ foreach ($courses as $course)
+ $root_node->appendChild($course->to_xml($treeXML));
+
+ $treeXML->formatOutput = true;
+ $treeXML->save($filename);
+ }
+
+ public function to_xml($root)
+ {
+ $qnode = $root->createElement("course");
+
+ $qnode->setAttribute("xml:id", $this->id);
+ $qnode->setAttribute("name", $this->name);
+ $qnode->setAttribute("code", intval($this->code));
+ $qnode->setAttribute("branch", $this->branch);
+ $qnode->setAttribute("registerdate", $this->registerdate);
+ $qnode->setAttribute("validated", $this->validated);
+
+ return $qnode;
+ }
+
+ public function set_validated($validated)
+ {
+ $this->validated = $validated;
+ }
+
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ public function isValidated()
+ {
+ return $this->validated;
+ }
+}
+
+/*
+$cs = Course::getCourses();
+
+foreach($cs as $c)
+ $c->set_validated(true);
+Course::setCourses($cs);
+//*/
+/*
+$cs = Course::getCourses();
+
+$c = Course::new_Course("Base de donnees", "RELA");
+$cs[] = $c;
+
+$c = Course::new_Course("Compression de donnee", "CODO");
+$cs[] = $c;
+
+$c = Course::new_Course("Protocole de liaisons", "PROLI");
+$cs[] = $c;
+
+$c = Course::new_Course("Typologie des langages", "TYLA", "TDA;SRC");
+$cs[] = $c;
+
+$c = Course::new_Course("Active directory", "ACDI");
+$cs[] = $c;
+
+$c = Course::new_Course("Graphes reseaux flots", "GRF");
+$cs[] = $c;
+
+Course::setCourses($cs);
+//*/
+?>
\ No newline at end of file
diff --git a/index.php b/index.php
index 68d2b9a..254f5f7 100644
--- a/index.php
+++ b/index.php
@@ -119,48 +119,24 @@
Quelques détails
- Le champ "De quelle matière s'agit-il ?" n'est là qu'a 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.
+ 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.
De quelle matière s'agit-il ?
-
-
- SGBD
-
- Compression de données
-
- Protocoles De Liaisons
- TYLA
-
- Active Directory
-
- Graphes Flots Reseaux
-
+
- RXAN
-
+foreach($cs as $c)
+ print ''.$c->getName().' ';
-
- TYLA
- CCMP
- SLPS
- FMPS
-
-
-
- ITIL
- Qualité
-
-
-
- Autre
-
+?>
@@ -191,7 +167,7 @@
onclick="add()"/>
- Merci d'indiquer votre email
+ Merci d'indiquer votre adresse électronique :