<?php
-/*
- *
- * calendar.php
- *
- * Copyright (c) 2001 Michal Szczotka <michal@tuxy.org>
- * Licensed under the GNU GPL. For full terms see the file COPYING.
- *
- * Displays the main calendar page (month view).
+
+/**
+ * Displays the main calendar page (month view).
*
- * 18 Jan 2002 Adapted to official SM rules philippe@squirrelmail.org.
+ * @copyright © 2002-2006 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * @version $Id$
+ * @package plugins
+ * @subpackage calendar
*/
-require_once('calendar_data.php');
-require_once('functions.php');
-chdir('..');
-require_once('../src/validate.php');
-require_once('../functions/strings.php');
-require_once('../functions/date.php');
-require_once('../config/config.php');
-require_once('../functions/page_header.php');
-require_once('../src/load_prefs.php');
-
-//display upper part of month calendar view
+/**
+ * Include the SquirrelMail initialization file.
+ */
+require('../../include/init.php');
+
+/* load date_intl() */
+include_once(SM_PATH . 'functions/date.php');
+
+/* Calendar plugin required files. */
+include_once(SM_PATH . 'plugins/calendar/calendar_data.php');
+include_once(SM_PATH . 'plugins/calendar/functions.php');
+
+/* get globals */
+if (! sqgetGlobalVar('month',$month,SQ_FORM) || ! is_numeric($month)) {
+ unset($month);
+}
+if (! sqgetGlobalVar('year',$year,SQ_FORM) || ! is_numeric($year)) {
+ unset($year);
+}
+/* got 'em */
+
+/**
+ * display upper part of month calendar view
+ * @return void
+ * @access private
+ */
function startcalendar() {
- global $year, $month, $day, $color;
+ global $year, $month, $color;
$prev_date = mktime(0, 0, 0, $month - 1, 1, $year);
$act_date = mktime(0, 0, 0, $month, 1, $year);
$next_month = date( 'm', $next_date);
$prev_year = date( 'Y', $prev_date);
$next_year = date( 'Y', $next_date );
+ $self = 'calendar.php';
- echo "<TR BGCOLOR=\"$color[0]\"><TD>" .
- "<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=1 BGCOLOR=\"$color[0]\">" .
- '<tr>'.
- "<th><a href=\"$self?year=".($year-1)."&month=$month\"><< ".($year-1)."</a></th>\n".
- "<th><a href=\"$self?year=$prev_year&month=$prev_month\">< " .
- date_intl( 'M', $prev_date). "</a></th>\n".
- "<th bgcolor=$color[0] colspan=3>" .
- date_intl( 'F Y', $act_date ) . "</th>\n" .
- "<th><a href=\"$self?year=$next_year&month=$next_month\">" .
- date_intl( 'M', $next_date) . " ></a></th>".
- "<th><a href=\"$self?year=".($year+1)."&month=$month\">".($year+1)." >></a></th>".
- '</tr><tr>'.
- "<th WIDTH=\"14%\" bgcolor=$color[5] width=90>" . _("Sunday") . '</th>'.
- "<th WIDTH=\"14%\" bgcolor=$color[5] width=90>" . _("Monday") . '</th>'.
- "<th WIDTH=\"14%\" bgcolor=$color[5] width=90>" . _("Tuesday") . '</th>'.
- "<th WIDTH=\"14%\" bgcolor=$color[5] width=90>" . _("Wednesday") . '</th>'.
- "<th WIDTH=\"14%\" bgcolor=$color[5] width=90>" . _("Thursday") . '</th>'.
- "<th WIDTH=\"14%\" bgcolor=$color[5] width=90>" . _("Friday") . '</th>'.
- "<th WIDTH=\"14%\" bgcolor=$color[5] width=90>" . _("Saturday") . '</th>'.
- '</tr>';
-
+ 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',
+ "<a href=\"$self?year=".($year-1)."&month=$month\"><< ".($year-1)."</a>"
+ ) . "\n".
+ html_tag( 'th',
+ "<a href=\"$self?year=$prev_year&month=$prev_month\">< " .
+ date_intl( 'M', $prev_date). "</a>"
+ ) . "\n".
+ html_tag( 'th', date_intl( 'F Y', $act_date ), '', $color[0], 'colspan="3"') .
+ html_tag( 'th',
+ "<a href=\"$self?year=$next_year&month=$next_month\">" .
+ date_intl( 'M', $next_date) . " ></a>"
+ ) . "\n".
+ html_tag( 'th',
+ "<a href=\"$self?year=".($year+1)."&month=$month\">".($year+1)." >></a>"
+ )
+ ) . "\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
+/**
+ * main logic for month view of calendar
+ * @return void
+ * @access private
+ */
function drawmonthview() {
- global $year, $month, $day, $color, $calendardata, $todayis;
+ global $year, $month, $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 '<tr>';
+ 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 "<TD BGCOLOR=\"$color[4]\" height=50 valign=top>\n" .
- "<div align=right>";
- echo(($cdate==$todayis) ? "<font size=-1 color=$color[1]>[ " . _("TODAY") . " ] " : "<font size=-1>");
- echo "<a href=day.php?year=$year&month=$month&day=";
+ echo html_tag( 'td', '', 'left', $color[4], 'height="50" valign="top"' ) ."\n".
+ html_tag( 'div', '', 'right' );
+ echo(($cdate==$todayis) ? '<font size="-1" color="'.$color[1].'">[ ' . _("TODAY") . " ] " : '<font size="-1">');
+ echo "<a href=day.php?year=$year&month=$month&day=";
echo(($aday<10) ? "0" : "");
echo "$aday>$aday</a></font></div>";
} else {
- echo "<TD BGCOLOR=\"$color[0]\">\n".
+ echo html_tag( 'td', '', 'left', $color[0]) ."\n".
" ";
}
if (isset($calendardata[$cdate])){
$i=0;
while ($calfoo = each($calendardata[$cdate])) {
- $calbar = $calendardata[$cdate][$calfoo[key]];
- echo ($calbar[priority]==1) ? "<FONT COLOR=\"$color[1]\">$calbar[title]</FONT><br>\n" : "$calbar[title]<br>\n";
+ $calbar = $calendardata[$cdate][$calfoo['key']];
+ // FIXME: how to display multiline task
+ $title = '['. $calfoo['key']. '] ' .
+ str_replace(array("\r","\n"),array(' ',' '),htmlspecialchars($calbar['message']));
+ // FIXME: link to nowhere
+ echo "<a href=\"#\" style=\"text-decoration:none; color: "
+ .($calbar['priority']==1 ? $color[1] : $color[6])
+ ."\" title=\"$title\">".htmlspecialchars($calbar['title'])."</a><br />\n";
$i=$i+1;
if($i==2){
break;
}
}
}
- echo "\n</TD>\n";
+ echo "\n</td>\n";
$aday++;
}
echo '</tr>';
}
}
-//end of monthly view and form to jump to any month and year
+/**
+ * end of monthly view and form to jump to any month and year
+ * @return void
+ * @access private
+ */
function endcalendar() {
global $year, $month, $day, $color;
- echo " <TR><TD COLSPAN=7>\n".
- " <FORM NAME=caljump ACTION=\"calendar.php\" METHOD=POST>\n".
- " <SELECT NAME=\"year\">\n";
+ echo html_tag( 'tr' ) ."\n" .
+ html_tag( 'td', '', 'left', '', 'colspan="7"' ) ."\n" .
+ " <form name=\"caljump\" action=\"calendar.php\" method=\"post\">\n".
+ " <select name=\"year\">\n";
select_option_year($year);
- echo " </SELECT>\n".
- " <SELECT NAME=\"month\">\n";
+ echo " </select>\n".
+ " <select name=\"month\">\n";
select_option_month($month);
- echo " </SELECT>\n".
- ' <INPUT TYPE=SUBMIT VALUE="' . _("Go") . "\">\n".
- " </FORM>\n".
- " </TD></TR>\n".
- "</TABLE></TD></TR></TABLE>\n";
+ echo " </select>\n".
+ ' <input type="submit" value="' . _("Go") . "\" />\n".
+ " </form>\n".
+ " </td></tr>\n".
+ "</table></td></tr></table>\n";
}
-if($month <= 0){
+if( !isset( $month ) || $month <= 0){
$month = date( 'm' );
}
-if($year <= 0){
+if( !isset($year) || $year <= 0){
$year = date( 'Y' );
}
-if($day <= 0){
+if( !isset($day) || $day <= 0){
$day = date( 'd' );
}