e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
1
|
<h3> Organisation </h3>
|
97d25235
Erwan Nanrocki
ajout d un titre ...
|
2
|
|
27f3beb9
Geoffrey Bontoux-Preud-Homme
Ajout de orga.php
|
3
|
<?php
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
4
|
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
5
6
|
$time = time();
|
27f3beb9
Geoffrey Bontoux-Preud-Homme
Ajout de orga.php
|
7
|
# e_ : est
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
8
9
10
|
// $e_connecte = (isset($_SESSION["connected"]) && $_SESSION["connected"]);
$e_connecte = true; // DEBUG
$e_modo = true; // DEBUG
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
11
|
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
12
13
14
15
16
17
18
19
20
21
|
if ($e_connecte) {
if ($e_modo) {
$droits = array('voir', 'voter', 'ajouter', 'proposer', 'annuler', 'supprimer', 'modifier', 'valider');
} else {
$droits = array('voir', 'voter');
}
} else {
$droits = array('voir');
}
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
22
23
24
|
class Evenement
{
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
25
|
public $id = 0; // TODO DEBUG Remettre privé (et aussi d'autres choses)
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
26
27
|
private $creationTime = 0;
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
28
29
30
31
|
public $nom = "Sans nom";
public $description = "Sans description";
public $annule = false;
public $valide = false;
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
32
33
|
public $duree = 3600;
public $supprime = false;
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
34
35
|
public $dates = array();
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
36
|
public $datesVotes = array();
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
37
38
|
public function html() {
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
39
|
$html = '<li id="ev_li_'.$this->id.'" class="ev_li list-group-item';
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
40
41
42
43
|
if ($this->annule) {
$html .= ' list-group-item-danger';
}
$html .= '">';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
44
45
|
# Titre
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
46
|
$html .= '<h4 class="list-group-item-heading">'.$this->nom;
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
47
|
if ($this->p_annuler()) {
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
48
|
$html .= ' <button type="button" class="ev_annuler btn btn-warning"><span class="glyphicon glyphicon glyphicon-remove"></span> Annuler</button>';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
49
|
}
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
50
|
if ($this->p_supprimer()) {
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
51
|
$html .= ' <button type="button" class="ev_supprimer btn btn-danger"><span class="glyphicon glyphicon glyphicon-trash"></span> Supprimer</button>';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
52
|
}
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
53
|
$html .= '</h4>';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
54
55
56
57
|
# Description
$html .= '<div class="panel panel-default">';
$html .= '<div class="panel-heading">';
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
58
|
$html .= '<h5 class="panel-title">Informations';
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
59
|
if ($this->p_modifier()) {
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
60
|
$html .= ' <button type="button" class="ev_modifier btn btn-default"><span class="glyphicon glyphicon-pencil"></span> Modifier</button>';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
61
|
}
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
62
|
$html .= '</h5>';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
63
64
|
$html .= '</div>';
$html .= '<div class="panel-body">';
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
65
|
$html .= '<p class="ev_description">';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
66
67
68
69
|
$html .= nl2br(htmlspecialchars($this->description));
$html .= '</p>';
// $html .= '<hr/>';
$html .= '<p>';
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
70
71
72
|
$heures = floor($this->duree/3600);
$minutes = floor($this->duree%3600/60);
$secondes = floor($this->duree%3600%60);
|
fab2252b
Geoffrey PREUD'HOMME
[Orga] Réponse ad...
|
73
|
$html .= 'Durée : <span class="ev_duree">'.($heures > 0 ? '<span class="ev_duree_h">'.$heures.'</span> heure'.($heures > 1 ? 's' : '').' ' : '').($minutes > 0 ? '<span class="ev_duree_m">'.$minutes.'</span> minute'.($minutes > 1 ? 's' : '').' ' : '').($secondes > 0 ? '<span class="ev_duree_s">'.$secondes.'</span> seconde'.($secondes > 1 ? 's' : '').' ' : '').'</span><br/>';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
74
|
if ($this->valide) {
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
75
|
$html .= 'Date : le <span class="ev_date">'.date('j/m/o', $this->valide).' à '.date('H:i', $this->valide).'</span><br/>';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
76
77
78
|
}
$html .= '</p>';
if ($this->annule) {
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
79
|
$html .= '<p><span class="label label-danger">Annulé</span></p>';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
80
81
82
83
84
85
86
|
}
$html .= '</div>';
$html .= '</div>';
# Dates
if (!$this->valide && !$this->annule) {
|
3a23c07d
Geoffrey PREUD'HOMME
[Orga] Ajout d'év...
|
87
|
$html .= '<div class="ev_pos panel panel-default">';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
88
|
$html .= '<div class="panel-heading">';
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
89
|
$html .= '<h5 class="panel-title">Dates possibles';
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
90
|
if ($this->p_proposer()) {
|
3a23c07d
Geoffrey PREUD'HOMME
[Orga] Ajout d'év...
|
91
|
$html .= ' <button type="button" class="ev_pos_proposer btn btn-default"><span class="glyphicon glyphicon-plus"></span> Proposer une date</button>';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
92
|
}
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
93
|
$html .= '</h5>';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
94
95
|
$html .= '</div>';
$html .= '<div class="panel-body">';
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
96
97
98
|
if ($this->p_voter()) {
$html .= '<p>Sélectionnez les dates qui vous conviennent.</p>';
}
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
99
100
|
$html .= '<div class="list-group">';
$time = time();
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
101
|
foreach ($this->dates as $dateIndex => $date) { // TODO À faire fonctionner (après que le reste fonctionne)
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
102
103
104
105
|
$html .= '<a href="#"class="list-group-item';
if ($date < $time) {
$html .= ' disabled';
}
|
3a23c07d
Geoffrey PREUD'HOMME
[Orga] Ajout d'év...
|
106
|
$html .= '">Le <span class="ev_pos_date">'.date('j/m/o', $date).' à '.date('H:i', $date).'</span> (<span class="ev_pos_nb">'.$this->datesVotes[$dateIndex].'</span> <span class="glyphicon glyphicon-user"></span>)</a>';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
107
|
}
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
108
109
|
$html .= '</div>';
if ($this->p_valider()) {
|
3a23c07d
Geoffrey PREUD'HOMME
[Orga] Ajout d'év...
|
110
|
$html .= '<p><button type="button" class="ev_pos_valider btn btn-primary"><span class="glyphicon glyphicon-ok"></span> Valider la date</button></p>';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
111
112
113
114
115
116
117
118
|
}
$html .= '</div>';
$html .= '</div>';
}
$html .= '</li>';
return $html;
}
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
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);
}
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
145
146
147
148
149
|
function p_voter() {
global $droits;
return in_array('voter', $droits) && !$this->valide;
}
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
150
151
|
function p_proposer() {
global $droits;
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
152
|
return in_array('proposer', $droits) && !$this->valide;
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
153
154
155
156
|
}
function p_valider() {
global $droits;
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
157
|
# TODO Et si un nombre suffisant de personnes est ok avec la date la plus disponible
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
158
159
160
161
162
163
164
165
166
|
return in_array('valider', $droits) && !$this->valide;
}
}
# a_ : Récupérer depuis la base de donnée
function a_evenement() {
# DEBUG
$test1 = new Evenement;
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
167
|
$test1->id = 1;
|
fab2252b
Geoffrey PREUD'HOMME
[Orga] Réponse ad...
|
168
|
$test1->duree = 12345;
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
169
|
$test1->nom = 'Évènement de test n°1';
|
fab2252b
Geoffrey PREUD'HOMME
[Orga] Réponse ad...
|
170
|
$test1->description = 'Description de l\'évènement de test n°1';
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
171
172
173
|
$test1->valide = time();
$test2 = new Evenement;
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
174
|
$test2->id = 2;
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
175
|
$test2->nom = 'Évènement de test n°2';
|
fab2252b
Geoffrey PREUD'HOMME
[Orga] Réponse ad...
|
176
177
|
$test2->description = 'Description de l\'évènement de test n°2';
$test2->duree = 36000;
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
178
179
180
181
|
$test2->valide = time();
$test2->annule = true;
$test3 = new Evenement;
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
182
|
$test3->id = 3;
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
183
|
$test3->nom = 'Évènement de test n°3';
|
fab2252b
Geoffrey PREUD'HOMME
[Orga] Réponse ad...
|
184
|
$test3->description = 'Description de l\'évènement de test n°3';
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
185
186
187
188
189
190
191
192
|
$test3->dates[] = 1415482197;
$test3->datesVotes[] = 42;
$test3->dates[] = time();
$test3->datesVotes[] = 5;
$test3->dates[] = time()+365*24*3600;
$test3->datesVotes[] = 1;
$test4 = new Evenement;
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
193
|
$test4->id = 4;
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
194
|
$test4->nom = 'Évènement de test n°4';
|
fab2252b
Geoffrey PREUD'HOMME
[Orga] Réponse ad...
|
195
|
$test4->description = 'Description de l\'évènement de test n°4';
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
196
197
198
199
200
201
202
203
|
$test4->dates[] = time();
$test4->datesVotes[] = 5;
$test4->dates[] = time()+365*24*3600;
$test4->datesVotes[] = 1;
$test4->dates[] = time();
$test4->annule = true;
$test5 = new Evenement;
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
204
|
$test5->id = 5;
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
205
|
$test5->nom = 'Évènement de test n°5';
|
fab2252b
Geoffrey PREUD'HOMME
[Orga] Réponse ad...
|
206
|
$test5->description = 'Description de l\'évènement de test n°5';
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
207
208
209
210
211
|
$test5->dates[] = time();
$test5->datesVotes[] = 0;
$test5->supprime = true;
$test6 = new Evenement;
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
212
|
$test6->id = 6;
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
213
|
$test6->nom = 'Évènement de test n°6';
|
fab2252b
Geoffrey PREUD'HOMME
[Orga] Réponse ad...
|
214
|
$test6->description = 'Description de l\'évènement de test n°6';
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
|
$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;
}
}
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
240
241
|
}
|
27f3beb9
Geoffrey Bontoux-Preud-Homme
Ajout de orga.php
|
242
|
?>
|
27f3beb9
Geoffrey Bontoux-Preud-Homme
Ajout de orga.php
|
243
|
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
244
245
246
247
248
249
250
251
252
253
|
<?php
if (!$e_connecte) {
?>
<div class="alert alert-warning" role="alert">Connectez-vous afin de pouvoir agir sur les évènements.</div>
<?php
}
?>
<?php
if (in_array('voir', $droits)) {
?>
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
254
255
|
<h3>Évènements plannifiés <?php if (in_array('ajouter', $droits)) { ?><button id="ev_ajouter_fixe" type="button" class="btn btn-primary"><span class="glyphicon glyphicon-plus"></span> Ajouter un évènement avec une date fixée</button><?php } ?></h3>
<ul id="ev_ul_planifies" class="list-group">
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
256
|
<?php
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
257
258
259
|
foreach ($evenementsPlanifies as $evenement) {
echo $evenement->html();
}
|
27f3beb9
Geoffrey Bontoux-Preud-Homme
Ajout de orga.php
|
260
|
?>
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
261
262
|
</ul>
|
27f3beb9
Geoffrey Bontoux-Preud-Homme
Ajout de orga.php
|
263
|
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
264
265
|
<h3>Évènements à plannifier <?php if (in_array('ajouter', $droits)) { ?><button id="ev_ajouter_choix" type="button" class="btn btn-primary"><span class="glyphicon glyphicon-plus"></span> Ajouter un évènement avec une date à choisir</button><?php } ?></h3>
<ul id="ev_ul_aplanifier" class="list-group">
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
266
|
<?php
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
267
268
269
|
foreach ($evenementsAPlanifier as $evenement) {
echo $evenement->html();
}
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
270
271
272
273
|
?>
</ul>
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
274
|
<h3>Évènements passés</h3>
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
275
|
<ul id="ev_ul_passes" class="list-group">
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
276
|
<?php
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
277
278
279
280
|
foreach ($evenementsPasses as $evenement) {
echo $evenement->html();
}
?>
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
281
282
|
</ul>
|
fab2252b
Geoffrey PREUD'HOMME
[Orga] Réponse ad...
|
283
|
<script type="text/javascript" src="js/orga.js"></script>
|
3a23c07d
Geoffrey PREUD'HOMME
[Orga] Ajout d'év...
|
284
|
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
285
286
287
288
289
290
291
|
<?php
} else {
?>
<div class="alert alert-danger" role="alert">Vous ne pouvez pas voir les évènements.</div>
<?php
}
?>
|