Skip to content
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

Error on processing a[href^="sms"] type selectors #278

Closed
taipeiwu opened this issue Oct 20, 2015 · 2 comments
Closed

Error on processing a[href^="sms"] type selectors #278

taipeiwu opened this issue Oct 20, 2015 · 2 comments

Comments

@taipeiwu
Copy link

emogrifier <= 0.1.1 is not wrong, but >= 1.0.0 is wrong.

Beautymail for Laravel 5 (https://github.com/Snowfire/Beautymail) and using Minty template, error:


Whoops, looks like something went wrong.

1/1
ErrorException in Emogrifier.php line 723:
DOMXPath::query(): Invalid predicate
in Emogrifier.php line 723
at HandleExceptions->handleError('2', 'DOMXPath::query(): Invalid predicate', '/var/www/html/chiosco/vendor/pelago/emogrifier/Classes/Emogrifier.php', '723', array('xpath' => object(DOMXPath), 'cssSelector' => 'a[href^="sms"]'))
at DOMXPath->query('//a[href^="sms"]') in Emogrifier.php line 723
at Emogrifier->existsMatchForCssSelector(object(DOMXPath), 'a[href^="sms"]') in Emogrifier.php line 683
at Emogrifier->copyCssWithMediaToStyleNode(object(DOMDocument), object(DOMXPath), '@media only screen and (max-width: 640px) { a[href^="tel"], a[href^="sms"] { text-decoration: none; color: #ffffff; pointer-events: none; cursor: default; } .mobile_link a[href^="tel"], .mobile_link a[href^="sms"] { text-decoration: default; color: #ffffff !important; pointer-events: auto; cursor: default; } table[class=devicewidth] {width: 440px!important;text-align:center!important;} table[class=devicewidthinner] {width: 420px!important;text-align:center!important;} table[class="sthide"]{display: none!important;} img[class="bigimage"]{width: 420px!important;height:219px!important;} img[class="col2img"]{width: 420px!important;height:258px!important;} img[class="image-banner"]{width: 440px!important;height:106px!important;} td[class="menu"]{text-align:center !important; padding: 0 0 10px 0 !important;} td[class="logo"]{padding:10px 0 5px 0!important;margin: 0 auto !important;} img[class="logo"]{padding:0!important;margin: 0 auto !important;} }@media only screen and (max-width: 480px) { a[href^="tel"], a[href^="sms"] { text-decoration: none; color: #ffffff; pointer-events: none; cursor: default; } .mobile_link a[href^="tel"], .mobile_link a[href^="sms"] { text-decoration: default; color: #ffffff !important; pointer-events: auto; cursor: default; } table[class=devicewidth] {width: 280px!important;text-align:center!important;} table[class=devicewidthinner] {width: 260px!important;text-align:center!important;} table[class="sthide"]{display: none!important;} img[class="bigimage"]{width: 260px!important;height:136px!important;} img[class="col2img"]{width: 260px!important;height:160px!important;} img[class="image-banner"]{width: 280px!important;height:68px!important;} }') in Emogrifier.php line 329
at Emogrifier->process(object(DOMDocument)) in Emogrifier.php line 217
at Emogrifier->emogrify() in CssInlinerPlugin.php line 31
at CssInlinerPlugin->beforeSendPerformed(object(Swift_Events_SendEvent)) in Transport.php line 65
at Transport->beforeSendPerformed(object(Swift_Message)) in MailgunTransport.php line 59
at MailgunTransport->send(object(Swift_Message), array()) in Mailer.php line 85
at Swift_Mailer->send(object(Swift_Message), array()) in Mailer.php line 395
at Mailer->sendSwiftMessage(object(Swift_Message)) in Mailer.php line 181
at Mailer->send('emails.contact', array('email' => 'a@a.com', 'title' => 'aaa', 'user_message' => 'aaa', 'senderName' => null, 'reminder' => null, 'unsubscribe' => null, 'address' => null, 'logo' => array('path' => 'http://chiosco.test.kinglinco.com:9031/images/chiosco_web_logo.png', 'width' => '', 'height' => ''), 'twitter' => null, 'facebook' => null, 'flickr' => null), object(Closure)) in Beautymail.php line 58
at Beautymail->send('emails.contact', array('email' => 'a@a.com', 'title' => 'aaa', 'user_message' => 'aaa'), object(Closure)) in ContactController.php line 99
at ContactController->store(object(ContactFormRequest))
at call_user_func_array(array(object(ContactController), 'store'), array(object(ContactFormRequest))) in Controller.php line 256
at Controller->callAction('store', array(object(ContactFormRequest))) in ControllerDispatcher.php line 164
at ControllerDispatcher->call(object(ContactController), object(Route), 'store') in ControllerDispatcher.php line 112
at ControllerDispatcher->Illuminate\Routing{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 139
at Pipeline->Illuminate\Pipeline{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
at Pipeline->then(object(Closure)) in ControllerDispatcher.php line 114
at ControllerDispatcher->callWithinStack(object(ContactController), object(Route), object(Request), 'store') in ControllerDispatcher.php line 69
at ControllerDispatcher->dispatch(object(Route), object(Request), '\App\Http\Controllers\Frontend\ContactController', 'store') in Route.php line 203
at Route->runWithCustomDispatcher(object(Request)) in Route.php line 134
at Route->run(object(Request)) in Router.php line 704
at Router->Illuminate\Routing{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 139
at Pipeline->Illuminate\Pipeline{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
at Pipeline->then(object(Closure)) in Router.php line 706
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 671
at Router->dispatchToRoute(object(Request)) in Router.php line 631
at Router->dispatch(object(Request)) in Kernel.php line 236
at Kernel->Illuminate\Foundation\Http{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 139
at Pipeline->Illuminate\Pipeline{closure}(object(Request)) in VerifyCsrfToken.php line 50
at VerifyCsrfToken->handle(object(Request), object(Closure))
at call_user_func_array(array(object(VerifyCsrfToken), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline{closure}(object(Request)) in ShareErrorsFromSession.php line 49
at ShareErrorsFromSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(ShareErrorsFromSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline{closure}(object(Request)) in StartSession.php line 62
at StartSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(StartSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure))
at call_user_func_array(array(object(AddQueuedCookiesToResponse), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline{closure}(object(Request)) in EncryptCookies.php line 59
at EncryptCookies->handle(object(Request), object(Closure))
at call_user_func_array(array(object(EncryptCookies), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline{closure}(object(Request)) in CheckForMaintenanceMode.php line 42
at CheckForMaintenanceMode->handle(object(Request), object(Closure))
at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline{closure}(object(Request)) in Request.php line 78
at Request->handle(object(Request), object(Closure))
at call_user_func_array(array(object(Request), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
at Pipeline->then(object(Closure)) in Kernel.php line 122
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 87
at Kernel->handle(object(Request)) in index.php line 54


@oliverklee oliverklee added the bug label Oct 20, 2015
@oliverklee oliverklee added this to the 1.1.0 milestone Oct 20, 2015
@oliverklee
Copy link
Contributor

Hi @taipeiwu, thanks for the bug report!

This looks like it is the same problems as #227.

Would you be willing to provide a pull request with a fix (including unit tests) for this?

@oliverklee
Copy link
Contributor

It is also possible that the having negated attribute selectors just isn't supported yet, and we still might need to add this feature.

oliverklee pushed a commit that referenced this issue Jul 13, 2016
This is part of #321.

Fixes #324
Fixes #278
Fixes #227
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants