Jumat, 17 Februari 2012

Script PHP Update Status TWITTER via SMS

Mari kita bersama sama terus belajar belajar dan  belajar ilmu tentang php , kali ini saya sedikit sharing gmana caranya kirim email dari local host / xampp sent email ke gmail dengann SMTP gmail..
tanpa panjang lebar mari kita mulai : 
Selanjutnya untuk scriptnya nanti yang akan dibuat, pastikan memuat prosedur untuk melakukan proses parsing untuk semua SMS yang diterima oleh SMS center. Parsing ini harus dilakukan untuk mendapatkan nilai parameter-parameter tersebut, jika jumlah parameternya kurang dari 2 atau lebih dari 2, maka format SMS nya salah. Sedangkan jika parameternya berjumlah 2 dan parameter pertama berisi TWITTER, maka format SMS benar dan selanjutnya lakukan proses update status Twitternya.
maka untuk script update status Twitter ini kita masih menggunakan AJAX, meskipun ini hanya salah satu cara saja.
Sekarang kita coba buat script PHP untuk membaca SMS yang masuk di Inbox Gammu lalu memprosesnya dengan ide di atas.
update-twitter.php
01.<?php
02. 
03.// koneksi ke database Gammu
04.$dbhost = 'localhost';
05.$dbuser = '...';
06.$dbpass = '...';
07.$dbname = '...';
08.mysql_connect($dbhost, $dbuser, $dbpass);
09.mysql_select_db($dbname);
10. 
11.// membaca INBOX Gammu
12.$query = "SELECT * FROM inbox WHERE Processed = 'false'";
13.$hasil = mysql_query($query);
14.$data = mysql_fetch_array($hasil);
15.$id = $data['ID'];
16.$sms = $data['TextDecoded'];
17.$sender = $data['SenderNumber'];
18. 
19.// proses parsing SMS berdasarkan karakter #
20.$parse = explode('#', $sms);
21. 
22.// jika jumlah parameter hasil parsing adalah 2
23.if (count($parse) == 2)
24.{
25.// baca keyword hasil parsing
26.$keyword = strtoupper($parse[0]);
27.// baca status hasil parsing
28.$status = $parse[1];
29.// jika keyword adalah 'TWITTER' maka jalankan proses update status
30.if ($keyword == 'TWITTER')
31.{
32.include 'twitter.php';
33.$twitter = new Twitter('<consumer-key>', '<consumer-secret>');
34.$twitter->setOAuthToken('<access-token>');
35.$twitter->setOAuthTokenSecret('<access-token-secret>');
36.$twitter->statusesUpdate($status);
37.$reply = 'Update status Twitter sukses';
38.}
39.else $reply = 'Keyword salah';
40.}
41.else $reply = 'Format SMS Salah';
42. 
43.// menandai SMS di INBOX Gammu bahwa sudah diproses
44.$query = "UPDATE inbox SET Processed = 'true' WHERE ID = '$id'";
45.mysql_query($query);
46. 
47.// mengirim pesan SMS balasan ke nomor pengirim
48.$query = "INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID)
49.VALUES ('$sender', '$reply', 'Gammu')";
50.mysql_query($query);
51.?>
 
Keterangan:
  • Pastikan Anda sudah mendownload script twitter.php dan meletakkannya di dalam folder yang sama dengan script di atas.
  • Isikan , , dan pada bagian yang sudah ditentukan di atas. Untuk keterangan lebih detil, silakan pelajari lagi artikel sebelumnya.
Nah… script untuk memproses SMS yang masuk kemudian mengupdate status Twitter sudah dibuat, selanjutnya kita buat script AJAX supaya script di atas bisa berjalan terus menerus di SMS center nya. Kurang lebih, script AJAX nya seperti di bawah ini.
index.html
01.<html>
02.<head>
03.<script type="text/javascript">
04.function proses()
05.{
06.if (window.XMLHttpRequest)
07.{
08.xmlhttp=new XMLHttpRequest();
09.}
10.else
11.{
12.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
13.}
14. 
15.xmlhttp.onreadystatechange=function()
16.{
17.if (xmlhttp.readyState==4 &amp;&amp; xmlhttp.status==200)
18.{
19.}
20.}
21. 
22.xmlhttp.open("GET","update-twitter.php");
23.xmlhttp.send();
24.setTimeout("proses()", 5000);
25.}
26.</head>
27.<body onload="proses();">
28.<h1>SMS Center Twitter</h1>
29.</body>
30.</html>
Keterangan:
Script AJAX di atas senantiasa akan menjalankan script update-twitter.php setiap interval 5 detik (5000 ms), perhatikan setTimeout("proses()", 5000); Jika dalam setiap interval 5 detik itu ada SMS yang masuk ke INBOX dan memuat keyword TWITTER maka akan langsung melakukan update Twitter nya.
Script yang perlu Anda jalankan dibrowser hanyalah index.html saja, sedangkan untuk script update-twitter.php tidak perlu dibuka di browser karena sudah otomatis dijalankan oleh AJAX yang ada di index.html tadi.
OK… selamat mencoba ya, and… selamat menge-twit via SMS 
Oya.. script di atas belum saya coba sih.. tapi harusnya bisa jalan, soalnya coding nya langsung di blog ini, tanpa trial dulu.
◄ Newer Post Older Post ►