FIX backport fix for lack of HTMLPurifier breakage

If HTMLPurifier is missing, a fatal error is giving for a missing class.
This results in comments essentially not working. The fix is simple and
has already been done in 2.0 - as the package is optional we can simply
check if the classname exists before trying to use it, or do nothing.
This commit is contained in:
Dylan Wagstaff 2018-03-12 10:26:25 +13:00
parent 8e79a1368e
commit dc6ea3934d
1 changed files with 8 additions and 2 deletions

View File

@ -649,8 +649,10 @@ class Comment extends DataObject
*/
public function purifyHtml($dirtyHtml)
{
$purifier = $this->getHtmlPurifierService();
return $purifier->purify($dirtyHtml);
if ($service = $this->getHtmlPurifierService()) {
return $service->purify($dirtyHtml);
}
return $dirtyHtml;
}
/**
@ -658,6 +660,10 @@ class Comment extends DataObject
*/
public function getHtmlPurifierService()
{
if (!class_exists('HTMLPurifier_Config')) {
return null;
}
$config = HTMLPurifier_Config::createDefault();
$allowedElements = $this->getOption('html_allowed_elements');
$config->set('HTML.AllowedElements', $allowedElements);