Codice PHP:
<?php
function prenotazione($mese){
$giorni = array();
$db = new MySQL();
if (! $db->Query("SELECT str_data, dataFine FROM bebcalendario WHERE MONTH(str_data) = $mese OR MONTH(dataFine) = $mese")) echo $db->Kill();
while($row = $db->Row() ){ // Sono timestamp
$str_data = $row->str_data;
$dataFine = $row->dataFine;
while($str_data <= $dataFine){
if(date('m', $str_data) == $mese){
if(!isset($giorni[$str_data]))
$giorni[$str_data] = 0;
$giorni[$str_data] ++;
}
$str_data += (60 * 60 * 24);
}
} return $giorni;
}
function ShowCalendar($m,$y){
$compare = prenotazione($m);
if ((!isset($_GET['d']))||($_GET['d'] == "")) {
$m = date('n');
$y = date('Y');
}else{ $m = (int)strftime( "%m" ,(int)$_GET['d']);
$y = (int)strftime( "%Y" ,(int)$_GET['d']);
$m = $m;
$y = $y;
} $precedente = mktime(0, 0, 0, $m -1, 1, $y);
$successivo = mktime(0, 0, 0, $m +1, 1, $y);
$nomi_mesi = array( "Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre" ); $nomi_giorni = array( "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom" ); $cols = 7; $days = date("t",mktime(0, 0, 0, $m, 1, $y));
$lunedi= date("w",mktime(0, 0, 0, $m, 1, $y));
if($lunedi==0) $lunedi = 7;
echo "<div>";
echo "<table class=\"box\" cellspacing=\"5\" cellpadding=\"5\">\n";
echo "<tr>\n <td colspan=\"".$cols."\" class='header-calendario' align='center'>
<a href=\"?page=8&lang={$_REQUEST['lang']}&d=" . $precedente . "\"><span class='arrow-sx'></span></a>
<span class='testomesi'> " . $nomi_mesi[$m-1] . " " . $y . " </span>
<a href=\"?page=8&lang={$_REQUEST['lang']}&d=" . $successivo . "\">
<span class='arrow-dx'></span></a></td></tr>";
foreach($nomi_giorni as $v) {
echo "<td class='sfondomesi' style='color:#fff;'><b>".$v."</b></td>\n"; } echo "</tr>";
for($j = 1; $j<$days+$lunedi;$j++) {
if($j%$cols+1==0) {
echo "<tr>\n";
} if($j<$lunedi) {
echo "<td> </td>\n";
}else{ $day= $j-($lunedi-1);
$data = strtotime(date($y."-".$m."-".$day));
$oggi = strtotime(date("Y-m-d"));
$color = '#fff';
if(isset($compare[$data]) && $compare[$data] == 2)
$color = '#be1e2d';
$label = ($data != $oggi) ? $day : '<b>'.$day.'</b>';
echo "<td style='color:$color'>".$label."</td>";
} if($j%$cols==0) {
echo "</tr>";
}
} echo "<tr></tr>";
echo "</table>";
echo "</div>";
}ShowCalendar(date("m"),date("Y"));
?>