/DEV/EXE/code.search.exe.php
https://github.com/chrisbst35/LI_LEMONDE · PHP · 243 lines · 123 code · 58 blank · 62 comment · 55 complexity · 62206592c49aefeb7f6269b4ee9d0887 MD5 · raw file
- <?php
- /**
- standardsearch.exe.php - Search runtime module
- @version 1.2
- @author Michel Mom, Daniel Page, Sylvain 01/2008
- @since 23/01/2008 Original version
- @since 29/01/2008 Changes to search structures
- @since 1/2/2008 Name change to module.type.php format and use of new search object
- */
- // Cette URL est demandée tt les 5sec on bloc en attendant de trouver une solution
- if ($_SERVER['REQUEST_URI'] == "/detail-vente-3F25C170-3B7E-00AF-E011-1D7624193E3C.htm?ext=1Simulez%20vos%20indemnit%E9s%20de%20cong%E9%20maternit%E9") {
- die;
- }
- /**
- * Include config settings, database functions and search object
- */
- include("../LIB/search.class.php");
- // instantiation
- if ($_REQUEST["gallery"] == 1)
- {
- $search = new search_object("T_".($_global["univers"] == 1 ? "SALES" : "RENT")."AD_BIS", $_global["table_prefix"]);
- }
- else
- {
- $search = new search_object($_global["table_name"], $_global["table_prefix"]);
- }
- // search by logicode
- if (isset($_REQUEST["logicode"]) && !empty($_REQUEST["logicode"])) {
- $code = $_REQUEST["logicode"];
- $code = trim($code);
- //$code = preg_replace('/\[(\d+)\]/', '\1', $code); // suppression des crochets "[]"
- //$code = preg_replace('/logic(\d+)/', '\1', $code); // suppression de "logic"
- //echo "[code = $code]"; exit;
- $search->getAd($_REQUEST, $code, 2);
-
- } else if (isset($_REQUEST["id"]) && !empty($_REQUEST["id"])) {
-
- $code = $_REQUEST["id"];
- $search->getAd($_REQUEST, $code, 1);
-
- } else {
-
- /**
- * Modifs ReftNat : Affichage 404 pour les annonces qui n'existent pas
- * création d'un systeme de log de 404 personalisé
- */
- log_404_refnat("ads");
- header("HTTP/1.0 404 Not Found");
- header("status: 404");
- include($_SERVER["DOCUMENT_ROOT"]."/404.php");
- die;
- }
-
- // retrieve search results
- $search_results = $search->getSearchResults();
- //echo "<hr>".$search->query."<hr>"; die;
-
- // retrieve search request
- $search_request = $search->getSearchRequest();
-
- // retrieve search agency state
- $search_agency = $search->isSearchAgency();
-
- if (count($search_results) == 0)
- {
- //echo $_global["self"];
- if (
- ($_global["self"] != "detail.php") // page détail classique vente
- && ($_global["self"] != "detail_refnat.php") // page détail refnat location
- && ($_global["self"] != "fiche_visite.php") // popup fiche visite
- && ($_global["self"] != "interstitiel_detail_envoi_ami.php" // popup envoi à un ami
- && (strpos($_global["self"], 'interstitiel_') === false))
- ) {
- /**
- * Modifs ReftNat : Affichage 404 pour les annonces qui n'existent pas
- * création d'un systeme de log de 404 personalisé
- */
- log_404_refnat("ads");
- header("HTTP/1.0 404 Not Found");
- header("status: 404");
- include($_SERVER["DOCUMENT_ROOT"]."/404.php");
- die;
- }
-
- } else { // pour ces pages là, on vérifie plus bas s'il existe une version de la page en annonce expirée
-
- // premiere annonce
- $search_results = $search_results[0];
-
- // Redirection 301 de l'URL annonce accédée par logicode vers l'URL annonce avec ID, B.Moinet, 24/02/2012
- if (isset($_REQUEST["logicode"]) && !empty($_REQUEST["logicode"])) {
- $url = to_url(to_nat("detail.php?univers=".$_global["univers"]."&id=".strtolower($search_results["id_annonce"]),"detail"));
- header("Location: ".$url, true, 301);
- exit;
- }
-
- // Traitement pour recherche par logicode des locations saisonnieres
- if(isset($code) && !empty($code) && $_global["univers"] == 2) {
- if($search_results['rnt_type_transaction'] == 3) {
- $url = URL_SITE_VACANCES.$_SERVER['REQUEST_URI'];
- header("Location: $url", null, 301);
- exit;
- }
- }
-
- // retrieve data
- list($ad, $ag) = get_ad_data($_global["self"], $search_results, 0, '', -1, $is_exclusive);
- $ad['coordGps'] = $search->getLongLatTown($ad['default_town']);
- //print_r($ag);
- //print_r($ad);
-
- }
- // creates a search if needed
- if (strpos($_SERVER["HTTP_REFERER"], "resultats_agence_annonces".($_global["site"] == "cz" ? "_cz" : "").".php") > 0) {
- $search_agency = true;
- } else {
- if (!empty($ad)) {
- if (is_external() == true) {
- $request = array();
- // loc_name
- switch ($ad["lct_level"])
- {
- case 0 :
- $request["loc_name"] = $ad["real_town"];
- break;
- case 1 :
- $request["loc_name"] = $ad["real_town"]." (".$ad["szip"].")";
- break;
- case 2 :
- $request["loc_name"] = $ad["real_town"]." (".$ad["lzip"].")";
- break;
- }
- $request["loc_key"] = $ad["lct_id"]."_".$ad["lct_level"];
- $request["site"] = $_global["site"];
- $request["univers"] = $_global["univers"];
- $request["lang"] = $_global["lang"];
- /*
- $request["property_type"][] = $ad["property_type_id"];
- $request["price"] = get_parameter_index("price", $ad["real_price"]);
- $request["area"] = get_parameter_index("area", $ad["area"]);
- $request["nb_rooms"] = ($ad["nb_roooms"] - 1 > 6 ? $ad["nb_rooms"] : "");
- */
- //echo "<h1>TEST WAL</h1>";
- //$search->setNewSearch($request);
- // do not read cookie afterwards
- $skip_cookie = true;
- // retrieve search request
- $search_request = $search->getSearchRequest();
- } else {
- //var_dump($ad);
- //echo "<hr>";
- //var_dump($ag);
- // I need to find a cleaner way, acccording to my standing
- if ($ad["lct_id"] <> 0 && $ad["lct_level"] <> 0)
- {
- $search->addPostCode($ad["lct_id"], $ad["lct_level"]);
- $search->search_parameters["loc_ids"][0] = $ad["lct_id"];
- $search->search_parameters["loc_levels"][0] = $ad["lct_level"];
- $search->search_parameters["loc_names"][0] = $ad["real_town"];
- // shame
- $search->setPostCodes();
- }
- }
- // retrieve search parameters
- if ($ad["lct_id"] <> 0 && $ad["lct_level"] <> 0)
- {
- }
- $search_parameters = $search->getSearchParameters();
- }
- }
- //echo $_global["self"];
- if (
- ($_global["self"] == "detail.php") // page détail classique vente
- || ($_global["self"] == "detail_coloc.php") // page detail coloc
- || ($_global["self"] == "detail_refnat.php") // page détail refnat location
- || ($_global["self"] == "fiche_visite.php") // popup fiche visite
- || ($_global["self"] == "interstitiel_detail_envoi_ami.php") // popup envoi à un ami
- ) {
- // annonce publiée (=> aff) ou autre (expirée/inexistante) (=> msg/404) ?
- $is_annonce_publiee = false;
- // annonce inexistante (=> 404) ou expirée (=> msg) ?
- $is_annonce_inexistante = true;
- // annonce non publiée (mais peut-être expirée, pas inexistante), pour detail_annce_location.php
- if (!empty($ad)) {
- $is_annonce_publiee = true;
- $is_annonce_inexistante = false;
- } else {
- /**
- * Modifs ReftNat : Affichage 404 pour les annonces qui n'existent pas
- * création d'un systeme de log de 404 personalisé
- */
- log_404_refnat("ads");
- header("HTTP/1.0 404 Not Found");
- header("status: 404");
- include($_SERVER["DOCUMENT_ROOT"]."/404.php");
- die;
- }
- }
- ?>