Statistiques
| Branche: | Révision :

root / index.php @ 765cf74636d34cd9fdb1dc3a2a727a4d031c9d12

Historique | Voir | Annoter | Télécharger (11,04 ko)

1
<?php
2
/*
3
 * index.php - Visualisation 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
        if (basename(dirname($_SERVER['PHP_SELF'])) == "admin")
10
                require_once '../functions.php';
11
        else
12
                require_once 'functions.php';
13
14
        /*
15
        echo "<pre>\n";
16
        print_r($_POST);
17
        echo "</pre>\n";
18
        */
19
20
        $Pts = array(); // Nombre de points
21
        $Joue = array();// Nombre de matchs joués
22
        $Vic = array(); // Nombre de victoires
23
        $Nul = array(); // Nombre de matchs nuls
24
        $Def = array(); // Nombre de défaites
25
        $Fft = array(); // Nombre de forfaits
26
        $Pen = array(); // Points de pénalités
27
        $PG = array();  // Somme des points gagnés
28
        $PP = array();  // Somme des points perdus
29
        $Diff = array();// Diff entre les points gagnés et perdus
30
        $Rang = array();// Nombre de points avec en décimale 'Diff".
31
                                                                        // Permet de faire le tri en départageant les ex-aequos
32
        $rencontres = array(); // Rencontres et résultats de chaque journée
33
        $saisons = array();    // Liste des saisons disponibles
34
        $divisions = array();  // Liste des divisions disponibles pour l'année
35
        $subdivs = array();    // Liste des poules/phases disponibles pour la division
36
37
        $saison = $_POST['saison'];     // l'année du début de saison
38
        $div1 = $_POST['div1'];         // PRO, N, PN, R, PR ou D
39
        $div2 = $_POST['div2'];         // A, B, 1, 2, 3, ...
40
        $division = $_POST['division']; // PROA, N1, PN, R2, PR ou D4, ...
41
        $poule = $_POST['poule'];       // A, B, ...
42
        $phase = $_POST['phase'];       // 1, 2, ...
43
        if (!$division) $division = $div1; if ($div2) $division .= $SEP_DIV.$div2;
44
        $subdiv = $poule; if ($phase) $subdiv .= $SEP_DIV.$phase;
45
46
        $path = (IamAdmin()) ? "../datas" : "datas";
47
        getDirs($path, $saisons);
48
        rsort($saisons);
49
        if (!in_array($saison, $saisons)) unset($saison, $division, $div1, $div2, $subdiv, $poule, $phase);
50
        if (!$saison && $saisons) $saison = $saisons[0];
51
52
        if ($saison) {
53
                $path .= "/$saison";
54
                getDirs($path, $divisions);
55
                sort($divisions, SORT_STRING);
56
                if (!in_array($division, $divisions)) unset($division, $div1, $div2);
57
                if (!$division && $divisions) $division = $divisions[0];
58
        }
59
60
        if ($division) {
61
                $path .= "/$division";
62
                list($div1, $div2) = explode($SEP_DIV, $division);
63
                getDirs($path, $subdivs);
64
                sort($subdivs, SORT_STRING);
65
                if (!in_array($subdiv, $subdivs)) unset($subdiv, $poule, $phase);
66
                if (!$subdiv && $subdivs) $subdiv = $subdivs[0];
67
        }
68
        if ($subdiv) {
69
                list($poule, $phase) = explode($SEP_DIV, $subdiv);
70
                $path .= "/$subdiv";
71
        }
72
73
        // Récupération des équipes et des journees/tours
74
        $equipes = getEquipes($path);
75
        $journees = getJournees($path);
76
77
        // Récupération des résultats
78
        if ($dir = opendir($path)) {
79
                while (($file = readdir($dir)) !== FALSE) {
80
                        if (is_file("$path/$file") && preg_match("/match-*/", $file)) {
81
                                list($prefix, $journee, $domicile, $visiteur) = explode("-", $file);
82
                                $resu = array_map('rtrim', file("$path/$file"));
83
                                $resu = file_get_contents("$path/$file");
84
                                $rencontres[$journee][] = "$domicile:$visiteur:$resu";
85
                        }
86
                }
87
                closedir($dir);
88
        }
89
90
        $titleDiv = ($div1 == "C" || $div1 == "T") ? $DIVISION[$div1] : "division";
91
        $titleSubdiv = (($div1 == "C" || $div1 == "T") && $poule) ? "poule/tableau" : "poule";
92
93
        // Récupération des pénalités
94
        $Pen = getPenalites($path);
95
?>
96
<html>
97
<head>
98
        <title>Comp&eacute;titions de tennis de table</title>
99
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
100
        <meta http-equiv="Content-language" content="fr" />
101
        <meta name="copyright" content="Tous droits réservés - All Rights Reserved" />
102
        <meta name="author" content="Romuald DELAVERGNE">
103
        <link rel="stylesheet" type="text/css" href="<?=(IamAdmin()) ? "../" : ""?>style/fftt.css" media="screen" title="Normal" />
104
</head>
105
<html>
106
<body>
107
<?php
108
        /*
109
        echo "<pre>\n";
110
        echo "saison  =/$saison/\n";
111
        echo "division=/$division/\n";
112
        echo "div1    =/$div1/\n";
113
        echo "div2    =/$div2/\n";
114
        echo "subdiv  =/$subdiv/\n";
115
        echo "poule   =/$poule/\n";
116
        echo "phase   =/$phase/\n";
117
        echo "equipe1=/".$equipes[0]."/\n";
118
        print_r($equipes);
119
        print_r($rencontres);
120
        //print_r($saisons);
121
        //print_r($divisions);
122
        print_r($subdivs);
123
        echo "</pre>\n";
124
        */
125
?>
126
<?php if ($saisons) { ?>
127
        <form name="resultats" method="post" action="<?=$_SERVER['PHP_SELF']?>">
128
                <div id="boutons-selection">
129
                        Saison :
130
                        <select name="saison" onChange="submit()">
131
<?php
132
                foreach ($saisons as $s) {
133
                        echo "\t\t\t\t<option value=\"$s\"";
134
                        if ($saison == $s) echo " selected";
135
                        echo ">$s/".($s+1)."</option>\n";
136
                }
137
?>
138
                        </select>
139
<?php } ?>
140
<?php if ($divisions) { ?>
141
                        <?=$titleDiv?> :
142
                        <select name="division" onChange="submit()">
143
<?php
144
                foreach ($divisions as $d) {
145
                        list($a, $b) = explode($SEP_DIV, $d);
146
                        echo "\t\t\t\t<option value=\"$d\"";
147
                        if ($d == $division) echo " selected";
148
                        echo ">".(($a == "C" || $a == "T") ? $b : $a.$b)."</option>\n";
149
                }
150
?>
151
                        </select>
152
<?php } ?>
153
<?php if ($poule) { ?>
154
                        <?=$titleSubdiv?> :
155
                        <select name="poule" onChange="submit()">
156
<?php
157
                foreach ($subdivs as $s) {
158
                        list($a, $b) = explode($SEP_DIV, $s);
159
                        echo "\t\t\t\t<option value=\"$a\"";
160
                        if ($poule == $a) echo " selected";
161
                        echo ">$a</option>\n";
162
                }
163
?>
164
                        </select>
165
<?php } ?>
166
<?php        if ($phase) { ?>
167
                        Phase :
168
                        <select name="phase" onChange="submit()">
169
<?php
170
                foreach ($subdivs as $s) {
171
                        list($a, $b) = explode($SEP_DIV, $s);
172
                        echo "\t\t\t\t<option value=\"$b\"";
173
                        if ($phase == $b) echo " selected";
174
                        echo ">$b</option>\n";
175
                }
176
?>
177
                        </select>
178
<?php } ?>
179
<?php if ($saisons) { ?>
180
                </div>
181
        </form>
182
<?php } ?>
183
<?php if (IamAdmin()) { ?>
184
        <form name="resultats" method="post" action="admin.php">
185
                <input type="hidden" name="saison" value="<?=$saison?>" />
186
                <input type="hidden" name="div1" value="<?=$div1?>" />
187
                <input type="hidden" name="div2" value="<?=$div2?>" />
188
                <input type="hidden" name="poule" value="<?=$poule?>" />
189
                <input type="hidden" name="phase" value="<?=$phase?>" />
190
                <div id="boutons-global">
191
                        <select name="typeCompetition">
192
                                <option value="">championnat</option>
193
                                <option value="C"<?=$div1 == "C" ? " selected" : ""?>>coupe</option>
194
                                <option value="T"<?=$div1 == "T" ? " selected" : ""?>>tournoi</option>
195
                        </select>
196
                        <input type="submit" name="championnat" value="ajouter" />
197
<?php         if ($saisons) { ?>
198
                        -
199
                        <input type="submit" name="exporter" value="exporter" />
200
                        -
201
                        <input type="submit" name="importer" value="importer" />
202
<?php if (FALSE) { ?>
203
                        -
204
                        <input type="submit" name="supprimer-tout" value="tout supprimer" />
205
<?php } ?>
206
<?php         } ?>
207
                </div>
208
<?php         if ($saisons) { ?>
209
                <div id="boutons-championnat">
210
                        <input type="submit" name="championnat" value="modifier" />
211
<?php
212
        if ($phase) {
213
                $compet = "la phase";
214
        } elseif ($poule) {
215
                if ($div1 == "C" || $div1 == "T") {
216
                        $compet = "la poule ou le tableau";
217
                } else {
218
                        $compet = "la poule";
219
                }
220
        } else {
221
                $compet = "la division";
222
        }
223
?>
224
                        <input type="submit" name="championnat" value="supprimer" onClick='return confirm("Voulez-vous vraiment effacer <?=$compet?> ?")' />
225
                        <input type="submit" name="championnat" value="p&eacute;nalit&eacute;s" />
226
                </div>
227
<?php         } ?>
228
<?php }
229
        if ($equipes) foreach ($equipes as $n => $e) {
230
                $Pts[$n] = $Joue[$n] = $Vic[$n] = $Nul[$n] = $Def[$n] = $Fft[$n] = $PG[$n] = $PP[$n] = $Diff[$n] = $Rang[$n] = 0;
231
        }
232
        if ($rencontres) foreach ($rencontres as $j => $rencontre) {
233
                foreach ($rencontre as $r) {
234
                        list($domicile, $visiteur, $ptsDom, $ptsVis, $scoreDom, $scoreVis, $fftDom, $fftVis) = explode(":", $r);
235
                        if ($ptsDom == "" || $ptsVis == "" || $scoreDom == "" || $scoreVis == "") continue;
236
237
                        $Joue[$domicile]++;
238
                        $Joue[$visiteur]++;
239
                        $Pts[$domicile] += $scoreDom;
240
                        $Pts[$visiteur] += $scoreVis;
241
                        $PG[$domicile] += $ptsDom;
242
                        $PP[$domicile] += $ptsVis;
243
                        $PG[$visiteur] += $ptsVis;
244
                        $PP[$visiteur] += $ptsDom;
245
246
                        if ($fftDom == "on") $Fft[$domicile]++;
247
                        if ($fftVis == "on") $Fft[$visiteur]++;
248
                        if ($scoreDom > $scoreVis) {
249
                                $Vic[$domicile]++;
250
                                if ($fftVis == "") $Def[$visiteur]++;
251
                        }
252
                        elseif ($scoreDom < $scoreVis) {
253
                                if ($fftDom == "") $Def[$domicile]++;
254
                                $Vic[$visiteur]++;
255
                        }
256
                        else {
257
                                $Nul[$domicile]++;
258
                                $Nul[$visiteur]++;
259
                        }
260
                }
261
        }
262
        if ($equipes) foreach ($equipes as $n => $e) {
263
                $Pts[$n] -= $Pen[$n];
264
                $Diff[$n] = $PG[$n] - $PP[$n];
265
                $Rang[$n] = $Pts[$n] + $Diff[$n]/1000;
266
        }
267
        arsort($Rang);
268
?>
269
        <div id="tabClassement">
270
                <table>
271
                        <tr>
272
                                <th class="colClt">Clt</th>
273
                                <th class="colEquipe">Equipe</th>
274
                                <th class="colPts">Pts</th>
275
                                <th class="colJoue">Jou&eacute;</th>
276
                                <th class="colVic">Vic</th>
277
                                <th class="colNul">Nul</th>
278
                                <th class="colDef">D&eacute;f</th>
279
                                <th class="colFft">Fft</th>
280
                                <th class="colPen">P&eacute;n</th>
281
                                <th class="colPG">PG</th>
282
                                <th class="colPP">PP</th>
283
                                <th class="colDiff">Diff</th>
284
                        </tr>
285
<?php
286
        $i = 0;
287
        if ($equipes) foreach ($Rang as $equipe => $r) {
288
                $i++;
289
?>
290
                        <tr>
291
                                <td class="colClt"><?=(isset($last) && $last == $Pts[$equipe]) ? "-" : $i?></td>
292
                                <td class="colEquipe"><?=$equipes[$equipe]?></td>
293
                                <td class="colPts"><?=$Pts[$equipe]?></td>
294
                                <td class="colJoue"><?=$Joue[$equipe]?></td>
295
                                <td class="colVic"><?=($Vic[$equipe]) ? $Vic[$equipe] : "0"?></td>
296
                                <td class="colNul"><?=($Nul[$equipe]) ? $Nul[$equipe] : "0"?></td>
297
                                <td class="colDef"><?=($Def[$equipe]) ? $Def[$equipe] : "0"?></td>
298
                                <td class="colFft"><?=($Fft[$equipe]) ? $Fft[$equipe] : "0"?></td>
299
                                <td class="colPen"><?=($Pen[$equipe]) ? $Pen[$equipe] : "0"?></td>
300
                                <td class="colPG"><?=($PG[$equipe]) ? $PG[$equipe] : "0"?></td>
301
                                <td class="colPP"><?=($PP[$equipe]) ? $PP[$equipe] : "0"?></td>
302
                                <td class="colDiff"><?=($Diff[$equipe]) ? $Diff[$equipe] : "0"?></td>
303
                        </tr>
304
<?php
305
                $last = $Pts[$equipe];
306
        }
307
?>
308
                </table>
309
        </div>
310
        <br />
311
<?php
312
        $j = 0;
313
        foreach ($rencontres as $j => $rencontre) {
314
?>
315
        <div class="tabJournee">
316
                <table>
317
                        <tr>
318
                                <th class="colJournee" colspan="6"><?=isset($journees[$j]) ? $journees[$j] : "&lt;n&deg;$j sans nom&gt;"?></th>
319
                        <tr>
320
<?php
321
                foreach ($rencontre as $r) {
322
                        list($domicile, $visiteur, $ptsDom, $ptsVis) = explode(":", $r);
323
?>
324
                        <tr>
325
                                <td class="colDom"><div<?=($ptsDom != "" && $ptsVis != "" && $ptsDom >= $ptsVis) ? " class=\"vainqueur\"": ""?>><?=$equipes[$domicile]?></div></td>
326
                                <td class="colSep">&nbsp;-&nbsp;</td>
327
                                <td class="colVis"><div<?=($ptsDom != "" && $ptsVis != "" && $ptsVis >= $ptsDom) ? " class=\"vainqueur\"": ""?>><?=$equipes[$visiteur]?></div></td>
328
                                <td class="colPtsDom"><?=$ptsDom?></td>
329
                                <td class="colPtsVis"><?=$ptsVis?></td>
330
<?php if (IamAdmin()) { ?>
331
                                <td>
332
<?php $value = "$j-$domicile-$visiteur"; ?>
333
                                        <input type="submit" name="rencontre-<?=$value?>" value="modifier" />
334
                                        <input type="submit" name="rencontre-<?=$value?>" value="supprimer" onClick='return confirm("Voulez-vous vraiment effacer cette rencontre entre\n<?=$equipes[$domicile]?> et <?=$equipes[$visiteur]?> ?")' />
335
                                </td>
336
<?php } ?>
337
                        </tr>
338
<?php
339
                }
340
?>
341
                </table>
342
        </div>
343
        <br />
344
<?php
345
        }
346
?>
347
<?php if (IamAdmin()) { ?>
348
<?php         if ($equipes) { ?>
349
        <div id="rencontre-ajouter">
350
                <input type="submit" name="rencontre-ajouter" value="ajouter une rencontre" />
351
        </div>
352
<?php         } ?>
353
        </form>
354
<?php } ?>
355
</body>
356
</html>