Code-Schnipsel "isEmail=true" [5.2]

  • Affected App
    WoltLab Suite Calendar

    Mit dem jüngsten Update am Patch Day wurde in allen Apps bei den "notification.mail.html"-Variablen das isEmail=true entfernt.

    In dem neuen Kalender 5.2 scheint dabei mindestens 1 Sprachvariable übersehen worden zu sein:

    1. Hier ist ein Unterschied zwischen de.xml und en.xml (in letzterer wurde isEmail=true versehentlich nicht entfernt) - Sofern Fehler, dann ist dieser auch in 3.1 existent.

    de.xml

    <item name="calendar.event.date.canceled.notification.mail.html"><![CDATA[<p>Der Termin <a href="{link application='calendar' controller='Event' object=$event->getUserNotificationObject()}{/link}">{$event->getUserNotificationObject()->getEvent()->subject}</a> von {if $event->getAuthor()->userID}<a href="{link controller='User' object=$event->getAuthor()}{/link}">{$event->getAuthor()->username}</a>{else}{$event->getAuthor()->username}{/if} am {@$event->getUserNotificationObject()->getFormattedStartTime()} wurde abgesagt:</p>]]></item>

    en.xml

    <item name="calendar.event.date.canceled.notification.mail.html"><![CDATA[<p>The event <a href="{link application='calendar' controller='Event' object=$event->getUserNotificationObject() isEmail=true}{/link}">{$event->getUserNotificationObject()->getEvent()->subject}</a> by {if $event->getAuthor()->userID}<a href="{link controller='User' object=$event->getAuthor()}{/link}">{$event->getAuthor()->username}</a>{else}{$event->getAuthor()->username}{/if} on {@$event->getUserNotificationObject()->getFormattedStartTime()} was canceled:</p>]]></item>

    2. Hier scheint das isEmail=true in beiden Sprachen übersehen worden zu sein, da es kürzlich global aus allen ...mail.html"-Variablen getilgt wurde.

    de.xml

    <item name="calendar.event.notification.mail.html"><![CDATA[<p>{if $event->getAuthor()->userID}<a href="{link controller='User' object=$event->getAuthor() isEmail=true}{/link}">{$event->getAuthor()->username}</a>{else}ein Gast{/if} hat den Termin <a href="{link controller='Event' object=$event->getUserNotificationObject()->getFirstEventDate() application='calendar' isEmail=true}{/link}">{$event->getUserNotificationObject()->subject}</a> ({$event->getUserNotificationObject()->getFirstEventDate()->getFormattedTimeFrame()}) erstellt:</p>]]></item>

    en.xml

    <item name="calendar.event.notification.mail.html"><![CDATA[<p>{if $event->getAuthor()->userID}<a href="{link controller='User' object=$event->getAuthor() isEmail=true}{/link}">{$event->getAuthor()->username}</a>{else}a guest{/if} created the event <a href="{link controller='Event' object=$event->getUserNotificationObject()->getFirstEventDate() application='calendar' isEmail=true}{/link}">{$event->getUserNotificationObject()->subject}</a> ({$event->getUserNotificationObject()->getFirstEventDate()->getFormattedTimeFrame()}):</p>]]></item>

  • In der 3.1 ist beim Kalender (hoffe er war es) auch das/ein "isEmail=true" übrig geblieben, habe ich leider eben erst festgestellt.

    Habe mir dann die quälende arbeit gemacht in allen Apps die neueste Version mit der vorigen Minor-Version zu vergleichen und jede einzeln wieder gegenüber der Major-version (3.1 gegen 5.2) zu testen.

    In 5.2 wurden im Blog und Kalender unter ...notification.mail.html (noch) gar keine "isEmail=true" entfernt.

    Ich denke, daß Ihr hier einfach noch nicht dazu gekommen seid, bzw dies erst für einen späteren Zeitpunkt auf eurer todo-Liste habt.

  • Ich konnte im Blog/Kalender (3.1/5.2) keine Stellen mehr finden

    Hm, ich verstehe das nicht. Habe die neuesten, verfügbaren Versionen [Dateiänderungszeitstempel: 3.1 = 31.08.2019 | 5.2 (Beta1) = 25.08.2019] als neuestes Vergleichsobjekt (getestet gegen die jeweils Vorgänger-Version 3.1.9 bei 3.1 bzw bei 5.2 die "nameless", die ich von Dir vor ca. 2 Monaten bekam).

    In den Übersetzungen (auch in Blog und Kalender) habe ich den übersichtlichen, naheliegenden Kahlschlag gemacht, und getreu Eurem Schema einfach aus allen Variablen mit dem relevanten Inhalt ...notification.mail.html die isEmail=true rausgeholt (plus Leerzeichen, sofern existent). Somit alles gut.

    Außer Ihr würdet nun mitteilen, daß in den beiden Apps die "Dinger", lach, nicht entfernt werden.

    Dann müsste ich nacharbeiten und wieder zurücksetzen.

    Was


    Den (kompletten) Fragen schliesse ich mich an.

  • Was hat es mit diesen Änderungen auf sich? Was wäre eine falsche Nutzung?

    Hat sich diesbezüglich etwas in 5.2 geändert?

    Der Parameter isEmail=true stammt noch aus den reinen Text-E-Mails und ist in den HTML-E-Mails genau genommen falsch, da er die Kodierung von HTML-Sonderzeichen (Anwendung von htmlspecialchars()) deaktiviert. Wir hatten angefangen den Parameters deshalb aus den Sprachvariablen für die HTML-E-Mails zu entfernen. Allerdings führt dies zu dem Problem, dass Links ins ACP führen, wenn E-Mails aus dem ACP verschickt wurden. Deshalb führen wir mit dem nächsten Update (3.1.11 bzw. 5.2 Beta 2) hier einen neuen Parameter ein: isHtmlEmail=true

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!