Fixed Email issues with XF2.0.11 and PHP7.3.0

Yodrak

in memoriam 1976 - 2020
Affected version
XF2.0.11
Yesterday we made the switch from XF1 to XF2.
We got now a problem with email notifications.
This is what the error log shows:

Code:
InvalidArgumentException: DOMXPath::query(): Invalid expression in selector >> body << in /var/www/html/src/vendor/pelago/emogrifier/Classes/Emogrifier.php on line 370 src/vendor/pelago/emogrifier/Classes/Emogrifier.php:1532
Generiert von: Cocorange 09.12.2018 um 15:24
Stack-Trace
#0 [internal function]: Pelago\Emogrifier->handleXpathError(2, 'DOMXPath::query...', 's...', 370, Array)
#1 src/vendor/pelago/emogrifier/Classes/Emogrifier.php(370): DOMXPath->query('//')
#2 src/vendor/pelago/emogrifier/Classes/Emogrifier.php(289): Pelago\Emogrifier->process(Object(DOMDocument))
#3 src/XF/Mail/Styler.php(36): Pelago\Emogrifier->emogrify()
#4 src/XF/Mail/Mailer.php(189): XF\Mail\Styler->styleHtml('<!DOCTYPE html>...', true, Object(XF\Language))
#5 src/XF/Mail/Mail.php(277): XF\Mail\Mailer->renderMailTemplate('watched_thread_...', Array, Object(XF\Language), Object(Yugensoft\StripeFull\XF\Entity\User))
#6 src/XF/Mail/Mail.php(327): XF\Mail\Mail->renderTemplate()
#7 src/XF/Mail/Mail.php(358): XF\Mail\Mail->getSendableMessage()
#8 src/XF/Notifier/Post/AbstractWatch.php(128): XF\Mail\Mail->queue()
#9 src/XF/Service/AbstractNotifier.php(92): XF\Notifier\Post\AbstractWatch->sendEmail(Object(Yugensoft\StripeFull\XF\Entity\User))
#10 src/XF/Service/AbstractNotifier.php(44): XF\Service\AbstractNotifier->notifyType(Object(XF\Notifier\Post\ThreadWatch), Array, 1544369077.951)
#11 src/XF/Service/AbstractNotifier.php(56): XF\Service\AbstractNotifier->notify(3)
#12 src/XF/Service/Thread/Replier.php(205): XF\Service\AbstractNotifier->notifyAndEnqueue(3)
#13 src/XF/Pub/Controller/Thread.php(309): XF\Service\Thread\Replier->sendNotifications()
#14 src/XF/Pub/Controller/Thread.php(442): XF\Pub\Controller\Thread->finalizeThreadReply(Object(XFA\Core\XF\Service\Thread\Replier))
#15 src/addons/KL/EditorManager/XF/Pub/Controller/Thread.php(17): XF\Pub\Controller\Thread->actionAddReply(Object(XF\Mvc\ParameterBag))
#16 src/XF/Mvc/Dispatcher.php(249): KL\EditorManager\XF\Pub\Controller\Thread->actionAddReply(Object(XF\Mvc\ParameterBag))
#17 src/XF/Mvc/Dispatcher.php(88): XF\Mvc\Dispatcher->dispatchClass('XF:Thread', 'AddReply', 'json', Object(XF\Mvc\ParameterBag), 'forums', Object(XenConcept\RestrictGuestViews\XF\Pub\Controller\Thread), NULL)
#18 src/XF/Mvc/Dispatcher.php(41): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#19 src/XF/App.php(1931): XF\Mvc\Dispatcher->run()
#20 src/XF.php(329): XF\App->run()
#21 index.php(13): XF::runApp('XF\\Pub\\App')
#22 {main}

Can anybody help me?
 
2.0.11 is not compatible with PHP 7.3. This is an issue from that.

We have a number of 7.3-related changes slated for the next (2.0.12) release.
 
The request state is:

Code:
array(4) {
  ["url"] => string(43) "/threads/first-down-pattaya.23446/add-reply"
  ["referrer"] => string(71) "https://thailand-asienforum.com/threads/first-down-pattaya.23446/page-2"
  ["_GET"] => array(1) {
    ["/threads/first-down-pattaya_23446/add-reply"] => string(0) ""
  }
  ["_POST"] => array(10) {
    ["message_html"] => string(5996) "<p>Tag 15 Montag</p><p><br></p><p>Bevor wir
gestern schlafen gingen habe ich nochmal das Bein mit dem Balsam eingerieben.
Es tut mir zwar immer noch ein wenig weh aber die Schwellung scheint durch die
Medikamente zurück zu gehen. Sieht gut aus.</p><p><br></p><p>Gegen 10 Uhr
sind wir dann aufgestanden und sind Richtung Central Fetival Mall. Ich wollte
einen Kaffee trinken und in der Mall noch Geld abheben. Schließlich hatte ich
bis zu diesem Zeitpunkt Mike erst einmal 2.000 Baht gegeben und sie ist schon
14 Tage bei mir. Wir sind dann im Starbucks denn Mike wollte unbedingt noch
einen Brownie zu ihrem Hot Chocolat. Im Starbucks ist es mir zu kalt, wir tranken
schnell aus und sind dann in Level 4 an die ATM´s gelaufen. Dort habe ich mal
20.000 Baht abgehoben und Mike 15.000 Baht davon gegeben. Ich sagte dann zu ihr
einzahlen auf dein Konto, das wird gespart. Wir gingen noch ein wenig durch die
Mall, sie bekam noch eine Halskette für 250 Baht und ein paar Ohrringe dazu für
150 Baht alles Ok.</p><p><br></p><p>Gegen 14:30 Uhr
waren wir zurück ins Hotel, sie musste nochmal nach Hause und sich Haare,
Fingernägel usw… machen lassen. Heute Abend war ja Insomnia Club angesagt mit
der Live Band Endorphine. Wir hatten bevor es nach Koh Chang gegangen war einen
Tisch reserviert. Sie also nach Hause und ich habe mich ein wenig am Hotelpool
relaxt.</p><p><br></p><p>19 Uhr, Mike
wollte eigentlich gegen schon hier sein, wir wollten vorher noch was essen
gehen. 30 min. später war sie dann endlich da. Sah hübsch aus, sie hat die
Haare machen lassen, mit neuer Farbe, neue Fingernägel und im gesicht wurde
auch gewerkelt. Na gut, was hat denn der Spass gekostet? War auch egal, sie
wollte vor all ihren Freundinnen hübsch aussehen, ist Ok, kann man einmal
machen.</p><p><br></p><p>Gegen 20 Uhr
waren wir dann an der Walking Street und sind dort in eines der Seafood
Restaurants gegangen. Mike hat wieder bestellt, aber diesmal dauerte das Essen
ziemlich lange und sie war darüber sehr verärgert. Ich sagte zu ihr dass wir
den Tisch bis 23 Uhr reserviert haben und uns nichts wegläuft. Aber sie total
hektisch und verärgert dass ihr das hier alles zu lange dauert und sie jetzt
Hunger hat usw…., sie war nicht zu beruhigen.</p><p><br></p><p>Gegen 21:30
standen wir dann vor dem Insomnia Club, Einlass ist aber erst um 22 Uhr. Also
warten. Ich bin dann schräg gegenüber in die Hot Tuna Bar wo gute Live
Rockmusik gespielt wurde. Mike war verärgert dass ich dort rein bin. Sie war an
dem Tag einfach Launisch. Mich interessierte das wenig, ich will nicht auf der
Straße warten, gehe mir in der Hot Tuna Bar ein Bier holen und setze mich da
rein. Die Musik ist nämlich klasse.</p><p><br></p><p>Um 22:15 Uhr
sind wir dann in den Insomnia Club. Wir wurden an unseren Tisch gebracht und
uns wurde die Flasche Black Bacardi gebracht welche wir vorbestellt hatte. Mike
sagte zu mir ich solle mal den Security Leuten jeweils 100 Baht zustecken, es
sollte sich später als sehr vorteilhaft herausstellen.</p><p><br></p><p>Innerhalb
kürzester Zeit füllte sich der Laden und ich fragte Mike wieviel Freundinnen kommen
werden? Sie meinte nur so 4 Stück. Der Laden war voll mit Security Kräften und
ich zweifelte ob ihre Freundinnen überhaupt in den Laden kommen werden. Also
bin ich zu Mike sie solle mir mal Bilder der Freundinnen geben. Ich zeigte sie
dem Security Leuten und die haben die Ladys wirklich reingelassen und sie
persönlich an unseren tisch gebracht. Na das war mal Service.</p><p><br></p><p>Gegen 12 Uhr
spielte dann endlich die Band Endophine und die Hütte war brechend voll. Ich
orderte noch eine Flasche Black Bacardi, Coke, Soda und Eis. Die Freundinnen
hatten Spass, Mike hatte Spass und ich auch. Wann ist man mal mit 5 heißen
Girls zusammen, sogar die Security beneidete mich.</p><p><br></p><p>Endorphine
spielte bis ca. 2:30 Uhr, danach gab es wieder Hausmusik. Während der Show
warfen Angestellte vom Insomina Club T-Shirts in die Menge und Kappen. Leider
konnte ich nur 3 Shirts fangen, 2x weiss und 1x schwarz. Lady war begeistert,
sie hatte aber schon mehrere weisse und hat sie somit an die Freundinnen verschenkt.
Durch das herum gehupfe scheinen manche ihre Geld verloren zu haben. Ständig
lag Geld auf dem Bode welches ich aufhob. Insgesamt knapp 5.000 Baht waren es
zum Schluss. Die beiden Bacardi Flaschen waren somit wieder reingeholt.</p><p><br></p><p>Gegen 3 uhr
orderten wir nochmal eine Flasche Black Bacardi mit Coke, Soda und Eis. Zwischenzeitlich
haben sich ein paar Inder an zweien der Freundinnen ran gemacht. Denen gefiel
das aber gar nicht. Ich zeigte einem der Security Kräften sie sollen uns mal
die Inder vom Hals schaffen. Nichts leichter als das, die beiden wurden schon
von 2 Security Kräften abtransportiert. Keine Belästigungen mehr, machte sich
schon bezahlt dass man der Security vorher mal einen 100er zusteckte.</p><p><br></p><p>Um 5:30 Uhr war
dann Feierabend, mir und Mike reichte es dann auch und wir fuhren mit dem Baht
Taxi zurück. Dabei verpasste ich an der Soi 2 zu klingeln und wir fuhren dann
bis an den Dolphin Circle. Das Baht Taxi fuhr aber nicht um den Kreisel, nein,
es bog rechts ab. Mike war natürlich sauer dass wir jetzt ein paar Meter zu Fuß
in die Soi laufen mussten. Klasse, beleidigte Thai heute Nacht neben mir, da
geht ja nix mehr.</p><p><img class="fr-fic fr-dii" alt="407660" data-attachment="thumb:407660" src="https://thailand-asienforum.com/data/attachment-files/2018/12/911770_f2268c75224e6314117f29979a62de52_thumb.jpg"><img class="fr-fic fr-dii" alt="407661" data-attachment="thumb:407661" src="https://thailand-asienforum.com/data/attachment-files/2018/12/911771_cea1b716d0486d8227fc5bd7cd3a3ead_thumb.jpg"><img class="fr-fic fr-dii" alt="407662" data-attachment="thumb:407662" src="https://thailand-asienforum.com/data/attachment-files/2018/12/911772_7d5d863eb1fb06f2044cf4e31f3564b6_thumb.jpg"><br></p>"
    ["attachment_hash"] => string(32) "a49375056b13f4d9cb5457450af8542a"
    ["attachment_hash_combined"] => string(87) "{"type":"post","context":{"thread_id":23446},"hash":"a49375056b13f4d9cb5457450af8542a"}"
    ["last_date"] => string(10) "1544368737"
    ["last_known_date"] => string(10) "1544346643"
    ["klPage"] => string(1) "2"
    ["_xfToken"] => string(8) "********"
    ["_xfRequestUri"] => string(40) "/threads/first-down-pattaya.23446/page-2"
    ["_xfWithData"] => string(1) "1"
    ["_xfResponseType"] => string(4) "json"
  }
}

I have Stripe Full as Addon. I try to disable it and will watch, if the issue still appears.
 
Top Bottom