TV Programm

Hallo Fonzo,

das werde ich machen.

Vielen Dank für deine Mühe

Wollte mal testen das TV Programm ein zubinden. Habe mir eine Variable vom Typ String angelegt, als Typ HTML-Box ausgewählt. Indem Script die Variable von der neuen Variable geändert. Bekomme aber immer eine Fehlermeldung.

Habe ich da einen Fehler gemacht?

Irgendwie müsste man eher Deinen Sytem mal grundsätzlich auf die Schliche kommen wo da das Problem ist. Das Thema mit Skripten hatten wir doch schon mal hier, und da war auch nichts auffällig warum das nicht laufen sollte. Anscheinend gibt es bei Dir aber Fehlermeldungen wo keine sein sollten. Was passiert denn wenn Du nur die erste Zeile in ein Skript kopierst, gibt es dann immer noch eine Fehlermeldung?

Hallo,

bei mir kommt diese Meldung auch. Was kann das sein???

Gruß Rene


Parse error:  syntax error, unexpected '$ausgabeVariable*' (T_VARIABLE) in C:\IP-Symcon\scripts\14094.ips.php on line 5
Abort Processing during Fatal-Error: syntax error, unexpected '$ausgabeVariable*' (T_VARIABLE)
   Error in Script C:\IP-Symcon\scripts\14094.ips.php on Line 5

Hallo Fonzo,

langsam glaube ich auch das da was nicht stimmt, nur was?
Habe mal ein Testscript erstellt mit nur einer Zeile, auch Fehlermeldung.

Mal die „Leerzeichen“ gelöscht und wieder neu hinzugefügt und dann probiert. Was da genau bei Dir schief läuft weis ich ehrlich nicht.

Fehler seit 5.5

Ich nutze das Skript

<?

// KONFIGURATION
$senderAnzahl = 1000; // Anzahl der anzuzeigenden Sender festlegen, oder für alle so lassen
$ausgabeVariable = 14129 /*[Skripte\produktiv\TV-Spielfilm\20:15\20:15\Ausgabe]*/;
$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']))  {                           /// Zeile 27
      }
      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;
}

für das Fernsehprogramm und bekomme seit IPS 5.5 den Fehler

Notice:  Trying to access array offset on value of type null in /var/lib/symcon/scripts/13537.ips.php on line 27

was muss ich da ändern?

Gruß

Oliver

Gebe dir mal die das $simpleXMLElement per var_dump oder dergleichen aus und poste das Ergebnis gerne hier. Aktuell sind das leider noch zu wenig Informationen um dem ganzen auf den Grund zu gehen.

Hallo
Probier mal diese Version

<?php

// KONFIGURATION
$senderAnzahl = 1000; // Anzahl der anzuzeigenden Sender festlegen, oder für alle so lassen
$ausgabeVariable = 14129 /*[Skripte\produktiv\TV-Spielfilm\20:15\20:15\Ausgabe]*/;
$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 oder doch
IPS_SetScriptTimer($_IPS['SELF'], $refreshtime);
$simpleXMLElement = simplexml_load_file($url, 'SimpleXMLElement', LIBXML_NOCDATA);

$objJsonDocument = json_encode($simpleXMLElement);
$arrOutput = json_decode($objJsonDocument, TRUE);

$str =  "<table width='auto'>";

$senderAnzahl = count($arrOutput['channel']['item']);   // nicht bis 1000 gehen sonder nur bis Ende

for($i=0; $i<$senderAnzahl; $i++)
{
     $item = $arrOutput['channel']['item'][$i];
    
    echo "
".$i."-" .$item['title'];

     if (is_string($item['title']))  {                           /// Zeile 27
      }
      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);


super, danke, geht wieder