123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257 |
- <?php
- ini_set('display_errors', 'Off');
- ini_set('log_errors', 'Off');
- session_start();
- //Librairie de fonctions
- require (__DIR__ . '/vendor/autoload.php');
- require_once("lib/libconfig.inc.php");
- require_once("lib/libsession.inc.php");
- require_once("lib/libfonctions.inc.php");
- require_once("lib/libmysql.inc.php");
- require_once("lib/libencode.inc.php");
- require_once("lib/libforms.inc.php");
- require_once("lib/libcourriel.inc.php");
- require_once("lib/libliberations.inc.php");
- require_once("lib/lib2fa.inc.php");
- //Encodage des caractères
- header('Content-Type: text/html; charset=$ENCODAGE');
- unset($msg);
- $msg = "vide";
- if (isset($_POST['bouton'])) {
- $msg = "vide2";
- //filtrer_valeur_saisie();
- // Retrait de la fonction import_request_variable.
- // Remplacer par une extraction manuelle de toutes les valeurs requises.
- // Simon G. 2013-10-12
- // import_request_variables("P", "r");
- if (is_array($_POST) && count($_POST) > 0) {
- foreach ($_POST as $clef => $valeur) {
- unset($nom_var);
- $nom_var = "r" . $clef;
- $$nom_var = $_POST[$clef];
- }
- }
- $rbouton = antiInjection($rbouton);
- unset($operation);
- $opereussie = true;
- switch ($rbouton) {
- case "verification":
- if ($rltypeopr != "" && $rldatecreation != "" && $rlreference != "") {
- // Validation du type d'opération
- $rltypeopr2 = antiInjection($rltypeopr);
- if ($rltypeopr2 != "1" && $rltypeopr2 != "2") {
- $opereussie = false;
- $msg = "Le type d'opé n'a pas été choisit.";
- break;
- }
- // Validation de la date de cr�ation
- $rldatecreation = antiInjection($rldatecreation);
- if (strtotime($rldatecreation) == false) {
- $opereussie = false;
- $msg = "Le format de date de création est invalide.";
- break;
- }
- //La référence est le numéro de l'employé dans la bd
- $rlreference = antiInjection($rlreference);
- unset($sqlparam, $result);
- $sqlparam["table"][] = "employes";
- $sqlparam["champs"][] = "CONCAT(nomfamille,\", \",prenom) as nomemploye";
- $sqlparam["where"][] = sprintf("refemploye = %d", $rlreference);
- $result = executerRequeteSql($sqlparam);
- if (isset($result) && is_array($result) && count($result) > 0) {
- //Ajout de l'entête de la libération
- $nomemploye = $result[0]["nomemploye"];
- $datetemp = $rdatelib;
- $lieutemp = $rlieu;
- $detailtemp = $rldetail;
- unset($rdatelib);
- unset($rlieu);
- unset($rldetail);
- //Calcul du nombre de ligne à insérer
- if (strpos($datetemp, "**") !== false) {
- $rdatelib = explode("**", $datetemp);
- } else {
- $rdatelib[0] = $datetemp;
- }
- if (strpos($rlcomm, "**") !== false) {
- $rcommentaire = explode("**", $rlcomm);
- } else {
- $rcommentaire[0] = $rlcomm;
- }
- if (strpos($lieutemp, "**") !== false) {
- $rlieu = explode("**", $lieutemp);
- } else {
- $rlieu[0] = $lieutemp;
- }
- if (strpos($rlassume, "**") !== false) {
- $rlassumerpar = explode("**", $rlassume);
- } else {
- $rlassumerpar[0] = $rlassume;
- }
- if (strpos($rlart, "**") !== false) {
- $rlarticle = explode("**", $rlart);
- } else {
- $rlarticle[0] = $rlart;
- }
- if (strpos($rldur, "**") !== false) {
- $rlduree = explode("**", $rldur);
- } else {
- $rlduree[0] = $rldur;
- }
- if (strpos($detailtemp, "**") !== false) {
- $rldetail = explode("**", $detailtemp);
- } else {
- $rldetail[0] = $detailtemp;
- }
- $nombreligne = sizeof($rdatelib);
- //Vérification du détail de la libération de chaque ligne
- for ($x = 0; $x < $nombreligne; $x++) {
- // Validation sur la date
- $rdatelib2 = antiInjection($rdatelib[$x]);
- if (strtotime($rdatelib2) == false) {
- $opereussie = false;
- $msg = "Le format de la date de libération «$rdatelib2» est invalide.";
- break;
- }
- // Validation sur l'article
- $rlarticle2 = antiInjection($rlarticle[$x]);
- unset($sqlparam, $result1);
- $sqlparam["table"][] = "articles";
- $sqlparam["champs"][] = "refarticle";
- $sqlparam["champs"][] = "noarticle";
- $sqlparam["where"][] = sprintf("refarticle='%s'", $rlarticle2);
- $result1 = executerRequeteSql($sqlparam);
- if (isset($result1) && is_array($result1) && sizeof($result1) > 0) {
- $refarticle = $result1[0]["noarticle"];
- } else {
- $opereussie = false;
- $msg = "Le numéro d'article «$rlarticle2» est inconnu.";
- break;
- }
- //Validation sur le commentaire
- $rcommentaire2 = antiInjection($rcommentaire[$x]);
- if (empty($rcommentaire2)) {
- $opereussie = false;
- $msg = "Le commentaire est vide";
- break;
- }
- // Validation sur la durée
- $rlduree2 = antiInjection($rlduree[$x]);
- unset($sqlparam, $result1);
- $sqlparam["table"][] = "duree";
- $sqlparam["champs"][] = "refduree";
- $sqlparam["where"][] = sprintf("refduree='%s'", $rlduree2);
- $result1 = executerRequeteSql($sqlparam);
- if (isset($result1) && is_array($result1) && sizeof($result1) > 0) {
- $refduree = $result1[0]["refduree"];
- } else {
- $opereussie = false;
- $msg = "La durée «$rlduree2» est inconnue.";
- break;
- }
- // Validation sur le lieu
- $rlieu2 = antiInjection($rlieu[$x]);
- if (empty($rlieu2)) {
- $opereussie = false;
- $msg = "Le lieu est vide";
- break;
- }
- if (empty($rcommentaire2)) {
- $opereussie = false;
- $msg = "Le commentaire est vide";
- break;
- }
- // Validation sur le payeur
- $rlassumerpar2 = antiInjection($rlassumerpar[$x]);
- if ($rlassumerpar2 != "Syndicat" && $rlassumerpar2 != "Employeur") {
- $opereussie = false;
- $msg = "L'organisme payeur n'a pas été choisit.";
- break;
- }
- // Validation pour vérifier s'il existe un autre document
- // créé avec la même date de libération, le même employé et le même article
- unset($sqlparam, $result1);
- $sqlparam["table"][] = "liberations";
- $sqlparam["table"][] = "ligneliberations";
- $sqlparam["champs"][] = "liberations.refliberation";
- $sqlparam["join"][] = "ligneliberations.refliberation=liberations.refliberation";
- $sqlparam["where"][] = "DATE_FORMAT(ligneliberations.dateliberation,'%Y-%m-%d')='" .
- sprintf("%s'", $rdatelib2);
- $sqlparam["where"][] = sprintf("liberations.refemploye=%d", $rlreference);
- $sqlparam["where"][] = sprintf("liberations.typeoperation=%d", $rltypeopr2);
- //$sqlparam["where"][] = sprintf("ligneliberations.refarticle=%d", $rlarticle2);
- // Clef existe si le mode est modification.
- if (array_key_exists($x, $rldetail) && $rldetail[$x] > 0) {
- //$sqlparam["where"][] = sprintf("ligneliberations.refligneliberation<>%d", $rldetail[$x]);
- }
- $sqlparam["where"][] = "liberations.refliberation>0";
- $result1 = executerRequeteSql($sqlparam);
- if (isset($result1) && is_array($result1) && sizeof($result1) > 0) {
- $opereussie = false;
- $msg = sprintf("La date de libération «%s» avec l'article «%s» pour l'employé «%s» a "
- . "déjà été demandé auparavant.",
- $rdatelib2, $refarticle, $nomemploye);
- $x = $nombreligne + 1;
- break;
- }
- }
- // Tout est ok! Libération valide
- if ($opereussie) {
- $msg = "ok";
- }
- } else {
- $opereussie = false;
- $msg = sprintf("L'employé «%s» n'est pas un membre connu.", $nomemploye);
- }
- } else {
- if ($rltypeopr == "") {
- $msg = "Le type d'opération n'a pas été sélectionné.";
- } elseif ($rldatecreation == "") {
- $msg = "La date de création n'a pas été inscrite ou est invalide.";
- } elseif ($rlreference == "") {
- $msg = "L'employé n'a pas été sélectionné.";
- }
- }
- break;
- default:
- $msg = "Erreur interne de la fonction.";
- break;
- }
- }
- //var_dump($msg);
- print "$msg";
- ?>
|