<?php
/**
 * Infosdesite.fr API Class
 * http://www.infosdesite.fr/
 * Updated October 29 2010
 * @version 2.01
 * @author Daan Olislagers - Infosdesite.fr -  http://www.infosdesite.fr
 */

class API{

    private 
$s_Key;
    private 
$s_Domain 'http://www.infosdesite.fr/api';

    public function 
__construct($s_Key)
    {
        
$this->s_Key $s_Key;
    }

    private static function 
getContents($s_Url)
    {
        
$r_Ch curl_init($s_Url);
        
curl_setopt($r_ChCURLOPT_REFERER$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']);
        
$s_Data curl_exec($r_Ch);
        
curl_close($r_Ch);

        return 
$s_Data;
    }

    public function 
getInfo($s_Website)
    {
        
$s_Url $this->s_Domain.'/'.$this->s_Key.'/'.$s_Website;

        return 
json_decode(self::getContents($s_Url));
    }

    public function 
update($s_Website)
    {
        
$s_Url $this->s_Domain.'update/'.$this->s_Key.'/'.$s_Website;

        return 
json_decode(self::getContents($s_Url));
    }

    public static function 
isError($a_Result)
    {
        return isset(
$a_Result->error);
    }

    public static function 
getError($a_Result)
    {
        return 
$a_Result->error;
    }
}

//------------Example usage--------------------//
$o_API = new API('YOUR_API_KEY_HERE');
$a_Result $o_API->getInfo('www.google.com');
if (
API::isError($a_Result))
    throw new 
Exception(API::getError($a_Result));

echo 
'<pre>';
print_r($a_Result);
echo 
'</pre>';
//---------------------------------------------//

?>