Created
February 21, 2010 12:40
-
-
Save gdude2002/310291 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<section id="content" class="body center"> | |
<?php | |
$socketdie = "No information avaliable"; | |
function runcmd($cmd, $data = NULL ){ | |
global $socket; | |
$jsondata = json_encode(array ('password'=>'bingy','command'=>$cmd, $data[0]=>$data[1]))."\r\n"; | |
socket_send($socket, $jsondata, strlen($jsondata),0); | |
if (($bytes = socket_recv($socket, $buf, 16384, NULL)) == false) die($socketdie); | |
//echo "raw data = ".$buf."<br>"; | |
return json_decode($buf); | |
} | |
?> | |
<? | |
if(($socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP))== false) die($socketdie); | |
if(socket_connect($socket, '127.0.0.1', 50012) == false) die($socketdie); | |
?> | |
<? | |
$admins = array(); | |
$worlds = runcmd("userworlds"); | |
foreach (runcmd("admins")->admins as $n => $name) | |
switch($name){ | |
case "gov": | |
case "littlelink": | |
case "link.": | |
case "worldagent": | |
case "blackandblue": | |
case "arbot": | |
case "ax01": break; | |
default: $admins[$name] = 1; break; | |
} | |
foreach (runcmd("users")->users as $n => $name) $users[$name] = 1; | |
$adminsonline = array(); | |
foreach ($users as $name => $n) | |
foreach ($admins as $aname => $an) | |
if($name == $aname) $adminsonline[$aname] =1; | |
sort($worlds->worlds); | |
ksort($users); | |
ksort($admins); | |
echo "<h2>Statistics</h2>\n"; | |
echo "<ul>\n"; | |
echo "<li>" . count($worlds->worlds) . " worlds online </li>\n"; | |
if(count($users)) echo "<li>" . count($users) . " user" . (count($users) > 1 ? "s":"") . "</li>\n"; | |
if(count($adminsonline)) echo "<li>" . count($adminsonline)." admin" . (count($adminsonline) > 1 ? "s":"") . "</li>\n"; | |
echo "</ul>\n"; | |
echo "<h2>Users</h2>\n"; | |
echo "<ul>\n"; | |
$n = 0; | |
foreach($users as $name => $stat){ | |
if(!$admins[$name]){ | |
echo "<li>" . $name . "</li>\n"; | |
} | |
$n++; | |
} | |
echo "</ul>\n"; | |
echo "<h3>Admins</h3>\n"; | |
echo "<ul>\n"; | |
$n = 0; | |
foreach($admins as $name => $stat){ | |
echo "<li>" . $name . ($adminsonline[$name] ? " (online)" : "") . "</li>\n"; | |
$n++; | |
} | |
echo "</ul>\n"; | |
echo "<h3>Worlds</h3>\n"; | |
$bgphase = 0; | |
foreach ($worlds->worlds as $n => $worldinfo){ | |
$userinfo = array(); | |
if(!$bgphase) $bgphase=1; | |
else $bgphase=0; | |
$info = $worldinfo[2]; | |
echo "<b>".$worldinfo[0]."</b>\n". | |
($info->private ? "(Private)" : "(Public)"). | |
($info->locked ? "(Locked)" : ""). | |
($info->physics ? "(Physics)" : "")."\n<br>\n"; | |
foreach ($info->writers as $n => $value) $userinfo[$value] = "Writer: "; | |
foreach ($info->ops as $n => $value) $userinfo[$value] = "Op: "; | |
sort($worldinfo[1]); | |
echo "<ul>\n"; | |
foreach ($worldinfo[1] as $n => $name){ | |
echo "<li>"; | |
if(!$admins[strtolower($name)]) echo ($userinfo[$name]? $userinfo[$name]: "Viewer: "); | |
else echo "Admin: "; | |
echo $name."</li>\n"; | |
} | |
echo "</ul>\n"; | |
} | |
socket_close($socket); | |
?> | |
</section> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment