BladeOne.php
2 years ago
CSV.php
9 months ago
Calculations.php
2 years ago
Currency.php
8 months ago
Device.php
1 year ago
Device_Cache.php
2 years ago
Dir.php
5 months ago
Format.php
5 months ago
Link_Validator.php
6 months ago
Number_Formatter.php
5 months ago
Obj.php
6 months ago
Request.php
11 months ago
Salt.php
1 year ago
Security.php
1 year ago
Server.php
2 years ago
Singleton.php
2 years ago
String_Util.php
2 years ago
Timezone.php
5 months ago
URL.php
6 months ago
WP_Async_Request.php
1 year ago
Security.php
56 lines
| 1 | <?php |
| 2 | |
| 3 | namespace IAWP\Utils; |
| 4 | |
| 5 | /** @internal */ |
| 6 | class Security |
| 7 | { |
| 8 | public static function json_encode($object) |
| 9 | { |
| 10 | return \json_encode($object, \JSON_HEX_QUOT | \JSON_HEX_TAG | \JSON_HEX_AMP | \JSON_HEX_APOS); |
| 11 | } |
| 12 | public static function string($string) |
| 13 | { |
| 14 | return \trim(\sanitize_text_field($string)); |
| 15 | } |
| 16 | public static function attr($att) |
| 17 | { |
| 18 | return \esc_attr($att); |
| 19 | } |
| 20 | public static function hex($hex) |
| 21 | { |
| 22 | return \sanitize_hex_color($hex); |
| 23 | } |
| 24 | public static function html($html) |
| 25 | { |
| 26 | return \wp_kses_post($html); |
| 27 | } |
| 28 | public static function array($array) |
| 29 | { |
| 30 | if (\is_string($array)) { |
| 31 | return self::string($array); |
| 32 | } |
| 33 | if (\is_array($array)) { |
| 34 | foreach ($array as $key => $value) { |
| 35 | $sanitized_key = \is_string($key) ? self::string($key) : $key; |
| 36 | // Sanitize key if it's a string |
| 37 | $array[$sanitized_key] = self::array($value); |
| 38 | // Recursively sanitize value |
| 39 | if ($sanitized_key !== $key) { |
| 40 | unset($array[$key]); |
| 41 | // Remove old key if changed |
| 42 | } |
| 43 | } |
| 44 | } |
| 45 | return $array; |
| 46 | } |
| 47 | public static function form($html) |
| 48 | { |
| 49 | return \wp_kses($html, ['div' => ['class' => [], 'style' => []], 'select' => ['class' => []], 'option' => ['class' => [], 'value' => [], 'data-datatype' => []], 'input' => ['class' => [], 'type' => [], 'data-css' => [], 'data-dow' => [], 'data-format' => [], 'readonly'], 'button' => ['class' => []], 'span' => ['class' => [], 'style' => []]]); |
| 50 | } |
| 51 | public static function svg($html) |
| 52 | { |
| 53 | return \wp_kses($html, ['svg' => ['height' => [], 'width' => [], 'fill' => [], 'viewbox' => [], 'style' => []], 'path' => ['d' => []]]); |
| 54 | } |
| 55 | } |
| 56 |