parametres_centrale.inc.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  1. <?PHP
  2. // ------------------------------
  3. // Caractéristiques du module
  4. // ------------------------------
  5. unset($module);
  6. $module = array(
  7. "titre" => "Paramétrages",
  8. "urldest" => $SCRIPT_NAME . "?page=parametres_centrale",
  9. "recherche" => array("engin" => false),
  10. "jeton" => $jeton,
  11. "msg" => array(
  12. "maj_ok" => "Paramétrage de la centale syndicale effectué avec succès.",
  13. "maj_echec" => "L'opération de paramétrage de la centrale syndicale a échouée.",
  14. "erreur_champ" => "Un des champs est vide ou incorrectement inscrit."
  15. ),
  16. "boutonfermeraction" => "RevenirMenuPrecedent",
  17. "menuprecedent" => "utilitaires"
  18. );
  19. require_once("lib/libphotos.inc.php");
  20. // -----------------------
  21. // Opération de sauvegarde
  22. // -----------------------
  23. if (isset($action)) {
  24. $msg = "";
  25. //Cueillette de données du module
  26. $action = stripslashes(antiInjection($action));
  27. if ($action == "Soumettre") {
  28. unset($opereussie);
  29. $opereussie = false;
  30. unset($sqlparam);
  31. $sqlparam["table"][] = "configuration";
  32. $sqlparam["champs"][] = "id";
  33. $sqlparam["champs"][] = "valeur";
  34. $result = executerRequeteSql($sqlparam);
  35. $nbEnreg = count($result);
  36. //Vérification des champs, ne doit pas être vide.
  37. $nbChampEnErreur = 0;
  38. for ($x = 1; $x < $nbEnreg; $x++) {
  39. //Construction de la variable
  40. $variable = "l$x";
  41. $variable2 = trim($$variable);
  42. //Ne doit pas vérifier le logo en position #18, il est vérifier plus bas.
  43. if (empty($variable2)) {
  44. $nbChampEnErreur++;
  45. }
  46. }
  47. //Champs vides ?
  48. if ($nbChampEnErreur > 0) {
  49. $module["message"] = $module["msg"]["erreur_champ"];
  50. } elseif ($nbChampEnErreur == 0 && !isValidCodePostal($l5)) {
  51. // Code postal
  52. $nbChampEnErreur = 1;
  53. $module["message"] = "Code postal invalide";
  54. } elseif ($nbChampEnErreur == 0 && !isValidPhone($l7)) {
  55. //Téléphone
  56. $nbChampEnErreur = 1;
  57. $module["message"] = "Numéro de téléphone invalide";
  58. } elseif ($nbChampEnErreur == 0 && !isValidPhone($l8)) {
  59. //Télécopieur
  60. $nbChampEnErreur = 1;
  61. $module["message"] = "Numéro de télécopieur invalide";
  62. } elseif ($nbChampEnErreur == 0 && !isValidPhone($l9)) {
  63. //Sans frais
  64. $nbChampEnErreur = 1;
  65. $module["message"] = "Numéro de téléphone sans frais invalide";
  66. } elseif (!filter_var($l12, FILTER_VALIDATE_EMAIL)) {
  67. // Email de la centrale
  68. $nbChampEnErreur = 1;
  69. $module["message"] = "L'adresse courriel est requise et doit être valide.";
  70. } elseif (!filter_var($l13, FILTER_VALIDATE_URL)) {
  71. //Site web
  72. $nbChampEnErreur = 1;
  73. $module["message"] = "Le site web doit est requis et doit être valide.";
  74. } elseif (!filter_var($l16, FILTER_VALIDATE_EMAIL)) {
  75. //Adresse courriel de la personne contact
  76. $nbChampEnErreur = 1;
  77. $module["message"] = "L'adresse courriel est requise et doit être valide.";
  78. } elseif ($nbChampEnErreur == 0 && !isValidPhone($l17)) {
  79. //Téléphone personne contact
  80. $nbChampEnErreur = 1;
  81. $module["message"] = "Numéro de téléphone invalide";
  82. } elseif ($nbChampEnErreur == 0 && isset($_FILES['logo']) && is_null($_FILES['logo']['name']) && empty($result[$x]["valeur"])) {
  83. $nbChampEnErreur = 1;
  84. $module["message"] = "Logo de la centrale syndicale est requis";
  85. }
  86. // Conditions de base remplies
  87. // Toujours pas d'erreur, nous continuons.
  88. if ($nbChampEnErreur == 0) {
  89. $nbOperationSQLReussie = 0;
  90. for ($x = 1; $x < $nbEnreg; $x++) {
  91. //Ne pas inclure le logo
  92. if ($x < 18) {
  93. //Construction de la variable
  94. $variable = "l$x";
  95. $variable2 = $$variable;
  96. unset($sqlparam);
  97. $sqlparam["type"] = "UPDATE";
  98. $sqlparam["table"][] = "configuration";
  99. $sqlparam["champs"]["valeur"] = sprintf("'%s'", $variable2);
  100. $sqlparam["where"][] = "id=$x";
  101. $result = executerRequeteSql($sqlparam);
  102. if ($result) {
  103. $nbOperationSQLReussie++;
  104. }
  105. }
  106. }
  107. //Traitement spéciale pour le logo
  108. if (isset($_FILES['logo']) && strlen($_FILES['logo']['name'])>0) { // && !is_null($_FILES['logo']['name'])) {
  109. $retour = creerLogo($_FILES['logo'], "./logo/", $_SESSION['syndicat']);
  110. if ($retour == "Logo téléversé") {
  111. $nbOperationSQLReussie++;
  112. } else {
  113. $module["message"] = $retour;
  114. $erreur = 1;
  115. }
  116. } else {
  117. $nbOperationSQLReussie++;
  118. }
  119. if ($nbOperationSQLReussie == 18) {
  120. $opereussie = true;
  121. }
  122. } else {
  123. $erreur = 1;
  124. }
  125. if (isset($opereussie) && $opereussie) {
  126. $module["resultatSQL"] = true;
  127. $module["message"] = $module["msg"]["maj_ok"];
  128. } else if (isset($erreur) && $erreur) {
  129. $module["resultatSQL"] = false;
  130. if (empty($module["message"])) {
  131. $module["message"] = $module["msg"]["erreur_champ"];
  132. }
  133. }
  134. }
  135. }
  136. unset($sqlparam);
  137. $sqlparam["table"][] = "configuration";
  138. $sqlparam["champs"][] = "clef";
  139. $sqlparam["champs"][] = "etiquette";
  140. $sqlparam["champs"][] = "valeur";
  141. $result = executerRequeteSql($sqlparam);
  142. print preparerModule($module);
  143. ?>
  144. <div style="position:relative; width:1200px; height:auto; margin:auto; z-index: 101;" tabindex="-1" role="dialog"
  145. class="ui-dialog ui-corner-all ui-widget ui-widget-content ui-front " aria-describedby="fenetremodale" aria-labelledby="ui-id-1">
  146. <div class="ui-dialog-titlebar ui-corner-all ui-widget-header ui-helper-clearfix">
  147. <span id="ui-id-1" class="ui-dialog-title">Paramétrage de la centrale syndicale</span>
  148. </div>
  149. <div id="fenetremodale" style="width: auto; min-height: 0px; max-height: none; height: 650px;" class="ui-dialog-content ui-widget-content">
  150. <?php
  151. print "<table width='100%' border='0' >\n";
  152. print "<tr>\n";
  153. print "<td align='center' width='100%'>\n";
  154. print "<div style='background:#f2f6f7'>\n";
  155. // Exécution de l'envoi des données du formulaire
  156. // ----------------------------------------------
  157. print "<form action='" . $SCRIPT_NAME . "?page=parametres_centrale";
  158. print "&jeton=" . $jeton . "' method='post' id='frmModif' name='frmModif' "; //>\n";
  159. print "ENCTYPE=\"multipart/form-data\" onSubmit='return ValidationFormulaire();'";
  160. print ">\n";
  161. print "<table width='100%'>\n";
  162. print "<tr>\n";
  163. print "<td colspan='2'>\n";
  164. print "<table width='100%'>\n";
  165. print "<tr>\n";
  166. print "</tr>\n";
  167. print "</table>\n";
  168. print "</td>\n";
  169. print "</tr>\n";
  170. $cpt = 1;
  171. foreach ($result as $clef => $valeur) {
  172. print "<tr>";
  173. print "<td>" . $valeur["etiquette"] . " : </td>";
  174. print "<td>";
  175. if ($valeur["clef"] != "logo") {
  176. $valeurForm = (empty($valeur["valeur"]) ? "" : htmlentities($valeur["valeur"]));
  177. print "<INPUT TYPE='text' id='l$cpt' NAME='l$cpt' Value='$valeurForm' SIZE='100' MAXLENGTH='100' >";
  178. } else {
  179. print "<INPUT TYPE='file' id='logo' NAME='logo' Value=''>";
  180. print "Laisser vide pour garder le même logo / format jpeg et png autorisés\n";
  181. }
  182. print "</td>";
  183. print "</tr>";
  184. $cpt++;
  185. }
  186. print "<td colspan='2' style='text-align:center; height:50px'>\n";
  187. print "<input class='styled' type=\"submit\" id='boutonaction' name='action' value=\"Soumettre\">";
  188. print "</td>\n</tr>\n";
  189. print "</table></form>\n";
  190. print "</div></td>\n";
  191. print "</tr></table>\n";
  192. print "</div>\n";
  193. print "</div>\n";
  194. ?>
  195. </div>
  196. </div>
  197. <script type="text/javascript">
  198. function ValidationFormulaire()
  199. {
  200. var msgCentrale = "Nom de la centrale syndicale requis.";
  201. var msgAcronyme = "Nom de l'acronyme requis.";
  202. var msgAdresse = "Adresse requise.";
  203. var msgVille = "Nom de la ville requis.";
  204. var msgCodePostal1 = "Code postal valide et requis.";
  205. var msgProvince = "Nom de la province requis.";
  206. var msgTel1 = "Numéro de téléphone valide et requis.";
  207. var msgTel2 = "Numéro de télécopieur valide requis.";
  208. var msgSansFrais = "Numéro sans frais valide requis.";
  209. var msgPresidence = "Nom de la personne à la présidence requis";
  210. var msgPoste = "Nom du poste ou titre requis.";
  211. var msgEmail = "Adresse de courriel de la centrale valide et requise";
  212. var msgSiteWeb = "Adresse du site web requis.";
  213. var msgContactNom = "Nom de la personne contact requis.";
  214. var msgContactPoste = "Poste ou titre de la personne contact requis.";
  215. var msgContactEmail = "Adresse courriel de la personne contact valide et requise.";
  216. var msgContactTel = "Numéro de téléphone de la personne contact valide et requis.";
  217. if ($("#l1").val() === "") {
  218. jAlert(msgCentrale);
  219. return false;
  220. } else if ($("#l2").val() === "") {
  221. jAlert(msgAcronyme);
  222. return false;
  223. } else if ($("#l3").val() === "") {
  224. jAlert(msgAdresse);
  225. return false;
  226. } else if ($("#l4").val() === "") {
  227. jAlert(msgVille);
  228. return false;
  229. } else if (!isPostCode($("#l5").val())) {
  230. jAlert(msgCodePostal1);
  231. return false;
  232. } else if ($("#l6").val() === "") {
  233. jAlert(msgProvince);
  234. return false;
  235. } else if (!isTelephone($("#l7").val())) {
  236. jAlert(msgTel1);
  237. return false;
  238. } else if (!isTelephone($("#l8").val())) {
  239. jAlert(msgTel2);
  240. return false;
  241. } else if (!isTelephone($("#l9").val())) {
  242. jAlert(msgSansFrais);
  243. return false;
  244. } else if ($("#l10").val() === "") {
  245. jAlert(msgPresidence);
  246. return false;
  247. } else if ($("#l11").val() === "") {
  248. jAlert(msgPoste);
  249. return false;
  250. } else if (!isCourrielValide($("#l12").val())) {
  251. jAlert(msgEmail);
  252. return false;
  253. } else if ($("#l13").val() === "") {
  254. jAlert(msgSiteWeb);
  255. return false;
  256. } else if ($("#l14").val() === "") {
  257. jAlert(msgContactNom);
  258. return false;
  259. } else if ($("#l15").val() === "") {
  260. jAlert(msgContactPoste);
  261. return false;
  262. } else if (!isCourrielValide($("#l16").val())) {
  263. jAlert(msgContactEmail);
  264. return false;
  265. } else if (!isTelephone($("#l17").val())) {
  266. jAlert(msgContactTel);
  267. return false;
  268. }
  269. //closeRemote();
  270. return true;
  271. }
  272. // Mise en place des masques de saisie
  273. $(document).ready(function () {
  274. $("#l5").mask("a9a 9a9");
  275. $("#l7").mask("(999) 999-9999");
  276. $("#l8").mask("(999) 999-9999");
  277. $("#l9").mask("(999) 999-9999");
  278. $("#l17").mask("(999) 999-9999");
  279. $("#frmModif").validate();
  280. });
  281. </script>