65 $this->parent = $host;
66 $this->nodeInfo = $info;
68 if(!array_key_exists($index, $this->nodeInfo))
73 $this->nodeId = $this->nodeInfo[$index];
102 $channels = $this->
request(
"channellist -topic -flags -voice -limits -icon")->toAssocArray(
"cid");
106 foreach($channels as $cid => $channel)
136 $cid = $this->
execute(
"channelcreate", $properties)->toList();
139 if(!isset($properties[
"client_flag_permanent"]) && !isset($properties[
"client_flag_semi_permanent"]))
141 $this->
getParent()->whoamiSet(
"client_channel_id", $cid[
"cid"]);
156 $this->
execute(
"channeldelete", array(
"cid" => $cid,
"force" => $force));
175 $this->
execute(
"channelmove", array(
"cid" => $cid,
"cpid" => $pid,
"order" => $order));
187 return (preg_match(
"/\[[^\]]*spacer[^\]]*\]/", $channel) && $channel[
"channel_flag_permanent"] && !$channel[
"pid"]) ? TRUE : FALSE;
204 "channel_name_phonetic" =>
"channel spacer",
206 "channel_codec_quality" => 0x00,
207 "channel_flag_permanent" => TRUE,
208 "channel_flag_maxclients_unlimited" => FALSE,
209 "channel_flag_maxfamilyclients_unlimited" => FALSE,
210 "channel_flag_maxfamilyclients_inherited" => FALSE,
211 "channel_order" => $order,
217 $properties[
"channel_name"] =
"[*spacer" . strval($ident) .
"]";
221 $properties[
"channel_name"] =
"[lspacer" . strval($ident) .
"]";
225 $properties[
"channel_name"] =
"[rspacer" . strval($ident) .
"]";
229 $properties[
"channel_name"] =
"[cspacer" . strval($ident) .
"]";
240 $properties[
"channel_name"] .=
"___";
244 $properties[
"channel_name"] .=
"---";
248 $properties[
"channel_name"] .=
"...";
252 $properties[
"channel_name"] .=
"-.-";
256 $properties[
"channel_name"] .=
"-..";
260 $properties[
"channel_name"] .= strval($type);
283 switch($channel[
"channel_name"]->section(
"]", 1))
316 if(!$this->
channelIsSpacer($channel) || !preg_match(
"/\[(.*)spacer.*\]/", $channel, $matches) || !isset($matches[1]))
346 return $this->
execute(
"channelpermlist", array(
"cid" => $cid, $permsid ?
"-permsid" : null))->toAssocArray($permsid ?
"permsid" :
"permid");
360 if(!is_array($permid))
362 $permident = (is_numeric($permid)) ?
"permid" :
"permsid";
366 $permident = (is_numeric(
current($permid))) ?
"permid" :
"permsid";
369 $this->
execute(
"channeladdperm", array(
"cid" => $cid, $permident => $permid,
"permvalue" => $permvalue));
381 if(!is_array($permid))
383 $permident = (is_numeric($permid)) ?
"permid" :
"permsid";
387 $permident = (is_numeric(
current($permid))) ?
"permid" :
"permsid";
390 $this->
execute(
"channeldelperm", array(
"cid" => $cid, $permident => $permid));
403 return $this->
execute(
"channelclientpermlist", array(
"cid" => $cid,
"cldbid" => $cldbid, $permsid ?
"-permsid" : null))->toAssocArray($permsid ?
"permsid" :
"permid");
418 if(!is_array($permid))
420 $permident = (is_numeric($permid)) ?
"permid" :
"permsid";
424 $permident = (is_numeric(
current($permid))) ?
"permid" :
"permsid";
427 $this->
execute(
"channelclientaddperm", array(
"cid" => $cid,
"cldbid" => $cldbid, $permident => $permid,
"permvalue" => $permvalue));
440 if(!is_array($permid))
442 $permident = (is_numeric($permid)) ?
"permid" :
"permsid";
446 $permident = (is_numeric(
current($permid))) ?
"permid" :
"permsid";
449 $this->
execute(
"channelclientdelperm", array(
"cid" => $cid,
"cldbid" => $cldbid, $permident => $permid));
463 $files = $this->
execute(
"ftgetfilelist", array(
"cid" => $cid,
"cpw" => $cpw,
"path" => $path))->toArray();
464 $count =
count($files);
466 for($i = 0; $i < $count; $i++)
468 $files[$i][
"sid"] = $this->
getId();
469 $files[$i][
"cid"] = $files[0][
"cid"];
470 $files[$i][
"path"] = $files[0][
"path"];
473 if(!$files[$i][
"src"]->endsWith(
"/"))
475 $files[$i][
"src"]->append(
"/");
478 $files[$i][
"src"]->append($files[$i][
"name"]);
482 $files = array_merge($files, $this->
channelFileList($cid, $cpw, $path . $files[$i][
"name"], $recursive));
486 uasort($files, array(__CLASS__,
"sortFileList"));
501 return array_pop($this->
execute(
"ftgetfileinfo", array(
"cid" => $cid,
"cpw" => $cpw,
"name" => $name))->
toArray());
516 public function channelFileRename($cid, $cpw =
"", $oldname =
"/", $newname =
"/", $tcid = null, $tcpw = null)
518 $this->
execute(
"ftrenamefile", array(
"cid" => $cid,
"cpw" => $cpw,
"oldname" => $oldname,
"newname" => $newname,
"tcid" => $tcid,
"tcpw" => $tcpw));
531 $this->
execute(
"ftdeletefile", array(
"cid" => $cid,
"cpw" => $cpw,
"name" => $name));
544 $this->
execute(
"ftcreatedir", array(
"cid" => $cid,
"cpw" => $cpw,
"dirname" => $dirname));
575 $pathway = $channel[
"channel_name"];
579 $pathway = $this->
channelGetPathway($channel[
"pid"]) .
"/" . $channel[
"channel_name"];
594 if(!array_key_exists((
string) $cid, $this->
channelList()))
613 if($channel[
"channel_name"] == $name)
return $channel;
629 $clients = $this->
request(
"clientlist -uid -away -voice -info -times -groups -icon -country -ip")->toAssocArray(
"clid");
633 foreach($clients as $clid => $client)
635 if($this->
getParent()->getExcludeQueryClients() && $client[
"client_type"])
continue;
640 uasort($this->
clientList, array(__CLASS__,
"sortClientList"));
667 return $this->
execute(
"clientfind", array(
"pattern" => $pattern))->toAssocArray(
"clid");
679 return $this->
execute(
"clientdblist -count", array(
"start" => $offset,
"duration" => $limit))->toAssocArray(
"cldbid");
689 return current($this->
execute(
"clientdblist -count", array(
"duration" => 1))->toList(
"count"));
700 return $this->
execute(
"clientdbinfo", array(
"cldbid" => $cldbid))->toList();
713 return array_keys($this->
execute(
"clientdbfind", array(
"pattern" => $pattern, ($uid) ?
"-uid" : null))->toAssocArray(
"cldbid"));
725 return $this[
"virtualserver_clientsonline"]-$this[
"virtualserver_queryclientsonline"];
737 if(!array_key_exists((
string) $clid, $this->
clientList()))
742 return $this->
clientList[intval((
string) $clid)];
756 if($client[
"client_nickname"] == $name)
return $client;
773 if($client[
"client_unique_identifier"] == $uid)
return $client;
788 return $this->
execute(
"clientgetnamefromuid", array(
"cluid" => $cluid))->toList();
800 return $this->
execute(
"clientgetids", array(
"cluid" => $cluid))->toAssocArray(
"clid");
812 return $this->
execute(
"clientgetnamefromdbid", array(
"cldbid" => $cldbid))->toList();
824 return $this->
execute(
"servergroupsbyclientid", array(
"cldbid" => $cldbid))->toAssocArray(
"sgid");
839 $this->
execute(
"clientmove", array(
"clid" => $clid,
"cid" => $cid,
"cpw" => $cpw));
843 $clid = $clid->getId();
846 if($cid instanceof TeamSpeak3_Node_Abstract)
848 $cid = $cid->getId();
851 if(!is_array($clid) && $clid == $this->whoamiGet(
"client_id"))
853 $this->
getParent()->whoamiSet(
"client_channel_id", $cid);
869 $this->
execute(
"clientkick", array(
"clid" => $clid,
"reasonid" => $reasonid,
"reasonmsg" => $reasonmsg));
881 $this->
execute(
"clientpoke", array(
"clid" => $clid,
"msg" => $msg));
893 public function clientBan($clid, $timeseconds = null, $reason = null)
897 $bans = $this->
execute(
"banclient", array(
"clid" => $clid,
"time" => $timeseconds,
"banreason" => $reason))->toAssocArray(
"banid");
899 return array_keys($bans);
911 $properties[
"cldbid"] = $cldbid;
913 $this->
execute(
"clientdbedit", $properties);
924 $this->
execute(
"clientdbdelete", array(
"cldbid" => $cldbid));
937 $this->
execute(
"setclientchannelgroup", array(
"cldbid" => $cldbid,
"cid" => $cid,
"cgid" => $cgid));
951 return $this->
execute(
"clientpermlist", array(
"cldbid" => $cldbid, $permsid ?
"-permsid" : null))->toAssocArray($permsid ?
"permsid" :
"permid");
966 if(!is_array($permid))
968 $permident = (is_numeric($permid)) ?
"permid" :
"permsid";
972 $permident = (is_numeric(
current($permid))) ?
"permid" :
"permsid";
975 $this->
execute(
"clientaddperm", array(
"cldbid" => $cldbid, $permident => $permid,
"permvalue" => $permvalue,
"permskip" => $permskip));
987 if(!is_array($permid))
989 $permident = (is_numeric($permid)) ?
"permid" :
"permsid";
993 $permident = (is_numeric(
current($permid))) ?
"permid" :
"permsid";
996 $this->
execute(
"clientdelperm", array(
"cldbid" => $cldbid, $permident => $permid));
1007 if($this->sgroupList === null)
1009 $this->sgroupList = $this->
request(
"servergrouplist")->toAssocArray(
"sgid");
1011 foreach($this->sgroupList as $sgid => $group)
1016 uasort($this->sgroupList, array(__CLASS__,
"sortGroupList"));
1019 return $this->
filterList($this->sgroupList, $filter);
1029 $this->sgroupList = null;
1043 $sgid = $this->
execute(
"servergroupadd", array(
"name" => $name,
"type" => $type))->toList();
1045 return $sgid[
"sgid"];
1061 $sgid = $this->
execute(
"servergroupcopy", array(
"ssgid" => $ssgid,
"tsgid" => $tsgid,
"name" => $name,
"type" => $type))->toList();
1068 return count($sgid) ? $sgid[
"sgid"] : intval($tsgid);
1082 $this->
execute(
"servergrouprename", array(
"sgid" => $sgid,
"name" => $name));
1097 $this->
execute(
"servergroupdel", array(
"sgid" => $sgid,
"force" => $force));
1114 return $this->sgroupList[intval((
string) $sgid)];
1129 if($group[
"name"] == $name && $group[
"type"] == $type)
return $group;
1144 return $this->
execute(
"servergrouppermlist", array(
"sgid" => $sgid, $permsid ?
"-permsid" : null))->toAssocArray($permsid ?
"permsid" :
"permid");
1160 if(!is_array($permid))
1162 $permident = (is_numeric($permid)) ?
"permid" :
"permsid";
1166 $permident = (is_numeric(
current($permid))) ?
"permid" :
"permsid";
1169 $this->
execute(
"servergroupaddperm", array(
"sgid" => $sgid, $permident => $permid,
"permvalue" => $permvalue,
"permnegated" => $permnegated,
"permskip" => $permskip));
1182 if(!is_array($permid))
1184 $permident = (is_numeric($permid)) ?
"permid" :
"permsid";
1188 $permident = (is_numeric(
current($permid))) ?
"permid" :
"permsid";
1191 $this->
execute(
"servergroupdelperm", array(
"sgid" => $sgid, $permident => $permid));
1202 if($this[
"virtualserver_default_server_group"] == $sgid)
1207 return $this->
execute(
"servergroupclientlist", array(
"sgid" => $sgid,
"-names"))->toAssocArray(
"cldbid");
1222 $this->
execute(
"servergroupaddclient", array(
"sgid" => $sgid,
"cldbid" => $cldbid));
1234 $this->
execute(
"servergroupdelclient", array(
"sgid" => $sgid,
"cldbid" => $cldbid));
1245 $profiles = array();
1251 $profiles[$sgid] = array(
1252 "b_permission_modify_power_ignore" => 0,
1253 "i_group_needed_member_add_power" => 0,
1254 "i_group_member_add_power" => 0,
1255 "i_group_needed_member_remove_power" => 0,
1256 "i_group_member_remove_power" => 0,
1257 "i_needed_modify_power_count" => 0,
1258 "i_needed_modify_power_total" => 0,
1259 "i_permission_modify_power" => 0,
1260 "i_group_needed_modify_power" => 0,
1261 "i_group_modify_power" => 0,
1262 "i_client_needed_modify_power" => 0,
1263 "i_client_modify_power" => 0,
1264 "b_virtualserver_servergroup_create" => 0,
1265 "b_virtualserver_servergroup_delete" => 0,
1266 "b_client_ignore_bans" => 0,
1267 "b_client_ignore_antiflood" => 0,
1268 "b_group_is_permanent" => 0,
1269 "i_client_needed_ban_power" => 0,
1270 "i_client_needed_kick_power" => 0,
1271 "i_client_needed_move_power" => 0,
1272 "i_client_talk_power" => 0,
1274 "__name" => $sgroup->toString(),
1275 "__node" => $sgroup,
1281 $grant = isset($perms[
"i_permission_modify_power"]) ? $perms[
"i_permission_modify_power"][
"permvalue"] : null;
1286 if($e->getCode() != 0x501)
throw $e;
1292 foreach($perms as $permsid => $perm)
1294 if(in_array($permsid, array_keys($profiles[$sgid])))
1296 $profiles[$sgid][$permsid] = $perm[
"permvalue"];
1300 if(!$grant || $perm[
"permvalue"] > $grant)
continue;
1302 $profiles[$sgid][
"i_needed_modify_power_total"] = $profiles[$sgid][
"i_needed_modify_power_total"]+$perm[
"permvalue"];
1303 $profiles[$sgid][
"i_needed_modify_power_count"]++;
1308 array_multisort($profiles, SORT_DESC);
1337 if($this->cgroupList === null)
1339 $this->cgroupList = $this->
request(
"channelgrouplist")->toAssocArray(
"cgid");
1341 foreach($this->cgroupList as $cgid => $group)
1346 uasort($this->cgroupList, array(__CLASS__,
"sortGroupList"));
1349 return $this->
filterList($this->cgroupList, $filter);
1359 $this->cgroupList = null;
1373 $cgid = $this->
execute(
"channelgroupadd", array(
"name" => $name,
"type" => $type))->toList();
1375 return $cgid[
"cgid"];
1391 $cgid = $this->
execute(
"channelgroupcopy", array(
"scgid" => $scgid,
"tcgid" => $tcgid,
"name" => $name,
"type" => $type))->toList();
1398 return count($cgid) ? $cgid[
"cgid"] : intval($tcgid);
1412 $this->
execute(
"channelgrouprename", array(
"cgid" => $cgid,
"name" => $name));
1427 $this->
execute(
"channelgroupdel", array(
"cgid" => $cgid,
"force" => $force));
1444 return $this->cgroupList[intval((
string) $cgid)];
1459 if($group[
"name"] == $name && $group[
"type"] == $type)
return $group;
1474 return $this->
execute(
"channelgrouppermlist", array(
"cgid" => $cgid, $permsid ?
"-permsid" : null))->toAssocArray($permsid ?
"permsid" :
"permid");
1488 if(!is_array($permid))
1490 $permident = (is_numeric($permid)) ?
"permid" :
"permsid";
1494 $permident = (is_numeric(
current($permid))) ?
"permid" :
"permsid";
1497 $this->
execute(
"channelgroupaddperm", array(
"cgid" => $cgid, $permident => $permid,
"permvalue" => $permvalue));
1510 if(!is_array($permid))
1512 $permident = (is_numeric($permid)) ?
"permid" :
"permsid";
1516 $permident = (is_numeric(
current($permid))) ?
"permid" :
"permsid";
1519 $this->
execute(
"channelgroupdelperm", array(
"cgid" => $cgid, $permident => $permid));
1534 if($this[
"virtualserver_default_channel_group"] == $cgid)
1539 return $this->
execute(
"channelgroupclientlist", array(
"cgid" => $cgid,
"cid" => $cid,
"cldbid" => $cldbid))->toArray();
1550 $token = $this->
request(
"permreset")->toList();
1554 return $token[
"token"];
1566 $assignments = $this->permissionFind($permid);
1568 foreach($assignments as $assignment)
1570 switch($assignment[
"t"])
1597 return count($assignments);
1613 public function transferInitUpload($clientftfid, $cid, $name, $size, $cpw =
"", $overwrite = FALSE, $resume = FALSE)
1615 $upload = $this->
execute(
"ftinitupload", array(
"clientftfid" => $clientftfid,
"cid" => $cid,
"name" => $name,
"cpw" => $cpw,
"size" => $size,
"overwrite" => $overwrite,
"resume" => $resume))->toList();
1617 if(array_key_exists(
"status", $upload) && $upload[
"status"] != 0x00)
1622 $upload[
"cid"] = $cid;
1623 $upload[
"file"] = $name;
1625 if(!array_key_exists(
"ip", $upload) || $upload[
"ip"]->startsWith(
"0.0.0.0"))
1627 $upload[
"ip"] = $this->
getParent()->getAdapterHost();
1628 $upload[
"host"] = $upload[
"ip"];
1632 $upload[
"ip"] = $upload[
"ip"]->section(
",");
1633 $upload[
"host"] = $upload[
"ip"];
1654 $download = $this->
execute(
"ftinitdownload", array(
"clientftfid" => $clientftfid,
"cid" => $cid,
"name" => $name,
"cpw" => $cpw,
"seekpos" => $seekpos))->toList();
1656 if(array_key_exists(
"status", $download) && $download[
"status"] != 0x00)
1661 $download[
"cid"] = $cid;
1662 $download[
"file"] = $name;
1664 if(!array_key_exists(
"ip", $download) || $download[
"ip"]->startsWith(
"0.0.0.0"))
1666 $download[
"ip"] = $this->
getParent()->getAdapterHost();
1667 $download[
"host"] = $download[
"ip"];
1671 $download[
"ip"] = $download[
"ip"]->section(
",");
1672 $download[
"host"] = $download[
"ip"];
1688 return $this->
request(
"ftlist")->toAssocArray(
"serverftfid");
1700 $this->
execute(
"ftstop", array(
"serverftfid" => $serverftfid,
"delete" => $delete));
1710 if($this->
iconIsLocal(
"virtualserver_icon_id") || $this[
"virtualserver_icon_id"] == 0)
return;
1713 $transfer =
TeamSpeak3::factory(
"filetransfer://" . $download[
"host"] .
":" . $download[
"port"]);
1715 return $transfer->download($download[
"ftkey"], $download[
"size"]);
1726 $crc = crc32($data);
1727 $size = strlen($data);
1729 $upload = $this->
transferInitUpload(rand(0x0000, 0xFFFF), 0,
"/icon_" . $crc, $size);
1730 $transfer =
TeamSpeak3::factory(
"filetransfer://" . $upload[
"host"] .
":" . $upload[
"port"]);
1732 $transfer->upload($upload[
"ftkey"], $upload[
"seekpos"], $data);
1745 $this->
execute(
"serveredit", $properties);
1768 return $this->
request(
"messagelist")->toAssocArray(
"msgid");
1781 $this->
execute(
"messageadd", array(
"cluid" => $cluid,
"subject" => $subject,
"message" => $message));
1792 $this->
execute(
"messagedel", array(
"msgid" => $msgid));
1804 $msg = $this->
execute(
"messageget", array(
"msgid" => $msgid))->toList();
1808 $this->
execute(
"messageget", array(
"msgid" => $msgid,
"flag" => $flag_read));
1822 $snapshot = $this->
request(
"serversnapshotcreate")->toString(FALSE);
1827 return $snapshot->toBase64();
1831 return $snapshot->toHex();
1835 return (
string) $snapshot;
1865 $detail = $this->
request(
"serversnapshotdeploy " . $data)->toList();
1867 if(array_key_exists(
"sid", $detail))
1886 $this->
execute(
"servernotifyregister", array(
"event" => $event,
"id" => $id));
1897 $this->
request(
"servernotifyunregister");
1920 $tokens = $this->
request(
"privilegekeylist")->toAssocArray(
"token");
1924 foreach($tokens as $token => $array)
1926 $func = $array[
"token_type"] ?
"channelGroupGetById" :
"serverGroupGetById";
1930 $tokens[$token][
"token_id1"] = $this->$func($array[
"token_id1"])->name;
1935 if($e->getCode() != 0xA00)
throw $e;
1940 if($array[
"token_type"]) $tokens[$token][
"token_id2"] = $this->
channelGetById($array[
"token_id2"])->getPathway();
1945 if($e->getCode() != 0x300)
throw $e;
1975 $token = $this->
execute(
"privilegekeyadd", array(
"tokentype" => $type,
"tokenid1" => $id1,
"tokenid2" => $id2,
"tokendescription" => $description,
"tokencustomset" => $customset))->toList();
1979 return $token[
"token"];
2000 $this->
execute(
"privilegekeydelete", array(
"token" => $token));
2022 $this->
execute(
"privilegekeyuse", array(
"token" => $token));
2034 return $this->
execute(
"customsearch", array(
"ident" => $ident,
"pattern" => $pattern))->toArray();
2045 return $this->
execute(
"custominfo", array(
"cldbid" => $cldbid))->toArray();
2055 return $this->
request(
"banlist")->toAssocArray(
"banid");
2077 public function banCreate(array $rules, $timeseconds = null, $reason = null)
2079 $rules[
"time"] = $timeseconds;
2080 $rules[
"banreason"] = $reason;
2082 $banid = $this->
execute(
"banadd", $rules)->toList();
2084 return $banid[
"banid"];
2095 $this->
execute(
"bandel", array(
"banid" => $banid));
2107 return $this->
execute(
"complainlist", array(
"tcldbid" => $tcldbid))->toArray();
2118 $this->
execute(
"complaindelall", array(
"tcldbid" => $tcldbid));
2130 $this->
execute(
"complainadd", array(
"tcldbid" => $tcldbid,
"message" => $message));
2142 $this->
execute(
"complaindel", array(
"tcldbid" => $tcldbid,
"fcldbid" => $fcldbid));
2153 $passwords = $this->
request(
"servertemppasswordlist")->toAssocArray(
"pw_clear");
2157 foreach($passwords as $password => $array)
2163 $passwords[$password][
"tcname"] = $channel->toString();
2164 $passwords[$password][
"tcpath"] = $channel->getPathway();
2169 if($e->getCode() != 0xA00)
throw $e;
2192 $this->
execute(
"servertemppasswordadd", array(
"pw" => $pw,
"duration" => $duration,
"tcid" => $tcid,
"tcpw" => $tcpw,
"desc" => $desc));
2203 $this->
execute(
"servertemppassworddel", array(
"pw" => $pw));
2215 public function logView($lines = 30, $begin_pos = null, $reverse = null, $instance = null)
2217 return $this->
execute(
"logview", array(
"lines" => $lines,
"begin_pos" => $begin_pos,
"instance" => $instance,
"reverse" => $reverse))->toArray();
2229 $this->
execute(
"logadd", array(
"logmsg" => $logmsg,
"loglevel" => $loglevel));
2239 return $this->
request(
"serverrequestconnectioninfo")->toList();
2247 public function delete()
2282 $this->
execute(
"clientupdate", $properties);
2284 foreach($properties as $ident => $value)
2286 $this->whoamiSet($ident, $value);
2299 $password = $this->
execute(
"clientsetserverquerylogin", array(
"client_login_name" => $username))->toList();
2301 return $password[
"client_login_password"];
2311 return $this->
execute(
"permoverview", array(
"cldbid" => $this->whoamiGet(
"client_database_id"),
"cid" => $this->whoamiGet(
"client_channel_id"),
"permid" => 0))->toArray();
2319 $this->nodeList = array();
2323 if($channel[
"pid"] == 0)
2325 $this->nodeList[] = $channel;
2335 $this->nodeInfo = array_merge($this->nodeInfo, $this->
request(
"serverinfo")->toList());
2347 if(get_class($a) != get_class($b))
2373 return strcmp(strtolower($a[
"client_nickname"]), strtolower($b[
"client_nickname"]));
2385 if(get_class($a) != get_class($b))
2418 if(!array_key_exists(
"src", $a) || !array_key_exists(
"src", $b))
2425 return strcmp(strtolower($a[
"src"]), strtolower($b[
"src"]));
2435 return ($this[
"virtualserver_status"] ==
"online") ? TRUE : FALSE;
2445 return ($this[
"virtualserver_status"] ==
"offline") ? TRUE : FALSE;
2455 return $this->
getParent()->getUniqueId() .
"_s" . $this->
getId();
2465 if($this[
"virtualserver_clientsonline"]-$this[
"virtualserver_queryclientsonline"] >= $this[
"virtualserver_maxclients"])
2467 return "server_full";
2469 elseif($this[
"virtualserver_flag_password"])
2471 return "server_pass";
2475 return "server_open";
2496 return (
string) $this[
"virtualserver_name"];