[ Index ] |
PHP Cross Reference of phpBB-3.3.14-deutsch |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * @package s9e\TextFormatter 5 * @copyright Copyright (c) 2010-2022 The s9e authors 6 * @license http://www.opensource.org/licenses/mit-license.php The MIT License 7 */ 8 namespace s9e\TextFormatter\Parser\AttributeFilters; 9 10 use s9e\TextFormatter\Parser\Logger; 11 12 class NumericFilter 13 { 14 /** 15 * Filter a float value 16 * 17 * @param string $attrValue Original value 18 * @return mixed Filtered value, or FALSE if invalid 19 */ 20 public static function filterFloat($attrValue) 21 { 22 return filter_var($attrValue, FILTER_VALIDATE_FLOAT); 23 } 24 25 /** 26 * Filter an int value 27 * 28 * @param string $attrValue Original value 29 * @return mixed Filtered value, or FALSE if invalid 30 */ 31 public static function filterInt($attrValue) 32 { 33 return filter_var($attrValue, FILTER_VALIDATE_INT); 34 } 35 36 /** 37 * Filter a range value 38 * 39 * @param string $attrValue Original value 40 * @param integer $min Minimum value 41 * @param integer $max Maximum value 42 * @param Logger $logger Parser's Logger instance 43 * @return mixed Filtered value, or FALSE if invalid 44 */ 45 public static function filterRange($attrValue, $min, $max, Logger $logger = null) 46 { 47 $attrValue = filter_var($attrValue, FILTER_VALIDATE_INT); 48 49 if ($attrValue === false) 50 { 51 return false; 52 } 53 54 if ($attrValue < $min) 55 { 56 if (isset($logger)) 57 { 58 $logger->warn( 59 'Value outside of range, adjusted up to min value', 60 [ 61 'attrValue' => $attrValue, 62 'min' => $min, 63 'max' => $max 64 ] 65 ); 66 } 67 68 return $min; 69 } 70 71 if ($attrValue > $max) 72 { 73 if (isset($logger)) 74 { 75 $logger->warn( 76 'Value outside of range, adjusted down to max value', 77 [ 78 'attrValue' => $attrValue, 79 'min' => $min, 80 'max' => $max 81 ] 82 ); 83 } 84 85 return $max; 86 } 87 88 return $attrValue; 89 } 90 91 /** 92 * Filter a uint value 93 * 94 * @param string $attrValue Original value 95 * @return mixed Filtered value, or FALSE if invalid 96 */ 97 public static function filterUint($attrValue) 98 { 99 return filter_var($attrValue, FILTER_VALIDATE_INT, [ 100 'options' => ['min_range' => 0] 101 ]); 102 } 103 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Mon Nov 25 19:05:08 2024 | Cross-referenced by PHPXref 0.7.1 |