HtmlPurifier: Enable cache directory

refs #3814
This commit is contained in:
Johannes Meyer 2019-06-25 16:16:27 +02:00
parent 74642d1cf7
commit 6aa2cf69c7
1 changed files with 9 additions and 3 deletions

View File

@ -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);