0 ) { if ( $duration == ( 24 * 60 ) ) { $time_str = translate("All day event"); } else { // calc end time $h = (int) ( $time / 10000 ); $m = ( $time / 100 ) % 100; $m += $duration; $d = $duration; while ( $m >= 60 ) { $h++; $m -= 60; } $end_time = sprintf ( "%02d%02d00", $h, $m ); $time_str .= " - " . display_time ( $end_time ); $end_time_str = display_time ( $end_time ); } } } if ( $login != $user && $access == 'R' && strlen ( $user ) ) $name_str = "(" . translate("Private") . ")"; else if ( $login != $event_owner && $access == 'R' && strlen ( $event_owner ) ) $name_str = "(" . translate("Private") . ")"; else if ( $login != $event_owner && strlen ( $event_owner ) ) { $name_str = htmlentities ( $name ); } else $name_str = htmlentities ( $name ); $date_str = date_to_str ( $date, "", false ); $date_full_str = date_to_str ( $date, "", true, false ); if ( $duration > 0 ) $duration_str = $duration . ' ' . translate ( "minutes" ); else $duration_str = ''; if ( $pri == 1 ) $pri_str = translate ( "Low" ); else if ( $pri == 2 ) $pri_str = translate ( "Medium" ); else if ( $pri == 3 ) $pri_str = translate ( "High" ); if ( $status == 'W' ) $status_str = translate ( "Waiting for approval" ); else if ( $status == 'D' ) $status_str = translate ( "Deleted" ); else if ( $status == 'R' ) $status_str = translate ( "Rejected" ); else if ( $status == 'A' ) $status_str = translate ( "Approved" ); else $status_str = translate ( "Unknown" ); if ( ! empty ( $allow_html_description ) && $allow_html_description == 'Y' ) { $str = str_replace ( '&', '&', $description ); $description_str = str_replace ( '&', '&', $str ); } else { $description_str = nl2br ( activate_urls ( htmlentities ( $description ) ) ); } $href_str = "view_entry.php?id=$id"; // Replace all variables in the event template. $text = $event_template; $text = str_replace ( '${name}', $name_str, $text ); $text = str_replace ( '${description}', $description_str, $text ); $text = str_replace ( '${date}', $date_str, $text ); $text = str_replace ( '${date}', $date_str, $text ); $text = str_replace ( '${fulldate}', $date_full_str, $text ); $text = str_replace ( '${time}', $time_str, $text ); $text = str_replace ( '${starttime}', $start_time_str, $text ); $text = str_replace ( '${endtime}', $end_time_str, $text ); $text = str_replace ( '${duration}', $duration_str, $text ); $text = str_replace ( '${priority}', $pri_str, $text ); $text = str_replace ( '${href}', $href_str, $text ); $text = str_replace ( '${id}', $id, $text ); $text = str_replace ( '${user}', $event_owner, $text ); $text = str_replace ( '${report_id}', $report_id, $text ); return $text; } $error = ""; $list = ""; // list of reports when no id specified if ( ! empty ( $user ) && $user != $login && ( ( ! empty ( $allow_view_other ) && $allow_view_other == 'Y' ) || $is_admin ) ) { $report_user = $user; $u_url = "&user=$user"; } else { $u_url = ""; } if ( empty ( $reports_enabled ) || $reports_enabled != 'Y' ) { $error = translate ( "You are not authorized" ) . "."; } $updating_public = false; if ( $is_admin && ! empty ( $public ) && $public_access == "Y" ) { $updating_public = true; $report_user = "__public__"; } $report_id = getIntValue ( "report_id", true ); $offset = getIntValue ( "offset", true ); if ( empty ( $offset ) ) $offset = 0; // If no report id is specified, then generate a list of reports for // the user to select from. if ( empty ( $error ) && empty ( $report_id ) && $login == "__public__" ) { $error = translate ( "You are not authorized" ) . "."; } if ( empty ( $error ) && empty ( $report_id ) ) { $list = ""; if ( $is_admin ) { if ( ! $updating_public ) { $list .= "
" . translate("Click here") . " " . translate("to manage reports for the Public Access calendar") . "." . "
\n"; $sql = "SELECT cal_report_id, cal_report_name " . "FROM webcal_report WHERE cal_login = '$login' OR " . "cal_is_global = 'Y' ORDER BY cal_update_date DESC, cal_report_name"; } else { $sql = "SELECT cal_report_id, cal_report_name " . "FROM webcal_report WHERE cal_login = '__public__' " . "ORDER BY cal_update_date DESC, cal_report_name"; } } else { $sql = "SELECT cal_report_id, cal_report_name " . "FROM webcal_report WHERE cal_login = '$login' " . "ORDER BY cal_update_date DESC, cal_report_name"; } $res = dbi_query ( $sql ); $list .= "" . translate("Add new report") . "
"; dbi_free_result ( $res ); } else { $error = translate ( "Invalid report id" ); } } // Load the specified report if ( empty ( $error ) && empty ( $list ) ) { $res = dbi_query ( "SELECT cal_login, cal_report_id, cal_is_global, " . "cal_report_type, cal_include_header, cal_report_name, " . "cal_time_range, cal_user, " . "cal_allow_nav, cal_cat_id, cal_include_empty, cal_update_date " . "FROM webcal_report WHERE cal_report_id = $report_id" ); if ( $res ) { if ( $row = dbi_fetch_row ( $res ) ) { if ( $row[2] != 'Y' && $login != $row[0] ) { $error = translate ( "You are not authorized" ) . "."; } else { $i = 0; $report_login = $row[$i++]; $report_id = $row[$i++]; $report_is_global = $row[$i++]; $report_type = $row[$i++]; $report_include_header = $row[$i++]; $report_name = $row[$i++]; $report_time_range = $row[$i++]; $test_report_user = $row[$i++]; // If this report type specifies a specific user, then we will // use that user rather even if a user was passed in via URL. if ( ! empty ( $test_report_user ) ) $report_user = $test_report_user; $report_allow_nav = $row[$i++]; $report_cat_id = $row[$i++]; $report_include_empty = $row[$i++]; $report_update_date = $row[$i++]; } } else { $error = translate ( "Invalid report id" ); } dbi_free_result ( $res ); } else { $error = translate ( "Database error" ) . ": " . dbi_error (); } } if ( empty ( $report_user ) ) $report_user = $login; //echo "User: $report_user"; // Set default templates (in case there are none in the database for // this report.) $page_template = '
\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 );
$day_str = '';
// Loop through each day
// Get events for each day (both normal and repeating).
// (Most of this code was copied from week.php)
for ( $cur_time = $start_time; $cur_time <= $end_time; $cur_time += $ONE_DAY ) {
$event_str = '';
$dateYmd = date ( "Ymd", $cur_time );
$rep = get_repeating_entries ( empty ( $user ) ? $login : $user, $dateYmd );
$ev = get_entries ( empty ( $user ) ? $login : $user, $dateYmd );
$cur_rep = 0;
//echo "DATE: $dateYmd
\n";
for ( $i = 0; $i < count ( $ev ); $i++ ) {
// print out any repeating events that are before this one...
while ( $cur_rep < count ( $rep ) &&
$rep[$cur_rep]['cal_time'] < $ev[$i]['cal_time'] ) {
if ( $get_unapproved || $rep[$cur_rep]['cal_status'] == 'A' ) {
if ( ! empty ( $rep[$cur_rep]['cal_ext_for_id'] ) ) {
$viewid = $rep[$cur_rep]['cal_ext_for_id'];
$viewname = $rep[$cur_rep]['cal_name'] . " (" .
translate("cont.") . ")";
} else {
$viewid = $rep[$cur_rep]['cal_id'];
$viewname = $rep[$cur_rep]['cal_name'];
}
$event_str .= event_to_text ( $viewid,
$date, $rep[$cur_rep]['cal_time'], $rep[$cur_rep]['cal_duration'],
$viewname, $rep[$cur_rep]['cal_description'],
$rep[$cur_rep]['cal_status'], $rep[$cur_rep]['cal_priority'],
$rep[$cur_rep]['cal_access'], $rep[$cur_rep]['cal_login'] );
$cnt++;
}
$cur_rep++;
}
if ( $get_unapproved || $ev[$i]['cal_status'] == 'A' ) {
if ( ! empty ( $ev[$i]['cal_ext_for_id'] ) ) {
$viewid = $ev[$i]['cal_ext_for_id'];
$viewname = $ev[$i]['cal_name'] . " (" .
translate("cont.") . ")";
} else {
$viewid = $ev[$i]['cal_id'];
$viewname = $ev[$i]['cal_name'];
}
$event_str .= event_to_text ( $viewid,
$date, $ev[$i]['cal_time'], $ev[$i]['cal_duration'],
$viewname, $ev[$i]['cal_description'],
$ev[$i]['cal_status'], $ev[$i]['cal_priority'],
$ev[$i]['cal_access'], $ev[$i]['cal_login'] );
$cnt++;
}
}
// print out any remaining repeating events
while ( $cur_rep < count ( $rep ) ) {
if ( $get_unapproved || $rep[$cur_rep]['cal_status'] == 'A' ) {
if ( ! empty ( $rep[$cur_rep]['cal_ext_for_id'] ) ) {
$viewid = $rep[$cur_rep]['cal_ext_for_id'];
$viewname = $rep[$cur_rep]['cal_name'] . " (" .
translate("cont.") . ")";
} else {
$viewid = $rep[$cur_rep]['cal_id'];
$viewname = $rep[$cur_rep]['cal_name'];
}
$event_str .= event_to_text ( $viewid,
$date, $rep[$cur_rep]['cal_time'], $rep[$cur_rep]['cal_duration'],
$viewname, $rep[$cur_rep]['cal_description'],
$rep[$cur_rep]['cal_status'], $rep[$cur_rep]['cal_priority'],
$rep[$cur_rep]['cal_access'], $rep[$cur_rep]['cal_login'] );
$cnt++;
}
$cur_rep++;
}
if ( ! empty ( $event_str ) || $report_include_empty == 'Y' ||
$report_time_range < 10 ) {
$date_str = date_to_str ( $dateYmd, "", false );
$date_full_str = date_to_str ( $dateYmd, "", true, false );
$text = str_replace ( '${report_id}', $report_id, $text );
$text = str_replace ( '${events}', $event_str, $day_template );
$text = str_replace ( '${fulldate}', $date_full_str, $text );
$day_str .= str_replace ( '${date}', $date_str, $text );
}
}
if ( ! empty ( $error ) ) {
echo "
" .
translate ( "Previous" ) . "\n";
echo " " .
translate ( "Next" ) . "
\n";
}
if ( $report_include_header == 'Y' ) {
echo '
[' . translate("Printer Friendly") . ']'; } } if ( ( empty ( $friendly ) && $report_include_header == 'Y' ) || ! empty ( $error ) || ! empty ( $list ) ) { print_trailer (); } else { print_trailer ( false ); } ?>