| Server IP : 172.64.80.1 / Your IP : 216.73.216.175 Web Server : LiteSpeed System : Linux srv13.swhc.ca 4.18.0-553.126.2.lve.el8.x86_64 #1 SMP Thu May 28 14:12:30 UTC 2026 x86_64 User : hongluck ( 2522) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/hongluck/public_html/old site/webcal/ |
Upload File : |
<?php
/*
* $Id: edit_report.php,v 1.24.2.1 2005/10/14 18:22:35 cknudsen Exp $
*
* Page Description:
* This page will present the HTML form to add or edit a report.
*
* Input Parameters:
* report_id (optional) - the report id of the report to edit.
* If blank, user is adding a new report.
* public (optional) - If set to '1' and user is an admin user,
* then we are creating a report for the public user.
*
* Security:
* If system setting $reports_enabled is set to anything other than
* 'Y', then don't allow access to this page.
* If $allow_view_other is 'N', then do not allow selection of
* participants.
* If not an admin user, only report creator (cal_login in webcal_report)
* can edit/delete report.
*/
include_once 'includes/init.php';
load_user_categories ();
$updating_public = false;
$error = "";
if ( empty ( $reports_enabled ) || $reports_enabled != 'Y' ) {
$error = translate ( "You are not authorized" ) . ".";
}
if ( $is_admin && ! empty ( $public ) && $public_access == "Y" ) {
$updating_public = true;
$report_user = "__public__";
} else {
$report_user = '';
}
$report_id = getIntValue ( "report_id", true );
$adding_report = false;
if ( empty ( $report_id ) ) {
$adding_report = true;
$report_id = -1;
$include_header = 'Y';
$report_is_global = 'N';
$report_allow_nav = 'Y';
}
$show_participants = true;
if ( $single_user == 'Y' || $disable_participants_field == 'Y' ) {
$show_participants = false;
}
if ( $login == "__public__" ) {
$error = translate ( "You are not authorized" );
}
$charset = ( ! empty ( $LANGUAGE )?translate("charset"): "iso-8859-1" );
// Set date range options
$ranges = array (
"0" => translate ( "Tomorrow" ),
"1" => translate ( "Today" ),
"2" => translate ( "Yesterday" ),
"3" => translate ( "Day before yesterday" ),
"10" => translate ( "Next week" ),
"11" => translate ( "This week" ),
"12" => translate ( "Last week" ),
"13" => translate ( "Week before last" ),
"20" => translate ( "Next week and week after" ),
"21" => translate ( "This week and next week" ),
"22" => translate ( "Last week and this week" ),
"23" => translate ( "Last two weeks" ),
"30" => translate ( "Next month" ),
"31" => translate ( "This month" ),
"32" => translate ( "Last month" ),
"33" => translate ( "Month before last" ),
"40" => translate ( "Next year" ),
"41" => translate ( "This year" ),
"42" => translate ( "Last year" ),
"43" => translate ( "Year before last" ),
"50" => translate ( "Next 14 days" ),
"51" => translate ( "Next 30 days" ),
"52" => translate ( "Next 60 days" ),
"53" => translate ( "Next 90 days" ),
"54" => translate ( "Next 180 days" ),
"55" => translate ( "Next 365 days" ),
);
// Get list of users that the current user can see
if ( empty ( $error ) && $show_participants ) {
$userlist = get_my_users ();
if ($nonuser_enabled == "Y" ) {
$nonusers = get_nonuser_cals ();
$userlist = ($nonuser_at_top == "Y") ? array_merge($nonusers, $userlist) :
array_merge($userlist, $nonusers);
}
}
// Default values
$page_template = "<dl>\${days}</dl>";
$day_template = "<dt><b>\${date}</b></dt>\n<dd><dl>\${events}</dl></dd>";
$event_template = "<dt>\${name}</dt>\n<dd>" .
"<b>" . translate ( "Date" ) . ":</b> \${date}<br />\n" .
"<b>" . translate ( "Time" ) . ":</b> \${time}<br />\n" .
"\${description}</dd>\n";
if ( empty ( $error ) && $report_id > 0 ) {
$sql = "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_show_in_trailer, cal_update_date " .
"FROM webcal_report " .
"WHERE cal_report_id = $report_id";
//echo "SQL: $sql<br /><br />";
$res = dbi_query ( $sql );
if ( $res ) {
if ( $row = dbi_fetch_row ( $res ) ) {
$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++];
$report_user = $row[$i++];
$report_allow_nav = $row[$i++];
$report_cat_id = $row[$i++];
$report_include_empty = $row[$i++];
$report_show_in_trailer = $row[$i++];
$report_update_date = $row[$i++];
// Check permissions.
if ( $show_participants && ! empty ( $report_user ) ) {
$user_is_in_list = false;
for ( $i = 0; $i < count ( $userlist ); $i++ ) {
if ( $report_user == $userlist[$i]['cal_login'] ) {
$user_is_in_list = true;
}
}
if ( ! $user_is_in_list && $report_login != $login && ! $is_admin ) {
$error = translate ( "You are not authorized" );
}
}
if ( ! $is_admin && $login != $report_login ) {
// If not admin, only creator can edit/delete the event
$error = translate ( "You are not authorized" );
}
// If we are editing a public user report we need to set $updating_public
if ( $is_admin && $report_login == "__public__" ) {
$updating_public = true;
}
} else {
$error = translate ( "Invalid report id" ) . ": $report_id";
}
dbi_free_result ( $res );
} else {
$error = translate("Database error") . ": " . dbi_error ();
}
$res = dbi_query ( "SELECT cal_template_type, cal_template_text " .
"FROM webcal_report_template " .
"WHERE cal_report_id = $report_id" );
if ( $res ) {
while ( $row = dbi_fetch_row ( $res ) ) {
if ( $row[0] == 'P' ) {
$page_template = $row[1];
} else if ( $row[0] == 'D' ) {
$day_template = $row[1];
} else if ( $row[0] == 'E' ) {
$event_template = $row[1];
}
}
dbi_free_result ( $res );
}
} else {
// default values for new report
$report_login = $login;
$report_id = -1;
$report_is_global = 'N';
$report_type = 'html';
$report_include_header = 'Y';
$report_name = translate("Unnamed Report");
$report_time_range = 11; // current week
//$report_user already set
$report_allow_nav = 'Y';
$report_cat_id = '';
$report_include_empty = 'N';
$report_show_in_trailer = 'N';
$report_update_date = '';
}
print_header();
//echo "report_id: $report_id <br />\n";
//echo "report_name: $report_name <br />\n";
//echo "report_user: $report_user <br />\n";
?>
<h2><?php
if ( $updating_public ) {
echo translate($PUBLIC_ACCESS_FULLNAME) . " ";
}
if ( $adding_report ) {
etranslate("Add Report");
} else {
etranslate("Edit Report");
}
?></h2>
<?php
if ( ! empty ( $error ) ) {
echo $error;
include_once "includes/trailer.php";
exit;
}
?>
<form action="edit_report_handler.php" method="post" name="reportform">
<?php if ( $updating_public ) { ?>
<input type="hidden" name="public" value="1" />
<?php } ?>
<?php if ( ! $adding_report ) { ?>
<input type="hidden" name="report_id" value="<?php echo $report_id?>" />
<?php } ?>
<table style="border-width:0px;">
<tr><td>
<label for="rpt_name"><?php etranslate("Report name")?>:</label></td><td>
<input type="text" name="report_name" id="rpt_name" size="40" maxlength="50"
value="<?php echo $report_name; ?>" />
</td></tr>
<?php
if ( $show_participants ) {
$users = "<option value=\"\"";
if ( empty ( $report_user ) ) {
$users .= " selected=\"selected\"";
}
$users .= ">" . translate ( "Current User" ) . "</option>\n";
for ( $i = 0; $i < count ( $userlist ); $i++ ) {
$users .= "<option value=\"" . $userlist[$i]['cal_login'] . "\"";
if ( ! empty ( $report_user ) ) {
if ( $report_user == $userlist[$i]['cal_login'] ) {
$users .= " selected=\"selected\"";
}
}
$users .= ">" . $userlist[$i]['cal_fullname'] . "</option>\n";
}
print "<tr><td><label for=\"rpt_user\">" .
translate("User") . ":</label></td>\n";
print "<td><select name=\"report_user\" id=\"rpt_user\" size=\"1\">$users\n";
print "</select>\n";
print "</td></tr>\n";
}
?>
<?php if ( $is_admin ) { ?>
<tr><td><label>
<?php etranslate("Global")?>:</label></td><td>
<label><input type="radio" name="is_global" value="Y"
<?php if ( $report_is_global != 'N' ) echo " checked=\"checked\""; ?>
/> <?php etranslate("Yes") ?></label>
<label><input type="radio" name="is_global" value="N"
<?php if ( $report_is_global == 'N' ) echo " checked=\"checked\""; ?>
/> <?php etranslate("No") ?></label>
</td></tr>
<?php } ?>
<?php
// The report will always be shown in the trailer for the creator
// of the report. For admin users who create a global report,
// allow option of adding to all users trailer.
if ( $is_admin ) {
?>
<tr><td><label>
<?php etranslate("Include link in trailer")?>:</label></td><td>
<label><input type="radio" name="show_in_trailer" value="Y"
<?php if ( $report_show_in_trailer != 'N' ) echo " checked=\"checked\""; ?>
/> <?php etranslate("Yes") ?></label>
<label><input type="radio" name="show_in_trailer" value="N"
<?php if ( $report_show_in_trailer == 'N' ) echo " checked=\"checked\""; ?>
/> <?php etranslate("No") ?></label>
</td></tr>
<?php } ?>
<tr><td><label>
<?php etranslate("Include standard header/trailer")?>:
</label></td><td>
<label><input type="radio" name="include_header" value="Y"
<?php if ( $report_include_header != 'N' ) echo " checked=\"checked\""; ?>
/> <?php etranslate("Yes") ?></label>
<label><input type="radio" name="include_header" value="N"
<?php if ( $report_include_header == 'N' ) echo " checked=\"checked\""; ?>
/> <?php etranslate("No") ?></label>
</td></tr>
<tr><td>
<label for="rpt_time_range"><?php etranslate("Date range")?>:</label></td><td>
<select name="time_range" id="rpt_time_range">
<?php
while ( list ( $num, $descr ) = each ( $ranges ) ) {
echo "<option value=\"$num\"";
if ( $report_time_range == $num ) {
echo " selected=\"selected\"";
}
echo ">$descr</option>\n";
}
?></select>
</td></tr>
<tr><td>
<label for="rpt_cat_id"><?php etranslate("Category")?>:</label></td><td>
<select name="cat_id" id="rpt_cat_id">
<option value=""><?php etranslate("None") ?></option>
<?php
while ( list ( $cat_id, $descr ) = each ( $categories ) ) {
echo "<option value=\"$cat_id\"";
if ( $report_cat_id == $cat_id ) {
echo " selected=\"selected\"";
}
echo ">$descr</option>\n";
}
?></select>
</td></tr>
<tr><td><label>
<?php etranslate("Include previous/next links")?>:</label></td><td>
<label><input type="radio" name="allow_nav" value="Y"
<?php if ( $report_allow_nav != 'N' ) echo " checked=\"checked\""; ?>
/> <?php etranslate("Yes") ?></label>
<label><input type="radio" name="allow_nav" value="N"
<?php if ( $report_allow_nav == 'N' ) echo " checked=\"checked\""; ?>
/> <?php etranslate("No") ?></label>
</td></tr>
<tr><td><label>
<?php etranslate("Include empty dates")?>:</label></td><td>
<label><input type="radio" name="include_empty" value="Y"
<?php if ( $report_include_empty != 'N' ) echo " checked=\"checked\""; ?>
/> <?php etranslate("Yes") ?></label>
<label><input type="radio" name="include_empty" value="N"
<?php if ( $report_include_empty == 'N' ) echo " checked=\"checked\""; ?>
/> <?php etranslate("No") ?></label>
</td></tr>
</table>
<table style="border-width:0px;">
<tr><td> </td><td> </td><td><label>
<?php etranslate("Template variables")?></label>
</td></tr>
<tr><td valign="top"><label>
<?php etranslate("Page template")?>:</label></td><td>
<textarea rows="12" cols="60" name="page_template">
<?php echo htmlentities ( $page_template, ENT_COMPAT, $charset )?>
</textarea></td><td style="vertical-align:top;">
<tt>${days}</tt><br />
<tt>${report_id}</tt><br />
</td></tr>
<tr><td valign="top"><label>
<?php etranslate("Day template")?>:</label></td><td>
<textarea rows="12" cols="60" name="day_template">
<?php echo htmlentities ( $day_template, ENT_COMPAT, $charset )?>
</textarea></td><td style="vertical-align:top;">
<tt>${events}</tt><br />
<tt>${date}</tt><br />
<tt>${fulldate}</tt><br />
<tt>${report_id}</tt><br />
</td></tr>
<tr><td valign="top"><label>
<?php etranslate("Event template")?>:</label></td><td>
<textarea rows="12" cols="60" name="event_template">
<?php echo htmlentities ( $event_template, ENT_COMPAT, $charset )?>
</textarea></td><td style="vertical-align:top;">
<tt>${name}</tt><br />
<tt>${description}</tt><br />
<tt>${date}</tt><br />
<tt>${fulldate}</tt><br />
<tt>${time}</tt><br />
<tt>${starttime}</tt><br />
<tt>${endtime}</tt><br />
<tt>${duration}</tt><br />
<tt>${priority}</tt><br />
<tt>${href}</tt><br />
<tt>${user}</tt><br />
<tt>${report_id}</tt>
</td></tr>
<tr><td colspan="2">
<input type="submit" value="<?php etranslate("Save")?>" />
<?php if ( ! $adding_report ) { ?>
<input type="submit" name="action"
value="<?php etranslate("Delete");?>"
onclick="return confirm('<?php etranslate("Are you sure you want to delete this report?")?>');" />
<?php } ?>
</td></tr>
</table>
</form>
<?php print_trailer(); ?>
</body>
</html>