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