[horde] Horde 6 - Inline HTML error

Nels Lindquist nlindq at maei.ca
Mon Apr 6 21:31:27 UTC 2026


Okay; got it working, but it was a bit of an effort.

I had:

horde/css_parser             2.0.0beta5   CSS parser library
horde/cssminify              2.0.0beta6   CSS minification library

Upgrading did nothing initially.

I tried installing sabberworm/php-css-parser, which gave me version 
9.3.0, and the entire site stopped loading, with different errors:

PHP Fatal error:  Class Sabberworm\CSS\Property\Declaration contains 1 
abstract method and must therefore be declared abstract or implement the 
remaining method (Sabberworm\CSS\Renderable::__toString) in 
/var/www/html/horde6/vendor/sabberworm/php-css-parser/src/Property/Decla
ration.php on line 27
Stack trace:
#0 /var/www/html/horde6/vendor/composer/ClassLoader.php(576): include()
#1 /var/www/html/horde6/vendor/composer/ClassLoader.php(427): 
{closure:Composer\Autoload\ClassLoader::initializeIncludeClosure():575}()
#2 [internal function]: Composer\Autoload\ClassLoader->loadClass()
#3 
/var/www/html/horde6/vendor/thecodingmachine/safe/generated/8.1/classobj.php(17): 
class_alias()
#4 
/var/www/html/horde6/vendor/sabberworm/php-css-parser/src/Rule/Rule.php(16): 
Safe\class_alias()
#5 /var/www/html/horde6/vendor/composer/autoload_real.php(45): 
require('...')
#6 /var/www/html/horde6/vendor/composer/autoload_real.php(49): 
{closure:ComposerAutoloaderInit40e1abd60ba24c0f96585851b5c9f552::getLoader():41}()
#7 /var/www/html/horde6/vendor/autoload.php(22): 
ComposerAutoloaderInit40e1abd60ba24c0f96585851b5c9f552::getLoader()
#8 /var/www/html/horde6/web/horde/services/ajax.php(2): require_once('...')
#9 {main}

I tried force installing horde_cssparser:2.0.0beta6, but it explicitly 
requires sabberworm/php-css-parser:8.9.0, which it didn't want to 
install on PHP 8.5.

Adding the --ignore-platform-reqs flag for composer bypassed the PHP 
version limitation and I ended up with the same versions you've got.

It seems to be running fine on PHP 8.5, and I'm no longer getting errors 
when loading inline HTML.

-- 
Nels Lindquist
nlindq at maei.ca

On 2026-04-06 1:30 PM, Brent wrote:
>   It appears you have an older css parser or something.  Here's my 
> configuration that is working with the same mime local file to enable 
> html viewing.
> 
> $ composer show|grep css
> horde/css_parser             2.0.0beta6   CSS parser library
> horde/cssminify              2.0.0beta6   CSS minification library
> sabberworm/php-css-parser    8.9.0        Parser for CSS Files written 
> in PHP
> 
> Enable the test.php script and see if it finds anything. Ralph and the 
> team have put a lot more helpful debugging information into it and maybe 
> it'll help isolate the issue.
> 
> brent
> 
> Quoting Nels Lindquist <nlindq at maei.ca>:
> 
>> PHP 8.5 FPM.
>> Latest H6 updated this morning.
>>
>> I enabled inline HTML in IMP, by setting:
>>
>>> $mime_drivers['html']['inline'] = true;
>>
>> in var/config/imp/mime_drivers.local.php.
>>
>> After doing so, I'm now receiving an error when attempting to view 
>> mail messages with HTML:
>>
>> [imp] Error: Call to undefined method 
>> Horde\Css\Parser\Parser::keepOnlyDangerousCss() in 
>> /var/www/html/horde6/vendor/horde/imp/lib/Mime/Viewer/Html.php:617
>>
>> Stack trace:
>> #0 
>> /var/www/html/horde6/vendor/horde/imp/lib/Mime/Viewer/Html.php(558): 
>> IMP_Mime_Viewer_Html->_parseCss()
>> #1 
>> /var/www/html/horde6/vendor/horde/imp/lib/Mime/Viewer/Html.php(166): 
>> IMP_Mime_Viewer_Html->_processDomDocument()
>> #2 /var/www/html/horde6/vendor/horde/imp/lib/Mime/Viewer/Html.php(76): 
>> IMP_Mime_Viewer_Html->_IMPrender()
>> #3 
>> /var/www/html/horde6/vendor/horde/mime_viewer/lib/Horde/Mime/Viewer/Base.php(157): IMP_Mime_Viewer_Html->_renderInline()
>> #4 /var/www/html/horde6/vendor/horde/imp/lib/Contents.php(665): 
>> Horde_Mime_Viewer_Base->render()
>> #5 
>> /var/www/html/horde6/vendor/horde/imp/lib/Mime/Viewer/Alternative.php(137): IMP_Contents->renderMIMEPart()
>> #6 
>> /var/www/html/horde6/vendor/horde/imp/lib/Mime/Viewer/Alternative.php(55): IMP_Mime_Viewer_Alternative->_IMPrender()
>> #7 
>> /var/www/html/horde6/vendor/horde/mime_viewer/lib/Horde/Mime/Viewer/Base.php(157): IMP_Mime_Viewer_Alternative->_renderInline()
>> #8 /var/www/html/horde6/vendor/horde/imp/lib/Contents.php(665): 
>> Horde_Mime_Viewer_Base->render()
>> #9 
>> /var/www/html/horde6/vendor/horde/imp/lib/Contents/Message.php(594): 
>> IMP_Contents->renderMIMEPart()
>> #10 
>> /var/www/html/horde6/vendor/horde/imp/lib/Contents/Message.php(336): 
>> IMP_Contents_Message->_getInlineOutput()
>> #11 
>> /var/www/html/horde6/vendor/horde/imp/lib/Contents/Message.php(176): 
>> IMP_Contents_Message->getInlineOutput()
>> #12 /var/www/html/horde6/vendor/horde/imp/lib/Ajax/Queue.php(462): 
>> IMP_Contents_Message->showMessage()
>> #13 
>> /var/www/html/horde6/vendor/horde/imp/lib/Ajax/Application/Handler/Common.php(702): IMP_Ajax_Queue->message()
>> #14 
>> /var/www/html/horde6/vendor/horde/core/lib/Horde/Core/Ajax/Application.php(179): IMP_Ajax_Application_Handler_Common->showMessage()
>> #15 /var/www/html/horde6/vendor/horde/horde/services/ajax.php(64): 
>> Horde_Core_Ajax_Application->doAction()
>> #16 /var/www/html/horde6/web/horde/services/ajax.php(3): 
>> require_once('...')
>> #17 {main} [pid 536324 on line 76 of 
>> "/var/www/html/horde6/vendor/horde/core/lib/Horde/ErrorHandler.php"]
>>
>> -- 
>> Nels Lindquist
>> nlindq at maei.ca
>> -- 
>> Horde mailing list
>> Frequently Asked Questions: http://horde.org/faq/To unsubscribe, mail: 
>> horde-unsubscribe at lists.horde.org



More information about the horde mailing list