266 lines
8.3 KiB
PHP
266 lines
8.3 KiB
PHP
<?php
|
|
require_once("include/globals.php");
|
|
|
|
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
|
header("Location: /");
|
|
exit();
|
|
}
|
|
|
|
|
|
//
|
|
// Process all actions to list and edit records
|
|
//
|
|
$action = "how-to-guides";
|
|
$CurrentTable = "how_to_guides";
|
|
$DeleteField = "title,uploaded_date";
|
|
$dSeparator = "<br>\n";
|
|
$FormFile = "how_to_guides.form.php";
|
|
$TitleText = "How to Guides";
|
|
$OrderBy = "category_sequence,sequence,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','Administration Team');
|
|
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();
|
|
}
|
|
|
|
|
|
|
|
// Determine if there are document categories defined
|
|
$numCats = db_getVal("SELECT count(*) FROM how_to_guide_categories");
|
|
if ($numCats == 0) {
|
|
$error_message = getLanguageText('ERRORMSG-NO-DOCUMENT-CATEGORIES');
|
|
}
|
|
|
|
|
|
if (array_key_exists('naction',$_GET)) $naction = $_GET['naction'];
|
|
if (array_key_exists('naction',$_POST)) $naction = $_POST['naction'];
|
|
|
|
|
|
// Perform the requested action
|
|
switch (strtolower($naction)) {
|
|
case 'add':
|
|
// Unable to insert if there are no document categories
|
|
if ($numCats == 0) {
|
|
$error_message = getLanguageText('ERRORMSG-NO-DOCUMENT-CATEGORIES');
|
|
header("Location: /?action=document-categories&naction=add&error_message=".urlencode($error_message));
|
|
exit();
|
|
}
|
|
|
|
$next_naction = "upload";
|
|
include $FormFile;
|
|
break;
|
|
|
|
case 'upload':
|
|
extract($_POST);
|
|
|
|
$temp_name = $_FILES['filename']['tmp_name'];
|
|
$file_name = str_replace(' ','_',$_FILES['filename']['name']);
|
|
|
|
// Remove accents and special characters from file names
|
|
$file_name = normalizeString($file_name);
|
|
|
|
$uploaddir = "how-to-guides";
|
|
|
|
|
|
$error_message = '';
|
|
|
|
// Check that a title has been entered
|
|
if (strlen($title) == 0) {
|
|
$title = $_FILES['filename']['name'];
|
|
}
|
|
|
|
if (strlen($temp_name) && strlen($file_name)) {
|
|
// Check if a file with this name already exists
|
|
if (is_file("$uploaddir/$file_name")) {
|
|
$error_message = "Unable to upload file - $file_name exists already";
|
|
}
|
|
|
|
// Move file to documents folder
|
|
if (!move_uploaded_file($temp_name,"$uploaddir/$file_name")) {
|
|
$error_message = "Unable to upload file - $uploaddir/$file_name";
|
|
}
|
|
}
|
|
else {
|
|
if (isset($selected_filename) && strlen($selected_filename)) $file_name = $selected_filename;
|
|
if (strlen($title) == 0) $title = str_replace('_',' ',$file_name);
|
|
}
|
|
|
|
// If there has been an error then display form again
|
|
if (strlen($error_message) > 0) {
|
|
$next_naction = "upload";
|
|
include $FormFile;
|
|
break;
|
|
}
|
|
|
|
|
|
// Get new sequence number
|
|
if ($Sequence == 'Y') {
|
|
$query = "select max(sequence) sequence from $CurrentTable " .
|
|
"where category_num = $category_num";
|
|
$results = db_query($query);
|
|
$row = db_fetch_array($results);
|
|
$sequence = intval($row['sequence']) + 1;
|
|
}
|
|
|
|
// Update database
|
|
$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";
|
|
|
|
$record_num = intval($_GET['record_num']);
|
|
$query = "select * from how_to_guides where record_num = $record_num";
|
|
$results = db_query($query);
|
|
$row = db_fetch_array($results);
|
|
extract($row);
|
|
|
|
include $FormFile;
|
|
break;
|
|
|
|
case 'update':
|
|
$document_date = $_POST['document_date'];
|
|
$title = $_POST['title'];
|
|
$display = $_POST['display'];
|
|
$rnum = $_POST['rnum'];
|
|
|
|
// Update database
|
|
$table = new Table("how_to_guides");
|
|
$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-confirmed":
|
|
extract($_GET);
|
|
|
|
// Get file name
|
|
$file_name = db_getVal("SELECT file_name FROM how_to_guides WHERE record_num = $record_num");
|
|
|
|
// Delete record from database
|
|
$query = "delete from how_to_guides " .
|
|
"where record_num = $record_num";
|
|
db_query($query);
|
|
|
|
$form_message = getLanguageText('RECORD-DELETED-MSG');
|
|
$naction = "list";
|
|
header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message));
|
|
exit();
|
|
|
|
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");
|
|
|
|
$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:
|
|
$date = date("Y-m-d",time());
|
|
$naction = "list";
|
|
break;
|
|
}
|
|
|
|
|
|
//
|
|
// List all records if naction is "list"
|
|
//
|
|
if ($naction == "list") {
|
|
?>
|
|
<script>
|
|
|
|
$(document).ready(function() {
|
|
|
|
<?php include "include/ajax.Setup.php" ?>
|
|
|
|
$("#data-table").tableDnD({
|
|
onDrop: function(table, row) {
|
|
var rows = table.tBodies[0].rows;
|
|
var data = "&table=how_to_guides&school_num=<?php echo($school_num) ?>";
|
|
for (var i=0; i<rows.length; i++) {
|
|
var rowid = rows[i].id;
|
|
data += "&row_ids[]="+rowid;
|
|
|
|
// Update row classes
|
|
$("#"+rowid).removeClass("data-even");
|
|
$("#"+rowid).removeClass("data-odd");
|
|
if (i % 2) $("#"+rowid).addClass("data-even");
|
|
else $("#"+rowid).addClass("data-odd");
|
|
}
|
|
$.ajax({
|
|
url: "ajax.SequenceRecords.php",
|
|
data: data
|
|
});
|
|
}
|
|
});
|
|
|
|
});
|
|
|
|
</script>
|
|
<?php
|
|
|
|
$scriptName = str_replace("/m/data1/app.hotlunches.net/","",__FILE__);
|
|
include "help.docs.php";
|
|
|
|
// Get set of document records
|
|
$columnHeaders = array(getLanguageText('TEXT-CATEGORY'),
|
|
getLanguageText('TEXT-TITLE'),
|
|
getLanguageText('TEXT-DATE-ADDED'));
|
|
$query = "SELECT category,title,uploaded_date,h.record_num " .
|
|
"FROM how_to_guides AS h, how_to_guide_categories as hc " .
|
|
"WHERE h.category_num = hc.record_num " .
|
|
"ORDER BY hc.sequence,h.sequence,title";
|
|
|
|
$results = db_query($query);
|
|
|
|
include "form.messages.php";
|
|
|
|
$view_icon = "<img src='images/icons/filesearch24.png' alt='View How to Guide' border='0'>";
|
|
$commands = array("<a href='view-guide.php?dnum=%d' title='View How to Guide'>$view_icon</a>");
|
|
|
|
$useRowIDS = true;
|
|
$multipleTableBodies = true;
|
|
listData($results,$columnHeaders,$action,$commands,'N');
|
|
?>
|
|
<br>
|
|
<p><a href='?action=how-to-guides&naction=add' class='btn btn--primary>'> Upload New </a></p>
|
|
<?php
|
|
}
|
|
|
|
endTemplate();
|
|
?>
|