<html><head>
<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"><title>Lookup</title>
<style type="text/css" media="screen"><!--
body
{
color: black;
background-color: #fff;
margin: 0px
}
#horizon
{
color: black;
background-color: #fff;
text-align: center;
position: absolute;
top: 50%;
left: 0px;
width: 100%;
height: 1px;
overflow: visible;
visibility: visible;
display: block
}
#content
{
font-family: Verdana, Geneva, Arial, sans-serif;
background-color: lightblue;
margin-left: -170px;
position: absolute;
top: -100px;
left: 50%;
width: 340px;
height: 200px;
visibility: visible
}
--></style></head>
<?php
if (empty($_GET['url'])) { ?>
<body>
<div id="horizon">
<div id="content" style="padding-top:30;height:120px;top:-55px;">
<center>
<FORM METHOD="GET" ACTION="./lookup.php">
<span style="color:darkblue;font-weight:700;">URL</span>:<br /> <INPUT name="url" width="40" style="width:300;margin-top:10;font-size:24px;"><br />
<INPUT TYPE="submit" VALUE=Lookup style="width:200px;margin-top:10;">
</FORM>
</center>
</div>
</div>
</body></html>
<?php } else { ?>
<?php
$url=$_REQUEST[url];
class pagerank {
var $url;
function pagerank ($url, $options) {
$this->url = parse_url('http://' . ereg_replace('^http://', '', $url));
$this->url['full'] = 'http://' . ereg_replace('^http://', '', $url);
if ($options['pagerank']) {
$this->getPagerank();
}
if ($options['alexaRank']) {
$this->getAlexaRank();
}
if ($options['backlinksGoogle']) {
$this->getBacklinksGoogle();
}
if ($options['backlinksYahoo']) {
$this->getBacklinksYahoo();
}
}
function getPage ($url) {
if (function_exists('curl_init')) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
return curl_exec($ch);
} else {
return file_get_contents($url);
}
}
function getPagerank () {
$url = 'info:' . $this->url['host'];
$checksum = $this->checksum($this->strord($url));
$url = "http://www.google.com/search?client=navclient-auto&ch=6$checksum&features=Rank&q=$url";
$data = $this->getPage($url);
preg_match('#Rank_[0-9]:[0-9]:([0-9]+){1,}#si', $data, $p);
$value = ($p[1]) ? $p[1] : 0;
echo "<tr><td>Pagerank:</td> <td>$value</td></tr>";
}
function getAlexaRank() {
$url = $this->url['host'];
$url = "http://data.alexa.com/data?cli=10&dat=s&url=$url";
$data = $this->getPage($url);
preg_match('#<POPULARITY URL="(.*?)" TEXT="([0-9]+){1,}"/>#si', $data, $p);
$value = ($p[2]) ? number_format($this->toInt($p[2])) : 0;
echo "<tr><td>Alexa Rank:</td> <td>$value</td></tr>";
}
function getBacklinksGoogle() {
$url = $this->url['host'];
$url = 'http://www.google.com/search?q=link%3A' . urlencode($url);
$data = $this->getPage($url);
preg_match('#of about <b>([0-9,]+){1,}#si', $data, $p);
$value = ($p[1]) ? number_format($this->toInt($p[1])) : 0;
echo "<tr><td>Google Backlinks:</td> <td>$value</td></tr>";
}
function getBacklinksYahoo() {
$url = $this->url['host'];
$url = 'http://siteexplorer.search.yahoo.com/search?p=' . urlencode("http://$url") . '&bwm=i';
$data = $this->getPage($url);
preg_match('#Inlinks \(([0-9,]+){1,}\)#si', $data, $p);
$value = ($p[1]) ? number_format($this->toInt($p[1])) : 0;
echo "<tr><td>Yahoo Backlinks:</td> <td>$value</td></tr>";
}
function toInt ($string) {
return preg_replace('#[^0-9]#si', '', $string);
}
function to_int_32 (&$x) {
$z = hexdec(80000000);
$y = (int) $x;
if($y ==- $z && $x <- $z){
$y = (int) ((-1) * $x);
$y = (-1) * $y;
}
$x = $y;
}
function zero_fill ($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; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 13)));
$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 8));
$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 13)));
$a -= $b; $a -= $c; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 12)));
$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 16));
$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 5)));
$a -= $b; $a -= $c; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 3)));
$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 10));
$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 15)));
return array($a,$b,$c);
}
function checksum ($url, $length = null, $init = 0xE6359A60) {
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 = $this->mix($a, $b, $c);
$a = $mix[0]; $b = $mix[1]; $c = $mix[2];
$k += 12;
$len -= 12;
}
$c += $length;
switch($len) {
case 11: $c += ($url[$k + 10] << 24);
case 10: $c += ($url[$k + 9] << 16);
case 9 : $c += ($url[$k + 8] << 8);
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]);
}
$mix = $this->mix($a, $b, $c);
return $mix[2];
}
function strord ($string) {
for($i = 0; $i < strlen($string); $i++) {
$result[$i] = ord($string{$i});
}
return $result;
}
}
?>
<body>
<div id="horizon">
<div id="content" style="color:darkblue;">
<center>
<FORM METHOD="GET" ACTION="./lookup.php">
<span style="color:darkblue;font-weight:700;">URL</span>: <INPUT name="url" width="40" style="width:200;margin-top:10;">
<INPUT TYPE="submit" VALUE=Lookup style="width:60;">
</FORM>
<TABLE BORDER=0>
<CAPTION>Lookup Data</CAPTION>
<TR><TH><?php echo $_GET['url']; ?></TH></TR>
<?php
$options = array(
'pagerank' => true,
'alexaRank' => true,
'backlinksGoogle' => true,
'backlinksYahoo' => true,
);
new pagerank(urldecode($_GET['url']), $options);
?>
</table>
</div>
</div>
<?php } ?>