alpha_full/pages/panier/_modeLivraison/regleMoteurLivr.php
2026-04-06 22:58:51 +02:00

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;
?>