X-Git-Url: http://git.pk910.de/?p=ZNCAdmin.git;a=blobdiff_plain;f=zncadmin.php;fp=zncadmin.php;h=5b63e1e497b8e67f02a5b4b46c4b68649db02458;hp=78937925953b5c40ba70e4cfc35f10bebecceef9;hb=3aa922ffd39f11a8dff55ccd09c00af9228b6bf0;hpb=d5830d94902b927fe42edb37b0854b5d3ed6c067 diff --git a/zncadmin.php b/zncadmin.php index 7893792..5b63e1e 100644 --- a/zncadmin.php +++ b/zncadmin.php @@ -159,10 +159,10 @@ function zncadmin_search() { } $mask = preg_prepare($mask); $table = new Table(5); - $table->add("Server", "User", "Clients", "Server", "Nick"); + $table->add("Server", "User", "Clients", "Server", ""); $count = 0; foreach($zncservers as $zncserver) { - $zncserver['conn'] = new ZNCServer($zncserver['host'], $zncserver['port']); + $zncserver['conn'] = new ZNCServer($zncserver['host'], $zncserver['port'], (isset($zncserver['version']) ? $zncserver['version'] : NULL)); $zncserver['conn']->login($zncserver['auser'], $zncserver['apass']); foreach($zncserver['conn']->getUserList() as $user) { $skip = false; @@ -209,7 +209,13 @@ function zncadmin_search() { } if($skip) continue; if(preg_match("#^".$mask."$#i", $user['user'])) { - $table->add($zncserver['name'], $user['user'], $user['clients'], $user['server'], $user['nick']); + $extra = ""; + if(isset($user['nick'])) { + if($extra != "") + $extra .= ", "; + $extra .= "Nick: ".$user['nick']; + } + $table->add($zncserver['name'], $user['user'], $user['clients'], $user['server'], $extra); $count++; } } @@ -247,7 +253,7 @@ function zncadmin_seen() { $table->add("Server", "User", "Seen", "Info"); $found = false; foreach($zncservers as $zncserver) { - $zncserver['conn'] = new ZNCServer($zncserver['host'], $zncserver['port']); + $zncserver['conn'] = new ZNCServer($zncserver['host'], $zncserver['port'], (isset($zncserver['version']) ? $zncserver['version'] : NULL)); $zncserver['conn']->login($zncserver['auser'], $zncserver['apass']); foreach($zncserver['conn']->getSeenList() as $user) { if(preg_match("#^".$mask."$#i", $user['user']) && (($over_time && $user['seen_unix'] < $time) || (!$over_time && $user['seen_unix'] > $time))) { @@ -277,7 +283,7 @@ function zncadmin_del() { foreach($zncservers as $zncserver) { if($argv[3] && (strtolower($argv[3]) != strtolower($zncserver['name']))) continue; if($username == strtolower($zncserver['auser'])) continue; - $zncserver['conn'] = new ZNCServer($zncserver['host'], $zncserver['port']); + $zncserver['conn'] = new ZNCServer($zncserver['host'], $zncserver['port'], (isset($zncserver['version']) ? $zncserver['version'] : NULL)); $zncserver['conn']->login($zncserver['auser'], $zncserver['apass']); foreach($zncserver['conn']->getUserList() as $user) { if(strtolower($user['user']) == $username) { @@ -316,7 +322,11 @@ function zncadmin_add() { foreach($zncservers as $zncserver) { if($argv[3] && (strtolower($argv[3]) != strtolower($zncserver['name']))) continue; if(!$argv[3] && $zncserver['priority'] < $priority) continue; - $zncserver['conn'] = new ZNCServer($zncserver['host'], $zncserver['port']); + if($zncserver['protected'] === true && !$force) { + error("Access denied\n"); + return; + } + $zncserver['conn'] = new ZNCServer($zncserver['host'], $zncserver['port'], (isset($zncserver['version']) ? $zncserver['version'] : NULL)); $zncserver['conn']->login($zncserver['auser'], $zncserver['apass']); $zncserver['users'] = $zncserver['conn']->getUserList(); $existing = false; @@ -359,12 +369,15 @@ function zncadmin_add() { echo " Server Host: ".$addserv['public']." Port: ".$addserv['port']." SSL Port: ".$addserv['sslport']."\n"; echo " Password: ".$password."\n"; echo "[mIRC]\n"; - echo " /server -a ".$addserv['public']." -p ".$addserv['port']." -g KryptonZNC -w ".$argv[2].":".$password." -d KryptonZNC\n"; - echo " /AS addmask *@*.free-bnc.de\n"; - echo " /AS addmask *@*.krypton-bouncer.de\n"; - echo " /server -m KryptonZNC\n"; + echo " /server -a ".$addserv['public']." -p ".$addserv['port']." -g ".$add_settings['mirccmds']['groupname']." -w ".$argv[2].":".$password." -d ".$add_settings['mirccmds']['groupname']."\n"; + foreach($add_settings['mirccmds']['hosts'] AS $host) { + echo " /AS addmask *@*.".$host."\n"; + } + echo " /server -m ".$add_settings['mirccmds']['groupname']."\n"; echo"/log\n"; - $addserv['conn']->addChan($argv[2], "#Krypton"); + foreach($add_settings["channel"] AS $channel) { + $addserv['conn']->addChan($argv[2], $channel); + } } else error("Error while adding user."); } @@ -381,7 +394,7 @@ function zncadmin_resetpass() { foreach($zncservers as $zncserver) { if($argv[3] && (strtolower($argv[3]) != strtolower($zncserver['name']))) continue; if($username == strtolower($zncserver['auser'])) continue; - $zncserver['conn'] = new ZNCServer($zncserver['host'], $zncserver['port']); + $zncserver['conn'] = new ZNCServer($zncserver['host'], $zncserver['port'], (isset($zncserver['version']) ? $zncserver['version'] : NULL)); $zncserver['conn']->login($zncserver['auser'], $zncserver['apass']); foreach($zncserver['conn']->getUserList() as $user) { if(strtolower($user['user']) == $username) { @@ -439,7 +452,7 @@ function zncadmin_simul() { foreach($zncservers as $zncserver) { if($server && (strtolower($server) != strtolower($zncserver['name']))) continue; if($username == strtolower($zncserver['auser'])) continue; - $zncserver['conn'] = new ZNCServer($zncserver['host'], $zncserver['port']); + $zncserver['conn'] = new ZNCServer($zncserver['host'], $zncserver['port'], (isset($zncserver['version']) ? $zncserver['version'] : NULL)); $zncserver['conn']->login($zncserver['auser'], $zncserver['apass']); foreach($zncserver['conn']->getUserList() as $user) { if(strtolower($user['user']) == $username) { @@ -482,7 +495,7 @@ function zncadmin_block() { foreach($zncservers as $zncserver) { if($server && (strtolower($server) != strtolower($zncserver['name']))) continue; if($username == strtolower($zncserver['auser'])) continue; - $zncserver['conn'] = new ZNCServer($zncserver['host'], $zncserver['port']); + $zncserver['conn'] = new ZNCServer($zncserver['host'], $zncserver['port'], (isset($zncserver['version']) ? $zncserver['version'] : NULL)); $zncserver['conn']->login($zncserver['auser'], $zncserver['apass']); foreach($zncserver['conn']->getUserList() as $user) { if(strtolower($user['user']) == $username) { @@ -525,7 +538,7 @@ function zncadmin_unblock() { foreach($zncservers as $zncserver) { if($server && (strtolower($server) != strtolower($zncserver['name']))) continue; if($username == strtolower($zncserver['auser'])) continue; - $zncserver['conn'] = new ZNCServer($zncserver['host'], $zncserver['port']); + $zncserver['conn'] = new ZNCServer($zncserver['host'], $zncserver['port'], (isset($zncserver['version']) ? $zncserver['version'] : NULL)); $zncserver['conn']->login($zncserver['auser'], $zncserver['apass']); foreach($zncserver['conn']->getUserList() as $user) { if(strtolower($user['user']) == $username) { @@ -558,21 +571,21 @@ function zncadmin_unblock() { //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)"); + $table = new Table(6); + $table->add("Server", "Port / SSL Port", "Total ZNC's", "Connected (IRC)", "Online (User)", "Protected?"); $count = 0; foreach($zncservers as $zncserver) { $total = 0; $connected = 0; $online = 0; - $zncserver['conn'] = new ZNCServer($zncserver['host'], $zncserver['port']); + $zncserver['conn'] = new ZNCServer($zncserver['host'], $zncserver['port'], (isset($zncserver['version']) ? $zncserver['version'] : NULL)); $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); + $table->add($zncserver['name'], $zncserver['port'].($zncserver['sslport'] ? "/".$zncserver['sslport'] : ""), $total.($zncserver['maxznc'] ? "/".$zncserver['maxznc'] : ""), $connected, $online, ($zncserver['protected'] === true ? "X" : "")); $count++; } if($count) {