Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

google pagerank Checksum


sinryder

Recommended Posts

Posted

hello guys i am trying to get google page rank for the sites. i guess i need google Checksum code. i have looked everywhere and searched on google but all of the codes i found didnt work.

 

this is one of the code i found

 

<?php
/*
  This code is released unto the public domain
*/
header("Content-Type: text/plain; charset=utf-8");
define('GOOGLE_MAGIC', 0xE6359A60);

//unsigned shift right
function zeroFill($a, $b)
{
  $z = hexdec(80000000);
      if ($z & $a)
      {
          $a = ($a>>1);
          $a &= (~$z);
          $a |= 0x40000000;
          $a = ($a>>($b-1));
      }
      else
      {
          $a = ($a>>$b);
      }
      return $a;
}

function mix($a,$b,$c) {
$a -= $b; $a -= $c; $a ^= (zeroFill($c,13));
$b -= $c; $b -= $a; $b ^= ($a<<8);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,13));
$a -= $b; $a -= $c; $a ^= (zeroFill($c,12));
$b -= $c; $b -= $a; $b ^= ($a<<16);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,5));
$a -= $b; $a -= $c; $a ^= (zeroFill($c,3));
$b -= $c; $b -= $a; $b ^= ($a<<10);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,15));

return array($a,$b,$c);
}

function GoogleCH($url, $length=null, $init=GOOGLE_MAGIC) {
  if(is_null($length)) {
      $length = sizeof($url);
  }
  $a = $b = 0x9E3779B9;
  $c = $init;
  $k = 0;
  $len = $length;
  while($len >= 12) {
      $a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16)
+($url[$k+3]<<24));
      $b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16)
+($url[$k+7]<<24));
      $c += ($url[$k+8] +($url[$k+9]<<8)
+($url[$k+10]<<16)+($url[$k+11]<<24));
      $mix = mix($a,$b,$c);
      $a = $mix[0]; $b = $mix[1]; $c = $mix[2];
      $k += 12;
      $len -= 12;
  }

  $c += $length;
  switch($len)              /* all the case statements fall through */
  {
      case 11: $c+=($url[$k+10]<<24);
      case 10: $c+=($url[$k+9]<<16);
      case 9 : $c+=($url[$k+8]<<8);
        /* the first byte of c is reserved for the length */
      case 8 : $b+=($url[$k+7]<<24);
      case 7 : $b+=($url[$k+6]<<16);
      case 6 : $b+=($url[$k+5]<<8);
      case 5 : $b+=($url[$k+4]);
      case 4 : $a+=($url[$k+3]<<24);
      case 3 : $a+=($url[$k+2]<<16);
      case 2 : $a+=($url[$k+1]<<8);
      case 1 : $a+=($url[$k+0]);
       /* case 0: nothing left to add */
  }
  $mix = mix($a,$b,$c);
  /*-------------------------------------------- report the result */
  return $mix[2];
}

//converts a string into an array of integers containing the numeric
value of the char
function strord($string) {
  for($i=0;$i<strlen($string);$i++) {
      $result[$i] = ord($string{$i});
  }
  return $result;
}
// [url]http://www.example.com/[/url] - Checksum: 6540747202
$url = 'info:'.$_GET['url'];
print("url:\t{$_GET['url']}\n");
$ch = GoogleCH(strord($url));
printf("ch:\t6%u\n",$ch);
?>

 

any help is greatly appreciated

 

thankyou

Posted

This is what I use on my directories:

<?php
/*
   This code is released unto the public domain
*/
//header("Content-Type: text/plain; charset=utf-8");
define('GOOGLE_MAGIC', 0xE6359A60);

//unsigned shift right
function zeroFill($a, $b)
{
   $z = hexdec(80000000);
       if ($z & $a)
       {
           $a = ($a>>1);
           $a &= (~$z);
           $a |= 0x40000000;
           $a = ($a>>($b-1));
       }
       else
       {
           $a = ($a>>$b);
       }
       return $a;
}


function mix($a,$b,$c) {
 $a -= $b; $a -= $c; $a ^= (zeroFill($c,13));
 $b -= $c; $b -= $a; $b ^= ($a<<8);
 $c -= $a; $c -= $b; $c ^= (zeroFill($b,13));
 $a -= $b; $a -= $c; $a ^= (zeroFill($c,12));
 $b -= $c; $b -= $a; $b ^= ($a<<16);
 $c -= $a; $c -= $b; $c ^= (zeroFill($b,5));
 $a -= $b; $a -= $c; $a ^= (zeroFill($c,3));   
 $b -= $c; $b -= $a; $b ^= ($a<<10);
 $c -= $a; $c -= $b; $c ^= (zeroFill($b,15));
  
 return array($a,$b,$c);
}

function GoogleCH($url, $length=null, $init=GOOGLE_MAGIC) {
   if(is_null($length)) {
       $length = sizeof($url);
   }
   $a = $b = 0x9E3779B9;
   $c = $init;
   $k = 0;
   $len = $length;
   while($len >= 12) {
       $a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24));
       $b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));
       $c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24));
       $mix = mix($a,$b,$c);
       $a = $mix[0]; $b = $mix[1]; $c = $mix[2];
       $k += 12;
       $len -= 12;
   }

   $c += $length;
   switch($len)              /* all the case statements fall through */
   {
       case 11: $c+=($url[$k+10]<<24);
       case 10: $c+=($url[$k+9]<<16);
       case 9 : $c+=($url[$k+8]<<8);
         /* the first byte of c is reserved for the length */
       case 8 : $b+=($url[$k+7]<<24);
       case 7 : $b+=($url[$k+6]<<16);
       case 6 : $b+=($url[$k+5]<<8);
       case 5 : $b+=($url[$k+4]);
       case 4 : $a+=($url[$k+3]<<24);
       case 3 : $a+=($url[$k+2]<<16);
       case 2 : $a+=($url[$k+1]<<8);
       case 1 : $a+=($url[$k+0]);
        /* case 0: nothing left to add */
   }
   $mix = mix($a,$b,$c);
   /*-------------------------------------------- report the result */
   return $mix[2];
}

//converts a string into an array of integers containing the numeric value of the char
function strord($string) {
   for($i=0;$i<strlen($string);$i++) {
       $result[$i] = ord($string{$i});
   }
   return $result;
}

function getrank($url) {
$url = 'info:'.$url;
$ch = GoogleCH(strord($url));

$file = "http://www.google.com/search?client=navclient-auto&ch=6$ch&features=Rank&q=$url";
$data = file($file);

$rankarray = explode (':', $data[2]);
$rank = (int)$rankarray[2];
return $rank;
}

function getpr($url){
$rank = (int)getrank($url);
$str = '<img src="/directory/images/pos.gif" height="4px" width="'.($rank*5).'" align="middle" alt="PageRank '.$rank.'" title="PageRank '.$rank.'"><img src="/directory/images/neg.gif" height="4px" width="'.(50-$rank*5).'" align="middle" alt="PageRank '.$rank.'" title="PageRank '.$rank.'">';
return $str;
}

?>

Include the file somewhere and then call the getpr() function.

 

$prbar = getpr("http://www.oscommerce.com/");

 

The $prbar string now has the familiar PR bar for osC. Be sure to download the pos.gif and neg.gif as well.

 

It's handy since you don't have to call it as a page parameter. You can pump through as many URLs as you need with the conveience of a function :)

 

Bobby

Posted

This works... (Chemo beat my typing :) , his looks better anyway....

 

<?php 
// PHP Google PageRank Calculator Script 
// ------------------------- August 2004 
// Contact author: [email protected] 

// for updates, visit: 
// http://www.googlecommunity.com/scripts/google-pagerank.php 

// provided by www.GoogleCommunity.com 
// ?an unofficial community of Google fans 
// --------------------------------------- 

// Instructions 
// ?Upload pagerank.php to your server 
// ?Call it like this: http://www.example.com/pagerank.php?url=http://www.yahoo.com/ 
// ? example.com is your website. yahoo.com is the website to get the PR of 
// ?The code below displays the PR for $url 

/* 
? ?This code is released unto the public domain 
*/ 
//header("Content-Type: text/plain; charset=utf-8"); 
define('GOOGLE_MAGIC', 0xE6359A60); 

//unsigned shift right 
function zeroFill($a, $b) 
{ 
? ?$z = hexdec(80000000); 
? ? ? ?if ($z & $a) 
? ? ? ?{ 
? ? ? ? ? ?$a = ($a>>1); 
? ? ? ? ? ?$a &= (~$z); 
? ? ? ? ? ?$a |= 0x40000000; 
? ? ? ? ? ?$a = ($a>>($b-1)); 
? ? ? ?} 
? ? ? ?else 
? ? ? ?{ 
? ? ? ? ? ?$a = ($a>>$b); 
? ? ? ?} 
? ? ? ?return $a; 
} 


function mix($a,$b,$c) { 
?$a -= $b; $a -= $c; $a ^= (zeroFill($c,13)); 
?$b -= $c; $b -= $a; $b ^= ($a<<8); 
?$c -= $a; $c -= $b; $c ^= (zeroFill($b,13)); 
?$a -= $b; $a -= $c; $a ^= (zeroFill($c,12)); 
?$b -= $c; $b -= $a; $b ^= ($a<<16); 
?$c -= $a; $c -= $b; $c ^= (zeroFill($b,5)); 
?$a -= $b; $a -= $c; $a ^= (zeroFill($c,3)); ? ?
?$b -= $c; $b -= $a; $b ^= ($a<<10); 
?$c -= $a; $c -= $b; $c ^= (zeroFill($b,15)); 
? ?
?return array($a,$b,$c); 
} 

function GoogleCH($url, $length=null, $init=GOOGLE_MAGIC) { 
? ?if(is_null($length)) { 
? ? ? ?$length = sizeof($url); 
? ?} 
? ?$a = $b = 0x9E3779B9; 
? ?$c = $init; 
? ?$k = 0; 
? ?$len = $length; 
? ?while($len >= 12) { 
? ? ? ?$a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24)); 
? ? ? ?$b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24)); 
? ? ? ?$c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24)); 
? ? ? ?$mix = mix($a,$b,$c); 
? ? ? ?$a = $mix[0]; $b = $mix[1]; $c = $mix[2]; 
? ? ? ?$k += 12; 
? ? ? ?$len -= 12; 
? ?} 

? ?$c += $length; 
? ?switch($len) ? ? ? ? ? ? ?/* all the case statements fall through */ 
? ?{ 
? ? ? ?case 11: $c+=($url[$k+10]<<24); 
? ? ? ?case 10: $c+=($url[$k+9]<<16); 
? ? ? ?case 9 : $c+=($url[$k+8]<<8); 
? ? ? ? ?/* the first byte of c is reserved for the length */ 
? ? ? ?case 8 : $b+=($url[$k+7]<<24); 
? ? ? ?case 7 : $b+=($url[$k+6]<<16); 
? ? ? ?case 6 : $b+=($url[$k+5]<<8); 
? ? ? ?case 5 : $b+=($url[$k+4]); 
? ? ? ?case 4 : $a+=($url[$k+3]<<24); 
? ? ? ?case 3 : $a+=($url[$k+2]<<16); 
? ? ? ?case 2 : $a+=($url[$k+1]<<8); 
? ? ? ?case 1 : $a+=($url[$k+0]); 
? ? ? ? /* case 0: nothing left to add */ 
? ?} 
? ?$mix = mix($a,$b,$c); 
? ?/*-------------------------------------------- report the result */ 
? ?return $mix[2]; 
} 

//converts a string into an array of integers containing the numeric value of the char 
function strord($string) { 
? ?for($i=0;$i<strlen($string);$i++) { 
? ? ? ?$result[$i] = ord($string{$i}); 
? ?} 
? ?return $result; 
} 

function getrank($url) { 
? ?$url = 'info:'.$url; 
? ?$ch = GoogleCH(strord($url)); 
? ?$file = "http://www.google.com/search?client=navclient-auto&ch=6$ch&features=Rank&q=$url"; 
? ?$data = file($file); 
? ?$rankarray = explode (':', $data[2]); 
? ?$rank = $rankarray[2]; 
? ?return $rank; 
} 

echo 'PageRank: '.getrank($url).'<br /><small>provided by <a href="http://www.googlecommunity.com/" target="_blank">Google Community.com</a></small>'; 

?>

The way of life, and the way we work for you.

Posted

No problem...the benefit of open source rocks :)

 

Bobby

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...