User:MichaelBillington/Count/Source
From Wikiversity
//
<?php
echo file_get_contents("display/start.txt");
$wiki=$_GET['wiki'];
$user=$_GET['name'];
$count=$_GET['count'];
if($user==''){$count='';}
if($wiki==''){$count='';}
if($count=='count'){
$fp = fsockopen($wiki.".org", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET /w/index.php?title=Special:Contributions&limit=50000&target=".$user." HTTP/1.1\r\n";
$out .= "Host: ".$wiki.".org\r\n";
$out .= "User-Agent: Mike's edit counter\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
//echo fgets($fp, 128);
$b=fgets($fp, 128);
$a=$a.$b;
}
fclose($fp);
$a=substr($a,0,strpos($a,'</ul>'));
$alledits = explode("<li>", $a);
for($i = 1; $i < count($alledits); $i++)
{
$totaledits++;
$templ=substr($alledits[$i], strpos($alledits[$i],'?title='));
$namespace=substr($templ,0,strpos($templ,':'));
switch($namespace){
case '?title=Wikipedia':
$EditWP++;
break;
case '?title=Wikipedia_talk':
$EditWT++;
break;
case '?title=Wikiversity':
$EditWP++;
break;
case '?title=Wikiversity_talk':
$EditWT++;
break;
case '?title=User':
$EditU++;
break;
case '?title=User_talk':
$EditUT++;
break;
case '?title=Image':
$EditI++;
break;
case '?title=Image_talk':
$EditIT++;
break;
case '?title=MediaWiki':
$EditM++;
break;
case '?title=MediaWiki_talk':
$EditMT++;
break;
case '?title=Template':
$EditT++;
break;
case '?title=Template_talk':
$EditTT++;
break;
case '?title=Help':
$EditH++;
break;
case '?title=Help_talk':
$EditHT++;
break;
case '?title=Category':
$EditC++;
break;
case '?title=Category_talk':
$EditCT++;
break;
case '?title=Talk':
$EditTa++;
break;
case '?title=Portal':
$EditPortal++;
break;
case '?title=Portal_talk':
$EditPortalT++;
break;
case '?title=School':
$EditSchool++;
break;
case '?title=School_talk':
$EditSchoolT++;
break;
case '?title=Topic':
$EditTopic++;
break;
case '?title=Topic_talk':
$EditTopicT++;
break;
default:
$EditMain++;
break;
}
}
if($totaledits==''){
echo "No edits found for ".$user." on ".$wiki.".";
} else {
echo "Edit count for ".$user." on ".$wiki.": ";
echo "<br> Total edits: ";
echo $totaledits; //All
if($EditMain!=''){
echo "<br> Mainspace: ";
echo $EditMain; //Main
}
if($EditTa!=''){
echo "<br> Talk: ";
echo $EditTa; //Talk
}
if($EditU!=''){
echo "<br> User: ";
echo $EditU; //User
}
if($EditUT!=''){
echo "<br> User talk: ";
echo $EditUT; //User talk
}
if($EditWP!=''){
echo "<br> Project: ";
echo $EditWP; //Wikipedia
}
if($EditWT!=''){
echo "<br> Project talk: ";
echo $EditWT; //Wikipedia talk
}
if($EditI!=''){
echo "<br> Image: ";
echo $EditI; //Image
}
if($EditIT!=''){
echo "<br> Image talk: ";
echo $EditIT; //Image talk
}
if($EditM!=''){
echo "<br> MediaWiki: ";
echo $EditM; //MediaWiki
}
if($EditMT!=''){
echo "<br> MediaWiki talk: ";
echo $EditMT; //MediaWiki talk
}
if($EditT!=''){
echo "<br> Template: ";
echo $EditT; //Template
}
if($EditTT!=''){
echo "<br> Template talk: ";
echo $EditTT; //Template talk
}
if($EditH!=''){
echo "<br> Help: ";
echo $EditH; //Help
}
if($EditHT!=''){
echo "<br> Help talk: ";
echo $EditHT; //Help talk
}
if($EditC!=''){
echo "<br> Category: ";
echo $EditC; //Category
}
if($EditCT!=''){
echo "<br> Category talk: ";
echo $EditCT; //Category talk
}
if($EditPortal!=''){
echo "<br> Portal: ";
echo $EditPortal; //Portal
}
if($EditPortalT!=''){
echo "<br> Portal talk: ";
echo $EditPortalT; //Portal talk
}
if($EditSchool!=''){
echo "<br> School: ";
echo $EditSchool; //School
}
if($EditSchoolT!=''){
echo "<br> School talk: ";
echo $EditSchoolT; //School talk
}
if($EditTopic!=''){
echo "<br> Topic: ";
echo $EditTopic; //Topic
}
if($EditTopicT!=''){
echo "<br> Topic talk: ";
echo $EditTopicT; //Topic talk
}
}
}
} else {
echo file_get_contents("display/form.txt");
}
echo file_get_contents("display/end.txt");
?>
//