Màj checkParam pour aurélien

This commit is contained in:
xdrm-brackets 2015-11-18 09:48:08 +01:00
parent ad091e8f9a
commit f0222656ab
1 changed files with 23 additions and 68 deletions

View File

@ -129,76 +129,31 @@
* @return toutOK<Boolean> VRAI si variables bonnes / FAUX sinon * @return toutOK<Boolean> VRAI si variables bonnes / FAUX sinon
* *
*/ */
function checkParam($tabVar, $tabType, $tabForm) { function checkParam($variable, $type){
// FORMAT DE $tabVar $checker = isset($variable);
//
// $tabVar = array(
// $stringVar, // chaine de caractères
// $integerVar, // entier
// $numericVar, // nombre (sous forme d'entier ou de chaine)
// $arrayVar // tableau
// );
// FORMAT DE $tabType // traitement en fonction du type
// switch($type){
// $tabType = array( case 'utilisateur.identifiant':
// 'string', // chaine de caractères return $checker && is_string($variable) && preg_match('/^[\w -]{3,50}$/i', $variable);
// 'int', // entier break;
// 'numeric', // nombre (sous forme d'entier ou de chaine) case '<string>':
// 'array' // tableau return $checker && is_string($variable);
// ); break;
case '<int>':
return $checker && is_int($variable);
// FORMAT DE $tabForm break;
// case '<numeric>':
// $tabType = array( return $checker && is_numeric($variable);
// '/^[a-z0-9]{1,5}$/i', // chaine de caractères break;
// '/^[0-9]+$/', // entier case '<array>':
// '/^[0-9]+$/', // nombre (sous forme d'entier ou de chaine) return $checker && is_array($variable);
// '??????' // tableau break;
// ); case '<boolean>':
return $checker && is_bool($variable);
break;
/* [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;
}
} }
return $checker;
} }