Problem mit Spitzklammern beim KelenderMX 1.3

Begonnen von Norbert-cms, 15 August 2005, 15:20:34

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Norbert-cms

Hallo,
ich habe folgendes Problem.
Wenn ich im Kalender Termine editiere, dann ist die Darstellung hinterher völlig zerschossen.
Das Problem liegt darin das die Spitzklammern und andere Sonderzeichen in HTML-Code umgewandelt werden und nach dem abspeichern ist der HTML-Code im text zu sehen.
D.H. das z.B. kein Link gepostet werden kann weil die Spitzklammern aufgelöst wurden.

Ich wäre sehr froh wenn mir jemand helfen könnte.
Sitze da schon seit 3 Wochen dran rum und komme nicht weiter.

Vielen Dank und Gruß Norbert-cms

Andi

Hi Norbert :)
sorry für die späte Antwort  :-[

Dumme Ausrede: Musste erst einen KalenderMx 1.3 suchen und installieren  :D


Hmm, nicht sicher, was das sein könnte, vermutlich verhaken sich da 2 Sicherungsfunktionen vom 2f-cms und dem Kalender...

Schau mal in die modules/Kalender/includes/functions.php, ganz unten ist die Funktion calPrepareDisplay(). Die ändere mal ab, dass sie direkt die Übergabeparameter wieder zurückgibt und verlassen wird.

Also aus:
function calPrepareDisplay(){
// This search and replace finds the text 'x@y' and replaces
// it with HTML entities, this provides protection against
// email harvesters
static $search = array('/(.)@(.)/se');
static $replace = array('"&#" .sprintf("%03d", ord("\\1")) .";@&#" .sprintf("%03d", ord("\\2")) . ";";');
$resarray = array();
///// usw....

mach mal:
function calPrepareDisplay(){
return func_get_args();
// This search and replace finds the text 'x@y' and replaces
// it with HTML entities, this provides protection against
// email harvesters
static $search = array('/(.)@(.)/se');
static $replace = array('"&#" .sprintf("%03d", ord("\\1")) .";@&#" .sprintf("%03d", ord("\\2")) . ";";');
$resarray = array();
///// usw....
schön´s Grüssle, Andi

Norbert-cms

Hallo Andi,
habe mitbekommen das du viel zu tun hast.

Wenn ich den Code ersetze dann steht in der Betreffzeile des Termins "array" und in der Textarea des Editors steht nix, also wird der Inhalt nicht weitergegeben.

Schade

Norbert-cms

Hallo Andi,

ich hab das hier auskommentiert und nun gehts.
Bleibt nur die Frage was für ein Sicherheitsloch ich jetzt geöffnet habe.  8)
Zitat
$var = htmlspecialchars($var, ENT_QUOTES);// Prepare var
$var = preg_replace($search, $replace, $var);
$var = preg_replace('/&#/', '&#', $var);
$var = str_replace(" "," ",$var);
$var = str_replace("&","&",$var);
Zitat

Andi

Hi Norbert ;)

ja, klar, mein Vorschlag war Blödsinn, so kann das nicht gehen...

Ok, ein Sicherheitsloch hast du dadurch nicht aufgemacht.
Diese Funktion ist in der Funktionsweise von postNuke übernommen und macht nichts anderes, als eMailadressen in der Ausgabe so umzuschrieben, dass sie von Spidern nicht mehr erkannt werden sollten.
schön´s Grüssle, Andi

Norbert-cms

Ok, dann danke ich dir.
Mir genügt das so und nun sind alle glücklich. :-)

Gruß Norbert

Andi

schön´s Grüssle, Andi