TV-Programm in IPSView

Hallo zusammen,

ich habe hier schonmal nach Rat gefragt. Leider konnte Fonzo mir dabei auch nicht helfen.

Ich nutze ein Android Tablet und würde mir gerne das aktuelle TV-Programm über dieses Skript anzeigen lassen.

 <?

// KONFIGURATION
$senderAnzahl = 1000; // Anzahl der anzuzeigenden Sender festlegen, oder für alle so lassen
$ausgabeVariable = 54062 /*[Visualisierung\TV Programm\TV Spielfilm jetzt]*/;
$refreshtime = 900;  // Aktualisiert die Daten alle 15 Minuten (bei Programm für 20.15 Uhr usw. reicht einmal am Tag

// TV Spielfilm
$url = 'http://www.tvspielfilm.de/tv-programm/rss/jetzt.xml';      // TV Programm JETZT
//$url = 'http://www.tvspielfilm.de/tv-programm/rss/heute2015.xml';  // TV Programm 20.15 Uhr
//$url = 'http://www.tvspielfilm.de/tv-programm/rss/heute2200.xml';  // TV Programm 22.00 Uhr
//$url = 'http://www.tvspielfilm.de/tv-programm/rss/filme.xml';      // TV Programm SPIELFILME
//$url = 'http://www.tvspielfilm.de/news/rss.xml';                   // TV News



// AB HIER NICHTS MEHR ÄNDERN
IPS_SetScriptTimer($_IPS['SELF'], $refreshtime);
$simpleXMLElement = simplexml_load_file($url, 'SimpleXMLElement', LIBXML_NOCDATA);
$str =  "<table width='auto'>";

// Datenausgabe
for($i=0; $i<$senderAnzahl; $i++)
{
     $item = $simpleXMLElement->channel->item;
    $item = xmlToArray($item[$i]);
     if (is_string($item['title']))  {
      }
      else  {
          continue;
      }
     $titel = "<b style=color:#C00000;>".$item['title']."</b>";
     
     if (is_string($item['description']))  {
        $beschreibung = "<small>".$item['description']."</small>";
      }
      else  {
          $beschreibung = "<small></small>";
      }
     
     $text = $titel."<br>".$beschreibung."<br>";
     //$text = utf8_decode($text);
     $searchArray = $item;

     // IF-Abfrage, wenn Array zu Ende, dann abbrechen
     //if(isset($searchArray['enclosure']) != true)  {
     //   break;
     //}
     if(array_key_exists('enclosure', $searchArray))
     {
         $image = $item['enclosure']['@attributes']['url'];
        $str .= "<tr>";
        $str .= "<td width='auto'height='80px'><div><img src=$image alt='not Found'></div></td>";
        $str .= "<td width='980px'><div style='text-align:left; margin-left:10px;'>$text</div>";
        $str .= "</td></tr>
";
    }
    else
    {
        $str .= "<tr>";
        $str .= "<td></td><td width='980px'><div style='text-align:left; margin-left:10px;'>$text</div></td>";
        $str .= "</tr>
";
    }
}
$str .= "</table>
";

SetValue($ausgabeVariable, $str);


function xmlToArray($data)
{
    if(is_object($data))
    {
        $data = get_object_vars($data);
    }
      return (is_array($data)) ? array_map(__FUNCTION__,$data) : $data;
}

?> 

Aus unerklärlichen Gründen werden auf dem Android Client (IPSView) keine Bilder zu den Senden angezeigt. Öffne ich die View auf einem Windows Client (IPSView) oder über das IPSWebFront sind alle Bilder vorhanden.

Vielleicht hat hier noch jemand oder Andreas :slight_smile: eine Idee wie auch unter Android die Bilder angezeigt werden.

Beste Grüße
Kai

Hallo Kai,

ich habe das Script 1:1 übernommen und die HTML-Box in IPSView integriert.
Bei mir werden die Bilder angezeigt. :wink:

Kann es sein, dass Dein Android-Tablet keine Internetverbindung hat ?

Gruß

Swifty

Hallo Swifty,

daran liegt es anscheinend auch nicht. Hätte mich auch gewundert :rolleyes: , weil ich das Tablet hin und wieder noch für andere Sachen nutze.

Bin jetzt nochmal hergegangen und habe eine neue Testview erstellt, bleibt aber unverändert.

Könnte es an dem Tablet (Hannspad 133 Titan 2) liegen oder muss ich in Android (Version 5.1.1) noch etwas einstellen?

Beste Grüße
Kai

Update:

Ich habe IPSView jetzt auch nochmal auf einem alten Tablet installiert und die View geladen.

Dort funktioniert es… :confused: Bilder werden zu den Sendungen angezeigt.

Zumindest lässt sich das Problem eingrenzen. Jemand eine Idee was ich bei Android einstellen muss damit es auch auf dem Hannspad klappt?

Beste Grüße
Kai

Update 2.0

Ich habe beim IPS WebServer und in IPSView SSL deaktiviert und nun werden die Bilder angezeigt. :confused:

Ist das denn richtig so bzw. kann ich SSL deaktiviert lassen?

Beste Grüße
Kai

Wenn Du von extern zugreifst ist das deaktivieren keine gute Idee:eek:

Ich vermute mal, dass Android diese Images blockiert, da es sich um „mixed“ Content handelt (also http, das aus https aufgerufen wird).
Korrekt wäre es, wenn Du diese Images auch per https einbinden würdest.

[edit] hab jetzt auch noch eine Einstellung in der Android WebView entdeckt, wo man diesen mixed Content teilweise erlauben kann - werd mir das auch noch genauer ansehen …

Hallo Andreas,

vielen dank für deine Hilfe. :slight_smile:

Beste Grüße
Kai

Hallo Kai,

vielen Dank für das tolle Skript, habe es auch gleich in die View integriert. Gibt es evtl. die Möglichkeit das Ganze um weitere Sender, z.B. Sky, zu erweitern?

Grüße
Bruno

Nicht aus der Quelle, das könntest Du entweder aus einem Sat Receiver per EPG auslesen oder falls Du eine andere Quelle kennst die Sky Programm anbietet müsstetst Du das ergänzen.

Danke Fonzo,

das werd ich mal per EPG versuchen.

Grüße

@karlinho
Wie ist denn dein altes Tablet mit der View verbunden? Ich kann das hier insofern auf einem Android Handy reproduzieren, dass der IP Magic Zugriff keine Bilder bringt, der lokale Zugriff schon.

Grüße
Bruno

Hallo Bruno,
beide Tablets waren identisch über WLAN und aktiviertem SSL mit der View verbunden. Nach dem deaktivieren von SSL in der View und Webserver läuft es jetzt Problemlos. Kann ich erstmal mit leben, da ich von aussen über VPN zugreife.

Beste Grüße
Kai