codice:
<?php
function calendario($mese,$anno){
global $_GET;
$gg = 0;
if ($_GET['x'] == NULL){
$mese_ = $mese;
$anno_ = $anno;
}
else{
$mese_ = (int)strftime( "%m" ,(int)$_GET['x']);
$anno_ = (int)strftime( "%Y" ,(int)$_GET['x']);
$mese = $mese_;
$anno = $anno_;
}
$prev = mktime(0, 0, 0, $mese_ -1, 1, $anno_);
$next = mktime(0, 0, 0, $mese_ +1, 1, $anno_);
$human_month = array("error", "Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre" );
$settimana = array("Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom");
$colonne = 7;
$giorni = date("t",mktime(0, 0, 0, $mese, 1, $anno)); //giorni del mese in questione
$primo_lunedi= date("w",mktime(0, 0, 0, $mese, 1, $anno)); //Array_parte da 0
if($primo_lunedi==0){
$primo_lunedi = 7;
}
print("<table width=\"210\" colspacing=\"0\" border=\"0\">"); //table
print("<tr height=\"20\">\n\t\t<td colspan=\"".$colonne."\" align=\"center\"><a href=\"?x=".$prev."\"><<</a> <span>".$human_month[(int)$mese]." ".$anno_."</span> <a href=\"?x=".$next."\">>></a></td></tr>");
foreach($settimana as $val){
print("<td height=\"20\">".$val."</td>");
}
print("</tr>");
for($i = 1; $i<$giorni+$primo_lunedi; $i++){
$gg = $gg+1;
if($i%$colonne+1==0){
print("<tr>");
}
if($i<$primo_lunedi){
print("<td> </td>");
}
else{
$giorno_= $i-($primo_lunedi-1);
$a = strtotime(date($anno_."-".$mese_."-".$giorno_));
$b = strtotime(date("Y-m-d"));
if($a != $b){
/*elimino il link se i giorni iniziano ad essere superiori a quello attuale */
if ($a > $b)
{
print("<td>".$giorno_."</a></td>");
/* rimetto il link */
}else{
print("<td><a href=\"?contagg=".$gg."&x=".$_GET['x']."&data=".$giorno_."/".$mese_."/".$anno_."\">".$giorno_."</a></td>");
}
/*fine controllo giorni */
}else{
print("<td><a href=\"?contagg=".$gg."&x=".$_GET['x']."&data=".$giorno_."/".$mese_."/".$anno_."\">[".$giorno_."]</a></td>");
}
}
if($i%$colonne==0){
$gg = 0;
print("</tr>");
}
}
print("<tr height=\"30\"> </tr>");
print("</table>");
}
calendario(date("n"),date("Y"));
?>