Titelanzeige als Lauftext im Eingabeframe

Fragen zu HTML, CSS, eigenen Erweiterungen etc.
Benutzeravatar
ExEngel
Beiträge: 37
Registriert: 27.04.2010, 13:11
Wohnort: Waiblingen
Kontaktdaten:

Titelanzeige als Lauftext im Eingabeframe

Ungelesener Beitrag von ExEngel » 17.08.2010, 19:18

Hallo erst mal,
da dies mein erster Post im forum ist , möchte ich mich erst mal herzlich bei allen Scriptern und Cheffes hier bedanken,ohne Eure scripte hätte ich meinen Chat nie so hinbekommen.Durch kräftiges durchschnuppern bin ich immer zu einem für mich zufriedenstellenden Ergebnis gekommen, ohne einmal um rat zu fragen.Dies beweist Eure hervorragende Arbeit.
Schlußendlich benötige ich doch eure Hilfe......hehe.
Möchte in meinem chat ne Lauftextanzeige des aktuell gespielten Titels meines Radios im Eingabeframe.Habe durch dieses php script die möglichkeit, daten des streamservers auszulesen...
Gibt es irgendeine möglichkeit, mithilfe dieser daten im eingabeframe einen lauftext erscheinen zu lassen, der den aktuellen titel anzeigt.
Über einen oder mehrere Tips würd ich mich freuen.
Sollte dieses Thema schon mal behandelt worden sein,so habt nachsicht.
Freue mich auf eure ratschläge.

Ach...und hier das php script.
Script:Zeigen
<?php
/*
* STREAMPLUS - Script zum Auslesen aktueller Shoutcast - Server - Informationen
*
* Das Script ist relativ einfach aufgebaut. Sollten Sie trotzdem Hilfe brauchen,
* lesen Sie sich den Artikel in der FAQ dazu durch.
* http://www.streamplus.de/faq.php#S.06
*/
define("HOST", "streamplus18.leonex.de"); // Der Host Ihres Servers (finden Sie unter Server -> Server-Daten -> Streamen als Moderator)
define("PORT", "17812"); // Der Port Ihres Servers (finden Sie unter Server -> Server-Daten -> Streamen als Moderator)
define("ADMIN_PASSWORT", "xxxxxxx"); // Das Admin-Passwort Ihres Servers (finden Sie unter Server -> Optionen)



function between($von,$bis,$string) {
$a = explode($von,$string);
$b = explode($bis,$a[1]);
return $b[0];
}


// Verbindung mit dem Shoutcast - Server und Download der XML Datei

$xml = '';
$fp = fsockopen(HOST, PORT, $errno, $errstr, 5);
$send = "GET /admin.cgi?pass=".ADMIN_PASSWORT."&mode=viewxml&page=0 HTTP/1.1\r\n"
. "Host: ".HOST.":".PORT."\r\n"
. "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)\r\n"
. "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n"
. "Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n"
. "Accept-Encoding: gzip,deflate\r\n"
. "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n"
. "Keep-Alive: 300\r\n"
. "Connection: keep-alive\r\n\r\n";
fwrite($fp, $send);
while(!feof($fp))
{
$xml .= fgets($fp, 1024);
}
fclose($fp);




/*
* In den folgenden Variablen stehen die wichtigsten Informationen wie:
* das aktuelle Lied, der Status des Servers, wie viele Zuhoerer gerade online sind und wie der Server ueberhaupt heisst
*/

$server_titel = between("<SERVERTITLE>", "</SERVERTITLE>", $xml);
$server_genre = between("<SERVERGENRE>", "</SERVERGENRE>", $xml);
$server_url = between("<SERVERURL>", "</SERVERURL>", $xml);
$stream_status = (int)between("<STREAMSTATUS>", "</STREAMSTATUS>", $xml);
$zuhoerer = (int)between("<CURRENTLISTENERS>", "</CURRENTLISTENERS>", $xml);
$max_zuhoerer = (int)between("<MAXLISTENERS>", "</MAXLISTENERS>", $xml);
$song_titel = between("<SONGTITLE>", "</SONGTITLE>", $xml);





/*
* Im Folgenden werden die Zuhoerer aus der XML ausgelesen und in das array $listeners geschrieben
*
* das array ist folgendermassen aufgebaut:
*
* $listeners[index][ip] <- IP des Zuhoerers
* $listeners[index][client] <- Name des Programms, was der Zuhoerer benutzt
* $listeners[index][verbindungsdauer] <- Zeit seitdem der Zuhoerer online ist (angabe in Sekunden)
*/

$listeners = array();
$l = explode("<LISTENER>", between("<LISTENERS>", "</LISTENERS>", $xml));
foreach($l as $listener) {
if(between("<HOSTNAME>", "</HOSTNAME>", $listener) != "") {
array_push($listeners, array(
"ip" => between("<HOSTNAME>", "</HOSTNAME>", $listener),
"client" => between("<USERAGENT>", "</USERAGENT>", $listener),
"verbindungsdauer" => between("<CONNECTTIME>", "</CONNECTTIME>", $listener))
);
}
}





/*
* Im Folgenden werden die Songs aus der XML ausgelesen und in das array $songs geschrieben
*
* das array ist folgendermassen aufgebaut:
*
* $songs[index][abspielzeit] <- Unix - Timestamp von dem Datum und der Zeit, wann das Lied abgespielt wurde
* $songs[index][titel] <- Titel des Liedes plus Albumname und Interpret, falls angegeben
*/
//
$songs = array();
$s = explode("<SONG>", between("<SONGHISTORY>", "</SONGHISTORY>", $xml));
foreach($s as $song) {
if(between("<TITLE>", "</TITLE>", $song) != "") {
array_push($songs, array(
"abspielzeit" => between("<PLAYEDAT>", "</PLAYEDAT>", $song),
"titel" => between("<TITLE>", "</TITLE>", $song))
);
}
}
?>

<html>
<head>
<title>StreamPlus - Shotcast Server Information</title>
<style type="text/css">
body {
font-family: Arial, Verdana;
}
</style>
<p style="color: red">
<?php echo $song_titel; ?>
</p>



</head>
<body>
<h1>Informationen von <i><?php echo $server_titel; ?></i></h1>

<table>
<tr>
<td>Server Genre:</td>
<td><b><?php echo $server_genre; ?></b></td>
</tr>
<tr>
<td>Server URL:</td>
<td><a href="<?php echo $server_url; ?>"><b><?php echo $server_url; ?></b></a></td>
</tr>
<tr>
<td>Stream Status:</td>
<td><b><?php echo $stream_status; ?></b></td>
<td>(1 bedeutet, dass der Server l&auml;uft)</td>
</tr>
<tr>
<td>Zuh&ouml;rer:</td>
<td><b><?php echo $zuhoerer; ?></b></td>
<td>(von maximal <?php echo $max_zuhoerer ?> Zuh&ouml;rern)</td>
</tr>
<tr>
<td>Aktueller Titel:</td>
<td><b><?php echo $song_titel; ?></b></td>
<td>(Titel des aktuellen Liedes)</td>
</tr>
</table>

<p>&nbsp;</p>

<table>
<tr>
<th align="left">IP</th>
<th align="left" style="padding-left:10px;">Programm</th>
<th align="right">Verbunden seit</th>
</tr>
<?php foreach($listeners as $listener) { ?>
<tr>
<td><?php echo $listener["ip"]; ?></td>
<td style="padding-left:10px;"><?php echo $listener["client"]; ?></td>
<td align="right"><?php echo $listener["verbindungsdauer"]; ?> sek</td>
</tr>
<?php } ?>
</table>

<p>&nbsp;</p>

<table>
<tr>
<th align="left">Abspielzeit</th>
<th align="left" style="padding-left:10px;">Song Titel</th>
</tr>
<?php foreach($songs as $song) { ?>
<tr>
<td><?php echo date("d.m.Y, H:i:s", $song["abspielzeit"]); ?></td>
<td style="padding-left:10px;"><?php echo $song["titel"]; ?></td>
</tr>
<?php } ?>
</table>

</body>
</html>

Euer ExEngel
Zuletzt geändert von ZischDings am 19.08.2010, 14:10, insgesamt 1-mal geändert.
Grund: Admin-PW ausgeXt. Danke an DrunkenMonkey, sehr aufmerksam ;-)

Benutzeravatar
DrunkenMonkey
Beiträge: 28
Registriert: 25.02.2008, 15:27
Wohnort: Darmstadt
Kontaktdaten:

Re: Titelanzeige als Lauftext im Eingabeframe

Ungelesener Beitrag von DrunkenMonkey » 19.08.2010, 13:39

Nutze doch das Script was du hier findest um den Radiostatus einzufügen.

PS: An deiner Stelle würde in deinem geposteten Script das Passwort XXXXen :)
Bild

Benutzeravatar
ExEngel
Beiträge: 37
Registriert: 27.04.2010, 13:11
Wohnort: Waiblingen
Kontaktdaten:

Re: Titelanzeige als Lauftext im Eingabeframe

Ungelesener Beitrag von ExEngel » 19.08.2010, 19:52

Uuuuuups....sorry...war mir ganz sicher das passwort geixxxxxt zu haben, sag ma vielen dank dafür...

Das Script von Kiba kenn ich , leider scrollt das fenster ja hier immer hoch bei eingaben der user.
Hatte schon ne streambox in der OL, aber nach einbau des nickmenüs musste ich die streambox entfernen, da das nickmenü nicht funzte, das radioscript war der auslöser. Suche nun auf diesem weg eben die möglichkeit, das ganze unterhalb der eingabezeile als lauftext anzuzeigen. Aber wenns net geht lass ich mir mal das nickmenü durch den kopf gehen, und warum die streambox das menü stört..
Wie gesagt, "sollte " es eine lösung via eingabeframe geben, wäre ich euch dankbar....

Euer ExEngel :P
erstens kommt es anders.....zweitens als man denkt

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 61 Gäste