403Webshell
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/public_html/albums/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/t1bnc/public_html/albums/add_picture.php
<?
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">&nbsp;</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">&nbsp;</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%">&nbsp;</td><td align="left"><b>แก้ไข [รูปที่ <?=$a_item;?>] </b></td></tr>
							<tr><td colspan="2" height="5"></td></tr>
							<tr>
								<td>&nbsp;</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">ข้อความ : &nbsp;</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>&nbsp;</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">&nbsp;</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%">&nbsp;&nbsp;<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">ภาพ&nbsp;&nbsp;</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>&nbsp;";
											?>						
											</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>&nbsp;";
											?>						
											</td>
											<td width="10%" align="center">
											<?= $c_ald_item;?>						
											</td>
											<td width="30%">&nbsp;&nbsp;
											<?= $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;?>&nbsp
											,หน้าทั้งหมด : <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">&nbsp;<br>&nbsp;</div></div>
    </div>
	<!-- End Content -->

</body>
</html>

<?include("../include/close_db.php");?>

Youez - 2016 - github.com/yon3zu
LinuXploit