<?php
define('GMAG', 0xE6359A60);
function nooverflow($a)
{
while ($a < -2147483648) {
$a += 2147483648 + 2147483648;
}
while ($a > 2147483647) {
$a -= 2147483648 + 2147483648;
}
return $a;
}
function zeroFill($x, $bits)
{
if ($bits == 0) {
return $x;
}
if ($bits == 32) {
return 0;
}
$y = ($x & 0x7FFFFFFF) >> $bits;
if (0x80000000 & $x) {
$y |= (1 << (31 - $bits));
}
return $y;
}
function mix($a, $b, $c)
{
$a = (int) $a;
$b = (int) $b;
$c = (int) $c;
$a -= $b; $a -= $c; $a = nooverflow($a); $a ^= (zeroFill($c, 13));
$b -= $c; $b -= $a; $b = nooverflow($b); $b ^= ($a << 8);
$c -= $a; $c -= $b; $c = nooverflow($c); $c ^= (zeroFill($b, 13));
$a -= $b; $a -= $c; $a = nooverflow($a); $a ^= (zeroFill($c, 12));
$b -= $c; $b -= $a; $b = nooverflow($b); $b ^= ($a << 16);
$c -= $a; $c -= $b; $c = nooverflow($c); $c ^= (zeroFill($b, 5));
$a -= $b; $a -= $c; $a = nooverflow($a); $a ^= (zeroFill($c, 3));
$b -= $c; $b -= $a; $b = nooverflow($b); $b ^= ($a << 10);
$c -= $a; $c -= $b; $c = nooverflow($c); $c ^= (zeroFill($b, 15));
return array($a, $b, $c);
}
function GCH($url, $length = null, $init = GMAG)
{
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) {
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 = mix($a, $b, $c);
return $mix[2];
}
function strord($string)
{
$result = null;
for ($i = 0; $i < strlen($string); $i++) {
$result[$i] = ord($string{$i});
}
return $result;
}
function getPageRank($aUrl)
{
$url = 'info:'.$aUrl;
$ch = GCH(strord($url));
$url = 'info:'.urlencode($aUrl);
$pr_str = fetch("http://www.google.com/search?client=navclient-auto&ch=6$ch&ie=UTF-8&oe=UTF-8&features=Rank&q=$url");
return substr($pr_str, strrpos($pr_str, ':') + 1);
}
function fetch($url)
{
$response = false;
$curlHandler = curl_init($url);
curl_setopt($curlHandler, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curlHandler);
curl_close($curlHandler);
return $response;
}
set_time_limit(0);
if ($xml = simplexml_load_file('http://www.name.com/rss/expired_domains.xml.php', 'SimpleXMLElement', LIBXML_NOCDATA)) {
echo '<table border="1" cellpadding="2" cellspacing="0" align="center">'."\n";
echo '<tr>
<th>Domain</th>
<th>PR</th>
<th>Expired</th>
<th>Current price</th>
<th>Buy link</th>
</tr>'."\n";
foreach ($xml->xpath('/rss/channel/item') as $item) {
if (!empty($item->title)) {
$domain = $item->title;
$pr = trim(getPageRank($domain));
if (!empty($pr)) {
$expireGMTTime = strtotime($item->pubDate);
$nowGMTTime = gmdate('U', time());
$daysLeft = ($expireGMTTime - $nowGMTTime) / 86400;
$price = ((4 <= $daysLeft) ? 29.95 : ((3 <= $daysLeft) ? 24.95 : ((2 <= $daysLeft) ? 19.95 : 9.95)));
echo "<tr>
<td>$domain</td>
<td><img src='http://www.displaypagerank.com/pr.jpeg?site=www.$domain'></a></td>
<td>{$item->pubDate}</td>
<td>\$$price</td>
<td><a href=\"{$item->link}\" target=\"_blank\">Buy now</a></td>
</tr>\n";
flush();
}
}
}
echo '</table>';
}
?>