1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
function AfficheCalendrier ($Jour,$Mois,$Annee,$evenement) {
// definitions complementaires
$NomDuMois=array("erreur","Janvier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre");
$Week= array("l","m","M","j","v","s","d"); // debut d'affichage =lundi
// controle pour les valeurs par default
if (isset($Jour)) {}else{$Jour=date("j" );} // jour courrant par default
if (isset($Mois)) {}else{$Mois=date("n" );} // mois courrant par default
if (isset($Annee)){}else{$Annee=date("Y");} // annee courrante par default
if (isset($Page)) {}else{$Page=$_SERVER['PHP_SELF'];} // script d'appel par default
// ajustement des variables du script
$NoJour = 2 - date("w",mktime(0,0,0,$Mois,1,$Annee)); // determine le decalage du 1er dans la semaine
if ($NoJour >1) { $NoJour -=7;} // on s'assure du debut de l'affichage a la 1ere ligne du tableau
$JourMax =date("t",mktime(0,0,0,$Mois,1,$Annee)); // nombre de jours dans le mois
$Liens = 0; // compteur du tableau des liens
$cejour = date($Jour." ".$Mois." ".$Annee); // la date actuelle 1 12 2005
// affichage du debut de calendrier ( le mois et l'année )
// mois et annee avant
$annee_avant = $Annee;
$mois_avant = $Mois-1; if ($mois_avant==0){ $mois_avant = 12;$annee_avant--; }
// mois et annee apres
$annee_apres = $Annee;
$mois_apres = $Mois+1; if ($mois_apres==13){ $mois_apres = 1;$annee_apres++; }
print "
<TABLE class=\"Mois\">
<tr class=\"titre\"><td colspan=\"7\">
<a href=\"index.php?cal_j=".$Jour."&cal_m=".$mois_avant."&cal_a=".$annee_avant."&selec_j=".
$_GET["selec_j"]."&selec_m=".$_GET["selec_m"]."&selec_a=".$_GET["selec_a"]."\"><<</a>
<A class=\"MoisAnnee\"NAME=\"$NomDuMois[$Mois]_$Annee\"> $NomDuMois[$Mois] $Annee </A>
<a href=\"index.php?cal_j=".$Jour."&cal_m=".$mois_apres."&cal_a=".$annee_apres."&selec_j=".
$_GET["selec_j"]."&selec_m=".$_GET["selec_m"]."&selec_a=".$_GET["selec_a"]."\">>></a>
</td></tr>
<TR class=\"S\">\n";
// Affichage des jours de la semaine ( L M M J V S D )
for ( $w=0;$w<7;$w++){
print " <TD class=\"e".$w."\">".strtoupper($Week[$w])."</TD> \n";
}
print " </TR>\n";
// creation du calendrier
for ($semaine=1;$semaine <=6;$semaine++) { // 6 semaines par mois
print " <TR class=\"S$semaine\">\n";
for ($journee=1;$journee <=7;$journee++) { // 7 jours par semaine
if ("$NoJour $Mois $Annee"==$cejour) { // est ce le jour actuel ?
print " <TD class=\"J\">"; // si oui on utilise la surbrillance
}else{
print " <TD class=\"J".date("w",mktime(0,0,0,$Mois,$NoJour,$Annee))."\">";
}
if ($NoJour >0 && $NoJour <= $JourMax ){ // si le jour est valide a afficher
if (isset($evenement[$NoJour])){ echo '<a href="'.$evenement[$NoJour].'">'.$NoJour.'</a>'; } else { print $NoJour; }
}else{
print" "; // afficher un espace si jour non valide
}
$NoJour ++; // incremente le jour
print "</TD>\n"; // on passe au jour suivant
}
if ($NoJour >= $JourMax){ $semaine ++; } // on echappe la derniere ligne si vide
print " </TR>\n"; // semaine suivante
}
print "</TABLE>\n"; // le mois est affiche
}
/****************************************************************/
//l'erreur est quelque part ici je pense. ça marche quand on saisit une date comme écrit ici mais sinon il ne fait rien.
$ev = array
( 1 => "index.php?cal_j=".$_GET["cal_j"]."&cal_m=".$_GET["cal_m"]."&cal_a=".$_GET["cal_a"]."&selec_j=1&selec_m=12&selec_a=2005",
2 => "index.php?cal_j=".$_GET["cal_j"]."&cal_m=".$_GET["cal_m"]."&cal_a=".$_GET["cal_a"]."&selec_j=2&selec_m=12&selec_a=2005");
// ev[1] = "test.php";
// ev[3] = "truc.php";
AfficheCalendrier($_GET["cal_j"],$_GET["cal_m"],$_GET["cal_a"],$ev);
?> |
Partager