150 lines
4.5 KiB
PHP
150 lines
4.5 KiB
PHP
|
<?php
|
||
|
// VOICECOMM MODULE
|
||
|
global $db;
|
||
|
|
||
|
define('TS', 0);
|
||
|
define('VENT', 1);
|
||
|
|
||
|
$result = $db->query("
|
||
|
SELECT
|
||
|
serverId,
|
||
|
name,
|
||
|
addr,
|
||
|
password,
|
||
|
descr,
|
||
|
queryPort,
|
||
|
UDPPort,
|
||
|
serverType
|
||
|
FROM
|
||
|
hlstats_Servers_VoiceComm
|
||
|
");
|
||
|
|
||
|
if ($db->num_rows($result) >= 1) {
|
||
|
printSectionTitle('Voice Server');
|
||
|
?>
|
||
|
<div class="subblock">
|
||
|
<table class="data-table">
|
||
|
<tr class="data-table-head">
|
||
|
<td class="fSmall">Server Name</td>
|
||
|
<td class="fSmall">Server Address</td>
|
||
|
<td class="fSmall">Password</td>
|
||
|
<td class="fSmall" style="text-align:right;">Channels</td>
|
||
|
<td class="fSmall" style="text-align:right;">Slots used</td>
|
||
|
<td class="fSmall">Notes</td>
|
||
|
</tr>
|
||
|
<?php
|
||
|
$i = 0;
|
||
|
$j = 0;
|
||
|
while ($row = $db->fetch_array()) {
|
||
|
if ($row['serverType'] == TS) {
|
||
|
$ts_servers[$i]['serverId'] = $row['serverId'];
|
||
|
$ts_servers[$i]['name'] = $row['name'];
|
||
|
$ts_servers[$i]['addr'] = $row['addr'];
|
||
|
$ts_servers[$i]['password'] = $row['password'];
|
||
|
$ts_servers[$i]['descr'] = $row['descr'];
|
||
|
$ts_servers[$i]['queryPort'] = $row['queryPort'];
|
||
|
$ts_servers[$i]['UDPPort'] = $row['UDPPort'];
|
||
|
$i++;
|
||
|
} else if ($row['serverType'] == VENT) {
|
||
|
$vent_servers[$j]['serverId'] = $row['serverId'];
|
||
|
$vent_servers[$j]['name'] = $row['name'];
|
||
|
$vent_servers[$j]['addr'] = $row['addr'];
|
||
|
$vent_servers[$j]['password'] = $row['password'];
|
||
|
$vent_servers[$j]['descr'] = $row['descr'];
|
||
|
$vent_servers[$j]['queryPort'] = $row['queryPort'];
|
||
|
$j++;
|
||
|
}
|
||
|
}
|
||
|
if (isset($ts_servers))
|
||
|
{
|
||
|
require_once(PAGE_PATH . '/teamspeak_class.php');
|
||
|
foreach($ts_servers as $ts_server)
|
||
|
{
|
||
|
$settings = $teamspeakDisplay->getDefaultSettings();
|
||
|
$settings['serveraddress'] = $ts_server['addr'];
|
||
|
$settings['serverqueryport'] = $ts_server['queryPort'];
|
||
|
$settings['serverudpport'] = $ts_server['UDPPort'];
|
||
|
$ts_info = $teamspeakDisplay->queryTeamspeakServerEx($settings);
|
||
|
if ($ts_info['queryerror'] != 0) {
|
||
|
$ts_channels = 'err';
|
||
|
$ts_slots = $ts_info['queryerror'];
|
||
|
} else {
|
||
|
$ts_channels = count($ts_info['channellist']);
|
||
|
$ts_slots = count($ts_info['playerlist']).'/'.$ts_info['serverinfo']['server_maxusers'];
|
||
|
}
|
||
|
?>
|
||
|
<tr class="bg1">
|
||
|
<td class="fHeading">
|
||
|
<img src="<?php echo IMAGE_PATH; ?>/teamspeak/teamspeak.gif" alt="tsicon" />
|
||
|
<a href="<?php echo $g_options['scripturl'] . "?mode=teamspeak&game=$game&tsId=".$ts_server['serverId']; ?>"><?php echo trim($ts_server['name']); ?></a>
|
||
|
</td>
|
||
|
<td>
|
||
|
<a href="teamspeak://<?php echo $ts_server['addr'].':'.$ts_server['UDPPort'] ?>/?channel=?password=<?php echo $ts_server['password']; ?>"><?php echo $ts_server['addr'].':'.$ts_server['UDPPort']; ?></a>
|
||
|
</td>
|
||
|
<td>
|
||
|
<?php echo $ts_server['password']; ?>
|
||
|
</td>
|
||
|
<td style="text-align:right;">
|
||
|
<?php echo $ts_channels; ?>
|
||
|
</td>
|
||
|
<td style="text-align:right;">
|
||
|
<?php echo $ts_slots; ?>
|
||
|
</td>
|
||
|
<td>
|
||
|
<?php echo $ts_server['descr']; ?>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<?php
|
||
|
}
|
||
|
}
|
||
|
if (isset($vent_servers))
|
||
|
{
|
||
|
require_once(PAGE_PATH . '/ventrilostatus.php');
|
||
|
foreach($vent_servers as $vent_server)
|
||
|
{
|
||
|
$ve_info = new CVentriloStatus;
|
||
|
$ve_info->m_cmdcode = 2; // Detail mode.
|
||
|
$ve_info->m_cmdhost = $vent_server['addr'];
|
||
|
$ve_info->m_cmdport = $vent_server['queryPort'];
|
||
|
/////////
|
||
|
$rc = $ve_info->Request();
|
||
|
// if ($rc) {
|
||
|
// echo "CVentriloStatus->Request() failed. <strong>$ve_info->m_error</strong><br /><br />\n";
|
||
|
// } else {
|
||
|
$ve_channels = $ve_info->m_channelcount;
|
||
|
$ve_slots = $ve_info->m_clientcount.'/'.$ve_info->m_maxclients;
|
||
|
// }
|
||
|
?>
|
||
|
<tr class="bg1">
|
||
|
<td class="fHeading">
|
||
|
<img src="<?php echo IMAGE_PATH; ?>/ventrilo/ventrilo.png" alt="venticon" />
|
||
|
<a href="<?php echo $g_options['scripturl'] . "?mode=ventrilo&game=$game&veId=".$vent_server['serverId']; ?>"><?php echo $vent_server['name']; ?></a>
|
||
|
</td>
|
||
|
<td>
|
||
|
<a href="ventrilo://<?php echo $vent_server['addr'].':'.$vent_server['queryPort'] ?>/servername=<?php echo $ve_info->m_name; ?>">
|
||
|
<?php echo $vent_server['addr'].':'.$vent_server['queryPort']; ?>
|
||
|
</a></td>
|
||
|
<td>
|
||
|
<?php echo $vent_server['password']; ?>
|
||
|
</td>
|
||
|
<td style="text-align:right;">
|
||
|
<?php echo $ve_channels; ?>
|
||
|
</td>
|
||
|
<td style="text-align:right;">
|
||
|
<?php echo $ve_slots; ?>
|
||
|
</td>
|
||
|
<td>
|
||
|
<?php echo $vent_server['descr']; ?>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<?php
|
||
|
}
|
||
|
}
|
||
|
?>
|
||
|
</table>
|
||
|
</div>
|
||
|
<br /><br />
|
||
|
<?php
|
||
|
}
|
||
|
// VOICECOMM MODULE END
|
||
|
?>
|