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/Rx_q.php
<?php
include('config.php');
$curlurl = "https://192.168.1.18:8088/linebot/lpost.php";
//------------------------------------------------------------------
function pushMsg(&$curlurl,$id,$botID,$MSG,$pid,$sid)
{
	$params['BotID']	= $botID;
	$params['LineID'] 	= $id;
	$params['Msg']		= $MSG;
	$params['Pid']		= $pid;
	$params['Sid']		= $sid;
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
	curl_setopt($ch, CURLOPT_HEADER, 0);
	curl_setopt($ch, CURLOPT_POST,1); // method ที่เราจะส่ง เป็น get หรือ post
	curl_setopt($ch, CURLOPT_POSTFIELDS,$params); // paremeter สำหรับส่งไปยังไฟล์ ที่กำหนด
	curl_setopt($ch, CURLOPT_URL,$curlurl);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
	curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
	curl_setopt($ch, CURLOPT_TIMEOUT, 60);
	//curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
	$resp = curl_exec($ch); // ผลการ execute กลับมาเป็น ข้อมูลใน url ที่เรา ส่งคำร้องขอไป
	if(curl_errno($ch) !== 0) {
	   $resp ='CE';
	}
	curl_close ($ch);
}
//------------------------------------------------------------------
//=======      Main
	$Ret = 'NP';	//	ตอบกลับ API
	if (isset($_POST['BotID'])) {
		$botID = $_POST['BotID'];	//BOT ID
		if (isset($_POST['LineID'])) { 
		 	$uID = $_POST['LineID'];	//Line  ID
			if (isset($_POST['Msg'])) $message = $_POST['Msg'];
			else $message='';
			$Ret='NM';
			if (!empty($message)){	//ข้อความจาก USER
				//$Ret = $botID.'<br>'.$uID.'<br>'.$message;	
				$mysqli = new mysqli($database_host, $database_username, $database_password, $database_name, $database_port);
				$mysqli->set_charset("utf8");
				if ($mysqli->connect_error)  $Ret = 'ER';
				else {
					if ($message == 'TestServer') {
						$Ret = 'AC';  //Old LineID
					} else {
						$Ret = 'OL';  //Old LineID
						$mUser ='Unknown';
						$mDept ='Unknown';
						$mName ='';
						$Conn = $mysqli->query("SELECT  * from user where lineID='$uID' limit 1"); //หาว่า 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);
								$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 ซ้ำได้
									$mId = $emp['lineID'];
									if (is_null($mId) ) $nPos = $emp['id']; 						//1.พบ ID	>  lineID ไม่มี
									else {
										if (empty($mId)) $nPos = $emp['id'];					//1.พบ ID	> update lineID
									}
									$oName = $emp['name'];
									$oDept = $emp['department'];
								}
								mysqli_free_result($Conn);
								if ($nPos == 0) {	    			//0.ไม่พบ
									$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 {  								//1.พบ ID	> 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 {
							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'){
							//  =================    แก้ไข เพิ่มCode ตามต้องการ 
								$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 = 0;
										$reqID = substr($message,2,5);
										$cDate = SUBSTR($message,8,4).'-'.SUBSTR($message,12,2).'-'.SUBSTR($message,14,2).'T'.SUBSTR($message,16,2).':'
										.SUBSTR($message,18,1).SUBSTR($message,20,1).':'.SUBSTR($message,21,2);
										$sQl = "SELECT * From report  Where reqID='$reqID' AND reqDate ='$cDate'"; //ตรวจสอบว่ามี ID นี้จริง
										$Conn = $mysqli->query($sQl);
										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' ; 				
										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.' นาที';
												}
											}	
											// 1. แจ้ง IT 
											$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ทุกคน
												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'] ) {
															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).'@ตามด้วยคะแนน  คำติชมหรือคำแนะนำ(ถ้ามี) '.chr(13).chr(10).
																' เช่น @5 ดีมากรวดเร็วและสุภาพ  '.chr(13).chr(10).' ให้คะแนนความยากเชิงปริมาณ '.chr(13).chr(10).
																' โดยพิมพ์ตัวเลขต่อจากคะแนนคุณภาพ '.chr(13).chr(10).' เช่น @51.5 ดีมากรวดเร็ว  แปรว่างานมีความยากเป็น1.5เท่า';
																$pid='2';
																$sid='179';	//
															}
														} else {
															if($mUser == $emp['userID']){
																if (substr($lcDep,0,1) == '-' ) {
																	$message_to_reply  = ' ตอบผู้รับบริการแล้ว ';
																} else {		
																	$message_to_reply  = ' แจ้งผู้รับบริการแล้ว '.chr(13).chr(10).' กรุณาบริการภายใน '.$lcDep;
																}												
															} else {
																if (substr($lcDep,0,1) == '-' ) {
																	$message_to_reply  = 'รายงาน '.chr(13).chr(10).' '.substr($message,0,23).' '.
																	chr(13).chr(10).' '.$mName.' ตอบว่า '.$lcDep ;
																} else {		
																	$message_to_reply  = 'รายงาน '.chr(13).chr(10).' '.substr($message,0,23).' '.
																	chr(13).chr(10).' '.$mName.'จะไปบริการภายใน '.$lcDep ;
																}											
															}
														}
														pushMsg(&$curlurl,$mID,$mBot,$message_to_reply,$pid,$sid);
														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 {	// ****    ข้อความขอ รับบริการ
										$dDate = date('Y-m-d H:i:s');
										$Conn = $mysqli->query("INSERT INTO report (reqID,reqDept ,reqReason,reqDate) VALUES ('$mUser','$mDept','$message','$dDate')");
										mysqli_free_result($Conn);
										$dDate =date("YmdHis", strtotime($dDate));
										$message_to_reply =  'ID'.$mUser.'@'.substr($dDate,0,11).'.'.substr($dDate,11,3).' '.chr(13).chr(10).' '.
										$mName.' # '.$mDept.' '.chr(13).chr(10).' แจ้ง:  '.$message.'   ';
										$Comment = '  ตอบโดยคัดลอก บรรทัดแรก(ID...) มาวางที่กล่องข้อความ '.chr(13).chr(10).
										' เว้นวรรคแล้วตามด้วยเลขระยะเวลาที่จะไปให้บริการ '.chr(13).chr(10).' ตามด้วยหน่วย  D,H,M(default) '.chr(13).chr(10).
										' หรือ CO กรณีที่เป็นผู้ร่วมดำเนินการ';
										$mID='';
										$mBot='';
										$Conn = $mysqli->query("SELECT userID,lineID,BotID From user Where instr(acctype,'IT') > 0"); //แจ้ง ITทุกคน
										while($emp = $Conn->fetch_array()){
											$mID = $emp['lineID'];
											$mBot = $emp['BotID']; 
											if (!is_null($mID)){
												pushMsg(&$curlurl,$mID,$mBot,$message_to_reply,'2','34');
												sleep(1);
												pushMsg(&$curlurl,$mID,$mBot,$Comment,'','');
												sleep(1);
											}
										}
										mysqli_free_result($Conn);
										$message_to_reply='แจ้งผู้ให้บริการแล้ว '.chr(13).chr(10).' กรุณารอตอบรับสักครู่'; 
										$pid='3';
										$sid='225';	//
									} 
								} //ประเมิน		
								// REPLY Message
								if( strlen($message_to_reply) > 0 ||  !(empty($pid) || empty($sid)) ) {
									pushMsg(&$curlurl,$uID,$botID,$message_to_reply,$pid,$sid);
								}	 
								$Ret = 'FW'; 	
							// ---------------------------------------
							}
						}
					}	
				}
			}
		}
	}
	echo $Ret.'<br>';
?>

Youez - 2016 - github.com/yon3zu
LinuXploit