Update Kirby and dependencies
This commit is contained in:
parent
750b9cc83e
commit
8c71a258b6
59 changed files with 2143 additions and 813 deletions
|
@ -6,10 +6,8 @@ namespace Laminas\Escaper;
|
|||
|
||||
use function bin2hex;
|
||||
use function ctype_digit;
|
||||
use function function_exists;
|
||||
use function hexdec;
|
||||
use function htmlspecialchars;
|
||||
use function iconv;
|
||||
use function in_array;
|
||||
use function mb_convert_encoding;
|
||||
use function ord;
|
||||
|
@ -38,7 +36,7 @@ class Escaper
|
|||
* entities that XML supports. Using HTML entities would result in this error:
|
||||
* XML Parsing Error: undefined entity
|
||||
*
|
||||
* @var array
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected static $htmlNamedEntityMap = [
|
||||
34 => 'quot', // quotation mark
|
||||
|
@ -67,6 +65,7 @@ class Escaper
|
|||
* Static Matcher which escapes characters for HTML Attribute contexts
|
||||
*
|
||||
* @var callable
|
||||
* @psalm-var callable(array<array-key, string>):string
|
||||
*/
|
||||
protected $htmlAttrMatcher;
|
||||
|
||||
|
@ -74,6 +73,7 @@ class Escaper
|
|||
* Static Matcher which escapes characters for Javascript contexts
|
||||
*
|
||||
* @var callable
|
||||
* @psalm-var callable(array<array-key, string>):string
|
||||
*/
|
||||
protected $jsMatcher;
|
||||
|
||||
|
@ -81,6 +81,7 @@ class Escaper
|
|||
* Static Matcher which escapes characters for CSS Attribute contexts
|
||||
*
|
||||
* @var callable
|
||||
* @psalm-var callable(array<array-key, string>):string
|
||||
*/
|
||||
protected $cssMatcher;
|
||||
|
||||
|
@ -255,7 +256,7 @@ class Escaper
|
|||
* Callback function for preg_replace_callback that applies HTML Attribute
|
||||
* escaping to all matches.
|
||||
*
|
||||
* @param array $matches
|
||||
* @param array<array-key, string> $matches
|
||||
* @return string
|
||||
*/
|
||||
protected function htmlAttrMatcher($matches)
|
||||
|
@ -302,7 +303,7 @@ class Escaper
|
|||
* Callback function for preg_replace_callback that applies Javascript
|
||||
* escaping to all matches.
|
||||
*
|
||||
* @param array $matches
|
||||
* @param array<array-key, string> $matches
|
||||
* @return string
|
||||
*/
|
||||
protected function jsMatcher($matches)
|
||||
|
@ -325,7 +326,7 @@ class Escaper
|
|||
* Callback function for preg_replace_callback that applies CSS
|
||||
* escaping to all matches.
|
||||
*
|
||||
* @param array $matches
|
||||
* @param array<array-key, string> $matches
|
||||
* @return string
|
||||
*/
|
||||
protected function cssMatcher($matches)
|
||||
|
@ -391,32 +392,21 @@ class Escaper
|
|||
}
|
||||
|
||||
/**
|
||||
* Encoding conversion helper which wraps iconv and mbstring where they exist or throws
|
||||
* and exception where neither is available.
|
||||
* Encoding conversion helper which wraps mb_convert_encoding
|
||||
*
|
||||
* @param string $string
|
||||
* @param string $to
|
||||
* @param array|string $from
|
||||
* @throws Exception\RuntimeException
|
||||
* @return string
|
||||
*/
|
||||
protected function convertEncoding($string, $to, $from)
|
||||
{
|
||||
if (function_exists('iconv')) {
|
||||
$result = iconv($from, $to, $string);
|
||||
} elseif (function_exists('mb_convert_encoding')) {
|
||||
$result = mb_convert_encoding($string, $to, $from);
|
||||
} else {
|
||||
throw new Exception\RuntimeException(
|
||||
static::class
|
||||
. ' requires either the iconv or mbstring extension to be installed'
|
||||
. ' when escaping for non UTF-8 strings.'
|
||||
);
|
||||
}
|
||||
$result = mb_convert_encoding($string, $to, $from);
|
||||
|
||||
if ($result === false) {
|
||||
return ''; // return non-fatal blank string on encoding errors from users
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue