Fehlermedlung mit dem RSS Modul von x28.de

Gesperrt
Zauberfee
Beiträge: 20
Registriert: Di 7. Dez 2004, 10:21
Wohnort: Grafschaft
Kontaktdaten:

Fehlermedlung mit dem RSS Modul von x28.de

Beitrag von Zauberfee » Sa 26. Feb 2005, 16:44

Hallo,
ich habe eben das RSS Modul eingefügt von x28.de.
Leider erhalte ich nun eine Fehlermeldung beim Aufruf der Seite:

Code: Alles auswählen

Warning: fopen(www.swr3.de/rdf-feed/wetter/): failed to open stream: No such file or directory in /www/htdocs/boxster/contenido/external/cafeRSS/cafeRSS.php on line 99

(error displaying RSS feed)
Was habe ich falsche gemacht? :(
Die URL habe ich wie folgt angegeben:

Code: Alles auswählen

www.swr3.de/rdf-feed/wetter/
Die Anzahl der Meldung auf 5 beschränkt.

Tja irgendwas stimmt nicht und ich weiß nicht was.

Lieben Dank für eure Hilfe und viele Grüße
Petra 8)
Jeder Anfang ist schwer! Ein Dankeschön für jede Hilfe! :-)

FrankHoffmann
Beiträge: 149
Registriert: Sa 21. Jun 2003, 14:03
Kontaktdaten:

Beitrag von FrankHoffmann » Sa 26. Feb 2005, 17:01

Benutzt Du template_file oder template_string?
ccccccccc

Zauberfee
Beiträge: 20
Registriert: Di 7. Dez 2004, 10:21
Wohnort: Grafschaft
Kontaktdaten:

Beitrag von Zauberfee » Sa 26. Feb 2005, 18:17

FrankHoffmann hat geschrieben:Benutzt Du template_file oder template_string?
Hallo Frank,
wo kann ich das sehen??? Keine Ahnung :oops:

Liebe Grüße Petra
Jeder Anfang ist schwer! Ein Dankeschön für jede Hilfe! :-)

FrankHoffmann
Beiträge: 149
Registriert: Sa 21. Jun 2003, 14:03
Kontaktdaten:

Beitrag von FrankHoffmann » So 27. Feb 2005, 10:11

in der Datei cafeRSS.php ziemlich zu Beginn werden die Variablen gefüllt.

Code: Alles auswählen

var $template_string = '<ul id=rsslist>{rss_items}<li><a href="{$rss_item_link}" target="_self">{$rss_item_title}<br>{$rss_item_description}</a></li>{/rss_items}</ul>';
var $template_file = '';
Ich habe mehrfach Probleme festgestellt, wenn nicht der string sonder file benutzt wird.

Gruß
Frank

Zauberfee
Beiträge: 20
Registriert: Di 7. Dez 2004, 10:21
Wohnort: Grafschaft
Kontaktdaten:

Beitrag von Zauberfee » So 27. Feb 2005, 22:24

Hallo Frank,
in meiner PHP-Datei stehen beide Begriffe? :shock: Aber der Anfang sieht anders aus! Nämlich so:

Code: Alles auswählen

class cafeRSS {

        var $url;
        var $debugtimer;

        /* defaut values */
        var $items = 'all';
        var $template_string = '';
        var $template_file = 'cafeRSS_template.txt';
        var $use_cache = 0;
        var $cache_dir = 'cafeRSS_cache'; # if you want to cache, chmod a directory 777 and put its name here
        var $refresh_time = 900; # in seconds - has no effect if $use_cache = 0;
        var $echo = 1;
        var $debug = 0;


        /* usage: $this->assign('var','value'); */

        function assign($var, $value) {
                $this->$var = $value;
        }
 /* usage: $this->display('url' [, those optional parameters below ]); */

        function display($rss_file = 'blah', $rss_items = 'blah', $rss_template_string = 'blah', $rss_template_file = 'blah', $rss_use_cache= 'blah', $rss_cache_dir = 'blah', $rss_refresh_time = 'blah', $rss_echo = 'blah', $rss_debug = 'blah') {

                if ($rss_file == 'blah') { $rss_file = $this->url; }
                if ($rss_items == 'blah') { $rss_items = $this->items; }
                if ($rss_template_string == 'blah') { $rss_template_string = $this->template_string; }
                if ($rss_template_file == 'blah') { $rss_template_file = $this->template_file; }
                if ($rss_use_cache == 'blah') { $rss_use_cache = $this->use_cache; }
                if ($rss_cache_dir == 'blah') { $rss_cache_dir = $this->cache_dir; }
                if ($rss_refresh_time == 'blah') { $rss_refresh_time = $this->refresh_time; }
                if ($rss_echo == 'blah') { $rss_echo = $this->echo; }
                if ($rss_debug == 'blah') { $rss_debug = $this->debug; }

                $rss_cache_file = $rss_cache_dir.'/'.preg_replace('/[^a-zA-Z0-9_\.-]/', '_', $rss_file).'.cache';


                if (preg_match('/</', $rss_file)) {
                        $content = $rss_file;
                } else {


                        /* the secret cache ops, part I */

                        $isCached = false;
                        if (($rss_cache_dir != '') && ($rss_use_cache)) {
                                clearstatcache();
                                $get_rss = 1;
                                $cache_rss = 1;
                                if (file_exists($rss_cache_file)) {
                                        if ((time() - filemtime($rss_cache_file)) < $rss_refresh_time) {
                                                $this->timer_start();
                                                $f = fopen($rss_cache_file, 'r');
                                                $content = fread($f, filesize($rss_cache_file));
                                                fclose($f);
                                                $debugfopencachetime = $this->timer_stop(0);
                                                $get_rss = 0;
                                                $isCached = true;
                                        }
                                }
                        } else {
                                $get_rss = 1;
                                $cache_rss = 0;
                        }


                        /* opens the RSS file */

                        $this->timer_start();
                        if ($get_rss) {
                                $f = fopen($rss_file,'r') or $nocon = true;
                                if ($nocon)
                                {
                                        echo '<p><i>(error displaying RSS feed)</i></p>';
                                        return;
                                }
                                while (!feof($f)) {
                                        $content .= fgets($f, 4096);
                                }
                                fclose($f);
                        }
                        $debugfopentime = $this->timer_stop(0);


                        /* the secret cache ops, part II */

                        if (($cache_rss) && ($rss_use_cache) && (!$isCached)) {
                                $this->timer_start();
                                $f = fopen($rss_cache_file, 'w+');
                                fwrite($f, $content);
                                fclose($f);
                                $debugcachetime = $this->timer_stop(0);
                        } else {
                                $debugcachetime = 0;
                        }

                }


                /* gets RSS channel info and RSS items info */

                $this->timer_start();
                preg_match_all("'<channel>(.+?)<title>(.*?)</title>(.+?)</channel>'si",$content,$rss_title);
                preg_match_all("'<channel>(.+?)<link>(.*?)</link>(.+?)</channel>'si",$content,$rss_link);
                preg_match_all("'<channel>(.+?)<description>(.*?)</description>(.+?)</channel>'si",$content,$rss_description);
                preg_match_all("'<channel>(.+?)<lastBuildDate>(.*?)</lastBuildDate>(.+?)</channel>'si",$content,$rss_lastBuildDate);
                preg_match_all("'<channel>(.+?)<docs>(.*?)</docs>(.+?)</channel>'si",$content,$rss_docs);
                preg_match_all("'<channel>(.+?)<managingEditor>(.*?)</managingEditor>(.+?)</channel>'si",$content,$rss_managingEditor);
                preg_match_all("'<channel>(.+?)<webMaster>(.*?)</webMaster>(.+?)</channel>'si",$content,$rss_webMaster);
                preg_match_all("'<channel>(.+?)<language>(.*?)</language>(.+?)</channel>'si",$content,$rss_language);
                preg_match_all("'<image>(.+?)<title>(.*?)</title>(.+?)</image>'si",$content,$rss_image_title);
                preg_match_all("'<image>(.+?)<url>(.*?)</url>(.+?)</image>'si",$content,$rss_image_url);
                preg_match_all("'<image>(.+?)<link>(.*?)</link>(.+?)</image>'si",$content,$rss_image_link);
                preg_match_all("'<item>(.+?)<title>(.*?)</title>(.+?)</item>'si",$content,$rss_item_titles);
                preg_match_all("'<item>(.+?)<link>(.*?)</link>(.+?)</item>'si",$content,$rss_item_links);
                preg_match_all("'<item>(.+?)<description>(.*?)</description>(.+?)</item>'si",$content,$rss_item_descriptions);
                $rss_title = $rss_title[2][0];
                $rss_link = $rss_link[2][0];
                $rss_description = $rss_description[2][0];
                $rss_lastBuildDate = $rss_lastBuildDate[2][0];
                $rss_docs = $rss_docs[2][0];
                $rss_managingEditor = $rss_managingEditor[2][0];
                $rss_webMaster = $rss_webMaster[2][0];
                $rss_language = $rss_language[2][0];
                $rss_image_title = $rss_image_title[2][0];
                $rss_image_url = $rss_image_url[2][0];
                $rss_image_link = $rss_image_link[2][0];
                $debugparsersstime = $this->timer_stop(0);



                /* gets the template */

                $this->timer_start();
                if (empty($rss_template_string)) {
                        $f = fopen($rss_template_file,'r');
                        $rss_template = fread($f, filesize($rss_template_file));
                        fclose($f);
                } else {
                        $rss_template = $rss_template_string;
                }
                $debugfopentemplatetime = $this->timer_stop(0);
                preg_match_all("'{rss_items}(.+?){/rss_items}'si",$rss_template,$rss_template_loop);
                $rss_template_loop = $rss_template_loop[1][0];

                $rss_template = str_replace('{rss_items}','',$rss_template);
                $rss_template = str_replace('{/rss_items}','',$rss_template);



                /* processes the template - rss channel info */

                $this->timer_start();
                $rss_template = str_replace('{$rss_title}',$rss_title, $rss_template);
                $rss_template = str_replace('{$rss_link}',$rss_link, $rss_template);
                $rss_template = str_replace('{$rss_description}',$rss_description, $rss_template);
                $rss_template = str_replace('{$rss_lastBuildDate}',$rss_lastBuildDate, $rss_template);
                $rss_template = str_replace('{$rss_docs}',$rss_docs, $rss_template);
                $rss_template = str_replace('{$rss_managingEditor}',$rss_managingEditor, $rss_template);
                $rss_template = str_replace('{$rss_webMaster}',$rss_webMaster, $rss_template);
                $rss_template = str_replace('{$rss_language}',$rss_language, $rss_template);



                /* processes the template - rss image info */

                if ($rss_image_url != '') {
                        $rss_template = str_replace('{rss_image}','',$rss_template);
                        $rss_template = str_replace('{/rss_image}','',$rss_template);
                        $rss_template = str_replace('{$rss_image_title}',$rss_image_title, $rss_template);
                        $rss_template = str_replace('{$rss_image_link}',$rss_image_link, $rss_template);
                        $rss_template = str_replace('{$rss_image_url}',$rss_image_url, $rss_template);
                } else {
                        $rand = md5(rand(1,5)); /* now there's an ugly hack that I'll have to fix */
                        $rss_template = preg_replace('/(\015\012)|(\015)|(\012)/', $rand, $rss_template);
                        $rss_template = preg_replace('/{rss_image}(.*?){\/rss_image}/', '', $rss_template);
                        $rss_template = preg_replace("/$rand/", "\n", $rss_template);
                }



                /* processes the template - rss items info */

                $rss_template_loop_processed = '';
                $k = count($rss_item_titles[2]);
                $j = (($rss_items == 'all') || ($rss_items > $k)) ? $k : intval($rss_items);
                for ($i = 0; $i<$j; $i++) {
                        $tmp_template = $rss_template_loop;
                        $tmp_title = $rss_item_titles[2][$i];
                        $tmp_link = $rss_item_links[2][$i];
                        $tmp_description = $rss_item_descriptions[2][$i];
                        if ($tmp_description == '') {
                                $tmp_description = '-';
                        }
                        if ($tmp_title == '') {
                                $tmp_title = substr($tmp_description,0,20);
                                if (strlen($tmp_description) > 20) {
                                        $tmp_title .= '...';
                                }
                        }
                        $tmp_template = str_replace('{$rss_item_title}',$tmp_title, $tmp_template);
                        $tmp_template = str_replace('{$rss_item_link}',$tmp_link, $tmp_template);
                        $tmp_template = str_replace('{$rss_item_description}',$tmp_description, $tmp_template);
                        $rss_template_loop_processed .= $tmp_template;
                }
                $rss_template = str_replace($rss_template_loop, $rss_template_loop_processed, $rss_template);
                $debugprocesstemplatetime = $this->timer_stop(0);

                clearstatcache();


                /* echoes or returns the processed template :) */

                if ($rss_echo) {
                        echo $rss_template;
                        if ($rss_debug) {
                                echo '<p>';
                                echo $debugfopentime.' seconds to load the remote RSS file.<br />';
                                echo $debugparsersstime.' seconds to parse the RSS.<br />';
                                echo $debugfopentemplatetime.' seconds to load the template file.<br />';
                                echo $debugprocesstemplatetime.' seconds to process the template.<br />';
                                if ($cache_rss) {
                                        echo $debugcachetime.' seconds to cache the parsing+processing.<br />';
                                }
                                echo '<br />';
                                $debugtotaltime = ($debugfopentime+$debugparsersstime+$debugfopentemplatetime+$debugfopentemplatetime+$debugprocesstemplatetime+$debugcachetime);
                                echo 'Total: '.$debugtotaltime.' seconds.';
                                echo '</p>';
                        }
                } else {
                        return $rss_template;
                }

        }

        function timer_start() {
                $mtime = microtime();
                $mtime = explode(" ",$mtime);
                $mtime = $mtime[1] + $mtime[0];
                $this->debugtimer = $mtime;
                return true;
        }

        function timer_stop($display=0,$precision=3) {
                $mtime = microtime();
                $mtime = explode(" ",$mtime);
                $mtime = $mtime[1] + $mtime[0];
                $this->debugtimer = $mtime - $this->debugtimer;
                if ($display)
                        echo number_format($this->debugtimer,$precision);
                return($this->debugtimer);
        }

}

?>
Meine PHP-Datei habe ich von der x28Site so gedownloadet!? Wäre es nicht einfacher Du postest die cafeRSS.php hier wie sie funktioniert???


Vielen Dank für deine Mühe und einen schönen Restsonntagabend
Petra :wink:
Jeder Anfang ist schwer! Ein Dankeschön für jede Hilfe! :-)

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » So 27. Feb 2005, 22:41

ich glaube, die URL mußt du mit http:// davor angeben...

Zauberfee
Beiträge: 20
Registriert: Di 7. Dez 2004, 10:21
Wohnort: Grafschaft
Kontaktdaten:

Beitrag von Zauberfee » Mo 28. Feb 2005, 07:56

timo hat geschrieben:ich glaube, die URL mußt du mit http:// davor angeben...
Guten Morgen Timo,
danke für den Hinweis. Das habe ich auch versucht. Dann kommt folgende Fehlermeldung:

Code: Alles auswählen

Warning: fopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /www/htdocs/boxster/contenido/external/cafeRSS/cafeRSS.php on line 80

Warning: fopen(http://http://www.swr3.de/rdf-feed/wetter/index.php): failed to open stream: Success in /www/htdocs/boxster/contenido/external/cafeRSS/cafeRSS.php on line 80

(error displaying RSS feed)
Irgendwie ist das verzwickt mit den Fehlermeldungen! :?

Viele Grüße und einen schönen Tag
Petra
Jeder Anfang ist schwer! Ein Dankeschön für jede Hilfe! :-)

FrankHoffmann
Beiträge: 149
Registriert: Sa 21. Jun 2003, 14:03
Kontaktdaten:

Beitrag von FrankHoffmann » Mo 28. Feb 2005, 20:50

@Zauberfee:

Du solltest hier:

Code: Alles auswählen

      
var $items = 'all';
var $template_string = '';
var $template_file = 'cafeRSS_template.txt'; 
die Variable $template_string füllen, dann wird es funktionieren. Bei mir hat es auch nie mit $template_file geklappt.

Gruß
Frank

Zauberfee
Beiträge: 20
Registriert: Di 7. Dez 2004, 10:21
Wohnort: Grafschaft
Kontaktdaten:

Beitrag von Zauberfee » Fr 4. Mär 2005, 08:28

Hallo Frank,
vielen Dank für deine Hilfe und Geduld!
Die RSS-Nachrichten sind jetzt online! *FREU*
Der Fehler lag darin, dass ich dachte dieses Modul könnte alle Nachrichten die im RSS-Scout sind anzeigen.
Es zeigt aber nur gewisse Nachrichten an!
:oops: Sorry für mein Generve!!!

Viele Grüße und einen schönen Tag
Petra 8)
Jeder Anfang ist schwer! Ein Dankeschön für jede Hilfe! :-)

FrankHoffmann
Beiträge: 149
Registriert: Sa 21. Jun 2003, 14:03
Kontaktdaten:

Beitrag von FrankHoffmann » Fr 4. Mär 2005, 08:38

Hallo Petra,

es gibt - meine ich - auch schon eine neue Version von cafeRSS. Vielleicht zeigt die auch noch den Rest an :wink:

Gruß aus dem kalten Norden (- 17 Grad!)
Frank

Zauberfee
Beiträge: 20
Registriert: Di 7. Dez 2004, 10:21
Wohnort: Grafschaft
Kontaktdaten:

Beitrag von Zauberfee » Fr 4. Mär 2005, 09:17

Hallo Frank,
wirklich!!!! :shock:
Das wäre ja genial!!!
Ist diese Version jetzt auf eurer Seite zu finden?
Was muss ich ändern :?:

Viele Grüße Petra 8)
Jeder Anfang ist schwer! Ein Dankeschön für jede Hilfe! :-)

FrankHoffmann
Beiträge: 149
Registriert: Sa 21. Jun 2003, 14:03
Kontaktdaten:

Beitrag von FrankHoffmann » Fr 4. Mär 2005, 09:35

einfach mal googlen....
bei http://www.x28.de habe ich das noch nicht in das Kochbuch aufgenommen.

Gruß
Frank

hgk
Beiträge: 4
Registriert: Mi 20. Apr 2005, 15:59
Kontaktdaten:

Wieso läuft es jetzt bei dir ?

Beitrag von hgk » Mi 4. Jan 2006, 17:08

Ich habe nicht verstanden warum das Modul bei dir jetzt läuft, bei mir kommen keine Fehlermeldungen aber auch keine News ?

Gesperrt