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

234 lines
7.0 KiB
PHP

<?php
require_once("include/globals.php");
if (SessionActive() != 1 || ! UserLoggedIn()) {
header("Location: /");
exit();
}
//
// Process all actions to list and edit records
//
$CurrentTable = "sales_contacts";
$DeleteField = "name,school_name,school_city";
$dSeparator = "<br>\n";
$FormFile = "sales_contacts.form.php";
$TitleText = "Sales Contact";
$OrderBy = "name";
// Start the template and output buffering
startTemplate();
$templatePageTitle = "$TitleText " . getLanguageText('TEXT-ADMINISTRATION');
// Ensure that only valid user types have access to this module
$AllowedUserTypes = array('SuperUser');
if (checkPermission($AllowedUserTypes) != 1) {
$error_message = getLanguageText('ERRORMSG-ACCESS-DENIED');
include "form.messages.php";
endTemplate();
exit();
}
$naction = "";
if (array_key_exists('naction',$_GET)) $naction = $_GET['naction'];
if (array_key_exists('naction',$_POST)) $naction = $_POST['naction'];
switch (strtolower($naction)) {
case "add":
$next_naction = "insert";
$active = 'Y';
include $FormFile;
break;
case "insert":
extract($_POST);
// Get new sequence number
if ($Sequence == 'Y') {
$query = "select max(sequence) sequence from $CurrentTable";
$results = db_query($query);
$row = db_fetch_array($results);
$sequence = intval($row['sequence']) + 1;
}
$table = new Table("$CurrentTable");
$query = $table->BuildInsert();
db_query($query);
$form_message = getLanguageText('RECORD-INSERTED-MSG');
$naction = 'list';
header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message));
exit();
case "edit":
$next_naction = "update";
// Get current record
$record_num = intval($_GET['record_num']);
$query = "select * from $CurrentTable where record_num = $record_num";
$results = db_query($query);
if (db_num_rows($results) == 1) {
$school_record = db_fetch_array($results);
include $FormFile;
}
else {
$error_message = "Error: Record Not Found";
}
break;
case "update":
extract($_POST);
$table = new Table("$CurrentTable");
$query = $table->BuildUpdate();
db_query($query);
$form_message = getLanguageText('RECORD-UPDATED-MSG');
$naction = 'list';
header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message));
exit();
case "delete":
$record_num = intval($_GET['record_num']);
$query = "select * from $CurrentTable where record_num = $record_num";
$results = db_query($query);
if (db_num_rows($results) == 1) {
$row = db_fetch_array($results);
extract($row);
$dFields = explode(",",$DeleteField);
$dTitle = "$TitleText ";
for ($i = 0; $i < count($dFields); $i++) {
$dTitle .= $row[$dFields[$i]] . $dSeparator;
}
include "delete.form.php";
}
else {
$error_message = getLanguageText('ERRORMSG-NOT-FOUND');
}
break;
case "delete-confirmed":
$record_num = intval($_GET['record_num']);
// Delete the current record
$query = "delete from $CurrentTable where record_num = $record_num";
db_query($query);
$form_message = getLanguageText('RECORD-DELETED-MSG');
$naction = "list";
break;
case "search":
$PageTitle = "$TitleText " . getLanguageText('TEXT-SEARCH');
$ButtonText = getLanguageText('TEXT-SEARCH');
$ChoosePagination = 'Y';
$next_naction = "lookup";
include $FormFile;
break;
case "lookup":
extract($_POST);
$table = new Table("$CurrentTable");
$lookup_query = $table->BuildQuery();
$lookup_where = "";
if (stripos($lookup_query, "where ")) $lookup_where = preg_replace("/.* where/i","where",$lookup_query);
if (stripos($lookup_where, "order by ")) $lookup_where = preg_replace("/ order by .*/i","",$lookup_where);
$naction = "list";
$TitleText = "$TitleText " . getLanguageText('TEXT-SEARCH');
break;
case "fetch":
$lookup_where = "where school.record_num = $record_num";
$naction = "list";
$TitleText = "$TitleText " . getLanguageText('TEXT-SEARCH');
break;
default:
$naction = "list";
break;
}
//
// List all records if naction is "list"
//
if ($naction == "list") {
if ($Sequence == 'Y') {
// Resequence the records
$query = "select * from $CurrentTable where sequence > 0 order by sequence";
$results = db_query($query);
if (db_num_rows($results)) {
$count = 1;
while ($row = db_fetch_array($results)) {
$rnum = $row['record_num'];
$query = "update $CurrentTable set sequence = $count where record_num = $rnum";
db_query($query);
$count++;
}
}
}
// Set up pagination
$query = "select count(*) num from $CurrentTable";
$results = db_query($query);
$row = db_fetch_array($results);
$number_of_records = $row['num'];
if (!isset($current_page)) $current_page = 1;
$start_record = 0;
$recordsPerPage = 500;
if ($number_of_records > $recordsPerPage) {
if (isset($lookup_where)) {
$page_links = paginateData("$action&lookup_where=".urlencode($lookup_where),$number_of_records,$current_page);
}
else {
$page_links = paginateData($action,$number_of_records,$current_page);
}
$start_record = ($current_page - 1) * $recordsPerPage;
}
$setup_icon = "<img src='images/icons/wizard24.png' alt='Setup School' border='0'>";
$commands = array(
"<a href='/school-setup.php?school_num=%d' target='_blank' title='School Setup'>$setup_icon</a>"
);
$commands = array();
// Get records to display
$columnHeaders = array("Contact","Phone","School Name","City","Time");
$query = "select concat('<nobr><a href=mailto:',email,'>',name,'</a></nobr>'),concat('<nobr>',phone,'</nobr>'),school_name,school_city,best_time,record_num " .
"from $CurrentTable " .
$lookup_where .
"order by $OrderBy";
$results = db_query($query);
$message_width = $default_data_width;
include "form.messages.php";
echo("<center>\n");
echo("<p><b>$TitleText List</b></p>\n");
if (isset($page_links) && strlen($page_links) > 0) echo("<p>$page_links</p>\n");
echo("</center>\n");
listData($results,$columnHeaders,$action,$commands,'Y');
if (isset($page_links) && strlen($page_links) > 0) {
echo("<center>\n");
echo("<p>$page_links</p>\n");
echo("</center>\n");
}
echo("</center>\n");
}
endTemplate();
?>