Statistiques
| Branche: | Révision :

root / admin / admin.php @ 512183e99268ebd0001e4f5f3c98c37ab2a5bf30

Historique | Voir | Annoter | Télécharger (15,31 ko)

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