Organisation

annule) { $html .= ' list-group-item-danger'; } $html .= '">'; # Titre $html .= '

'.$this->nom; if ($this->p_annuler()) { $html .= ' '; } if ($this->p_supprimer()) { $html .= ' '; } $html .= '

'; # Description $html .= '
'; $html .= '
'; $html .= '
Informations'; if ($this->p_modifier()) { $html .= ' '; } $html .= '
'; $html .= '
'; $html .= '
'; $html .= '

'; $html .= nl2br(htmlspecialchars($this->description)); $html .= '

'; // $html .= '
'; $html .= '

'; $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 : le '.date('j/m/o', $this->valide).' à '.date('H:i', $this->valide).'
'; } $html .= '

'; if ($this->annule) { $html .= '

Annulé

'; } $html .= '
'; $html .= '
'; # Dates if (!$this->valide && !$this->annule) { $html .= '
'; $html .= '
'; $html .= '
Dates possibles'; if ($this->p_proposer()) { $html .= ' '; } $html .= '
'; $html .= '
'; $html .= '
'; if ($this->p_voter()) { $html .= '

Sélectionnez les dates qui vous conviennent.

'; } $html .= '
'; $time = time(); foreach ($this->dates as $dateIndex => $date) { $html .= 'Le '.date('j/m/o', $date).' à '.date('H:i', $date).' ('.$this->datesVotes[$dateIndex].' )'; } $html .= '
'; if ($this->p_valider()) { $html .= '

'; } $html .= '
'; $html .= '
'; } $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_voter() { global $droits; return in_array('voter', $droits) && !$this->valide; } function p_proposer() { global $droits; return in_array('proposer', $droits) && !$this->valide; } function p_valider() { global $droits; # TODO Et si un nombre suffisant de personnes est ok avec la date la plus disponible 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; } } } ?>

Évènements plannifiés

Évènements à plannifier

Évènements passés