0 && ! $is_admin ) { $res = dbi_query ( "SELECT cal_login FROM webcal_report " . "WHERE report_id = $report_id" ); if ( $res ) { if ( $row = dbi_fetch_row ( $res ) ) { if ( $row[0] != $login ) { $error = translate("You are not authorized"); } } else { $error = "No such report id"; } dbi_free_result ( $res ); } else { $error = translate("Database error" ) . ": " . dbi_error (); } } // Validate templates to make sure the required variables are found. // Page template must include ${days} if ( empty ( $error ) ) { if ( ! strstr ( $page_template, '${days}' ) ) { $error = "
" . translate ( "Error" ) . " [" . translate ( "Page template" ) . "]: " . str_replace ( " N ", ' ${days} ', translate ( "Variable N not found" ) ) . "."; } // Day template must include ${events} if ( ! strstr ( $day_template, '${events}' ) ) { if ( ! empty ( $error ) ) $error .= "
"; $error .= "
" . translate ( "Error" ) . " [" . translate ( "Day template" ) . "]: " . str_replace ( " N ", ' ${events} ', translate ( "Variable N not found" ) ) . "."; } // Event template must include ${name} if ( ! strstr ( $event_template, '${name}' ) ) { if ( ! empty ( $error ) ) $error .= "
"; $error .= "
" . translate ( "Error" ) . " [" . translate ( "Event template" ) . "]: " . str_replace ( " N ", ' ${name} ', translate ( "Variable N not found" ) ) . "."; } } if ( empty ( $error ) && ! empty ( $report_id ) && ( $action == "Delete" || $action == translate ( "Delete" ) ) ) { if ( ! dbi_query ( "DELETE FROM webcal_report_template " . "WHERE cal_report_id = $report_id" ) ) $error = translate("Database error") . ": " . dbi_error (); if ( empty ( $error ) & ! dbi_query ( "DELETE FROM webcal_report " . "WHERE cal_report_id = $report_id" ) ) $error = translate("Database error") . ": " . dbi_error (); // send back to main report listing page if ( empty ( $error ) ) do_redirect ( "report.php" ); } if ( empty ( $error ) ) { $names = array (); $values = array (); $names[] = "cal_login"; $values[] = ( $updating_public ? "'__public__'" : "'$login'" ); $names[] .= "cal_update_date"; $values[] = date ( "Ymd" ); $names[] = "cal_report_type"; $values[] = "'html'"; $names[] = "cal_report_name"; if ( empty ( $report_name ) ) $report_name = translate ( "Unnamed Report" ); $values[] = "'$report_name'"; $names[] = "cal_user"; if ( ! $is_admin || empty ( $report_user ) ) { $values[] = "NULL"; } else { $values[] = "'$report_user'"; } $names[] = "cal_include_header"; if ( empty ( $include_header ) || $include_header != 'Y' ) { $values[] = "'N'"; } else { $values[] = "'Y'"; } $names[] = "cal_time_range"; $values[] = ( empty ( $time_range ) ? 11 : $time_range ); $names[] = "cal_cat_id"; $values[] = ( empty ( $cat_id ) ? "NULL" : $cat_id ); $names[] = "cal_allow_nav"; $values[] = ( empty ( $allow_nav ) || $allow_nav != 'Y' ) ? "'N'" : "'Y'"; $names[] = "cal_include_empty"; $values[] = ( empty ( $include_empty ) || $include_empty != 'Y' ) ? "'N'" : "'Y'"; $names[] = "cal_is_global"; $values[] = ( empty ( $is_global ) || $is_global != 'Y' ) ? "'N'" : "'Y'"; $names[] = "cal_show_in_trailer"; $values[] = ( empty ( $show_in_trailer ) || $show_in_trailer != 'Y' ) ? "'N'" : "'Y'"; if ( $adding_report ) { $res = dbi_query ( "SELECT MAX(cal_report_id) FROM webcal_report" ); $newid = 1; if ( $res ) { if ( $row = dbi_fetch_row ( $res ) ) { $newid = $row[0] + 1; } dbi_free_result ( $res ); } $names[] = "cal_report_id"; $values[] = $newid; $sql = "INSERT INTO webcal_report ( "; for ( $i = 0; $i < count ( $names ); $i++ ) { if ( $i > 0 ) $sql .= ", "; $sql .= $names[$i]; } $sql .= " ) VALUES ( "; for ( $i = 0; $i < count ( $values ); $i++ ) { if ( $i > 0 ) $sql .= ", "; $sql .= $values[$i]; } $sql .= " )"; $report_id = $newid; } else { $sql = "UPDATE webcal_report SET "; for ( $i = 0; $i < count ( $names ); $i++ ) { if ( $i > 0 ) $sql .= ", "; $sql .= "$names[$i] = $values[$i]"; } $sql .= " WHERE cal_report_id = $report_id"; } //echo "SQL: $sql"; exit; } if ( empty ( $error ) ) { if ( ! dbi_query ( $sql ) ) { $error = translate ( "Database error" ) . ": " . dbi_error (); } } if ( empty ( $error ) ) { if ( ! $adding_report ) { if ( ! dbi_query ( "DELETE FROM webcal_report_template " . "WHERE cal_report_id = $report_id" ) ) $error = translate("Database error") . ": " . dbi_error (); } if ( empty ( $error ) && ! dbi_query ( "INSERT INTO webcal_report_template " . "( cal_report_id, cal_template_type, cal_template_text ) VALUES ( " . "$report_id, 'P', '$page_template' )" ) ) $error = translate("Database error") . ": " . dbi_error (); if ( empty ( $error ) && ! dbi_query ( "INSERT INTO webcal_report_template " . "( cal_report_id, cal_template_type, cal_template_text ) VALUES ( " . "$report_id, 'D', '$day_template' )" ) ) $error = translate("Database error") . ": " . dbi_error (); if ( empty ( $error ) && ! dbi_query ( "INSERT INTO webcal_report_template " . "( cal_report_id, cal_template_type, cal_template_text ) VALUES ( " . "$report_id, 'E', '$event_template' )" ) ) $error = translate("Database error") . ": " . dbi_error (); } if ( empty ( $error ) ) { if ( $updating_public ) do_redirect ( "report.php?public=1" ); else do_redirect ( "report.php" ); exit; } print_header(); ?>