本文整理汇总了PHP中read_repeated_events函数的典型用法代码示例。如果您正苦于以下问题:PHP read_repeated_events函数的具体用法?PHP read_repeated_events怎么用?PHP read_repeated_events使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了read_repeated_events函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: read_repeated_events
include "includes/js.php";
if ($auto_refresh == "Y" && !empty($auto_refresh_time)) {
$refresh = $auto_refresh_time * 60;
// convert to seconds
echo "<META HTTP-EQUIV=\"refresh\" content=\"{$refresh}; URL=week.php?{$u_url}" . "date={$startdate}{$caturl}\" TARGET=\"_self\">\n";
}
?>
</HEAD>
<BODY BGCOLOR=<?php
echo "\"{$BGCOLOR}\"";
?>
CLASS="defaulttext">
<?php
/* Pre-Load the repeated events for quckier access */
$repeated_events = read_repeated_events(strlen($user) ? $user : $login, $cat_id);
/* Pre-load the non-repeating events for quicker access */
$events = read_events(strlen($user) ? $user : $login, $startdate, $enddate, $cat_id);
for ($i = 0; $i < 7; $i++) {
$days[$i] = $wkstart + 24 * 3600 * $i;
$weekdays[$i] = weekday_short_name(($i + $WEEK_START) % 7);
$header[$i] = $weekdays[$i] . "<BR>" . date_to_str(date("Ymd", $days[$i]), $DATE_FORMAT_MD, false);
}
?>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<?php
if (empty($friendly) || !$friendly) {
?>
<TD ALIGN="left"><A HREF="week.php?<?php
示例2: date
$start_date = date("Ymd", $start);
$end_date = date("Ymd", $end);
} else {
// Programmer's bug (no translation needed)
echo "Invalid cal_time_range setting for report id {$report_id}";
exit;
}
}
}
}
}
}
}
if (empty($error) && empty($list)) {
$cat_id = empty($report_cat_id) ? "" : $report_cat_id;
$repeated_events = read_repeated_events($report_user, $cat_id, $start_date);
$events = read_events($report_user, $start_date, $end_date, $cat_id);
$get_unapproved = $DISPLAY_UNAPPROVED == 'Y';
if ($report_user == "__public__") {
$get_unapproved = false;
}
//echo "User: $report_user <br />\n";
//echo "Date Range: $start_date - $end_date <br /><br />\n";
$start_year = substr($start_date, 0, 4);
$start_month = substr($start_date, 4, 2);
$start_day = substr($start_date, 6, 2);
$start_time = mktime(3, 0, 0, $start_month, $start_day, $start_year);
$end_year = substr($end_date, 0, 4);
$end_month = substr($end_date, 4, 2);
$end_day = substr($end_date, 6, 2);
$end_time = mktime(3, 0, 0, $end_month, $end_day, $end_year);
示例3: mktime
}
}
$next = mktime(3, 0, 0, $thismonth, $thisday + 7, $thisyear);
$prev = mktime(3, 0, 0, $thismonth, $thisday - 7, $thisyear);
// We add 2 hours on to the time so that the switch to DST doesn't
// throw us off. So, all our dates are 2AM for that day.
if ($WEEK_START == 1) {
$wkstart = get_monday_before($thisyear, $thismonth, $thisday);
} else {
$wkstart = get_sunday_before($thisyear, $thismonth, $thisday);
}
$wkend = $wkstart + 3600 * 24 * 6;
$startdate = date("Ymd", $wkstart);
$enddate = date("Ymd", $wkend);
/* Pre-Load the repeated events for quckier access */
$repeated_events = read_repeated_events($login, "", $startdate);
/* Pre-load the non-repeating events for quicker access */
$events = read_events($login, $startdate, $enddate);
for ($i = 0; $i < 7; $i++) {
$days[$i] = $wkstart + 24 * 3600 * $i;
$weekdays[$i] = weekday_short_name(($i + $WEEK_START) % 7);
$header[$i] = $weekdays[$i] . "<br />" . month_short_name(date("m", $days[$i]) - 1) . " " . date("d", $days[$i]);
}
?>
<table style="border-width:0px; width:100%;" cellspacing="0" cellpadding="0">
<tr><td style="background-color:<?php
echo $TABLEBG;
?>
;">
示例4: dbi_query
// Additionally, we only want to put at most 6 users in one table since
// any more than that doesn't really fit in the page.
// get users in this view
$res = dbi_query("SELECT cal_login FROM webcal_view_user WHERE cal_view_id = {$id}");
$viewusers = array();
if ($res) {
while ($row = dbi_fetch_row($res)) {
$viewusers[] = $row[0];
}
dbi_free_result($res);
}
$e_save = array();
$re_save = array();
for ($i = 0; $i < count($viewusers); $i++) {
/* Pre-Load the repeated events for quckier access */
$repeated_events = read_repeated_events($viewusers[$i]);
$re_save[$i] = $repeated_events;
/* Pre-load the non-repeating events for quicker access */
$events = read_events($viewusers[$i], $startdate, $enddate);
$e_save[$i] = $events;
}
for ($j = 0; $j < count($viewusers); $j += $USERS_PER_TABLE) {
// since print_date_entries is rather stupid, we can swap the event data
// around for users by changing what $events points to.
// Calculate width of columns in this table.
$num_left = count($viewusers) - $j;
if ($num_left > $USERS_PER_TABLE) {
$num_left = $USERS_PER_TABLE;
}
if ($num_left > 0) {
if ($num_left < $USERS_PER_TABLE) {
示例5: array
$end_ind = 6;
}
} else {
$start_ind = 0;
$end_ind = 7;
}
$HeadX = '';
if ($auto_refresh == "Y" && !empty($auto_refresh_time)) {
$refresh = $auto_refresh_time * 60;
// convert to seconds
$HeadX = "<meta http-equiv=\"refresh\" content=\"{$refresh}; url=week_details.php?{$u_url}" . "date={$startdate}{$caturl}\" />\n";
}
$INC = array('js/popups.php');
print_header($INC, $HeadX);
/* Pre-Load the repeated events for quckier access */
$repeated_events = read_repeated_events(strlen($user) ? $user : $login, $cat_id, $startdate);
/* Pre-load the non-repeating events for quicker access */
$events = read_events(strlen($user) ? $user : $login, $startdate, $enddate, $cat_id);
for ($i = 0; $i < 7; $i++) {
$days[$i] = $wkstart + 24 * 3600 * $i;
$weekdays[$i] = weekday_short_name(($i + $WEEK_START) % 7);
$header[$i] = $weekdays[$i] . " " . date_to_str(date("Ymd", $days[$i]), $DATE_FORMAT_MD, false);
}
?>
<div class="title">
<a title="Previous" class="prev" href="week_details.php?<?php
echo $u_url;
?>
date=<?php
echo date("Ymd", $prev) . $caturl;
示例6: view_get_user_list
// Get users in this view.
$viewusers = view_get_user_list($id);
$viewusercnt = count($viewusers);
if ($viewusercnt == 0) {
// This could happen if user_sees_only_his_groups = Y and
// this user is not a member of any group assigned to this view.
$error = translate('No users for this view');
}
if (!empty($error)) {
echo print_error($error) . print_trailer();
exit;
}
$e_save = $re_save = array();
for ($i = 0; $i < $viewusercnt; $i++) {
/* Pre-Load the repeated events for quicker access */
$re_save[$i] = read_repeated_events($viewusers[$i], $wkstart, $wkend, '');
/* Pre-load the non-repeating events for quicker access
subtracting ONE_WEEK to allow cross-dat events to display*/
$e_save[$i] = read_events($viewusers[$i], $wkstart - 604800, $wkend);
}
for ($j = 0; $j < 7; $j += $DAYS_PER_TABLE) {
// Since print_date_entries is rather stupid, we can swap the event data
// around for users by changing what $events points to.
// .
$tdw = 12;
// Column width percent.
echo '
<table class="main">
<tr>
<th class="empty"> </th>';
$body = $header = '';
示例7: TimeMatrix
function TimeMatrix($date, $participants)
{
global $CELLBG, $TODAYCELLBG, $THFG, $THBG, $TABLEBG;
global $user_fullname, $nowYmd, $repeated_events, $events;
global $thismonth, $thisday, $thisyear;
$increment = 15;
$interval = 4;
$cell_pix = 6;
$participant_pix = '170';
//$interval = (int)(60 / $increment);
$first_hour = $GLOBALS["WORK_DAY_START_HOUR"];
$last_hour = $GLOBALS["WORK_DAY_END_HOUR"];
$hours = $last_hour - $first_hour;
$cols = $hours * $interval + 1;
$total_pix = (int) ($cell_pix * $interval * $hours + $participant_pix);
?>
<br />
<table class="matrixd" style="width:<?php
echo $total_pix;
?>
px;" cellspacing="0" cellpadding="0">
<tr><td class="matrix" colspan="<?php
echo $cols;
?>
">
<img src="pix.gif" alt="spacer" />
</td></tr>
<tr><th style="width:<?php
echo $participant_pix;
?>
px;">
<?php
etranslate("Participants");
?>
</th>
<?php
$str = '';
$MouseOut = "onmouseout=\"window.status=''; this.style.backgroundColor='" . $CELLBG . "';\"";
$CC = 1;
for ($i = $first_hour; $i < $last_hour; $i++) {
for ($j = 0; $j < $interval; $j++) {
$str .= ' <td style="width:' . $cell_pix . 'px;" id="C' . $CC . '" class="dailymatrix" ';
switch ($j) {
case 0:
if ($interval == 4) {
$k = $i <= 9 ? '0' : substr($i, 0, 1);
}
$str .= 'onmousedown="schedule_event(' . $i . ',' . $increment * $j . ");\" onmouseover=\"window.status='Schedule a " . $i . ':' . ($increment * $j <= 9 ? '0' : '') . $increment * $j . " appointment.'; this.style.backgroundColor='#CCFFCC'; return true;\" " . $MouseOut . " title=\"Schedule an appointment for " . $i . ':' . ($increment * $j <= 9 ? '0' : '') . $increment * $j . ".\">";
$str .= $k . "</td>\n";
break;
case 1:
if ($interval == 4) {
$k = $i <= 9 ? substr($i, 0, 1) : substr($i, 1, 2);
}
$str .= 'onmousedown="schedule_event(' . $i . ',' . $increment * $j . ");\" onmouseover=\"window.status='Schedule a " . $i . ':' . $increment * $j . " appointment.'; this.style.backgroundColor='#CCFFCC'; return true;\" " . $MouseOut . " title=\"Schedule an appointment for " . $i . ':' . ($increment * $j <= 9 ? '0' : '') . $increment * $j . ".\">";
$str .= $k . "</td>\n";
break;
default:
$str .= 'onmousedown="schedule_event(' . $i . ',' . $increment * $j . ");\" onmouseover=\"window.status='Schedule a " . $i . ':' . $increment * $j . " appointment.'; this.style.backgroundColor='#CCFFCC'; return true;\" " . $MouseOut . " title=\"Schedule an appointment for " . $i . ':' . ($increment * $j <= 9 ? '0' : '') . $increment * $j . ".\">";
$str .= " </td>\n";
break;
}
$CC++;
}
}
echo $str . "</tr>\n<tr><td class=\"matrix\" colspan=\"{$cols}\">\n<img src=\"pix.gif\" alt=\"spacer\" />\n</td></tr>\n";
// Display each participant
for ($i = 0; $i < count($participants); $i++) {
user_load_variables($participants[$i], "user_");
/* Pre-Load the repeated events for quckier access */
$repeated_events = read_repeated_events($participants[$i], "", $nowYmd);
/* Pre-load the non-repeating events for quicker access */
$events = read_events($participants[$i], $nowYmd, $nowYmd);
// get all the repeating events for this date and store in array $rep
$rep = get_repeating_entries($participants[$i], $nowYmd);
// get all the non-repeating events for this date and store in $ev
$ev = get_entries($participants[$i], $nowYmd);
// combine into a single array for easy processing
$ALL = array_merge($rep, $ev);
$all_events = array();
// exchange space for to keep from breaking
$user_nospace = preg_replace('/\\s/', ' ', $user_fullname);
foreach ($ALL as $E) {
$E['cal_time'] = sprintf("%06d", $E['cal_time']);
$Tmp['START'] = mktime(substr($E['cal_time'], 0, 2), substr($E['cal_time'], 2, 2), 0, $thismonth, $thisday, $thisyear);
$Tmp['END'] = $Tmp['START'] + $E['cal_duration'] * 60;
$Tmp['ID'] = $E['cal_id'];
$all_events[] = $Tmp;
}
echo "<tr>\n<th class=\"row\" style=\"width:{$participant_pix}px;\">" . $user_nospace . "</th>\n";
$col = 1;
for ($j = $first_hour; $j < $last_hour; $j++) {
for ($k = 0; $k < $interval; $k++) {
$border = $k == '0' ? ' border-left: 1px solid #000000;' : "";
$RC = $CELLBG;
$TIME = mktime(sprintf("%02d", $j), $increment * $k, 0, $thismonth, $thisday, $thisyear);
$space = " ";
foreach ($all_events as $ET) {
if ($TIME >= $ET['START'] && $TIME < $ET['END']) {
//.........这里部分代码省略.........
示例8: substr
$thisyear = substr($date, 0, 4);
$thismonth = substr($date, 4, 2);
$thisday = substr($date, 6, 2);
} else {
$thisday = empty($day) || $day == 0 ? date('d', $today) : $day;
$thismonth = empty($month) || $month == 0 ? date('m', $today) : $month;
$thisyear = empty($year) || $year == 0 ? date('Y', $today) : $year;
}
$next = mktime(0, 0, 0, $thismonth, $thisday + 7, $thisyear);
$prev = mktime(0, 0, 0, $thismonth, $thisday - 7, $thisyear);
$wkstart = get_weekday_before($thisyear, $thismonth, $thisday + 1);
$wkend = $wkstart + 86400 * 6;
$startdate = date('Ymd', $wkstart);
$enddate = date('Ymd', $wkend);
/* Pre-Load the repeated events for quckier access */
$repeated_events = read_repeated_events($login, $startdate, $enddate, '');
/* Pre-load the non-repeating events for quicker access */
$events = read_events($login, $startdate, $enddate);
$first_hour = $WORK_DAY_START_HOUR;
$last_hour = $WORK_DAY_END_HOUR;
$untimed_found = false;
$tmpOut1 = $tmpOut2 = '';
for ($i = 0; $i < 7; $i++) {
$days[$i] = $wkstart + 86400 * $i;
$date = date('Ymd', $days[$i]);
$tmpOut1 .= '
<th style="width: 13%; background: ' . (date('Ymd', $days[$i]) == date('Ymd', $today) ? $TODAYCELLBG : $THBG) . ';">' . weekday_name(($i + $WEEK_START) % 7, $DISPLAY_LONG_DAYS) . '<br />' . month_name(date('m', $days[$i]) - 1, 'M') . ' ' . date('d', $days[$i]) . '</th>';
$tmpOut2 .= '
<td style="vertical-align: top; width: 75px; height: 75px; ' . 'background: ' . ($date == date('Ymd') ? $TODAYCELLBG : $CELLBG) . print_date_entries($date, $login, true, true) . ' </td>';
}
echo '
示例9: translate
}
// Make sure they specified a username.
$no_user = translate('No user specified.');
if (empty($user)) {
die_miserable_death($no_user);
}
$get_unapproved = false;
$datem = date('m');
$dateY = date('Y');
// Start date is beginning of this month.
$startdate = mktime(0, 0, 0, $datem, 0, $dateY);
// End date is one year from now.
// Seems kind of arbitrary, eh?
$enddate = mktime(0, 0, 0, $datem, 1, $dateY + 1);
/* Pre-Load the repeated events for quicker access. */
$repeated_events = read_repeated_events($user, $startdate, $enddate, '');
/* Pre-load the non-repeating events for quicker access. */
$events = read_events($user, $startdate, $enddate);
// Loop from start date until we reach end date...
$event_text = '';
for ($d = $startdate; $d <= $enddate; $d += 86400) {
$dYmd = date('Ymd', $d);
$ev = get_entries($dYmd, $get_unapproved);
$evcnt = count($ev);
for ($i = 0; $i < $evcnt; $i++) {
$event_text .= fb_export_time($dYmd, $ev[$i]->getDuration(), $ev[$i]->getTime(), 'ical');
}
$revents = get_repeating_entries($user, $dYmd, $get_unapproved);
$recnt = count($revents);
for ($i = 0; $i < $recnt; $i++) {
$event_text .= fb_export_time($dYmd, $revents[$i]->getDuration(), $revents[$i]->getTime(), 'ical');
示例10: dbi_query
// Get all users timezone settings.
$res = dbi_query("SELECT cal_login, cal_value FROM webcal_user_pref " . "WHERE cal_setting = 'TZ_OFFSET'");
$tzoffset = array();
if ($res) {
while ($row = dbi_fetch_row($res)) {
$user = $row[0];
$user_tzoffset = $row[1];
$tzoffset[$user] = $user_tzoffset;
if ($debug) {
echo "TZ OFFSET for {$user} is \"{$user_tzoffset}\" <br>\n";
}
}
dbi_free_result($res);
}
// Now read events all the repeating events (for all users)
$repeated_events = read_repeated_events("");
// Read non-repeating events (for all users)
$startdate = date("Ymd");
$enddate = date("Ymd", time() + $DAYS_IN_ADVANCE * 24 * 3600);
if ($debug) {
echo "Checking for events from date {$startdate} to date {$enddate} <br>\n";
}
$events = read_events("", $startdate, $enddate);
if ($debug) {
echo "Found " . count($events) . " events in time range. <br>\n";
}
function indent($str)
{
return " " . str_replace("\n", "\n ", $str);
}
// Send a reminder for a single event for a single day to all
示例11: mktime
if (!empty($x)) {
$numDays = $x;
}
// Don't let a malicious user specify more than 365 days
if ($numDays > 365) {
$numDays = 365;
}
$endDate = mktime(23, 59, 59, $thismonth, $thisday + $numDays, $thisyear);
// If 'showEvents=0' is in URL, then just include tasks in list
$show_events = getGetValue('showEvents', "[01]", true);
$tasks_only = $show_events == '0';
if ($tasks_only) {
$repeated_events = $events = array();
} else {
/* Pre-Load the repeated events for quckier access */
$repeated_events = read_repeated_events($username, $startDate, $endDate, $cat_id);
/* Pre-load the non-repeating events for quicker access */
$events = read_events($username, $startDate, $endDate, $cat_id);
}
// Pre-load tasks for quicker access */
if (empty($DISPLAY_TASKS_IN_GRID) || $DISPLAY_TASKS_IN_GRID == 'Y' || $showTasks) {
/* Pre-load tasks for quicker access */
$tasks = read_tasks($username, $endDate, $cat_id);
}
}
// Determine if this script is being called directly, or via an include.
if (empty($PHP_SELF) && !empty($_SERVER) && !empty($_SERVER['PHP_SELF'])) {
$PHP_SELF = $_SERVER['PHP_SELF'];
}
// If called directly print header stuff.
if (!empty($PHP_SELF) && preg_match($name_of_this_file, $PHP_SELF)) {
示例12: view_get_user_list
// .
// Get users in this view.
$viewusers = view_get_user_list($id);
if (count($viewusers) == 0) {
// This could happen if user_sees_only_his_groups = Y and
// this user is not a member of any group assigned to this view.
$error = translate('No users for this view');
}
if (!empty($error)) {
echo print_error($error) . print_trailer();
exit;
}
$e_save = $re_save = array();
for ($i = 0, $cnt = count($viewusers); $i < $cnt; $i++) {
/* Pre-Load the repeated events for quckier access */
$repeated_events = read_repeated_events($viewusers[$i], $startdate, $enddate, '');
$re_save = array_merge($re_save, $repeated_events);
/* Pre-load the non-repeating events for quicker access */
$events = read_events($viewusers[$i], $startdate, $enddate);
$e_save = array_merge($e_save, $events);
}
$events = $repeated_events = array();
for ($i = 0, $cnt = count($e_save); $i < $cnt; $i++) {
$should_add = 1;
for ($j = 0, $cnt_j = count($events); $j < $cnt_j && $should_add; $j++) {
if (!$e_save[$i]->getClone() && $e_save[$i]->getID() == $events[$j]->getID()) {
$should_add = 0;
}
}
if ($should_add) {
array_push($events, $e_save[$i]);
示例13: load_user_preferences
}
load_user_preferences();
user_load_variables($login, 'minical_');
if ($user != '__public__' && !nonuser_load_variables($login, 'minica_')) {
die_miserable_death(str_replace('XXX', $login, translate('No such nonuser calendar XXX.')));
}
if ($user != '__public__' && (empty($minical_is_public) || $minical_is_public != 'Y')) {
die_miserable_death(translate('This Calendar is not Public.'));
}
$next = mktime(0, 0, 0, $thismonth + 1, 1, $thisyear);
$nextmonth = date('m', $next);
$nextyear = date('Y', $next);
$prev = mktime(0, 0, 0, $thismonth - 1, 1, $thisyear);
$prevmonth = date('m', $prev);
$prevyear = date('Y', $prev);
$boldDays = true;
$startdate = mktime(0, 0, 0, $thismonth, 0, $thisyear);
$enddate = mktime(23, 59, 59, $thismonth + 1, 0, $thisyear);
// Don't display custom header.
print_header('', generate_refresh_meta(), '', true);
/* Pre-Load the repeated events for quicker access. */
$repeated_events = read_repeated_events($user, $startdate, $enddate, $cat_id);
/* Pre-load the non-repeating events for quicker access. */
$events = read_events($user, $startdate, $enddate, $cat_id);
echo display_small_month($thismonth, $thisyear, true, false);
// Reset...just in case.
$login = '';
?>
</body>
</html>
示例14: substr
$nextmonth = substr($nextYmd, 4, 2);
$prev = mktime(0, 0, 0, $thismonth - 1, 1, $thisyear);
$prevYmd = date('Ymd', $prev);
$prevyear = substr($prevYmd, 0, 4);
$prevmonth = substr($prevYmd, 4, 2);
if ($BOLD_DAYS_IN_YEAR == 'Y') {
$boldDays = true;
$startdate = mktime(0, 0, 0, $prevmonth, 0, $prevyear);
$enddate = mktime(23, 59, 59, $nextmonth + 1, 0, $nextyear);
} else {
$boldDays = false;
$startdate = mktime(0, 0, 0, $thismonth, 0, $thisyear);
$enddate = mktime(23, 59, 59, $thismonth + 1, 0, $thisyear);
}
/* Pre-Load the repeated events for quicker access */
$repeated_events = read_repeated_events(!empty($user) && strlen($user) ? $user : $login, $startdate, $enddate, $cat_id);
/* Pre-load the non-repeating events for quicker access */
$events = read_events(!empty($user) && strlen($user) ? $user : $login, $startdate, $enddate, $cat_id);
if ($DISPLAY_TASKS_IN_GRID == 'Y') {
/* Pre-load tasks for quicker access */
$tasks = read_tasks(!empty($user) && strlen($user) && $is_assistant ? $user : $login, $enddate, $cat_id);
}
$tableWidth = '100%';
$monthURL = 'month.php?' . (!empty($cat_id) ? 'cat_id=' . $cat_id . '&' : '');
$nextMonth1 = $nextMonth2 = $prevMonth1 = $prevMonth2 = '';
$printerStr = $smallTasks = $unapprovedStr = '';
if (empty($DISPLAY_TASKS) || $DISPLAY_TASKS == 'N' && $DISPLAY_SM_MONTH != 'N') {
$nextMonth1 = display_small_month($nextmonth, $nextyear, true, true, 'nextmonth', $monthURL);
$prevMonth1 = display_small_month($prevmonth, $prevyear, true, true, 'prevmonth', $monthURL);
}
if ($DISPLAY_TASKS == 'Y' && $friendly != 1) {
示例15: read_repeated_events
include "includes/js.php";
if ($auto_refresh == "Y" && !empty($auto_refresh_time)) {
$refresh = $auto_refresh_time * 60;
// convert to seconds
echo "<META HTTP-EQUIV=\"refresh\" content=\"{$refresh}; URL=day.php?{$u_url}" . "date={$nowYmd}{$caturl}\" TARGET=\"_self\">\n";
}
?>
</HEAD>
<BODY BGCOLOR=<?php
echo "\"{$BGCOLOR}\"";
?>
CLASS="defaulttext">
<?php
/* Pre-Load the repeated events for quckier access */
$repeated_events = read_repeated_events(empty($user) ? $login : $user, $cat_id);
/* Pre-load the non-repeating events for quicker access */
$events = read_events(empty($user) ? $login : $user, $nowYmd, $nowYmd, $cat_id);
?>
<TABLE BORDER="0" WIDTH="100%">
<TR><TD VALIGN="top" WIDTH="70%"><TR><TD>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<?php
if (empty($friendly)) {
?>
<TD VALIGN="left"><A HREF="day.php?<?php
echo $u_url;
?>
date=<?php