ajaxsearch.php 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. session_start();
  3. require (__DIR__ . '/vendor/autoload.php');
  4. require_once("lib/libconfig.inc.php");
  5. require_once("lib/libsession.inc.php");
  6. require_once("lib/libfonctions.inc.php");
  7. require_once("lib/libmysql.inc.php");
  8. require_once("lib/libencode.inc.php");
  9. require_once("lib/libforms.inc.php");
  10. require_once("lib/libcourriel.inc.php");
  11. require_once("lib/libliberations.inc.php");
  12. require_once("lib/lib2fa.inc.php");
  13. ini_set('display_errors', 'off');
  14. //Encodage des caractères
  15. header('Content-Type: text/html; charset=$ENCODAGE');
  16. const AUCUN_RESULTAT = "<div style='text-align:center; font-size:11pt; margin:5px; '><span style='color:white;'>Aucun r&eacute;sultat</span>\n</div>\n";
  17. setConnectionSql();
  18. function enleveAccent($chaine) {
  19. $accent = "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ";
  20. $noaccent = "AAAAAAACEEEEIIIIDNOOOOOOUUUUYBSaaaaaaaceeeeiiiidnoooooouuuyyby";
  21. return strtr(trim($chaine), $accent, $noaccent);
  22. }
  23. if (filter_input(INPUT_POST,'zonerecherche',FILTER_SANITIZE_ADD_SLASHES)!=="") {
  24. $zonerecherche = antiInjection(filter_input(INPUT_POST,'zonerecherche',FILTER_SANITIZE_ADD_SLASHES));
  25. $zonerecherche2 = trim($zonerecherche);
  26. $id = sprintf("%d", filter_input(INPUT_POST,'id',FILTER_SANITIZE_ADD_SLASHES));
  27. if (($zonerecherche2 != null && !empty($zonerecherche2)) && ($id != null && !empty($id))) {
  28. unset($sqlparam);
  29. $sqlparam["table"][] = "employes";
  30. $sqlparam["champs"][] = "nomfamille";
  31. $sqlparam["champs"][] = "prenom";
  32. $sqlparam["champs"][] = "numemploye";
  33. $sqlparam["champs"][] = "adresse1";
  34. $sqlparam["champs"][] = "adresse2";
  35. $sqlparam["champs"][] = "ville";
  36. $sqlparam["champs"][] = "codepostal";
  37. $sqlparam["champs"][] = "numtel";
  38. $sqlparam["champs"][] = "membreca";
  39. $sqlparam["champs"][] = "refemploye";
  40. $sqlparam["champs"][] = "presentation";
  41. $sqlparam["champs"][] = "email";
  42. $sqlparam["champs"][] = "numemploye";
  43. $sqlparam["order"][] = "nomfamille";
  44. $sqlparam["order"][] = "prenom";
  45. $sqlparam["where"][] = "TRIM(CONCAT_WS(' ',nomfamille,prenom)) LIKE '%" . trim($zonerecherche2) . "%'";
  46. if ($_SESSION['gestion_site'] == 'Non') {
  47. $sqlparam["where"][] = sprintf("employes.refemployeur=%d", $_SESSION['employeur']);
  48. }
  49. // Ne pas prendre les employés qui ont été archivés
  50. $sqlparam["where"][] = "archive=0";
  51. $sqlparam["limite"] = 7;
  52. $result = executerRequeteSql($sqlparam);
  53. if ($result) {
  54. foreach ($result as $clef => $champs) {
  55. $valeur0 = $champs["nomfamille"];
  56. $valeur1 = $champs["prenom"];
  57. $valeur2 = $champs["refemploye"];
  58. $valeur3 = $champs["numemploye"];
  59. $valeur4 = $champs["ville"];
  60. $ligne = enleveAccent(htmlentities($valeur0 . ", " . $valeur1 . " (" . $valeur3 . "), " . $valeur4, ENT_SUBSTITUTE, "UTF-8"));
  61. $zonerecheche = strtolower(enleveAccent($zonerecherche2));
  62. $ligne2 = ucwords($ligne);
  63. $ligne3 = str_ireplace(strtoupper($zonerecherche2), '<span class="highlight">' . strtoupper($zonerecherche2) . '</span>', $ligne2);
  64. $nomTemp = str_replace("'", "&apos;", htmlentities($valeur0 . ", " . $valeur1, ENT_SUBSTITUTE, "UTF-8"));
  65. print sprintf("<a style='cursor:pointer;' onclick='selectedC(%d,\"%s\",%d);'> %s</a>", $id, $nomTemp, $valeur2, $ligne3);
  66. }
  67. } else {
  68. print AUCUN_RESULTAT;
  69. }
  70. } else {
  71. print AUCUN_RESULTAT;
  72. }
  73. }