\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") {
?>
";
$commands = array("$view_icon");
$useRowIDS = true;
$multipleTableBodies = true;
listData($results,$columnHeaders,$action,$commands,'N');
?>