<?
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);
}
?>
|