+ public function getUserInfo($username, $loadNetInfos = false) {
+ $html = $this->connector->get("http://".$this->host.":".$this->port."/mods/global/webadmin/edituser?user=".$username);
+ if(preg_match("/No such username/i", $html)) return false;
+ $info = array();
+ $info['loadmod'] = array();
+ $this->parseHTMLFields($html, $info);
+
+ { // parse network list
+ $info['networks'] = array();
+ $netlist = explode("<h3>Networks</h3>", $html);
+ $netlist = explode("<tbody>", $netlist[1], 2);
+ $netlist = explode("</tbody>", $netlist[1], 2);
+ $netlist = explode("</tr>", $netlist[0]);
+ foreach($netlist as $net) {
+ if(preg_match_all("#<td>(.*?)</td>#sm", $net, $matches)) {
+ $network = array();
+ $network['name'] = $matches[1][1];
+ $network['clients'] = $matches[1][2];
+ $network['server'] = $matches[1][3];
+ $network['nick'] = $matches[1][4];
+
+ if($loadNetInfos) {
+ $html2 = $this->connector->get("http://".$this->host.":".$this->port."/mods/global/webadmin/editnetwork?user=".$username."&network=".$network['name']);
+ if(!preg_match("/No such username/i", $html2)) {
+ $settings = array();
+ $settings['loadmod'] = array();
+ $this->parseHTMLFields($html2, $settings);
+ $network['settings'] = $settings;
+ }
+ }
+
+ $info['networks'][] = $network;
+ }
+ }
+ }
+
+ return $info;
+ }
+