diff --git a/plugin/htmlpurifier/HTMLPurifier.standalone.php b/plugin/htmlpurifier/HTMLPurifier.standalone.php
index 6e9db001f..21b22df96 100644
--- a/plugin/htmlpurifier/HTMLPurifier.standalone.php
+++ b/plugin/htmlpurifier/HTMLPurifier.standalone.php
@@ -7,7 +7,7 @@
* primary concern and you are using an opcode cache. PLEASE DO NOT EDIT THIS
* FILE, changes will be overwritten the next time the script is run.
*
- * @version 4.13.0
+ * @version 4.14.0
*
* @warning
* You must *not* include any other HTML Purifier files before this file,
@@ -39,7 +39,7 @@
*/
/*
- HTML Purifier 4.13.0 - Standards Compliant HTML Filtering
+ HTML Purifier 4.14.0 - Standards Compliant HTML Filtering
Copyright (C) 2006-2008 Edward Z. Yang
This library is free software; you can redistribute it and/or
@@ -78,12 +78,12 @@ class HTMLPurifier
* Version of HTML Purifier.
* @type string
*/
- public $version = '4.13.0';
+ public $version = '4.14.0';
/**
* Constant with version of HTML Purifier.
*/
- const VERSION = '4.13.0';
+ const VERSION = '4.14.0';
/**
* Global configuration object.
@@ -1312,6 +1312,22 @@ class HTMLPurifier_CSSDefinition extends HTMLPurifier_Definition
);
$this->info['background-position'] = new HTMLPurifier_AttrDef_CSS_BackgroundPosition();
+ $this->info['background-size'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_Enum(
+ array(
+ 'auto',
+ 'cover',
+ 'contain',
+ 'initial',
+ 'inherit',
+ )
+ ),
+ new HTMLPurifier_AttrDef_CSS_Percentage(),
+ new HTMLPurifier_AttrDef_CSS_Length()
+ )
+ );
+
$border_color =
$this->info['border-top-color'] =
$this->info['border-bottom-color'] =
@@ -1811,7 +1827,7 @@ class HTMLPurifier_Config
* HTML Purifier's version
* @type string
*/
- public $version = '4.13.0';
+ public $version = '4.14.0';
/**
* Whether or not to automatically finalize
@@ -2593,7 +2609,7 @@ class HTMLPurifier_Config
if ($index !== false) {
$array = (isset($array[$index]) && is_array($array[$index])) ? $array[$index] : array();
}
- $mq = $mq_fix && function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc();
+ $mq = $mq_fix && version_compare(PHP_VERSION, '7.4.0', '<') && function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc();
$allowed = HTMLPurifier_Config::getAllowedDirectivesForForm($allowed, $schema);
$ret = array();
@@ -6207,8 +6223,9 @@ class HTMLPurifier_HTMLModule
*/
public function makeLookup($list)
{
+ $args = func_get_args();
if (is_string($list)) {
- $list = func_get_args();
+ $list = $args;
}
$ret = array();
foreach ($list as $value) {
@@ -11074,6 +11091,7 @@ class HTMLPurifier_AttrDef_CSS_Background extends HTMLPurifier_AttrDef
$this->info['background-repeat'] = $def->info['background-repeat'];
$this->info['background-attachment'] = $def->info['background-attachment'];
$this->info['background-position'] = $def->info['background-position'];
+ $this->info['background-size'] = $def->info['background-size'];
}
/**
@@ -11102,6 +11120,7 @@ class HTMLPurifier_AttrDef_CSS_Background extends HTMLPurifier_AttrDef
$caught['repeat'] = false;
$caught['attachment'] = false;
$caught['position'] = false;
+ $caught['size'] = false;
$i = 0; // number of catches
@@ -15268,7 +15287,7 @@ class HTMLPurifier_ChildDef_Table extends HTMLPurifier_ChildDef
}
}
- if (empty($content)) {
+ if (empty($content) && $thead === false && $tfoot === false) {
return false;
}
@@ -17625,10 +17644,7 @@ class HTMLPurifier_HTMLModule_Tidy extends HTMLPurifier_HTMLModule
$type = "info_$type";
$e = $this;
}
- // PHP does some weird parsing when I do
- // $e->$type[$attr], so I have to assign a ref.
- $f =& $e->$type;
- $f[$attr] = $fix;
+ $e->{$type}[$attr] = $fix;
break;
case 'tag_transform':
$this->info_tag_transform[$params['element']] = $fix;
@@ -17968,9 +17984,11 @@ class HTMLPurifier_HTMLModule_Tidy_XHTMLAndHTML4 extends HTMLPurifier_HTMLModule
// @vspace for img ------------------------------------------------
$r['img@vspace'] = new HTMLPurifier_AttrTransform_ImgSpace('vspace');
- // @width for hr, td, th ------------------------------------------
+ // @width for table, hr, td, th, col ------------------------------------------
+ $r['table@width'] =
$r['td@width'] =
$r['th@width'] =
+ $r['col@width'] =
$r['hr@width'] = new HTMLPurifier_AttrTransform_Length('width');
return $r;
@@ -18507,6 +18525,9 @@ class HTMLPurifier_Injector_Linkify extends HTMLPurifier_Injector
'/\\b((?:[a-z][\\w\\-]+:(?:\\/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}\\/)(?:[^\\s()<>]|\\((?:[^\\s()<>]|(?:\\([^\\s()<>]+\\)))*\\))+(?:\\((?:[^\\s()<>]|(?:\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:\'".,<>?\x{00ab}\x{00bb}\x{201c}\x{201d}\x{2018}\x{2019}]))/iu',
$token->data, -1, PREG_SPLIT_DELIM_CAPTURE);
+ if ($bits === false) {
+ return;
+ }
$token = array();
diff --git a/plugin/htmlpurifier/standalone/HTMLPurifier/Language/classes/en-x-test.php b/plugin/htmlpurifier/standalone/HTMLPurifier/Language/classes/en-x-test.php
deleted file mode 100644
index 8828f5cde..000000000
--- a/plugin/htmlpurifier/standalone/HTMLPurifier/Language/classes/en-x-test.php
+++ /dev/null
@@ -1,9 +0,0 @@
- 'HTML Purifier X'
-);
-
-// vim: et sw=4 sts=4
diff --git a/plugin/htmlpurifier/standalone/HTMLPurifier/Language/messages/en-x-testmini.php b/plugin/htmlpurifier/standalone/HTMLPurifier/Language/messages/en-x-testmini.php
deleted file mode 100644
index 806c83fbf..000000000
--- a/plugin/htmlpurifier/standalone/HTMLPurifier/Language/messages/en-x-testmini.php
+++ /dev/null
@@ -1,12 +0,0 @@
- 'HTML Purifier XNone'
-);
-
-// vim: et sw=4 sts=4