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