Показать сообщение отдельно

  #15  
Старый 11.06.2008, 16:38
NOmeR1
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме:
6023777

Репутация: 2642


Отправить сообщение для NOmeR1 с помощью ICQ
По умолчанию

Цитата:
Сообщение от ZEXEL  
NOmeR1 - подскажи плиз как еще зделать что бы адрес сайта вписовать который нужно определить ПР ! и если знаеш как зделать тИЦ яндекс ?
Код:
<?php
echo '<html>
	<head>
		<style>
		body {
			background-color: #D6D6D6;
		}
		.form {
			color: #787878;
			background-color: #C5C5C5;
			text-align: center;
		}
		</style>
		<title>Определение тИЦ и PageRank сайта</title>
	</head>
	<body>
		<table class="form" align="center"><tr><td>';
if($_GET['site']) {
	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=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 = 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) {
		for($i=0;$i<strlen($string);$i++) {
			$result[$i] = ord($string{$i});
		}
		return $result;
	}
	function get_pr($url) {
		$result=array("",-1);
		if(($url.""!="")&&($url.""!="http://")):
			if(substr(strtolower($url),0,7)!="http://"):
				$url="http://".$url;
			endif;
			$url="info:".$url;
			$checksum=GoogleCH(strord($url));
			$google_url=sprintf("http://www.google.com/search?client=navclient-auto&ch=6%u&features=Rank&q=".$url,$checksum); // url to get from google 
			$contents = file_get_contents($google_url);
			$p=explode(":",$contents);
			if(isset($p[2])):
				$result[1]=$p[2];
			endif;
		endif;
		return $result;
	}
	function getPR_url($url) {
		global $db;
		if(eregi('^http://www.',$url)) {
			$url_www = str_replace('http://www.','http://',$url);
		} else {
			$url_www = str_replace('http://','http://www.',$url);
		}
		$pr=get_pr($url);
		$output=$pr[0];
		$pagerank=$pr[1];
		sleep(1);
		$pr=get_pr($url_www);
		$output_www=$pr[0];
		$pagerank_www=$pr[1];
		if($pagerank<$pagerank_www) {
			$pagerank=$pagerank_www;
		}
		if($pagerank==-1) {
			$pagerank=0;
		}
		return intval($pagerank);
	}
	function getCY_url($url) {
		$url = preg_match('~^https?://[A-Za-z0-9\\.-]+/?$~i', $url) ? $url : 'http://'.$url;
		$content = file_get_contents('http://bar-navig.yandex.ru/u?ver=2&show=32&url='.urlencode($url));
		preg_match('~<tcy[^>]+value="([0-9]*)"/>~', $content, $regular);
		return ($regular[1] ? $regular[1] : 0);
	}
	echo '	<div class="form" align="center">тИЦ: '.getCY_url($_GET['site']).'<br>PageRank: '.getPR_url($_GET['site']).'</div>';
} else {
	echo '
			<form method="GET">
				Сайт: <input type="text" name="site"><br>
				<input type="submit" value="Проверить">
			</form>';
}
echo '
		</td></tr></table>
	</body>
</html';
?>