Location: PHPKode > scripts > PHP Fetch > php-fetch/sig.php
<?
header("Content-Type: image/gif");
class PHPFetch {
	var $classes;
	var $infos;
	function fetch_phpclasses($id) {
		$data = file("http://www.phpclasses.org/browse/author/$id.html");
		foreach ($data as $id2 => $line) {
			if (eregi("<a href=\"/browse/package/([0-9]{1,4}).html\">(.+)</a>",$line,$ar)) {
				$this->classes[] = array("pkg" => $ar[1], "name" => strip_tags($ar[2]));
			}
			elseif (eregi("<TH ALIGN=right WIDTH=\"1%\" NOWRAP><!--htdig_noindex-->(.+)<!--/htdig_noindex-->:</TH>",$line,$ar)) {
				if ($ar[1] != "Name") {
					$cinfo = $ar[1];
				}
			}
			elseif (eregi("<TD NOWRAP>(.+)</TD>",$line,$ar) and $cinfo) {
				switch ($cinfo) {
					case "Published packages":
						$this->infos["pkgs"] = $ar[1];
						break;
					case "Age":
						$this->infos["age"] = $ar[1];
						break;
					case "Country":
						$this->infos["country"] = eregi_replace("</a>","",eregi_replace("<a href=\"(.+)\">","",$ar[1]));
						break;
					case "Home page":
						$this->infos["hpage"] = eregi_replace("<(/{0,1})tt>","",eregi_replace("<!--/htdig_noindex-->","",eregi_replace("<!--htdig_noindex-->","",$ar[1])));
						break;
					case "All time rank":
						$this->infos["arank"] = $ar[1];
						break;
					case "Week rank":
						$this->infos["wrank"] = $ar[1];
				}
				unset($cinfo);
			}
		}
	}
}
$siggy = imagecreatefromgif("./clear.gif") or die();
$phpc = new PHPFetch;
if (isset($HTTP_GET_VARS['id'])) {
	$phpc->fetch_phpclasses($HTTP_GET_VARS['id']);
	sleep("0.5");
	$background = imagecolorallocate($siggy, 255, 0, 0);
	$truc = imagestring($siggy,"2","228","26",$HTTP_GET_VARS['id'],$background);
	$truc = imagestring($siggy,"2","228","42",count($phpc->classes),$background);
	$truc = imagestring($siggy,"2","228","58",$phpc->infos['wrank'],$background);
	$truc = imagestring($siggy,"2","228","74",$phpc->infos['arank'],$background);
	echo imagegif($siggy);
}
else {
	echo imagegif($siggy);
}
?>
Return current item: PHP Fetch