210 lines
6.6 KiB
PHP
210 lines
6.6 KiB
PHP
<?php
|
|
require_once("include/globals.php");
|
|
|
|
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
|
header("Location: /");
|
|
exit();
|
|
}
|
|
|
|
|
|
//
|
|
// Process all actions to list and edit records
|
|
//
|
|
$CurrentTable = "photo_gallery_categories";
|
|
$DeleteField = "category_title";
|
|
$dSeparator = " ";
|
|
$FormFile = "photo_gallery_categories.form.php";
|
|
$TitleText = "Gallery Category";
|
|
$OrderBy = "sequence,category_title";
|
|
$Sequence = 'Y';
|
|
|
|
|
|
// 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','System Administrator','Communications Administrator');
|
|
if (checkPermission($AllowedUserTypes) != 1) {
|
|
$error_message = getLanguageText('ERRORMSG-ACCESS-DENIED');
|
|
$action = '';
|
|
$naction = '';
|
|
header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message));
|
|
exit();
|
|
}
|
|
|
|
|
|
|
|
$naction = "";
|
|
if (array_key_exists('naction',$_GET)) $naction = $_GET['naction'];
|
|
if (array_key_exists('naction',$_POST)) $naction = $_POST['naction'];
|
|
|
|
$school_num = $school_record['record_num'];
|
|
|
|
|
|
switch (strtolower($naction)) {
|
|
case "add":
|
|
$next_naction = "insert";
|
|
$active = 'Y';
|
|
|
|
include $FormFile;
|
|
break;
|
|
|
|
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) {
|
|
$row = db_fetch_array($results);
|
|
extract($row);
|
|
include $FormFile;
|
|
}
|
|
else {
|
|
$error_message = getLanguageText('ERRORMSG-NOT-FOUND');
|
|
$naction = 'list';
|
|
header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message));
|
|
exit();
|
|
}
|
|
break;
|
|
|
|
case "delete":
|
|
$record_num = intval($_GET['record_num']);
|
|
|
|
// Check if there are galleries in this category
|
|
$query = "select count(*) num from photo_galleries " .
|
|
"where school_num = $school_num " .
|
|
"and category_num = $record_num";
|
|
$count = db_getVal($query);
|
|
|
|
if ($count > 0) {
|
|
$error_message = "Error: This category has galleries in it. Unable to delete";
|
|
$naction = 'list';
|
|
break;
|
|
}
|
|
|
|
$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');
|
|
$naction = 'list';
|
|
header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message));
|
|
exit();
|
|
}
|
|
break;
|
|
|
|
case "search":
|
|
$PageTitle = "Search for a $TitleText";
|
|
$ButtonText = "Lookup $TitleText";
|
|
$ChoosePagination = 'Y';
|
|
$next_naction = "lookup";
|
|
|
|
include $FormFile;
|
|
break;
|
|
|
|
case "lookup":
|
|
extract($_POST);
|
|
$table = new Table("$CurrentTable");
|
|
$lookup_query = $table->BuildQuery("","","gc.");
|
|
$lookup_where = "";
|
|
if (strpos("where ",$lookup_query) !== false) $lookup_where = preg_replace("/.* where/i","where",$lookup_query);
|
|
if (strpos("order by ",$lookup_where) !== false) $lookup_where = preg_replace("/ order by .*/i","",$lookup_where);
|
|
$naction = "list";
|
|
$TitleText = "$TitleText Lookup";
|
|
break;
|
|
|
|
case "fetch":
|
|
$lookup_where = "where photo_gallery_category.record_num = $record_num";
|
|
$naction = "list";
|
|
$TitleText = "$TitleText Lookup";
|
|
break;
|
|
|
|
case "save-sort":
|
|
// Parse the hidden fields to update the sort sequence in the database
|
|
if (array_key_exists('row_sequence',$_POST) && strlen($_POST['row_sequence']) > 0) {
|
|
// Update the sequence to avoid duplicate keys
|
|
db_query("UPDATE $CurrentTable SET sequence = sequence + 1000 WHERE school_num = $school_num");
|
|
|
|
$row_sequence = db_escape_string(trim($_POST['row_sequence'], ", "));
|
|
$item_sequence = explode(',',$row_sequence);
|
|
for ($i = 0; $i < count($item_sequence); $i++) {
|
|
$rnum = $item_sequence[$i];
|
|
$sequence = $i + 1;
|
|
$query = "update $CurrentTable set sequence = $sequence where record_num = $rnum";
|
|
db_query($query);
|
|
}
|
|
}
|
|
|
|
$form_message = getLanguageText('RECORDS-SORTED-MSG');
|
|
$naction = 'list';
|
|
header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message));
|
|
exit();
|
|
|
|
default:
|
|
$naction = "list";
|
|
break;
|
|
}
|
|
|
|
|
|
//
|
|
// List all records if naction is "list"
|
|
//
|
|
if ($naction == "list") {
|
|
|
|
?>
|
|
<script src="include/TableDnD.js" type="text/javascript"></script>
|
|
<?php
|
|
|
|
// Ensure that the school_num is included in the lookup_where
|
|
if (isset($lookup_where) && strlen($lookup_where) > 0) {
|
|
$lookup_where .= " and gc.school_num = $school_num ";
|
|
}
|
|
else {
|
|
$lookup_where = "where gc.school_num = $school_num ";
|
|
}
|
|
|
|
|
|
$scriptName = str_replace("/m/data1/app.hotlunches.net/","",__FILE__);
|
|
include "help.docs.php";
|
|
|
|
// Get records to display
|
|
$columnHeaders = array(getLanguageText('TEXT-TITLE'),
|
|
getLanguageText('TEXT-COUNT')
|
|
);
|
|
$columnAlign = array('left','center');
|
|
$query = "select category_title,count(g.record_num),gc.sequence,gc.record_num " .
|
|
"from photo_gallery_categories as gc left join photo_galleries as g on g.category_num = gc.record_num " .
|
|
$lookup_where .
|
|
"group by 1,3,4 " .
|
|
"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");
|
|
|
|
sortData($results,$columnHeaders,$action,array(),'Y',$columnAlign);
|
|
|
|
echo("</center>\n");
|
|
}
|
|
|
|
endTemplate();
|
|
?>
|