diff --git a/library/Icinga/Web/Helper/HtmlPurifier.php b/library/Icinga/Web/Helper/HtmlPurifier.php index 525972e2d..f0c292fdd 100644 --- a/library/Icinga/Web/Helper/HtmlPurifier.php +++ b/library/Icinga/Web/Helper/HtmlPurifier.php @@ -4,6 +4,7 @@ namespace Icinga\Web\Helper; use Closure; +use Icinga\Web\FileCache; use InvalidArgumentException; class HtmlPurifier @@ -29,11 +30,16 @@ class HtmlPurifier $purifierConfig = \HTMLPurifier_Config::createDefault(); $purifierConfig->set('Core.EscapeNonASCIICharacters', true); $purifierConfig->set('Attr.AllowedFrameTargets', array('_blank')); + + if (($cachePath = FileCache::instance()->directory('htmlpurifier.cache')) !== false) { + $purifierConfig->set('Cache.SerializerPath', $cachePath); + } else { + $purifierConfig->set('Cache.DefinitionImpl', null); + } + // This avoids permission problems: // $purifierConfig->set('Core.DefinitionCache', null); - $purifierConfig->set('Cache.DefinitionImpl', null); - // TODO: Use a cache directory: - // $purifierConfig->set('Cache.SerializerPath', '/var/spool/whatever'); + // $purifierConfig->set('URI.Base', 'http://www.example.com'); // $purifierConfig->set('URI.MakeAbsolute', true);