| Server IP : 122.155.17.190 / Your IP : 216.73.216.78 Web Server : Apache/2 System : Linux cat17190.thaihostserver.com 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-21) x86_64 User : t1bnc ( 1042) PHP Version : 5.6.40 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/t1bnc/domains/t1bnc.ac.th/public_html/albums/ |
Upload File : |
<?
session_start();
set_time_limit(0);
error_reporting(1);
ini_set('display_errors',1);
// >>> เพิ่มใหม่: ขยาย memory_limit เพื่อรองรับการประมวลผลรูปจำนวนมาก (GD ใช้ RAM สูงตอนย่อภาพ) <<<
ini_set('memory_limit', '512M');
Header("Content-Type: text/html; charset=UTF-8");;
if($_SESSION[user]=="")
{
session_destroy();
$message = "กรุณา Login ก่อน.";
$url = "../admin/index.php";
include("../admin/alert.php");
exit;
}
include("../include/function.php");
include("../include/config_db.php");
if($_GET["salb_id"]){$salb_id = $_GET["salb_id"];}else{$salb_id = $_POST["salb_id"];}
if($_GET["c_id"]){ $c_id = $_GET["c_id"];}else{$c_id = $_POST["c_id"];}
$c_alb_title = '';
if($salb_id){
if($salb_id != ''){
$sql = "select * from `activity_album` where (`id`='$salb_id')";
$dbquery = mysql_query($sql) or die("Can't send query!");
$num_rows = mysql_num_rows($dbquery);
if($num_rows>0){
$c_alb_title = mysql_result($dbquery, 0,"alb_title");
}
mysql_free_result($dbquery);
unset($dbquery);
} else {include("../include/close_db.php");die;}
}else {include("../include/close_db.php");die;}
function random_password($len)
{
srand((double)microtime()*10000000);
$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
$ret_str = "";
$num = strlen($chars);
for($i = 0; $i < $len; $i++)
{
$ret_str.= $chars[rand()%$num];
$ret_str.="";
}
return $ret_str;
}
function amod_realpath($path)
{
return (function_exists('realpath')) ? realpath($path) : $path;
}
$file_dir = 'a'.$salb_id.'_a';
$uploald_dir = "../photoThumbnail/albums/".$file_dir;
$uploald_dir_thumb = $uploald_dir."/thumb";
if($_POST["chk_insert"]==1){
if(isset($salb_id))
{
$c_ald_item = 0;
$sql_t = "select * from `activity_album_detail` where (`alb_id`='".$salb_id."') order by `ald_item` Desc Limit 1 ";
$dbquery_t = mysql_query($sql_t);
$num_photo = mysql_num_rows($dbquery_t);
if($num_photo>0){
$c_ald_item = mysql_result($dbquery_t, 0,"ald_item");
mysql_free_result($dbquery_t);
}
if(isset($_FILES["files"]))
{
//สร้าง folder เก็บภาพต้นฉบับ
if ( !@file_exists(@amod_realpath($uploald_dir)) )
{
@mkdir($uploald_dir);
@chmod($uploald_dir, 0777);
if ( !@file_exists(@amod_realpath($uploald_dir)) )
{
echo"<br><br><h3><p align=\"center\"><font color='#0000BB'>ไม่สามารถสร้าง Directory !</font><br><br><a href='add_picture.php?salb_id=".$salb_id."#pageimage'>..กลับไปหน้าเพิ่มรูปภาพ..</a></p></h3></p></h3><br />";
include("../include/close_db.php");
die;
}
}else
{
/* แก้ไข: เดิมพิมพ์ผิดเป็น $upload_dir (ไม่ตรงกับตัวแปรที่ประกาศไว้ $uploald_dir) ทำให้ chmod ไม่ทำงานจริง */
@chmod($uploald_dir, 0777);
}
// End
// สร้าง folder thumbnail เก็บภาพเล็ก
if ( !@file_exists(@amod_realpath($uploald_dir_thumb)) )
{
@mkdir($uploald_dir_thumb);
@chmod($uploald_dir_thumb, 0777);
if ( !@file_exists(@amod_realpath($uploald_dir_thumb)) )
{
echo"<br><br><h3><p align=\"center\"><font color='#0000BB'>ไม่สามารถสร้าง Directory Thumb !</font><br><br><a href='add_picture.php?salb_id=".$salb_id."#pageimage'>..กลับไปหน้าเพิ่มรูปภาพ..</a></p></h3></p></h3><br />";
include("../include/close_db.php");
die;
}
}else
{
@chmod($uploald_dir_thumb, 0777);
}
// End
foreach($_FILES['files']['tmp_name'] as $key => $val)
{
// >>> เพิ่มใหม่: ข้ามไฟล์ที่ error หรือว่าง กันสคริปต์พังกลางทางเมื่ออัพจำนวนมาก <<<
if(!isset($_FILES['files']['error'][$key]) || $_FILES['files']['error'][$key] !== UPLOAD_ERR_OK){
continue;
}
$c_ald_item = $c_ald_item + 1;
$passw = random_password(7);
$path = $uploald_dir;
$file = $_FILES['files']['tmp_name'][$key];
$file_name = $_FILES['files']['name'][$key];
$real_file =$file;
list($width, $height, $type, ) = getimagesize($real_file);
$new_type= "";
if($_FILES['files']['type'][$key]=="image/gif"){ $new_type="IMG_GIF"; }
if($_FILES['files']['type'][$key]=="image/png"){ $new_type="IMG_PNG"; }
if($_FILES['files']['type'][$key]=="image/pjpeg" || $_FILES['files']['type'][$key]=="image/jpeg" ){ $new_type="IMG_JPG"; }
$filenewcon = strstr($file_name,'.');
$filename = substr($file_name,0,strlen($file_name)-4);
$now = "_".date("Ymd");
if(strlen($filename) > 10)
{
$filename = trim(substr($filename,0,10));
}
$filename = $filename.'_';
if(!empty($file))
{
$filesize = $_FILES['files']['size'][$key];
if (($filesize > 1024000) || ($width > 640) || ($height > 680)) // ไฟล์ขนาด > 1 mb หรือ กว้าง > 640 หรือ สูง > 680 ลดขนาดไฟล์
{
if($width>=$height){
$new_width = 640;
$new_height = round(($new_width/$width) * $height);
}else{
$new_height = 680;
$new_width = round(($new_height/$height) * $width);
}
$new_file = "$uploald_dir/$filename$passw$now$filenewcon";
switch ($new_type)
{
case "IMG_GIF":
$image = imagecreatefromgif($real_file);
break;
case "IMG_JPG":
$image = imagecreatefromjpeg($real_file);
break;
case "IMG_PNG":
$image = imagecreatefrompng($real_file);
break;
}
$new_image = ImageCreateTrueColor($new_width, $new_height);
ImageCopyResampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
switch ($new_type)
{
case "IMG_GIF":
imagegif($new_image, $new_file);
break;
case "IMG_JPG":
imagejpeg($new_image, $new_file);
break;
case "IMG_PNG":
imagepng($new_image, $new_file);
break;
}
imagedestroy($image);
imagedestroy($new_image);
@chmod( $new_file, 0666);
// สร้างภาพ thumbnails ขนาด กว้างไม่เกิน 150px สูงไม่เกิน 100px
if($width>=$height){
$new_width = 150;
$new_height = round(($new_width/$width) * $height);
}else{
$new_height = 100;
$new_width = round(($new_height/$height) * $width);
}
$new_file = "$uploald_dir_thumb/t_$filename$passw$now$filenewcon";
switch ($new_type)
{
case "IMG_GIF":
$image = imagecreatefromgif($real_file);
break;
case "IMG_JPG":
$image = imagecreatefromjpeg($real_file);
break;
case "IMG_PNG":
$image = imagecreatefrompng($real_file);
break;
}
$new_image = ImageCreateTrueColor($new_width, $new_height);
ImageCopyResampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
switch ($new_type)
{
case "IMG_GIF":
imagegif($new_image, $new_file);
break;
case "IMG_JPG":
imagejpeg($new_image, $new_file);
break;
case "IMG_PNG":
imagepng($new_image, $new_file);
break;
}
imagedestroy($image);
imagedestroy($new_image);
@chmod( $new_file, 0666);
}
else
{
// สร้างภาพ thumbnails ขนาด กว้างไม่เกิน 150px สูงไม่เกิน 100px
if($width>=$height){
$new_width = 150;
$new_height = round(($new_width/$width) * $height);
}else{
$new_height = 100;
$new_width = round(($new_height/$height) * $width);
}
$new_file = "$uploald_dir_thumb/t_$filename$passw$now$filenewcon";
switch ($new_type)
{
case "IMG_GIF":
$image = imagecreatefromgif($real_file);
break;
case "IMG_JPG":
$image = imagecreatefromjpeg($real_file);
break;
case "IMG_PNG":
$image = imagecreatefrompng($real_file);
break;
}
$new_image = ImageCreateTrueColor($new_width, $new_height);
ImageCopyResampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
switch ($new_type)
{
case "IMG_GIF":
imagegif($new_image, $new_file);
break;
case "IMG_JPG":
imagejpeg($new_image, $new_file);
break;
case "IMG_PNG":
imagepng($new_image, $new_file);
break;
}
imagedestroy($image);
imagedestroy($new_image);
@chmod( $new_file, 0666);
// End thumbnails
// ภาพต้นฉบับ move จาก temp ไป folder เก็บภาพ
move_uploaded_file( $file ,"$path/$filename$passw$now$filenewcon");
@chmod("$path/$filename$passw$now$filenewcon", 0666);
//End move
}//if ($filesize > 1024000)
$sql = "insert into `activity_album_detail` (`alb_id`,`ald_item`,`ald_name`,`ald_photopath`,`date_update`) values ('$salb_id','$c_ald_item','','$filename$passw$now$filenewcon',now())";
$dbquery = mysql_query($sql);
}//if(!empty($file))
}//foreach($_FILES['files']['tmp_name'] as $key => $val)
}//isset($_FILES["file"]))
}//if(isset($salb_id))
}//if($chk_insert==1)
if($_POST["chk_edit"]==1){
$c_ald_name = '';
if(isset($_POST['s_ald_name']))
{
$c_ald_name = $_POST['s_ald_name'];
}
if(isset($c_id))
{
if(isset($_FILES['filephoto']))
{
if(!empty($_FILES['filephoto']['name']))
{
$passw = random_password(7);
$path = $uploald_dir;
$file = $_FILES['filephoto']['tmp_name'];
$file_name = $_FILES['filephoto']['name'];
$real_file =$file;
list($width, $height, $type, ) = getimagesize($real_file);
$new_type= "";
if($_FILES['filephoto']['type']=="image/gif"){ $new_type="IMG_GIF"; }
if($_FILES['filephoto']['type']=="image/png"){ $new_type="IMG_PNG"; }
if($_FILES['filephoto']['type']=="image/pjpeg" || $_FILES['filephoto']['type']=="image/jpeg" ){ $new_type="IMG_JPG"; }
$filenewcon = strstr($file_name,'.');
$filename = substr($file_name,0,strlen($file_name)-4);
$now = "_".date("Ymd");
if(strlen($filename) > 10)
{
$filename = trim(substr($filename,0,10));
}
$filename = $filename.'_';
$filesize =$_FILES['filephoto']['size'];
if (($filesize > 1024000) || ($width > 640) || ($height > 680)) // ไฟล์ขนาด > 1 mb หรือ กว้าง > 640 หรือ สูง > 680 ลดขนาดไฟล์
{
// สร้างภาพ thumbnails ขนาด กว้างไม่เกิน 1000px สูงไม่เกิน 667px
if($width>=$height){
$new_width = 640;
$new_height = round(($new_width/$width) * $height);
}else{
$new_height = 680;
$new_width = round(($new_height/$height) * $width);
}
$new_file = "$uploald_dir/$filename$passw$now$filenewcon";
switch ($new_type)
{
case "IMG_GIF":
$image = imagecreatefromgif($real_file);
break;
case "IMG_JPG":
$image = imagecreatefromjpeg($real_file);
break;
case "IMG_PNG":
$image = imagecreatefrompng($real_file);
break;
}
$new_image = ImageCreateTrueColor($new_width, $new_height);
ImageCopyResampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
switch ($new_type)
{
case "IMG_GIF":
imagegif($new_image, $new_file);
break;
case "IMG_JPG":
imagejpeg($new_image, $new_file);
break;
case "IMG_PNG":
imagepng($new_image, $new_file);
break;
}
imagedestroy($image);
imagedestroy($new_image);
@chmod( $new_file, 0666);
// สร้างภาพ thumbnails ขนาด กว้างไม่เกิน 150px สูงไม่เกิน 100px
if($width>=$height){
$new_width = 150;
$new_height = round(($new_width/$width) * $height);
}else{
$new_height = 100;
$new_width = round(($new_height/$height) * $width);
}
$new_file = "$uploald_dir_thumb/t_$filename$passw$now$filenewcon";
switch ($new_type)
{
case "IMG_GIF":
$image = imagecreatefromgif($real_file);
break;
case "IMG_JPG":
$image = imagecreatefromjpeg($real_file);
break;
case "IMG_PNG":
$image = imagecreatefrompng($real_file);
break;
}
$new_image = ImageCreateTrueColor($new_width, $new_height);
ImageCopyResampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
switch ($new_type)
{
case "IMG_GIF":
imagegif($new_image, $new_file);
break;
case "IMG_JPG":
imagejpeg($new_image, $new_file);
break;
case "IMG_PNG":
imagepng($new_image, $new_file);
break;
}
imagedestroy($image);
imagedestroy($new_image);
@chmod( $new_file, 0666);
}
else
{
// สร้างภาพ thumbnails ขนาด กว้างไม่เกิน 150px สูงไม่เกิน 100px
if($width>=$height){
$new_width = 150;
$new_height = round(($new_width/$width) * $height);
}else{
$new_height = 100;
$new_width = round(($new_height/$height) * $width);
}
$new_file = "$uploald_dir_thumb/t_$filename$passw$now$filenewcon";
switch ($new_type)
{
case "IMG_GIF":
$image = imagecreatefromgif($real_file);
break;
case "IMG_JPG":
$image = imagecreatefromjpeg($real_file);
break;
case "IMG_PNG":
$image = imagecreatefrompng($real_file);
break;
}
$new_image = ImageCreateTrueColor($new_width, $new_height);
ImageCopyResampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
switch ($new_type)
{
case "IMG_GIF":
imagegif($new_image, $new_file);
break;
case "IMG_JPG":
imagejpeg($new_image, $new_file);
break;
case "IMG_PNG":
imagepng($new_image, $new_file);
break;
}
imagedestroy($image);
imagedestroy($new_image);
@chmod( $new_file, 0666);
// End thumbnails
// ภาพต้นฉบับ move จาก temp ไป folder เก็บภาพ
move_uploaded_file( $file ,"$path/$filename$passw$now$filenewcon");
@chmod("$path/$filename$passw$now$filenewcon", 0666);
//End move
}//if ($filesize > 1024000)
$sql = "update `activity_album_detail` set `ald_name`='$c_ald_name',`ald_photopath`='$filename$passw$now$filenewcon',`date_update`=now() where (`id`='$c_id')";
$dbquery = mysql_query($sql) or die("Can't send query !4G");
}//if(!empty($file))
else
{
$sql = "update `activity_album_detail` set `ald_name`='$c_ald_name',`date_update`=now() where (`id`='$c_id')";
$dbquery = mysql_query($sql) or die("Can't send query !2g");
}
}//if(empty(trim($_FILES['filephoto']['name'])))
else
{
$sql = "update `activity_album_detail` set `ald_name`='$c_ald_name',`date_update`=now() where (`id`='$c_id')";
$dbquery = mysql_query($sql) or die("Can't send query !1g");
}
$c_id = "";
}//if(isset($c_id))
}//if($chk_edit==1)
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>ภาพกิจกรรม </title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" integrity="sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJZ4" crossorigin="anonymous">
<script type="text/javascript" src="../include/js/prototype.js"></script>
<script type="text/javascript" src="../include/js/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="../include/js/lightbox.js"></script>
<link rel="stylesheet" href="../include/css/lightbox.css" type="text/css" media="screen">
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background-color: #0099FF;
}
.hflash {display: block;}
.style2 {color: #CC6633}
@media only screen and (max-width: 768px) {
.hflash {
display: none;
}
}
-->
</style>
<script>
// กำหนดจำนวนไฟล์สูงสุด
var MAX_UPLOAD = 100;
// กำหนดขนาดรวมสูงสุด (256 MB)
var MAX_SIZE = 256 * 1024 * 1024;
function checkmaxupload(nvalue)
{
var obj = document.getElementById("files");
if(!obj){
return true;
}
var files = obj.files;
var totalSize = 0;
for(var i=0;i<files.length;i++){
totalSize += files[i].size;
}
// ตรวจสอบจำนวนไฟล์
if(files.length > MAX_UPLOAD){
alert("สามารถอัพโหลดได้สูงสุด " + MAX_UPLOAD + " รูป ต่อครั้ง");
obj.value="";
document.getElementById("csubmit").style.display="none";
return false;
}
// ตรวจสอบขนาดรวม
if(totalSize > MAX_SIZE){
alert("ขนาดไฟล์รวมต้องไม่เกิน 256 MB");
obj.value="";
document.getElementById("csubmit").style.display="none";
return false;
}
// แสดงจำนวนไฟล์ที่เลือก
var info = document.getElementById("upload_info");
if(info){
info.innerHTML =
"เลือกแล้ว <b>"+files.length+"</b> รูป | ขนาดรวม <b>"+(totalSize/1024/1024).toFixed(2)+" MB</b>";
}
document.getElementById("csubmit").style.display="block";
return true;
}
// Preview รูป (โค้ดเดิม)
function loadPicture(pid,fid)
{
var files = fid.files;
for (var i = 0; i < files.length; i++)
{
var file = files[i];
var imageType = /image.*/;
if (!file.type.match(imageType))
{
continue;
}
var img = document.getElementById(pid);
img.file = file;
var reader = new FileReader();
reader.onload = (function(aImg){
return function(e){
aImg.src = e.target.result;
};
})(img);
reader.readAsDataURL(file);
}
}
// >>> เพิ่มใหม่: อัปโหลดแบบแบ่งชุด (chunk) ผ่าน AJAX <<<
// เหตุผล: ค่า max_file_uploads ของ PHP มักถูกจำกัดไว้ที่ 20 ไฟล์/รีเควสต์ (ค่า default)
// ถ้ายิง 100 ไฟล์ในฟอร์มเดียว เซิร์ฟเวอร์จะรับได้แค่ 20 ไฟล์แรกเท่านั้น
// วิธีนี้จะแบ่งไฟล์ทั้งหมดเป็นชุดเล็กๆ แล้วยิงหลายรีเควสต์ทีละชุดแทน
// จึงไม่ต้องพึ่งการแก้ php.ini / .htaccess / .user.ini เลย
var CHUNK_SIZE = 8; // จำนวนไฟล์ต่อ 1 รีเควสต์ (ถ้ายังเจอ error เรื่องขนาดไฟล์รวม ให้ลดตัวเลขนี้ลง เช่น 4 หรือ 5)
async function startChunkUpload()
{
var input = document.getElementById("files");
var files = input.files;
if(!files || files.length === 0){
alert("กรุณาเลือกรูปก่อน");
return;
}
if(files.length > MAX_UPLOAD){
alert("สามารถอัพโหลดได้สูงสุด " + MAX_UPLOAD + " รูป ต่อครั้ง");
return;
}
var totalSize = 0;
for(var i=0;i<files.length;i++){ totalSize += files[i].size; }
if(totalSize > MAX_SIZE){
alert("ขนาดไฟล์รวมต้องไม่เกิน 256 MB");
return;
}
var salbId = document.getElementById("myForm").querySelector("input[name='salb_id']").value;
var fileArray = Array.prototype.slice.call(files);
var chunks = [];
for(var i=0; i<fileArray.length; i+=CHUNK_SIZE){
chunks.push(fileArray.slice(i, i+CHUNK_SIZE));
}
document.getElementById("btnUpload").disabled = true;
document.getElementById("btnUpload").innerText = "กำลังอัปโหลด...";
document.getElementById("progress_wrap").style.display = "block";
var okCount = 0;
var failCount = 0;
for(var c=0; c<chunks.length; c++)
{
var fd = new FormData();
fd.append("salb_id", salbId);
fd.append("chk_insert", "1");
chunks[c].forEach(function(f){ fd.append("files[]", f); });
document.getElementById("progress_text").innerText =
"กำลังอัปโหลดชุดที่ " + (c+1) + " / " + chunks.length + " (" + chunks[c].length + " รูป)";
try {
var resp = await fetch("add_picture.php", {
method: "POST",
body: fd,
credentials: "same-origin"
});
if(resp.ok){
okCount += chunks[c].length;
} else {
failCount += chunks[c].length;
}
} catch(e) {
failCount += chunks[c].length;
}
var pct = Math.round(((c+1)/chunks.length)*100);
var bar = document.getElementById("progress_bar");
bar.style.width = pct + "%";
bar.innerText = pct + "%";
}
var bar = document.getElementById("progress_bar");
var btn = document.getElementById("btnUpload");
if(failCount === 0){
bar.style.background = "#2e7d32"; // เขียว = สำเร็จหมด
btn.innerText = "✓ เสร็จสิ้น";
btn.style.background = "#2e7d32";
btn.style.borderColor = "#2e7d32";
} else {
bar.style.background = "#c62828"; // แดง = มีไฟล์ล้มเหลว
btn.innerText = "เสร็จสิ้น (มีไฟล์ล้มเหลว)";
btn.style.background = "#c62828";
btn.style.borderColor = "#c62828";
}
document.getElementById("progress_text").innerText =
"เสร็จสิ้น: สำเร็จ " + okCount + " รูป" + (failCount>0 ? " | ล้มเหลว " + failCount + " รูป (ลองลด CHUNK_SIZE แล้วอัปโหลดใหม่)" : "") +
" — กำลังโหลดหน้าใหม่...";
// ใช้ location.reload() แทน location.href เพราะถ้า URL เดิมมี #top_page อยู่แล้ว
// การตั้งค่า href เป็น URL เดิม (ต่างกันแค่ hash) เบราว์เซอร์จะไม่โหลดหน้าใหม่จริง
// ทำให้ปุ่ม/สถานะค้างอยู่แบบนั้นโดยไม่ไปไหน
setTimeout(function(){
window.location.reload();
}, 900);
}
</script>
</head>
<body>
<!-- Header -->
<div align="center" >
<table width="980" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top">
<div align="center">
<table width="980" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><table width="980" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"> </td>
</tr>
</table></td>
</tr>
</table>
</div>
</td>
</tr>
<tr>
<td valign="top">
<div align="center">
<style>
body{
font-family:Tahoma, "Sarabun", sans-serif;
}
/* กล่องหลัก */
.admin-wrapper{
width:95%;
max-width:1300px;
margin:20px auto;
background:#fff;
border-radius:18px;
overflow:hidden;
box-shadow:0 10px 35px rgba(0,0,0,.12);
}
/* Header */
.admin-header{
background:linear-gradient(135deg,#1565C0,#1976D2,#42A5F5);
color:#fff;
padding:22px 35px;
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
}
.admin-title{
font-size:30px;
font-weight:bold;
}
.admin-sub{
font-size:14px;
opacity:.9;
}
/* เมนู */
.admin-menu{
background:#ffffff;
border-bottom:1px solid #E5E5E5;
padding:15px 25px;
display:flex;
justify-content:flex-end;
gap:12px;
flex-wrap:wrap;
}
.admin-menu a{
text-decoration:none;
color:#1565C0;
font-weight:bold;
background:#EEF6FF;
border:1px solid #CFE4FF;
padding:10px 20px;
border-radius:30px;
transition:.3s;
}
.admin-menu a:hover{
background:#1565C0;
color:#fff;
transform:translateY(-2px);
}
/* เนื้อหา */
.admin-content{
padding:35px;
min-height:150px;
}
/* กล่องข้อความ */
.notice{
background:#F8FBFF;
border-left:5px solid #1976D2;
padding:18px;
border-radius:8px;
color:#555;
margin-bottom:25px;
}
@media(max-width:768px){
.admin-header{
text-align:center;
justify-content:center;
}
.admin-menu{
justify-content:center;
}
.admin-content{
padding:20px;
}
.admin-title{
font-size:24px;
}
}
</style>
<div class="admin-wrapper">
<div class="admin-header">
<div>
<div class="admin-title">
📸 ระบบจัดการอัลบั้มภาพ
</div>
<div class="admin-sub">
Photo Album Management System
</div>
</div>
</div>
<div class="admin-menu">
<a href="/index.php">
🏠 หน้าแรกของเว็บไซต์
</a>
<a href="../admin/main.php">
🏠 หน้า Admin
</a>
<a href="./add_albums.php#top_page">
📂 จัดการอัลบั้ม
</a>
<a href="../admin/signout.php">
🚪 ออกจากระบบ
</a>
</div>
<a name="top_page"></a>
<div class="admin-content">
<div class="notice">
📢 ยินดีต้อนรับเข้าสู่ระบบจัดการอัลบั้มภาพ
กรุณาเลือกเมนูด้านบนเพื่อเพิ่ม แก้ไข หรือลบรูปภาพในอัลบั้ม
</div>
<!-- เนื้อหาเดิมทั้งหมดของคุณ วางต่อจากตรงนี้ -->
</div>
</div>
</div>
</td>
</tr>
</table>
</div>
<!-- End Header -->
<!-- Content -->
<div class="container">
<div class="row">
<div class="hidden-col col-sm-1"></div>
<div class="col-12 col-sm-10">
<div align="center"></div>
<br>
<div class="row" style="background-color: #ffffff;">
<div class="col-12">
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center" bgcolor="#ffffff" class="magnifyarea">
<tr bgcolor="#1f89d3">
<td align="center" colspan="4"><font color="#ffffff"><b>ภาพกิจกรรม อัลบั้ม [ID <?=$salb_id." ".$c_alb_title;;?>]</b></font> </td>
</tr>
</table>
</div>
</div>
<div class="row" style="background-color: #ffffff;">
<div class="col-12"> </div>
</div>
<!-- Form upload -->
<form id="myForm" action="add_picture.php?salb_id=<?=$salb_id;?>#top_page" method="POST" enctype="multipart/form-data">
<div class="row" style="background-color: #ffffff;">
<?
if(isset($_GET["c_id"]))
{
$sql_t = "select * from `activity_album_detail` where `id`='$c_id' ";
$dbquery_t = mysql_query($sql_t);
$num_photo_edit = mysql_num_rows($dbquery_t);
if($num_photo_edit>0)
{
$result_t = mysql_fetch_assoc($dbquery_t);
$id_DB = $result_t["id"];
$a_item = $result_t["ald_item"];
$photo_DB = $result_t["ald_photopath"];
$photo_DB = trim($photo_DB);
$c_ald_name = $result_t["ald_name"];
if($photo_DB != "")
{
$images = "../photoThumbnail/albums/a".$salb_id."_a/thumb/t_".$photo_DB;
}
else
{
$photo_DB = "noimage.gif";
$images = "images/".$photo_DB;
}
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td width="25%"> </td><td align="left"><b>แก้ไข [รูปที่ <?=$a_item;?>] </b></td></tr>
<tr><td colspan="2" height="5"></td></tr>
<tr>
<td> </td>
<td>
<img src="<?=$images;?>" height="100" id="photoImagephoto" align="absbottom" style="margin-bottom:5px;"><br>
<input type="file" name="filephoto" id="filephoto" size="30" onChange="loadPicture('photoImagephoto',this);">
</td>
</tr>
<tr><td colspan="2" height="3"></td></tr>
<tr>
<td align="right" valign="middle">ข้อความ : </td>
<td><input type="text" name="s_ald_name" id="s_ald_name" size="35" value="<?=$c_ald_name;?>" maxlength="100" style="margin-bottom:5px;"></td>
</tr>
<tr>
<td> </td>
<td>
<input type="submit" value="บันทึก" class="btn btn-primary btn-block" style="max-width:150px;">
<input type="hidden" name="salb_id" value="<?=$salb_id;?>">
<input type="hidden" name="c_id" value="<?=$c_id;?>">
<input type="hidden" name="chk_edit" value="1">
</td>
</tr>
<tr><td height="10" colspan="2"></td></tr>
</table>
<?
}//if($num_photo_edit>0)
} else {?>
<div class="hidden-sm col-md-1"></div>
<div class="col-sm-12 col-md-7">
<div class="form-group">
<input type="file"
multiple
name="files[]"
id="files"
class="form-control"
accept="image/*"
onchange="checkmaxupload(this.files.length);">
<div id="upload_info" style="margin-top:8px;color:#0066cc;font-weight:bold;">
ยังไม่ได้เลือกรูป
</div>
<div id="progress_wrap" style="display:none;margin-top:12px;">
<div style="background:#e5e5e5;border-radius:6px;overflow:hidden;height:22px;">
<div id="progress_bar" style="background:#1976D2;height:100%;width:0%;color:#fff;text-align:center;font-size:12px;line-height:22px;">0%</div>
</div>
<div id="progress_text" style="margin-top:6px;color:#555;font-size:13px;"></div>
</div>
<small style="color:#666;">
อัปโหลดได้สูงสุด <b>100 รูป</b> ต่อครั้ง
(ขนาดรวมไม่เกิน <b>256 MB</b>) — ระบบจะแบ่งอัปโหลดเป็นชุดๆ อัตโนมัติ
</small>
</div>
</div>
<div class="col-sm-12 col-md-3">
<div class="form-group" id="csubmit">
<button type="button" id="btnUpload" class="btn btn-primary btn-block" onclick="startChunkUpload();">อัพโหลดไฟล์</button>
<input type="hidden" name="salb_id" value="<?=$salb_id;?>">
</div>
</div>
<div class="hidden-sm col-md-1"></div>
<?}?>
</div>
</form>
<!-- Display Upload files -->
<div class="row" style="background-color: #ffffff;">
<div class="col-12">
<table width="100%" border="1" cellspacing="0" cellpadding="0" align="center" bgcolor="#ffffff" class="magnifyarea">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">
<?
$sh_order = $_GET["sh_order"];
if(isset($sh_order)){$sp_order = $sh_order;}else{$sp_order = 0;}
if($sh_order==1){$sh_order=0;}else{$sh_order=1;}
?>
<table width="100%" align="center" cellspacing="0" cellpadding="0" frame="below" >
<tr bgcolor="#f5eaea">
<td width="10%" colspan="2"> </a></td>
<td width="10%" align="center"><a href="add_picture.php?sd=1&sh_order=<?=$sh_order;?>&salb_id=<?=$salb_id;?>#top_page" target="_parent">รูปที่</a></td>
<td width="30%"> <a href="add_picture.php?sd=2&sh_order=<?=$sh_order;?>&salb_id=<?=$salb_id;?>#top_page" target="_parent">ข้อความ</a></td>
<td width="30%" align="center">ภาพ </td>
<td width="20%" align="center"><a href="add_picture.php?sd=3&sh_order=<?=$sh_order;?>#top_page" target="_parent">วันที่บันทึก</a></td>
</tr>
</table>
<table width="100%" border="0" align="center" cellspacing="0" cellpadding="0" >
<?
$sql = "select * From `activity_album_detail` where (`alb_id`='".$salb_id."') ";
$sd = trim($_GET["sd"]);
switch ($sd) {
case '1': $sql .= "Order by `ald_item` "; break;
case '2': $sql .= "Order by `ald_name` "; break;
case '3': $sql .= "Order by `date_update` "; break;
//case '4': $sql .= "Order by `ald_counter` "; break;
default : $sql .= "Order by `id` ";
}
if($sh_order==1){$sql .= "DESC ";}else {$sql .= "ASC ";}
$item = 0;
$Per_Page = 20;
if(!$_GET['Page']){$Page=1;}else{$Page = $_GET['Page'];}
$Prev_Page = $Page-1;
$Next_Page = $Page+1;
$Page_start = ($Per_Page*$Page)-$Per_Page;
$sql_2 = "SELECT COUNT(*) AS num_rows_2 FROM `activity_album_detail` where (`alb_id`='".$salb_id."') ";
$dbquery = mysql_query($sql_2);
$Num_Rows = mysql_num_rows($dbquery);
if($Num_Rows>0){
$Num_Rows = mysql_result($dbquery, 0,"num_rows_2");
}
mysql_free_result($dbquery);
unset($dbquery);
if($Num_Rows<=$Per_Page)
$Num_Pages =1;
else if(($Num_Rows % $Per_Page)==0)
$Num_Pages =($Num_Rows/$Per_Page) ;
else
$Num_Pages =($Num_Rows/$Per_Page) +1;
$Num_Pages = (int)$Num_Pages;
if(($Page>$Num_Pages) || ($Page<0))
print "<center><b>ยังไม่มีข้อมูล<b></center>";
$sql .= "LIMIT $Page_start , $Per_Page";
//ส่วนแสดงผล
$result = mysql_query($sql);
$item = ($Page-1) * $Per_Page;
While($row= mysql_fetch_assoc($result)){
$item = $item + 1;
$c_id = $row["id"];
$c_ald_item = $row["ald_item"];
$c_ald_name = $row["ald_name"];
$c_thumb = $row["ald_photopath"];
$c_thumb = trim($c_thumb);
$c_counter = $row["ald_counter"];
$c_date_update = $row["date_update"];
$file_dir = 'a'.$salb_id.'_a';
$images = "";
$images2 = "";
if($c_thumb != ""){
$images = "../photoThumbnail/albums/".$file_dir."/thumb/t_".$c_thumb;
$images2 = "../photoThumbnail/albums/".$file_dir."/".$c_thumb;
}
else{
$images = "images/noimage.gif";
$images2 = "images/noimage.gif";
}
$bcolor = "#ffffff";
if(($item %2)==0){
$bcolor = "#e5e5e5";
}
$code_1 = $c_ald_name;
?>
<tr> <td height="10" colspan="6"></td></tr>
<tr bgcolor="<?=$bcolor;?>">
<td width="5%" align="center">
<?
echo "<a href='add_picture.php?c_id=".$c_id."&salb_id=".$salb_id."#top_page'>แก้ไข</a> ";
?>
</td>
<td width="5%"align="center">
<?
echo "<a href='del_data.php?c_id=".$c_id."&chk_p=2&c_thumb=".$c_thumb."&code_id=".$salb_id."&sald_item=".$c_ald_item."&code_1=".$code_1."#toppage'>ลบ</a> ";
?>
</td>
<td width="10%" align="center">
<?= $c_ald_item;?>
</td>
<td width="30%">
<?= $c_ald_name;?>
</td>
<td width="30%" align="center">
<? echo "<a href=\"".$images2."\" rel=\"lightbox[pictureslide]\" title=\"".$c_ald_name."\"><img src=\"$images\" height=\"100\" alt=\"\" /></a> "; ?> </td>
<td width="20%" align="center">
<?= $c_date_update;?>
</td>
</tr>
<?}?>
</table>
<hr align="center" width="100%" noshade size="1">
<div align="center"><br><font size="2">
จำนวนรายการ :
<?= $Num_Rows;?> 
,หน้าทั้งหมด : <b>
<?=$Num_Pages;?>
</b> หน้า :
<?
$PHP_SELF = $_SERVER['PHP_SELF'];
if($Prev_Page)
echo " <a href='$PHP_SELF?Page=".$Prev_Page."&sd=".$sd."&sh_order=".$sp_order."&salb_id=".$salb_id."#top_page'><<ย้อนกลับ</a> ";
$Show_Page = 10;
$s1 = $Page - $Show_Page;
if($s1 <= 0 ){$s1 = 1;}
$s2 = $Page + $Show_Page;
if($s2 > $Num_Pages){$s2 = $Num_Pages;}
if($s1 == 1 ){
$s2 = $Show_Page+10;
if($s2 > $Num_Pages){$s2 = $Num_Pages;}
}
if(($s2 == $Num_Pages) &&($s1 != 1)){
$s1 = $Num_Pages-20;
if($s1 <= 0 ){$s1 = 1;}
}
for($i=$s1; $i<=$s2; $i++)
{
if($i != $Page)
{
echo "[<a href='$PHP_SELF?Page=".$i."&sd=".$sd."&sh_order=".$sp_order."&salb_id=".$salb_id."#top_page'>$i</a>]";
}
else
{
echo "<b> $i </b>";
}
}
if($Num_Pages>($i-1))
{
if($Num_Pages>($i+1))
{
$bNum_Pages = $Num_Pages - 1;
echo "...[<a href ='$PHP_SELF?Page=".$bNum_Pages."&sd=".$sd."&sh_order=".$sp_order."&salb_id=".$salb_id."#top_page'>".$bNum_Pages."</a>]";
}else if($Num_Pages==($i+1))
{
$bNum_Pages = $i;
echo "[<a href ='$PHP_SELF?Page=".$bNum_Pages."&sd=".$sd."&sh_order=".$sp_order."&salb_id=".$salb_id."#top_page'>".$bNum_Pages."</a>]";
}
echo "[<a href ='$PHP_SELF?Page=".$Num_Pages."&sd=".$sd."&sh_order=".$sp_order."&salb_id=".$salb_id."#top_page'>".$Num_Pages."</a>]";
}
if($Page!=$Num_Pages)
echo " <a href ='$PHP_SELF?Page=".$Next_Page."&sd=".$sd."&sh_order=".$sp_order."&salb_id=".$salb_id."#top_page'>ถัดไป>></a> ";
mysql_free_result($result);
unset($result);
unset($dbquery);
?>
</font>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="hidden-col col-sm-1"></div>
</div>
<div class="row"><div class="col"> <br> </div></div>
</div>
<!-- End Content -->
</body>
</html>
<?include("../include/close_db.php");?>