User:MichaelBillington/Count/Source

From Wikiversity

Jump to: navigation, search

//

 <?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");
 ?>
 //