fixed module loading
authorpk910 <philipp@zoelle1.de>
Fri, 24 Apr 2015 21:11:16 +0000 (23:11 +0200)
committerpk910 <philipp@zoelle1.de>
Fri, 24 Apr 2015 21:11:16 +0000 (23:11 +0200)
config.example.php
zncadmin.php
zncadmin/ZNCServerV1.class.php

index 7633f2bfbb31f3522928776df4cdd27c102e5fb3..a687984d376d0556d2f209497fa9a0f6af37e2a7 100644 (file)
@@ -70,13 +70,16 @@ $add_settings = array(
         "groupname" => "KryptonZNC"
     ),
     "modules" => array(
-        "autocycle" => "",
-        "awaynick" => "%nick%|ZNC",
         "chansaver" => "",
-        "kickrejoin" => "",
         "perform" => "",
-        "simple_away" => ""
-    )
+    ),
+       "netmodules" => array(
+               "autocycle" => "",
+               "awaynick" => "%nick%|ZNC",
+               "simple_away" => ""
+               "kickrejoin" => "",
+               "keepnick" => "",
+       ),
 );
 
 ?>
\ No newline at end of file
index 5b63e1e497b8e67f02a5b4b46c4b68649db02458..4552025d8a08ef3a68c6bcf0d2b268fa58dadd7a 100644 (file)
@@ -363,7 +363,7 @@ function zncadmin_add() {
     $settings['nick'] = $argv[2];
     $settings['altnick'] = $argv[2]."`";
     $settings['ident'] = $username;
-    $ret = $addserv['conn']->addZNC($argv[2], $password, $settings, $add_settings['servers'], $add_settings['modules'], $add_settings['other']);
+    $ret = $addserv['conn']->addZNC($argv[2], $password, $settings, $add_settings['servers'], $add_settings['modules'], $add_settings['netmodules'], $add_settings['other']);
     if($ret) {
         echo "Added user ".$argv[2]." to Server ".$addserv['name'].".\n";
         echo "  Server Host: ".$addserv['public']."  Port: ".$addserv['port']."  SSL Port: ".$addserv['sslport']."\n";
index 59bbfd6e25f602d688b59b9ed44315f94d65e52e..674d612cfa091988d5f30a7cd21f6284b96a7bbd 100644 (file)
@@ -98,7 +98,7 @@ class ZNCServerV1 {
         altnick
         ident
     */
-    public function addZNC($username, $password, $settings, $servers, $modules, $others) {
+    public function addZNC($username, $password, $settings, $servers, $modules, $netmodules, $others) {
         $html = $this->connector->get("http://".$this->host.":".$this->port."/mods/global/webadmin/adduser");
         $exp = explode('name="_CSRF_Check" value="', $html);
         $exp = explode('"', $exp[1]);
@@ -128,7 +128,7 @@ class ZNCServerV1 {
         $html = $this->connector->post("http://".$this->host.":".$this->port."/mods/global/webadmin/adduser", $post);
 
         if(!preg_match("/Invalid Submission/i", $html)) {
-            if(!$this->addNetwork($username, $settings, $servers, $others)) {
+            if(!$this->addNetwork($username, $settings, $servers, $netmodules, $others)) {
                 return false;
             }
             return !preg_match("/Invalid Submission/i", $html);
@@ -136,7 +136,7 @@ class ZNCServerV1 {
         return !preg_match("/Invalid Submission/i", $html);
     }
 
-    public function addNetwork($username, $settings, $servers, $others) {
+    public function addNetwork($username, $settings, $servers, $modules, $others) {
         $html = $this->connector->get("http://".$this->host.":".$this->port."/mods/global/webadmin/addnetwork?user=".$username);
         $exp = explode('name="_CSRF_Check" value="', $html);
         $exp = explode('"', $exp[1]);
@@ -154,6 +154,13 @@ class ZNCServerV1 {
         $post['floodrate'] = '1.0';
         $post['floodburst'] = '4';
         $post['user'] = $username;
+               
+               $post['loadmod'] = array();
+        foreach($modules as $name => $args) {
+            $post['loadmod'][] = $name;
+            if($args != "")
+                $post['modargs_'.$name] = $args;
+        }
 
         foreach($others as $name => $value) {
             $post[$name] = $value;