Ankündigung

Einklappen
Keine Ankündigung bisher.

Fehler in Gr_Radiostatus - PHP Fusion 7

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • DJ_Scotty
    hat ein Thema erstellt Fehler in Gr_Radiostatus - PHP Fusion 7.

    Fehler in Gr_Radiostatus - PHP Fusion 7

    Hallo,

    ich hoffe das mir hier jemand helfen kann.
    Ich habe auf einer Webseite ein Modul, welches einen Radio Stream Server abfragt. Die DJ's hinterlegen beim Senden in einen Imfo feld für IRC ihren DJ Name, das script liest diesen und zeigt dann auf der HP an wer gerade sendet.
    Das funktioniert auch alles.

    Aber wenn keiner Sendet läuft ein Autostream, bei diesem kann man leider nix in das IRC Feld eingeben.

    Wenn das script dort nix findet gibt es eine fehlermeldung, die das design der page auseinander zieht.

    PHP-Code:
    .../infusions/gr_radiostatus_panel/gr_radiostatus_class.php on line 87 
    In Line 87 steht dieser abfrage code:

    PHP-Code:
    86    function GetIRC() {
    87        return($this->values[$this->indexes["IRC"][0]]["value"]); 
    Ich habe nicht viel ahnung von PHP, aber es muss doch möglich sein das script so zu ändern, das es wenn es keine daten bei IRC findet vielleicht automatisch alternativ die daten aus dem Stream Titel (SERVERTITLE) verwendet oder einfach nur statt der Fehlermeldung "Autostream" anzeigt.

    Hier nochmal der komplette code:

    PHP-Code:
    <?php
    /*-------------------------------------------------------+
    | PHP-Fusion Content Management System
    | Copyright © 2002 - 2008 Nick Jones
    | http://www.php-fusion.co.uk/
    +--------------------------------------------------------+
    | Title: Gr_Radiostatus v1.0 for PHP-Fusion 7
    | Filename: gr_radiostatus_admin.php
    | Author: Ralf Thieme
    | Webseite: www.granade.eu
    +--------------------------------------------------------+
    | This program is released as free software under the
    | Affero GPL license. You can redistribute it and/or
    | modify it under the terms of this license which you
    | can read by viewing the included agpl.txt or online
    | at www.gnu.org/licenses/agpl.html. Removal of this
    | copyright header is strictly prohibited without
    | written permission from the original author(s).
    +--------------------------------------------------------*/
    if (!defined("IN_FUSION")) { die("Access Denied"); }

    class 
    SHOUTcast {
        var 
    $SHOUTcastData;
        var 
    $error;
        
        function 
    GetStatus($ip$port$pw) {
            
    error_reporting(0);
            
    $fp fsockopen($ip$port$errno$errstr1);
            if (!
    $fp) {
                
    error_reporting(E_ALL);
                
    $this->error "$errstr ($errno)";
                return(
    0);
            } else {
                
    error_reporting(E_ALL);
                
    socket_set_timeout($fp2);
                
    fputs($fp"GET /admin.cgi?pass=".$pw."&mode=viewxml HTTP/1.0\r\n");
                
    fputs($fp"User-Agent: Mozilla\r\n\r\n");
                while (!
    feof($fp)) {
                    
    $this->SHOUTcastData .= fgets($fp512);
                }
                
    fclose($fp);
                if (
    stristr($this->SHOUTcastData"HTTP/1.0 200 OK") == true) {
                    
    $this->SHOUTcastData trim(substr($this->SHOUTcastData42));
                } else {
                    
    $this->error "Bad login";
                    return(
    0);
                }
                
    $xmlparser xml_parser_create('ISO-8859-1');
                if (!
    xml_parse_into_struct($xmlparser$this->SHOUTcastData$this->values$this->indexes)) {
                    
    $this->error "Unparsable XML";
                    return(
    0);
                }
                
    xml_parser_free($xmlparser);
                return(
    1);
            }
        }
        
        function 
    GetCurrentListeners() {
            return(
    $this->values[$this->indexes["CURRENTLISTENERS"][0]]["value"]);
        }

        function 
    GetPeakListeners() {
            return(
    $this->values[$this->indexes["PEAKLISTENERS"][0]]["value"]);
        }

        function 
    GetMaxListeners() {
            return(
    $this->values[$this->indexes["MAXLISTENERS"][0]]["value"]);
        }

        function 
    GetServerGenre() {
            return(
    $this->values[$this->indexes["SERVERGENRE"][0]]["value"]);
        }
        
        function 
    GetServerURL() {
            return(
    $this->values[$this->indexes["SERVERURL"][0]]["value"]);
        }
        
        function 
    GetServerTitle() {
            return(
    $this->values[$this->indexes["SERVERTITLE"][0]]["value"]);
        }
        
        function 
    GetCurrentSongTitle() {
            return(
    $this->values[$this->indexes["SONGTITLE"][0]]["value"]);
        }
        
        function 
    GetIRC() {
            return(
    $this->values[$this->indexes["IRC"][0]]["value"]);
        }
        
        function 
    GetAIM() {
            return(
    $this->values[$this->indexes["AIM"][0]]["value"]);
        }
        
        function 
    GetICQ() {
            return(
    $this->values[$this->indexes["ICQ"][0]]["value"]);
        }

        function 
    GetStreamStatus() {
            return(
    $this->values[$this->indexes["STREAMSTATUS"][0]]["value"]);
        }
        
        function 
    GetBitRate() {
            return(
    $this->values[$this->indexes["BITRATE"][0]]["value"]);
        }
        
        function 
    GetSongHistory() {
            for(
    $i=1;$i<sizeof($this->indexes['TITLE']);$i++) {
                
    $arrhistory[$i-1] = array(
                    
    "playedat"=>$this->values[$this->indexes['PLAYEDAT'][$i]]['value'],
                    
    "title"=>$this->values[$this->indexes['TITLE'][$i]]['value']
                );
            }
            return(
    $arrhistory);
        }

        function 
    GetError() { return($this->error); }
    }
    ?>

  • Momi
    antwortet
    Neue Version verfügbar

    Auf http://www.granade.eu ist mittlerweile der Gr. Radiostatus 2.5 verfügbar.

    Guggst du hier: http://www.granade.eu/scripte/radiostatus.html

    Ist auf summerbeach-radio.de auch im einsatz und ist viel komfortabler zu handlen als die 1.0 versio. Streamkick funktion wurde mit eingebunden und wunsch und grussbox wurde verfeinert.

    Erneuerungen gibt es im Bereich Grußbox (wählbar, ob Popup / Administration verbessert), Titel Update Modifizierung (danke an Prugnator), aber auch die Themes wurden noch einmal überarbeitet. Achtung, falls ihr dann schon Umbauten vorgenommen habt!!!

    Neues gibt es im Adminbereich des Radiostatus, hier wurden Haupteinstellungen hinzugefügt, um noch mehr Individuelles hineinzubringen. Sichtbar ab PHP-Fusion 7.01!

    Als Nächstes wurde noch "Streamboxen" hinzugefügt ähnlich wie die auf der linken Seite von PureSoundRadio. Einfach ein wenig herum experimentieren und testen.

    So, den Rest verrate ich euch nicht, schaut euch etwas um. Es wurden zum Beispiel noch Wünsche aus dem Forum mit umgesetzt.

    Mit freundlichen Grüßen
    Euer granade.eu Team

    Einen Kommentar schreiben:


  • DJ_Scotty
    antwortet
    Zitat von Manko10 Beitrag anzeigen
    Und bitte auch nicht ignorieren:

    Themenmoderation:
    [→] Verschoben in Quarantäne
    Hatte den Titel schonmal geändert, wurde wohl nicht übernommen. Hab Ihn jetzt nochmal geändert, hoffe er ist so OK.

    Und dann nochmal Danke an alle hier für die Großartige hilfe, die Variante von Griiith (siehe unten) funktioniert. Hab alles getestet. Musste nur auf PHP 5 umstellen.

    Zitat von Griffith Beitrag anzeigen
    Bitte immer die komplette Fehlermeldung posten und nicht nur das Ende.

    So könnte eine schnelle Anpassung aussehen, falls es das ist, was du meintest.
    PHP-Code:
    22 class SHOUTcast {
    23    const DEFAULT_IRC "Autostream";

    86    function GetIRC() { 
    87        return isset($this->values[$this->indexes["IRC"][0]]["value"])
    88            $this->values[$this->indexes["IRC"][0]]["value"]
    89            self::DEFAULT_IRC
    Ansonsten wärs hilfreich, wenn wir eine Beispiel-XML bekommen, die der Server liefert.

    Einen Kommentar schreiben:


  • Manko10
    antwortet
    Und bitte auch nicht ignorieren:
    Zitat von Manko10 Beitrag anzeigen
    Dein Thread-Titel ist schlecht bzw. unglücklich gewählt. Bitte ändere diesen und beachte dabei Bitte aussagekräftige Threadtitel verwenden
    Themenmoderation:
    [→] Verschoben in Quarantäne

    Einen Kommentar schreiben:


  • DJ_Scotty
    antwortet
    Habe jetzt auf PHP 5..... umgestellt durch diese .htaccess, mit dem ersten vorschlag von Griffith kommt jetzt keine Fehlermeldung mehr trotz Autostream.
    Jetzt muss ich blos abwarten bis ein DJ sendet, damit ich sehe ob der dann noch angezeigt wird. Ich werde dann auf jeden fall bescheid geben.

    Einen Kommentar schreiben:


  • Asipak
    antwortet
    Ist das Thema damit erledigt?

    Bitte nicht ignorieren: http://www.php.de/517118-post9.html.

    Einen Kommentar schreiben:


  • DJ_Scotty
    antwortet
    Stimmt, das mit der .htaccess hatte ich bei ner anderen Webseite gemacht.

    Einfach die Datei ins verzeichniss setzen wo die Webseite ist. Der Inhalt der datei ist:
    PHP-Code:
    AddType x-mapp-php5 .php
    AddHandler x
    -mapp-php5 .php 

    Einen Kommentar schreiben:


  • DJ_Scotty
    antwortet
    Zitat von Paul.Schramenko Beitrag anzeigen
    Naja wenn du die Beispiele von denen ausprobierst solltest du schon daruaf achten, dass die Syntax auch richtig ist, bei dem einen Haste irgendwo ne offene geschweifte Klammer vergessen und beim zweiten nen Semikolon [für die ungebildeteten: ";" ]
    Deine Fehlermeldung beruht darauf, dass du auf einen Index zugreifst(in einem Array), welcher nicht definiert ist!
    Hab nochmal nachgeschaut, hatte bei einem Beispiel wirklich ne klammer vergessen. Aber nun kam wieder die erste Fehlermeldung, die vor der änderung da war.
    PHP-Code:
    Undefined indexvalue 

    Einen Kommentar schreiben:


  • Paul.Schramenko
    antwortet
    Bei 1&1 kannste ganz einfach über eine .htaccess Datei auf PHP5 umstellen. Hatte mal bei denen auch was auf dem Webspace machen müssen, daher weiß ich das!
    Ich schau mal ob ich noch irgendwo stehen hab was du da machen musst...

    Einen Kommentar schreiben:


  • DJ_Scotty
    antwortet
    Zitat von woskamp Beitrag anzeigen
    das schreit nach einem update
    Falls Du die PHP Version meinst, hab den Webspace bei 1&1 und keinen einfluss auf Updates.

    Einen Kommentar schreiben:


  • woskamp
    antwortet
    das schreit nach einem update

    Einen Kommentar schreiben:


  • Manko10
    antwortet
    Dein Thread-Titel ist schlecht bzw. unglücklich gewählt. Bitte ändere diesen und beachte dabei Bitte aussagekräftige Threadtitel verwenden

    Einen Kommentar schreiben:


  • DJ_Scotty
    antwortet
    Hier ist meine PHP Info!

    Einen Kommentar schreiben:


  • Paul.Schramenko
    antwortet
    Naja wenn du die Beispiele von denen ausprobierst solltest du schon daruaf achten, dass die Syntax auch richtig ist, bei dem einen Haste irgendwo ne offene geschweifte Klammer vergessen und beim zweiten nen Semikolon [für die ungebildeteten: ";" ]
    Deine Fehlermeldung beruht darauf, dass du auf einen Index zugreifst(in einem Array), welcher nicht definiert ist!

    Einen Kommentar schreiben:


  • lstegelitz
    antwortet
    Da auf tief verschachtelte Informationen zugegriffen wird, muss man ALLE Bestandteile auf vorhandensein und Gültigkeit überprüfen:

    - ist $this->values vorhanden, ist es ein Array, hat es Einträge?
    - ist $this->indexes vorhanden, ist es ein Array, hat es einen key "IRC"?
    - liegt unterhalb von $this->indexes['IRC'] ein Array, hat es einen Eintrag an Stelle 0?
    - liegt unterhalb von $this->indexes['IRC'][0] ein Array, hat es einen Eintrag "value"?
    - gibt es einen Wert in $this->values and der Position, die durch $this->indexes['IRC'][0]['values'] bestimmt wird?

    edit: korrigiert, es heisst $this->indexes

    Einen Kommentar schreiben:

Lädt...
X