123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456 |
- <?php
- // --------
- // Sécurité
- // --------
- if (isValidConstant() != 1) {
- fermeSessionUtilisateur();
- }
- // ----------------------
- // Droit de l'utilisateur
- // ----------------------
- if ($_SESSION['gestion_site'] < 'Oui') {
- exit;
- }
- // ------------------------------
- // Caractéristiques du module
- // ------------------------------
- unset($module);
- $module = array(
- "titre" => "Gestion des lieux de travail",
- "urldest" => $SCRIPT_NAME . "?page=liste_lieuxtravail",
- "recherche" => array("engin" => false),
- "jeton" => $jeton,
- "opradmin" => "Ajouter un lieu de travail",
- "fenetre" => array(
- "nom" => "liste_lieuxtravail",
- "titre" => "titre",
- "largeur" => "750",
- "hauteur" => "420",
- "validation" => true,
- "champs" => array("lnolieutravail", "lnomlieutravail", "lnoemployeur", "lcontact", "ladresse", "lville", "lcodepostal", "ltelephone", "ltelecopieur", "lemail")
- ),
- "msgajoutbouton" => "Ajout d'une fiche d'un lieu de travail",
- "actionajoutbouton" => "Ajouter la fiche du lieu de travail",
- "msgmodifbouton" => "Modification de la fiche d'un lieu de travail",
- "actionmodifbouton" => "Modifier la fiche du lieu de travail",
- "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)
- ),
- "lientri" => true,
- "entete" => array(
- 1 => array("# Lieu" => "reflieutravail", "largeur" => "45px"),
- 2 => array("Lieu" => "nomlieutravail", "largeur" => "200px"),
- 3 => array("Attaché à/au" => "nomemployeur", "largeur" => "125px"),
- 4 => array("Contact" => "nomcontact", "largeur" => "200px"),
- 5 => array("Adresse" => "(adresse+ville+codepostal)", "largeur" => "165px"),
- 6 => array("Téléphone" => "numtel", "largeur" => "90px"),
- 7 => array("Télécopieur" => "numfax", "largeur" => "90px"),
- 8 => array("Adresse @" => "email", "largeur" => "200px")
- //9 => array("<img alt=\"Pdf\" src=\"images/icones/icones_20.png\">" => "-1", "largeur" => "22px")
- ),
- "msg" => array(
- "maj_ok" => "Modification effectuée avec succès.",
- "maj_echec" => "L'opération de mise à jour du lieu de travail a échouée.",
- "employeur_invalide" => "Employeur introuvable ou inconnu."
- )
- );
- // ------------------
- // Requête sur le tri
- // ------------------
- $rtri = antiInjection($module["entete"][$tri][key($module["entete"][$tri])] . " " . $dir);
- // -----------------------
- // Opération de sauvegarde
- // -----------------------
- if (isset($action)) {
- $msg = "";
- $action = stripslashes(antiInjection($action));
- if ($action == "Modifier la fiche du lieu de travail" || $action == "Ajouter la fiche du lieu de travail") {
- $lnolieutravail = antiInjection(filter_input(INPUT_POST, 'lnolieutravail'));
- $lnomlieutravail = antiInjection($lnomlieutravail);
- $lnoemployeur = antiInjection(filter_input(INPUT_POST, 'lnoemployeur'));
- $lcontact = antiInjection($lcontact);
- $ladresse = antiInjection($ladresse);
- $lville = antiInjection($lville);
- $lcodepostal = antiInjection($lcodepostal);
- $ltelephone = antiInjection($ltelephone);
- $ltelecopieur = antiInjection($ltelecopieur);
- $lemail = antiInjection($lemail);
- $error = false;
- //Validations d'usage
- if (empty($lnomlieutravail)) {
- $module["resultatSQL"] = false;
- $module["message"] = "Le nom du lieu de travail est requis.";
- $error = true;
- } else if ($lnoemployeur === "" || intval($lnoemployeur) < 0) {
- $module["resultatSQL"] = false;
- $module["message"] = "L'employeur de l'utilisateur est requis.";
- $error = true;
- } else if (empty($lcontact)) {
- $module["resultatSQL"] = false;
- $module["message"] = "Le nom de la personne contact est requis";
- $error = true;
- } else if ($ladresse === "") {
- $module["resultatSQL"] = false;
- $module["message"] = "L'adresse du lieu de travail est requis.";
- $error = true;
- } else if ($lville === "") {
- $module["resultatSQL"] = false;
- $module["message"] = "Le nom de la ville est requis.";
- $error = true;
- } else if (preg_match("/^[ABCEGHJ-NPRSTVXY]\d[ABCEGHJ-NPRSTV-Z] ?\d[ABCEGHJ-NPRSTV-Z]\d$/", $lcodepostal) !== 1) {
- $module["resultatSQL"] = false;
- $module["message"] = "Le code postal est requis et doit être valide.";
- $error = true;
- } else if (!isValidPhone($ltelephone)) {
- $module["resultatSQL"] = false;
- $module["message"] = "Le numéro de téléphone est requis et doit être valide.";
- $error = true;
- } else if (!empty($ltelecopieur) && !isValidPhone($ltelecopieur)) {
- $module["resultatSQL"] = false;
- $module["message"] = "Le numéro de télécopieur doit être valide.";
- $error = true;
- } else if (!filter_var($lemail, FILTER_VALIDATE_EMAIL)) {
- $module["resultatSQL"] = false;
- $module["message"] = "L'adresse courriel est requise et doit être valide.";
- $error = true;
- }
- if (!$error) {
- unset($sqlparam, $result);
- $lnoemployeur = antiInjection($lnoemployeur);
- $sqlparam["table"][] = "employeurs";
- $sqlparam["where"][] = "refemployeur='$lnoemployeur'";
- $result = executerRequeteSql($sqlparam);
- if (!isset($result)) {
- $module["resultatSQL"] = false;
- $module["message"] = $module["msg"]["employeur_invalide"];
- } else {
- unset($sqlparam, $result);
- if ($action == "Modifier la fiche du lieu de travail") {
- $sqlparam["type"] = "UPDATE";
- $sqlparam["where"][] = sprintf("reflieutravail = %d", $lnolieutravail);
- } else {
- $sqlparam["type"] = "INSERT";
- $sqlparam["champs"]["reflieutravail"] = sprintf("%d", $lnolieutravail);
- }
- $sqlparam["table"][] = "lieuxtravail";
- $sqlparam["champs"]["nomlieutravail"] = "'" . sprintf("%s", $lnomlieutravail) . "'";
- $sqlparam["champs"]["refemployeur"] = sprintf("%d", $lnoemployeur);
- $sqlparam["champs"]["nomcontact"] = "'" . sprintf("%s", $lcontact) . "'";
- $sqlparam["champs"]["adresse"] = "'" . sprintf("%s", $ladresse) . "'";
- $sqlparam["champs"]["ville"] = "'" . sprintf("%s", $lville) . "'";
- $sqlparam["champs"]["codepostal"] = "'" . sprintf("%s", $lcodepostal) . "'";
- $sqlparam["champs"]["numtel"] = "'" . sprintf("%s", $ltelephone) . "'";
- $sqlparam["champs"]["numfax"] = "'" . sprintf("%s", $ltelecopieur) . "'";
- $sqlparam["champs"]["email"] = "'" . sprintf("%s", $lemail) . "'";
- // TODO - Mettre une valeur pour le champ «vide» même s'il n'est pas utilisé.
- // TODO - Champ possiblement à retirer.
- $sqlparam["champs"]["dept"] = "'vide'";
- $result = executerRequeteSql($sqlparam);
- if (isset($result)) {
- //unset($lnolieutravail);
- unset($lnomlieutravail);
- unset($lnoemployeur);
- unset($lcontact);
- unset($ladresse);
- unset($lville);
- unset($lcodepostal);
- unset($ltelephone);
- unset($ltelecopieur);
- unset($lemail);
- $lnolieutravail = sprintf("%d", $lnolieutravail); //$result[0]["reflieutravail"];
- $lnomlieutravail = '';
- $lnoemployeur = '';
- $lcontact = '';
- $ladresse = '';
- $lville = '';
- $lcodepostal = '';
- $ltelephone = '';
- $ltelecopieur = '';
- $lemail = '';
- $module["resultatSQL"] = true;
- $module["message"] = $module["msg"]["maj_ok"];
- } else {
- $module["resultatSQL"] = false;
- $module["message"] = $module["msg"]["maj_echec"];
- }
- }
- }
- }
- } else {
- unset($lnolieutravail);
- unset($lnomlieutravail);
- unset($lcontact);
- unset($ladresse);
- unset($lville);
- unset($lcodepostal);
- unset($ltelephone);
- unset($ltelecopieur);
- unset($lnoemployeur);
- unset($lemail);
- $lnolieutravail = 0;
- $lnomlieutravail = '';
- $lnom = '';
- $lcontact = '';
- $ladresse = '';
- $lville = '';
- $lcodepostal = '';
- $ltelephone = '';
- $ltelecopieur = '';
- $lnoemployeur = '';
- $lemail = '';
- }
- $i = 0;
- unset($sqlparam);
- $sqlparam["table"][] = "lieuxtravail";
- $sqlparam["table"][] = "employeurs";
- $sqlparam["join"][] = "employeurs.refemployeur = lieuxtravail.refemployeur";
- $sqlparam["champs"][] = "lieuxtravail.reflieutravail";
- $sqlparam["champs"][] = "lieuxtravail.nomlieutravail";
- $sqlparam["champs"][] = "employeurs.refemployeur";
- $sqlparam["champs"][] = "employeurs.nomemployeur";
- $sqlparam["champs"][] = "lieuxtravail.nomcontact";
- $sqlparam["champs"][] = "lieuxtravail.adresse";
- $sqlparam["champs"][] = "lieuxtravail.ville";
- $sqlparam["champs"][] = "lieuxtravail.codepostal";
- $sqlparam["champs"][] = "lieuxtravail.numtel";
- $sqlparam["champs"][] = "lieuxtravail.numfax";
- $sqlparam["champs"][] = "lieuxtravail.email";
- $sqlparam["compte"] = "lieuxtravail.reflieutravail";
- $sqlparam["limite"] = ($nombreaffiche * ($nopage - 1)) . ", " . $nombreaffiche;
- $sqlparam["ordre"][] = $rtri;
- $result = executerRequeteSql($sqlparam);
- $module["compte"] = $result[0]["compte"];
- print preparerModule($module);
- //Liste principale
- if (isset($result)) {
- $i = ($nopage - 1) * $nombreaffiche + 1;
- unset($style);
- $style = "border:1px solid #cfcfcf; font-family:arial, helvetica, sans-serif;; font-size:9pt; margin-left:5px; margin-right:5px; padding-right:10px;overflow-x:hidden; white-space:nowrap;";
- //Boucle de lecture
- foreach ($result as $clef => $champs) {
- $telephone = ($champs["numtel"] != "") ? $champs["numtel"] : " ";
- $telecopieur = ($champs["numfax"] != "") ? $champs["numfax"] : " ";
- $email = ($champs["email"]) ? $champs["email"] : " ";
- print "<tr>\n";
- print "<td style='$style'>" . $i . "</td>";
- print "<td class='detail_liste' style='width:" . $module["entete"][1]["largeur"] . "px;'title=\"" . $champs["reflieutravail"] . "\">" . $champs["reflieutravail"] . "</td>";
- print "<td class='detail_liste' style='width:" . $module["entete"][2]["largeur"] . "px;' title=\"" . htmlentities($champs["nomlieutravail"]) . "\">";
- print "<div style='overflow:hidden; white-space:nowrap; width:200px;'>" . htmlentities($champs["nomlieutravail"], ENT_SUBSTITUTE, "UTF-8") . "</div></td>";
- print "<td class='detail_liste' style=' width:" . $module["entete"][3]["largeur"] . "px;' title=\"" . $champs["nomemployeur"] . "\">";
- print "<div style='overflow:hidden; white-space:nowrap; width:125px;'>" . htmlentities($champs["nomemployeur"], ENT_SUBSTITUTE, "UTF-8") . "</div></td>";
- print "<td class='detail_liste' style='width:" . $module["entete"][4]["largeur"] . "px;' title=\"" . $champs["nomcontact"] . "\">";
- print "<div style='overflow:hidden; white-space:nowrap; width:200px;'>" . htmlentities($champs["nomcontact"], ENT_SUBSTITUTE, "UTF-8") . "</div></td>";
- print "<td class='detail_liste' style='width:" . $module["entete"][5]["largeur"] . "px;' title=\"" . $champs["adresse"] . " " . $champs["ville"] . " " . $champs["codepostal"] . "\">";
- print "<div style='overflow:hidden; white-space:nowrap; width:165px;'>" . htmlentities($champs["adresse"] . " " . $champs["ville"] . " " . $champs["codepostal"]) . "</div></td>\n";
- print "<td class='detail_liste' style='width:" . $module["entete"][6]["largeur"] . "px;' title=\"" . $telephone . "\">";
- print htmlentities($telephone, ENT_SUBSTITUTE, "UTF-8") . "</td>\n";
- print "<td class='detail_liste' style='width:" . $module["entete"][7]["largeur"] . "px;' title=\"" . $telecopieur . "\">";
- print htmlentities($telecopieur, ENT_SUBSTITUTE, "UTF-8") . "</td>\n";
- print "<td class='detail_liste' style='width:" . $module["entete"][8]["largeur"] . "px;' title=\"" . $email . "\">";
- print "<div style='overflow:hidden; white-space:nowrap; width:200px;'>" . htmlentities($email, ENT_SUBSTITUTE, "UTF-8") . "</div></td>\n";
- print "<td class='detail_liste' style='width:30x;'>\n";
- print "<form action='' name='sous_formulaire$i'>";
- print prepareBoutonModifier(array($champs["reflieutravail"], $champs["nomlieutravail"], $champs["refemployeur"], $champs["nomcontact"],
- $champs["adresse"], $champs["ville"], $champs["codepostal"], $champs["numtel"],
- $champs["numfax"], $champs["email"]));
- print "</form>";
- print "</td>\n";
- print "</tr>\n";
- $i++;
- }
- print"</table>";
- ?>
- <script type='text/javascript'>
- function ValidationFormulaire()
- {
- var msgNom = "Nom de l'employeur requis.";
- var msgEmployeur = "Employeur requis.";
- var msgPersonne = "Nom de la personne contact requis.";
- var msgAdresse = "Adresse requise.";
- var msgVille = "Nom de la ville requise.";
- var msgCodePostal = "Code postal requis et valide.";
- var msgTel1 = "Numéro de téléphone requis et valide.";
- var msgTel2 = "Numéro de télécopieur requis et valide.";
- var msgEmail = "Adresse de courriel valide requise";
- var frm = document.frmModif;
- if (frm.lnomlieutravail.value === "") {
- jAlert(msgNom);
- return false;
- } else if (frm.lnoemployeur.selectedIndex === 0) {
- jAlert(msgEmployeur);
- return false;
- } else if (frm.lcontact.value === "") {
- jAlert(msgPersonne);
- return false;
- } else if (frm.ladresse.value === "") {
- jAlert(msgAdresse);
- return false;
- } else if (frm.lville.value === "") {
- jAlert(msgVille);
- return false;
- } else if (!isPostCode(frm.lcodepostal.value.trim())) {
- jAlert(msgCodePostal);
- frm.lcodepostal.focus();
- return false;
- } else if (!isTelephone(frm.ltelephone.value)) {
- jAlert(msgTel1);
- frm.ltelephone.focus();
- return false;
- } else if (frm.ltelecopieur.value !== "" && !isTelephone(frm.ltelecopieur.value)) {
- jAlert(msgTel2);
- frm.ltelecopieur.focus();
- return false;
- } else if (!isCourrielValide(frm.lemail.value)) {
- jAlert(msgEmail);
- frm.lemail.focus();
- return false;
- }
- closeRemote();
- return true;
- }
- function modifpres() {
- var frm = document.frmModif;
- var valeurTexte = remove(frm.lcontact.value, "Madame ");
- valeurTexte = remove(valeurTexte, "Monsieur ");
- if (frm.lpresentation.selectedIndex > 0) {
- frm.lcontact.value = frm.lpresentation.value + " " + valeurTexte;
- }
- }
- // Mise en place des masques de saisie
- $(document).ready(function () {
- $("#ltelephone").mask("(999) 999-9999");
- $("#ltelecopieur").mask("(999) 999-9999");
- $("#frmModif").validate();
- });
- </script>
- <?php
- // 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 fenetreModaleDebut($module["fenetre"], $SCRIPT_NAME, $jeton);
- //Lieu de travail
- print "</tr>";
- print "<tr>";
- print "<td>Nom du lieu de travail : </td>";
- print "<td>";
- // Clef de l'enregistrement du lieu de travail.
- print sprintf("<input type='hidden' id='lnolieutravail' name='lnolieutravail' value='%d'>", $lnolieutravail);
- print "<INPUT TYPE='text' id='lnomlieutravail' NAME='lnomlieutravail' Value='" . $lnomlieutravail . "' SIZE='50' MAXLENGTH='50' >";
- print "</td>";
- print "</tr>";
- //Employeur
- print "<tr>";
- print "<td>Employeur : </td>";
- print "<td>";
- unset($result2);
- $result2 = getEmployeurs();
- unset($param);
- $param["form"] = "frmModif";
- $param["nom"] = "lnoemployeur";
- $param["etq"] = "";
- if ($_SESSION['gestion_site'] >= 'Oui') {
- $param["defaut"] = (isset($ListeEmployeurs) ? $ListeEmployeurs : '');
- } else {
- $param["defaut"] = $_SESSION["employeur"];
- }
- $param["donnees"] = $result2;
- $param["menu"] = true;
- $param["evt"] = " ";
- print formListbox2($param);
- print "</td>
- </tr>";
- print "<tr>";
- print "<td>Personne contact : </td>";
- print "<td>";
- print "<select name='lpresentation' onblur=\"javascript:modifpres()\" onclick=\"javascript:modifpres()\">";
- print "<option>-----</option>";
- print "<option>Madame</option>";
- print "<option>Monsieur</option>";
- print "</select>";
- print "<INPUT TYPE='text' NAME='lcontact' id='lcontact' Value='$lcontact' SIZE='50' MAXLENGTH='50' >";
- print "</td>";
- print "</tr>";
- print "<tr>";
- print "<td>Adresse : </td>";
- print "<td>";
- print "<INPUT TYPE='text' NAME='ladresse' id='ladresse' Value='$ladresse' SIZE='50' MAXLENGTH='50' >";
- print "</td>";
- print "</tr>";
- print "<tr>";
- print "<td>Ville : </td>";
- print "<td>";
- print "<INPUT TYPE='text' NAME='lville' id='lville' Value='$lville' SIZE='30' MAXLENGTH='30' ><br>";
- print "</td>";
- print "</tr>";
- print "<tr>";
- print "<td>Code postal : </td>";
- print "<td>";
- print "<INPUT TYPE='text' id='lcodepostal' NAME='lcodepostal' Value='$lcodepostal' SIZE='7' MAXLENGTH='7' >";
- print "</td>";
- print "</tr>";
- print "<tr>";
- print "<td>Téléphone : </td>";
- print "<td>";
- print "<INPUT TYPE='text'NAME='ltelephone' Value='$ltelephone' id='ltelephone' SIZE='14' MAXLENGTH='14' >";
- print "</td>";
- print "</tr>";
- print "<tr>";
- print "<td>Télécopieur : </td>";
- print "<td>";
- print "<INPUT TYPE='text' NAME='ltelecopieur' Value='$ltelecopieur' id='ltelecopieur' SIZE='14' MAXLENGTH='14' >";
- print "</td>";
- print "</tr>";
- print "<tr>";
- print "<td>Adresse de courriel : </td>";
- print "<td>";
- print "<INPUT TYPE='text' NAME='lemail' id='lemail' Value='$lemail' SIZE='50' MAXLENGTH='50'>"; // class='required email'><br>";
- print "</td >";
- print "</tr>";
- print fenetreModaleFin($module["actionmodifbouton"]);
- }
|