From 5f2f48c78a463e0545365f682dd0d70dd5dc3b18 Mon Sep 17 00:00:00 2001 From: Geoffrey Frogeye Date: Sat, 8 Nov 2014 22:43:27 +0100 Subject: [PATCH] [Orga] Modification classe Evenements --- orga.php | 176 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------- 1 file changed, 139 insertions(+), 37 deletions(-) diff --git a/orga.php b/orga.php index 6889b07..52b9a62 100644 --- a/orga.php +++ b/orga.php @@ -1,29 +1,31 @@

Organisation

'; # Titre @@ -31,10 +33,10 @@ class Evenement if ($this->annule) { $html .= ' Annulé'; } - if (in_array('annuler', $droits) && !$this->annule) { # TODO + if ($this->p_annuler()) { $html .= ' '; } - if (in_array('supprimer', $droits) && !$this->valide) { # TODO + if ($this->p_supprimer()) { $html .= ' '; } $html .= ''; @@ -43,7 +45,7 @@ class Evenement $html .= '
'; $html .= '
'; $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 .= ''; - if (in_array('valider', $droits) && !$this->valide) { + $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

    dates[] = time(); -$test1->valide = time(); -echo $test1->html() -?> -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

    dates[] = time(); -echo $test3->html() -?> -dates[] = time(); -$test4->annule = true; -echo $test4->html() +foreach ($evenementsAPlanifier as $evenement) { + echo $evenement->html(); +} ?>

Évènements passés

    +html(); +} +?>
\ No newline at end of file -- libgit2 0.21.2