PageRenderTime 54ms CodeModel.GetById 20ms RepoModel.GetById 1ms app.codeStats 0ms

/DEV/EXE/main.search.exe.php

https://github.com/chrisbst35/LI_LEMONDE
PHP | 236 lines | 107 code | 50 blank | 79 comment | 52 complexity | 3e3f923943c8a68d8238aaeb3579a574 MD5 | raw file
  1. <?php
  2. /**
  3. standardsearch.exe.php - Search runtime module
  4. @version 1.2
  5. @author Michel Mom, Daniel Page, 01/2008
  6. @since 23/01/2008 Original version
  7. @since 29/01/2008 Changes to search structures
  8. @since 1/2/2008 Name change to module.type.php format and use of new search object
  9. */
  10. /**
  11. * Include config settings, database functions and search object
  12. */
  13. include("../LIB/search.class.php");
  14. // Retrieve the name of the table to use
  15. $sSql = " SELECT ttu_" . $_global["table_prefix"] . "_fr FROM TP_TABLE_TO_USE_TTU";
  16. $r = pdoquery($sSql);
  17. // echo $sSql."<hr>";
  18. // Change the table name
  19. if (sizeof($r) > 0)
  20. $_global["table_name"] = $r[0]["ttu_" . $_global["table_prefix"] . "_fr"];
  21. // instantiation
  22. $search = new search_object($_global["table_name"], $_global["table_prefix"]);
  23. // offset parameter
  24. // if (!isset($_REQUEST['bypassoffset']))
  25. // {
  26. $sOffset = ((isset($_REQUEST["offset"]) && $_REQUEST["offset"] != "") ? $_REQUEST["offset"] : 0);
  27. // }
  28. // else
  29. // {
  30. // $sOffset = "";
  31. // }
  32. // Suite a la mise en place du new champ Budget min et max
  33. // on verif si les valeurs sont numérique
  34. if (isset($_REQUEST['price_min']) && is_numeric($_REQUEST['price_min']) == false) {
  35. $_REQUEST['price_min'] = ""; //$_GET['price_min'] = 0;
  36. }
  37. if (isset($_REQUEST['price_max']) && is_numeric($_REQUEST['price_max']) == false) {
  38. $_REQUEST['price_max'] = ""; //$_GET['price_max'] = 0;
  39. }
  40. //if ($_REQUEST["grp_agency"]==1 && isset($_SESSION["list_agence"]) && count($_SESSION["list_agence"])>0)
  41. if ($_COOKIE["grp_agency"] == 1 && isset($_COOKIE["list_agence"]) && count($_COOKIE["list_agence"]) > 0) {
  42. //$search->isGrpAgency($_SESSION["list_agence"]);
  43. $search->isGrpAgency($_COOKIE["list_agence"]);
  44. }
  45. if (isset($_REQUEST["perim"]) && isset($_REQUEST["perim"]) <> 0) {
  46. //$proximite = $search->setPerimProximit($_REQUEST["perim"]);
  47. //$proximite_coor = $search->getCoord($_REQUEST['loc_key1']);
  48. }
  49. /**/
  50. if (!isset($_REQUEST["ck_nb_bedrooms"])) {
  51. $_REQUEST["ck_nb_bedrooms"] = '00000000';
  52. }
  53. if (!isset($_REQUEST["ck_advanced"])) {
  54. $_REQUEST["ck_advanced"] = '000000000000000000000000000000000000000000000000';
  55. }
  56. if (!isset($_REQUEST["dpe"])) {
  57. $_REQUEST["dpe"] = '00000000';
  58. }
  59. if (!isset($_REQUEST["fresh"])) {
  60. $_REQUEST["fresh"] = '';
  61. }
  62. if (!isset($_REQUEST["an_visuel"])) {
  63. $_REQUEST["an_visuel"] = '';
  64. }
  65. if (!isset($_REQUEST["offset"]) || empty($_REQUEST["offset"])) {
  66. $_REQUEST["offset"] = '1';
  67. }
  68. /**/
  69. //var_dump($_REQUEST);
  70. // query the object
  71. if (9 == $_global['univers']) {
  72. $search->getAgencyAds($_REQUEST, $offset);
  73. } else {
  74. $search->getAds($_REQUEST, $sOffset, true);
  75. }
  76. // retrieve search results
  77. $search_results = $search->getSearchResults();
  78. //echo '<pre>'; var_dump($search_results); echo '</pre>';
  79. //echo "<hr><br>".$search->query."<br><hr>";
  80. // retrieve search parameters
  81. $search_parameters = $search->getSearchParameters();
  82. // retrieve search request
  83. $search_request = $search->getSearchRequest();
  84. // retrieve search agency state
  85. $search_agency = $search->isSearchAgency();
  86. // retrieve search agency state
  87. $search_agency = $search->isSearchAgency();
  88. if ($_global["univers"] != 8) {
  89. // retrieve all localities of code group (lgc_id) (for only one locality)
  90. //$loc_codeGrp = $search->getLocCodeGrp();
  91. // retrieve all localities of name group (lgn_id) (for only one locality)
  92. //$loc_nameGrp = $search->getLocNameGrp();
  93. // retrieve all localities from code or name group (lgc_id, lgn_id) (for only one locality)
  94. $loc_Grp = $search->get_locGrp();
  95. }
  96. // retrieve search agency state
  97. define('ADVANCED_SEARCH', $search->isAdvancedSearch());
  98. if ($_global["univers"] != 8) {
  99. // retrieve all localities of code group (lgc_id) (for only one locality)
  100. //$loc_codeGrp = $search->getLocCodeGrp();
  101. // retrieve all localities of name group (lgn_id) (for only one locality)
  102. //$loc_nameGrp = $search->getLocNameGrp();
  103. // retrieve all localities from code or name group (lgc_id, lgn_id) (for only one locality)
  104. $loc_Grp = $search->get_locGrp();
  105. }
  106. // retrieve search agency state
  107. define('ADVANCED_SEARCH', $search->isAdvancedSearch());
  108. // parsing query_string
  109. parse_str($_SERVER["QUERY_STRING"], $aUrlParameters);
  110. //echo "[aUrlParameters = ".print_r($aUrlParameters, true)."]";
  111. //echo "[QUERY_STRING = ".print_r($_SERVER["QUERY_STRING"], true)."]";
  112. // patch pour pages résultats classiques si le loc_key1 indiqué mais pas le loc_name1 (car CP manquant par exemple) ou qu'il est incorrect (CP seul par exemple)
  113. $bDoRedirect = false;
  114. // redirection vers les urls réécrites uniquement sur www.li.com, pas les partenaires
  115. $subdomain_url = substr($_SERVER["SERVER_NAME"], 0, strpos($_SERVER["SERVER_NAME"], ".logic-immo.com")); // www ou dev.www ou yahoo ou dev.yahoo...
  116. $end_subdomain_url = substr($subdomain_url, -3); // 3 derniers caractères du sous-domaine courant (normalement : www ou yahoo...)
  117. $is_subdomain_www = ($end_subdomain_url == "www"); //echo "[[ $subdomain_url // $end_subdomain_url // $is_subdomain_www]]";
  118. if ($is_subdomain_www && ($_global["self"] == "resultats.php") && ($_REQUEST["loc_key1"] != "") && (($_REQUEST["loc_name1"] == "") || (!string_contains($_REQUEST["loc_name1"], "-")))) {
  119. // on suppose que le loc_key est fiable (par rapport au nom de ville et CP de ville)
  120. list($loc_key1_id, $loc_key1_level) = explode('_', $_REQUEST["loc_key1"]);
  121. if (($loc_key1_id > 0) && ($loc_key1_level > 0)) {
  122. $str_cond = "(lct_id = " . $loc_key1_id . " AND lct_level = " . $loc_key1_level . ")";
  123. $loc_objs = get_loc_names("", "", "", $str_cond);
  124. //echo "[loc_objs = ".print_r($loc_objs, true)."]";
  125. if ((count($loc_objs) > 0) && (!empty($loc_objs[0]))) {
  126. $loc_name1 = prepareToUrl($loc_objs[0]["lct_name"]) . "-" . $loc_objs[0]["lct_post_code"];
  127. $aUrlParameters["loc_name1"] = $loc_name1;
  128. //echo "[aUrlParameters = ".print_r($aUrlParameters, true)."]";
  129. $bDoRedirect = true;
  130. }
  131. }
  132. }
  133. // $sAdsLink : default base link for ads
  134. unset($aUrlParameters["id"]);
  135. $sAdsLink = add_parameters("detail.php?" . http_build_query($aUrlParameters)) . "&id=";
  136. $sBaseLink = add_parameters($_global["self"] . "?" . http_build_query($aUrlParameters));
  137. //if ($_REQUEST["grp_agency"]==1 && isset($_SESSION["list_agence"]) && count($_SESSION["list_agence"])>0)
  138. if ($_REQUEST["grp_agency"] == 1 && isset($_COOKIE["list_agence"]) && count($_COOKIE["list_agence"]) > 0) {
  139. $sAdsLink = add_parameters("confier_detail.php?" . http_build_query($aUrlParameters)) . "&id=";
  140. }
  141. // $sAdsLink : default base link for nav
  142. unset($aUrlParameters["offset"]);
  143. unset($aUrlParameters["map"]);
  144. $sNavLink = add_parameters("/" . $_global["self"] . "?" . http_build_query($aUrlParameters));
  145. //echo "[sNavLink = ".$sNavLink."]";
  146. //$sMapLink = add_parameter(to_nat($sNavLink, "recherche"), "map", "1");
  147. $sMapLink = $sNavLink; // ???
  148. // patch pour pages résultats classiques si le loc_key1 indiqué mais pas le loc_name1 (suite et fin)
  149. if ($bDoRedirect) {
  150. $page_mode = "recherche";
  151. $page_cur = (isset($search_parameters["offset"]) && !empty($search_parameters["offset"]) ? $search_parameters["offset"] : 1);
  152. $sNavLinkCorrect = $sNavLink . "&offset=" . $page_cur;
  153. //echo "[sNavLinkCorrect = ".$sNavLinkCorrect."]";
  154. $url_redirect = to_url(to_nat($sNavLinkCorrect, $page_mode));
  155. //echo "[url_redirect = ".$url_redirect."]"; exit;
  156. header("Location: " . $url_redirect, true, 301);
  157. exit;
  158. }
  159. // get agency details
  160. if ($search_agency == true) {
  161. // instantiation
  162. $search = new search_object("T_AGENCY_AGC", "agc");
  163. // query the objects
  164. $search->getAgency($_REQUEST, $search_parameters["id_agence"]);
  165. //echo $search->query;
  166. // retrieve search results
  167. $search_results_agency = $search->getSearchResults("agency");
  168. // agency data
  169. $agency = get_ag_data($_global["self"], $search_results_agency[0]);
  170. // agence inexistante (=> 404) ou avec/sans annonce (=> aff/msg) ?
  171. $is_agence_inexistante = empty($agency["id"]);
  172. // agence avec annonce(s) (=> aff) ou sans annonce (=> msg) ?
  173. $is_agence_avec_annonces = !empty($agency["id"]) && (($agency["rnt_count"] + $agency["sal_count"]) > 0);
  174. // redirect if agency has not a single ad
  175. if ($is_agence_inexistante) {
  176. log_404_refnat("agc");
  177. header("HTTP/1.0 404 Not Found");
  178. header("status: 404");
  179. include($_SERVER["DOCUMENT_ROOT"] . "/404.php");
  180. die;
  181. }
  182. // agency hierarchy
  183. $search_hierarchy_agency = $search->getSearchHierarchyAgency();
  184. }
  185. //echo "<hr><br>".$search->query."<br><hr>";
  186. ?>