Kamis, 19 Mei 2011

Membuat Tweetlonger di Aplikasi Webclient Sendiri

Oke guys, salam...
kali ini gue bakalan membahas tentang php. Ya langsung to the point aja, awalnya buat kalian yg suka buat apps for twitter seperti webclient mungkin udah banyak yang buat, tapi cukup untuk tweetlonger mungkin baru dikit. Kali ini gue bakalan bahas code-code yg dibuat sendiri untuk sinkron sama aplikasi sama yang kalian buat. Scriptnya gue ulik-ulik sendiri, tapi diambil dari beberapa sumber seperti php.net. Untuk itu ayo kita coba bareng.

*Bila kalian pake dabr dan dabr itu udh di host udah jalan tinggal dipake
**Bila belum udah banyak ko post-post yg membahas cara membuat webclient buat twitter

Nah semua telah berjalan..
Skrng logikanya seperti ini


Ini penjelasannya

Jika tweet lebih dari 140 karakter maka akan disimpan di database,
setelah itu tweet akan dibuka kembali dan akan mempunyai url, url tweet
yg lebih dari 140 karakter akan di short. Setelah mendapat short, tweet
yg 140 karakter akan dipotong *semisal menjadi 125* setelah dipotong tweet
akan disambungkan dengan hasil short url. Setelah semua bergabung maka akan langsung dikirim k twitter



Untuk logikanya kita sudah dapat tinggal scriptnya
Script pertama berada di bagian fungsi update untuk dabr.

Ini adalah scriptnya

function twitter_update() {
  twitter_ensure_post_action();
  $status = twitter_url_shorten(stripslashes(trim($_POST['status'])));
  if ($status) {
    $request = 'http://twitter.com/statuses/update.json';
   

    $total=strlen($status);
    if($total>=140)
    {
        mysql_connect("localhost","user","pass");
        mysql_select_db("database");
        $username=user_current_username();
        mysql_query("INSERT INTO archive (username,status,datetime) VALUES('$username','$status',''); ");
        $query=mysql_query("SELECT * FROM archive ORDER BY id DESC LIMIT 0,1");
        $hasil=mysql_fetch_array($query);
        $status2= substr($status,0,125);
        $longurl= 'http://www.test123.com/tweetlonger/index.php?id='.$hasil[id];
        $request = 'http://shorturl.com/?url=' . urlencode($longurl);
        $response = file_get_contents($request);
          $status3= twitter_url_shorten($status2 . " .." . $response);
    }
else
{
$status3=substr($status,0,140);
}
    $post_data = array('source' => 'Dabr', 'status' => $status3);
    $in_reply_to_id = (string) $_POST['in_reply_to_id'];
    if (is_numeric($in_reply_to_id)) {
      $post_data['in_reply_to_status_id'] = $in_reply_to_id;
    }
    $b = twitter_process($request, $post_data);
  }
  twitter_refresh($_POST['from'] ? $_POST['from'] : '');
}

Sedikit penjelasan
localhost=host
user=user
pass=pass
database=database
*dimasukan kedalam file twitter.php di fungsi sebelumnya dirubah dengan yg ini

Selanjutnya kita buat database dulu
Buat table dengan nama archive
Lalu buat column id, username,status, datetime

Setelah itu buat file untuk membuka status yg disimpan di database,
semisal saya memberi link www.test123.com/tweetlonger/index.php?id=

Isi file index.php adalah perintah php untuk menampilkan database ini. Kalo
anda tak mengerti nanti saya berikan contohnya

Setelah semua selesei dibuat
anda harus mencari tempat men-short url,
banyak layananan untuk ini. Anda dapat memilihnya sendiri..

Setelah semua telah terpasang tinggal dicoba apakah tweetlonger anda jalan atau tidak
Yang terpenting logikanya bener, ayo ayo dicoba :D
Semoga berguna :)