RSS ohne allow_fopen_url nutzen - möglich?

stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese »

ja der aktuelle zeichensatz ist bei der sprache definiert, da ja unterschiedliche sprachen unterschiedliche zeichensätze haben.
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

probier mal in einem modul

Code: Alles auswählen

<?php
print_r($encoding);
?>
sollte da auch drinnen stehen...
*** make your own tools (wishlist :: thx)
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus »

Ok, danke, das hilft weiter!
print_r($encoding);
funktioniert, wobei es mich wundert, das der Array 3 Schlüssel enthält, die den Wert ISO8859-1 besitzen.

Gibts da n bestimmten Grund für?
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

rethus hat geschrieben:Gibts da n bestimmten Grund für?
es sind da glaub ich alle sprachen enthalten die unter administration sprachen angelegt wurden...
*** make your own tools (wishlist :: thx)
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus »

Ok, scheinst da wieder recht zu haben... hab englich mal auf utf-8 umgestellt, nun ist der 2. Eintrag in dem Array "UTF-8".

Nun bleibt nur die Frage, woher ich nun weiß, welche Codierung die Aktuelle Seite besitzt, in der das Modul seine Ausgabe erzeugt.

Denn wenn die Seite ISO8859-1 ist, müssen alle UTF-8 RSS-Feeds umgewandelt werden, andernfalls müssten ja alle ISO8859-1 in UTF-8 umgewandelt werden...

Versteht Ihr was ich meine?
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

ich weiss jetzt zwar nicht genau wie der array aussieht aber die aktuelle sprache hast du ja in der variable $lang

versuch mal

Code: Alles auswählen

echo $encoding[$lang];
*** make your own tools (wishlist :: thx)
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus »

Ok, das sollte weiterhelfen.
Vielen Dank.
kypta
Beiträge: 295
Registriert: Di 8. Jul 2003, 13:25
Kontaktdaten:

Das ganze Modul posten??

Beitrag von kypta »

Da ja immer mehr Provider "allow_fopen_url" deaktivieren wäre es echt cool, wenn Ihr den Code für das ganze Modul posten könntet. :wink:
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus »

Ok, hier ist mein angepasstes Modul.
http://www.suther.de/contenido-modules/
Das jute Stück heißt skom_RDF_Parser0.5.zip

Natürlich sind Lob und Kritik an dieser Stelle gern gesehen.
Viel Spaß damit.
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus »

PS: Ich habe heute bemerkt, das mein angepasstes modul bei allow_url_fopen = on irgendwie nicht die aktuellsten nachrichten Anzeigt.

Die Angezeigt werden, sind dann etwas älter.

Das nur als Hinweis, damit ihr das mal prüfen könnt.

Vielleicht hat ja jemand die Muße da mal nachzusehen. Mir fehlt derzeit die Zeit dazu.
wheelz
Beiträge: 13
Registriert: Mi 15. Feb 2006, 13:17
Wohnort: Hamburg
Kontaktdaten:

Beitrag von wheelz »

Hat das schon jemand unter 4.8.6 zum Laufen gebracht? Ich wollte das ausprobieren, da der alte RSS Reader bei mir nach Update nicht mehr läuft. allow_url_fopen sollte man ja wohl besser nicht auf "on" stellen.
Bekomme aber nur diese Fehlermeldung:

Code: Alles auswählen

Fatal error: Error: Can't include /homepages/35/d125498730/htdocs/***/contenido/external/cafeRSS/cafeRSS.php in /homepages/35/d125498730/htdocs/***/contenido/includes/api/functions.api.general.php on line 166
Vielleicht habe ich auch bei cafeRSS etwas falsch gemacht; ich habe das eigentlich nur in .../external auf den Server gepackt.

Oder gibt es schon irgendeine andere Möglichkeit, unter 4.8 halbwegs sicher RSS-Feeds einzubinden?
Besten Dank schon mal

MySQL 5
PHP 5
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus »

Du hast die Klasse caffeeRSS.php scheinbar nicht auf den Server geladen, oder in ein falsches Verzeichnis geladen:

Code: Alles auswählen

/contenido/external/cafeRSS/cafeRSS.php
Welche Version des Moduls hast du geladen? Meine? Die andere hat keine allow_url_fopen=off Unterstützung.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
wheelz
Beiträge: 13
Registriert: Mi 15. Feb 2006, 13:17
Wohnort: Hamburg
Kontaktdaten:

Beitrag von wheelz »

Komme leider erst jetzt dazu, mich wieder zu melden. Danke für die schnelle Antwort.
Ich hatte zunächst skom_RDF_Parser0.5 versucht. Jetzt habe ich das ganze auch noch mal mit Deinem sk_RSS_Parser durchgespielt. Zudem verschiedene Feeds getestet. Mittlerweile verfüge ich auch über eine class.Cleanrss.php :wink:. Im Ergebnis hat sich aber nicht viel verbessert:
Warning: file_put_contents(/homepages/35/d125498730/htdocs/***/contenido/external/cafeRSS/cache/www.nytimes.com_HomePage.xml) [function.file-put-contents]: failed to open stream: Datei oder Verzeichnis nicht gefunden in /homepages/35/d125498730/htdocs/***/contenido/external/cafeRSS/cafeRSS.php on line 81

Warning: fopen(/homepages/35/d125498730/htdocs/***/contenido/external/cafeRSS/cache/www.nytimes.com_HomePage.xml) [function.fopen]: failed to open stream: Datei oder Verzeichnis nicht gefunden in /homepages/35/d125498730/htdocs/***/contenido/external/cafeRSS/cafeRSS.php on line 203

Warning: touch() [function.touch]: Unable to create file /homepages/35/d125498730/htdocs/***/contenido/external/cafeRSS/cache/www.nytimes.com_HomePage.xml.cache.chk because Datei oder Verzeichnis nicht gefunden in /homepages/35/d125498730/htdocs/***/contenido/external/cafeRSS/cafeRSS.php on line 205

Warning: fopen(/homepages/35/d125498730/htdocs/***/contenido/external/cafeRSS/cache/www.nytimes.com_HomePage.xml.cache) [function.fopen]: failed to open stream: Datei oder Verzeichnis nicht gefunden in /homepages/35/d125498730/htdocs/***8/contenido/external/cafeRSS/cafeRSS.php on line 232

Warning: filesize() [function.filesize]: stat failed for /homepages/35/d125498730/htdocs/***/contenido/external/cafeRSS/cache/www.nytimes.com_HomePage.xml.cache in /homepages/35/d125498730/htdocs/***/contenido/external/cafeRSS/cafeRSS.php on line 234

Warning: fclose(): supplied argument is not a valid stream resource in /homepages/35/d125498730/htdocs/***/contenido/external/cafeRSS/cafeRSS.php on line 236
Das Problem mit der Auffindbarkeit von cafeRSS.php bleibt. cafeRSS.php liegt im richtigen Verzeichnis. Habe die neueste Version (1.7?) und die von Dir im sk_RSS_Parser mitgelieferte getestet. Verzeichnisse und Dateien stehen auf 777.
Folgenden Workaround hab ich ebenfalls erfolglos getestet:
http://forum.contenido.org/viewtopic.php?t=5153

Noch irgendwelche Ideen? Gibt es jemanden, bei dem das Modul unter 4.8 läuft?
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Problem mit manchen RSS-Feeds

Beitrag von rethus »

Hallo Leute,

hab heute etwas an dem Modul weiter rumgebastelt.
Nun habe ich das Problem, das manche Rss-Feeds nicht dargestellt werden.

Hier die Schilderung und Eingrenzung des Fehlers:

1) Im Adminbereich gebe ich den folgenden RSS-Link ein: http://www.faz.net/s/Rub4B891837ECD1408 ... ~SRss_.xml

2) eine Testausgabe in der Datei cafeRSS.php [Zeile 82, 83] via

Code: Alles auswählen

echo $rssData;
echo 'sendPostRequest('.$this->rssAdress[0].',"/".'.$this->rssAdress[1].',"");'; 
ergibt auf der Ausgabeseite eine (zugegeben bis dato für mich unbekannte Fehlermeldung (HTTP-Error405):

Code: Alles auswählen

Die Seite kann nicht angezeigt werden
Die von Ihnen gesuchte Seite kann nicht angezeigt werden, weil beim Zugriffsversuch eine ungültige Methode (HTTP-Verb) verwendet wurde.

Versuchen Sie Folgendes:

    * Wenn diese Anforderung Ihrer Meinung nach zugelassen werden sollte, wenden Sie sich an den Websiteadministrator.
    * Stellen Sie sicher, dass die in der Adresszeile des Browsers angezeigte Websiteadresse richtig geschrieben und formatiert ist.

HTTP Error 405 - The HTTP verb used to access this page is not allowed. (HTTP-Fehler 405 - HTTP-Verb für den Zugriff auf diese Seite ist unzulässig.)
Internetinformationsdienste (Internet Information Services oder IIS)

Technische Informationen (für Supportpersonal)

    * Wechseln Sie zu Microsoft Product Support Services, und suchen Sie nach den Worten "HTTP" und "405".
    * Öffnen Sie die IIS-Hilfe, die im IIS-Manager (inetmgr) zur Verfügung steht, und suchen Sie nach den Themen "Festlegen von Anwendungszuordnungen", "Sichern von Sites mithilfe von Websiteberechtigungen" und "Informationen zu benutzerdefinierten Fehlermeldungen".
Die Funktion
sendPostRequest($this->rssAdress[0],"/".$this->rssAdress[1],"");
hat ja diesen Inhalt:

Code: Alles auswählen

/**
 * sendPostRequest: Sents a HTTP POST request
 *
 * Example:
 * sendPostRequest("hostname", "serverpath/test.php", $data);
 *
 * @param $host 	Hostname or domain
 * @param $pathhost Path on the host or domain
 * @param $data		Data to send
 * @param $referer	Referer (optional)
 * @param $port		Port (default: 80)
 */
function sendPostRequest($host, $path, $data, $referer = "", $port = 80)
{
	$fp = fsockopen($host, $port);

	fputs($fp, "POST $path HTTP/1.1\n");
	fputs($fp, "Host: $host\n");
	fputs($fp, "Referer: $referer\n");
	fputs($fp, "Content-type: application/x-www-form-urlencoded\n");
	fputs($fp, "Content-length: ".strlen($data)."\n");
	fputs($fp, "Connection: close\n\n");
	fputs($fp, "$data\n");

	while (!feof($fp))
	{
		$res .= fgets($fp, 128);
	}

	fclose($fp);

	return $res;
}
Warum streikt nun der Rechner mit der Auslieferung der Daten, und wie kann ich es umgehen?
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus »

Ok, hab es rausgefunden...
Ich ändere einfach

Code: Alles auswählen

	fputs($fp, "POST $path HTTP/1.1\n");
in

Code: Alles auswählen

	fputs($fp, "GET $path HTTP/1.1\n");
Nun hat ein Test ergeben, dass die Funktion sendPostRequest in functions.general.php noch nirgendwo genutzt wird. Daher mein Wunsch für zukünftige Contenido-Versionen, diese Funktion zu erweitern, so dass wählbar ist, ob POST oder GET genutzt wird.
Oder alternativ eine weitere Funktion sendGetRequest...
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
Gesperrt