'') ); include (PAGE_PATH.'/voicecomm_serverlist.php'); include (PAGE_PATH.'/teamspeak_query.php'); $tsId = valid_request($_GET['tsId'],1); function show($tpl, $array) { $template = PAGE_PATH."/templates/teamspeak/$tpl"; if($fp = @fopen($template.".".html, "r")) $tpl = @fread($fp, filesize($template.".".html)); foreach($array as $value => $code) { $tpl = str_replace("[".$value."]", $code, $tpl); } return $tpl; } if(function_exists(fopen)) { $db->query("SELECT addr, queryPort, UDPPort FROM hlstats_Servers_VoiceComm WHERE serverId=$tsId"); $s = $db->fetch_array(); $uip = $s['addr']; $tPort = $s['queryPort']; $port = $s['UDPPort']; $fp = fsockopen($uip, $tPort, $errno, $errstr, 2); if(!$fp) { $index = error("No teamspeak", 1); } else { $out = ""; $fp = fsockopen($uip, $tPort, $errno, $errstr, 2); if($fp) { fputs($fp, "sel $port\n"); fputs($fp, "si\n"); fputs($fp, "quit\n"); while(!feof($fp)) { $out .= fgets($fp, 1024); } $out = str_replace('[TS]', '', $out); $out = str_replace('OK', '', $out); $out = trim($out); $name=substr($out,indexOf($out,'server_name='),strlen($out)); $name=substr($name,0,indexOf($name,'server_platform=')-strlen('server_platform=')); $os=substr($out,indexOf($out,'server_platform='),strlen($out)); $os=substr($os,0,indexOf($os,'server_welcomemessage=')-strlen('server_welcomemessage=')); $uptime=substr($out,indexOf($out,'server_uptime='),strlen($out)); $uptime=substr($uptime,0,indexOf($uptime,'server_currrentusers=')-strlen('server_currrentusers=')); $cAmount=substr($out,indexOf($out,'server_currentchannels='),strlen($out)); $cAmount=substr($cAmount,0,indexOf($cAmount,'server_bwinlastsec=')-strlen('server_bwinlastsec=')); $user=substr($out,indexOf($out,'server_currentusers='),strlen($out)); $user=substr($user,0,indexOf($user,'server_currentchannels=')-strlen('server_currentchannels=')); $max=substr($out,indexOf($out,'server_maxusers='),strlen($out)); $max=substr($max,0,indexOf($max,'server_allow_codec_celp51=')-strlen('server_allow_codec_celp51=')); fclose($fp); } $uArray = array(); $innerArray = array(); $out = ""; $j = 0; $k = 0; $fp = fsockopen($uip, $tPort, $errno, $errstr, 30); if($fp) { fputs($fp, "pl ".$port."\n"); fputs($fp, "quit\n"); while(!feof($fp)) { $out .= fgets($fp, 1024); } $out = str_replace('[TS]', '', $out); $out = str_replace('loginname', "loginname\t", $out); $data = explode("\t", $out); for($i=0;$i=15) { $uArray[$k]=$innerArray; $j = 0; $k = $k+1; } else { $j++; } } fclose($fp); } $debug = false; for($i=1;$i".removeChar($innerArray[14])."  (".setPPriv($innerArray[11])."".setCPriv($innerArray[10]).")"; $class = ($color % 2) ? "bg2" : "bg1"; $color++; $userstats .= show("/userstats", array("player" => $p, "channel" => getChannelName($innerArray[1],$uip,$port,$tPort), "misc1" => $innerArray[6], "class" => $class, "misc2" => $innerArray[7], "misc3" => time_convert($innerArray[8]), "misc4" => time_convert($innerArray[9]))); } $uArr = getTSChannelUsers($uip,$port,$tPort); $pcArr = Array(); $ccArr = Array(); $thisArr = Array(); $listArr = Array(); $usedArr = Array(); $cArr = getChannels($uip,$port,$tPort); $z = 0; $x = 0; for($i=0;$i".setUserStatus($innerUArray[12])." ".removeChar($innerUArray[14])." (".setPPriv($innerUArray[11])."".setCPriv($innerUArray[10]).")
"; } } } $subchannels = "\"\"\"\" ".removeChar($innerCCArray[1])." 
".$subusers.""; $subchan .= show("subchannels", array("subchannels" => $subchannels)); } } $users = ""; for($k=1;$k".setUserStatus($innerUArray[12])."".removeChar($innerUArray[14])." (".setPPriv($innerUArray[11])."".setCPriv($innerUArray[10]).")
"; } } $channels = "\"\" ".removeChar($innerArr[1])." 
".$users.""; $chan .= show("channel", array("channel" => $channels, "subchannels" => $subchan)); } if(isset($_GET['cID'])) { $cID = $_GET['cID']; $type = $_GET['type']; } else { $cID = 0; $type = 0; } if($type==0) $info = defaultInfo($uip,$tPort,$port); elseif($type==1) $info = channelInfo($uip,$tPort,$port,$cID); $outp_str = show("teamspeak", array("name" => $name, "os" => $os, "uptime" => time_convert($uptime), "user" => $user, "t_name" => "Server name", "t_os" => "Operating system", "uchannels" => $chan, "info" => $info, "t_uptime" => "Uptime", "t_channels" => "Channels", "t_user" => "Users", "head" => "Teamspeak Overview", "users_head" => "User Information", "player" => "User", "channel" => "Channel", "channel_head" => "Channel Information", "max" => $max, "channels" => $cAmount, "logintime" => "Login time", "idletime" => "Idle time", "channelstats" => $channelstats, "userstats" => $userstats)); echo $outp_str; } } else { echo "Error, function fopen not found"; } ?>