Intro
Google PageRank is a rating from 0-10 of websites. It doesn't matter that much but it matters a lot to websites.

What Happened?
About 12 hours ago (at time of posting) Google changed the url which showed a websites Page Rank. Since then the internet and webmasters have gone crazy as most toolbar extensions, browser plugins and page rank checker websites have stopped working. If you have an official plugin eg the Internet Explorer (IE) Google Toolbar and it's updated you'll still see Page Rank working fine but if your using a third party extension or plugin then it will probably show zero for all websites. John Mueller who's a Webmaster Trends Analyst at Google confirmed on Google+ the url changed and linked to a related official post telling webmasters not to worry about page rank.

How to fix?
If you own a website or script that checks a pagerank you can use the below which used the new URL required to check a websites Page Rank along with extras.

NOTE: Source has various sources some of which predate 2006 so it's hard to give credit to who is responsible for what parts. I've just updated the below based on todays changes.

Source
PHP Code: 
<?php
function StrToNum($Str$Check$Magic)
{
    
$Int32Unit 4294967296;  // 2^32
 
    
$length strlen($Str);
    for (
$i 0$i $length$i++) {
        
$Check *= $Magic;
        
//If the float is beyond the boundaries of integer (usually +/- 2.15e+9 = 2^31),
        //  the result of converting to integer is undefined
        //  refer to http://www.php.net/manual/en/language.types.integer.php
        
if ($Check >= $Int32Unit) {
            
$Check = ($Check $Int32Unit * (int) ($Check $Int32Unit));
            
//if the check less than -2^31
            
$Check = ($Check < -2147483648) ? ($Check $Int32Unit) : $Check;
        }
        
$Check += ord($Str{$i});
    }
    return 
$Check;
}
 
//--> for google pagerank
/*
* Genearate a hash for a url
*/
function HashURL($String)
{
    
$Check1 StrToNum($String0x15050x21);
    
$Check2 StrToNum($String00x1003F);
 
    
$Check1 >>= 2;
    
$Check1 = (($Check1 >> 4) & 0x3FFFFC0 ) | ($Check1 0x3F);
    
$Check1 = (($Check1 >> 4) & 0x3FFC00 ) | ($Check1 0x3FF);
    
$Check1 = (($Check1 >> 4) & 0x3C000 ) | ($Check1 0x3FFF);
 
    
$T1 = (((($Check1 0x3C0) << 4) | ($Check1 0x3C)) <<) | ($Check2 0xF0F );
    
$T2 = (((($Check1 0xFFFFC000) << 4) | ($Check1 0x3C00)) << 0xA) | ($Check2 0xF0F0000 );
 
    return (
$T1 $T2);
}
   
//--> for google pagerank
/*
* genearate a checksum for the hash string
*/
function CheckHash($Hashnum)
{
    
$CheckByte 0;
    
$Flag 0;
 
    
$HashStr sprintf('%u'$Hashnum) ;
    
$length strlen($HashStr);
 
    for (
$i $length 1;  $i >= 0;  $i --) {
        
$Re $HashStr{$i};
        if (
=== ($Flag 2)) {
            
$Re += $Re;
            
$Re = (int)($Re 10) + ($Re 10);
        }
        
$CheckByte += $Re;
        
$Flag ++;
    }
 
    
$CheckByte %= 10;
    if (
!== $CheckByte) {
        
$CheckByte 10 $CheckByte;
        if (
=== ($Flag 2) ) {
            if (
=== ($CheckByte 2)) {
                
$CheckByte += 9;
            }
            
$CheckByte >>= 1;
        }
    }
 
    return 
'7'.$CheckByte.$HashStr;
}
        
//get google pagerank
function getpagerank($url) {
    
$query="http://toolbarqueries.google.com/tbr?client=navclient-auto&ch=".CheckHash(HashURL($url)). "&features=Rank&q=info:".$url."&num=100&filter=0";
    
$data=file_get_contents_curl($query);
    
//print_r($data); // un-comment for error checking
    
$pos strpos($data"Rank_");
    if(
$pos === false){} else{
        
$pagerank substr($data$pos 9);
        return 
$pagerank;
    }
}
function 
file_get_contents_curl($url) {
    
$ch curl_init();
    
curl_setopt($chCURLOPT_HEADER0);
    
curl_setopt($chCURLOPT_RETURNTRANSFER1); //Set curl to return the data instead of printing it to the browser.
    
curl_setopt($chCURLOPT_URL$url);
    
$data curl_exec($ch);
    
curl_close($ch);
 
    return 
$data;
}
?>
Additional Info
Their are shorter versions of the above that don't generate a HASH but they only work for a while and don't work on mass page rank checkers. Having a hash in the script allows you to multiple automated page rank checks.

Hope the above is useful and solves a lot of today's questions and problems
Mr Happy Reviewed by Mr Happy on . Google Page Rank Source Code - UPDATED Intro Google PageRank is a rating from 0-10 of websites. It doesn't matter that much but it matters a lot to websites. What Happened? About 12 hours ago (at time of posting) Google changed the url which showed a websites Page Rank. Since then the internet and webmasters have gone crazy as most toolbar extensions, browser plugins and page rank checker websites have stopped working. If you have an official plugin eg the Internet Explorer (IE) Google Toolbar and it's updated you'll still see Rating: 5