Autor Zpráva
Anonymní
Profil *
Zdar lidi, potřeboval bych, aby toto fungovalo bez toho odkazu..... dokážete to?


<a href="http://pagerank.yuhu.cz/" target="_blank" id="prYA"><img id="prYImg" src="#" border="0" width="80" height="20" alt="PageRank ukazatel"></a><script type="text/javascript">	prYS = document.getElementById("prYA").href; prYS += 'pr.php?styl=02&url='+escape(document.location.href); document.getElementById("prYImg").src = prYS;</script>
Str4wberry
Profil
Reakce na Anonymního:
„V případě, kdy použijete kód nějakým chybným způsobem (například odstraníte odkaz nebo ho načítáte ze zcela nesouvisející stránky), se může namísto čísla objevit chybové hlášení.“

Proč Ti tam ten odkaz vadí?
Anonymní
Profil *
Nechci ho tam mít, protože je to nechutný vnucování, když to nechci. Ale vy jste experti, takže po trošce pohrání byste to určitě dokázali. Anebo líp: Dejte sem fungující kód na GPR, všechny, které jsem hledal nefungují. Fakt, šel jsem asi na 20. stránku v Googlu. Co vy na to?
centi
Profil
Anonymní
Yuhů tam ten odkaz nemá len tak zo srandy:

Upravujte si podle libosti, ale jestli můžu prosit, neodstraňujte odkaz na pagerank.yuhu.cz. Službu poskytuju zdarma a nemůžu ji tedy propagovat jiným způsobem. Klidně si změňte alt nebo rámečky obrázku nebo cokoliv takového.
Jurasss
Profil *
Nechci ho tam mít,
Tak to musíš hledat nějaké jiné řešení.

Prostě podmínka je aby tam byl odkaz.

Pokud chceš, tak ti za 500Kč pošlu script, který opravdu funguje a můžeš si sním dělat co chceš.
Třeba si tam dát odkaz na své stránky.
VitaZ
Profil
Tady ten zatím funguje:
<?php

//PageRank Lookup v1.1 by HM2K (update: 31/01/07)
//based on an alogoritham found here: http://pagerank.gamesaga.net/

//settings - host and user agent
$googlehost='toolbarqueries.google.com';
$googleua='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5';

//convert a string to a 32-bit integer
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;
}

//genearate a hash for a url
function HashURL($String) {
    $Check1 = StrToNum($String, 0x1505, 0x21);
    $Check2 = StrToNum($String, 0, 0x1003F);

    $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)) <<2 ) | ($Check2 & 0xF0F );
    $T2 = (((($Check1 & 0xFFFFC000) << 4) | ($Check1 & 0x3C00)) << 0xA) | ($Check2 & 0xF0F0000 );
	
    return ($T1 | $T2);
}

//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 (1 === ($Flag % 2)) {              
            $Re += $Re;     
            $Re = (int)($Re / 10) + ($Re % 10);
        }
        $CheckByte += $Re;
        $Flag ++;	
    }

    $CheckByte %= 10;
    if (0 !== $CheckByte) {
        $CheckByte = 10 - $CheckByte;
        if (1 === ($Flag % 2) ) {
            if (1 === ($CheckByte % 2)) {
                $CheckByte += 9;
            }
            $CheckByte >>= 1;
        }
    }

    return '7'.$CheckByte.$HashStr;
}

//return the pagerank checksum hash
function getch($url) { return CheckHash(HashURL($url)); }

//return the pagerank figure
function getpr($url) {
	global $googlehost,$googleua;
	$ch = getch($url);
	$fp = fsockopen($googlehost, 80, $errno, $errstr, 30);
	if ($fp) {
	   $out = "GET /search?client=navclient-auto&ch=$ch&features=Rank&q=info:$url HTTP/1.1\r\n";
	   //echo "<pre>$out</pre>\n"; //debug only
	   $out .= "User-Agent: $googleua\r\n";
	   $out .= "Host: $googlehost\r\n";
	   $out .= "Connection: Close\r\n\r\n";
	
	   fwrite($fp, $out);
	   
	   //$pagerank = substr(fgets($fp, 128), 4); //debug only
	   //echo $pagerank; //debug only
	   while (!feof($fp)) {
			$data = fgets($fp, 128);
			//echo $data;
			$pos = strpos($data, "Rank_");
			if($pos === false){} else{
				$pr=substr($data, $pos + 9);
				$pr=trim($pr);
				$pr=str_replace("\n",'',$pr);
				return $pr;
			}
	   }
	   //else { echo "$errstr ($errno)<br />\n"; } //debug only
	   fclose($fp);
	}
}

//generate the graphical pagerank
function pagerank($url,$width=40,$method='style') {
	if (!preg_match('/^(http:\/\/)?([^\/]+)/i', $url)) { $url='http://'.$url; }
	$pr=getpr($url);
	$pagerank="PageRank: $pr/10";

	//The (old) image method
	if ($method == 'image') {
	$prpos=$width*$pr/10;
	$prneg=$width-$prpos;
	$html='<img src="http://www.google.com/images/pos.gif" width='.$prpos.' height=4 border=0 alt="'.$pagerank.'"><img src="http://www.google.com/images/neg.gif" width='.$prneg.' height=4 border=0 alt="'.$pagerank.'">';
	}
	//The pre-styled method
	if ($method == 'style') {
	$prpercent=100*$pr/10;
	$html='<div style="position: relative; width: '.$width.'px; padding: 0; background: #D9D9D9;"><strong style="width: '.$prpercent.'%; display: block; position: relative; background: #5EAA5E; text-align: center; color: #333; height: 4px; line-height: 4px;"><span></span></strong></div>';
	}
	
	$out='<a href="'.$url.'" title="'.$pagerank.'">'.$html.'</a>';
	return $out;
}

if ((!isset($_POST['url'])) && (!isset($_GET['url']))) { echo '<form action="" method="post"><input name="url" type="text"><input type="submit" name="Submit" value="Get Pagerank"></form>'; }
if (isset($_REQUEST['url'])) { echo pagerank($_REQUEST['url']); }
?>



peta
Profil
"Dejte sem fungující kód na GPR"
Chiiiiiiiiii :) A co za to? Nic? Tak davame totez :)

"všechny, které jsem hledal nefungují."
To je uz osud. Nekdy je treba projit 100 stranek nebo zmenit vyhledavaci slova.
Zkoumal jsi vlastne, proc ti to nefunguje a jim na strance ano?
Lumpy
Profil *
Vím, jak to obelstít. Jednoduše někam pryč od ikony dáš odkaz
<a href="http://pagerank.yuhu.cz/" id="prYA"></a>


A pak stačí jen kód samotný ikony a je to!
<img id="prYImg" src="http://pagerank.yuhu.cz/pr.php?styl=02&amp;url=http%3A//astrogale rie.ic.cz/" alt="Google PageRank ukazatel" border="0" height="20" width="80"><script type="text/javascript">	prYS = document.getElementById("prYA").href; prYS += 'pr.php?styl=01&url='+escape(document.location.href); document.getElementById("prYImg").src = prYS;</script>


Poděkujte mi, jakej to sem ale koumák! :D
DJ Miky
Profil
Poděkujte mi, jakej to sem ale koumák! :D

Místo poděkování bych ti radši dal přes pusu ;-).
vydrus
Profil
Kdo to zas z mý stránky okopíroval a teď to vydává za vlastní, co? :-P :D
Timy
Profil
Lumpy
Tenhle zmrdismus obecný nechápu. Yuhů nabízí prakticky zdarma nějakou službu, chce za to jenom zpětný odkaz, který si ještě můžete nastylovat jak chcete (takže ve finále ani nikdo nemusí poznat, že jde o odkaz) a vy ještě vymýšlíte způsob, jak tohle ojebat. Nepřipadáš si trochu trapně?
Str4wberry
Profil
Reakce na Lumpyho:
jakej to sem ale koumák
Koumák nejsi. Odkaz tam pořád máš. Kdybys jím byl, dokázal by ses toho odkazu kompletně zbavit.


chce za to jenom zpětný odkaz
Navíc Yuhů na stránky, které využívají jeho službu, odkazuje.
kubijo
Profil *
taky by to mohlo jit jiným, absolutnim obrazkem/<a>-ckem s odkazem # a vyzsim z-indexem (nekdo treba pochopi jak to myslim), ale kacejte se na to. kdybys ty udelal neco takhlee sikovnyho, nedejboze zadarmo, tak bys taky chtel aspon aby se to nekam dostalo (odkazama)
Yuhů
Profil
Jenom mimochodem -- kdyby vám nějaký ten složitý skript nefungoval, tak dejte bacha, jestli ho provozujete na 32 bitové nebo 64 bitové platformě. Jestli jsem to dobře pochopil, u obou variant se nějaký PHPkový výpočet chová jinak, takže je potřeba vyzkoušet víc těch skriptů.
DoubleThink
Profil *
Jenom mimochodem -- kdyby vám nějaký ten složitý skript nefungoval, tak dejte bacha, jestli ho provozujete na 32 bitové nebo 64 bitové platformě. Jestli jsem to dobře pochopil, u obou variant se nějaký PHPkový výpočet chová jinak, takže je potřeba vyzkoušet víc těch skriptů.

Bude se to asi týkat toho bitového posunu v hashovací funkci:

Don't right shift for more than 32 bits on 32 bits systems. Don't left shift in case it results to number longer than 32 bits.
Viz bitové operátory v PHP.
H13
Profil
no nevím páni moderátoři, myslím, že jste trochu zaspali, tohle vlákno je adept na vymazání

Od někoho si stáhnu něco zadarmo, zadarmo si můžu pročíst jeho poznatky a pak ho ještě napadnu, že se mi vnucuje se svým linkem v nějakém řešení, které na rozdíl od ostatních funguje ... pak se navíc najde ještě někdo, kdo se chlubí tím jakej je koumák a píše o svém nechutném postupu návod

tohle mi zavání komunismem, jeden pracuje, ostatní se válí a využívají práce toho jediného pracujícího a pak mu ještě navíc házi klacky pod nohy

Všeobecně panuje mylnej dojem, že když něco c_r_a_c_k_n_u, pomůžu tak ostatním uživatelům, to je ovšem nesmysl, spíše to platí naopak, protože ten, kdo něco vytvořil pak ztrácí motivaci dělat další věci a navíc ztrácí motivaci poskytovat je zadarmo

Timy
Nejsem zvyklej se vyjadřovat takto ostře ve veřejné diskuzi, ale myslím, že se nedají najít lepší slova než jsi použil ty :-)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: