Files
HotLunches/ajax.SequenceRecords.php
2026-10-19 15:22:52 -07:00

133 lines
4.1 KiB
PHP

<?php
$ValidAccess = 2010;
require_once("include/globals.php");
if (SessionActive() != 1 || ! UserLoggedIn()) {
logExit("Session is not active",$moduleName);
exit();
}
// CSRF token validation
include "include/ajax.csrfToken.php";
// Set default timezone
date_default_timezone_set("Canada/Pacific");
$now = date("Y-m-d H:i:s",time());
$return_data = array();
$moduleName = "ajax.SequenceRecords.php";
// startLog($moduleName);
// Get parameters
if (array_key_exists('table', $_GET)) $table_name = db_escape_string($_GET['table']);
if (array_key_exists('dset', $_GET)) $dset = db_escape_string($_GET['dset']);
if (!isset($dset) || strlen($dset) == 0) $dset = "row_ids";
$row_ids = $_GET[$dset];
$school_num = intval($_GET['school_num']);
if (!isset($school_num) || $school_num == 0) $school_num = $school_record['record_num'];
// Ensure parameters are valid
if (!isset($table_name) || strlen($table_name) == 0) logExit("Table name is undefined\n");
if (strstr($table_name,' ') !== FALSE) logExit("Invalid table name\n");
if (!is_array($row_ids)) logExit("Invalid Access\n");
$numRows = count($row_ids);
writeLog("count: $numRows\n");
writeLog($table_name);
if ($table_name == 'hotlunch_menu_items') {
$rowid = $row_ids[0];
$rnum = intval(str_replace("row_","",$rowid));
writeLog("rnum: $rnum");
// Get menu_num
$query = "SELECT menu_num FROM hotlunch_menu_items WHERE school_num = $school_num AND record_num = $rnum";
writeLog($query);
$mnum = db_getVal($query);
$query = "SELECT * FROM hotlunch_menu_dates " .
"WHERE school_num = $school_num " .
"AND record_num = $mnum";
writeLog($query);
$results = db_query($query);
$menu = db_fetch_assoc($results);
$mlink = $menu['menu_link'];
$snum = $menu['schedule_num'];
writeLog("mnum: $mnum");
writeLog("mlink: $mlink");
// Get set of menus
$query = "SELECT record_num FROM hotlunch_menu_dates " .
"WHERE school_num = $school_num " .
"AND schedule_num = $snum";
$results = db_query($query);
$menuNumbers = array();
while ($row = db_fetch_assoc($results)) {
$menuNumbers[] = $row['record_num'];
}
$menuSet = implode(",", $menuNumbers);
}
// Sequence records
$sequence = 1;
for ($i = 0; $i < $numRows; $i++) {
$rowid = $row_ids[$i];
if (strlen($rowid)) {
$rnum = intval(str_replace("row_","",$rowid));
switch ($table_name) {
case 'how_to_guides':
case 'how_to_guide_categories':
case 'videos':
$query = "UPDATE $table_name SET sequence = $sequence WHERE record_num = $rnum";
writeLog("query: $query\n");
db_query($query);
break;
case 'hotlunch_menu_items':
// startLog("ajax.SequenceRecords.php - hotlunch_menu_items");
$sitem = db_getVal("SELECT source_item FROM hotlunch_menu_items WHERE school_num = $school_num AND record_num = $rnum");
$query = "SELECT schedule_num FROM hotlunch_menu_dates " .
"WHERE school_num = $school_num " .
"AND record_num = $mnum " .
"LIMIT 0,1";
$schedule_num = db_getVal($query);
$query = "UPDATE $table_name SET sequence = $sequence WHERE school_num = $school_num AND record_num = $rnum";
db_query($query);
// Update linked menus
$query = "UPDATE $table_name SET sequence = $sequence WHERE school_num = $school_num AND menu_num IN ($menuSet) AND source_item = $rnum";
db_query($query);
// Update source menu in same schedule
if ($mlink != 'No') {
$query = "UPDATE $table_name SET sequence = $sequence WHERE school_num = $school_num AND menu_num IN ($menuSet) AND record_num = $sitem";
db_query($query);
}
break;
default:
$query = "UPDATE $table_name SET sequence = $sequence WHERE school_num = $school_num AND record_num = $rnum";
writeLog("query: $query\n");
db_query($query);
break;
}
$sequence++;
}
}
?>