Màj checkParam pour aurélien
This commit is contained in:
parent
ad091e8f9a
commit
f0222656ab
|
@ -129,76 +129,31 @@
|
|||
* @return toutOK<Boolean> VRAI si variables bonnes / FAUX sinon
|
||||
*
|
||||
*/
|
||||
function checkParam($tabVar, $tabType, $tabForm) {
|
||||
// FORMAT DE $tabVar
|
||||
//
|
||||
// $tabVar = array(
|
||||
// $stringVar, // chaine de caractères
|
||||
// $integerVar, // entier
|
||||
// $numericVar, // nombre (sous forme d'entier ou de chaine)
|
||||
// $arrayVar // tableau
|
||||
// );
|
||||
function checkParam($variable, $type){
|
||||
$checker = isset($variable);
|
||||
|
||||
// FORMAT DE $tabType
|
||||
//
|
||||
// $tabType = array(
|
||||
// 'string', // chaine de caractères
|
||||
// 'int', // entier
|
||||
// 'numeric', // nombre (sous forme d'entier ou de chaine)
|
||||
// 'array' // tableau
|
||||
// );
|
||||
|
||||
|
||||
// FORMAT DE $tabForm
|
||||
//
|
||||
// $tabType = array(
|
||||
// '/^[a-z0-9]{1,5}$/i', // chaine de caractères
|
||||
// '/^[0-9]+$/', // entier
|
||||
// '/^[0-9]+$/', // nombre (sous forme d'entier ou de chaine)
|
||||
// '??????' // tableau
|
||||
// );
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* [1] Vérification de l'intégrité des tableaux
|
||||
=============================================================================*/
|
||||
$areArrays = is_array($tabVar) && is_array($tabForm); // si ce sont bien des tabeaux
|
||||
$areNEmpty = $areArrays && count($tabVar) > 0; // si ils ne sont pas vides
|
||||
$haveEqLen = $areNEmpty && count($tabVar) == count($tabForm); // si ils ont la même taille
|
||||
|
||||
if( !$haveEqLen ) // si toutes les conditions ne sont pas vérifiées
|
||||
return false; // on retourne faux, car ne pourra pas être vrai
|
||||
|
||||
|
||||
/* [2] Pour chaque variable on vérifie les données
|
||||
=============================================================================*/
|
||||
$checker = false; // on définit le checker à VRAI
|
||||
|
||||
// Vérification des types
|
||||
|
||||
// pour chaque variable
|
||||
for($i = 0 ; $i < count($tabVar) ; $i++) {
|
||||
|
||||
switch($tabType[$i]) {
|
||||
|
||||
case 'string': if( is_string($tabForm[$i]) )
|
||||
$checker = is_string($tabVar[$i]) && preg_match($tabForm[$i], (String) $tabVar[$i]);
|
||||
break;
|
||||
case 'int': if( is_string($tabForm[$i]) )
|
||||
$checker = is_int($tabVar[$i]) && preg_match($tabForm[$i], (String) $tabVar[$i]);
|
||||
break;
|
||||
case 'numeric': if( is_string($tabForm[$i]) )
|
||||
$checker = is_numeric($tabVar[$i]) && preg_match($tabForm[$i], (String) $tabVar[$i]);
|
||||
break;
|
||||
case 'array': if( is_numeric($tabForm[$i]) )
|
||||
$checker = is_array($tabVar[i]) && count($tabVar[$i]) > 0;
|
||||
break;
|
||||
}
|
||||
// traitement en fonction du type
|
||||
switch($type){
|
||||
case 'utilisateur.identifiant':
|
||||
return $checker && is_string($variable) && preg_match('/^[\w -]{3,50}$/i', $variable);
|
||||
break;
|
||||
case '<string>':
|
||||
return $checker && is_string($variable);
|
||||
break;
|
||||
case '<int>':
|
||||
return $checker && is_int($variable);
|
||||
break;
|
||||
case '<numeric>':
|
||||
return $checker && is_numeric($variable);
|
||||
break;
|
||||
case '<array>':
|
||||
return $checker && is_array($variable);
|
||||
break;
|
||||
case '<boolean>':
|
||||
return $checker && is_bool($variable);
|
||||
break;
|
||||
}
|
||||
|
||||
return $checker;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue