Seite 2 von 2

Verfasst: Mo 22. Mai 2006, 12:29
von stese
ja der aktuelle zeichensatz ist bei der sprache definiert, da ja unterschiedliche sprachen unterschiedliche zeichensätze haben.

Verfasst: Mo 22. Mai 2006, 12:34
von emergence
probier mal in einem modul

Code: Alles auswählen

<?php
print_r($encoding);
?>
sollte da auch drinnen stehen...

Verfasst: Mo 22. Mai 2006, 13:40
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?

Verfasst: Mo 22. Mai 2006, 13:56
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...

Verfasst: Mo 22. Mai 2006, 14:13
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?

Verfasst: Mo 22. Mai 2006, 14:52
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];

Verfasst: Mo 22. Mai 2006, 15:40
von rethus
Ok, das sollte weiterhelfen.
Vielen Dank.

Das ganze Modul posten??

Verfasst: Fr 7. Jul 2006, 15:44
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:

Verfasst: Mi 25. Apr 2007, 10:35
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.

Verfasst: Mo 6. Aug 2007, 13:23
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.

Verfasst: Mo 14. Jul 2008, 17:22
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

Verfasst: Mo 14. Jul 2008, 20:16
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.

Verfasst: Sa 19. Jul 2008, 13:28
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?

Problem mit manchen RSS-Feeds

Verfasst: Do 4. Dez 2008, 16:53
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?

Verfasst: Do 4. Dez 2008, 16:59
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...