Files
HotLunches/system_cleanup.options.php
T
2026-10-19 15:22:52 -07:00

429 lines
17 KiB
PHP

<?php
require_once("include/globals.php");
if (SessionActive() != 1 || ! UserLoggedIn()) {
header("Location: /");
exit();
}
// Ensure that only valid user types have access to this module
$AllowedUserTypes = array('SuperUser','System Administrator','Application Administrator');
if (checkPermission($AllowedUserTypes) != 1) {
echo("<br>\n");
$error_message = getLanguageText('ERRORMSG-ACCESS-DENIED');
include "form.messages.php";
return;
}
// Determine if there are any schedules
$num_schedules = db_getVal("SELECT count(*) FROM hotlunch_schedules WHERE school_num = $school_num");
// Determine if there are any suppliers
$num_suppliers = db_getVal("SELECT count(*) FROM suppliers WHERE school_num = $school_num");
$cutoff = date("Y-m-d",time() - 60 * 60 * 24 * 5);
$numSaved = db_getVal("SELECT count(*) FROM user_balance_save WHERE school_num = $school_num");
if ($numSaved > 0) $saved_date = db_getVal("SELECT max(saved_date) FROM user_balance_save WHERE school_num = $school_num");
if (isset($saved_date)) {
$numParents = db_getVal("SELECT count(*) FROM users WHERE school_num = $base_school_num AND type = 'Parent' AND date_added < '$saved_date'");
}
else {
$numParents = db_getVal("SELECT count(*) FROM users WHERE school_num = $base_school_num AND type = 'Parent' AND date_added < '$cutoff'");
}
if (!isset($form_message)) $form_message = array();
if (!is_array($form_message)) $form_message = array($form_message);
if (intval($numParents) > 0 && (isset($saved_date) && $saved_date >= $cutoff)) $form_message[] = getLanguageText('TEXT-CURRENT-USER-BALANCES-HAVE-BEEN-SAVED');
include "form.messages.php";
?>
<script>
$(document).ready(function() {
$(document).on("click", "#delete-parents-btn", function(e) {
var confirmMsg = "<?php displayLanguageText('TEXT-CONFIRM-ACTION'); ?>: <?php displayLanguageText('TEXT-ANNUAL-SYSTEM-CLEANUP'); ?>";
var ans;
var verify = $(this).attr('verify');
<?php if ($_SESSION['UserInfo']['type'] != 'SuperUser' && $school_num == 3) { ?>
alert("<?php displayLanguageText('TEXT-SYSTEM-RESET-NOT-ON-DEMO-SITE'); ?>");
return false;
<?php } ?>
<?php
if ($numParents > 0 && (!isset($saved_date) || $saved_date < $cutoff)) {
?>
if (verify == 'yes') {
var warnMsg = "<?php displayLanguageText('WARNING-USER-BALANCES-NOT-SAVED'); ?>";
ans = confirm(warnMsg);
if (!ans) return false;
}
<?php } ?>
ans = confirm(confirmMsg);
if (ans) {
return true;
}
else {
return false;
}
});
$("#delete-schedule-orders-btn").click(function() {
var confirmMsg = "<?php displayLanguageText('TEXT-CONFIRM-ACTION'); ?>: <?php displayLanguageText('TEXT-DELETE-ORDERS'); ?>";
var ans;
var schedule_num = $("#delete_selected_schedule_orders").val();
var schedule_name = "<?php displayLanguageText('TEXT-ALL-SCHEDULES'); ?>";
<?php if ($_SESSION['UserInfo']['type'] != 'SuperUser' && $school_num == 3) { ?>
alert("<?php displayLanguageText('TEXT-SYSTEM-RESET-NOT-ON-DEMO-SITE'); ?>");
return false;
<?php } ?>
if (schedule_num == '') {
alert("<?php displayLanguageText('ERRORMSG-NO-SCHEDULES-SELECTED'); ?>");
return false;
}
if (schedule_num != -1) {
schedule_name = $("#schedule_"+schedule_num).val();
}
confirmMsg += "\n - "+schedule_name;
ans = confirm(confirmMsg);
if (ans) { return true; }
else { return false; }
});
$("#delete-schedules-btn").click(function() {
var confirmMsg = "<?php displayLanguageText('TEXT-CONFIRM-ACTION'); ?>: <?php displayLanguageText('TEXT-DELETE-SELECTED-SCHEDULE'); ?>";
var ans;
var schedule_num = $("#delete_selected_schedule").val();
var schedule_name;
<?php if ($_SESSION['UserInfo']['type'] != 'SuperUser' && $school_num == 3) { ?>
alert("<?php displayLanguageText('TEXT-SYSTEM-RESET-NOT-ON-DEMO-SITE'); ?>");
return false;
<?php } ?>
if (schedule_num == '') {
alert("<?php displayLanguageText('ERRORMSG-NO-SCHEDULES-SELECTED'); ?>");
return false;
}
if (schedule_num != -1) {
schedule_name = $("#schedule_"+schedule_num).val();
}
confirmMsg += "\n - "+schedule_name;
ans = confirm(confirmMsg);
if (ans) { return true; }
else { return false; }
});
$("#delete-suppliers-btn").click(function() {
var confirmMsg = "<?php displayLanguageText('TEXT-CONFIRM-ACTION'); ?>: <?php displayLanguageText('TEXT-REMOVE-SUPPLIERS'); ?>";
var ans;
<?php if ($_SESSION['UserInfo']['type'] != 'SuperUser' && $school_num == 3) { ?>
alert("<?php displayLanguageText('TEXT-SYSTEM-RESET-NOT-ON-DEMO-SITE'); ?>");
return false;
<?php } ?>
ans = confirm(confirmMsg);
if (ans) { return true; }
else { return false; }
});
$("#delete-all-schedules-btn").click(function() {
var confirmMsg = "<?php displayLanguageText('TEXT-CONFIRM-ACTION'); ?>: <?php displayLanguageText('TEXT-DELETE-SCHEDULES'); ?>";
var ans;
<?php if ($_SESSION['UserInfo']['type'] != 'SuperUser' && $school_num == 3) { ?>
alert("<?php displayLanguageText('TEXT-SYSTEM-RESET-NOT-ON-DEMO-SITE'); ?>");
return false;
<?php } ?>
ans = confirm(confirmMsg);
if (ans) { return true; }
else { return false; }
});
$("#delete-transactions-btn").click(function() {
var confirmMsg = "<?php displayLanguageText('TEXT-CONFIRM-ACTION'); ?>: <?php displayLanguageText('TEXT-DELETE-ALL-TRANSACTIONS'); ?>";
var ans;
<?php if ($_SESSION['UserInfo']['type'] != 'SuperUser' && $school_num == 3) { ?>
alert("<?php displayLanguageText('TEXT-SYSTEM-RESET-NOT-ON-DEMO-SITE'); ?>");
return false;
<?php } ?>
ans = confirm(confirmMsg);
if (ans) { return true; }
else { return false; }
});
$("#delete-staff-btn").click(function() {
var confirmMsg = "<?php displayLanguageText('TEXT-CONFIRM-ACTION'); ?>: <?php displayLanguageText('TEXT-DELETE-STAFF'); ?>";
var ans;
<?php if ($_SESSION['UserInfo']['type'] != 'SuperUser' && $school_num == 3) { ?>
alert("<?php displayLanguageText('TEXT-SYSTEM-RESET-NOT-ON-DEMO-SITE'); ?>");
return false;
<?php } ?>
ans = confirm(confirmMsg);
if (ans) { return true; }
else { return false; }
});
$("#clear-student-classes-btn").click(function() {
var confirmMsg = "<?php displayLanguageText('TEXT-CONFIRM-ACTION'); ?>: <?php displayLanguageText('TEXT-CLEAR-STUDENT-CLASSES'); ?>";
var ans;
<?php if ($_SESSION['UserInfo']['type'] != 'SuperUser' && $school_num == 3) { ?>
alert("<?php displayLanguageText('TEXT-SYSTEM-RESET-NOT-ON-DEMO-SITE'); ?>");
return false;
<?php } ?>
ans = confirm(confirmMsg);
if (ans) { return true; }
else { return false; }
});
});
</script>
<table width='70%' cellpadding='0' cellspacing='20' border='0'>
<tr>
<td align='center'>
<form method='post' action='/'>
<table width='100%' cellpadding='10' cellspacing='0' border='0' class='content-table'>
<tr>
<td class='success' align='center'><?php displayLanguageText('TEXT-ANNUAL-SYSTEM-CLEANUP'); ?></td>
</tr>
<tr>
<td align='center'>
<?php
$today = date("Y-m-d",time());
$now = date("Y-m-d H:i:00",time());
$cutoff = date("Y-m-d H:i:00",time() - 60 * 60 * 24 * 30);
$query = "SELECT count(*) FROM hotlunch_schedules " .
"WHERE school_num = $school_num " .
"AND status = 'Active' " .
"AND (end_order_datetime > '$now' OR schedule_end_date > '$today') " .
"AND start_order_datetime < '$cutoff'";
$active = db_getVal($query);
if ($active > 0) {
$error_message = getLanguageText('ERRORMSG-RESET-NOT-POSSIBLE-ACTIVE-SCHEDULE');
echo("<center>");
echo("<p class='warning'>$error_message</p>");
echo("</center>");
}
else {
$dt = date("md",time());
if (($dt <= '0501' || $dt >= '1101') && $_SESSION['UserInfo']['type'] != 'SuperUser') {
$error_message = getLanguageText('TEXT-SYSTEM-RESET-AVAILABILITY');
echo("<center>");
echo("<p class='warning'>$error_message</p>");
echo("</center>");
}
else {
?>
<p><?php displayLanguageText('TEXT-DELETE-STUDENTS-AND-PARENTS-MSG1'); ?></p>
<p><?php displayLanguageText('TEXT-DELETE-STUDENTS-AND-PARENTS-MSG2'); ?></p>
<p><input type='submit' id='delete-parents-btn' class='btn btn--primary btn--250' verify='yes' value=' <?php displayLanguageText('TEXT-DELETE-STUDENTS-AND-PARENTS'); ?> '></p>
<input type='hidden' name='action' value='system-cleanup'>
<input type='hidden' name='naction' value='delete-parents'>
<?php
}
}
?>
</td>
</tr>
</table>
</form>
<?php if ($num_schedules > 0) { ?>
<br>
<form method='post' action='/'>
<table width='100%' cellpadding='10' cellspacing='0' border='0' class='content-table'>
<tr>
<td class='success' align='center'><?php displayLanguageText('TEXT-DELETE-ORDERS'); ?></td>
</tr>
<tr>
<td align='center'>
<p><?php displayLanguageText('TEXT-DELETE-ORDERS-MSG'); ?></p>
<select name='selected_schedule' id='delete_selected_schedule_orders'>
<option value=''><?php displayLanguageText('TEXT-SELECT-A-SCHEDULE'); ?></option>
<?php if ($_SESSION['UserInfo']['type'] == 'SuperUser') { ?>
<?php } ?>
<option value='-1'><?php displayLanguageText('TEXT-ALL-SCHEDULES'); ?></option>
<?php
$cutoff = date("Y-m-d 00:00:00",time() - 60 * 60 * 24 * 300);
$query = "SELECT hls.schedule_name,hls.status,hls.record_num,count(hloh.record_num) as num_orders " .
"FROM hotlunch_schedules as hls LEFT JOIN hotlunch_order_header as hloh " .
"ON hloh.school_num = $school_num and hloh.schedule_num = hls.record_num AND hloh.ordered_by_type != 'Concession' " .
"WHERE hls.school_num = $school_num " .
"AND hls.status != 'Active' " .
"AND start_order_datetime > '$cutoff' " .
"GROUP BY 1,2,3 " .
"ORDER BY schedule_start_date DESC";
$schedules = db_query($query);
$scheduleNames = "";
while ($row = db_fetch_array($schedules)) {
extract($row);
echo(" <option value='$record_num'>$schedule_name - $status ($num_orders orders)</option>\n");
$scheduleNames .= "<input type='hidden' id='schedule_$record_num' value=\"$schedule_name\">\n";
}
?>
</select><br>
<br>
<p><input type='submit' id='delete-schedule-orders-btn' class='btn btn--primary btn--250' verify='no' value='<?php displayLanguageText('TEXT-DELETE-ORDERS'); ?>'></p>
<input type='hidden' name='action' value='system-cleanup'>
<input type='hidden' name='naction' value='delete-schedule-orders'>
<?php
echo($scheduleNames);
?>
</td>
</tr>
</table>
</form>
<br>
<form method='post' action='/'>
<table width='100%' cellpadding='10' cellspacing='0' border='0' class='content-table'>
<tr>
<td class='success' align='center'><?php displayLanguageText('TEXT-DELETE-SELECTED-SCHEDULE'); ?></td>
</tr>
<tr>
<td align='center'>
<p><?php displayLanguageText('TEXT-DELETE-SELECTED-SCHEDULE-MSG'); ?></p>
<select name='selected_schedule' id='delete_selected_schedule'>
<option value=''><?php displayLanguageText('TEXT-SELECT-A-SCHEDULE'); ?></option>
<?php
$cutoff = date("Y-m-d 00:00:00",time() - 60 * 60 * 24 * 300);
$query = "SELECT hls.schedule_name,hls.status,hls.record_num,count(hloh.record_num) as num_orders " .
"FROM hotlunch_schedules as hls LEFT JOIN hotlunch_order_header as hloh ON hloh.school_num = $school_num and hloh.schedule_num = hls.record_num AND hloh.ordered_by_type != 'Concession' " .
"WHERE hls.school_num = $school_num " .
"AND hls.status != 'Active' " .
"AND start_order_datetime > '$cutoff' " .
"GROUP BY 1,2,3 " .
"ORDER BY schedule_start_date DESC";
$schedules = db_query($query);
echo("\n\n<!-- $query -->\n\n");
while ($row = db_fetch_array($schedules)) {
extract($row);
echo(" <option value='$record_num'>$schedule_name - $status ($num_orders orders)</option>\n");
}
?>
</select><br>
<br>
<p><input type='submit' id='delete-schedules-btn' class='btn btn--primary btn--250' verify='no' value='<?php displayLanguageText('TEXT-DELETE-SCHEDULE'); ?>'></p>
<input type='hidden' name='action' value='system-cleanup'>
<input type='hidden' name='naction' value='delete-schedules'>
</td>
</tr>
</table>
</form>
<?php } ?>
<?php if ($school_num == $supplier_school_num && $num_suppliers > 0) { ?>
<br>
<form method='post' action='/'>
<table width='100%' cellpadding='10' cellspacing='0' border='0' class='content-table'>
<tr>
<td class='success' align='center'><?php displayLanguageText('TEXT-REMOVE-SUPPLIERS'); ?></td>
</tr>
<tr>
<td align='center'>
<p><?php displayLanguageText('TEXT-REMOVE-SUPPLIERS-MSG'); ?></p>
<p><input type='submit' id='delete-suppliers-btn' class='btn btn--primary btn--250' verify='no' value='<?php displayLanguageText('TEXT-REMOVE-SUPPLIERS'); ?>'></p>
<input type='hidden' name='action' value='system-cleanup'>
<input type='hidden' name='naction' value='delete-suppliers'>
</td>
</tr>
</table>
</form>
<?php } ?>
<?php if ($_SESSION['UserInfo']['type'] == 'SuperUser') { ?>
<br>
<form method='post' action='/'>
<table width='100%' cellpadding='10' cellspacing='0' border='0' class='content-table'>
<tr>
<td class='success' align='center'><?php displayLanguageText('TEXT-DELETE-SCHEDULES'); ?></td>
</tr>
<tr>
<td align='center'>
<br>
<p><input type='submit' id='delete-all-schedules-btn' class='btn btn--primary btn--250' verify='no' value='<?php displayLanguageText('TEXT-DELETE-SCHEDULES'); ?> '></p>
<input type='hidden' name='action' value='system-cleanup'>
<input type='hidden' name='naction' value='delete-all-schedules'>
</td>
</tr>
</table>
</form>
<?php } ?>
<?php if ($school_num != 3) { ?>
<br>
<form method='post' action='/'>
<table width='100%' cellpadding='10' cellspacing='0' border='0' class='content-table'>
<tr>
<td class='success' align='center'><?php displayLanguageText('TEXT-DELETE-ALL-TRANSACTIONS'); ?></td>
</tr>
<tr>
<td align='center'>
<p><?php displayLanguageText('TEXT-DELETE-ALL-TRANSACTIONS'); ?></p>
<p><input type='submit' id='delete-transactions-btn' class='btn btn--primary btn--250' verify='no' value='<?php displayLanguageText('TEXT-DELETE-ALL-TRANSACTIONS'); ?>'></p>
<input type='hidden' name='action' value='system-cleanup'>
<input type='hidden' name='naction' value='delete-transactions'>
</td>
</tr>
</table>
</form>
<?php } ?>
<br>
<form method='post' action='/'>
<table width='100%' cellpadding='10' cellspacing='0' border='0' class='content-table'>
<tr>
<td class='success' align='center'><?php displayLanguageText('TEXT-DELETE-STAFF'); ?></td>
</tr>
<tr>
<td align='center'>
<p><?php displayLanguageText('TEXT-DELETE-STAFF-MSG'); ?></p>
<p><input type='submit' id='delete-staff-btn' class='btn btn--primary btn--250' verify='no' value='<?php displayLanguageText('TEXT-DELETE-STAFF'); ?>'></p>
<input type='hidden' name='action' value='system-cleanup'>
<input type='hidden' name='naction' value='delete-staff'>
</td>
</tr>
</table>
</form>
<br>
<form method='post' action='/'>
<table width='100%' cellpadding='10' cellspacing='0' border='0' class='content-table'>
<tr>
<td class='success' align='center'><?php displayLanguageText('TEXT-CLEAR-STUDENT-CLASSES'); ?></td>
</tr>
<tr>
<td align='center'>
<p><?php displayLanguageText('TEXT-CLEAR-STUDENT-CLASSES-MESSAGE'); ?></p>
<p><input type='submit' id='clear-student-classes-btn' class='btn btn--primary btn--250' verify='no' value="<?php displayLanguageText('TEXT-CLEAR-STUDENT-CLASSES'); ?>"></p>
<input type='hidden' name='action' value='system-cleanup'>
<input type='hidden' name='naction' value='clear-student-classes'>
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
<br>