Bagaimana sih menampilkan Status YM [Yahoo Messager] kita pada website yang kita punya?

mungkin banyak dari beberapa website mengulas artikel - artikel seperti ini, nah pada artikel kali ini kita buat sedikit berbeda dengan membuatnya sebagai sebuah fungsi dan sedikit sentuhan javascript didalamnya.

Buat file dengan nama yahoo.php untuk menampung fungsi yang akan kalian buat :

function ymstatus($yahooid) {

    $yahoo_url = "http://opi.yahoo.com/online?u={$yahooid}&m=a&t=1";

    if (ini_get('allow_url_fopen')) { // cek apakah server membuka request ke website lain.
        error_reporting(0);
        $yahoo = file_get_contents($yahoo_url);
    } 
    $yahoo = trim($yahoo);
    if(empty($yahoo)) { // ketika tidak terkoneksi yahoo
        $imgsrc = "./img/offline-smile.png";
    } elseif($yahoo == "01") { // ketika  online
        $imgsrc = "./img/online-smile.png";
    } elseif($yahoo == "00") { // ketika pemilik yahoo Offline/Invisible
        $imgsrc = "./img/offline-smile.png";
    } else {       
        $imgsrc = "./img/offline-smile.png"; // Ketika seluruh kondisi tidak sesuai tapmilkan dalam kondisi Offline
    }

    return '<a href="ymsgr:sendim?' . $yahooid . '"> <img src="' . $imgsrc . '" alt="' . $yahooid . '" /></a>';
}

sebenarnya dari fungsi diatas sudah mewakili untuk menampilkan status Messager kalian, contoh seperti dibawah

echo ymstatus('username yahoo');

kita tambahkan sedikit sentuhan javascript [ajax] untuk mempercantik

    function ajaxRequest(){  // fungsi active javascript tiap browser
        var activexmodes = ["Msxml2.XMLHTTP","Microsoft.XMLHTTP"];
       
        if(window.ActiveXObject){ // Internet Explorer
            for(var i=0;i<activexmodes.length;i++){
                try{
                    return new ActiveXObject(activexmodes[i])
                }catch(e){
                    alert("Error Microsoft ActiveX");
                }
            }
        }else if(window.XMLHttpRequest){ // Firefox, safari, netscape, chrome dll
            return new XMLHttpRequest();
        }else{
            return false;
        }
    }
   
    var request = new ajaxRequest();  // deklarasikan fungsi diatas
    request.open("GET","yahoo.php",true); //panggil file yahoo.php
    request.send(null);
   
    request.onreadystatechange=function(){
        if(request.readyState == 4){
            if(request.status == 200){
                document.getElementById('ym').innerHTML = request.responseText; // tampilkan hasil dari yahoo.php ke ID ym
            }else{
                alert("Request salah");
            }
        }               
    }

bagaimana mudah bukan kalian cukup membuat 2 buah file yaitu halaman response (yahoo.php) dan satu lagi halaman pemanggil

 

Untuk memperjelas sudah saya sertakan kode untuk kalian download dan modifikasi.

DOWNLOAD