<?php
// ------------------------------------------------------------------------- //
// calendrier-reglette //
// ------------------------------------------------------------------------- //
// Auteur: Bruno Castagné <ccrealink@aol.com> //
// Web: http://www.net16annonce.com //
// ------------------------------------------------------------------------- //
/*
Voici un calendrier perpétuel sous forme de reglette.
Il indique les numeros de semaine; le numero du jour, les jours feriés (sauf le
lundi de Pâques), etc ...
Visible à l'adresse : http://www.net16annonce.com/calendrier/calendrier.php3
*/
?>
<style TYPE="text/css">
.titremois { font-family: Arial; font-size: 14px; font-weight: bold; color:#330099; background:#47B8F4 }
.titrejours {font-family: arial; font-size: 14px; color:#990000; background:#99FF00 }
.titreweek {font-family: arial; font-size: 14px; color:#990000; background:#FFCC99 }
.titrejoursferie { font-family: verdana; font-size: 13px; color:#000000; background:#FF8E1E}
</style>
<?
print("<form action=\"calandrier.php3\" method=\"post\" name=\"f\">");
$joursferie=array("1","121","128","129","140","195","227","305","315","359");
$joursferie1=array("1","122","129","130","141","196","228","306","316","360");/// pour les mois de fevrier à 29 JOURS.....
$tabmois = array("","Jan", "Fév", "Mars", "Avr", "Mai", "Juin","Juil", "Août", "Sept", "Oct", "Nov","Déc");
$tabjours = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
$joursemaine=date("w");/// numero du jours de la semaine....
if(!$an){$annee=date("Y");}else{$annee=$an;}// année...
$jourdumois=date("j");
if(!$mois){$mois=date("n");}else{$mois=date("n", mktime(0,0,0,$mois,01,$annee));}// numero du mois....
$njm=date("t", mktime(0,0,0,$mois,01,$annee));//nommbre de jour dans le mois en cours...
if(date("t", mktime(0,0,0,2,01,$annee)) == 28){$nbf=$joursferie;}else{$nbf=$joursferie1;}
print("<center><table width=800><tr bgcolor=#99FFCC align=center><td>");
//// AFFICHAGE DU JOURS DE LA SEMAINE....
print("<table><tr align=center class=\"titremois\">");
$j=0;
while( $j <= 6 ){
if( $j==($joursemaine)){$class="titrejours";}else{$class="";}
print("<td class=$class> $tabjours[$j] </td>");
$j++;
}
$an_plus=$annee + 1;
$an_moins=$annee - 1;
print("<td>ANNÉE :<a href=\"?an=$an_moins&mois=$mois\"><<</a><font color=#000000><b> $annee</b><a href=\"?an=$an_plus&mois=$mois\">>></a></td></tr></table>");
//// affichage des jours du mois...
print("<table cellspacing=1><tr align=center class=\"titremois\">");
$x=1;
while ($x <= ($njm)){
$jourdelasem=date("D",mktime(0,0,0,$mois,$x,$annee));
$nbj=date("z",mktime(0,0,0,$mois,$x+1,$annee));
if($jourdelasem=="Mon"){$jourdelasem="Lu";}else{}
if($jourdelasem=="Tue"){$jourdelasem="Ma";}else{}
if($jourdelasem=="Wed"){$jourdelasem="Me";}else{}
if($jourdelasem=="Thu"){$jourdelasem="Je";}else{}
if($jourdelasem=="Fri"){$jourdelasem="Ve";}else{}
if($jourdelasem=="Sat"){$jourdelasem="Sa";}else{}
if($jourdelasem=="Sun"){$jourdelasem="Di";}else{}
if($jourdelasem =="Sa" || $jourdelasem =="Di"){$class="titreweek";}else{$class="";}
// determine les jours feries...
$tot=count($nbf);
for($y=0;$y <= $tot;$y++){
if($nbj == $nbf[$y]){$class="titrejoursferie";}else{}
}
if($x==$jourdumois){$class="titrejours";}else{}
if($nbf==$joursferie){if($nbj==0){$nbj=365;}}else{if($nbj==0){$nbj=366;}}
print("<td class=$class width=10>$x<br>$jourdelasem<br><font size=1px>$nbj</font></td>");
$x++;
}
print("</tr>");
///// affichage semaine..
$numero=date("w", mktime(0,0,0,$mois,01,$annee));
$col=array ("1","7","6","5","4","3","2");
$col=$col[$numero];
print("<tr>");
$depart=$nbj - $njm + 1;// depart du jour du mois.
$depart7=$depart + $col;/// depart du mois...
$fin=($depart7 + $njm)-$col-1;/// fin du mois...
$first=date("D",mktime(0,0,0,01,01,$annee));
$der=date("D",mktime(0,0,0,12,31,$annee));
if($first == "Mon"){$decal=-1;}
if($first == "Tue"){$decal=0;}
if($first == "Wed"){$decal= 1;}
if($first == "Thu"){$decal=2;}
if($first == "Fri"){$decal=3;}
if($first == "Sat"){$decal=4;}
if($first == "Sun"){$decal=5;}
$ref=date("w", mktime(0,0,0,01,01,$annee));
$ref1=date("w", mktime(0,0,0,01,01,$annee-1));
if($ref == 0 || $ref == 1 || $ref == 2 || $ref == 3 || $ref == 5 || $ref == 6){$ok =0;}else {$ok = 1;}
if($ref1 == 0 || $ref1 == 1 || $ref1 == 2 || $ref1 == 3 || $ref1 == 5 || $ref1 == 6){$ok1 =0;}else {$ok1 = 1;}
/////
$longueur=7;
$color1="#FFCC99";$color2="#330099";$coul=$color2;
while($depart7 <= $fin +7){
$depart7+=7;
if($ok == 0 && $ok1 == 0){$semaines = ($depart7 + $decal) / 7 - 1;
if($ref == 5 || $ref == 6 || $ref == 0){$semaines = ($depart7 + $decal) / 7 - 2;if($semaines == 0){$semaines = 52;}}}
if($ok == 1){$semaines = ($depart7 + $decal) / 7 - 1;} else{if($semaines == 53 ){$semaines=1;}}
if($ok == 0 && $ok1 == 1){$semaines = ($depart7 + $decal) / 7-2;if($semaines == 0){$semaines = 53;}
}
print("<td colspan=$col><hr width=100% size=5 color=$coul align=left><center><font color=#ff0000 size=2><b>$semaines<b></font></center></td>");
if($coul == $color2 && $col){$coul=$color1;$col=$longueur;}else{$coul = $color2;$col=$longueur;}
}
print("<tr></table>");
/////AFFICHAGE DES MOIS....
print("<table><tr align=center class=\"titremois\">");
for($m=1; $m < 13; $m++){
if( $m==($mois)){$class="titrejours";}else{$class="";}
$mx=$m+1;
print("<td class=$class><b> <a href=\"?mois=$m&an=$annee\">$tabmois[$m]</a> </b></td>");}
print("</tr></table></td></tr></table>");
?>
</form>