From Wikipedia, the free encyclopedia
<?
require_once('../SxWiki.php');
require_once('./sqlbot-enwiki.php');
require_once('../database.inc');
$user = mysql_escape_string($user);
$templatename = "User:SQL/Adminstats/Core";
$basename = "User:SQL/Adminstats";
mysql_connect('enwiki-p.db.ts.wikimedia.org',$toolserver_username,$toolserver_password);
@mysql_select_db('enwiki_p') or print mysql_error();
function processadmin ($user) {
global $basename;
global $templatename;
$query = "SELECT count(rev_id) FROM revision WHERE rev_user_text = '$user'";
$result = mysql_query($query);
if(!$result) Die("ERROR: No result returned.");
$row = mysql_fetch_assoc($result);
$out = '{{' . $templatename;
$numsqlbot = $row['count(rev_id)'];
$out = $out . "|edits=$numsqlbot";
$query = "SELECT * FROM user WHERE user_name = '$user'";
$result = mysql_query($query);
if(!$result) Die("ERROR: No result returned.");
$row = mysql_fetch_assoc($result);
$uid = $row[user_id];
$numall = $row[user_editcount];
$out = $out . "|ed=$numall";
$query = "SELECT count(log_action) FROM logging WHERE log_user = '$uid' AND log_type = 'newusers'";
$result = mysql_query($query);
if(!$result) Die("ERROR: No result returned.");
$row = mysql_fetch_assoc($result);
$newusers = $row['count(log_action)'];
$out = $out . "|created=$newusers";
$query = "SELECT count(log_action) FROM logging WHERE log_user = '$uid' AND log_action = 'delete'";
$result = mysql_query($query);
if(!$result) Die("ERROR: No result returned.");
$row = mysql_fetch_assoc($result);
$deletions = $row['count(log_action)'];
$out = $out . "|deleted=$deletions";
$query = "SELECT count(log_action) FROM logging WHERE log_user = '$uid' AND log_action = 'restore'";
$result = mysql_query($query);
if(!$result) Die("ERROR: No result returned.");
$row = mysql_fetch_assoc($result);
$restores = $row['count(log_action)'];
$out = $out . "|restored=$restores";
$query = "SELECT count(log_action) FROM logging WHERE log_user = '$uid' AND log_action = 'block'";
$result = mysql_query($query);
if(!$result) Die("ERROR: No result returned.");
$row = mysql_fetch_assoc($result);
$blocks = $row['count(log_action)'];
$out = $out . "|blocked=$blocks";
$query = "SELECT count(log_action) FROM logging WHERE log_user = '$uid' AND log_action = 'protect'";
$result = mysql_query($query);
if(!$result) Die("ERROR: No result returned.");
$row = mysql_fetch_assoc($result);
$protects = $row['count(log_action)'];
$out = $out . "|protected=$protects";
$query = "SELECT count(log_action) FROM logging WHERE log_user = '$uid' AND log_action = 'unprotect'";
$result = mysql_query($query);
if(!$result) Die("ERROR: No result returned.");
$row = mysql_fetch_assoc($result);
$unprotects = $row['count(log_action)'];
$out = $out . "|unprotected=$unprotects";
$query = "SELECT count(log_action) FROM logging WHERE log_user = '$uid' AND log_action = 'rights'";
$result = mysql_query($query);
if(!$result) Die("ERROR: No result returned.");
$row = mysql_fetch_assoc($result);
$grants = $row['count(log_action)'];
$out = $out . "|rights=$grants";
$out = $out . '|style={{{style|}}}}}';
echo $out;
echo "\n";
$toedit = "$basename/$user\n";
sxPutPage($toedit, "Updating Admin Stats", $out);
}
$todo = sxGetTransclusion($basename, "2");
#print_r($todo);
foreach ($todo as $adminname) {
#preg_match("/User(\/ talk):(.*)(\/.*|)/i", $adminname, $matches);
#preg_match("/User(?: talk):(.*)/i", $adminname, $matches);
preg_match("/User( talk)?:([^\/]*)/i", $adminname, $matches);
#print_r($matches);
$admin = $matches[2];
processadmin($admin);
}
mysql_close();
?>