HTML::htmlent and HTML::checked updates
Changed Params form ENT_COMPAT | ENT_HTML401 to ENT_QUOTES | ENT_HTML5 Flags can be overwritten on call Logic clean up for return flow HTML::checked gets logic updated with less nested ifs
This commit is contained in:
@@ -39,9 +39,9 @@ parameters:
|
|||||||
- www/vendor
|
- www/vendor
|
||||||
# ignore errores with
|
# ignore errores with
|
||||||
ignoreErrors:
|
ignoreErrors:
|
||||||
# - # in the class_test tree we allow deprecated calls
|
- # in the class_test tree we allow deprecated calls
|
||||||
# message: "#^Call to deprecated method #"
|
message: "#^Call to deprecated method #"
|
||||||
# path: %currentWorkingDirectory%/www/admin/class_test.*.php
|
path: %currentWorkingDirectory%/www/admin/class_test.*.php
|
||||||
# - '#Expression in empty\(\) is always falsy.#'
|
# - '#Expression in empty\(\) is always falsy.#'
|
||||||
# -
|
# -
|
||||||
# message: '#Reflection error: [a-zA-Z0-9\\_]+ not found.#'
|
# message: '#Reflection error: [a-zA-Z0-9\\_]+ not found.#'
|
||||||
|
|||||||
@@ -68,8 +68,10 @@ $checked_list = [
|
|||||||
['foo', ['bar']],
|
['foo', ['bar']],
|
||||||
];
|
];
|
||||||
foreach ($checked_list as $check) {
|
foreach ($checked_list as $check) {
|
||||||
print "CHECKED(0): $check[0]: " . Html::checked($check[1], $check[0]) . "<br>";
|
print "CHECKED(0): " . $check[0] . " -> " . print_r($check[1], true) . ": "
|
||||||
print "CHECKED(1): $check[0]: " . Html::checked($check[1], $check[0], Html::CHECKED) . "<br>";
|
. Html::checked($check[1], $check[0]) . "<br>";
|
||||||
|
print "CHECKED(1): " . $check[0] . " -> " . print_r($check[1], true) . ": "
|
||||||
|
. Html::checked($check[1], $check[0], Html::CHECKED) . "<br>";
|
||||||
}
|
}
|
||||||
|
|
||||||
// magic link creation test
|
// magic link creation test
|
||||||
|
|||||||
@@ -16,16 +16,22 @@ class Html
|
|||||||
/**
|
/**
|
||||||
* full wrapper for html entities
|
* full wrapper for html entities
|
||||||
*
|
*
|
||||||
|
* uses default params as: ENT_QUOTES | ENT_HTML5
|
||||||
|
* switches from ENT_HTML401 to ENT_HTML5 as we assume all our pages have <!DOCTYPE html>
|
||||||
|
* removed: ENT_SUBSTITUTE -> wrong characters will be replaced with space
|
||||||
|
* encodes in UTF-8
|
||||||
|
* does not double encode
|
||||||
|
*
|
||||||
* @param mixed $string string to html encode
|
* @param mixed $string string to html encode
|
||||||
|
* @param int $flags [default: ENT_QUOTES | ENT_HTML5]
|
||||||
* @return mixed if string, encoded, else as is (eg null)
|
* @return mixed if string, encoded, else as is (eg null)
|
||||||
*/
|
*/
|
||||||
public static function htmlent(mixed $string): mixed
|
public static function htmlent(mixed $string, int $flags = ENT_QUOTES | ENT_HTML5): mixed
|
||||||
{
|
{
|
||||||
if (is_string($string)) {
|
if (is_string($string)) {
|
||||||
return htmlentities($string, ENT_COMPAT | ENT_HTML401, 'UTF-8', false);
|
return htmlentities($string, $flags, 'UTF-8', false);
|
||||||
} else {
|
|
||||||
return $string;
|
|
||||||
}
|
}
|
||||||
|
return $string;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -54,14 +60,10 @@ class Html
|
|||||||
*/
|
*/
|
||||||
public static function checked(array|string $haystack, string $needle, int $type = 0): ?string
|
public static function checked(array|string $haystack, string $needle, int $type = 0): ?string
|
||||||
{
|
{
|
||||||
if (is_array($haystack)) {
|
if (is_array($haystack) && in_array($needle, $haystack)) {
|
||||||
if (in_array($needle, $haystack)) {
|
return $type ? 'checked' : 'selected';
|
||||||
return $type ? 'checked' : 'selected';
|
} elseif (!is_array($haystack) && $haystack == $needle) {
|
||||||
}
|
return $type ? 'checked' : 'selected';
|
||||||
} else {
|
|
||||||
if ($haystack == $needle) {
|
|
||||||
return $type ? 'checked' : 'selected';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user