Statistiques
| Branche: | Révision :

root / admin / admin.php @ c32ba05351ff5b41170a98bd4b45859165ab51b6

Historique | Voir | Annoter | Télécharger (13,43 ko)

1
<?php
2
/*
3
 * admin.php - Administration du championnat
4
 * Copyright (C) 2008 Romuald DELAVERGNE  <delavergne@free.fr>
5
 *
6
 * This source code is licensed under the GNU General Public License,
7
 * Version 2.  See the file COPYING for more details.
8
 */
9
        
10
        require_once 'zip.lib.php';
11
        require_once 'unzip.lib.php';
12
13
        if (basename(dirname($_SERVER['PHP_SELF'])) == "admin")
14
                require_once '../functions.php';
15
        else
16
                require_once 'functions.php';
17
18
        function hiddenVars() { ?>
19
                        <input type="hidden" name="saison" value="<?=$_POST['saison']?>" />
20
                        <input type="hidden" name="div1" value="<?=$_POST['div1']?>" />
21
                        <input type="hidden" name="div2" value="<?=$_POST['div2']?>" />
22
                        <input type="hidden" name="poule" value="<?=$_POST['poule']?>" />
23
                        <input type="hidden" name="phase" value="<?=$_POST['phase']?>" />
24
<?php }
25
26
        function retour($button, $message = "") { ?>
27
                <form method="post" action="index.php">
28
<?php if ($message != "") echo "\t\t\t$message"; ?>
29
<?php hiddenVars() ?>
30
                        <input type="submit" value="<?=$button?>" />
31
                </form>
32
<?php }
33
34
        /*
35
        echo "<pre>\n";
36
        print_r($_POST);
37
        echo "</pre>\n";
38
        */
39
40
        // Données reçues par l'index ou cette page
41
        $championnat = $_POST['championnat'];
42
        if ($championnat == "ajouter un championnat") $championnat = "ajouter";
43
        if ($_POST['validation_championnat'] == "ajouter") $championnat = "validation_ajouter";
44
        if ($_POST['validation_championnat'] == "modifier") $championnat = "validation_modifier";
45
        if ($_POST['validation_penalites'] == "valider") $championnat = "validation_penalites";
46
47
        if (isset($_POST['rencontre-ajouter'])) {
48
                $rencontre = "ajouter";
49
        } else {
50
                $vars = preg_grep("/^rencontre-/", array_keys($_POST));
51
                if ($vars) {
52
                        $rencontre = $_POST[current($vars)];
53
                        $rencontreId = current($vars);
54
                }
55
        }
56
        if ($_POST['validation_rencontre'] == "ajouter") $rencontre = "validation_ajouter";
57
        if ($_POST['validation_rencontre'] == "modifier") $rencontre = "validation_modifier";
58
59
        $equipes = get_magic_quotes_gpc() ? stripslashes($_POST['equipes']) : $_POST['equipes'];
60
        $journee = get_magic_quotes_gpc() ? stripslashes($_POST['journee']) : $_POST['journee'];
61
        $domicile = get_magic_quotes_gpc() ? stripslashes($_POST['domicile']) : $_POST['domicile'];
62
        $visiteur = get_magic_quotes_gpc() ? stripslashes($_POST['visiteur']) : $_POST['visiteur'];
63
        $ptsDom = get_magic_quotes_gpc() ? stripslashes($_POST['ptsDom']) : $_POST['ptsDom'];
64
        $ptsVis = get_magic_quotes_gpc() ? stripslashes($_POST['ptsVis']) : $_POST['ptsVis'];
65
        $scoreDom = get_magic_quotes_gpc() ? stripslashes($_POST['scoreDom']) : $_POST['scoreDom'];
66
        $scoreVis = get_magic_quotes_gpc() ? stripslashes($_POST['scoreVis']) : $_POST['scoreVis'];
67
68
        $message = "";
69
70
        if ($_POST['saison'] && $_POST['div1']) {
71
                $path = (IamAdmin()) ? "../datas" : "datas";
72
                $path .= "/".$_POST['saison']."/".$_POST['div1'];
73
                if ($_POST['div2']) $path .= $SEP_DIV.$_POST['div2'];
74
                if ($_POST['poule'] || $_POST['phase']) $path .= "/";
75
                if ($_POST['poule']) $path .= $_POST['poule'];
76
                if ($_POST['phase']) $path .= $SEP_DIV.$_POST['phase'];
77
        }
78
79
        if ($_POST['exporter'] == "exporter") {
80
                $zip = new zipfile();
81
                backup($zip, "../datas", "datas");
82
                $archive = $zip->file();
83
                header("Content-Type: application/x-zip");
84
                header("Content-Disposition: inline; filename=datas-".date("Y-m-d").".zip");
85
                echo $archive;
86
                exit;
87
        } elseif ($_POST['validation_importer'] == "importer") {
88
                if ($_FILES['zipfile']['error'] == 0) {
89
                        $dest = "..";
90
                        $zip = new SimpleUnzip($_FILES['zipfile']['tmp_name']);
91
                        if ($zip) {
92
                                $needToImport = array();
93
                                $alreadyExist = array();
94
                                foreach ($zip->Entries as $extr) {
95
                                        if (!file_exists($dest."/".$extr->Path)) {
96
                                                mkdirRecursive($dest."/".$extr->Path);
97
                                                $needToImport[] = $extr->Path;
98
                                        } else {
99
                                                if (!in_array($extr->Path, $needToImport)) {
100
                                                        if (!in_array($extr->Path, $alreadyExist)) {
101
                                                                $message .= "<p>Le championnat ".$extr->Path." n'a pas &eacute;t&eacute; import&eacute; car il existe d&eacute;j&agrave; !</p>";
102
                                                                $alreadyExist[] = $extr->Path;
103
                                                        }
104
                                                }
105
                                        }
106
                                        if (in_array($extr->Path, $needToImport)) {
107
                                                $fh = fopen($dest."/".$extr->Path."/".$extr->Name, 'w');
108
                                                fwrite($fh, $extr->Data);
109
                                                fclose($fh);
110
                                        }
111
                                }
112
                                $message .= "Donn&eacute;es import&eacute;es";
113
                        } else {
114
                                $message = $_POST['zipfile'].": fichier invalide !";
115
                        }
116
                } else {
117
                        $message = "Erreur lors du chargement du fichier '".$_FILES['zipfile']['name']."' !";
118
                }
119
        } elseif ($_POST['supprimer-tout'] == "tout supprimer") {
120
                $message = "pas impl&eacute;ment&eacute;.";
121
        }
122
123
        if ($path) {
124
                //echo "<p>path=$path.</p>\n";
125
                switch ($championnat) {
126
                        case "pénalités":
127
                                $Pen = getPenalites($path);
128
                                $equipes = getEquipes($path);
129
                                break;
130
                        case "modifier":
131
                                if (file_exists("$path/equipes")) {
132
                                        $equipes = file_get_contents("$path/equipes");
133
                                }
134
                                break;
135
                        case "validation_ajouter":
136
                                if (!file_exists($path)) {
137
                                        mkdirRecursive($path);
138
                                        my_file_put_contents("$path/equipes", $equipes);
139
                                        $message = "Le championnat a &eacute;t&eacute; ajout&eacute;.";
140
                                } else {
141
                                        $message = "Le championnat existe d&eacute;j&agrave; !";
142
                                }
143
                                break;
144
                        case "validation_modifier":
145
                                my_file_put_contents("$path/equipes", $equipes);
146
                                $message = "Le championnat a &eacute;t&eacute; mis à jour.";
147
                                break;
148
                        case "validation_penalites":
149
                                $vars = preg_grep("/^pen_/", array_keys($_POST));
150
                                if ($vars) {
151
                                        $penalites = "";
152
                                        foreach ($vars as $var) {
153
                                                if ($_POST[$var] > 0) {
154
                                                        list($prefix, $equipe) = explode("_", $var);
155
                                                        $penalites .= $equipe.":".$_POST[$var]."\n";
156
                                                }
157
                                        }
158
                                        $file = "$path/penalites";
159
                                        if ($penalites) {
160
                                                my_file_put_contents($file, $penalites);
161
                                        } else {
162
                                                if (file_exists($file)) unlink($file);
163
                                        }
164
                                        $message = "Les p&eacute;nalit&eacute;s ont &eacute;t&eacute; mises à jour.";
165
                                }
166
                                break;
167
                        case "supprimer":
168
                                // Suppression de tous les fichiers du répertoire
169
                                if ($dir = opendir($path)) {
170
                                        while (($file = readdir($dir)) !== FALSE) {
171
                                                if (is_file("$path/$file")) unlink("$path/$file");
172
                                        }
173
                                        closedir($dir);
174
                                }
175
                                // Suppression du maximum de répertoires
176
                                while (isEmptyDir($path) && basename($path) != "datas") {
177
                                        monRmdir($path);
178
                                        $path = dirname($path);
179
                                }
180
                                $message = "Le championnat a &eacute;t&eacute; supprim&eacute;.";
181
                                break;
182
                }
183
                switch ($rencontre) {
184
                        case "ajouter":
185
                                $equipes = getEquipes($path);
186
                                break;
187
                        case "modifier":
188
                                $equipes = getEquipes($path);
189
                                list($prefix, $journee, $domicile, $visiteur) = explode("-", $rencontreId);
190
                                $file = "$path/match-".$journee."-".$domicile."-".$visiteur;
191
                                if (file_exists($file)) {
192
                                        $resu = file_get_contents($file);
193
                                        list($ptsDom, $ptsVis, $scoreDom, $scoreVis) = explode(":", $resu);
194
                                }
195
                                break;
196
                        case "validation_ajouter":
197
                                if ($journee == "" || $domicile == "" || $visiteur == "") {
198
                                        $message = "Vous devez saisir le num&eacute;ro de la journ&eacute;e, l'&eacute;quipe qui re&ccedil;oit et qui se d&eacute;place !";
199
                                } else {
200
                                        $file = "$path/match-".$journee."-".$domicile."-".$visiteur;
201
                                        if (!file_exists($file)) {
202
                                                my_file_put_contents($file, $ptsDom.":".$ptsVis.":".$scoreDom.":".$scoreVis);
203
                                                $message = "La nouvelle rencontre a &eacute;t&eacute; ajout&eacute;e.";
204
                                        } else {
205
                                                $message = "La rencontre existe d&eacute;j&agrave; !";
206
                                        }
207
                                }
208
                                break;
209
                        case "validation_modifier":
210
                                $file = "$path/match-".$journee."-".$domicile."-".$visiteur;
211
                                my_file_put_contents($file, $ptsDom.":".$ptsVis.":".$scoreDom.":".$scoreVis);
212
                                $message = "La rencontre a &eacute;t&eacute; mise à jour.";
213
                                break;
214
                        case "supprimer":
215
                                list($prefix, $journee, $domicile, $visiteur) = explode("-", $rencontreId);
216
                                $file = "match-".$journee."-".$domicile."-".$visiteur;
217
                                if (file_exists("$path/$file")) {
218
                                        unlink("$path/$file");
219
                                        $message = "La rencontre a &eacute;t&eacute; supprim&eacute;e.";
220
                                }
221
                                break;
222
                }
223
        }
224
?>
225
<html>
226
<head>
227
        <title>Administration</title>
228
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
229
        <meta http-equiv="Content-language" content="fr" />
230
        <meta name="copyright" content="Tous droits réservés - All Rights Reserved" />
231
        <meta name="author" content="Romuald DELAVERGNE">
232
</head>
233
<html>
234
<body>
235
<?php if ($championnat == "ajouter" || $championnat == "modifier" ) { ?>
236
        <form name="admin" method="post" action="<?=$_SERVER['PHP_SELF']?>">
237
                <table border="0">
238
                        <tr>
239
                                <td>Saison</td>
240
                                <td>
241
                                        : 
242
<?php if ($championnat == "ajouter") { ?>
243
                                        <input type="text" name="saison" size="5" value="" />
244
<?php } else { ?>
245
                                        <input type="hidden" name="saison" value="<?=$_POST['saison']?>" />
246
                                        <?=$_POST['saison']."/".($_POST['saison']+1)."\n"?>
247
<?php } ?>
248
                                </td>
249
                        </tr>
250
                        <tr>
251
                                <td>Division</td>
252
                                <td>
253
                                        :
254
<?php if ($championnat == "ajouter") { ?>
255
                                        <select name="div1">
256
                                                <option value=""></option>
257
<?php
258
                                        foreach ($DIVISION as $n => $d) {
259
                                                echo "\t\t\t\t\t\t<option value=\"$n\">$d</option>\n";
260
                                        }
261
?>
262
                                        </select>
263
                                        <input type="text" name="div2" size="3" value="" />
264
<?php } else { ?>
265
                                        <input type="hidden" name="div1" value="<?=$_POST['div1']?>" />
266
                                        <input type="hidden" name="div2" value="<?=$_POST['div2']?>" />
267
                                        <?=$_POST['div1'].$_POST['div2']."\n"?>
268
<?php } ?>
269
                                </td>
270
                        </tr>
271
<?php if ($championnat == "ajouter" || $_POST['poule']) { ?>
272
                        <tr>
273
                                <td>Poule</td>
274
                                <td>
275
                                        :
276
<?php if ($championnat == "ajouter") { ?>
277
                                        <input type="text" name="poule" size="3" value="" />
278
<?php } else { ?>
279
                                        <input type="hidden" name="poule" value="<?=$_POST['poule']?>" />
280
                                        <?=$_POST['poule']."\n"?>
281
<?php } ?>
282
                                </td>
283
                        </tr>
284
<?php } ?>
285
<?php if ($championnat == "ajouter" || $_POST['phase']) { ?>
286
                        <tr>
287
                                <td>Phase</td>
288
                                <td>
289
                                        :
290
<?php if ($championnat == "ajouter") { ?>
291
                                        <select name="phase">
292
                                                <option value=""></option>
293
                                                <option value="1">1</option>
294
                                                <option value="2">2</option>
295
                                        </select>
296
<?php } else { ?>
297
                                        <input type="hidden" name="phase" value="<?=$_POST['phase']?>" />
298
                                        <?=$_POST['phase']."\n"?>
299
<?php } ?>
300
                                </td>
301
                        </tr>
302
<?php } ?>
303
                        <tr>
304
                                <td colspan="2">
305
                                        Liste des &eacute;quipes :
306
                                </td>
307
                        </tr>
308
                        <tr>
309
                                <td colspan="2">
310
                                        <textarea name="equipes" cols="30" rows="10"><?=$equipes?></textarea>
311
                                </td>
312
                        </tr>
313
                </table>
314
<?php if ($championnat == "ajouter") { ?>
315
                <input type="submit" name="validation_championnat" value="ajouter" />
316
<?php } ?>
317
<?php if ($championnat == "modifier" ) { ?>
318
                <input type="submit" name="validation_championnat" value="modifier" />
319
<?php } ?>
320
        </form>
321
<?php retour("annuler"); ?>
322
<?php } else if ($championnat == "pénalités") { ?>
323
        <form method="post" action="<?=$_SERVER['PHP_SELF']?>">
324
                <table>
325
<?php foreach ($equipes as $n => $e) { ?>
326
                        <tr>
327
                                <td><?=$e?></td>
328
                                <td>:<input type="text" name="pen_<?=$n?>" size="3" value="<?=($Pen[$n] ? $Pen[$n] : "0")?>" /></td>
329
                        </tr>
330
<?php        } ?>
331
                </table>
332
<?php hiddenVars() ?>
333
                <input type="submit" name="validation_penalites" value="valider" />
334
        </form>
335
<?php retour("annuler"); ?>
336
<?php } else if ($rencontre == "ajouter" || $rencontre == "modifier") { ?>
337
        <form method="post" action="<?=$_SERVER['PHP_SELF']?>">
338
                <table border="0">
339
                        <tr>
340
                                <td colspan="3">
341
                                        Journ&eacute;e<?=($rencontre == "modifier") ? " $journee\n" : "\n"?>
342
<?php if ($rencontre == "ajouter") { ?>
343
                                        <input type="text" name="journee" size="3" value="" />
344
<?php } else { ?>
345
                                        <input type="hidden" name="journee" value="<?=$journee?>" />
346
<?php } ?>
347
                                </td>
348
                        </tr>
349
                        <tr>
350
                                <td>
351
<?php if ($rencontre == "ajouter") { ?>
352
                                        &Eacute;quipe &agrave; domicile :
353
                                        <select name="domicile">
354
                                                <option value=""></option>
355
<?php
356
                                                foreach ($equipes as $n => $e) {
357
                                                        echo "\t\t\t\t\t\t<option value=\"$n\"";
358
                                                        if ($domicile && $n == $domicile) echo " selected";
359
                                                        echo ">$e</option>\n";
360
                                                }
361
?>
362
                                        </select>
363
<?php } else { ?>
364
                                        <input type="hidden" name="domicile" value="<?=$domicile?>" />
365
                                        <?=$equipes[$domicile]."\n"?>
366
<?php } ?>
367
                                </td>
368
                                <td> points : <input type="text" name="ptsDom" size="3" value="<?=$ptsDom?>" /></td>
369
                                <td> score : <input type="text" name="scoreDom" size="3" value="<?=$scoreDom?>" /></td>
370
                        </tr>
371
                        <tr>
372
                                <td>
373
<?php if ($rencontre == "ajouter") { ?>
374
                                        &Eacute;quipe &agrave; l'ext&eacute;rieure :
375
                                        <select name="visiteur">
376
                                                <option value=""></option>
377
<?php
378
                                                foreach ($equipes as $n => $e) {
379
                                                        echo "\t\t\t\t\t\t<option value=\"$n\"";
380
                                                        if ($visiteur && $n == $visiteur) echo " selected";
381
                                                        echo ">$e</option>\n";
382
                                                }
383
?>
384
                                        </select>
385
<?php } else { ?>
386
                                        <input type="hidden" name="visiteur" value="<?=$visiteur?>" />
387
                                        <?=$equipes[$visiteur]."\n"?>
388
<?php } ?>
389
                                </td>
390
                                <td> points : <input type="text" name="ptsVis" size="3" value="<?=$ptsVis?>" /></td>
391
                                <td> score : <input type="text" name="scoreVis" size="3" value="<?=$scoreVis?>" /></td>
392
                        </tr>
393
                </table>
394
<?php hiddenVars() ?>
395
<?php if ($rencontre == "ajouter") { ?>
396
                <input type="submit" name="validation_rencontre" value="ajouter" />
397
<?php } ?>
398
<?php if ($rencontre == "modifier") { ?>
399
                <input type="submit" name="validation_rencontre" value="modifier" />
400
<?php } ?>
401
        </form>
402
<?php retour("annuler"); ?>
403
<?php } else if ($_POST['importer'] == "importer") { ?>
404
                <form method="post" enctype="multipart/form-data">
405
<?php hiddenVars() ?>
406
                        <input type="file" name="zipfile" value="" />
407
                        <input type="submit" name="validation_importer" value="importer" />
408
                </form>
409
<?php retour("annuler"); ?>
410
<?php
411
        } else {
412
                retour("continuer", $message);
413
        }
414
?>
415
</body>
416
</html>