First Commit
This commit is contained in:
1 parent
5eb9dd037d
commit
2e62c0e60b
11877 files changed
+2035312
No files matched your search
@@ -0,0 +1,228 @@
|
||||
<?php
|
||||
require_once("include/globals.php");
|
||||
|
||||
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
||||
header("Location: /");
|
||||
exit();
|
||||
}
|
||||
|
||||
|
||||
// Ensure that only valid user types have access to this module
|
||||
$AllowedUserTypes = array('SuperUser','System Administrator','Communications Administrator');
|
||||
if (checkPermission($AllowedUserTypes) != 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Process all actions to list and edit records
|
||||
//
|
||||
$CurrentTable = "photo_gallery_images";
|
||||
$DeleteField = "photo";
|
||||
$dSeparator = "";
|
||||
$FormFile = "photo_gallery_images.form.php";
|
||||
$TitleText = "Gallery Image";
|
||||
$OrderBy = "sequence,photo";
|
||||
$Sequence = 'Y';
|
||||
|
||||
|
||||
if (array_key_exists('naction',$_GET)) $naction = $_GET['naction'];
|
||||
if (array_key_exists('naction',$_POST)) $naction = $_POST['naction'];
|
||||
|
||||
if (array_key_exists('gallery_num',$_GET)) $gallery_num = intval($_GET['gallery_num']);
|
||||
if (array_key_exists('gallery_num',$_POST)) $gallery_num = intval($_POST['gallery_num']);
|
||||
|
||||
if (array_key_exists('record_num',$_GET)) $record_num = intval($_GET['record_num']);
|
||||
if (array_key_exists('record_num',$_POST)) $record_num = intval($_POST['record_num']);
|
||||
|
||||
$school_num = $school_record['record_num'];
|
||||
|
||||
|
||||
|
||||
switch (strtolower($naction)) {
|
||||
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&gallery_num=$gallery_num&form_message=" . urlencode($form_message));
|
||||
exit();
|
||||
|
||||
case "delete-confirmed":
|
||||
$record_num = intval($_GET['record_num']);
|
||||
|
||||
// Get record
|
||||
$query = "select * from $CurrentTable where record_num = $record_num";
|
||||
$results = db_query($query);
|
||||
$row = db_fetch_array($results);
|
||||
$file_name = $row['photo'];
|
||||
$thumbnail = $row['thumbnail'];
|
||||
|
||||
// Delete files if they exists
|
||||
if (is_file("$gallerydir/$file_name")) {
|
||||
unlink("$gallerydir/$file_name");
|
||||
}
|
||||
|
||||
if (is_file("$gallerydir/$thumbnail")) {
|
||||
unlink("$gallerydir/$thumbnail");
|
||||
}
|
||||
|
||||
// Delete the current record
|
||||
$query = "delete from $CurrentTable where record_num = $record_num";
|
||||
db_query($query);
|
||||
|
||||
$form_message = getLanguageText('RECORD-DELETED-MSG');
|
||||
$naction = "list";
|
||||
|
||||
header("Location: /?action=$action&naction=$naction&gallery_num=$gallery_num&form_message=" . urlencode($form_message));
|
||||
exit();
|
||||
|
||||
case 'upload-images':
|
||||
extract($_POST);
|
||||
$errorMessages = array();
|
||||
$successMessages = array();
|
||||
$numUploaded = 0;
|
||||
|
||||
$table = new Table("photo_gallery_images");
|
||||
|
||||
// Process each image field
|
||||
for ($i = 1; $i <= 10; $i++) {
|
||||
$fname = "filename$i";
|
||||
$temp_name = $_FILES[$fname]['tmp_name'];
|
||||
$image_name = $_FILES[$fname]['name'];
|
||||
$file_name = str_replace(' ','_',$_FILES[$fname]['name']);
|
||||
|
||||
if (strlen($file_name) == 0) continue;
|
||||
|
||||
// Check for valid document types
|
||||
if (stripos(".jpg",$file_name) === false && stripos(".jpeg",$file_name) === false && stripos(".jpe",$file_name) === false && stripos(".gif",$file_name) === false) {
|
||||
$errorMessages[] = getLanguageText('MSG-INVALID-IMAGE-TYPE');
|
||||
continue;
|
||||
}
|
||||
|
||||
// Determine the file extension
|
||||
list($fname,$ext) = explode('.',$file_name);
|
||||
|
||||
// Assign the image name
|
||||
$image_num = 1;
|
||||
$last_image_num = db_getVal("SELECT max(image_num) FROM photo_gallery_images WHERE school_num = $school_num");
|
||||
if ($last_image_num > 0) $image_num = $last_image_num + 1;
|
||||
|
||||
$photo = "gallery-" . sprintf("%05d",$image_num) . $ext;
|
||||
$thumbnail = "gallery-" . sprintf("%05d",$image_num) . "-tn" . $ext;
|
||||
|
||||
$date_uploaded = date("Y-m-d",time());
|
||||
$sequence = intval(db_getVal("SELECT max(sequence) FROM photo_gallery_images WHERE school_num = $school_num AND gallery_num = $gallery_num"));
|
||||
$sequence++;
|
||||
|
||||
// Move file to documents folder
|
||||
if (!move_uploaded_file($temp_name,"$gallerydir/$photo")) {
|
||||
$errorMessages[] = getLanguageText('MSG-UPLOAD-ERRORS');
|
||||
}
|
||||
else {
|
||||
$successMessages[] = getLanguageText('MSG-IMAGES-UPLOADED');
|
||||
$numUploaded++;
|
||||
|
||||
// Setup image conversion if required
|
||||
$cmd="/usr/bin/convert";
|
||||
$target = "$gallerydir/temp";
|
||||
|
||||
// Check if image is too large
|
||||
$image_size = GetImageSize("$gallerydir/$photo");
|
||||
$image_width = $image_size[0];
|
||||
$image_height = $image_size[1];
|
||||
|
||||
// Check which is largest dimension
|
||||
if ($image_width >= $image_height) {
|
||||
// Create the thumbnail
|
||||
$height = intval($image_height * $maxGalleryThumbDimension / $image_width);
|
||||
$command = "$cmd -size {$image_width}x$image_height $gallerydir/$photo -resize {$maxGalleryThumbDimension}x$height +profile \"*\" $target";
|
||||
exec($command);
|
||||
rename($target,"$gallerydir/$thumbnail");
|
||||
|
||||
if ($image_width > $maxGalleryImageDimension) {
|
||||
// Resize the photo
|
||||
$height = intval($image_height * $maxGalleryImageDimension / $image_width);
|
||||
$command = "$cmd -size {$image_width}x$image_height $gallerydir/$photo -resize {$maxGalleryImageDimension}x$height +profile \"*\" $target";
|
||||
exec($command);
|
||||
unlink("$gallerydir/$photo");
|
||||
rename($target,"$gallerydir/$photo");
|
||||
}
|
||||
}
|
||||
else {
|
||||
// Create the thumbnail
|
||||
$width = intval($image_width * $maxGalleryThumbDimension / $image_height);
|
||||
$command = "$cmd -size {$image_width}x{$image_height} $gallerydir/$photo -resize {$width}x{$maxGalleryThumbDimension} +profile \"*\" $target";
|
||||
exec($command);
|
||||
rename($target,"$gallerydir/$thumbnail");
|
||||
|
||||
if ($image_height > $maxGalleryImageDimension) {
|
||||
// Resize the photo
|
||||
$width = intval($image_width * $maxGalleryImageDimension / $image_height);
|
||||
$command = "$cmd -size {$image_width}x{$image_height} $gallerydir/$photo -resize {$width}x{$maxGalleryImageDimension} +profile \"*\" $target";
|
||||
exec($command);
|
||||
unlink("$gallerydir/$photo");
|
||||
rename($target,"$gallerydir/$photo");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Save image data to table
|
||||
$query = $table->BuildInsert();
|
||||
db_query($query);
|
||||
}
|
||||
}
|
||||
|
||||
if (count($errorMessages) == 0) {
|
||||
if ($numUploaded > 0) {
|
||||
$form_message = "$numUploaded " . getLanguageText('MSG-IMAGES-UPLOADED');
|
||||
}
|
||||
else {
|
||||
$error_message = getLanguageText('MSG-ZERO-UPLOADED');
|
||||
}
|
||||
}
|
||||
else $error_message = getLanguageText('MSG-UPLOAD-ERRORS');
|
||||
|
||||
$naction = "list";
|
||||
if (!isset($form_message)) $form_message = '';
|
||||
header("Location: /?action=$action&naction=$naction&gallery_num=$gallery_num&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message));
|
||||
exit();
|
||||
|
||||
case 'delete-image-confirmed':
|
||||
$photo = $_POST['selected_image'];
|
||||
unlink("$gallerydir/$photo");
|
||||
|
||||
$form_message = getLanguageText('MSG-IMAGE-DELETED');
|
||||
$naction = "list";
|
||||
header("Location: /?action=$action&naction=$naction&gallery_num=$gallery_num&form_message=" . urlencode($form_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 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&gallery_num=$gallery_num&form_message=" . urlencode($form_message));
|
||||
exit();
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in new issue
Block a user