<?php
/**
* Displays the main calendar page (month view).
*
* @copyright 2002-2020 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id: calendar.php 14840 2020年01月07日 07:42:38Z pdontthink $
* @package plugins
* @subpackage calendar
*/
/** @ignore */
/* SquirrelMail required files. */
include_once(SM_PATH . 'include/validate.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 */
unset($month);
}
unset($year);
}
/* got 'em */
/**
* display upper part of month calendar view
* @return void
* @access private
*/
function startcalendar() {
global $year, $month, $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';
html_tag ( 'table', '', '', $color[0], 'width="100%" border="0" cellpadding="2" cellspacing="1"' ) .
"<a href=\"$self?year=".($year-1)."&month=$month\"><< ".($year-1)."</a>"
) . "\n".
"<a href=\"$self?year=$prev_year&month=$prev_month\">< " .
) . "\n".
"<a href=\"$self?year=$next_year&month=$next_month\">" .
date_intl ( 'M', $next_date) .
" ></a>"
) . "\n".
"<a href=\"$self?year=".($year+1)."&month=$month\">".($year+1)." >></a>"
)
) . "\n".
html_tag ( 'th', _ ("Sunday"), '', $color[5], 'width="14%"' ) .
"\n" .
html_tag ( 'th', _ ("Monday"), '', $color[5], 'width="14%"' ) .
"\n" .
html_tag ( 'th', _ ("Tuesday"), '', $color[5], 'width="14%"' ) .
"\n" .
html_tag ( 'th', _ ("Wednesday"), '', $color[5], 'width="14%"' ) .
"\n" .
html_tag ( 'th', _ ("Thursday"), '', $color[5], 'width="14%"' ) .
"\n" .
html_tag ( 'th', _ ("Friday"), '', $color[5], 'width="14%"' ) .
"\n" .
html_tag ( 'th', _ ("Saturday"), '', $color[5], 'width="14%"' ) .
"\n"
)
) ,
'', $color[0] ) ."\n";
}
/**
* main logic for month view of calendar
* @return void
* @access private
*/
function drawmonthview() {
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) {
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".
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
html_tag ( 'td', '', 'left', $color[0]) .
"\n".
" ";
}
if (isset($calendardata[$cdate])){
$i=0;
while ($calfoo =
each ($calendardata[$cdate])) {
$calbar = $calendardata[$cdate][$calfoo['key']];
// FIXME: how to display multiline task
$title = '['. $calfoo['key']. '] ' .
// FIXME: link to nowhere
echo "<a href=\"#\" style=\"text-decoration:none; color: "
.($calbar['priority']==1 ? $color[1] : $color[6])
$i=$i+1;
if($i==2){
break;
}
}
}
echo "\n</td>\n";
$aday++;
}
echo '</tr>';
}
}
/**
* end of monthly view and form to jump to any month and year
* @return void
* @access private
*/
function endcalendar() {
global $year, $month, $day, $color;
html_tag ( 'td', '', 'left', '', 'colspan="7"' ) .
"\n" .
" <form name=\"caljump\" action=\"calendar.php\" method=\"post\">\n".
" <select name=\"year\">\n";
echo " </select>\n".
" <select name=\"month\">\n";
echo " </select>\n".
' <input type="submit" value="' .
_ ("Go") .
"\" />\n".
" </form>\n".
" </td></tr>\n".
"</table></td></tr></table>\n";
}
if( !isset( $month ) || $month <= 0){
}
if( !isset($year) || $year <= 0){
}
if( !isset($day) || $day <= 0){
}
$todayis =
date ( 'mdY' );
startcalendar();
drawmonthview();
endcalendar();
?>
</body></html>