$exp2 = explode('</td>', $exp[2]);
$userdata['user'] = $exp2[0];
$exp2 = explode('</td>', $exp[3]);
- $userdata['clients'] = $exp2[0];
- $exp2 = explode('</td>', $exp[4]);
$userdata['server'] = $exp2[0];
- $exp2 = explode('</td>', $exp[5]);
- $userdata['nick'] = $exp2[0];
+ $exp2 = explode('</td>', $exp[4]);
+ $userdata['clients'] = $exp2[0];
$userlist[] = $userdata;
}
return $userlist;
$post = array();
$post['_CSRF_Check'] = $csrf;
$post['submitted'] = '1';
- $post['doconnect'] = '1';
+ //$post['doconnect'] = '1';
$post['user'] = $username;
$post['password'] = $password;
$post['password2'] = $password;
$post['altnick'] = $settings['altnick'];
$post['ident'] = $settings['ident'];
$post['statusprefix'] = '*';
- $post['servers'] = implode("\n", $servers);
$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;
}
+
$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, $other)) {
+ $handle = fopen('/home/srvx/neonserv/log.txt', 'a');
+ fwrite($handle, "addZNC3\r\n");
+ fclose($handle);
+ return false;
+ }
+ return !preg_match("/Invalid Submission/i", $html);
+ }
+ return !preg_match("/Invalid Submission/i", $html);
+ }
+
+ public function addNetwork($username, $settings, $servers, $other) {
+ $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]);
+ $csrf = $exp[0];
+ $post = array();
+ $post['_CSRF_Check'] = $csrf;
+ $post['submitted'] = '1';
+ $post['network'] = 'default';
+ $post['nick'] = $settings['nick'];
+ $post['altnick'] = $settings['altnick'];
+ $post['ident'] = $settings['ident'];
+ $post['servers'] = implode("\n", $servers);
+ $post['doconnect'] = '1';
+ $post['floodprotection'] = '1';
+ $post['floodrate'] = '1.0';
+ $post['floodburst'] = '4';
+ $post['user'] = $username;
+
+ foreach($others as $name => $value) {
+ $post[$name] = $value;
+ }
+
+ $html = $this->connector->post("http://".$this->host.":".$this->port."/mods/global/webadmin/addnetwork", $post);
return !preg_match("/Invalid Submission/i", $html);
}