Codice PHP:
require "layout.inc.php";
require ".dbaccess.inc";
if (!isset($month) || $month == "" || $month > 12 || $month < 1)
{
$month = date("m");
}
if (!isset($year) || $year == "" || $year < 1972 || $year > 2036)
{
$year = date("Y");
}
$timestamp = mktime(0, 0, 0, $month, 1, $year);
$current = date("F Y", $timestamp);
if ($month < 2)
{
$prevmonth = 12;
$prevyear = $year - 1;
}
else
{
$prevmonth = $month - 1;
$prevyear = $year;
}
if ($month > 11)
{
$nextmonth = 1;
$nextyear = $year + 1;
}
else
{
$nextmonth = $month + 1;
$nextyear = $year;
}
$backward = date("F Y", mktime(0, 0, 0, $prevmonth, 1, $prevyear));
$forward = date("F Y", mktime(0, 0, 0, $nextmonth, 1, $nextyear));
$first = date("w", mktime(0, 0, 0, $month, 1, $year));
$lastday = 28;
for ($i=$lastday;$i<32;$i++)
{
if (checkdate($month, $i, $year))
{
$lastday = $i;
}
}
function AddDay($fday, $fmonth, $fyear, $fvar)
{
if (!isset($fday) || $fday == "")
{
echo ' <TD class="calendar" align="left" valign="top" width=90 height=70>
';
}
else
{
$schurl = 'schedule.php?day='.$fday.'&month='.$fmonth.'&year='.$fyear;
if (date("m") == $fmonth && date("Y") == $fyear && date("j") == $fday)
{
echo ' <TD ID="day'.$fday.'" class="curday" style="cursor: hand" align="left" valign="top" width=90 height=70
onMouseOver="tdmouseover(\'day'.$fday.'\')"; onMouseOut="tdcurmouseout(\'day'.$fday.'\')";
onClick="window.open(\''.$schurl.'\', \'schedule\', \'width=534,height=400,scrollbars=yes,resizable=yes\')">
';
}
else
{
echo ' <TD ID="day'.$fday.'" class="calendar" style="cursor: hand" align="left" valign="top" width=90 height=70
onMouseOver="tdmouseover(\'day'.$fday.'\')"; onMouseOut="tdmouseout(\'day'.$fday.'\')";
onClick="window.open(\''.$schurl.'\', \'schedule\', \'width=534,height=400,scrollbars=yes,resizable=yes\')">
';
}
echo ' [b]'.$fday.'[/b]
';
if (isset($fvar) && $fvar != "")
{
echo ' <A class=\'calendar\' style="cursor: hand" onClick="javascript:window.open(\''.$schurl.'\',
\'schedule\', \'width=534,height=400,scrollbars=yes,resizable=yes\')">
';
echo ' '.$fvar.'
</A>';
}
}
echo ' </TD>
';
}
function FillDay($caldb, $dayofweek, $dayofmonth, $thismonth, $thisyear)
{
$textbody = '';
$nr = $caldb->GetByDate($thismonth, $dayofmonth, $thisyear);
for ($k=0;$k<$nr;$k++)
{
$caldb->next_record();
$textbody.= $caldb->f('shortevent').'
';
}
$nr = $caldb->GetYearly($thismonth, $dayofmonth);
for ($k=0;$k<$nr;$k++)
{
$caldb->next_record();
$textbody.= $caldb->f('shortevent').'
';
}
$nr = $caldb->GetYearlyRecurring($thismonth, $dayofweek);
for ($k=0;$k<$nr;$k++)
{
$caldb->next_record();
$test = $dayofmonth / 7;
$periodlow = $caldb->f('period') - 1;
if ($test <= $caldb->f('period') && $test > $periodlow)
{
$textbody.= $caldb->f('shortevent').'
';
}
}
$nr = $caldb->GetMonthly($dayofmonth);
for ($k=0;$k<$nr;$k++)
{
$caldb->next_record();
$textbody.= $caldb->f('shortevent').'
';
}
$nr = $caldb->GetMonthlyRecurring($dayofweek);
for ($k=0;$k<$nr;$k++)
{
$caldb->next_record();
$test = $dayofmonth / 7;
$periodlow = $caldb->f('period') - 1;
if ($test <= $caldb->f('period') && $test > $periodlow)
{
$textbody.= $caldb->f('shortevent').'
';
}
}
$nr = $caldb->GetWeekly($dayofweek);
for ($k=0;$k<$nr;$k++)
{
$caldb->next_record();
$textbody.= $caldb->f('shortevent').'
';
}
return $textbody;
}
echo '<HTML>
<HEAD>
<TITLE>'.$calender_title.'</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">';
echo '<STYLE TYPE="text/css">
<!--
BODY {background-color: #'.$background_color.'; border-style: none; border-width: 0px; color: #'.$plain_text_color.';
font-family: Arial; font-size: 12px; font-style: normal; margin: 0px; padding: 4px;
text-align: left; text-decoration: none; text-indent: 0px}
A {border-style: none; border-width: 0px; color: #'.$link_color.'; font-family: Arial; font-size: 12px;
font-style: normal; margin: 0px; padding: 0px; text-align: left; text-decoration: none;
text-indent: 0px}
A.normal {font-size: 12px; text-decoration: underline}
A.calendar {color: #'.$calendar_link_color.'; font-size:10px}
A.bottom {color: #'.$link_color.'; font-size:10px}
P {font-size: 10px; text-align:center; color: #'.$link_color,'}
IMG {border-style: none; border-width: 0px; margin: 0px; padding: 0px}
TABLE {border-style: none; margin: 0px; padding: 0px; border-width: none; font-size: 12px; text-indent: 0px;
font-weight: normal; width: 630px; background-color: #'.$calendar_bg_color.'; color: #'.$plain_text_color.'}
TABLE.top {width: 100%; height: 60px}
TABLE.form {width: 100%; height: 60px; text-align: center; border-style:none; border-width: 0px;
background-color: #'.$background_color.'; color: #'.$plain_text_color.'}
TR {border-style: none; border-width: 0px; margin: 0px; padding: 0px}
TD {border-style: solid; border-width: thin; margin: 0px; padding: 0px; border-color: #'.$calendar_border_color.';
font-weight: normal; background-color: #'.$calendar_bg_color.'}
TD.top {padding: 4px; font-size: 16px; height: 60px; text-align:center; font-weight: bold;
border-style: none; border-width: 0px}
TD.ends {padding: 4px; font-size: 12px; height: 60px; text-align: center; border-style: none;
border-width: 0px; font-weight: bold}
TD.form {padding: 0px; font-size: 12px; border-style: none; border-width: 0px;
background-color: #'.$background_color.'; color: #'.$plain_text_color.'}
TD.days {padding: 2px; font-size: 12px; width: 90px; height: 40px; text-align:center; font-weight: bold}
TD.curday {width: 90px; text-align: left; font-size: 10px; height: 70px; background-color: #'.$current_day_color.'}
TD.calendar {width: 90px; text-align: left; font-size: 10px; height: 70px}
-->
</STYLE>
';
echo '
<SCRIPT LANGUAGE="JavaScript">
<!--
var isIE;
isIE = (document.all) ? true : false;
function tdmouseover(itemID)
{
if(isIE)
{
var theObj = eval("document.all." + itemID);
theObj.style.backgroundColor = \'#'.$mouse_over_color.'\';
}
}
function tdmouseout(itemID)
{
if(isIE)
{
var theObj = eval("document.all." + itemID);
theObj.style.backgroundColor = \'#'.$calendar_bg_color.'\';
}
}
function tdcurmouseout(itemID)
{
if(isIE)
{
var theObj = eval("document.all." + itemID);
theObj.style.backgroundColor = \'#'.$current_day_color.'\';
}
}
//-->
</SCRIPT>
</HEAD>
';
echo '<BODY TOPMARGIN=0 LEFTMARGIN=0 MARGINHEIGHT=0 MARGINWIDTH=0>
<CENTER>
<TABLE cellspacing=0 cellpadding=0 width=560 border=0>
<TR>
<TD class="form" align="center" valign="bottom" width="100%" COLSPAN=7>
<FORM METHOD="post" ACTION="calendar.php">
<TABLE class="form" cellspacing=0 cellpadding=0 width="100%" border=0>
<TR>
<TD class="form" align="left" valign="bottom">
[b]Oggi è:[/b] '.date("j F, Y").'
</TD>
<TD class="form" align="left" valign="bottom">
[b]Mese:[/b] <select name="month">
';
for ($j=1;$j<=12;$j++)
{
echo'<option value='.$j;
if ($month == $j)
{
echo ' selected';
}
echo '>'.date("F", mktime(0, 0, 0, $j, 1, 0)).'
';
}
echo ' </select>
[b]Anno:[/b] <select name="year">
';
for ($j=1972;$j<=2036;$j++)
{
echo'<option value='.$j;
if ($year == $j)
{
echo ' selected';
}
echo '>'.$j.'
';
}
echo ' </select>
<input type="submit" value="Invia">
</TD>
</TR>
<TR>
<TD class="form" align="right" valign="bottom" colspan=2>
<A style="cursor: hand" onClick="javascript:window.open(\'caladmin.php\', \'caladmin\',
\'width=414,height=422,scrollbars=yes,resizable=yes\')"
onMouseOver="window.status=\'\'"></A>
</TD>
</TR>
</TABLE>
</FORM>
</TD>
</TR>
<TR>
<TD align="center" valign="middle" height=60 COLSPAN=7>
<TABLE class="top" cellspacing=0 cellpadding=0 width=560 border=0>
<TR>
<TD class="ends" nowrap align="center" valign="bottom">
[url="calendar.php?month='.$prevmonth.'&year='.$prevyear.'"]<< '.$backward.'[/url]
</TD>
<TD class="top" nowrap align="center" valign="middle" width=350>
';
if (isset($calender_title_image) && $calender_title_image != '')
{
echo ' [img]'.$calender_title_image.'[/img]';
}
else
{
echo ' '.$calender_title;
}
echo '
'.$current.'
</TD>
<TD class="ends" nowrap align="center" valign="bottom">
[url="calendar.php?month='.$nextmonth.'&year='.$nextyear.'"]'.$forward.' >>[/url]
</TD>
</TR>
</TABLE>
</TD>
</TR>
<TR>';
if (isset($start_day) && $start_day <= 6 && $start_day >= 0)
{
$n = $start_day;
}
else
{
$n = 0;
}
for ($i=0;$i<7;$i++)
{
if ($n > 6)
{
$n = 0;
}
if ($n == 0)
{
echo ' <TD class="days" nowrap align="center" valign="middle" width=90 height=40>
Domenica
</TD>';
}
if ($n == 1)
{
echo ' <TD class="days" nowrap align="center" valign="middle" width=90 height=40>
Lunedi
</TD>';
}
if ($n == 2)
{
echo ' <TD class="days" nowrap align="center" valign="middle" width=90 height=40>
Martedi
</TD>';
}
if ($n == 3)
{
echo ' <TD class="days" nowrap align="center" valign="middle" width=90 height=40>
Mercoledi
</TD>';
}
if ($n == 4)
{
echo ' <TD class="days" nowrap align="center" valign="middle" width=90 height=40>
Giovedi
</TD>';
}
if ($n == 5)
{
echo ' <TD class="days" nowrap align="center" valign="middle" width=90 height=40>
Venerdi
</TD>';
}
if ($n == 6)
{
echo ' <TD class="days" nowrap align="center" valign="middle" width=90 height=40>
Sabato
</TD>';
}
$n++;
}
echo' </TR>
';
$calday = 1;
while ($calday <= $lastday)
{
/* Alternate beginning day of the week for calendar view was created by Marion Heider of clixworx.net. */
echo '<TR>';
for ($j=0;$j<7;$j++)
{
if ($j == 0)
{
$n = $start_day;
}
else
{
if ($n < 6)
{
$n = $n + 1;
}
else
{
$n = 0;
}
}
if ($calday == 1)
{
if ($first == $n)
{
$info = FillDay($db, $n, $calday, $month, $year);
AddDay($calday, $month, $year, $info);
$calday++;
}
else
{
AddDay('', '', '', '');
}
}
else
{
if ($calday > $lastday)
{
AddDay('', '', '', '');
}
else
{
$info = FillDay($db, $n, $calday, $month, $year);
AddDay($calday, $month, $year, $info);
$calday++;
}
}
}
echo '</TR>';
}
echo ' </TABLE>
</CENTER>
</P>
</BODY>
</HTML>';