>8&0xFF)); $temp = $temp.sprintf("%c",($i>>16&0xFF)); $temp = $temp.sprintf("%c",($i>>24&0xFF)); return $temp; } //Byte to String Method function byte2str($i) { $a = substr($i,0,1); $b = substr($i,1,1); $c = substr($i,2,1); $d = substr($i,3,1); $temp = ord($a) *1 + ord($b)*256 + ord($c) * 65536; return $temp; } //Mms Packet Send! function SendMms ($param_SeqNo, $param_CallPhone, $param_ReqPhone, $param_Time, $param_Subject, $param_Msg, $param_File1, $param_File2, $param_File3) { $Req = ''; //MMS AUTH PACKET SETTING $this->SzCommand = "B"; $this->SzDeptCode = $this->DeptCode . $this->addnull(12 - strlen($this->DeptCode)); $this->SzClientVer = "P1.0.0" . $this->addnull(16 - strlen("P1.0.0")); $this->SzUserCode = $this->UserCode . $this->addnull(30 - strlen($this->UserCode)); $this->SzReserved = " "; $fp=$this->getconnect(); if($fp=="-1"){ return "-1"; } $AuthStr = $this->SzCommand.$this->SzDeptCode.$this->SzClientVer.$this->SzUserCode.$this->SzReserved; fwrite($fp, $AuthStr, 67); flush(); socket_set_timeout($fp, 10); $AuthReq=fread($fp, 4); if(trim($AuthReq) == "1"){ if ($SzTime == ""){ $this->SzTime = "00000000000000"; } //MMS BODY PACKET SETTING $this->SzBodyType = "Q"; $this->SzSeqNo = $param_SeqNo . $this->addnull(32 - strlen($param_SeqNo)); $this->SzCallPhone = $param_CallPhone . $this->addnull(13 - strlen($param_CallPhone)); $this->SzReqPhone = $param_ReqPhone . $this->addnull(13 - strlen($param_ReqPhone)); $this->SzTime = $param_Time . $this->addnull(16 - strlen($param_Time)); $this->SzSubject = $param_Subject . $this->addnull(120 - strlen($param_Subject)); $this->SzIsText = "1" . $this->addnull(4 - strlen("1")); $this->SzFileCnt = "0" . $this->addnull(4 - strlen("0")); $this->SzContinue = "N"; $this->SzTextLen = strlen($param_Msg) . $this->addnull(4 - strlen(strlen($param_Msg))); $this->SzMsg = $param_Msg; //MMS FILE PACKET SETTING if($param_File1!=null){ $file = basename($param_File1,"/"); $filesize = filesize($param_File1); $arr = explode(".",$file); $filetype = $arr[1]; $file1 = fopen($param_File1,"rb"); $content = fread($file1,$filesize); $this->SzFileLen1 = $filesize . $this->addnull(10 - strlen($filesize)); $this->SzFileType1 = $filetype . $this->addnull(4 - strlen($filetype)); $this->SzFile1 = $content; $this->SzFileCnt = "1" . $this->addnull(4 - strlen("1")); } if($param_File2!=null){ $file = basename($param_File2,"/"); $filesize = filesize($param_File2); $arr = explode(".",$file); $filetype = $arr[1]; $file2 = fopen($param_File2,"rb"); $content = fread($file2,$filesize); $this->SzFileLen2 = $filesize . $this->addnull(10 - strlen($filesize)); $this->SzFileType2 = $filetype . $this->addnull(4 - strlen($filetype)); $this->SzFile2 = $content; $this->SzFileCnt = "2" . $this->addnull(4 - strlen("2")); } if($param_File3!=null){ $file = basename($param_File3,"/"); $filesize = filesize($param_File3); $arr = explode(".",$file); $filetype = $arr[1]; $file3 = fopen($param_File3,"rb"); $content = fread($file3,$filesize); $this->SzFileLen3 = $filesize . $this->addnull(10 - strlen($filesize)); $this->SzFileType3 = $filetype . $this->addnull(4 - strlen($filetype)); $this->SzFile3 = $content; $this->SzFileCnt = "3" . $this->addnull(4 - strlen("3")); } $Str = $this->SzBodyType.$this->SzSeqNo.$this->SzCallPhone.$this->SzReqPhone.$this->SzTime; $Str = $Str.$this->SzSubject.$this->SzIsText.$this->SzFileCnt.$this->SzContinue.$this->SzTextLen; $Str = $Str.$this->SzMsg; $Str = $Str.$this->SzFileLen1.$this->SzFileType1.$this->SzFile1; $Str = $Str.$this->SzFileLen2.$this->SzFileType2.$this->SzFile2; $Str = $Str.$this->SzFileLen3.$this->SzFileType3.$this->SzFile3; fwrite($fp, $Str, strlen($Str)); flush(); socket_set_timeout($fp, 10); $Req = fread($fp, 1024); $Req = substr($Req, 32, 1); } $this->disconnect($fp); return $Req; } function SendLms ($param_SeqNo, $param_CallPhone, $param_ReqPhone, $param_Time, $param_Subject, $param_Msg) { $Req = ''; //MMS AUTH PACKET SETTING $this->SzCommand = "B"; $this->SzDeptCode = $this->DeptCode . $this->addnull(12 - strlen($this->DeptCode)); $this->SzClientVer = "P1.0.0" . $this->addnull(16 - strlen("P1.0.0")); $this->SzUserCode = $this->UserCode . $this->addnull(30 - strlen($this->UserCode)); $this->SzReserved = " "; $fp=$this->getconnect(); if($fp=="-1"){ return "-1"; } $AuthStr = $this->SzCommand.$this->SzDeptCode.$this->SzClientVer.$this->SzUserCode.$this->SzReserved; fwrite($fp, $AuthStr, 67); flush(); socket_set_timeout($fp, 10); $AuthReq=fread($fp, 4); if(trim($AuthReq) == "1"){ if ( !isset($SzTime) || $SzTime == ""){ $this->SzTime = "00000000000000"; } //MMS BODY PACKET SETTING $this->SzBodyType = "Q"; $this->SzSeqNo = $param_SeqNo . $this->addnull(32 - strlen($param_SeqNo)); $this->SzCallPhone = $param_CallPhone . $this->addnull(13 - strlen($param_CallPhone)); $this->SzReqPhone = $param_ReqPhone . $this->addnull(13 - strlen($param_ReqPhone)); $this->SzTime = $param_Time . $this->addnull(16 - strlen($param_Time)); $this->SzSubject = $param_Subject . $this->addnull(120 - strlen($param_Subject)); $this->SzIsText = "1" . $this->addnull(4 - strlen("1")); $this->SzFileCnt = "0" . $this->addnull(4 - strlen("0")); $this->SzContinue = "N"; $this->SzTextLen = strlen($param_Msg) . $this->addnull(4 - strlen(strlen($param_Msg))); $this->SzMsg = $param_Msg; //MMS FILE PACKET SETTING $Str = $this->SzBodyType.$this->SzSeqNo.$this->SzCallPhone.$this->SzReqPhone.$this->SzTime; $Str = $Str.$this->SzSubject.$this->SzIsText.$this->SzFileCnt.$this->SzContinue.$this->SzTextLen; $Str = $Str.$this->SzMsg; fwrite($fp, $Str, strlen($Str)); flush(); socket_set_timeout($fp, 10); $Req = fread($fp, 1024); $Req = substr($Req, 32, 1); } $this->disconnect($fp); return $Req; } function SendMmsDongbo($pre_data) { $Req = ''; if ( $pre_data[0]["SeqNo"] == "" ) { return "input data"; } $flag = true; $this->SzContinue = "Y"; $fp = $this->getconnect(); if($fp=="-1"){ return "-1"; } $count = count($pre_data); array_unshift($pre_data,""); //MMS AUTH PACKET SETTING $this->SzCommand = "B"; $this->SzDeptCode = $this->DeptCode . $this->addnull(12 - strlen($this->DeptCode)); $this->SzClientVer = "P1.0.0" . $this->addnull(16 - strlen("P1.0.0")); $this->SzUserCode = $this->UserCode . $this->addnull(30 - strlen($this->UserCode)); $this->SzReserved = " "; //LENGTH = 8 $AuthStr = $this->SzCommand.$this->SzDeptCode.$this->SzClientVer.$this->SzUserCode.$this->SzReserved; $AuthAck = ""; while($flag){ $data = $pre_data[$count]; if($count=="1"){ $this->SzContinue = "N"; $flag = false; } if(trim($AuthAck)!="1"){ fwrite($fp, $AuthStr, 67); flush(); //socket_set_timeout($fp, 10); $AuthAck=fread($fp, 4); if(trim($AuthAck)=="1"){ $Req = $this->SendPacket($data["SeqNo"], $data["CallPhone"], $data["ReqPhone"], $data["Time"], $data["Subject"], $data["Msg"], $data["filepath1"], $data["filepath2"], $data["filepath3"], $fp); }else{ $Req = "-1"; } }else if(trim($AuthAck)=="1"){ $Req = $this->SendPacket($data["SeqNo"], $data["CallPhone"], $data["ReqPhone"], $data["Time"], $data["Subject"], $data["Msg"], $data["filepath1"], $data["filepath2"], $data["filepath3"], $fp); } $count--; }//end while $this->disconnect($fp); return $Req; } function SendPacket($param_SeqNo, $param_CallPhone, $param_ReqPhone, $param_Time, $param_Subject, $param_Msg, $param_File1, $param_File2, $param_File3, $fp) { //MMS BODY PACKET SETTING $Req = ''; $this->SzBodyType = "Q"; $this->SzSeqNo = $param_SeqNo . $this->addnull(32 - strlen($param_SeqNo)); $this->SzCallPhone = $param_CallPhone . $this->addnull(13 - strlen($param_CallPhone)); $this->SzReqPhone = $param_ReqPhone . $this->addnull(13 - strlen($param_ReqPhone)); $this->SzTime = $param_Time . $this->addnull(16 - strlen($param_Time)); $this->SzSubject = $param_Subject . $this->addnull(120 - strlen($param_Subject)); $this->SzIsText = "1" . $this->addnull(4 - strlen("1")); $this->SzFileCnt = "0" . $this->addnull(4 - strlen("0")); $this->SzTextLen = strlen($param_Msg) . $this->addnull(4 - strlen(strlen($param_Msg))); $this->SzMsg = $param_Msg; $this->SzFile1 = null; $this->SzFile2 = null; $this->SzFile3 = null; //MMS FILE PACKET SETTING if($param_File1!=null){ $file = basename($param_File1,"/"); $filesize = filesize($param_File1); $arr = explode(".",$file); $filetype = $arr[1]; $file1 = fopen($param_File1,"rb"); $content = fread($file1,$filesize); $this->SzFileLen1 = $filesize . $this->addnull(10 - strlen($filesize)); $this->SzFileType1 = $filetype . $this->addnull(4 - strlen($filetype)); $this->SzFile1 = $content; $this->SzFileCnt = "1" . $this->addnull(4 - strlen("1")); } if($param_File2!=null){ $file = basename($param_File2,"/"); $filesize = filesize($param_File2); $arr = explode(".",$file); $filetype = $arr[1]; $file2 = fopen($param_File2,"rb"); $content = fread($file2,$filesize); $this->SzFileLen2 = $filesize . $this->addnull(10 - strlen($filesize)); $this->SzFileType2 = $filetype . $this->addnull(4 - strlen($filetype)); $this->SzFile2 = $content; $this->SzFileCnt = "2" . $this->addnull(4 - strlen("2")); } if($param_File3!=null){ $file = basename($param_File3,"/"); $filesize = filesize($param_File3); $arr = explode(".",$file); $filetype = $arr[1]; $file3 = fopen($param_File3,"rb"); $content = fread($file3,$filesize); $this->SzFileLen3 = $filesize . $this->addnull(10 - strlen($filesize)); $this->SzFileType3 = $filetype . $this->addnull(4 - strlen($filetype)); $this->SzFile3 = $content; $this->SzFileCnt = "3" . $this->addnull(4 - strlen("3")); } $Str = $this->SzBodyType.$this->SzSeqNo.$this->SzCallPhone.$this->SzReqPhone.$this->SzTime; $Str = $Str.$this->SzSubject.$this->SzIsText.$this->SzFileCnt.$this->SzContinue.$this->SzTextLen; $Str = $Str.$this->SzMsg; $Str = $Str.$this->SzFileLen1.$this->SzFileType1.$this->SzFile1; $Str = $Str.$this->SzFileLen2.$this->SzFileType2.$this->SzFile2; $Str = $Str.$this->SzFileLen3.$this->SzFileType3.$this->SzFile3; fwrite($fp, $Str, strlen($Str)); flush(); $Str = null; //socket_set_timeout($fp, 10); $Req = fread($fp, 1024); $Req = substr($Req, 32, 1); return $Req; } function reserveCancel($member,$date,$callphone1,$callphone2,$callphone3) { $cdate = mktime(); $this->szCmd = "R"; $this->SzDeptCode = $this->DeptCode . $this->addnull(12 - strlen($this->DeptCode)); $this->SzDeptName = $this->DeptName . $this->addnull(16 - strlen($this->DeptName)); $this->SzUserCode = $this->UserCode . $this->addnull(30 - strlen($this->UserCode)); $this->SzContinue = $this->addnull(8); $fp=$this->getconnect("messenger"); if($fp=="-1") { return "-1"; } $AuthStr = $this->szCmd.$this->SzDeptCode.$this->SzDeptName.$this->SzUserCode.$this->SzContinue; fwrite($fp, $AuthStr, 67); flush(); socket_set_timeout($fp, 10); $AuthReq=fread($fp, 4); $this->szTime = $date . $this->addnull(9 - strlen($date)); $this->SzCallPhone = $callphone1.$callphone2.$callphone3 . $this->addnull(15 - strlen($callphone1.$callphone2.$callphone3)); $this->SzClientVer = $member . $this->addnull(32 - strlen($member)); $Str = $this->szTime.$this->SzCallPhone.$this->SzClientVer; fwrite($fp, $Str,56); flush(); socket_set_timeout($fp, 10); $res=fread($fp,400); $this->disconnect($fp); return $res; } } ?>