Page 1 of 1
Erweiterte Shoutcastanzeige
Posted: 1. April 2011 13:25
by fishtown
Hi,
ich habe nach vielem hin und her eine Shoutcastanzeige als Block erstellt, die neben dem Titel und dem Status auch ein Bild des Moderators anzeigt.
Es funktionert nur, wenn auch die Galerie von nickvergessen installiert ist.
Ach ja, das ist meine erste Arbeit in diesem Bereich. Es war mir nur wichtig, das es läuft und das ich nicht mehr php im Template freischalten muss. Es gibt noch kein Languagefile und noch muss jeder Moderator per Hand in einem File eingetragen werden.
Besser wäre es, wenn diese Eingabe über den Adminbereich geschehen würde. Aber damit habe ich noch weniger Ahnung. Wäre da also für Hilfe dankbar.
Version 0.2 beta:
Moderatoren werden nun in einer Textdatei eingetragen.
Bei einigen Styles zerreist es das Layout (z.B. frozen_phonix) Bei anderen keine Probleme (z.B. IDLaunch_Fresh). In Arbeit
Screenshot:
Habe mal alles in einem zip-File zurechtgepackt.
scradio.zip
Grüße
Fishtown
Re: Erweiterte Shoutcastanzeige
Posted: 3. April 2011 09:37
by fishtown
So, nun brauch ich wirklich mal Hilfe.
Ich würde gern im ACP des Portals einen Bereich machen, in dem ich die Moderatoren eintragen kann. Gut wäre auch, wenn ich darüber die Bilder hochladen könnte. Habe da schno einiges versucht, aber nix klappt.
Kann mir da mal jemand bei helfen?
Folgende Daten müsste ich dort eingeben können:
1. Namen des Modis, den er mit dem Stream überträgt
2. Bild, das dabei angezeigt werden soll (entweder Bildernummer aus der Galerie, oder Bild per Upload)
3. Serverdaten des Shoutcastservers. Gut wäre hier, wenn man mehr als einen Server angeben kann.
Bin Dankbar für Hilfe.
Fishtown
Re: Erweiterte Shoutcastanzeige
Posted: 4. April 2011 17:58
by fishtown
Zu dem Fehler bei einigen Styles:
Sobald ich die scradio.php per include in die additional_blocks.php einfüge, tritt der Fehler bei dem IExplorer auf, dass es das Design zerreist. Selbst wenn ich die scradio.html noch nicht mit eingebunden habe.
Wo ist hier der Fehler? Wer findet ihn?
Code: Select all
<?php
if (!defined('IN_PHPBB') || !defined('IN_PORTAL'))
{
exit;
}
## shoutcasthack by bikky on ##
## Erweitert by Fishtown ##
include($phpbb_root_path . 'portal/block/scradio/scradio_conf.' . $phpEx);
## Hier nichts aendern ##
$fp = @fsockopen($server, $port, $errno, $errstr, 30);
$fp1 = @fsockopen($server, $port1, $errno, $errstr, 30);
## Abfrage ob Videostream Online ist ##
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
}
## Abfrage ob Audiostream Online ist ##
if ($fp1) {
fputs($fp1, "GET /7.html HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n");
while(!feof($fp1))
$page .= fgets($fp1, 1000);
fclose($fp1);
$page = ereg_replace(".*<body>", "", $page);
$page = ereg_replace("</body>.*", ",", $page);
$numbers = explode(",", $page);
$shoutcast_currentlisteners1 = $numbers[0]; //variable ueber die aktuelle anzahl der zuhoerer
$connected = $numbers[1]; //variable zum anzeigen ob ein sender verbunden sind
if($connected == 1) {
$radio_status1 = 1; //variable zum anzeigen ob radio an ist oder nicht
$wordconnected1 = "yes"; //zusaetzliche variable die ich brauchte
$shoutcast_peaklisteners1 = $numbers[2]; //variable die die anzahl der peaks angiebt
$shoutcast_maxlisteners1 = $numbers[3]; //variable ueber die maximal moegliche anzahl der zuhoerer
}
else
$wordconnected1 = "no"; //zusaetzliche variable die ich brauchte
}
if ($radio_status == 1) {
$rs1status = '<b><a href="http://'. $server .':'. $port .'/listen.pls" target="_blank"><img src="'. $baseurl .'/images/scradio/video.gif" align="middle"><font color="green"> Online</font> </img></a></b>';
$rs1statuspic = '<img src='. $baseurl .'/images/scradio/onlinepic.gif></img>';
$rs1song = $shoutcast_cursong;
$rs1listener = 'Zuhörer:' . $shoutcast_currentlisteners . "/" . $shoutcast_maxlisteners;
$rs1add = $adonline;
$variable = file("moderator.txt");
$suche = array();
foreach ($variable as $zeile)
{
$term = explode("|", $zeile);
array_push ($suche, $term[0],$term[1],$term[2]);
if(strpos($shoutcast_cursong, $term[0])!==false) $modipic = '<img src='. $baseurl .'/gallery/image.php?album_id='. $album .'&image_id='. $term[1] .'></img>';
}
}
## Generierung der Ausgabe ##
else {
$rs1status = '<b><font color="red">Offline</font></b>';
$rs1song = 'Zur Zeit leider keine Sendung.';
$rs1listener = '';
$rs1statuspic = '<img src='. $baseurl .'/images/scradio/offlinepic.gif></img>';
$modipic = '';
$rs1add = $adoffline;
}
if ($radio_status1 == 1) {
$rs2status = '<b><a href="http://'. $server .':'. $port1 .'/listen.pls" target="_blank"><img src="'. $baseurl .'/images/scradio/video.gif" align="middle"><font color="green"> Online</font> </img></a></b>';
$rs2statuspic = '<img src='. $baseurl .'/images/scradio/onlinepic.gif></img>';
$rs2song = $shoutcast_cursong;
$rs2listener = 'Zuhörer:' . $shoutcast_currentlisteners1 . '/' . $shoutcast_maxlisteners1;
}
else {
$rs2status = '<b><font color="red">Offline</font></b>';
$rs2song = '';
$rs2listener = '';
$rs2statuspic = '<img src='. $baseurl .'/images/scradio/offlinepic.gif></img>';
}
$video = '<font color="black"><b>Videostream</font>';
$audio = '<font color="black"><b>Audiostream</font>';
// Assign index specific vars
$template->assign_vars(array(
'RS1ADD' => $rs1add,
'RS1STATUS' => $rs1status,
'RS1SONG' => $rs1song,
'RS1LISTENER' => $rs1listener,
'RS1STATUSPIC' => $rs1statuspic,
'MODIPIC' => $modipic,
'RS2STATUS' => $rs2status,
'RS2SONG' => $rs2song,
'RS2LISTENER' => $rs2listener,
'RS2STATUSPIC' => $rs2statuspic,
'VIDEO' => $video,
'AUDIO' => $audio,
));
?>