79 lines
3.0 KiB
PHP
Executable File
79 lines
3.0 KiB
PHP
Executable File
<?php
|
|
$nomFicAppelant = basename(__FILE__);
|
|
// ---------------------------------------------------
|
|
// Verif match règles
|
|
// -> Prendre chaque condition de chaque regle
|
|
// -> ici on sait que au moins une condition ne sera pas vide car il y a un controle dans le forma admin pour ça
|
|
// -> donc pas de risque de valider une regle avec toutes les conditions vides
|
|
$conditionsRemplies=-1;
|
|
|
|
// pour toutes les regles
|
|
for ( $r=0; $r<count($tabNum); $r++ ) {
|
|
if (isset($debug[2]) && $debug[2] == '1' ) $debugMsg .='conditionsRemplies dans regleMoteur = ' .$conditionsRemplies;
|
|
if ($conditionsRemplies==-1) {
|
|
|
|
// ---------------------------------------------------
|
|
// Recup des parametres de la condition numR
|
|
// ---------------------------------------------------
|
|
$reqSelect = "SELECT codeR, operateurR, seuilR from rConditions where numR=" .$tabC1[$r]. " ;";
|
|
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .='<br>reqSelect = ' .$reqSelect. '';}
|
|
$resConn="";
|
|
try{
|
|
$resConn=$idPdo->query($reqSelect);
|
|
if ($resConn) {
|
|
$test='';
|
|
$tabresultR= $resConn->fetch(PDO::FETCH_ASSOC) ;
|
|
$codeR=$tabresultR['codeR'];
|
|
$operateurR=$tabresultR['operateurR'];
|
|
$seuilR=$tabresultR['seuilR'];
|
|
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .='<span style="color:blue">' .$codeR. ' ' .$operateurR. ' ' .$seuilR . '</span>'; }
|
|
}
|
|
}
|
|
catch (PDOException $e) {
|
|
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .=' PDOException = ' .$e->getMessage(). ' reqSelect = ' .$reqSelect ; }
|
|
}
|
|
|
|
// ---------------------------------------------------
|
|
// TEST sur montant de commande (totalTtcCde)
|
|
// ---------------------------------------------------
|
|
$test=-1;
|
|
$test = strpos ( $codeR, "totalTtcCde" );
|
|
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .='<br><span style="color:black"> test si totalTtcCde => ' .$test. '</span>'; }
|
|
if ($test>-1) {
|
|
|
|
// ---------------------------------------------------
|
|
// Vérifier si la condition s'applique
|
|
// ---------------------------------------------------
|
|
switch ($operateurR) {
|
|
case '<':
|
|
if ($totalTtcCde<$seuilR ) $conditionsRemplies=1; else $conditionsRemplies=-1;
|
|
break;
|
|
|
|
case '<=':
|
|
if ($totalTtcCde<=$seuilR ) $conditionsRemplies=1; else $conditionsRemplies=-1;
|
|
break;
|
|
|
|
case '=':
|
|
if ($totalTtcCde=$seuilR ) $conditionsRemplies=1; else $conditionsRemplies=-1;
|
|
break;
|
|
|
|
case '>':
|
|
if ($totalTtcCde>$seuilR ) $conditionsRemplies=1; else $conditionsRemplies=-1;
|
|
break;
|
|
|
|
case '>=':
|
|
if ($totalTtcCde>=$seuilR ) $conditionsRemplies=1; else $conditionsRemplies=-1;
|
|
break;
|
|
|
|
default :
|
|
if (isset($debug[2]) && $debug[2] == '1' ) $debugMsg .='<br>pas de case totalTtcCde matchée !';
|
|
break;
|
|
}
|
|
}
|
|
|
|
if ($conditionsRemplies==1) $theAvantage = $tabAvantR[$r];
|
|
|
|
} //conditions remplies
|
|
} //for
|
|
$_SESSION['conditionsRemplies']=$conditionsRemplies;
|
|
?>
|