WebsiteBaker Support (2.8.x) > Diskussion über WB (closed)

[[ModifiedWhen]] + Form = Fehler

<< < (2/2)

Luisehahne:

--- Quote ---könnte man im Form Modul (view.php) den ob_end_clean() Aufruf auskommentieren.
--- End quote ---

Dann funktioniert das E-Mail Crypting in Form nicht mehr. Deswegen ist das damals so gemacht worden. In der index.php im Rootverzeichnis, so ungefähr Zeile 152 wird abgefragt, ob der Buffer noch Inhalt hat, und dann erst ein ob_clean angestossen. War bislang nicht und erzeugte eine FEhlermeldung, dass der Buffer leer ist.

Da ich mir das Formmodul ja nochmal vornehmen will, versuche ich das anders zu lösen. Nur es sollte schon die Möglichkeit bestehen die E-Mail gecrypted auszugeben.

Dietmar

doc:
Hi,

in der Datei view.php des Form Moduls (2.7 und 2.80 ) steht in Zeile 222 folgender Code:


--- Code: ---/**
    NOTE: comment out the line ob_end_flush() if you indicate problems (e.g. when using ob_start in the index.php of your template)
    With ob_end_flush(): output filter will be disabled for this page (and all sections embedded on this page)
    Without ob_end_flush(): emails are rewritten (e.g. name@domain.com --> name(at)domain(dot)com) if output filter is enabled
    All replacements made by the Output-Filter module will be reverted before the email is send out
*/
if($filter_settings['email_filter'] && !($filter_settings['at_replacement']=='@' && $filter_settings['dot_replacement']=='.')) {
    ob_end_flush();
}

--- End code ---

Dieser kann zu Testzwecken ausgeschaltet werden, dann sollten E-Mails verschlüsselt angezeigt werden und auch Droplets funktionieren, auf deren Seite ein Form Modul untergebracht ist.

Kurz nach Veröffentlichung von WB 2.7 hatte ich eine modifizierte Regex für den Output Filter gepostet. Diese hatte nur Auswirkung auf E-Mailadressen, welche nicht in Form Elementen (<input> Feldern etc.) stehen. Wenn diese modifizierte Regex (Output Filter) in WB 2.8 eingeflossen ist, kann man die Zeile ob_end_flush() in der view.php des Form Moduls mittels voranstellen von // auskommentieren. Dann sollte eigentlich alles richtig funktionieren. Änderungen betreffen nur die view.php des Form-Moduls, nicht die des Output Filters.

Gruss Doc

aldus:
Hallo

Ok ... jetzt kann ich es endlich auch bestätigen ... wenn frontendfilter aktiviert schepperts mit den droplets,
ansonsten funktionert es -- wenn man die Zeile auskommentiert schlägt die Validierung (Zeile 346 in der view.php) in class.wb.php Zeile 263 zu ...

hm ... ok "ob_end_flush" auskommentieren und ab Zeile 346 in der "view.php" den Block abändern in:

--- Code: ---<?php
if($field[&#39;type&#39;] == &#39;email&#39; AND $admin->validate_email($_POST[&#39;field&#39;.$field[&#39;field_id&#39;]]) == false) {
    $_POST[&#39;field&#39;.$field[&#39;field_id&#39;]] = str_replace( array ("(at)", "(dot)"), array ("@", "."), $_POST[&#39;field&#39;.$field[&#39;field_id&#39;]] );
    if ($admin->validate_email($_POST[&#39;field&#39;.$field[&#39;field_id&#39;]]) == false )
        $email_error = $MESSAGE[&#39;USERS&#39;][&#39;INVALID_EMAIL&#39;];
}
?>

--- End code ---

Sprich ... doppelte Prüfung ... dann klappts auch mit den Droplets ... und den Frontendoutputfilte rs

Nur so'n vorschlag ... hier zumindest klappt das mit der #1153 ...

Edit: Sorry, Doc ... haben wir beide gleichzeitig? ...

Gruß
Aldus

Luisehahne:
Werde ich austesten. Meine Feststellungen waren noch bevor die 2.8 final rauskam. Werde mich auch mit Docs Post auseinander setzen. Ich weiss nur, wo ich bei der Entwicklung von 2.8 das in der view.php auskommentiert hatte, wurden die E-Mails nicht gecrypted. Aber inwzwischen ist ja viel passiert.

Also nochmal testen

Dietmar

Navigation

[0] Message Index

[*] Previous page

Go to full version