X-Git-Url: http://git.pk910.de/?p=ZNCAdmin.git;a=blobdiff_plain;f=zncadmin.php;h=4fffe0e22ca993503b5e095432da45b9e7819ea4;hp=669fca5a00e73976a87bca76aa276309e819a232;hb=d8a263cc8a2dda8ac9ac4932dc74af598a67d4a2;hpb=68a600683c091740094edc47f27286e9719f644a diff --git a/zncadmin.php b/zncadmin.php index 669fca5..4fffe0e 100644 --- a/zncadmin.php +++ b/zncadmin.php @@ -56,6 +56,9 @@ switch(strtolower($argv[1])) { case "simul": zncadmin_simul(); break; + case "stats": + zncadmin_stats(); + break; default: error("invalid subcommand '".$argv[1]."'"); break; @@ -456,4 +459,33 @@ function zncadmin_simul() { } } +//SUBCOMMAND: stats +function zncadmin_stats() { + global $argv, $zncservers; + $table = new Table(5); + $table->add("Server", "Port / SSL Port", "Total ZNC's", "Connected (IRC)", "Online (User)"); + $count = 0; + foreach($zncservers as $zncserver) { + $total = 0; + $connected = 0; + $online = 0; + $zncserver['conn'] = new ZNCServer($zncserver['host'], $zncserver['port']); + $zncserver['conn']->login($zncserver['auser'], $zncserver['apass']); + foreach($zncserver['conn']->getUserList() as $user) { + if($user['server'] != "-N/A-") $connected++; + if($user['clients'] > 0) $online++; + $total++; + } + $table->add($zncserver['name'], $zncserver['port'].($zncserver['sslport'] ? "/".$zncserver['sslport'] : ""), $total.($zncserver['maxznc'] ? "/".$zncserver['maxznc'] : ""), $connected, $online); + $count++; + } + if($count) { + foreach($table->end() as $line) { + echo$line."\n"; + } + } else { + echo "No Servers configured...\n"; + } +} + ?> \ No newline at end of file