Zum Inhalt springen

Powermail und "Eigenen HTML Code eintragen" - funktioniert so nicht

Erstellt am 17. Juni 2009 · 8 Antworten · letzte Antwort am 31. Juli 2009

Tags: Powermail, Frage

MagusDigitalis ·

Hallo allerseits,

hat jemand einen Tipp oder evtl. gar eine Lösung für das Phänomen, dass Powermail bei Nutzung des Typs "Eigenen HTML Code eintragen" die Spitzklammern und Anführungszeichen aus selbigem entfernt?

Beispiel:
<div style="border:1px solid #ccc;">
wird zu
div style=border:1px solid #ccc;

Nutze ich den "Reinen HTML-Quellcode"-Typ auf normalen Seiten klappt's problemlos...

Eingesetzt wird u.a. TYPO3 4.2.6, Powermail 1.4.10, realURL 1.5.3 uvm.

Was kann das sein...?
Eigentlich fällt mir bei HTML-Umschreibung nur eine entsprechende RTE-Regel ein, aber der dürfte hier doch gar keine Rolle spielen, oder doch?

MagusDigitalis ·

Danke für Deinen schnellen Tipp, aber das ändert leider auch nix.

Ich habe - nach erfolglosen Versuchen über meine ausgelagerte TS-Datei mit den allgemeinen Constants - anschließend direkt auf der Seite mit dem Formular ein Ext-Tpl angelegt und dort den Constants-Eintrag:
plugin.powermail.html.removeXSS = 0
gemacht, dann alle Caches gelöscht, aber es klappt trotzdem nicht.

Jedes Mal wenn ich im Formular ein HTML-Code-Feld setze und nach Befüllung speichere löscht es mir Spitzklammern, Anführungszeichen und Ampersante...

Aus "Spass an der Freud" hab ich's auch mal mit ...removeXSS = 1 versucht, aber am Ergebnis ändert das auch nichts. Wenn ich das richtig verstehe, wäre =1 ja auch der Default-Wert...und gerade den will ich ja nicht.

Ich habe inzwischen schon gesehen, dass auch andere dieses Problem hatten, nur leider war keine passende Lösung dabei.

Was könnte ich denn sonst noch probieren?
Außer einer anderen Formular-Extension natürlich 😉

Nachtrag:
ich hab's eben auch mal testweise in der mitgelieferten ext_typoscript_constants.txt auf 0 gesetzt - unverändertes Ergebnis...

MagusDigitalis ·

Ich Danke Dir erneut für Deine Unterstützung.
Das es bei Dir und vielen anderen wie gewünscht funktioniert glaube ich gern 🙂

Im Augenblick ist die Ext aber leider nicht im gewünschten Maße nutzbar...was schade ist, denn elegant ist das Teil ja echt.

Andere Frage:
wenn ich das recht verstehe kann man auch für Powermail wie z.B. bei Mailformplus eigene HTML-Templates anlegen und in denen die beim jeweils angelegten powermail-Feld zu sehende Marker einbauen das würde u.U. ja auch mein HTML-Problem lösen - aber gibt es dazu vieleicht irgendwo ein Tutorial oder etwas das ich auch ohne "vollkonzentriertes Studium" auf Anhieb nachvollziehen kann?

Ich muss gestehen das mir aktuell schlicht die Zeit fehlt alle Varianten und Möglichkeiten selbst auszutüfteln...leider auch bei Deiner sehr gut dokumentierten Extension.

einpraegsam.​net ·
MagusDigitalis schrieb

Ich muss gestehen das mir aktuell schlicht die Zeit fehlt alle Varianten und Möglichkeiten selbst auszutüfteln...leider auch bei Deiner sehr gut dokumentierten Extension.

Und ich muss gestehen, das mir aktuell die Zeit fehlt alles erdenkliche kostenlos zu testen und zu erklären, was in einer ähnlichen Art und Weise schon im Handbuch dokumentiert ist - sorry

tba6440 ·

Vielleicht hilft das jemadem:
Ergänze in der localconf.php den Wert $TYPO3_CONF_VARS['BE']['flexformForceCDATA'] = 1;

oder in der Installation unter "All Configuration" unter "[flexformForceCDATA]" das Häckchen setzen.

"If set, will add CDATA to Flexform XML. Some versions of libxml have a bug that causes HTML entities to be stripped from any XML content and this setting will avoid the bug by adding CDATA."

digitalfreak ·

Hallo,

hilft mir leider alles nichts.

Ich habe xss remove auf 0 und flexformForceCDATA auf 0 oder 1 probiert.

Ich will in den hidden Values ###USER_email### stehen haben, um das in einer E-Mail zu verwenden. Nur genau das klappt nicht.

Gibts da vlt noch eine Idee?

digitalfreak ·

Ich habs jetz so gelöst (pfusch)

powermail/pi1/class.tx_powermail_html.php
Line 560

vorhandene Funktion gegen folgende ersetzen:

	function html_hidden() {
		$this->tmpl['html_hidden'] = tslib_cObj::getSubpart($this->tmpl['all'],'###POWERMAIL_FIELDWRAP_HTML_HIDDEN###'); // work on subpart

		$this->html_hookwithinfields(); // adds hook to manipulate the markerArray for any field
		$content = tslib_cObj::substituteMarkerArrayCached($this->tmpl['html_hidden'],$this->markerArray); // substitute Marker in Template
		$content = $this->dynamicMarkers->main($this->conf, $this->cObj, $content); // Fill dynamic locallang or typoscript markers
    $content = preg_replace("|###USER_(.*?)###|i", "***USER_\\1***", $content); // Finally clear not filled markers
    $content = preg_replace("|###.*?###|i", "", $content); // Finally clear not filled markers

		return $content; // return HTML
	}

powermail/pi1/class.tx_powermail_form.php
Line 161
Folgendes einfügen:

$this->contentForm = preg_replace("|\*\*\*USER_(.*?)\*\*\*|i", "###USER_\\1###", $this->contentForm); // Finally clear not filled markers

ACHTUNG!!!: Erlaubt nur die Nutzung von ###USER_....### HIDDEN-Feldern. Löst nicht das oben erwähnte Problem