835 |
// Booléen retourné |
// Booléen retourné |
836 |
$res_bool = true; |
$res_bool = true; |
837 |
|
|
838 |
// Si le tableau n'est pas vide |
// S'il y a un comparateur |
839 |
if (count($tabRestriction) > 0) { |
if (in_array(">=", $tabRestriction) |
840 |
|
|| in_array("<=", $tabRestriction)) { |
841 |
// Boucle dans le tableau pour récupérer seulement les valeurs |
|
842 |
foreach ($tabRestriction as $key => $value) { |
// Si le tableau n'est pas vide |
843 |
|
if (count($tabRestriction) > 0) { |
844 |
// |
|
845 |
if (!in_array($value, $operateurs)) { |
// Boucle dans le tableau pour récupérer seulement les valeurs |
846 |
if ($this->getRestrictionValue($value) != false) { |
foreach ($tabRestriction as $key => $value) { |
847 |
$res[] = $this->getRestrictionValue($value); |
|
848 |
} else { |
// |
849 |
return false; |
if (!in_array($value, $operateurs)) { |
850 |
|
if ($this->getRestrictionValue($value) != false) { |
851 |
|
$res[] = $this->getRestrictionValue($value); |
852 |
|
} else { |
853 |
|
// Message d'erreur |
854 |
|
$error_message = sprintf(_("Le champ %s de l'instruction %s est vide"), "<span class='bold'>".$value."</span>", "<span class='bold'>".$this->valF["instruction"]."</span>"); |
855 |
|
$this->addToMessage($error_message); |
856 |
|
// Arrête le traitement |
857 |
|
return false; |
858 |
|
} |
859 |
} |
} |
860 |
} |
} |
|
} |
|
861 |
|
|
862 |
// Boucle dans le tableau |
// Boucle dans le tableau |
863 |
// commence à 1 car le 0 doit rester inchangé tout au long du |
// commence à 1 car le 0 doit rester inchangé tout au long du |
864 |
// traitement |
// traitement |
865 |
for ($i = 1; $i<count($tabRestriction); $i++) { |
for ($i = 1; $i<count($tabRestriction); $i++) { |
866 |
|
|
867 |
// Récupère le comparateur |
// Récupère le comparateur |
868 |
if ($tabRestriction[$i] === ">=" |
if ($tabRestriction[$i] === ">=" |
869 |
|| $tabRestriction[$i] === "<=") { |
|| $tabRestriction[$i] === "<=") { |
870 |
$comparateur = $tabRestriction[$i]; |
$comparateur = $tabRestriction[$i]; |
871 |
} |
} |
872 |
|
|
873 |
// Si l'opérateur qui suit est un "+" |
// Si l'opérateur qui suit est un "+" |
874 |
if ($tabRestriction[$i] === "+") { |
if ($tabRestriction[$i] === "+") { |
875 |
$dateDep = strtotime($res[$j]); |
$dateDep = strtotime($res[$j]); |
876 |
unset($res[$j]);$j++; |
unset($res[$j]);$j++; |
877 |
$duree = $res[$j]; |
$duree = $res[$j]; |
878 |
unset($res[$j]); |
unset($res[$j]); |
879 |
$res[$j] = date('Y-m-d', |
$res[$j] = date('Y-m-d', |
880 |
strtotime('+'.$duree.' month', $dateDep)); |
strtotime('+'.$duree.' month', $dateDep)); |
881 |
} |
} |
882 |
|
|
883 |
// Si l'opérateur qui suit est un "-" |
// Si l'opérateur qui suit est un "-" |
884 |
if ($tabRestriction[$i] === "-") { |
if ($tabRestriction[$i] === "-") { |
885 |
$dateDep = strtotime($res[$j]); |
$dateDep = strtotime($res[$j]); |
886 |
unset($res[$j]);$j++; |
unset($res[$j]);$j++; |
887 |
$duree = $res[$j]; |
$duree = $res[$j]; |
888 |
unset($res[$j]); |
unset($res[$j]); |
889 |
$res[$j] = date('Y-m-d', |
$res[$j] = date('Y-m-d', |
890 |
strtotime('-'.$duree.' month', $dateDep)); |
strtotime('-'.$duree.' month', $dateDep)); |
891 |
|
} |
892 |
} |
} |
893 |
|
|
894 |
} |
} |
|
|
|
|
} |
|
895 |
|
|
896 |
// Si les tableau des résultats n'est pas vide |
// Si les tableau des résultats n'est pas vide |
897 |
if (count($res) > 0) { |
if (count($res) > 0) { |
|
// |
|
|
$res_bool = false; |
|
|
// Effectue le test |
|
|
if ($comparateur === ">=") { |
|
898 |
// |
// |
899 |
if (strtotime($res[0]) >= strtotime($res[$j])) { |
$res_bool = false; |
900 |
$res_bool = true; |
// Effectue le test |
901 |
|
if ($comparateur === ">=") { |
902 |
|
// |
903 |
|
if (strtotime($res[0]) >= strtotime($res[$j])) { |
904 |
|
$res_bool = true; |
905 |
|
} |
906 |
} |
} |
907 |
} |
if ($comparateur === "<=") { |
|
if ($comparateur === "<=") { |
|
908 |
|
|
909 |
if (strtotime($res[0]) <= strtotime($res[$j])) { |
if (strtotime($res[0]) <= strtotime($res[$j])) { |
910 |
$res_bool = true; |
$res_bool = true; |
911 |
|
} |
912 |
} |
} |
913 |
} |
} |
914 |
|
// Sinon une erreur s'affiche |
915 |
|
} else { |
916 |
|
|
917 |
|
// Message d'erreur |
918 |
|
$error_message = _("La restriction est sans comparateur"); |
919 |
|
$this->addToMessage($error_message); |
920 |
|
// Arrête le traitement |
921 |
|
return false; |
922 |
} |
} |
923 |
|
|
924 |
return $res_bool; |
return $res_bool; |