also hier meine seite obertier.byto.de/radioscript/index.php
und dort steht serve offline ganz unten rechts
so und bevor wieder kommt wegen webspace geht nicht hier ein link das es geht obertier.byto.de/tsviewer/
nun meine frage was habe ich falsch gemacht ?
habe tsviever-ordner wo die image drinne ist dort rein wo er hin muss
/include/images/tsviewer/und hier die bilder oder gifs wie auch immer
die config und die index sind /include/boxes/ hier drinne
und hier die daten von der config
<?php
error_reporting(0);
class tss2info {
// START OF CONFIG -------------------------------
var $serverAddress = "213.xxx.xxx.xxx"; // Server IP
var $serverQueryPort = 51234; // TCP Port
var $serverUDPPort = 8767; // UDP Port
var $serverPasswort = ""; // Serverpasswort
// END OF CONFIG ---------------------------------
var $refreshtime = 30;
var $tabellenbreite = 300;
var $sitetitle = "Teamspeak Viewer";
//internal
var $socket;
var $userdata;
// external
var $serverStatus = "offline";
var $playerList = array();
var $channelList = array();
// strips the quotes around a string
function stripQuotes($evalString) {
if(strpos($evalString, '"') == 0) $evalString = substr($evalString, 1, strlen($evalString) - 1);
if(strrpos($evalString, '"') == strlen($evalString) - 1) $evalString = substr($evalString, 0, strlen($evalString) - 1);
return $evalString;
}// end function stripQuotes($evalString)
// returns the codec name
function getVerboseCodec($codec) {
if($codec == 0) {
$codec = "CELP 5.1 Kbit";
} elseif($codec == 1) {
$codec = "CELP 6.3 Kbit";
} elseif($codec == 2) {
$codec = "GSM 14.8 Kbit";
} elseif($codec == 3) {
$codec = "GSM 16.4 Kbit";
} elseif($codec == 4) {
$codec = "CELP Windows 5.2 Kbit";
} elseif($codec == 5) {
$codec = "Speex 3.4 Kbit";
} elseif($codec == 6) {
$codec = "Speex 5.2 Kbit";
} elseif($codec == 7) {
$codec = "Speex 7.2 Kbit";
} elseif($codec == 8) {
$codec = "Speex 9.3 Kbit";
} elseif($codec == 9) {
$codec = "Speex 12.3 Kbit";
} elseif($codec == 10) {
$codec = "Speex 16.3 Kbit";
} elseif($codec == 11) {
$codec = "Speex 19.5 Kbit";
} elseif($codec == 12) {
$codec = "Speex 25.9 Kbit";
} else {
$codec = "unknown (".$codec.")";
}// end if
return $codec;
}// end function getVerboseCodec($codec);
function getInfo() {
$this->playerList = $this->getUserInfo($this->serverAddress, $this->serverQueryPort, $this->serverUDPPort);
$this->channelList = $this->getChannelInfo($this->serverAddress, $this->serverQueryPort, $this->serverUDPPort);
} // end getInfo()
function getChannelInfo($server_ip, $server_query, $server_port) {
$channelList = array();
$cmd = "cl $server_port\nquit\n";
$connection = fsockopen ("$server_ip", $server_query, &$errno, &$errstr, 1);
if (!$connection) {
echo "Cannot connect: ($errno)-$errstr<br>";
} else {
$error = fputs($connection,$cmd, strlen($cmd));
if (!$error) {
echo "Cannot read Data!<br>";
} else {
while($channeldata = fgets($connection, 4096)) {
$channeldata = explode(" ", $channeldata);
$channeldata0 = trim($channeldata[0]); // number
$channeldata1 = trim($channeldata[1]); // codec
$channeldata2 = trim($channeldata[2]); // parent
$channeldata3 = trim($channeldata[3]); // order
$channeldata4 = trim($channeldata[4]); // maxuser
$channeldata5 = trim("$channeldata[5]");
$channeldata5 = substr("$channeldata5", 1);
$channeldata5 = substr("$channeldata5", 0, -1);
$channeldata5 = addslashes("$channeldata5"); // name
$channeldata5 = htmlentities("$channeldata5");
// $channeldata5 = addslashes(trim($channeldata[5])); // name
$channeldata6 = trim($channeldata[6]); // channel flags
$channeldata7 = trim($channeldata[7]); // priv/pub
$channeldata8 = trim("$channeldata[8]");
$channeldata8 = substr("$channeldata8", 1);
$channeldata8 = substr("$channeldata8", 0, -1);
$channeldata8 = addslashes(htmlspecialchars("$channeldata8")); // topic
// $channeldata8 = addslashes(htmlspecialchars(trim($channeldata[8]))); // topic
$channelid = $channeldata0;
if ($channelid > 0) {
$channelList[$channelid] = array(
"channelid" => $channelid,
"codec" => $channeldata1,
"parent" => $channeldata2,
"order" => $channeldata3,
"maxplayers" => $channeldata4,
"channelname" => $channeldata5,
"attribute" => $this->get_channel_flags($channeldata6),
"isdefault" => 0,
"topic" => $channeldata8);
}
}
}
fclose($connection);
}
function cmp ($a, $b) {
if ($a["order"] == $b["order"]) {
return ($a["channelid"] < $b["channelid"]) ? -1 : 1;
}//return 0;
return ($a["order"] < $b["order"]) ? -1 : 1;
}
usort($channelList, "cmp");
return $channelList;
}
function getUserInfo($server_ip, $server_query, $server_port) {
$playerList = array();
$cmd = "pl $server_port\nquit\n";
$connection = fsockopen ("$server_ip", $server_query, &$errno, &$errstr, 1);
if (!$connection) {
echo "Cannot connect: ($errno)-$errstr<br>";
} else {
fputs($connection,$cmd, strlen($cmd));
while($userdata = fgets($connection, 4096)) {
$userdata = explode(" ", $userdata);
$userdata0 = trim($userdata[0]); // pl_id
$userdata1 = trim($userdata[1]); // pl_channelid
$userdata2 = trim($userdata[2]); // pl_pktssend
$userdata3 = trim($userdata[3]); // pl_bytessend
$userdata4 = trim($userdata[4]); // pl_pktsrecv
$userdata5 = trim($userdata[5]); // pl_bytesrecv
$userdata6 = trim($userdata[6]); // pl_pktloss
$userdata7 = trim($userdata[7]); // pl_ping
$userdata8 = trim($userdata[8]); // pl_logintime
$userdata9 = trim($userdata[9]); // pl_idletime
$userdata10 = trim($userdata[10]); // pl_channelprivileges
$userdata11 = trim($userdata[11]); // pl_playerprivileges
$userdata12 = trim($userdata[12]); // pl_playerflags
$userdata13 = trim($userdata[13]); // pl_ipaddress
$userdata14 = trim("$userdata[14]");
$userdata14 = substr("$userdata14", 1);
$userdata14 = substr("$userdata14", 0, -1);
$userdata14 = addslashes("$userdata14");
$userdata14 = htmlentities("$userdata14"); // pl_nickname
// $userdata14 = addslashes(trim($userdata[14])); // pl_nickname
$userdata15 = trim("$userdata[15]");
$userdata15 = substr("$userdata15", 1);
$userdata15 = substr("$userdata15", 0, -1);
$userdata15 = addslashes("$userdata15"); // pl_loginname
// $userdata15 = addslashes(trim($userdata[15])); // pl_loginname
$playerid = $userdata0;
$playerList[$playerid] = array(
"playerid" => $playerid,
"channelid" => $userdata1,
"receivedpackets" => $userdata4,
"receivedbytes" => $userdata5,
"sentpackets" => $userdata2,
"sentbytes" => $userdata3,
"paketlost" => $userdata6 / 100,
"pingtime" => $userdata7,
"totaltime" => $this->setTimeString($userdata8),
"idletime" => $this->setTimeString($userdata9),
"privileg" => $userdata10,
"userstatus" => $userdata11,
"attribute" => $this->getUserStatusBild($userdata12),
"flags" => $this->get_player_flags($userdata11,$userdata10),
"s" => $userdata13,
"playername" => $userdata14);
}
fclose($connection);
}
return $playerList;
}
function get_player_flags($num1,$num2) {
if ($num1 == '13') {
$plpriv = "(R <b>SA</b>";
} else if ($num1 == '5') {
$plpriv = "(R <b>SA</b>";
} else if ($num1 == '4') {
$plpriv = "(R";
} else if ($num1 < '4') {
$plpriv = "(U";
}
if ($num2 == '1') {
$clpriv = " CA)";
} else {
$clpriv = ")";
}
return $plpriv.$clpriv;
}
function get_channel_flags($num) {
// (RMPSD) (0 2 4 6 8 16)
if ($num == '30') {
$clflag = "(RMPSD)";
} else if ($num == '28') {
$clflag = "(RPSD)";
} else if ($num == '26') {
$clflag = "(RMSD)";
} else if ($num == '24') {
$clflag = "(RSD)";
} else if ($num == '22') {
$clflag = "(RMPD)";
} else if ($num == '20') {
$clflag = "(RPD)";
} else if ($num == '18') {
$clflag = "(RMD)";
} else if ($num == '16') {
$clflag = "(RD)";
} else if ($num == '15') {
$clflag = "(UMPS)";
} else if ($num == '14') {
$clflag = "(RMPS)";
} else if ($num == '13') {
$clflag = "(UPS)";
} else if ($num == '12') {
$clflag = "(RPS)";
} else if ($cldata[9] == '11') {
$clflag = "(UMS)";
} else if ($num == '10') {
$clflag = "(RMS)";
} else if ($num == '9') {
$clflag = "(US)";
} else if ($num == '8') {
$clflag = "(RS)";
} else if ($num == '7') {
$clflag = "(UMP)";
} else if ($num == '6') {
$clflag = "(RMP)";
} else if ($num == '5') {
$clflag = "(UP)";
} else if ($num == '4') {
$clflag = "(RP)";
} else if ($num == '3') {
$clflag = "(UM)";
} else if ($num == '2') {
$clflag = "(RM)";
} else if ($num == '1') {
$clflag = "(U)";
} else if ($num == '0') {
$clflag = "(R)";
} else {
$clflag = "";
}
return $clflag;
}
function getUserStatusBild($attribut) {
//-------------------------------------------------------------------------------------------------
//--- UserStatusBild --\\
$playergif = "player.gif";
if ($attribut == "0") $playergif = "player.gif";
if (($attribut == "8") or
($attribut == "9") or
($attribut == "12") or
($attribut == "13") or
($attribut == "24") or
($attribut == "25") or
($attribut == "28") or
($attribut == "29") or
($attribut == "40") or
($attribut == "41") or
($attribut == "44") or
($attribut == "45") or
($attribut == "56") or
($attribut == "57")) $playergif = "away.gif";
if (($attribut == "16") or
($attribut == "17") or
($attribut == "20") or
($attribut == "21")) $playergif = "mutemicro.gif";
if (($attribut == "32") or
($attribut == "33") or
($attribut == "36") or
($attribut == "37") or
($attribut == "48") or
($attribut == "49") or
($attribut == "52") or
($attribut == "53")) $playergif = "mutespeakers.gif";
if ($attribut == "4") $playergif = "player.gif";
if (($attribut == "1") or
($attribut == "5")) $playergif = "channelcommander.gif";
if ($attribut >= "64") $playergif = "record.gif";
//--- UserStatusBild --\\
//-------------------------------------------------------------------------------------------------
return $playergif;
}
function setTimeString($time) {
$timestring = "0 Sekunden";
if ($time < 60 ) {
$timestring = strftime("%S Sekunden", $time);
} else {
if ($time >= 3600 ) {
$timestring = strftime("%H:%M:%S Stunden", $time - 3600);
} else {
$timestring = strftime("%M:%S Minuten", $time);
}
}
return htmlentities("$timestring");
}
}
$tss2info = new tss2info;
?>
daten sind alle drinne sonst würde es ja hier obertier.byto.de/tsviewer/
auch nicht gehen
und hier die die index daten
<?php
// retrieve server info
require("config.php");
$tss2info->getInfo();
$tss2info->userName="Guest";
?>
<html>
<head>
<title><?php echo $tss2info->sitetitle;?></title>
<style type="text/css">
<!--
body {
background-color: #0000FF; //Hintergrundfarbe
margin: 1px;
font-family: Verdana;
font-size: 10px;
SCROLLBAR-base-COLOR: #ffffff;
SCROLLBAR-ARROW-COLOR: #000000;
}
td.refresh {
font-family: Verdana;
font-size: 9px;
color: #000000;
}
a.channellink:link,
a.channellink:hover,
a.channellink:visited,
a.channellink:active {
text-decoration: none;
font: bold
font-family: Verdana;
font-size: 10px;
color: #000000;
}
a.refreshlink:link,
a.refreshlink:hover,
a.refreshlink:visited,
a.refreshlink:active {
text-decoration: none;
font-family: Verdana;
font-size: 9px;
color: #000000;
}
td.teamspeak {
font: bold
font-family: Verdana;
font-size: 10px;
color: #000000;
}
td.channel {
font: bold
font-family: Verdana;
font-size: 10px;
color: #000000;
}
td.player {
font-family: Verdana,Arial;
font-size: 9px;
color: #000000;
}
td.offline {
font: bold
font-family: Verdana;
font-size: 10px;
color: #000000;
}
{td><center><img src="238.jpg" Height="200" width="270" border="0" alt="238.jpg"></center><br>
<i><b><p style="margin-left:100px"}
//-->
</style>
<?php
if (isset($HTTP_GET_VARS["auto"])) {
$auto = $HTTP_GET_VARS["auto"];
} else {
$auto = 0;
}
if ($auto==1) {
echo '<meta http-equiv="refresh" content="'.$tss2info->refreshtime.'" URL='.$PHP_SELF.'?auto=1">';
}
?>
</head>
<body>
<?php
// display channel list
echo "<table border=\"0\" width=\"".$tss2info->tabellenbreite."\" cellpadding=\"0\" cellspacing=\"0\">\n";
echo "<tr>\n";
echo "<td>\n";
//-------------------------------------------------------------------------------------------------
//---> Refresh <---\\ Anfang
echo "<table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">\n";
echo "<tr>\n";
if ($auto==1) {
echo "";
} else {
echo "";
}
echo "</tr>\n";
echo "</table>\n";
//---> Refresh <---\\ Ende
//-------------------------------------------------------------------------------------------------
echo "</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td>\n";
//-------------------------------------------------------------------------------------------------
//---> TeamSpeak <---\\ Anfang
echo "<table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">\n";
echo "<tr>\n";
echo "<td width=\"33\"><img src=\"images/teamspeak.gif\" width=\"16\"height=\"16\" border=\"0\" alt=\"\"></td><td class=\"teamspeak\">Teamspeak 2 Server</td>\n";
echo "</tr>\n";
echo "</table>\n";
//---> TeamSpeak <---\\ Ende
$result = getSubChannel();
//-------------------------------------------------------------------------------------------------
//---> OFFLINE <---\\
if ($result != "") {
echo $result;
} else {
echo ("<tr>\n");
echo ("<td>\n");
echo (" <table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">\n");
echo (" <tr><td class=\"offline\" width=\"110\"align=\"center\" colspan=\"2\"><b>Offline</b></td></tr>\n");
echo ("</table>\n");
echo ("</td>\n");
echo ("</tr>\n");
}
//---> OFFLINE <---\\
//-------------------------------------------------------------------------------------------------
echo ("</table>\n");
?>
</body>
</html>
<?php
function getPlayer($chanelID, $channelID, $SubCounter) {
global $tss2info;
//$channelInfo = $tss2info->channelList[$chanelID];
$player = "";
foreach($tss2info->playerList as $playerInfo) {
if ($playerInfo[channelid] == $channelID) {
//-------------------------------------------------------------------------------------------------
$player .= ("<tr>\n");
$player .= ("<td>\n");
$player .= (" <table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">\n");
$width=32;
$gitter="";
for ($i=0;$i<=$SubCounter;$i++) {
$width+=16;
$gitter .= "<img src=\"images/gitter.gif\" width=\"16\"height=\"16\" border=\"0\" alt=\"\">";
}
//if ($channelInfo[parent]==-1) {
$player .= (" <tr><td width=\"$width\">$gitter<img src=\"images/gitter2.gif\" width=\"16\"height=\"16\" border=\"0\" alt=\"\"><img src=\"images/".$playerInfo[attribute]."\" width=\"16\"height=\"16\" border=\"0\" alt=\"Time [online: ".$playerInfo[totaltime]." | idle: ".$playerInfo[idletime]."] Ping:".$playerInfo[pingtime]."ms\"></td><td class=\"player\" title=\"Time [online: ".$playerInfo[totaltime]." | idle:".$playerInfo[idletime]."] Ping:".$playerInfo[pingtime]."ms\"> ".$playerInfo[playername]." ".$playerInfo[flags]."</td></tr>\n");
//} else {
// $player .= (" <tr><td width=\"64\"><img src=\"images/gitter.gif\" width=\"16\"height=\"16\" border=\"0\" alt=\"\"><img src=\"images/gitter.gif\" width=\"16\"height=\"16\" border=\"0\" alt=\"\"><img src=\"images/gitter2.gif\" width=\"16\"height=\"16\" border=\"0\" alt=\"\"><img src=\"images/".$playerInfo[attribute]."\" width=\"16\"height=\"16\" border=\"0\" alt=\"Time [online: ".$playerInfo[totaltime]." | idle: ".$playerInfo[idletime]."] Ping:".$playerInfo[pingtime]."ms\"></td><td class=\"player\" title=\"Time [online: ".$playerInfo[totaltime]." | idle:".$playerInfo[idletime]."] Ping:".$playerInfo[pingtime]."ms\"> ".$playerInfo[playername]." ".$playerInfo[flags]."</td></tr>\n");
//}
$player .= (" </table>\n");
$player .= ("</td>\n");
$player .= ("</tr>\n");
//---> Player <---\\ Ende
//-------------------------------------------------------------------------------------------------
}
}
return $player;
}
function getSubChannel($chanelID=-1,$SubCounter=0) {
global $tss2info;
$SubChannel = "";
if ($chanelID==-1) $SubCounter=0; else $SubCounter++;
foreach($tss2info->channelList as $channelInfo) {
$channelname = $channelInfo[channelname];
// determine codec (verbose)
$codec = $tss2info->getVerboseCodec($channelInfo[codec]);
if ($channelInfo[parent]==$chanelID) {
$SubChannel .= ("<tr>\n");
$SubChannel .= ("<td>\n");
//-------------------------------------------------------------------------------------------------
//---> Channel <---\\ Anfang
$SubChannel .= (" <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n");
$SubChannel .= (" <tr>\n");
$width=32;
$gitter="";
for ($i=1;$i<=$SubCounter;$i++) {
$width+=16;
$gitter .= "<img src=\"images/gitter.gif\" width=\"16\"height=\"16\" border=\"0\" alt=\"\">";
}
$SubChannel .= (" <td width=\"$width\">$gitter<img width=\"16\"height=\"16\" src=\"images/gitter2.gif\" border=\"0\" alt=\"\"><img src=\"images/channel.gif\" width=\"16\"height=\"16\" border=\"0\" alt=\"\"></td>");
$SubChannel .= (" <td class=\"channel\"> <a class=\"channellink\" href=\"teamspeak://".$tss2info->serverAddress.":".$tss2info->serverUDPPort."/?channel=".$channelname."?nickname=WebGuest?password=".$tss2info->serverPasswort."\" title=\"".$channelInfo[topic]."\">".$channelname."</a></td>\n");
if ($SubCounter==0) $SubChannel .= (" <td class=\"player\"> ".$channelInfo[attribute]."</td>\n");
$SubChannel .= (" </tr>\n");
$SubChannel .= (" </table>\n");
//---> Channel <---\\ Ende
//-------------------------------------------------------------------------------------------------
$SubChannel .= ("</td>\n");
$SubChannel .= ("</tr>\n");
if ($SubChannel!="") $SubChannel .= getSubChannel($channelInfo[channelid],$SubCounter); //Rekusiver Aufruf!!
$SubChannel .= getPlayer($channelInfo[channelid],$channelInfo[channelid],$SubCounter); //User einfügen
}
}
return $SubChannel;
}
echo ("<table>\n");
echo ("<tr>\n");
echo ("<td class=\"player\">\n");
echo ("</td>\n");
echo ("</tr>\n");
echo ("</table>\n");
?>
vielleicht könnt ih mir ja jetzt sagen was ich falsch gemacht habe
ganz grosses thx im vorraus
verwendete ilchClan Version: 1.1
betroffene Homepage: obertier.byto.de/radioscript/index.php
Zuletzt modifiziert von Ithron am 15.09.2007 - 18:02:35

