*
* Displays the main calendar page (month view).
*
* $Id: calendar.php,v 1.13.2.6 2005/06/15 21:58:34 kink Exp $
*/
define('SM_PATH','../../');
/* Calender plugin required files. */
require_once(SM_PATH . 'plugins/calendar/calendar_data.php');
require_once(SM_PATH . 'plugins/calendar/functions.php');
/* SquirrelMail required files. */
require_once(SM_PATH . 'include/validate.php');
require_once(SM_PATH . 'functions/strings.php');
require_once(SM_PATH . 'functions/date.php');
require_once(SM_PATH . 'config/config.php');
require_once(SM_PATH . 'functions/page_header.php');
require_once(SM_PATH . 'include/load_prefs.php');
require_once(SM_PATH . 'functions/html.php');
/* get globals */
unset($month, $year);
if (isset($_GET['month']) && is_numeric($_GET['month'])) {
$month = $_GET['month'];
}
if (isset($_GET['year']) && is_numeric($_GET['year'])) {
$year = $_GET['year'];
}
if (isset($_POST['year']) && is_numeric($_POST['year'])) {
$year = $_POST['year'];
}
if (isset($_POST['month']) && is_numeric($_POST['month'])) {
$month = $_POST['month'];
}
/* got 'em */
//display upper part of month calendar view
function startcalendar() {
global $year, $month, $day, $color;
$prev_date = mktime(0, 0, 0, $month - 1, 1, $year);
$act_date = mktime(0, 0, 0, $month, 1, $year);
$next_date = mktime(0, 0, 0, $month + 1, 1, $year);
$prev_month = date( 'm', $prev_date );
$next_month = date( 'm', $next_date);
$prev_year = date( 'Y', $prev_date);
$next_year = date( 'Y', $next_date );
$self = 'calendar.php';
echo html_tag( 'tr', "\n".
html_tag( 'td', "\n".
html_tag( 'table', '', '', $color[0], 'width="100%" border="0" cellpadding="2" cellspacing="1"' ) .
html_tag( 'tr', "\n".
html_tag( 'th',
"<< ".($year-1).""
) . "\n".
html_tag( 'th',
"< " .
date_intl( 'M', $prev_date). ""
) . "\n".
html_tag( 'th', date_intl( 'F Y', $act_date ), '', $color[0], 'colspan="3"') .
html_tag( 'th',
"" .
date_intl( 'M', $next_date) . " >"
) . "\n".
html_tag( 'th',
"".($year+1)." >>"
)
) . "\n".
html_tag( 'tr',
html_tag( 'th', _("Sunday"), '', $color[5], 'width="14%" width="90"' ) ."\n" .
html_tag( 'th', _("Monday"), '', $color[5], 'width="14%" width="90"' ) ."\n" .
html_tag( 'th', _("Tuesday"), '', $color[5], 'width="14%" width="90"' ) ."\n" .
html_tag( 'th', _("Wednesday"), '', $color[5], 'width="14%" width="90"' ) ."\n" .
html_tag( 'th', _("Thursday"), '', $color[5], 'width="14%" width="90"' ) ."\n" .
html_tag( 'th', _("Friday"), '', $color[5], 'width="14%" width="90"' ) ."\n" .
html_tag( 'th', _("Saturday"), '', $color[5], 'width="14%" width="90"' ) ."\n"
)
) ,
'', $color[0] ) ."\n";
}
//main logic for month view of calendar
function drawmonthview() {
global $year, $month, $day, $color, $calendardata, $todayis;
$aday = 1 - date('w', mktime(0, 0, 0, $month, 1, $year));
$days_in_month = date('t', mktime(0, 0, 0, $month, 1, $year));
while ($aday <= $days_in_month) {
echo html_tag( 'tr' );
for ($j=1; $j<=7; $j++) {
$cdate="$month";
($aday<10)?$cdate=$cdate."0$aday":$cdate=$cdate."$aday";
$cdate=$cdate."$year";
if ( $aday <= $days_in_month && $aday > 0){
echo html_tag( 'td', '', 'left', $color[4], 'height="50" valign="top"' ) ."\n".
html_tag( 'div', '', 'right' );
echo(($cdate==$todayis) ? "[ " . _("TODAY") . " ] " : "");
echo "$aday";
} else {
echo html_tag( 'td', '', 'left', $color[0]) ."\n".
" ";
}
if (isset($calendardata[$cdate])){
$i=0;
while ($calfoo = each($calendardata[$cdate])) {
$calbar = $calendardata[$cdate][$calfoo['key']];
$title = '['. $calfoo['key']. '] ' .$calbar['message'];
echo ($calbar['priority']==1) ? "$calbar[title]
\n" : "$calbar[title]
\n";
$i=$i+1;
if($i==2){
break;
}
}
}
echo "\n\n";
$aday++;
}
echo '';
}
}
//end of monthly view and form to jump to any month and year
function endcalendar() {
global $year, $month, $day, $color;
echo html_tag( 'tr' ) ."\n" .
html_tag( 'td', '', 'left', '', 'colspan="7"' ) ."\n" .
" \n".
" \n".
"\n";
}
if( !isset( $month ) || $month <= 0){
$month = date( 'm' );
}
if( !isset($year) || $year <= 0){
$year = date( 'Y' );
}
if( !isset($day) || $day <= 0){
$day = date( 'd' );
}
$todayis = date( 'mdY' );
$calself=basename($PHP_SELF);
displayPageHeader($color, 'None');
calendar_header();
readcalendardata();
startcalendar();
drawmonthview();
endcalendar();
?>