Spaces:
No application file
No application file
File size: 1,129 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
<?php
namespace Mautic\PluginBundle\Helper;
class Cleaner
{
public const FIELD_TYPE_STRING = 'string';
public const FIELD_TYPE_BOOL = 'boolean';
public const FIELD_TYPE_NUMBER = 'number';
public const FIELD_TYPE_DATETIME = 'datetime';
public const FIELD_TYPE_DATE = 'date';
/**
* @return bool|float|string
*/
public static function clean($value, $fieldType = self::FIELD_TYPE_STRING)
{
$clean = strip_tags(html_entity_decode($value, ENT_QUOTES));
switch ($fieldType) {
case self::FIELD_TYPE_BOOL:
return (bool) $clean;
case self::FIELD_TYPE_NUMBER:
return (float) $clean;
case self::FIELD_TYPE_DATETIME:
$dateTimeValue = new \DateTime($value);
return (!empty($clean)) ? $dateTimeValue->format('c') : '';
case self::FIELD_TYPE_DATE:
$dateTimeValue = new \DateTime($value);
return (!empty($clean)) ? $dateTimeValue->format('Y-m-d') : '';
default:
return $clean;
}
}
}
|