';
$html .= '
Description';
- if (in_array('modifier', $droits)) {
+ if ($this->p_modifier()) {
$html .= ' ';
}
$html .= '
';
@@ -54,9 +56,12 @@ class Evenement
$html .= '';
// $html .= '
';
$html .= '
';
- $html .= 'Durée : '.$this->duree.' minutes
';
+ $heures = floor($this->duree/3600);
+ $minutes = floor($this->duree%3600/60);
+ $secondes = floor($this->duree%3600%60);
+ $html .= 'Durée : '.($heures > 0 ? $heures.' heure'.($heures > 1 ? 's' : '').' ' : '').($minutes > 0 ? $minutes.' minute'.($minutes > 1 ? 's' : '').' ' : '').($secondes > 0 ? $secondes.' seconde'.($secondes > 1 ? 's' : '').' ' : '').'
';
if ($this->valide) {
- $html .= 'Date : '.date('c', $this->valide).'
';
+ $html .= 'Date : le '.date('j/m/o', $this->valide).' à '.date('H:i', $this->valide).'
';
}
$html .= '
';
if ($this->annule) {
@@ -71,18 +76,23 @@ class Evenement
$html .= '
';
$html .= '
';
$html .= '
Dates possibles';
- if (in_array('proposer', $droits)) {
- $html .= '';
+ if ($this->p_proposer()) {
+ $html .= ' ';
}
$html .= '
';
$html .= '';
$html .= '
';
- $html .= '
';
+ $html .= '';
+ if ($this->p_valider()) {
$html .= '';
}
$html .= '
';
@@ -92,6 +102,107 @@ class Evenement
$html .= '';
return $html;
}
+
+ public function passe() {
+ global $time;
+ if ($this->valide) {
+ return $this->valide+$this->duree < $time;
+ } else {
+ return false;
+ }
+ }
+
+ # p_ : Il est possible de ...
+ function p_annuler() {
+ global $droits;
+ return in_array('annuler', $droits) && !$this->annule && !$this->passe();
+ }
+
+ function p_supprimer() {
+ global $droits;
+ return in_array('supprimer', $droits) && !$this->valide;
+ }
+
+ function p_modifier() {
+ global $droits;
+ return in_array('modifier', $droits);
+ }
+
+ function p_proposer() {
+ global $droits;
+ return in_array('proposer', $droits);
+ }
+
+ function p_valider() {
+ global $droits;
+ return in_array('valider', $droits) && !$this->valide;
+ }
+
+}
+
+# a_ : Récupérer depuis la base de donnée
+function a_evenement() {
+ # DEBUG
+ $test1 = new Evenement;
+ $test1->nom = 'Évènement de test n°1';
+ $test1->valide = time();
+
+ $test2 = new Evenement;
+ $test2->nom = 'Évènement de test n°2';
+ $test2->valide = time();
+ $test2->annule = true;
+
+ $test3 = new Evenement;
+ $test3->nom = 'Évènement de test n°3';
+ $test3->dates[] = 1415482197;
+ $test3->datesVotes[] = 42;
+ $test3->dates[] = time();
+ $test3->datesVotes[] = 5;
+ $test3->dates[] = time()+365*24*3600;
+ $test3->datesVotes[] = 1;
+
+ $test4 = new Evenement;
+ $test4->nom = 'Évènement de test n°4';
+ $test4->dates[] = time();
+ $test4->datesVotes[] = 5;
+ $test4->dates[] = time()+365*24*3600;
+ $test4->datesVotes[] = 1;
+ $test4->dates[] = time();
+ $test4->annule = true;
+
+ $test5 = new Evenement;
+ $test5->nom = 'Évènement de test n°5';
+ $test5->dates[] = time();
+ $test5->datesVotes[] = 0;
+ $test5->supprime = true;
+
+ $test6 = new Evenement;
+ $test6->nom = 'Évènement de test n°6';
+ $test6->valide = 1415452197;
+
+ return array($test1, $test2, $test3, $test4, $test5, $test6);
+}
+
+# Tri des évènements
+$evenements = a_evenement();
+$evenementsPlanifies = array();
+$evenementsAPlanifier = array();
+$evenementsPasses = array();
+
+$time = time();
+
+foreach ($evenements as $evenement) {
+ if (!$evenement->supprime) {
+ if ($evenement->valide) {
+ if ($evenement->passe()) {
+ $evenementsPasses[] = $evenement;
+ } else {
+ $evenementsPlanifies[] = $evenement;
+ }
+ } else {
+ $evenementsAPlanifier[] = $evenement;
+ }
+ }
}
?>
@@ -101,17 +212,9 @@ class Evenement
Plannifiés
-$test1 = new Evenement;
-$test1->dates[] = time();
-$test1->valide = time();
-echo $test1->html()
-?>
-
-$test2 = new Evenement;
-$test2->dates[] = time();
-$test2->valide = time();
-$test2->annule = true;
-echo $test2->html()
+foreach ($evenementsPlanifies as $evenement) {
+ echo $evenement->html();
+}
?>
@@ -119,19 +222,18 @@ echo $test2->html()
À plannifier
-$test3 = new Evenement;
-$test3->dates[] = time();
-echo $test3->html()
-?>
-
-$test4 = new Evenement;
-$test4->dates[] = time();
-$test4->annule = true;
-echo $test4->html()
+foreach ($evenementsAPlanifier as $evenement) {
+ echo $evenement->html();
+}
?>
Évènements passés
+
+foreach ($evenementsPasses as $evenement) {
+ echo $evenement->html();
+}
+?>
\ No newline at end of file
--
libgit2 0.21.2