@@ -38,6 +38,7 @@ class Valigator
38
38
'bool ' => 'boolean ' ,
39
39
'casttonum ' => 'casttonumeric ' ,
40
40
'casttonumber ' => 'casttonumeric ' ,
41
+ 'defaultphp ' => 'defaultspecial ' ,
41
42
'encode_amp ' => FILTER_FLAG_ENCODE_AMP ,
42
43
'encode_high ' => FILTER_FLAG_ENCODE_HIGH ,
43
44
'encode_low ' => FILTER_FLAG_ENCODE_LOW ,
@@ -1269,7 +1270,7 @@ public function runSanitizations($input)
1269
1270
}
1270
1271
}
1271
1272
1272
- if ($ filterSynonym == 'default ' ) {
1273
+ if (in_array ( $ filterSynonym, [ 'default ' , ' defaultspecial ' ]) ) {
1273
1274
$ method = "sanitize_ {$ filterSynonym }" ;
1274
1275
$ fieldValue = &$ this ->_getFieldValueFromInput ($ field , $ input , TRUE );
1275
1276
$ fieldValue = $ this ->$ method ($ fieldValue , $ argsSynonyms );
@@ -1459,6 +1460,24 @@ protected function sanitize_default($value, $args = NULL)
1459
1460
return ($ value === NULL || $ value === '' || $ value === array ()) ? $ args [0 ] : $ value ;
1460
1461
}
1461
1462
1463
+ protected function sanitize_defaultspecial ($ value , $ args = NULL )
1464
+ {
1465
+ if ($ value === NULL || $ value === '' || $ value === array ()) {
1466
+ switch (strtolower ($ args [0 ])) {
1467
+ case 'null ' :
1468
+ $ value = NULL ;
1469
+ break ;
1470
+ case 'array() ' :
1471
+ case '[] ' :
1472
+ $ value = array ();
1473
+ break ;
1474
+ default :
1475
+ $ value = $ args [0 ];
1476
+ }
1477
+ }
1478
+ return $ value ;
1479
+ }
1480
+
1462
1481
/**
1463
1482
* Sanitize the string by removing illegal characters from emails.
1464
1483
*
0 commit comments