Rabu, 12 November 2014

Posisi Standby menunggu SMS Masuk

<?php
require_once"koneksi.php";

 $s="select * from inbox where status='N' order by `UpdatedInDB` asc";
$q = mysql_query($s);
$hitung = mysql_num_rows($q);
if($hitung>0){
$waktu0="";
$i=-1;
while($data = mysql_fetch_array($q)){
    $waktu=$data["UpdatedInDB"];
    $hp=$data["SenderNumber"];
    $msg=$data["TextDecoded"];
    $id=$data["ID"];
    if($waktu0==$waktu){
        $arrHp[$i-1]=$hp;
        $arrId[$i-1]=$id;
        $arrMsg[$i-1]=$msg.$arrMsg[$i-1];
        $arrHp[$i-1]=$hp;
        $arrWkt[$i-1]=$waktu;
        }
    else{
        $i++;
        $arrHp[$i]=$hp;
        $arrId[$i]=$id;
        $arrMsg[$i]=$msg.$arrMsg[$i-1];
        $arrHp[$i]=$hp;
        $arrWkt[$i]=$waktu;   
        }
    $waktu0=$waktu;
    }//while
   
for($j=0;$j<=$i;$j++){
    $update= mysql_query("update inbox set status='Y' where ID='".$arrId[$j]."'");
   
    $ar=strtolower($arrMsg[$j]);
    $x=split("#",$ar);
    $p=sizeof($x);
    //info#judul#katakunci
    $key=$x[2];
    $HP=$arrHp[$j];
if($x[0]=="info"){
    $req="judul_buku";//select * from `buku` where `judul_buku` like '%psiko%'
    if($x[1]=="judul"){$req="judul_buku";    $s="select * from `$tbbuku` where `judul_buku` like '%$key%'";}
    else if($x[1]=="penulis" ||$x[1]=="pengarang" ){$req="pengarang";    $s="select * from `$tbbuku` where `pengarang` like '%$key%'";}
    else if($x[1]=="jenis" ||$x[1]=="jenis_buku" ){$req="jenis_buku";    $s="select * from `$tbbuku` where `jenis_buku` like '%$key%'";}
    else if($x[1]=="penerbit" ||$x[1]=="penerbit_buku" ){$req="penerbit_buku";    $s="select * from `$tbbuku` where `penerbit_buku` like '%$key%'";}
    else if($x[1]=="sinopsis"){$req="sinopsis";    $s="select * from `$tbbuku` where `sinopsis` like '%$key%'";}
        $q=mysql_query($s);
        $gab="";
        $jum=0;
        $no=1;
            while($d=mysql_fetch_array($q)){
                $id_buku=$d["id_buku"];
                $judul_buku=$d["judul_buku"];
                $jenis_buku=$d["jenis_buku"];
                $penerbit_buku=$d["penerbit_buku"];
                $keterangan=$d["keterangan"];
               
                $pengarang=$d["pengarang"];
                $tahun_terbit=$d["tahun_terbit"];
                $stok_buku=$d["stok_buku"];
                $sinopsis=$d["sinopsis"];
                $gab.="$no. $judul_buku,$pengarang ($penerbit_buku:$tahun_terbit):$stok_buku buah#";
                $jum++;
                $no++;
                if($jum>5){break;}
                $isi_pesan="hasil pencarian: $gab";
            }//while
    }//if
    else{//ELSE
        $isi_pesan="Yth $HP, Gunakan pola \"info#judul/penulis/pengarang#kata_kunci";
        }
        echo "send mesage to $HP :$isi_pesan";
        $kirimsms = mysql_query("insert into outbox (InsertIntoDB,SendingDateTime,DestinationNumber,TextDecoded,SendingTimeOut,DeliveryReport,CreatorID)
        values (sysdate(),sysdate(),'$HP','$isi_pesan',sysdate(),'yes','system')");
       
       
       
        $hp=$HP;
        $jml_karakter=strlen($isi_pesan);
if($jml_karakter <= 160) {
    $masuk = "insert into outbox (DestinationNumber,TextDecoded,CreatorID) values ('$hp','$isi_pesan','gammu')";
    mysql_query($masuk);
    echo " sukses sent to $HP :$jml_karakter char";
}

else {
    $jml_potongan_SMS = ceil(strlen($isi_pesan)/153);
    // memecah pesan asli
    $potongan_SMS = str_split($isi_pesan, 153);

    // proses untuk mendapatkan ID record yang akan disisipkan ke tabel OUTBOX
    $masuk = "SHOW TABLE STATUS LIKE 'outbox'";
    $hasil = mysql_query($masuk);
    $data  = mysql_fetch_array($hasil);
    $newID = $data['Auto_increment'];

    // proses penyimpanan ke tabel mysql untuk setiap pecahan
    for ($i=1; $i<=$jml_potongan_SMS; $i++)
    {
        // membuat UDH untuk setiap pecahan, sesuai urutannya
        $udh = "050003A7".sprintf("%02s", $jml_potongan_SMS).sprintf("%02s", $i);
        // membaca text setiap pecahan
        $msg = $potongan_SMS[$i-1];
        if ($i == 1)
        {
        // jika merupakan pecahan pertama, maka masukkan ke tabel OUTBOX
        $masuk = "INSERT INTO outbox (DestinationNumber, UDH, TextDecoded, ID, MultiPart, CreatorID, Coding)
        VALUES ('$hp', '$udh', '$msg', '$newID', 'true', 'gammu','Default_No_Compression')";
        }
        else
        {
        // jika bukan merupakan pecahan pertama, simpan ke tabel OUTBOX_MULTIPART
        $masuk = "INSERT INTO outbox_multipart(UDH, TextDecoded, ID, SequencePosition)
        VALUES ('$udh', '$msg', '$newID', '$i')";
        }
        // jalankan query
        mysql_query($masuk);
        echo "sukses sent to $HP  :$jml_karakter char";
    }
}
////////////////////////////////       
       
    }//ELSE   
}
else{
    $tgl=date("Y-m-d").",".date("H:i:s")." WIB";
    echo"$tgl";
    }
?>

artinya....jika ada sms masuk sesuai pola request yang diminta...maka sistem akan langsung meresponya....

Tidak ada komentar:

Posting Komentar