1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120 |
- <?PHP
- // ------------------------------
- // Caractéristiques du module
- // ------------------------------
- unset($module);
- $module = array(
- "titre" => "Gestion des libérations",
- "urldest" => $SCRIPT_NAME . "?page=liste_liberations",
- "recherche" => array("engin" => true),
- "jeton" => $jeton,
- "opradmin" => "Ajouter une libération",
- "fenetre" => array(
- "nom" => "liste_liberations",
- "titre" => "titre",
- "largeur" => "1200",
- "hauteur" => "500",
- "champs" => array("lnoemployeur", "lnom", "lcontact", "ltitre", "ladresse1", "ladresse2", "lville", "lcodepostal", "ltelephone", "ltelecopieur", "lemail")
- ),
- "msgajoutbouton" => "Ajout de la libération",
- "msgmodifbouton" => "Modification de la libération",
- "actionmodifbouton" => "Modifier la libération",
- "nombre_a_afficher" => array(
- 0 => array("refid" => 15, "valeur" => 15),
- 1 => array("refid" => 30, "valeur" => 30),
- 2 => array("refid" => 45, "valeur" => 45),
- 3 => array("refid" => 60, "valeur" => 60),
- 4 => array("refid" => 120, "valeur" => 120),
- 5 => array("refid" => 240, "valeur" => 240)
- ),
- "colonneaction" => true,
- "lientri" => true,
- "entete" => array(
- 1 => array("Demandée par" => "concat(employes.nomfamille,employes.prenom)", "largeur" => "100px"), //130
- 2 => array("Employé" => "concat(employes.nomfamille, employes.prenom)", "largeur" => "150px"), //130
- 3 => array("Type" => "liberations.typeoperation", "largeur" => "60px"), //78px
- 4 => array("Date" => "ligneliberations.dateliberation", "largeur" => "75px"), //141px
- 5 => array("Article" => "articles.noarticle", "largeur" => "60px"), //65px
- 6 => array("Commentaire" => "ligneliberations.commentaire", "largeur" => "214px"),
- 7 => array("Durée" => "duree.duree", "largeur" => "56px"), //61px
- 8 => array("Lieu" => "ligneliberations.lieu", "largeur" => "89px"),
- 9 => array("Assumée par" => "ligneliberations.quipaye", "largeur" => "75px"), //105px
- 10 => array("Paiement" => "ligneliberations.paiement", "largeur" => "84px", "droit" => array("gestion_site" => "Oui")),
- 11 => array("En date du" => "ligneliberations.datepaiement", "largeur" => "88px", "droit" => array("gestion_site" => "Oui")), //95px
- 12 => array("<img alt=\"Pdf\" src=\"images/pdficon_small.gif\">" => "-1", "largeur" => "22px"),
- 13 => array("<img alt=\"Pdf\" src=\"images/icones/icones_20.png\">" => "-1", "largeur" => "22px")
- ),
- "msg" => array(
- "maj_ok" => "Création de la libération effectuée avec succès.",
- "maj_echec" => "L'opération de création de la libération a échouée.",
- "modif_ok" => "Modification de la libération effectuée avec succès.",
- "modif_echec" => "L'opération de modification de la libération a échouée.",
- "typeopr" => "Le type d'opération n'a pas été sélectionné.",
- "datecreation" => "La date de création n'a pas été inscrite ou est invalide.",
- "choixemp" => "L'employé n'a pas été sélectionné.",
- "dateliberation" => "Le format de la date de libération est invalide.",
- "numeroart" => "Le numéro d'article est inconnu.",
- "dateoccupee" => "La date de libération est déjà prise pour le même article pour ce membre.",
- "annulationimpossible" => "Il n'y a aucune demande de libération à annuler pour ce membre.",
- "dureevide" => "La durée est inconnue.",
- "commentairevide" => "Le commentaire est vide.",
- "lieuvide" => "Le lieu est vide.",
- "quipaye" => "L'organisme payeur n'a pas été choisit.",
- "rech_ok" => "La recherche a réussie.",
- "rech_echec" => "La recherche a été infructueuse ou a échouée.",
- "employeur_invalide" => "Employeur introuvable ou inconnu.",
- "annulationDemandee" => "Annulation de la demande déjà effectuée"
- )
- );
- // ------------------
- // Requête sur le tri
- // ------------------
- $rtri = antiInjection($module["entete"][$tri][key($module["entete"][$tri])] . " " . $dir);
- // -----------------------
- // Opération de sauvegarde
- // -----------------------
- if (isset($action)) {
- $msg = "";
- //Cueillette de données du module
- $action = stripslashes(antiInjection($action));
- //$noliberation = stripslashes(antiInjection($noliberation));
- switch ($action) {
- case "Accepter et imprimer":
- case "Accepter et envoyer par courriel":
- case "Modifier":
- case "Modifier et imprimer":
- unset($opereussie);
- unset($erreurid);
- unset($modemodif);
- $modemodif = false;
- $opereussie = true;
- if ($action == "Modifier" || $action == "Modifier et imprimer") {
- $modemodif = true;
- }
- if ($ltypeopr != "" && $ldatecreation != "" && $lreference != "") {
- // Validation du type d'opération
- $rltypeopr2 = antiInjection($ltypeopr);
- if ($rltypeopr2 != "1" && $rltypeopr2 != "2") {
- $opereussie = false;
- $erreurid = "typeopr";
- break;
- }
- // Validation de la date de création
- $rldatecreation = antiInjection($ldatecreation);
- if (strtotime($rldatecreation) == false) {
- $opereussie = false;
- $erreurid = "datecreation";
- break;
- }
- // La référence est le numéro de l'employé dans la bd
- $rlreference = antiInjection($lreference);
- 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)) {
- $msg = sprintf("L'employé «%s» n'est pas un membre connu.", $nomemploye);
- $opereussie = false;
- $erreurid = "choixemp";
- }
- // Conditions de base remplies
- // Le type d'opération
- // L'employé
- // La date de création du document
- // Toujours pas d'erreur, nous continuons.
- if ($opereussie) {
- //Lecture du numéro d'employé
- $nomemploye = $result[0]["nomemploye"];
- // Les différents tableaux de données
- $rdatelib = $datelib;
- $rlarticle = $larticle;
- $rcommentaire = $commentaire;
- $rlduree = $lduree;
- $rlieu = $lieu;
- $rlassumerpar = $lassumerpar;
- if ($action == "Modifier" || $action == "Modifier et imprimer") {
- $rlpaiement = $lpaiement;
- $rldatepaiement = $datepaiement;
- $rligneliberation = $ligneliberation;
- }
- //Calcul du nombre de ligne ;à insérer
- $nombreligne = sizeof($rdatelib);
- $nombreligne2 = $nombreligne;
- // Tableau des requêtes SQL à effectuer
- $tableausql = array();
- //Ajout du détail de la libération pour chaque ligne
- for ($x = 0; $x < $nombreligne; $x++) {
- // Validation sur la date
- $rdatelib2 = antiInjection($rdatelib[$x]);
- if (strtotime($rdatelib2) == false) {
- $opereussie = false;
- $erreurid = "dateliberation";
- break;
- }
- // Validation sur l'article
- $rlarticle2 = antiInjection($rlarticle[$x]);
- unset($sqlparam, $result1);
- $sqlparam["table"][] = "articles";
- $sqlparam["champs"][] = "refarticle";
- $sqlparam["where"][] = sprintf("refarticle='%s'", $rlarticle2);
- $result1 = executerRequeteSql($sqlparam);
- if (isset($result1) && is_array($result1) && sizeof($result1) > 0) {
- $refarticle = $result1[0]["refarticle"];
- } else {
- $opereussie = false;
- $erreurid = "numeroart";
- break;
- }
- //Validation sur le commentaire
- $rcommentaire2 = antiInjection($rcommentaire[$x]);
- if (empty($rcommentaire2)) {
- $opereussie = false;
- $erreurid = "commentairevide";
- break;
- }
- // Validation sur la durée
- $rlduree2 = antiInjection($rlduree[$x]);
- unset($sqlparam, $result2);
- $sqlparam["table"][] = "duree";
- $sqlparam["champs"][] = "refduree";
- $sqlparam["champs"][] = "duree";
- $sqlparam["where"][] = sprintf("refduree=%d", $rlduree2);
- $result2 = executerRequeteSql($sqlparam);
- if (isset($result2) && is_array($result2) && sizeof($result2) > 0) {
- $refduree = $result2[0]["refduree"];
- } else {
- $opereussie = false;
- $erreurid = "dureevide";
- break;
- }
- // Validation sur le lieu
- $rlieu2 = antiInjection($rlieu[$x]);
- if (empty($rlieu2)) {
- $opereussie = false;
- $erreurid = "lieuvide";
- break;
- }
- // Validation sur le payeur
- $rlassumerpar2 = antiInjection($rlassumerpar[$x]);
- if ($rlassumerpar2 != "Syndicat" && $rlassumerpar2 != "Employeur") {
- $opereussie = false;
- $erreurid = "quipaye";
- break;
- }
- //Validation sur le paiement
- if ($modemodif) {
- $rlpaiement2 = antiInjection($rlpaiement[$x]);
- $rldatepaiement2 = antiInjection($rldatepaiement[$x]);
- }
- // Date déjà demandée pour le même employé selon l'article
- unset($sqlparam, $result3);
- $sqlparam["table"][] = "liberations";
- $sqlparam["table"][] = "ligneliberations";
- $sqlparam["table"][] = "articles";
- $sqlparam["table"][] = "duree";
- $sqlparam["join"][] = "ligneliberations.refliberation = liberations.refliberation";
- $sqlparam["join"][] = "articles.refarticle=ligneliberations.refarticle";
- $sqlparam["join"][] = "duree.refduree=ligneliberations.duree";
- $sqlparam["champs"][] = "liberations.refemploye";
- $sqlparam["champs"][] = "articles.refarticle";
- $sqlparam["champs"][] = "unix_timestamp(ligneliberations.dateliberation) as dateliberation";
- $sqlparam["champs"][] = "SUM(If(liberations.typeoperation=1,duree.dureeNombre,0-dureeNombre)) AS calculduree";
- $sqlparam["groupe"][] = "liberations.refemploye";
- $sqlparam["groupe"][] = "ligneliberations.dateliberation";
- $sqlparam["groupe"][] = "articles.refarticle";
- $sqlparam["where"][] = sprintf("ligneliberations.refarticle=%d", $rlarticle2);
- $sqlparam["where"][] = "DATE_FORMAT(ligneliberations.dateliberation,'%Y-%m-%d')='$rdatelib2'";
- $sqlparam["where"][] = "liberations.refemploye=$rlreference";
- if ($modemodif) {
- $sqlparam["where"][] = sprintf("ligneliberations.refligneliberation<>%d", $rligneliberation[$x]);
- }
- $result3 = executerRequeteSql($sqlparam);
- if (isset($result3) && is_array($result3) && sizeof($result3) > 0) {
- if ($result3[0]["calculduree"] > 0 && $ltypeopr == 1) {
- $opereussie = false;
- $erreurid = "dateoccupee";
- $x = $nombreligne + 1;
- break;
- } elseif ($result3[0]["calculduree"] == 0 && $ltypeopr == 2) {
- $opereussie = false;
- $erreurid = "annulationimpossible";
- $x = $nombreligne + 1;
- break;
- }
- }
- if ($opereussie) {
- unset($sqlparam);
- if (!$modemodif) {
- $sqlparam["type"] = "INSERT";
- $sqlparam["champs"]["paiement"] = 0;
- } else {
- $sqlparam["type"] = "UPDATE";
- $sqlparam["where"][] = "ligneliberations.refligneliberation = " . sprintf("%d", $rligneliberation[$x]);
- $sqlparam["champs"]["paiement"] = sprintf("%d", $rlpaiement2);
- if ($rlpaiement2 == 2 && !empty($rldatepaiement2)) {
- $sqlparam["champs"]["datepaiement "] = sprintf("'%s'", $rldatepaiement2);
- }
- }
- $sqlparam["table"][] = "ligneliberations";
- $sqlparam["champs"]["dateliberation"] = sprintf("'%s'", "$rdatelib2 12:00:00");
- $sqlparam["champs"]["refarticle "] = sprintf("%d", $refarticle);
- $sqlparam["champs"]["commentaire "] = sprintf("'%s'", $rcommentaire2);
- $sqlparam["champs"]["duree "] = sprintf("%d", $refduree);
- $sqlparam["champs"]["lieu"] = sprintf("'%s'", $rlieu2);
- $sqlparam["champs"]["quipaye"] = sprintf("'%s'", $rlassumerpar2);
- $tableausql[] = $sqlparam;
- }
- }
- unset($cpt_opr);
- $cpt_opr = 0;
- if ($opereussie) {
- unset($sqlparam2);
- if (!$modemodif) {
- // Création de la libération
- unset($sqlparam);
- $sqlparam["type"] = "INSERT";
- $sqlparam["table"][] = "liberations";
- $sqlparam["champs"]["refemploye"] = sprintf("%d", $rlreference);
- $sqlparam["champs"]["datedemande"] = sprintf("'%s'", $rldatecreation . " 00:00");
- $sqlparam["champs"]["typeoperation"] = sprintf("%d", $rltypeopr2);
- $result = executerRequeteSql($sqlparam);
- $valeurnolib = $result;
- $sqlparam2 = $sqlparam;
- } else {
- $valeurnolib = antiInjection($liberation);
- }
- //Ajout du détail de la libération pour chaque ligne
- $nombreligne2 = sizeof($rdatelib);
- for ($x = 0; $x < $nombreligne2; $x++) {
- $tableausql[$x]["champs"]["refliberation"] = sprintf('%d', $valeurnolib);
- $result = executerRequeteSql($tableausql[$x]);
- if (isset($result)) {
- $cpt_opr++;
- }
- }
- // Suivi de création (auteur, date, commande sql)
- unset($sqlparam);
- if (!$modemodif) {
- $sqlparam["type"] = "INSERT";
- $sqlparam["champs"]["refliberation"] = sprintf("%d", $valeurnolib);
- $sqlparam["champs"]["utilisateur"] = sprintf("'%s'", $_SESSION['nomreel']);
- } else {
- $sqlparam["type"] = "UPDATE";
- $sqlparam["where"][] = "refliberation = " . sprintf("%d", $valeurnolib);
- }
- $sqlparam["champs"]["date"] = "'" . date("Y-m-d H:i:s") . "'"; //sprintf("'%s'", $rldatecreation . " 00:00");
- $sqlparam["table"][] = "suivilib";
- $result = executerRequeteSql($sqlparam);
- }
- }
- } else {
- $opereussie = false;
- if ($ltypeopr == "") {
- $erreurid = "typeopr";
- } elseif ($ldatecreation == "") {
- $erreurid = "datecreation";
- } elseif ($lreference == "") {
- $erreurid = "choixemp";
- }
- }
- break;
- case "Annuler la libération":
- unset($opereussie);
- unset($erreurid);
- unset($modemodif);
- $modemodif = false;
- $opereussie = true;
- if ($ltypeopr != "" && $noliberation != "") {
- unset($sqlparam, $resultCheck);
- $sqlparam["table"][] = "liberations";
- $sqlparam["champs"][] = "refliberation";
- $sqlparam["where"][] = sprintf("demandeOriginale=%d", $noliberation);
- $resultCheck = executerRequeteSql($sqlparam);
- if (!isset($resultCheck)) {
- unset($sqlparam);
- $sqlparam["type"] = "INSERT";
- $sqlparam["mode"] = "direct";
- $sqla = "insert into liberations (refemploye, datedemande, typeoperation, demandeOriginale, archive) ";
- $sqlb = sprintf("SELECT refemploye, datedemande, 2, %d, 0 ", $noliberation);
- $sqlc = "from liberations ";
- $sqld = sprintf("where refliberation = %d", $noliberation);
- $sqlparam["sql"] = "$sqla $sqlb $sqlc $sqld";
- $result = executerRequeteSql($sqlparam);
- unset($sqlparam);
- $sqlparam["type"] = "INSERT";
- $sqlparam["mode"] = "direct";
- $sqle = "insert into ligneliberations (refliberation, dateliberation, refarticle, commentaire, duree, lieu, quipaye, datepaiement, paiement, archive) ";
- $sqlf = sprintf("SELECT %d, dateliberation, refarticle, commentaire, duree, lieu, quipaye, datepaiement, paiement, archive ", $result);
- $sqlg = "FROM ligneliberations ";
- $sqlh = sprintf("where refliberation = %d", $noliberation);
- $sqlparam["sql"] = "$sqle $sqlf $sqlg $sqlh";
- $result2 = executerRequeteSql($sqlparam);
- // Suivi de création (auteur, date, commande sql)
- unset($sqlparam);
- $sqlparam["type"] = "INSERT";
- $sqlparam["table"][] = "suivilib";
- $sqlparam["champs"]["refliberation"] = sprintf("%d", $result);
- $sqlparam["champs"]["utilisateur"] = sprintf("'%s'", $_SESSION['nomreel']);
- $sqlparam["champs"]["date"] = "'" . date("Y-m-d H:i:s") . "'";
- //$sqlparam["debug"] = 2;
- $result = executerRequeteSql($sqlparam);
- $module["msg"]["maj_ok"] = "Annulation de la demande réussie";
- $cpt_opr = 1;
- $nombreligne = 1;
- $opereussie = true;
- } else {
- //Pour simuler une erreur, requis plus bas
- $cpt_opr = 1;
- $nombreligne = 2;
- $erreurid = "annulationDemandee";
- $opereussie = true;
- }
- }
- break;
- }
- }
- if (isset($opereussie)) {
- if ($cpt_opr == $nombreligne) {
- $module["resultatSQL"] = true;
- if (!$modemodif) {
- $module["message"] = $module["msg"]["maj_ok"];
- } else {
- $module["message"] = $module["msg"]["modif_ok"];
- }
- } else {
- $module["resultatSQL"] = false;
- $module["message"] = $module["msg"][$erreurid];
- }
- }
- unset($periode);
- unset($datedebut, $datefin);
- $datedebut = getPeriodeCourante("début");
- $datefin = getPeriodeCourante("fin");
- $sqla = "(DATE_FORMAT(ligneliberations.dateliberation,\"%Y-%m-%d\") Between ";
- $sqlb = sprintf("\"%s\" And \"%s\") ", $datedebut, $datefin);
- $periode = "$sqla$sqlb";
- unset($sqlparam);
- $sqlparam["compte"] = "liberations.refliberation";
- $sqlparam["table"][] = "liberations";
- $sqlparam["table"][] = "ligneliberations";
- $sqlparam["table"][] = "employes";
- $sqlparam["table"][] = "articles";
- $sqlparam["table"][] = "duree";
- $sqlparam["table"][] = "suivilib";
- $sqlparam["join"][] = "ligneliberations.refliberation=liberations.refliberation";
- $sqlparam["join"][] = "liberations.refemploye=employes.refemploye";
- $sqlparam["join"][] = "ligneliberations.refarticle=articles.refarticle";
- $sqlparam["join"][] = "ligneliberations.duree=duree.refduree";
- $sqlparam["join"][] = array(0 => "left", 1 => "suivilib.refliberation=liberations.refliberation");
- $sqlparam["champs"][] = "employes.refemploye";
- $sqlparam["champs"][] = "concat(employes.nomfamille,\" \",employes.prenom) as nomemploye";
- $sqlparam["champs"][] = "liberations.typeoperation";
- $sqlparam["champs"][] = "unix_timestamp(ligneliberations.dateliberation) as dateliberation";
- $sqlparam["champs"][] = "articles.noarticle";
- $sqlparam["champs"][] = "ligneliberations.commentaire";
- $sqlparam["champs"][] = "duree.duree";
- $sqlparam["champs"][] = "ligneliberations.paiement";
- $sqlparam["champs"][] = "ligneliberations.quipaye";
- $sqlparam["champs"][] = "IF(ISNULL(ligneliberations.datepaiement),'',UNIX_TIMESTAMP(ligneliberations.datepaiement)) as datepaiement";
- $sqlparam["champs"][] = "ligneliberations.lieu";
- $sqlparam["champs"][] = "suivilib.utilisateur";
- $sqlparam["champs"][] = "liberations.refliberation";
- if (isset($ListeEmployeurs) && $ListeEmployeurs != "-1") {
- $sqlparam["where"][] = sprintf("employes.refemployeur=%d", $ListeEmployeurs);
- }
- if (isset($ListeEmployes) && $ListeEmployes != -1) {
- $sqlparam["where"][] = sprintf("employes.refemploye= %d", $ListeEmployes);
- }
- $sqlparam["limite"] = ($nombreaffiche * ($nopage - 1)) . "," . $nombreaffiche + 1;
- $sqlparam["ordre"][] = $rtri;
- if (isset($lreference) && !empty($lreference)) {
- $sqlparam["where"][] = "employes.refemploye=" . antiInjection($lreference);
- $module["recherche"]["lreference"] = $lreference;
- } elseif (isset($zonerecherche) && !empty($zonerecherche)) {
- $sqlparam["where"][] = "CONCAT(' ',employes.nomfamille, ' ',employes.prenom, articles.noarticle, duree.duree, ligneliberations.commentaire, ligneliberations.lieu, ligneliberations.datepaiement) like '%" . antiInjection($zonerecherche) . "%'";
- $module["recherche"]["zonerecherche"] = $zonerecherche;
- }
- //Si l'utilisateur fait partie d'un syndicat local
- if ($_SESSION['gestion_site'] == 'Non') {
- $sqlparam["where"][] = sprintf("employes.refemployeur=%d", $_SESSION['employeur']);
- }
- // Selon la période en cours
- $sqlparam["where"][] = $periode;
- if (isset($ListeEmployeurs) && $ListeEmployeurs != "-1") {
- $module["listeEmployeurs"] = $ListeEmployeurs;
- } else {
- $module["listeEmployeurs"] = null;
- }
- if (isset($ListeEmployes) && $ListeEmployes != -1) {
- $module["listeEmployes"] = $ListeEmployes;
- } else {
- $module["listeEmployes"] = null;
- }
- $result = executerRequeteSql($sqlparam);
- if (isset($result) && is_array($result) && count($result) > 0) {
- $module["compte"] = $result[0]["compte"];
- } else {
- $module["compte"] = 0;
- }
- $i = 1;
- print preparerModule($module);
- //Liste principale;
- if (isset($result) && is_array($result)) {
- if (count($result) > 0) {
- $i = ($nopage - 1) * $nombreaffiche + 1;
- foreach ($result as $clef => $champs) {
- if ($i > ($nopage * $nombreaffiche)) {
- continue;
- }
- $type = ($champs["typeoperation"] == 1) ? "Demande" : "Annulation";
- $lieu = $champs["lieu"];
- $quipaye = $champs["quipaye"];
- if ($quipaye == "0") {
- $quipaye = "Indéterminé";
- }
- $datepaiement = ($champs["datepaiement"] == '0') ? "Non-assigné" : date("Y-m-d", $champs["datepaiement"]);
- $couleur = ($champs["typeoperation"] == 1) ? "" : "color:#ff0000;";
- $style = 'border:1px solid #cfcfcf; overflow:hidden; white-space:nowrap;';
- print "<tr style='$couleur' $couleur>\n";
- print "<td style='$style'>$i</td>\n";
- print "<td style='$style'>" . ecrireTexteLimite($champs["utilisateur"], 100) . "</td>\n";
- print "<td style='$style'>" . ecrireTexteLimite($champs["nomemploye"], 150) . "</td>\n";
- print "<td style='$style' title=\"$type\">$type</td>\n";
- print "<td style='$style' title=\"" . date("Y-m-d", $champs["dateliberation"]) . "\">" . date("Y-m-d", $champs["dateliberation"]) . "</td>\n";
- print "<td style='$style' title=\"" . $champs["noarticle"] . "\">" . $champs["noarticle"] . "</td>\n";
- print "<td style='$style' title=\"" . $champs["commentaire"] . "\"><div style='overflow:hidden; white-space:nowrap; width:202px;'>" . htmlentities($champs["commentaire"], ENT_SUBSTITUTE, "UTF-8") . "</div></td>\n";
- print "<td style='$style' title=\"" . $champs["duree"] . "\">" . $champs["duree"] . "</td>\n";
- print "<td style='$style'>" . ecrireTexteLimite($lieu, 79) . "</td>\n";
- print "<td style='$style' title=\"$quipaye\">$quipaye</td>\n";
- if ($_SESSION["gestion_site"] == "Oui") {
- if ($champs["paiement"] == "0") {
- print "<td style='$style' title=\"Non-assigné\">Non-assigné</td>\n";
- print "<td style='$style' title=\"Non-assigné\">Non-assigné</td>\n";
- } elseif ($champs["paiement"] == "1") {
- print "<td style='$style' title=\"Non\">Non</td>\n";
- print "<td style='$style' title=\"À venir\">À venir</td>\n";
- } else {
- print "<td style='$style' title=\"Oui\">Oui</td>\n";
- print "<td style='$style' title=\"$datepaiement\">$datepaiement</td>\n";
- }
- }
- print "<td style='$style'><a href='#' onclick='ouvrefenetre(\"creation_liberation.php?lib=" . $champs["refliberation"] . "&sortie=ecran\");'><img alt=\"pdf\" src=\"images/pdficon_small.gif\"></a></td>\n";
- if ($_SESSION['gestion_site'] >= "Oui") {
- print "<td style='$style'>\n";
- print "<INPUT class='modifier' title='Modifier' id='Modifier' TYPE='button' VALUE='Modifier' onclick=\"modifieLiberation(" . $champs["refemploye"] . "," . $champs["refliberation"] . ",'" . $GLOBALS["jeton"] . "');\">\n";
- print "</td>\n";
- } else {
- print "<td style='$style'> </td>\n";
- }
- print "</tr>\n";
- $i++;
- }
- } else {
- print "<tr><td colspan='14' style='text-align:center;'><h1>Aucune donnée pour la période sélectionnée.</h1></td></tr>";
- }
- }
- print"</table>";
- // Pagination
- print "<table style='width:1200px; margin:auto;'>";
- print "<tr><td style='vertical-align:bottom;'>";
- print $seqpage;
- print "</td>";
- print "<td style='width:320px; text-align:right;'>";
- //Haut de page
- if ($nombreaffiche > 15) {
- print "<a href='#hautpage' title='Aller en haut de la page'>Haut de page</a>";
- print "<a name='baspage'>";
- }
- print "</td></tr>";
- print "</table>";
- print "<span id='simon'></span>";
- print fenetreModaleDebut($module["fenetre"], $SCRIPT_NAME, $jeton);
- unset($titretemp);
- if (isset($module["actionajoutbouton"])) {
- $titretemp = $module["actionajoutbouton"];
- }
- //TODO corriger le titre temporaire
- $titretemp = 'tyrtyrt';
- print fenetreModaleFin($titretemp);
- unset($cpt, $vide);
- $vide = true;
- ?>
- <script type="text/javascript">
- var nombre = 1;
- var reponseBoolDate;
- var mode_ajout;
- //Aperçu de la libération
- function apercuLiberation() {
- if (verifieinfo()) {
- var valeurRef = $("#lreference").val();
- ouvrefenetre2('creation_liberation_apercu.php?' + obtientValeurs(document.getElementById("frmModif")) + "&lreference=" + valeurRef, 500, 'apercu');
- }
- }
- // Crée la date de paiement
- function creeDatePaiement(id, id2) {
- if ($("#" + id).val() === "2") {
- document.getElementById(id2).removeAttribute("readonly");
- var dateactuelle = new Date();
- var jour = "";
- var mois = "";
- if (dateactuelle.getMonth() + 1 < 10)
- mois = "0" + (dateactuelle.getMonth() + 1);
- else
- mois = (dateactuelle.getMonth() + 1);
- if (dateactuelle.getDate() + 1 < 10)
- jour = "0" + (dateactuelle.getDate());
- else
- jour = (dateactuelle.getDate());
- $("#" + id2).val(dateactuelle.getFullYear() + "-" + mois + "-" + jour);
- } else {
- document.getElementById(id2).setAttribute("readonly", "readonly");
- document.getElementById(id2).value = "";
- }
- }
- //Ajoute la date du jour dans la case Date
- function metsDate(id) {
- if (verifieinfo()) {
- $("#" + id).val("<?php print date("Y-m-d"); ?>");
- $("#" + id).focus();
- }
- }
- // Affiche le calendrier et mets la date actuelle par défaut
- function calendrier(id) {
- if (verifieinfo()) {
- if ($("#" + id).val() === "" || $("#" + id).val() === undefined) {
- metsDate(id);
- } else {
- $("#" + id).focus();
- }
- }
- }
- //Vérifie si la date est déjà prise.
- function verifieDate(idm, id2) {
- //Vérification de la date si déjà prise pour la même employée.
- if (reponseBoolDate) {
- var typeopr;
- var notype;
- if ($("#opr1").attr('checked') || $("#opr").val() === 1) {
- typeopr = "demande";
- notype = 1;
- } else if ($("#opr2").attr('checked') || $("#opr").val() === 2) {
- typeopr = "annulation";
- notype = 2;
- }
- if ($("#lreference").val() !== "" && $("#" + idm).val() !== "") {
- var resultat = $.ajax({
- url: "obtdatelib.php",
- global: false,
- type: "POST",
- data: {
- prm1: escape($("#lreference").val()),
- prm2: escape($("#" + idm).val()),
- prm3: escape($("#" + id2).val()),
- prm4: notype
- },
- dataType: "html",
- async: false,
- error: function () {
- $("#" + id).datepicker("hide");
- },
- success: function () {
- $("#" + id).datepicker("hide");
- }
- }).responseText;
- if (resultat === "accepte") {
- if (nombre > 1) {
- for (x = 0; x < nombre; x++) {
- var nombrev = parseInt(id.substring(2));
- if (x !== nombrev) {
- if ($("#" + id).val() === $("#id" + x).val()) {
- resultat = "occupedate_" + typeopr;
- }
- }
- }
- }
- }
- if (resultat.indexOf("occupedatearticle") > -1) {
- var tablovide = resultat.split("_");
- var typeoprtemp = tablovide[1];
- jChoice("Cette date de libération (" + $("#" + idm).val() + ") avec l'article " + $("#" + id2 + " option:selected").text() + " pour ce membre (" + $("#zonerecherche2").val() + ") a déjà été demandée auparavant dans une " + typeoprtemp + "!\nVoulez-vous consulter le générateur de rapport?", 'Date déjà prise',
- function (r) {
- if (r === "goto") {
- window.location.href = "index2.php?page=generateur_rapports&jeton=<?php print $jeton; ?>";
- } else if (r === "cancel") {
- $("#" + id2).val(0);
- $("#" + idm).val("");
- $("#" + idm).focus();
- } else if (r) {
- $("#" + id2).next().focus();
- }
- });
- reponseBoolDate = false;
- } else if (resultat.indexOf('occupedate') > -1 && resultat.indexOf('article') === -1 && (resultat.indexOf("_demande") > -1 || resultat.indexOf("_annulation") > -1)) {
- var typeoprtemp = "";
- var tablovide = resultat.split("_");
- typeoprtemp = tablovide[1];
- jChoice("Cette date de libération (" + $("#" + idm).val() + ") pour ce membre (" + $("#zonerecherche2").val() + ") a déjà été demandée auparavant dans une " + typeoprtemp + "!\nVoulez-vous consulter le générateur de rapport?", 'Date déjà prise',
- function (r) {
- if (r === "goto") {
- window.location.href = "index2.php?page=generateur_rapports&jeton=<?php print $jeton; ?>";
- } else if (r === "cancel") {
- $("#" + idm).val("");
- $("#" + idm).focus();
- } else if (r) {
- $("#" + id2).focus();
- }
- });
- reponseBoolDate = false;
- } else if (resultat.indexOf('refus_annulation') > -1) {
- jAlert("Il n'y a pas de demande de libérations à annuler pour ce membre (" + $("#zonerecherche2").val() + ") à cette date!");
- $("#" + idm).val("");
- $("#" + idm).focus();
- reponseBoolDate = false;
- }
- }
- reponseBoolDate = false;
- }
- }
- //Est-ce que l'employé existe?
- function verifEmploye() {
- var reponseBoolEmp = 0;
- var reponseBoolEmp = $.ajax({
- url: "obtemploye2.php",
- global: false,
- type: "POST",
- data: {prm1: $("#lreference").val()},
- dataType: "html",
- async: false
- }).responseText;
- if (reponseBoolEmp === 0 || reponseBoolEmp === "0") {
- return false;
- }
- return true;
- }
- //Est-ce que les renseignements primaires sont remplit?
- function verifieinfo() {
- var idemp = $("#zonerecherche2").val();
- var idlref = $("#lreference").val();
- var iddat = $("#datecreation").val();
- if (!($("#opr1").attr('checked')) && !($("#opr2").attr('checked')) && $("#opr").val() === "") {
- jAlert("Veuillez choisir le type d'opération désirée.");
- $("#opr1").focus();
- return false;
- } else if (idemp === '' || idemp === "Recherche" || idlref === '') {
- jAlert("Veuillez choisir l'employé parmi les membres");
- $("#zonerecherche2").focus();
- return false;
- } else if (!isDateValide(iddat)) {
- jAlert("Veuillez choisir la date de création du document (Format : AAAA-MM-JJ)!");
- $("#datecreation").focus();
- return false;
- }
- return true;
- }
- //Vérifie si la touche Esc a été enfoncée.
- function verifieTouche(e) {
- if (e === null) { // ie
- keycode = event.keyCode;
- } else { // mozilla
- keycode = e.which;
- }
- if (keycode === 27) {
- setInvisible2('zonerecherche');
- }
- }
- //Vérifie la présente ligne de saisie
- function verifieLigne(nombre) {
- var nombre2 = nombre - 1;
- if ($("#id" + nombre2).val() === '') {
- jAlert("La date de libération est vide.");
- $("#id" + nombre2).focus();
- return false;
- } else if ($("#lart" + nombre2).val() === 0) {
- jAlert("Aucun article n'a été choisit.");
- $("#lart" + nombre2).focus();
- return false;
- } else if ($("#com" + nombre2).val() === '') {
- jAlert("Le commentaire est vide.");
- $("#com" + nombre2).focus();
- return false;
- } else if ($("#ldur" + nombre2).val() === 0) {
- jAlert("La durée n'a pas été choisie.");
- $("#ldur" + nombre2).focus();
- return false;
- } else if ($("#lie" + nombre2).val() === '') {
- jAlert("Le lieu est vide.");
- $("#lie" + nombre2).focus();
- return false;
- } else if ($("#las" + nombre2).val() === '') {
- jAlert("Aucun item de la liste «Assumer par» n'a été choisit.");
- $("#las" + nombre2).focus();
- return false;
- } else
- return true;
- }
- function MapValeur(idname) {
- var valeur = "";
- var x;
- for (x = 0; x < nombre; x++) {
- var obj = document.getElementById(idname + x);
- if (obj && obj.value !== null && obj.value !== undefined) {
- valeur = valeur + obj.value;
- if (x < nombre - 1) {
- valeur = valeur + "**";
- }
- }
- }
- return encodeURI(valeur);
- }
- //Si le formulaire est valide, on accepte et renvoie le résultat pour traitement.
- function ValidationFormulaire(boutontxt) {
- var result = true;
- if (!verifieinfo()) {
- result = false;
- }
- if (result) {
- for (x = 1; x <= nombre; x++) {
- if (!verifieLigne(x)) {
- result = false;
- x = nombre + 1;
- }
- }
- }
- if (result) {
- var reponseVerif;
- var notype;
- if ($("#opr1").attr('checked') || $("#opr").val() === 1) {
- notype = 1;
- } else if ($("#opr2").attr('checked') || $("#opr").val() === 2) {
- notype = 2;
- } else {
- notype = $("#opr").val();
- }
- var reponseVerif = $.trim($.ajax({
- url: "verifliberations.php",
- global: false,
- type: "POST",
- data: {
- bouton: "verification",
- lreference: $("#lreference").val(),
- ldatecreation: $("#datecreation").val(),
- ltypeopr: notype,
- datelib: MapValeur('id'),
- lart: MapValeur('lart'),
- lcomm: MapValeur('com'),
- ldur: MapValeur('ldur'),
- lieu: MapValeur('lie'),
- lassume: MapValeur('las'),
- ldetail: MapValeur('ligneliberation')
- },
- dataType: "html",
- async: false
- }).responseText);
- if (reponseVerif !== "ok") {
- jAlert(reponseVerif, "Erreur");
- result = false;
- }
- }
- if (result) {
- document.frmModif.action.value = boutontxt;
- document.frmModif.lreference.value = document.frmRecherche.lreference.value;
- document.frmModif.submit();
- }
- }
- //Si le formulaire est valide, on accepte et renvoie le résultat pour traitement.
- function AnnuleLiberation(boutontxt, noliberation) {
- var anonymousDeleteFunction = function (choice) {
- if (choice) {
- document.frmModif.action.value = boutontxt;
- document.frmModif.noliberation.value = noliberation;
- document.frmModif.lreference.value = document.frmRecherche.lreference.value;
- document.frmModif.submit();
- }
- };
- notif_confirm({
- 'message': "Voulez-vous vraiment annuler cette libération complètement?",
- 'textaccept': "Annulation de la demande de libération",
- 'textcancel': "Ne pas annuler cette demande",
- 'callback': anonymousDeleteFunction
- });
- }
- // Ajoute une ligne à la table
- function addRow(id) {
- var thisnombre = nombre;
- var v1 = verifieinfo();
- var v2 = verifieLigne(thisnombre);
- if (v1 && v2) {
- var tbody = document.getElementById(id).getElementsByTagName("TBODY")[0];
- var col1 = "<input name=\"datelib[]\" style='min-width:80px;' value=\"\" id=\"id" + thisnombre + "\" onfocus=\"verifieinfo();\" onblur=\"verifieDate('id" + thisnombre + "','lart" + thisnombre + "');\" >";
- var col1b = "<img alt=\"Calendrier\" src=\"images/calendar.gif\" class=\"calendrier\" id=\"butdate" + thisnombre + "\" onclick =\"calendrier('id" + thisnombre + "');\">";
- var col3 = "<input name=\"commentaire[]\" id=\"com" + thisnombre + "\" value=\"\">";
- var col5 = "<input name=\"lieu[]\" id=\"lie" + thisnombre + "\" value=\"\">";
- var col6 = "<select NAME=\"lassumerpar[]\" id=\"las" + thisnombre + "\"><option>--------</option><option>Syndicat</option><option>Employeur</option></select>";
- var row = document.createElement("TR");
- row.id = "ligne" + thisnombre + "";
- var td1 = document.createElement("TD");
- td1.className = "liberationsdetail";
- td1.innerHTML = col1 + col1b; //+col1c;
- var td2 = document.createElement("TD");
- td2.className = "liberationsdetail";
- var obj2 = document.getElementById("lart0").cloneNode(true);
- obj2.id = "lart" + thisnombre + "";
- td2.appendChild(obj2);
- var td3 = document.createElement("TD");
- td3.className = "liberationsdetail";
- td3.innerHTML = col3;
- var td4 = document.createElement("TD");
- td4.className = "liberationsdetail";
- var obj4 = document.getElementById("ldur0").cloneNode(true);
- obj4.id = "ldur" + thisnombre + "";
- td4.appendChild(obj4);
- var td5 = document.createElement("TD");
- td5.className = "liberationsdetail";
- td5.innerHTML = col5;
- var td6 = document.createElement("TD");
- td6.className = "liberationsdetail";
- td6.innerHTML = col6;
- var td7 = document.createElement("TD");
- td7.className = "liberationsdetail";
- var obj7 = document.getElementById("0").cloneNode(true);
- obj7.id = nombre;
- td7.appendChild(obj7);
- row.appendChild(td1);
- row.appendChild(td2);
- row.appendChild(td3);
- row.appendChild(td4);
- row.appendChild(td5);
- row.appendChild(td6);
- <?php
- if ($_SESSION["gestion_site"] == "Oui") {
- ?>
- if (mode_ajout === 0) {
- var col8 = "<select NAME=\"lpaiement[]\" id=\"lpa" + thisnombre + "\" onchange=\"creeDatePaiement('lpa'+nombre,'datepaiement" + thisnombre + "');\">";
- var col8a = "<option value=\"0\">--------</option><option value=\"1\">Non</option><option value=\"2\">Oui</option>";
- var col9 = "<input name=\"datepaiement[]\" id=\"datepaiement" + thisnombre + "\" size=\"10\" maxlength=\"10\" type=\"text\" readonly=\"readonly\" value=\"\">";
- var td8 = document.createElement("TD");
- td8.className = "liberationsdetail";
- td8.innerHTML = col8 + col8a;
- var td9 = document.createElement("TD");
- td9.innerHTML = col9;
- td9.className = "liberationsdetail";
- row.appendChild(td8);
- row.appendChild(td9);
- }
- <?php
- }
- ?>
- row.appendChild(td7);
- tbody.appendChild(row);
- $(document).ready(function () {
- $("#id" + thisnombre).datepicker({
- autoSize: true,
- onSelect: function () {
- reponseBoolDate = true;
- verifieDate('id' + thisnombre, 'lart' + thisnombre);
- }
- });
- $("#id" + thisnombre).datepicker("hide");
- nombre++;
- });
- }
- }
- //Supprime une ligne à la table.
- function supprimeLigne(r) {
- var i = r.parentNode.parentNode.rowIndex;
- if (i > 1) {
- document.getElementById('liberations').deleteRow(i);
- nombre--;
- } else {
- $('#id0').val("");
- $('#lart0').val(0);
- $('#com0').val("");
- $('#ldur0').val(0);
- $('#lie0').val("");
- $('#las0').val(0);
- }
- }
- //On efface tout le formulaire
- function recommencer() {
- $("#zoneresultats2").slideUp();
- $("#voirsolde").slideUp();
- $("#datecreation").datepicker("hide");
- $("#id0").datepicker("hide");
- var frmModif = document.frmModif;
- frmModif.reset();
- var nbl = document.getElementById('liberations').rows.length;
- for (x = 1; x < nbl - 2; x++) {
- var nbl2 = document.getElementById('liberations').rows.length;
- document.getElementById('liberations').deleteRow(nbl2);
- }
- }
- function voirsolde() {
- var idemp = $("#zonerecherche2").val();
- var idlref = $('#lreference').val();
- if (idemp === '' || idemp === "Recherche" || idlref === '') {
- $("#zonerecherche2").focus();
- jAlert("Veuillez choisir l'employé parmi les membres");
- return false;
- } else {
- var reponseVerif = $.trim($.ajax({
- url: "obtsolde.php",
- global: false,
- type: "GET",
- data: {
- prm1: idlref,
- jeton: "<?php print $GLOBALS["jeton"]; ?>"
- },
- dataType: "html",
- async: false
- }).responseText);
- console.log(reponseVerif);
- $("#voirsolde").html(reponseVerif).slideDown();
- }
- }
- function fermersolde() {
- $("#voirsolde").slideUp();
- }
- //Traiter toutes les lignes modifiées pour sauvegarde
- function traiter(id) {
- if (typeof (document.fermeture.crochet) !== "undefined") {
- var source = document.getElementById("Crochet" + id + "");
- if (source.checked) {
- var champs2 = document.getElementById("TRCrochet" + id + "");
- var prm2 = obtientValeurs(champs2);
- traiterlignePaiement(id, prm2);
- }
- }
- }
- function selectedB(choice, choice2) {
- var cible = document.getElementById("lemploye");
- cible.value = choice;
- var cible2 = document.getElementById('lreference');
- cible2.value = choice2;
- }
- // Charger le formulaire de modification Ajax
- function modifieLiberation(noemploye, nolib, jeton) {
- $(document).ready(function () {
- changetitre(2);
- $("#lreference").val(noemploye);
- mode_ajout = 0;
- var reponseVerif = $.trim($.ajax({
- url: "obtformlib.php",
- global: false,
- type: "POST",
- data: {
- prm1: nolib,
- jeton: jeton
- },
- dataType: "html",
- async: false
- }).responseText);
- $("#fenetremodale").html(reponseVerif);
- var oRows = document.getElementById('liberations').getElementsByTagName('tr');
- nombre = oRows.length - 1;
- overlay();
- });
- }
- $(document).ready(function () {
- //Charger le formulaire Ajax avant tout le monde
- $("#fenetremodale").load("obtformlib.php?prm1=-1");
- // Sur le clic du bouton d'ajout d'une libération,
- // réinitialisation de tous les champs du formulaire.
- $("#action_ajout").click(function () {
- mode_ajout = 1;
- $("#fenetremodale").load("obtformlib.php", {prm1: -1, jeton: "<?php print $GLOBALS["jeton"]; ?>"});
- //recommencer();
- });
- $("#frmModif").validate();
- $("voirsolde").blur(function () {
- $("#voirsolde").slideUp();
- });
- });</script>
- <?PHP
- if (isset($action2) && $action2 == "Afficher") {
- ?>
- <script type="text/javascript">
- $(document).ready(function () {
- changetitre(2);
- overlay();
- });
- </script>
- <?php
- }
|