Sebelumnya ucapkan terima kasih atas inspirasinya oleh
Yang telah mengembangkan script nya untuk sinkronisasi antara database server local sms gateway dengan shared hosting.
Ada dua kelompok file file yang ditaruh di server lokal dan shared webhosting.
File di server lokal sms gateway
bacasms.php
<?php
// koneksi ke mysql di server localhost
mysql_connect(‘localhost’, ‘root’, ”);
// nama database Gammu yang ada di localhost
mysql_select_db(‘sms’);
// baca data XML dari server hosting yang digenerate oleh data.php
$dataxml = simplexml_load_file(‘http://data.php’);
foreach($dataxml->data as $data)
{
// baca field ID
$id = $data->id;
// baca nomor tujuan
$destination = $data->destination;
// baca isi sms
$sms = $data->sms;
// mengirim SMS via Gammu dengan insert data ke tabel outbox Gammu
$query = “INSERT INTO outbox (DestinationNumber, TextDecoded) VALUES (‘$destination’, ‘$sms’)”;
mysql_query($query);
// hapus data SMS di server hosting yang sudah terbaca berdasarkan ID
$curlHandle = curl_init();
curl_setopt($curlHandle, CURLOPT_URL, ‘http://voucher.passionit.co.id/smsmod/hapus.php’);
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, ‘id=’.$id);
curl_setopt($curlHandle, CURLOPT_HEADER, 0);
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlHandle, CURLOPT_TIMEOUT,30);
curl_setopt($curlHandle, CURLOPT_POST, 1);
curl_exec($curlHandle);
curl_close($curlHandle);
}
?>
tulissms.php
<?php
//skrip untuk menghubungkan SMS Gateway lokal dengan hosting.. skrip ini dipasang untuk berhadapan dengan gammu.. Penggunaannya adalah:
//1. harus ada koneksi internet,
//2. database gammu
$url = “http://insert.php”;
$dbname = ‘sms’;
$dbuser = ‘root’;
$dbpass = ”;
$dbhost = ‘localhost’;
if(mysql_connect($dbhost,$dbuser,$dbpass)){
mysql_select_db($dbname);
}else{
echo ‘DB ne ra konek!!’;
}
//bukak sms satu persatu
$q = “SELECT `SenderNumber`,`TextDecoded`,`UpdatedInDB`,`ID` FROM `inbox` WHERE `Processed`=’false’”;
$mq = mysql_query($q);
$n = mysql_query($q);
while($r=mysql_fetch_array($mq)){
echo $sms = $r['TextDecoded'];
echo $nohp = $r['SenderNumber'];
echo $time = $r['UpdatedInDB'];
echo $id = $r['ID'];
$curlHandle = curl_init();
curl_setopt($curlHandle, CURLOPT_URL, $url);
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, “sms=”.$sms.”&nohp=”.$nohp.”&time=”.$time);
curl_setopt($curlHandle, CURLOPT_HEADER, 0);
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlHandle, CURLOPT_TIMEOUT,30);
curl_setopt($curlHandle, CURLOPT_POST, 1);
curl_exec($curlHandle);
curl_close($curlHandle);
$q2=”UPDATE `inbox` SET `Processed`=’true’ WHERE `ID`=’$id’”;
mysql_query($q2);
}
?>
dua file diatas bisa dijalankan menggunakan batch windows dengan memanggil program php.
File di shared web hosting
data.php
<?php
// koneksi ke mysql server hosting
mysql_connect(‘localhost’, ‘user’, ‘pass’);
mysql_select_db(‘db’);
// membuat header dokumen XML
header(‘Content-Type: text/xml’);
echo “<?xml version=’1.0′?>”;
// membuat root tag untuk data XML
echo “<outbox>”;
// query untuk membaca seluruh SMS yang ada di tabel outbox
$query = “SELECT * FROM outbox ORDER BY id”;
$hasil = mysql_query($query);
while ($data = mysql_fetch_array($hasil))
{
// representasi data sms
echo “<data>”;
echo “<id>”.$data['id'].”</id>”;
echo “<destination>”.$data['destinationNumber'].”</destination>”;
echo “<sms>”.$data['sms'].”</sms>”;
echo “</data>”;
}
echo “</outbox>”;
?>
hapus.php
<?php
// koneksi ke mysql di server hosting
mysql_connect(‘localhost’, ‘user’, ‘pass’);
mysql_select_db(‘db’);
// baca ID data yang akan dihapus yang dikirim via CURL dari localhost
$id = $_POST['id'];
// hapus data SMS berdasarkan ID
$query = “DELETE FROM outbox WHERE id = ‘$id’”;
mysql_query($query);
?>
insert.php
<?phpSemoga bermanfaat untuk kita semua....
//konfigurasi
…
// koneksi ke mysql
if(mysql_connect($dbhost,$dbuser,$dbpass)){
mysql_select_db($dbname);
}else{
echo ‘DB ne ra konek!!’;
}
// membaca ketiga data dari parameter CURL
echo $sms = $_POST['sms'];
echo $time = $_POST['time'];
echo $nohp = $_POST['nohp'];
// query insert data ke mysql
$query=”INSERT INTO inbox (id,nohp,sms,time) VALUES (”,’$nohp’,'$sms’,'$time’)”;
//$query = “INSERT INTO contoh (data1, data2, data3) VALUES (‘$data1′, ‘$data2′, ‘$data3′)”;
mysql_query($query);
?>
Tidak ada komentar:
Posting Komentar