propellerads adcombo
Dismiss Notice
Welcome to Our Community
Wanting to join the rest of our members? Feel free to sign up today.

PHP function to get PR

Discussion in 'Programming and Scripts' started by arthur.online, Jun 17, 2009.

  1. arthur.online

    arthur.online Affiliate affiliate

    123
    0
    0
    PHP function to get PR from PHP information

    function GooglePageRank($url){
    $arr = parse_url($url);
    $url = $arr['host'];
    $url="info:".$url;
    $ch=GoogleCSum($url,0xE6359A60);
    $host="toolbarqueries.google.com";
    $hostip=gethostbyname($host);
    $query ="GET /search?client=navclient-auto&ch=6".$ch."&ie=UTF-8&oe=UTF-8&features=Rank&q=".rawurlencode($url)." HTTP/1.0\r\n";
    $query.="Host: $host\r\n"; $rank=-1;
    $query.="User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n";
    $query.="Connection: Close\r\n\r\n";
    $fp=fsockopen($hostip,80,$errno,$errstr,30);
    if (
    $fp) {
    fputs($fp,$query);
    $data="";
    while (!
    feof($fp)) $data.=fgets($fp,4096);
    fclose($fp);
    $data=explode("\n",$data);
    foreach (
    $data as $line)
    if (!
    is_bool(strpos($line,"Rank_1"))) {
    $rank=explode(":",trim($line));
    $rank=$rank[2];
    break;
    }
    }
    return
    $rank;
    }

    function GoogleCSum($s,$key){
    $v4=$len=strlen($s);
    $esi=$key;
    $ebx=$edi=0X9E3779B9; $p=0;
    if (
    $len>=12)
    for(
    $i=0;$i<floor($len/12);$i++) {
    $edi=unsign($edi+ord($s[$p+4])+(ord($s[$p+5]) << 8)+(ord($s[$p+6]) << 16)+(ord($s[$p+7]) << 24));
    $esi=unsign($esi+ord($s[$p+8])+(ord($s[$p+9]) << 8)+(ord($s[$p+10]) << 16)+(ord($s[$p+11]) << 24));
    $edx=unsign(($ebx+ord($s[$p+0])+(ord($s[$p+1]) << 8)+(ord($s[$p+2]) << 16)+(ord($s[$p+3]) << 24)-$edi-$esi)^shr($esi,13));
    $edi=unsign(($edi-$esi-$edx)^($edx << 8));
    $esi=unsign(($esi-$edx-$edi)^shr($edi,13));
    $edx=unsign(($edx-$edi-$esi)^shr($esi,12));
    $edi=unsign(($edi-$esi-$edx)^($edx << 16));
    $esi=unsign(($esi-$edx-$edi)^shr($edi,5));
    $edx=unsign(($edx-$edi-$esi)^shr($esi,3));
    $ebx=$edx;
    $edi=unsign(($edi-$esi-$ebx)^($ebx << 10));
    $esi=unsign(($esi-$ebx-$edi)^shr($edi,15));
    $v4-=12; $p+=12;
    }
    $esi=unsign($esi+$len);
    if (
    $v4>=11) $esi=unsign($esi+(ord($s[$p+10]) << 24));
    if (
    $v4>=10) $esi=unsign($esi+(ord($s[$p+9]) << 16));
    if (
    $v4>=9) $esi=unsign($esi+(ord($s[$p+8]) << 8));
    if (
    $v4>=8) $edi=unsign($edi+ord($s[$p+4])+(ord($s[$p+5]) << 8)+(ord($s[$p+6]) << 16)+(ord($s[$p+7]) << 24));
    else {
    if (
    $v4>=7) $edi=unsign($edi+(ord($s[$p+6]) << 16));
    if (
    $v4>=6) $edi=unsign($edi+(ord($s[$p+5]) << 8));
    if (
    $v4>=5) $edi=unsign($edi+ord($s[$p+4])); }
    if (
    $v4>=4) $ebx=unsign($ebx+ord($s[$p+0])+(ord($s[$p+1]) << 8)+(ord($s[$p+2]) << 16)+(ord($s[$p+3]) << 24));
    else {
    if (
    $v4>=3) $ebx=unsign($ebx+(ord($s[$p+2]) << 16));
    if (
    $v4>=2) $ebx=unsign($ebx+(ord($s[$p+1]) << 8));
    if (
    $v4>=1) $ebx=unsign($ebx+ord($s[$p+0]));
    }
    $ebx=unsign(($ebx-$edi-$esi)^shr($esi,13));
    $edi=unsign(($edi-$esi-$ebx)^($ebx << 8));
    $esi=unsign(($esi-$ebx-$edi)^shr($edi,13));
    $ebx=unsign(($ebx-$edi-$esi)^shr($esi,12));
    $edi=unsign(($edi-$esi-$ebx)^($ebx << 16));
    $esi=unsign(($esi-$ebx-$edi)^shr($edi,5));
    $ebx=unsign(($ebx-$edi-$esi)^shr($esi,3));
    $edi=unsign(($edi-$esi-$ebx)^($ebx << 10));
    $esi=unsign(($esi-$ebx-$edi)^shr($edi,15)); return $esi;
    }

    function shr($x,$y) {
    $x=unsign($x);
    for(
    $i=0;$i<$y;$i++) $x=floor($x/2);
    return
    $x;
    }

    function unsign($l) {
    $l=intval($l);
    if (
    $l>=0){
    return
    $l;
    } else {
    return
    4294967296+$l;
    }
    }
     
  2. Methok

    Methok Affiliate affiliate

    9
    0
    0
    Thank you, Much appreciated, I shall give this a go.

    - Methok
     
  3. swoopodeveloper

    swoopodeveloper Affiliate affiliate

    51
    0
    0
    But can you tell me how to implement so its will best dear.
     

Featured Resources (View All)

adsxposed