root / index.php @ 416cdea0ae67251d671bba058f463e0c74db682f
Historique | Voir | Annoter | Télécharger (3,9 ko)
1 | 5ea6d54c | Romuald | <?php
|
---|---|---|---|
2 | ed51e0a4 | Romuald | setlocale(LC_TIME, "fr_FR"); |
3 | 5ea6d54c | Romuald | $lstFeries = array( |
4 | 5ea6d54c | Romuald | "jourDeLAn" => array(1, 1, "jour de l'an"), |
5 | 5ea6d54c | Romuald | "rameaux" => array(0, 0, "les Rameaux"), |
6 | 5ea6d54c | Romuald | "paques" => array(0, 0, "Pâques"), |
7 | 5ea6d54c | Romuald | "lundiDePaques" => array(0, 0, "lundi de Pâques"), |
8 | 5ea6d54c | Romuald | "feteDuTravail" => array(1, 5, "fête du travail"), |
9 | 5ea6d54c | Romuald | "victoire1945" => array(8, 5, "victoire 1945"), |
10 | 5ea6d54c | Romuald | "ascension" => array(15, 8, "l'Ascension"), |
11 | 5ea6d54c | Romuald | "pentecote" => array(0, 0, "la Pentecôte"), |
12 | 5ea6d54c | Romuald | "lundiDePentecote" => array(0, 0, "lundi de Pentecôte"), |
13 | 5ea6d54c | Romuald | "feteNationale" => array(14, 7, "fête Nationale"), |
14 | 5ea6d54c | Romuald | "assomption" => array(15, 8, "l'Assomption"), |
15 | 5ea6d54c | Romuald | "toussaint" => array(1, 11, "la Toussaint"), |
16 | 5ea6d54c | Romuald | "armistice1918" => array(11, 11, "armistice 1918"), |
17 | 5ea6d54c | Romuald | "noel" => array(25, 12, "Noël") |
18 | 5ea6d54c | Romuald | ); |
19 | 5ea6d54c | Romuald | |
20 | 5ea6d54c | Romuald | function getPaquesDay($year) { |
21 | 5ea6d54c | Romuald | $b = $year-1900; |
22 | 5ea6d54c | Romuald | $c = $year % 19; |
23 | 5ea6d54c | Romuald | $d = (7*$c+1)/19; |
24 | 5ea6d54c | Romuald | $e = (11*$c+4-$d) % 29; |
25 | 5ea6d54c | Romuald | $f = $b/4; |
26 | 5ea6d54c | Romuald | $g = ($b+$f+31-$e) % 7; |
27 | 5ea6d54c | Romuald | $h = 25-$e-$g; |
28 | 5ea6d54c | Romuald | if ($h > 0) { |
29 | 5ea6d54c | Romuald | $jour = $h; |
30 | 5ea6d54c | Romuald | $mois = 4; |
31 | 5ea6d54c | Romuald | } else {
|
32 | 5ea6d54c | Romuald | $jour = $h+31; |
33 | 5ea6d54c | Romuald | $mois = 3; |
34 | 5ea6d54c | Romuald | } |
35 | 5ea6d54c | Romuald | return array($jour, $mois); |
36 | 5ea6d54c | Romuald | } |
37 | 5ea6d54c | Romuald | |
38 | 5ea6d54c | Romuald | $year = date("Y"); |
39 | 5ea6d54c | Romuald | if (isset($_GET['year'])) $year = $_GET['year']; |
40 | 5ea6d54c | Romuald | if (isset($_GET['annee'])) $year = $_GET['annee']; |
41 | 5ea6d54c | Romuald | |
42 | 5ea6d54c | Romuald | list($jourPaques, $moisPaques) = getPaquesDay($year); |
43 | 5ea6d54c | Romuald | $datePaques = strtotime("$year-$moisPaques-$jourPaques"); |
44 | 5ea6d54c | Romuald | $lstFeries['paques'][0] = $jourPaques; |
45 | 5ea6d54c | Romuald | $lstFeries['paques'][1] = $moisPaques; |
46 | 5ea6d54c | Romuald | $ts = strtotime("-7 days", $datePaques); |
47 | 5ea6d54c | Romuald | $lstFeries['rameaux'][0] = date("j", $ts); |
48 | 5ea6d54c | Romuald | $lstFeries['rameaux'][1] = date("n", $ts); |
49 | 5ea6d54c | Romuald | $ts = strtotime("1 day", $datePaques); |
50 | 5ea6d54c | Romuald | $lstFeries['lundiDePaques'][0] = date("j", $ts); |
51 | 5ea6d54c | Romuald | $lstFeries['lundiDePaques'][1] = date("n", $ts); |
52 | 5ea6d54c | Romuald | $ts = strtotime("39 days", $datePaques); |
53 | 5ea6d54c | Romuald | $lstFeries['ascension'][0] = date("j", $ts); |
54 | 5ea6d54c | Romuald | $lstFeries['ascension'][1] = date("n", $ts); |
55 | 5ea6d54c | Romuald | $ts = strtotime("49 days", $datePaques); |
56 | 5ea6d54c | Romuald | $lstFeries['pentecote'][0] = date("j", $ts); |
57 | 5ea6d54c | Romuald | $lstFeries['pentecote'][1] = date("n", $ts); |
58 | 5ea6d54c | Romuald | $ts = strtotime("50 days", $datePaques); |
59 | 5ea6d54c | Romuald | $lstFeries['lundiDePentecote'][0] = date("j", $ts); |
60 | 5ea6d54c | Romuald | $lstFeries['lundiDePentecote'][1] = date("n", $ts); |
61 | 5ea6d54c | Romuald | ?>
|
62 | 416cdea0 | Romuald | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
63 | 5ea6d54c | Romuald | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> |
64 | 5ea6d54c | Romuald | <head>
|
65 | 5ea6d54c | Romuald | <meta http-equiv="Content-Type" content="text/HTML; charset=iso-8859-1" /> |
66 | 5ea6d54c | Romuald | <meta http-equiv="Content-style-type" content="text/css" /> |
67 | 5ea6d54c | Romuald | <meta http-equiv="Content-language" content="fr" /> |
68 | 5ea6d54c | Romuald | <title>Calendrier <?=$year?></title> |
69 | 5ea6d54c | Romuald | <link rel="stylesheet" type="text/css" href="calendrier.css" media="screen" title="Normal" /> |
70 | 5ea6d54c | Romuald | <link rel="stylesheet" type="text/css" href="calendrier.css" media="print" title="Normal" /> |
71 | 5ea6d54c | Romuald | |
72 | 5ea6d54c | Romuald | </head>
|
73 | 5ea6d54c | Romuald | |
74 | 5ea6d54c | Romuald | <body>
|
75 | 5ea6d54c | Romuald | <?php
|
76 | 5ea6d54c | Romuald | for ($s = 1; $s <= 2; $s++) { |
77 | 5ea6d54c | Romuald | print "\t\t<table>\n"; |
78 | 5ea6d54c | Romuald | for ($j = 0; $j <= 31; $j++) { |
79 | 5ea6d54c | Romuald | if ($j == 0) { |
80 | 5ea6d54c | Romuald | echo "\t\t\t<tr id=\"semestre$s\">\n"; |
81 | 5ea6d54c | Romuald | } else {
|
82 | 5ea6d54c | Romuald | echo "\t\t\t<tr class=\"jour$j\">\n"; |
83 | 5ea6d54c | Romuald | } |
84 | 5ea6d54c | Romuald | for ($m = 6*$s-5; $m <= 6*$s; $m++) { |
85 | 5ea6d54c | Romuald | if ($j == 0) { |
86 | e003fd32 | Romuald | $ts = strtotime("$year-$m-1"); |
87 | e003fd32 | Romuald | echo "\t\t\t\t<th id=\"mois$m\">".strftime("%B", $ts)."</th>\n"; |
88 | 5ea6d54c | Romuald | $lastDay = 29; |
89 | 5ea6d54c | Romuald | while (checkdate($m, $lastDay, $year)) $lastDay++; |
90 | 5ea6d54c | Romuald | $last[$m] = $lastDay-1; |
91 | 5ea6d54c | Romuald | } else {
|
92 | 5ea6d54c | Romuald | $ts = strtotime("$year-$m-$j"); |
93 | e003fd32 | Romuald | $weekDay = strftime("%A", $ts); |
94 | 5ea6d54c | Romuald | $abrvDay = strftime("%a", $ts); |
95 | 5ea6d54c | Romuald | if ($j <= $last[$m]) { |
96 | 5ea6d54c | Romuald | $classFerie = ""; |
97 | 5ea6d54c | Romuald | foreach ($lstFeries as $id => $f) { |
98 | 5ea6d54c | Romuald | if ($j == $f[0] && $m == $f[1]) { |
99 | 5ea6d54c | Romuald | $classFerie = " class=\"ferie\" class=\"$id\" title=\"".$f[2]."\""; |
100 | 5ea6d54c | Romuald | break;
|
101 | 5ea6d54c | Romuald | } |
102 | 5ea6d54c | Romuald | } |
103 | 5ea6d54c | Romuald | echo "\t\t\t\t<td$classFerie class=\"$weekDay\"><span class=\"nom-jour\">$abrvDay</span><span class=\"num-jour\">$j</span></td>\n"; |
104 | 5ea6d54c | Romuald | } else {
|
105 | 5ea6d54c | Romuald | if ($last[$m] == 30) { |
106 | 5ea6d54c | Romuald | echo "\t\t\t\t<td></td>\n"; |
107 | 5ea6d54c | Romuald | } else {
|
108 | 5ea6d54c | Romuald | if ($j == $last[$m]+1) echo "\t\t\t\t<td rowspan=\"".(31-$last[$m])."\"></td>\n"; |
109 | 5ea6d54c | Romuald | } |
110 | 5ea6d54c | Romuald | } |
111 | 5ea6d54c | Romuald | } |
112 | 5ea6d54c | Romuald | } |
113 | 5ea6d54c | Romuald | echo "\t\t\t</tr>\n"; |
114 | 5ea6d54c | Romuald | } |
115 | 5ea6d54c | Romuald | print "\t\t</table>\n"; |
116 | 5ea6d54c | Romuald | print "\t\t<br />\n"; |
117 | 5ea6d54c | Romuald | } |
118 | 5ea6d54c | Romuald | ?>
|
119 | 5ea6d54c | Romuald | </body>
|
120 | 5ea6d54c | Romuald | </html> |