2014-12-17 13:17:08 +01:00
|
|
|
<?php
|
2014-12-17 13:48:03 +01:00
|
|
|
/**
|
|
|
|
* This software is governed by the CeCILL-B license. If a copy of this license
|
|
|
|
* is not distributed with this file, you can obtain one at
|
|
|
|
* http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.txt
|
|
|
|
*
|
|
|
|
* Authors of STUdS (initial project): Guilhem BORGHESI (borghesi@unistra.fr) and Raphaël DROZ
|
|
|
|
* Authors of Framadate/OpenSondate: Framasoft (https://github.com/framasoft)
|
|
|
|
*
|
|
|
|
* =============================
|
|
|
|
*
|
|
|
|
* Ce logiciel est régi par la licence CeCILL-B. Si une copie de cette licence
|
|
|
|
* ne se trouve pas avec ce fichier vous pouvez l'obtenir sur
|
|
|
|
* http://www.cecill.info/licences/Licence_CeCILL-B_V1-fr.txt
|
|
|
|
*
|
|
|
|
* Auteurs de STUdS (projet initial) : Guilhem BORGHESI (borghesi@unistra.fr) et Raphaël DROZ
|
|
|
|
* Auteurs de Framadate/OpenSondage : Framasoft (https://github.com/framasoft)
|
|
|
|
*/
|
2014-12-17 13:17:08 +01:00
|
|
|
namespace Framadate\Services;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This class helps to clean all inputs from the users or external services.
|
|
|
|
*/
|
|
|
|
class InputService {
|
|
|
|
|
|
|
|
function __construct() {}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This method filter an array calling "filter_var" on each items.
|
|
|
|
* Only items validated are added at their own indexes, the others are not returned.
|
|
|
|
*/
|
2015-01-05 23:30:47 +01:00
|
|
|
function filterArray(array $arr, $type, $options = null) {
|
2014-12-17 13:17:08 +01:00
|
|
|
$newArr = [];
|
|
|
|
|
|
|
|
foreach($arr as $id=>$item) {
|
|
|
|
$item = filter_var($item, $type, $options);
|
|
|
|
if ($item !== false) {
|
|
|
|
$newArr[$id] = $item;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return $newArr;
|
|
|
|
}
|
|
|
|
|
2014-12-18 13:57:25 +01:00
|
|
|
function filterAllowedValues($value, array $allowedValues) {
|
|
|
|
return in_array($value, $allowedValues, true) ? $value : null;
|
|
|
|
}
|
|
|
|
|
2014-12-17 13:17:08 +01:00
|
|
|
}
|