-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix email subject with special characters (issue 1433)](https://github.com/wielebenwir/commonsbooking/pull/1479 #1480
Conversation
…itazion to allow for HTML-sanitazion (default) or email subject (sanitize_text_field). Should fix issue 1433 for e-mail subjects with special characters like &
…equires a fifth argument
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #1480 +/- ##
=========================================
Coverage 41.27% 41.27%
Complexity 2329 2329
=========================================
Files 91 91
Lines 9613 9613
=========================================
Hits 3968 3968
Misses 5645 5645 ☔ View full report in Codecov by Sentry. |
Ich glaube ich finde diese Variante besser, weil sie die Verwendung einer sanitization Funktion für jeden Input Wert vorraussetzt. |
…ooking_parse_shortcode(), and rather always use commonsbooking_sanitizeHTML for sanitation
includes/TemplateParser.php
Outdated
* | ||
* @return false|mixed | ||
*/ | ||
function commonsbooking_parse_template_callback( $match, array $objects = [] ) { | ||
function commonsbooking_parse_template_callback( $match, array $objects = [], $sanitizeFunction ) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Kannst du den default Wert hier auf commonsbooking_sanitizeHTML setzen? Dann kann die Funktion auch ohne default Wert ausgeführt werden und ist sehr ähnlich zu der ursprünglichen Funktion
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Gerne, habe ich eben gemacht und einmal getestet.
…r commonsbooking_parse_template_callback()
# Conflicts: # src/Messages/Message.php
Hallo Hans, ich verstehe nicht ganz, was bei dir "nicht mehr angezeigt wird". In deinem Screenshot gibt es ein m.E. gültiges Subject-Feld (Quoted-Printable-Kodierung). Ich habe die WP-Sprache auf Englisch umgestellt und den Default-Wert der Betreffvorlage wiederhergestellt. Dann kommt das an (Rohansicht bzw. Bildschirmabdruck in Thunderbird):
Allerdings: das ist mit dem letzten Commit von mir. Deine Version (master gemerged) kann ich gerne testen, wenn du mir eine kompilierte ZIP-Datei schickst. Leider weiß ich nicht, wie ich auf Ubuntu commonsbooking selbst kompiliere. Ist das irgendwo vollständig beschrieben? |
Huhu, kannst du nicht einfach auf deinem Branch git pull ausführen? Ansonsten kannst du eine zip erstellen, indem du in dem Verzeichnis die bin/build-zip.sh aufrufst. Du kannst aber vorher nochmal sicherstellen, dass auch wirklich alle dependencies installiert sind indem du |
Cool, bin/build-zip.sh hat für mich zum ersten Mal funktioniert, danke für den Tipp. Ich weiß nicht, was ich bisher falsch gemacht habe. Ich habe jetzt den aktuellen fix_email_subject Branch getestet und komme zu keinem anderen Ergebnis als am 6. Januar. Ich habe nicht verstanden, was bei dir nicht funktioniert (siehe meinen "Einwand" vom 6. Januar oben)? |
Das Problem ist, dass ich zum Testen Local by Flywheel nutze und mit Mailhog die E-Maisl abfange, die die Instanz erzeugt. Dabei wird, wenn dieser seltsame Unicode Character drin ist, die Betreffzeile nicht mehr angezeigt. Ich kann jetzt nur leider nicht richtig nachstellen wie das bei einer Thunderbird E-Mail aussehen würde. Aber du meinst, dass die Betreffzeile bei dir noch funktioniert obwohl dieses Sonderzeichen vorhanden ist? |
Hallo Hans, ja, bei mir wird die Betreffzeile korrekt in Thunderbird angezeigt, wenn der Subject header diesen Kauderwelsch (Quoted-Printable) enthält: "Subject: =?us-ascii?Q?Your_booking_ADFC_Henry_&_Wilde_Hilde_at_Testst?= |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wenn das bei dir funktioniert hat dann wird das wohl eher an Mailhog liegen, dann können wir das so gerne übernehmen.
make commonsbooking_parse_template() customizable with respect to sanitation to allow for HTML-sanitation (default) or email subject (sanitize_text_field)-sanitation. Should fix issue 1433 for e-mail subjects with special characters like &
This solution simlar to the fix for the first part of issue 1433 (the from field) where we made get_option configurable with respect to sanitation function. I prefer the alternative variant, 1 though. I dislike the long argument lists to be passed deep inside library functions.
EDIT @datengraben: Initially this was related to this issue #1433 which was fixed in #1426. But there is no separate issue for the subject problem handled with this PR here.
Alternative implementation as (first) variant of this branch was proposed in #1479 but closed in favor of this pr.