180 lines
5.9 KiB
PHP
180 lines
5.9 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Displays the day page (day view).
|
|
*
|
|
* @copyright 2002-2025 The SquirrelMail Project Team
|
|
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
|
* @version $Id$
|
|
* @package plugins
|
|
* @subpackage calendar
|
|
*/
|
|
|
|
/**
|
|
* Include the SquirrelMail initialization file.
|
|
*/
|
|
require('../../include/init.php');
|
|
|
|
/* 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('year',$year,SQ_FORM) || ! is_numeric($year)) {
|
|
unset($year);
|
|
}
|
|
if (! sqGetGlobalVar('month',$month,SQ_FORM) || ! is_numeric($month)) {
|
|
unset($month);
|
|
}
|
|
if (! sqGetGlobalVar('day',$day,SQ_FORM) || ! is_numeric($day)) {
|
|
unset($day);
|
|
}
|
|
/* got 'em */
|
|
|
|
/**
|
|
* displays head of day calendar view
|
|
* @return void
|
|
* @access private
|
|
*/
|
|
function day_header() {
|
|
global $color, $month, $day, $year, $prev_year, $prev_month, $prev_day,
|
|
$prev_date, $next_month, $next_day, $next_year, $next_date;
|
|
|
|
echo html_tag( 'tr', '', '', $color[0] ) . "\n".
|
|
html_tag( 'td', '', 'left' ) .
|
|
html_tag( 'table', '', '', $color[0], 'width="100%" border="0" cellpadding="2" cellspacing="1"' ) ."\n" .
|
|
html_tag( 'tr',
|
|
html_tag( 'th',
|
|
"<a href=\"day.php?year=$prev_year&month=$prev_month&day=$prev_day\">< ".
|
|
date_intl('D',$prev_date)."</a>",
|
|
'left' ) .
|
|
html_tag( 'th', date_intl( _("l, F j Y"), mktime(0, 0, 0, $month, $day, $year)) ,
|
|
'', '', 'width="75%"' ) .
|
|
html_tag( 'th',
|
|
"<a href=\"day.php?year=$next_year&month=$next_month&day=$next_day\">".
|
|
date_intl('D',$next_date)." ></a>" ,
|
|
'right' )
|
|
);
|
|
}
|
|
|
|
/**
|
|
* events for specific day are inserted into "daily" array
|
|
* @return void
|
|
* @access private
|
|
*/
|
|
function initialize_events() {
|
|
global $daily_events, $calendardata, $month, $day, $year;
|
|
|
|
for ($i=7;$i<23;$i++){
|
|
if ($i<10){
|
|
$evntime = '0' . $i . '00';
|
|
} else {
|
|
$evntime = $i . '00';
|
|
}
|
|
$daily_events[$evntime] = 'empty';
|
|
}
|
|
|
|
$cdate = $month . $day . $year;
|
|
|
|
if (isset($calendardata[$cdate])){
|
|
foreach ($calendardata[$cdate] as $key => $value){
|
|
$daily_events[$key] = $calendardata[$cdate][$key];
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* main loop for displaying daily events
|
|
* @return void
|
|
* @access private
|
|
*/
|
|
function display_events() {
|
|
global $daily_events, $month, $day, $year, $color;
|
|
|
|
ksort($daily_events,SORT_STRING);
|
|
$eo=0;
|
|
foreach ($daily_events as $key => $value) {
|
|
if ($eo==0){
|
|
$eo=4;
|
|
} else {
|
|
$eo=0;
|
|
}
|
|
|
|
$ehour = substr($key,0,2);
|
|
$eminute = substr($key,2,2);
|
|
if (!is_array($value)){
|
|
echo html_tag( 'tr',
|
|
html_tag( 'td', $ehour . ':' . $eminute, 'left' ) .
|
|
html_tag( 'td', ' ', 'left' ) .
|
|
html_tag( 'td',
|
|
"<font size=\"-1\"><a href=\"event_create.php?year=$year&month=$month&day=$day&hour="
|
|
.substr($key,0,2)."\">".
|
|
_("ADD") . "</a></font>" ,
|
|
'center' ) ,
|
|
'', $color[$eo]);
|
|
|
|
} else {
|
|
$calbar=$value;
|
|
if ($calbar['length']!=0){
|
|
$elength = '-'.date_intl(_("H:i"),mktime($ehour,$eminute+$calbar['length'],0,1,1,0));
|
|
} else {
|
|
$elength='';
|
|
}
|
|
echo html_tag( 'tr', '', '', $color[$eo] ) .
|
|
html_tag( 'td', date_intl(_("H:i"),mktime($ehour,$eminute,0,1,1,0)) . $elength, 'left' ) .
|
|
html_tag( 'td', '', 'left' ) . '[';
|
|
echo ($calbar['priority']==1) ?
|
|
"<font color=\"$color[1]\">".sm_encode_html_special_chars($calbar['title']).'</font>' :
|
|
sm_encode_html_special_chars($calbar['title']);
|
|
echo'] <div style="margin-left:10px">'.nl2br(sm_encode_html_special_chars($calbar['message'])).'</div>' .
|
|
html_tag( 'td',
|
|
"<font size=\"-1\"><nobr>\n" .
|
|
"<a href=\"event_edit.php?year=$year&month=$month&day=$day&hour=".
|
|
substr($key,0,2)."&minute=".substr($key,2,2)."\">".
|
|
_("EDIT") . "</a> | \n" .
|
|
"<a href=\"event_delete.php?dyear=$year&dmonth=$month&dday=$day&dhour=".
|
|
substr($key,0,2)."&dminute=".substr($key,2,2).
|
|
"&year=$year&month=$month&day=$day\">" .
|
|
_("DEL") . '</a>' .
|
|
"</nobr></font>\n" ,
|
|
'center' );
|
|
}
|
|
}
|
|
}
|
|
/* end of day functions */
|
|
|
|
if ($month <= 0){
|
|
$month = date( 'm');
|
|
}
|
|
if ($year <= 0){
|
|
$year = date( 'Y');
|
|
}
|
|
if ($day <= 0){
|
|
$day = date( 'd');
|
|
}
|
|
|
|
$prev_date = mktime(0, 0, 0, $month , $day - 1, $year);
|
|
$next_date = mktime(0, 0, 0, $month , $day + 1, $year);
|
|
$prev_day = date ('d',$prev_date);
|
|
$prev_month = date ('m',$prev_date);
|
|
$prev_year = date ('Y',$prev_date);
|
|
$next_day = date ('d',$next_date);
|
|
$next_month = date ('m',$next_date);
|
|
$next_year = date ('Y',$next_date);
|
|
|
|
$calself=basename($PHP_SELF);
|
|
|
|
$daily_events = array();
|
|
|
|
displayPageHeader($color);
|
|
calendar_header();
|
|
readcalendardata();
|
|
day_header();
|
|
initialize_events();
|
|
display_events();
|
|
?>
|
|
</table></td></tr></table>
|
|
</body></html>
|