403Webshell
Server IP : 182.53.201.61  /  Your IP : 216.73.217.175
Web Server : Apache/2.2.15 (Fedora)
System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686
User : apache ( 48)
PHP Version : 5.3.3
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/lineLocal/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/lineLocal/action.php
<?php
function Response($curlurl,$rToken,$uID,$botID,$message){
	include('config.php');
	$mysqli = new mysqli($database_host, $database_username, $database_password, $database_name, $database_port);
	$mysqli->set_charset("utf8");
	if ($mysqli->connect_error)  return 'CE';
	$Ret = 'OL';  //Old LineID
	$mUser ='Unknown';
	$mDept ='Unknown';
	$mName ='';
	$Conn = $mysqli->query("SELECT  * from user where lineID='$uID' "); //หาว่า LineID นี้คือใคร > userID
	while($emp = $Conn->fetch_array()){
		$mUser = $emp['userID'];
		$mDept = $emp['department'];
		$mName = $emp['name'];
		break;
	}
	if  (($mUser == 'Unknown') || ($mDept == 'Unknown')){  						//  ไม่พบ ID  
		if (substr($message,0,1)=='*' && !(strpos($message,'#') === false)){ 	//  เป็นข้อความแจ้ง ID ขอลงทะเบียน
			$nPos  = strpos($message,'#');
			$mUser = substr($message,1,$nPos-1);
			$mName = substr($message,$nPos+1);
			if (substr($mName,1,1) == 'C'){    //เปลี่ยน Bot
				$mName = substr($mName,2,1);
				$Conn = $mysqli->query("Update user set  lineID = '$uID',BotID='$botID' where userID='$mUser' and BotID='$mName'");
				mysqli_free_result($Conn);	
				$Ret = 'UC';
			} else {
				$nPos  = strpos($mName,'#');
				$mDept = trim(substr($mName,$nPos+1));
				$mName = substr($mName,0,$nPos);
				$nPos  = strrpos($mDept,'#');
				$oName ='';
				$oDept = '';
				if (!($nPos === false)) $mDept = substr($mDept,0,$nPos); 			//ตัด # ตัวท้ายถ้ามี
				$nPos=0;
				$Conn = $mysqli->query("SELECT  * from user where userID='$mUser'");
				while($emp = $Conn->fetch_array()){ 											//userID ซ้ำได้ เพราะมีหลาย LineID
					$mId = $emp['lineID'];
					if (is_null($mId) ||  empty($mId) ) $nPos = $emp['id']; 			//พบ userID	แต่ไม่มี  lineID ใช้ Reccord นี้ (id)
					$oName = $emp['name'];
					$oDept = $emp['department'];
				}
				mysqli_free_result($Conn);
				if ($nPos == 0) {	    			//ไม่พบ userID หรือพบแต่ไม่มีที่ ไม่มี lineID  -> เพิ่ม Reccord ใหม่
					$sQl = "INSERT INTO user (userID,lineID,name,department,BotID)
					values ('$mUser','$uID','$mName','$mDept','$botID')";
					$Conn = $mysqli->query($sQl);
					mysqli_free_result($Conn);	
					$sQl = "SELECT * From user where userID='$mUser' and lineID='$uID' and BotID='$botID'";
					$Conn= $mysqli->query($sQl);
					$row_cnt = $Conn->num_rows;
					if ($row_cnt >= 1) $Ret = 'AA';
					else $Ret = 'ER';
					mysqli_free_result($Conn);	
				} else {  								//พบ userID ที่ไม่มี lineID -> update lineID
					$sQl = "Update user set  lineID = '$uID',BotID='$botID'";
					if (!empty($mName)) $sQl = $sQl .",name = '$mName'";
					if (!empty($mDept)) $sQl = $sQl .",department = '$mDept'";
					$sQl = $sQl . " where  id =$nPos";
					$Conn = $mysqli->query($sQl);
					mysqli_free_result($Conn);	
					$Ret = 'UP';
				}
			}
		} else $Ret = 'UR';					//ไม่ได้ลงทะเบียนและไม่ได้เป็นข้อความลงทะเบียน
	} else {		//พบ USER
		if (substr($message,0,1)=='*' && !(strpos($message,'#') ===false)) {  //ข้อมูลเดิม ขอลงทะเบียนมาอีก -> update  เช่นชื่อ/แผนก
			$oName =$mName;	
			$oDept = $mDept;
			$nPos  = strpos($message,'#');
			$mName = substr($message,$nPos+1);
			$nPos  = strpos($mName,'#');
			if (!($nPos === false)) {
				$mDept  = trim(substr($mName,$nPos+1));
				$mName = substr($mName,0,$nPos);
				$nPos     = strrpos($mDept,'#');
				if (!($nPos === false)) $mDept = substr($mDept,0,$nPos); 			//ตัด # ตัวท้ายถ้ามี
				if ( $oName !==$mName || $oDept !== $mDept){
					$sQl = "Update user set  name = '$mName' , department = '$mDept'  where  userID ='$mUser'";
					$Conn = $mysqli->query($sQl);
					mysqli_free_result($Conn);	
					$Ret = 'UP';
				} else $Ret = 'ST' ; //คงข้อมูลเดิม 
			} else {
				if ( substr(strtoupper($mName),0,4) == 'BOOK' ) {
					$mDept = substr($message,1);
					$nPos  = strrpos($mDept,'#');
					$mDept = substr($mDept,0,$nPos); 			//ตัด # ตัวท้ายถ้ามี
					$sQl = "Update user set  mid = '$mDept' where   userID = '$mUser' ";
					$Conn = $mysqli->query($sQl);
					mysqli_free_result($Conn);	
					$Ret = 'UP';
				} 
			} 
		}
		if ( $Ret == 'OL'){
			//  ====  แก้ไข เพิ่มเติมโปรแกรมตามต้องการ พบ userID และ lineID
			
			$message_to_reply='';
			$pid='2';
			$sid='41';	//
			if (substr($message,0,1) == '?' ){	//ประเมิน lbot เปลี่ยน @ เป็น ? ก่อนส่งมา
				$message_to_reply='ไม่พบคำขอบริการของท่าน'; 	//Init
				$message = trim(substr($message,1));
				$lcDep = substr($message,0,1);
				$int=5; 	$float =1.0; //default
				if (is_numeric($lcDep)){
					$int	=	(int)$lcDep;
					if ($int >= 5 ) $int=5;
					else  if ($int <= 1 ) $int=1;
					$message = trim(substr($message,1));
					$float = (float)$message;
					$message = trim($message,$float);
					if ($float >= 10.0) $float=10.0;
					else  if ($float <= 1.0 ) $float=1.0;
				}
				$nPos = 0;
				$Conn = $mysqli->query("SELECT  reqdate ,evaluation FROM report  
				WHERE  reqID='$mUser' AND resID is not null  Order by reqdate DESC LIMIT 1");
				while($emp = $Conn->fetch_array()){
					$dDate = $emp['reqdate'];
					if (!empty($dDate)){
						$nPos = 1;
						if ( is_null($emp['evaluation'])) $nPos =2;
					}
				}
				mysqli_free_result($Conn);
				if ($nPos == 2) {
					$sQl = "UPDATE report  SET evaluation ='$int',comment = '$message',weight = '$float' WHERE  reqID='$mUser' AND evaluation IS NULL";
					$Conn = $mysqli->query($sQl);
					mysqli_free_result($Conn);
					//if($Conn->affected_rows) $nPos = 1;
					//if (mysqli_affected_rows($Conn))  $nPos = 1;
					$message_to_reply='ขอบคุณที่ให้ความร่วมมือ '.chr(13).chr(10).
					' คะแนน '.$int.' x '.$float.' = '.number_format(($int * $float),1).'คะแนน และคำแนะนำ '.chr(13).chr(10).
					' จะนำไปพัฒนาคุณภาพบริการต่อไป'; 	//แจ้ง user
					$pid='2';
					$sid='41';	//
				} else {
					if ($nPos == 1) {
						$sQl = "UPDATE report  SET evaluation = '$int',comment = '$message',weight = '$float' WHERE  reqID='$mUser' AND reqdate ='$dDate'";
						$Conn = $mysqli->query($sQl);
						mysqli_free_result($Conn);
						$message_to_reply='แก้ไขคะแนนครั้งสุดท้ายเป็น '.chr(13).chr(10).' '.$int.' x '.$float.
						' = '.number_format(($int *$float),1).'คะแนน '; 	//แจ้ง 
					}  
				}
			}  // จบประเมิน
			else {
				if (substr($message,0,2) == 'ID'){	//แสดงว่าเป็นการตอบให้บริการ
					$nPos = strpos($message,'@');
					$reqID = rtrim(substr($message,2,$nPos-2)." ");
					$cDate = SUBSTR($message,$nPos+1,4).'-'.SUBSTR($message,$nPos+5,2).'-'.SUBSTR($message,$nPos+7,2).'T'.SUBSTR($message,$nPos+9,2).':'
					.SUBSTR($message,$nPos+11,1).SUBSTR($message,$nPos+13,1).':'.SUBSTR($message,$nPos+14,2);
					$sQl = "SELECT * From report  Where reqID='$reqID' AND reqDate ='$cDate'"; //ตรวจสอบว่ามี ID นี้จริง
					$Conn = $mysqli->query($sQl);
					$nPos = 0;
					while($emp = $Conn->fetch_array()){
						if ($reqID == $emp['reqID']) {
							$nPos=1;
							break;
						}										
					}
					mysqli_free_result($Conn);	
					if ($nPos == 0) $message_to_reply='บันทึก ตอบให้บริการไม่ถูกต้อง'.chr(13).chr(10). 'รูปแบบ ID55555@yyyymmddhhm.mss'
							.chr(13).chr(10).$reqID.chr(13).chr(10) .$cDate; 				
					else {
						$nPos = strrpos($message,' ');		//ระยะเวลา 
						if ($nPos === false) $lcDep	= 'ไม่ระบุ เวลา';
						else {
							$lcDep	= ltrim(substr($message,$nPos));
							if (substr($lcDep,0,1) == '0' ) {
								$lcDep	= '-'.substr($lcDep,1);
							} else {
								if (!(strpos($lcDep,'D') === false))	$lcDep = str_replace("D","วัน",$lcDep);
								else if(!(strpos($lcDep,'d') === false)) $lcDep = str_replace("d","วัน",$lcDep);
								else if(!(strpos($lcDep,'H') === false)) $lcDep = str_replace("H","ชม.",$lcDep);
								else if(!(strpos($lcDep,'h') === false)) $lcDep = str_replace("h","ชม.",$lcDep);
								else $lcDep = $lcDep.' นาที';
							}
						}	
						$nPos = strpos($lcDep,'CO'); 	//ตรวจสอบว่าเป็นผุ้ร่วมบริการหรือไม่
						if ( $nPos === false) {			//กรณีเป็นผู้ให้บริการหลัก
							if (substr($lcDep,0,1) == '-' ) 	$sQl = "UPDATE report  SET resID ='$mUser',resWaitting ='$lcDep',resDate =now() ,evaluation='5' 
								where reqID='$reqID' AND reqDate ='$cDate'";
							else 	$sQl = "UPDATE report  SET resID ='$mUser',resWaitting ='$lcDep',resDate =now()  
								where reqID='$reqID' AND reqDate ='$cDate'";
							$Conn = $mysqli->query($sQl);
							mysqli_free_result($Conn);	
							$Conn = $mysqli->query("SELECT * From user Where instr(acctype,'IT') > 0  or userID = '$reqID'  "); //แจ้ง ITทุกคน และผู้ขอ 
							$receive='';
							while($emp = $Conn->fetch_array()){
								$mID = $emp['lineID'];		// IT lineID
								$mBot = $emp['BotID'];	// IT botID
								if (!is_null($mID) && !empty($mID)){ 
									if ( ($reqID == $emp['userID'] ) && ( $mID <> $uID)) { //$reqID แจ้งผู้ขอ
										if (substr($lcDep,0,1) == '-' ) {
											$message_to_reply = $mName.' แจ้งว่า'.chr(13).chr(10).$lcDep.' '.chr(13).chr(10);
											$pid='2';
											$sid='38';	//
										} else {		
											$message_to_reply = 'ท่านจะได้รับบริการโดย'.$mName.' '.chr(13).chr(10).' ภายใน '.$lcDep.' '.chr(13).chr(10).
											'ประเมินหลังบริการ  โดย @คะแนน'.chr(13).chr(10).'เช่น @46  ,หรือ ? เพื่อแสดงวิธีการใช้งานทั้งหมด';
											$pid='2';
											$sid='179';	//
										}
										pushURL($curlurl,'',$mID,$mBot,$message_to_reply,$pid,$sid);  //IT อื่นๆ ใช้ PUSH												
									
									} else {			//แจ้ง IT
										if($mUser == $emp['userID']){
											if (substr($lcDep,0,1) == '-' ) 	$message_to_reply  = ' ตอบผู้รับบริการแล้ว ';
											else 	$message_to_reply  = ' แจ้งผู้รับบริการแล้ว '.chr(13).chr(10).' กรุณาบริการภายใน '.$lcDep;
											pushURL($curlurl,$rToken,$uID,$botID,$message_to_reply,$pid,$sid); // IT ผู้แจ้งเองใช้ Reply
										} else {
											if (!strpos($receive,$emp['userID'])){	//	แจ้งไม่ซ้ำ
												$receive.=$emp['userID'];
												$message_to_reply  = 'รายงาน '.chr(13).chr(10).' '.substr($message,0,23).' '.chr(13).chr(10).' '.$mName;
												if (substr($lcDep,0,1) == '-' ) $message_to_reply  .= ' ตอบว่า '.$lcDep ;
												else 	$message_to_reply  .=  'จะไปบริการภายใน '.$lcDep ;
												pushURL($curlurl,'',$mID,$mBot,$message_to_reply,$pid,$sid);  //IT อื่นๆ ใช้	 PUSH												
											}
										}
									}
									sleep(2);
									$pid='';
									$sid='';	
								}	
							}
							mysqli_free_result($Conn) ;
							$message_to_reply=''; 				
						} else {	//ผู้ร่วมบริการ บันทึกแต่ไม่ส่งข้อความตอบ User
							$sQl = "UPDATE report  SET CoWorker = IF(CoWorker is null  OR  CoWorker = '' ,'$mUser',concat(CoWorker,';$mUser')) ";
							$sQl = $sQl ." where  reqID='$reqID'  AND reqDate ='$cDate'";
							$Conn = $mysqli->query($sQl);
							mysqli_free_result($Conn);		
							$message_to_reply='บันทึกเป็นผู้ร่วมให้บริการเรียบร้อยแล้ว'; 				
						}
					}
				}  //จบ ตอบบริการ
				else {  //ขอรับบริการ
					if (substr($message,0,10) == 'TestServer') { //ทดสอบ Server
						$pid='';
						$sid = '';
						pushURL($curlurl,'',$uID,$botID,substr($message,10)." >OK","","");  //	PUSH												
						$message_to_reply = '';
					}	else {		// ****    ข้อความขอ รับบริการ
							$dDate = date('Y-m-d H:i:s');
							$dDate = date("YmdHis", strtotime($dDate));
							$message_to_reply =  'ID'.$mUser.'@'.substr($dDate,0,11).'.'.substr($dDate,11,3).' '.chr(13).chr(10).' '.	//ข้อความสำหรับแจ้ง IT
							$mName.' # '.$mDept.' '.chr(13).chr(10).' แจ้ง:  '.$message.'   ';
							$Ret='AN';  //AN = ไม่สามารถบันทึก
							if  ($mysqli->query("INSERT INTO report (reqID,reqDept ,reqReason,reqDate,notify) VALUES ('$mUser','$mDept','$message','$dDate',0)")) {
								$Ret='AS';  //AS = ไม่สามารถส่งไป IT
								$mID='';
								$mBot='';
								$Conn = $mysqli->query("SELECT userID,lineID,BotID From user Where instr(acctype,'IT') > 0"); 				
								while($emp = $Conn->fetch_array()){	//หารายชื่อเพื่อแจ้ง IT ทุกคน
									$mID = $emp['lineID'];
									$mBot = $emp['BotID']; 
									if (!is_null($mID)){								//แจ้ง It อย่างน้อย 1 คน  Ret WI
										if (pushURL($curlurl,'',$mID,$mBot,$message_to_reply,'2','34')=='200')  $Ret = 'WI';  //และตอบกลับ request ว่า WI
										//sleep(1);
									}
								}
								mysqli_free_result($Conn);
							}	
					}	
				} 
			} 		
			if ( $Ret == 'OL'){
				if( strlen($message_to_reply) > 0 ||  !(empty($pid) || empty($sid)) ) {
					pushURL($curlurl,$rToken,$uID,$botID,$message_to_reply,$pid,$sid); //REply Msg
				} 
				$Ret = 'FW';	//ฝั่ง request จะไม่ reply Msg	
			}
		}
	}
	return  $Ret;
}
?>

Youez - 2016 - github.com/yon3zu
LinuXploit