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
|
|
1d6e24f7
Geoffrey PREUD'HOMME
[Orga] Envoi des ...
|
38
39
40
41
42
43
44
45
|
public function charger() {
// TODO SQL
}
public function sauvegarder() {
// TODO SQL
}
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
46
|
public function html() {
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
47
|
$html = '<li id="ev_li_'.$this->id.'" class="ev_li list-group-item';
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
48
49
50
51
|
if ($this->annule) {
$html .= ' list-group-item-danger';
}
$html .= '">';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
52
53
|
# Titre
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
54
|
$html .= '<h4 class="list-group-item-heading">'.$this->nom;
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
55
|
if ($this->p_annuler()) {
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
56
|
$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
|
57
|
}
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
58
|
if ($this->p_supprimer()) {
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
59
|
$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
|
60
|
}
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
61
|
$html .= '</h4>';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
62
63
64
65
|
# Description
$html .= '<div class="panel panel-default">';
$html .= '<div class="panel-heading">';
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
66
|
$html .= '<h5 class="panel-title">Informations';
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
67
|
if ($this->p_modifier()) {
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
68
|
$html .= ' <button type="button" class="ev_modifier btn btn-default"><span class="glyphicon glyphicon-pencil"></span> Modifier</button>';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
69
|
}
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
70
|
$html .= '</h5>';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
71
72
|
$html .= '</div>';
$html .= '<div class="panel-body">';
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
73
|
$html .= '<p class="ev_description">';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
74
75
76
77
|
$html .= nl2br(htmlspecialchars($this->description));
$html .= '</p>';
// $html .= '<hr/>';
$html .= '<p>';
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
78
79
80
|
$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...
|
81
|
$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
|
82
|
if ($this->valide) {
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
83
|
$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
|
84
85
86
|
}
$html .= '</p>';
if ($this->annule) {
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
87
|
$html .= '<p><span class="label label-danger">Annulé</span></p>';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
88
89
90
91
92
93
94
|
}
$html .= '</div>';
$html .= '</div>';
# Dates
if (!$this->valide && !$this->annule) {
|
3a23c07d
Geoffrey PREUD'HOMME
[Orga] Ajout d'év...
|
95
|
$html .= '<div class="ev_pos panel panel-default">';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
96
|
$html .= '<div class="panel-heading">';
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
97
|
$html .= '<h5 class="panel-title">Dates possibles';
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
98
|
if ($this->p_proposer()) {
|
3a23c07d
Geoffrey PREUD'HOMME
[Orga] Ajout d'év...
|
99
|
$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
|
100
|
}
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
101
|
$html .= '</h5>';
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
102
103
|
$html .= '</div>';
$html .= '<div class="panel-body">';
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
104
105
106
|
if ($this->p_voter()) {
$html .= '<p>Sélectionnez les dates qui vous conviennent.</p>';
}
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
107
108
|
$html .= '<div class="list-group">';
$time = time();
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
109
|
foreach ($this->dates as $dateIndex => $date) { // TODO À faire fonctionner (après que le reste fonctionne)
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
110
111
112
113
|
$html .= '<a href="#"class="list-group-item';
if ($date < $time) {
$html .= ' disabled';
}
|
3a23c07d
Geoffrey PREUD'HOMME
[Orga] Ajout d'év...
|
114
|
$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
|
115
|
}
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
116
117
|
$html .= '</div>';
if ($this->p_valider()) {
|
3a23c07d
Geoffrey PREUD'HOMME
[Orga] Ajout d'év...
|
118
|
$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
|
119
120
121
122
123
124
125
126
|
}
$html .= '</div>';
$html .= '</div>';
}
$html .= '</li>';
return $html;
}
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
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 ...
|
153
154
155
156
157
|
function p_voter() {
global $droits;
return in_array('voter', $droits) && !$this->valide;
}
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
158
159
|
function p_proposer() {
global $droits;
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
160
|
return in_array('proposer', $droits) && !$this->valide;
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
161
162
163
164
|
}
function p_valider() {
global $droits;
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
165
|
# TODO Et si un nombre suffisant de personnes est ok avec la date la plus disponible
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
166
167
168
169
170
171
172
173
174
|
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...
|
175
|
$test1->id = 1;
|
fab2252b
Geoffrey PREUD'HOMME
[Orga] Réponse ad...
|
176
|
$test1->duree = 12345;
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
177
|
$test1->nom = 'Évènement de test n°1';
|
fab2252b
Geoffrey PREUD'HOMME
[Orga] Réponse ad...
|
178
|
$test1->description = 'Description de l\'évènement de test n°1';
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
179
180
181
|
$test1->valide = time();
$test2 = new Evenement;
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
182
|
$test2->id = 2;
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
183
|
$test2->nom = 'Évènement de test n°2';
|
fab2252b
Geoffrey PREUD'HOMME
[Orga] Réponse ad...
|
184
185
|
$test2->description = 'Description de l\'évènement de test n°2';
$test2->duree = 36000;
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
186
187
188
189
|
$test2->valide = time();
$test2->annule = true;
$test3 = new Evenement;
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
190
|
$test3->id = 3;
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
191
|
$test3->nom = 'Évènement de test n°3';
|
fab2252b
Geoffrey PREUD'HOMME
[Orga] Réponse ad...
|
192
|
$test3->description = 'Description de l\'évènement de test n°3';
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
193
194
195
196
197
198
199
200
|
$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...
|
201
|
$test4->id = 4;
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
202
|
$test4->nom = 'Évènement de test n°4';
|
fab2252b
Geoffrey PREUD'HOMME
[Orga] Réponse ad...
|
203
|
$test4->description = 'Description de l\'évènement de test n°4';
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
204
205
206
207
208
209
210
211
|
$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...
|
212
|
$test5->id = 5;
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
213
|
$test5->nom = 'Évènement de test n°5';
|
fab2252b
Geoffrey PREUD'HOMME
[Orga] Réponse ad...
|
214
|
$test5->description = 'Description de l\'évènement de test n°5';
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
215
216
217
218
219
|
$test5->dates[] = time();
$test5->datesVotes[] = 0;
$test5->supprime = true;
$test6 = new Evenement;
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
220
|
$test6->id = 6;
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
221
|
$test6->nom = 'Évènement de test n°6';
|
fab2252b
Geoffrey PREUD'HOMME
[Orga] Réponse ad...
|
222
|
$test6->description = 'Description de l\'évènement de test n°6';
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
223
224
225
226
227
|
$test6->valide = 1415452197;
return array($test1, $test2, $test3, $test4, $test5, $test6);
}
|
1d6e24f7
Geoffrey PREUD'HOMME
[Orga] Envoi des ...
|
228
229
230
231
232
233
234
235
236
237
238
239
240
|
# POST
if (isset($_POST['action'])) {
?>
<div class="alert alert-success" role="alert">Mon capitaine ! On a reçu quelque chose !</div>
<?php
}
# AFFICHAGE DE LA PAGE
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
|
# 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
|
261
262
|
}
|
27f3beb9
Geoffrey Bontoux-Preud-Homme
Ajout de orga.php
|
263
|
?>
|
27f3beb9
Geoffrey Bontoux-Preud-Homme
Ajout de orga.php
|
264
|
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
265
266
267
268
269
270
271
272
273
274
|
<?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...
|
275
276
|
<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 ...
|
277
|
<?php
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
278
279
280
|
foreach ($evenementsPlanifies as $evenement) {
echo $evenement->html();
}
|
27f3beb9
Geoffrey Bontoux-Preud-Homme
Ajout de orga.php
|
281
|
?>
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
282
283
|
</ul>
|
27f3beb9
Geoffrey Bontoux-Preud-Homme
Ajout de orga.php
|
284
|
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
285
286
|
<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 ...
|
287
|
<?php
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
288
289
290
|
foreach ($evenementsAPlanifier as $evenement) {
echo $evenement->html();
}
|
f84e30e3
Geoffrey PREUD'HOMME
[Orga] Retravail
|
291
292
293
294
|
?>
</ul>
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
295
|
<h3>Évènements passés</h3>
|
6884541c
Geoffrey PREUD'HOMME
[Orga] Ajout d'id...
|
296
|
<ul id="ev_ul_passes" class="list-group">
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
297
|
<?php
|
5f2f48c7
Geoffrey PREUD'HOMME
[Orga] Modificati...
|
298
299
300
301
|
foreach ($evenementsPasses as $evenement) {
echo $evenement->html();
}
?>
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
302
303
|
</ul>
|
fab2252b
Geoffrey PREUD'HOMME
[Orga] Réponse ad...
|
304
|
<script type="text/javascript" src="js/orga.js"></script>
|
3a23c07d
Geoffrey PREUD'HOMME
[Orga] Ajout d'év...
|
305
|
|
e4f5453d
Geoffrey PREUD'HOMME
[Orga] Meilleure ...
|
306
307
308
309
310
311
312
|
<?php
} else {
?>
<div class="alert alert-danger" role="alert">Vous ne pouvez pas voir les évènements.</div>
<?php
}
?>
|