Hallo,
Da ich keinen für mich passenden Shoutcast Hack gefunden habe
würd ich mir gerne selbst etwas kleines schreiben.
Nun das Passende TPL Stück welches ich in die index TPL integrieren
würde habe ich schon ich bräuchte nun jedoch 2 fragen gelöst:
wie integriere ich einen php code in mein tpl abschnitt ?
Ich hab bisher nur eigene kleine sachen fürs wbblite 1 geschrieben,
das war alles etwas einfacher muss ich sagen.
Meine 2te frage, wie erstell ich eine ACP seite in der konfiguration abteilung (die settings für shoutcast)
Hoffe ihr könnt mir bissl hilfestellung geben.
Ist mir irgendwie zu kompliziert.
Frage wenn ich nun in die global.php meinen code reinschreibe so nach dem motto
$variable = "code";
kann ich dann $variable in die index tpl setzen und es wird mir dann ausgegeben ?
und wenn das geht kann ich dann mir eine
"filename.php" erstellen und dort
include("global.php");
reinschreiben dann
$variable = "code";
und das $variable in index tpl setzen und mir da ausgeben lassen ?
Das ist erstmal alles was ich wissen muss.
Hoffe ihr versteht was ich meine !!!
Die Variablen in filename.php können dann in dem Template verwendet werden, dass du in dieser Datei auch lädst.
Schau dir doch erst mal die Dateien des MyBB genauer an und versuch zu verstehen, was dort passiert und wie es funktioniert. Danach wirst du verstehen welche Variable du wo und wie ausgeben kannst.
Ich würde mir auch mal das ein oder andere (einfache!) Plugin ansehen und so lernen, wie Plugins aufgebaut sind und arbeiten......zumindest hat mir das den Einstieg sehr erleichtert.
Beginnst Du erstmal mit Veränderungen der Dateien, dann musst Du viel Dokumentieren, damit Deine Änderungen auch nach Updates/Upgrades laufen.
Von dem her ist es wirklich sehr sinnvoll, sich mit Plugins zu beschäftigen.
Zumal Du hier auch viel Hilfe bekommen wirst, wenn Du selbst ein Plugin schreibst und dafür Hilfe benötigst.
Es handelt sich um eine kleine box die über den foren eingeblendet werden soll wenn das Radio online ist. Ich hab einen code gefunden und schonmal angepasst.
Meint ihr es funktioniert so:
(der code ist in der global.php untergebracht und die variablen in der index tpl)
Code:
//Shoutcast Hack by Michael Start
$server = "zensiert.de"; //hier deinen server eintragen z.b. musik.de oder 213.61.885.8
$port = 8000; //hier den port eintragen (ist standart 8000)
$fp = @fsockopen($server, $port, $errno, $errstr, 30);
if ($fp) {
fputs($fp, "GET /7.html HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n");
while(!feof($fp))
$page .= fgets($fp, 1000);
fclose($fp);
$page = ereg_replace(".*<body>", "", $page);
$page = ereg_replace("</body>.*", ",", $page);
$numbers = explode(",", $page);
$shoutcast_currentlisteners = $numbers[0]; //variable ueber die aktuelle anzahl der zuhoerer
$connected = $numbers[1]; //variable zum anzeigen ob ein sender verbunden sind
if($connected == 1) {
$radio_status = 1; //variable zum anzeigen ob radio an ist oder nicht
$wordconnected = "yes"; //zusaetzliche variable die ich brauchte ;)
}
else
$wordconnected = "no"; //zusaetzliche variable die ich brauchte
$shoutcast_peaklisteners = $numbers[2]; //variable die die anzahl der peaks angiebt
$shoutcast_maxlisteners = $numbers[3]; //variable ueber die maximal moegliche anzahl der zuhoerer
$shoutcast_reportedlisteners = $numbers[4]; //
$shoutcast_bitrate = $numbers[5]; //bitrate ;)
$shoutcast_cursong = $numbers[6]; //aktueller song
$shoutcast_curbwidth = $shoutcast_bitrate * $shoutcast_currentlisteners; //gesamtbandbreite
$shoutcast_peakbwidth = $shoutcast_bitrate * $shoutcast_peaklisteners; //gesamtpeakbandbreite
}
if ($radio_status == 1) {
$shoutcast_index = "
<b>Tune In:</b> <a href=http://$server:$port/listen.pls>Listen</a>
<br>
<b>Aktuelle Hörer:</b> $shoutcast_currentlisteners / $shoutcast_maxlisteners
<br>
<b>Streambitrate:</b> $shoutcast_bitrate
<br>
<b>Aktueller Track:</b> $shoutcast_cursong
<br>
";
} else {
$shoutcast_index_off = "
<center><b>Das Radio ist derzeit Offline</b></center><br>
";
}
//Shoutcast Hack by Michael Ende
Das ist nur das grundgerüst, das tpl kommt noch außenrum.
nur das hab ich noch nicht gemacht ^^
Meint ihr das funktioniert so ?
Warum global?
Wenn es auf der Indexseite stehen soll, dann sollte der Code auch in der index.php stehen.
Besser aber noch, wenn Du es in einem Plugin einbaust und an der:
$plugins->add_hook('index_start', 'deine_funktion');
anhängst.
In wieweit der Code funktioniert, würde ich es einfach mal probieren. Zumindest bekommst Du eine Fehlermeldung, wenn es nicht funktioniert.