Thread Verfasser: Wickie
Thread ID: 772
Thread Info
Es gibt 8 Beiträge zu diesem Thema, und es wurde 6609 Mal angesehen.
 Thema drucken
Panel erstellen für IceCast-Server-Daten
Wickie
Hallo,

ich habe da ein Problem. ich möchte ein Panel erstellen, in welchen IceCast-Serverdaten (Zuhörerzahl) angezeigt werden. Wenn ich eine eigene Seite anlege, so funktioniert das Script einwandfrei, nur per Panel nicht.

So sieht das Script aus



?>
// (c) Aicke Köhler, streamfirma.de
function get_icecast_info($server_ip, $server_port, $admin_user, $admin_password) {
  $index = @file_get_contents("http://".$admin_user.":".$admin_password."@".
                              $server_ip.":".$server_port."/admin/stats.xml");

  if($index) {
    $xml = new DOMDocument();
    if(!$xml->loadXML($index)) return false;
    $arr = array();
    $listItem = $xml->getElementsByTagName("source");
    foreach($listItem as $element) {
        if($element->childNodes->length) {
            foreach($element->childNodes as $i) {
                $arr[$element->getAttribute("mount")][$i->nodeName] = $i->nodeValue;
            }
        }
    }
    return $arr;
  } return false;
}

$arr = get_icecast_info("server_id", "server_port", "admin_user", "admin_password");
foreach($arr as $mount => $stats) echo "Auf dem Mountpoint ".$mount." befinden sich ".$stats["listeners"]." Listener!<br />";
<?php


Wenn ich dies in ein Panel packe, kann ich dann im Panel das ganze Script lesen, aber nicht das was angezeigt werden soll. Wie gesagt, als eigene Seite funktioniert dieser. Vielleicht kann mir einer weiterhelfen und vielleicht dieses Script noch erweitern, das der gerade laufende Titel angezeigt wird. Danke.

Gruß
Vico
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Wemi
Einfach mal die erste und die letzte tauschen.

Also ?> zu <?php

und <?php zu ?> ändern.
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Wickie
habe ich auch schon, dann kommt folgende Fehlermeldung.


Parse error: syntax error, unexpected '<' in /var/www/v2740/html/administration/panel_editor.php(153) : eval()'d code on line 2

Bearbeitet von Wickie am 18. Februar 2016 18:39:01
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Septron
Hallo,

versuch es mal so:


Unter Administration -> System -> Panel ->Panel hinzufügen

openside("name");

// (c) Aicke Köhler, streamfirma.de
function get_icecast_info($server_ip, $server_port, $admin_user, $admin_password) {
  $index = @file_get_contents("http://".$admin_user.":".$admin_password."@".
                              $server_ip.":".$server_port."/admin/stats.xml");

  if($index) {
    $xml = new DOMDocument();
    if(!$xml->loadXML($index)) return false;
    $arr = array();
    $listItem = $xml->getElementsByTagName("source");
    foreach($listItem as $element) {
        if($element->childNodes->length) {
            foreach($element->childNodes as $i) {
                $arr[$element->getAttribute("mount")][$i->nodeName] = $i->nodeValue;
            }
        }
    }
    return $arr;
  } return false;
}

$arr = get_icecast_info("server_id", "server_port", "admin_user", "admin_password");
foreach($arr as $mount => $stats) echo "Auf dem Mountpoint ".$mount." befinden sich ".$stats["listeners"]." Listener!<br />";

closeside();


als datei:


<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2016 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| Filename: testdatei.php
| Author: Testauthor
+--------------------------------------------------------+
| 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).
+--------------------------------------------------------*/
openside("name");

// (c) Aicke Köhler, streamfirma.de
function get_icecast_info($server_ip, $server_port, $admin_user, $admin_password) {
  $index = @file_get_contents("http://".$admin_user.":".$admin_password."@".
                              $server_ip.":".$server_port."/admin/stats.xml");

  if($index) {
    $xml = new DOMDocument();
    if(!$xml->loadXML($index)) return false;
    $arr = array();
    $listItem = $xml->getElementsByTagName("source");
    foreach($listItem as $element) {
        if($element->childNodes->length) {
            foreach($element->childNodes as $i) {
                $arr[$element->getAttribute("mount")][$i->nodeName] = $i->nodeValue;
            }
        }
    }
    return $arr;
  } return false;
}

$arr = get_icecast_info("server_id", "server_port", "admin_user", "admin_password");
foreach($arr as $mount => $stats) echo "Auf dem Mountpoint ".$mount." befinden sich ".$stats["listeners"]." Listener!<br />";

closeside();

?>


lg Septron
Rechtschreibfehler und Fehlende Satzzeichen sind eine Sünde meiner
Gedanklichen Tastatur wer alle findet darf sie behalten.
Domain Owner of: SGI Fusion | PHPFusion-SupportClub | PHPFusion Germany | IUP Testseite | v9 DE Mod Testseite
Information:
PHP Version: 8.2.x •  MySQL Version: 5.7 •  PHP-Fusion: IUP-FIX-PHP8
 
Wickie
Funktioniert, Danke.
Nur als Datei will das nicht so recht, es wird zwar gefunden als "listener_panel", aber die Anzeige ist gleich null. Aber das obere reicht ja auch schon hin, daher nochmals Danke.

lg
Wickie
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Septron
Hallo,

als eigenes panel sollte es so aussehen:

Zitat


-root
-infusions
--icecast_panel
---icecast_panel.php


dann funktioniert es auch Wink

lg Septron
Rechtschreibfehler und Fehlende Satzzeichen sind eine Sünde meiner
Gedanklichen Tastatur wer alle findet darf sie behalten.
Domain Owner of: SGI Fusion | PHPFusion-SupportClub | PHPFusion Germany | IUP Testseite | v9 DE Mod Testseite
Information:
PHP Version: 8.2.x •  MySQL Version: 5.7 •  PHP-Fusion: IUP-FIX-PHP8
 
Wickie
Hab den Pfad jetzt mal so angelegt, wie beschrieben. Es funktioniert :YAHOO:
Allerdings hätte es auch vorher funktioniert, ich hatte nur einen Fehler gemacht, ich hatte bei "Inhalt" hinter openside nochmal den Namen eingegeben :@ das sollte man mal sein lassen Dickeslachen

Danke für die schnelle hilfe

Gruß
Wickie
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
toni73
wo muss ich da die daten zu meim server eintragen
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Springe ins Forum: