to replace it with the plugin output content * * @param mixed $content The current page content * * @return mixed If the page contains the plugin shortcode, replace with the plugin content, else return the content */ function show($content) { if(preg_match('<[Dd][Ii][Vv] [Rr][Ee][Ll]="[Aa][Nn][Nn][Oo][Nn][Cc][Ee][Ss]" [Ii][Dd]="[Aa][Nn][Nn][Oo][Nn][Cc][Ee][Ss]" >',$content)) { return $this->generate($content); } else { return $content; } } /** * Send an email when the user click on the "contact vendor" */ function sendMail() { /** * Envoi des mails gr�ce au lien "Contacter le vendeur par email" **/ if (isset ($_POST['submit'])) { if (!empty($_POST['txtNom']) && preg_match('`[0-9]{10}`', $_POST['txtTel']) && preg_match('#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#', $_POST['txtEmail']) && !empty($_POST['txtMessage'])) { /** * Email de r�ception des demandes d'informations **/ $mail = annonces_email_reception; /** * On filtre les serveurs qui rencontrent des bogues. **/ if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) { $passage_ligne = "\r\n"; } else { $passage_ligne = "\n"; } /** * Remplacement des variables %xxxx% par leurs valeurs POST dans la personnalisation des emails HTML **/ $html = annonces_html_reception; $html = stripslashes(str_replace('%nom%',$_POST['txtNom'], $html)); $html = stripslashes(str_replace('%tel%',$_POST['txtTel'], $html)); $html = stripslashes(str_replace('%mail%',$_POST['txtEmail'], $html)); $html = stripslashes(str_replace('%message%',$_POST['txtMessage'], $html)); $html = stripslashes(str_replace('%id_annonce%',$_POST['id_annonce'], $html)); $html = stripslashes(str_replace('%titre%',$_POST['titre_annonce'], $html)); $html = stripslashes(str_replace('%url_annonce%', Eav::get_link($_POST['id_annonce']), $html)); /** * Remplacement des variables %xxxx% par leurs valeurs POST dans la personnalisation des emails TXT **/ $txt = annonces_txt_reception; $txt = stripslashes(str_replace('%nom%',$_POST['txtNom'], $txt)); $txt = stripslashes(str_replace('%tel%',$_POST['txtTel'], $txt)); $txt = stripslashes(str_replace('%mail%',$_POST['txtEmail'], $txt)); $txt = stripslashes(str_replace('%message%',$_POST['txtMessage'], $txt)); $txt = stripslashes(str_replace('%id_annonce%',$_POST['id_annonce'], $txt)); $txt = stripslashes(str_replace('%titre%',$_POST['titre_annonce'], $txt)); $txt = stripslashes(str_replace('%url_annonce%', Eav::get_link($_POST['id_annonce']), $txt)); /** * D�claration des messages au format texte et au format HTML. **/ $message_txt = $txt.""; $message_html = "" . $html . ""; /** * Cr�ation de la boundary **/ $boundary = "-----=".md5(rand()); $boundary_alt = "-----=".md5(rand()); /** * D�finition du sujet **/ $sujet = annonces_sujet_reception; $sujet = stripslashes(str_replace('%nom%',$_POST['txtNom'], $sujet)); $sujet = stripslashes(str_replace('%tel%',$_POST['txtTel'], $sujet)); $sujet = stripslashes(str_replace('%mail%',$_POST['txtEmail'], $sujet)); $sujet = stripslashes(str_replace('%message%',$_POST['txtMessage'], $sujet)); $sujet = stripslashes(str_replace('%id_annonce%',$_POST['id_annonce'], $sujet)); $sujet = stripslashes(str_replace('%titre%',$_POST['titre_annonce'], $sujet)); $sujet = stripslashes(str_replace('%url_annonce%', Eav::get_link($_POST['id_annonce']), $sujet)); /** * Cr�ation du header de l'e-mail **/ $header = "From: \"" . $_POST['txtNom'] . "\"<" . $_POST['txtEmail'] . ">".$passage_ligne; $header.= "Reply-to: \"" . $_POST['txtNom'] . "\" <" . $_POST['txtEmail'] . ">".$passage_ligne; $header.= "MIME-Version: 1.0".$passage_ligne; $header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne; /** * Cr�ation du message **/ $message = $passage_ligne.$boundary.$passage_ligne; /** * Ajout du message au format texte **/ $message.= "Content-Type: text/plain; charset=\"utf-8\"".$passage_ligne; $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne; $message.= $passage_ligne.$message_txt.$passage_ligne; $message.= $passage_ligne."--".$boundary.$passage_ligne; /** * Ajout du message au format HTML **/ $message.= "Content-Type: text/html; charset=\"utf-8\"".$passage_ligne; $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne; $message.= $passage_ligne.$message_html.$passage_ligne; $message.= $passage_ligne."--".$boundary."--".$passage_ligne; $message.= $passage_ligne."--".$boundary."--".$passage_ligne; /** * Envoi de l'e-mail **/ mail($mail,$sujet,$message,$header); echo '
' . __('Votre demande a correctement été envoyée, vous recevrez prochainement une réponse.
Cordialement','annonce') . '

'; } else { $message_error = __('L\'envoi de votre demande d\'information(s) n\'a pu aboutir :','annonces') . '
'; if (empty($_POST['txtNom'])) { $message_error .= '
' . __('Le nom est incomplet','annonces') . '
'; } if (empty($_POST['txtMessage'])) { $message_error .= '
' . __('Le message est incomplet','annonces') . '
'; } if (!preg_match('`[0-9]{10}`', $_POST['txtTel'])) { $message_error .= '
' . __('Le téléphone est incomplet ou incorrect','annonces') . '
'; } if (!preg_match('#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#', $_POST['txtEmail'])) { $message_error .= '
' . __('L\'adresse email est incomplète ou incorrecte','annonces') . '
'; } $message_error .= __('Veuillez rectifier ces champs pour que l\'envoi de votre email se fasse','annonces'); $message_error .= '

'; echo $message_error; } } } /** * */ function generate($content) { global $tools; global $wpdb; $query = isset($_REQUEST['query']) ? $tools->IsValid_Variable($_REQUEST['query']) : '' ; $query1 = isset($_REQUEST['query1']) ? $tools->IsValid_Variable($_REQUEST['query1']) : '' ; $query2 = isset($_REQUEST['query2']) ? $tools->IsValid_Variable($_REQUEST['query2']) : '' ; $query3 = isset($_REQUEST['query3']) ? $tools->IsValid_Variable($_REQUEST['query3']) : '' ; $query4 = isset($_REQUEST['query4']) ? $tools->IsValid_Variable($_REQUEST['query4']) : '' ; $mode = isset($_REQUEST['mode']) ? $tools->IsValid_Variable($_REQUEST['mode']) : '' ; $show_map = isset($_REQUEST['show_map']) ? $tools->IsValid_Variable($_REQUEST['show_map']) : '' ; $show_annonce = isset($_REQUEST['show_annonce']) ? $tools->IsValid_Variable($_REQUEST['show_annonce']) : '' ; if(!empty($query) OR !empty($query1) OR !empty($query2) OR !empty($query3) OR !empty($query4) OR !empty($mode)){ /** Si le crit�re de recherche n'est que le type de bien, on rentre dans la fonction sinon on fait la recherche avec les autres crit�res **/ if(empty($query) AND empty($query1) AND empty($query2) AND empty($query3) AND empty($query4) AND !empty($mode)){ $eav_mode = new Eav(); $annonces = $eav_mode->getAnnoncesEntete($morequery,DEFAULT_FLAG_AOS,annonce_frontend_listing_order,0,'nolimit'); if($mode != 'all'){ foreach($annonces as $i){ $eav_mode_value = $eav_mode->getTypeBien(null,'valid',null,$i->idpetiteannonce); if($eav_mode_value[0]->valueattributchar == $mode){ $idarray .= $i->idpetiteannonce.','; } } }else{ foreach($annonces as $i){ $idarray .= $i->idpetiteannonce.','; } } //Supprime la derni�re virgule de la liste des IDs $size = strlen($idarray); $id = substr($idarray, 0, $size-1); $result_search = ' AND ANN.idpetiteannonce IN ('.$id.') '; if($show_map == 'true' and (annonces_maps_activation == 'oui')){ /*---- Show map ----*/ $this->concatAnnonceContent($this->generate_search_map()); if(!empty($id)){ $this->concatAnnonceContent('




'); $this->concatAnnonceContent($this->show_map($result_search)); }else{ $result_search = ' AND ANN.idpetiteannonce IN (0) '; $this->concatAnnonceContent('


'.__('Aucune annonce ne répond à vos critères.','annonces').'


'); $this->concatAnnonceContent($this->show_map($result_search)); } /*---- Show annonce plugin ----*/ return $this->addAnnoncesToContent($content); } /*---- Show search filter ----*/ $this->concatAnnonceContent($this->generate_search()); if(annonces_maps_activation == 'oui'){ $this->concatAnnonceContent('
'); if(empty($id)) {$result_search = ' AND ANN.idpetiteannonce IN (0) ';} $this->concatAnnonceContent($this->generate_map($result_search)); $this->concatAnnonceContent('


'); }else{ $this->concatAnnonceContent('





'); } /*---- Show list annonces ----*/ if(!empty($id)){ $this->concatAnnonceContent($this->list_annonce($result_search)); }else{ $this->concatAnnonceContent('

'.__('Aucune annonce ne répond à vos critères.','annonces').'


'); } /*---- Show annonce plugin ----*/ return $this->addAnnoncesToContent($content); } else { $searchResult = array(); $array_query = split(' ',$query); foreach($array_query as $searchWordIndex => $search) { $query = "(SELECT idpetiteannonce FROM " . $wpdb->prefix . "ctlg_petiteannonce WHERE titre LIKE '%" . mysql_real_escape_string($search) . "%' OR referenceagencedubien LIKE '%" . mysql_real_escape_string($search) . "%' OR urlannonce LIKE '%" . mysql_real_escape_string($search) . "%' AND flagvalidpetiteannonce = 'valid') UNION (SELECT idpetiteannonce FROM " . $wpdb->prefix . "ctlg_petiteannonce__attributchar WHERE valueattributchar LIKE '%" . mysql_real_escape_string($search) . "%' AND flagvalidattributchar = 'valid') UNION (SELECT idpetiteannonce FROM " . $wpdb->prefix . "ctlg_petiteannonce__attributdate WHERE valueattributdate LIKE '%" . mysql_real_escape_string($search) . "%' AND flagvalidattributdate = 'valid') UNION (SELECT idpetiteannonce FROM " . $wpdb->prefix . "ctlg_petiteannonce__attributdec WHERE valueattributdec LIKE '%" . mysql_real_escape_string($search) . "%' AND flagvalidattributdec = 'valid') UNION (SELECT idpetiteannonce FROM " . $wpdb->prefix . "ctlg_petiteannonce__attributint WHERE valueattributint LIKE '%" . mysql_real_escape_string($search) . "%' AND flagvalidattributint = 'valid') UNION (SELECT idpetiteannonce FROM " . $wpdb->prefix . "ctlg_petiteannonce__attributtext LEFT JOIN " . $wpdb->prefix . "ctlg_petiteannonce__txt ON (idtxt = valueattributtextlong) WHERE ((valueattributtextcourt LIKE '%" . mysql_real_escape_string($search) . "%') OR (txtlong LIKE '%" . mysql_real_escape_string($search) . "%')) AND flagvalidattributtext = 'valid') UNION (SELECT iddest FROM " . $wpdb->prefix . "ctlg_petiteannonce__geolocalisation WHERE ( (autolocalisation LIKE '%" . mysql_real_escape_string($search) . "%') OR (adresse LIKE '%" . mysql_real_escape_string($search) . "%') OR (ville LIKE '%" . mysql_real_escape_string($search) . "%') OR (departement LIKE '%" . mysql_real_escape_string($search) . "%') OR (region LIKE '%" . mysql_real_escape_string($search) . "%') OR (cp LIKE '%" . mysql_real_escape_string($search) . "%') OR (pays LIKE '%" . mysql_real_escape_string($search) . "%') ) AND flagvalidgeolocalisation = 'valid') "; $searchResult = array_merge($searchResult, $wpdb->get_results($query)); } $values = null; $checkprix = null; $checksurface = null; $limite = count($hits); $check_status = new Eav(); foreach ($searchResult as $i => $annonces) { $annonce = $check_status->getAnnoncesEntete(" AND ANN.idpetiteannonce ='".$annonces->idpetiteannonce."' ","'valid'",annonce_frontend_listing_order,0,'nolimit','count'); if($annonce>0) { $values[$i] = $annonces->idpetiteannonce; } } if(!empty($query3) OR !empty($query4)) { $eav_value = new Eav(); $morequery = (!empty($query4) ? " AND ATT_DEC.valueattributdec <= ".$query4." " : "").(!empty($query3) ? " AND ATT_DEC.valueattributdec >= ".$query3." " : ""); $prix = $eav_value->getPrix($morequery,'valid'); foreach($prix as $i => $instance) { $checkprix[$i] = $instance->idpetiteannonce; } } if(!empty($query1) OR !empty($query2)) { $eav_value = new Eav(); $morequery = (!empty($query2) ? " AND ATT_DEC.valueattributdec <= ".$query2." " : "").(!empty($query1) ? " AND ATT_DEC.valueattributdec >= ".$query1." " : ""); $surface = $eav_value->getSurface($morequery,'valid'); foreach($surface as $i => $instance) { $checksurface[$i] = $instance->idpetiteannonce; } } $filter = $this->Filter($checkprix,$checksurface); $checkid = $this->Filter($values,$filter); if(!is_null($checkid)) { if(!empty($mode) and ($mode != 'all')) { $eav_mode = new Eav(); foreach($checkid as $i) { $eav_mode_value = $eav_mode->getTypeBien(null,'valid',null,$i); if($eav_mode_value[0]->valueattributchar == $mode) { $idarray .= $i.','; } } } else { foreach($checkid as $i) { $idarray .= $i.','; } } //Supprime la derni�re virgule de la liste des IDs $size = strlen($idarray); $id = substr($idarray, 0, $size-1); $result_search = ' AND ANN.idpetiteannonce IN ('.$id.') '; } if($show_map == 'true') { /*---- Show map ----*/ $this->concatAnnonceContent($this->generate_search_map()); if(!empty($id)) { $this->concatAnnonceContent('







'); $this->concatAnnonceContent($this->show_map($result_search)); } else { $result_search = ' AND ANN.idpetiteannonce IN (0) '; $this->concatAnnonceContent('





'.__('Aucune annonce ne répond à vos critères.','annonces').'


'); $this->concatAnnonceContent($this->show_map($result_search)); } /*---- Show annonce plugin ----*/ return $this->addAnnoncesToContent($content); } /*---- Show search filter ----*/ $this->concatAnnonceContent($this->generate_search()); if(annonces_maps_activation == 'oui') { $this->concatAnnonceContent('
'); if(empty($id)) {$result_search = ' AND ANN.idpetiteannonce IN (0) ';} $this->concatAnnonceContent($this->generate_map($result_search)); $this->concatAnnonceContent('


'); } else { $this->concatAnnonceContent('





'); } /*---- Show list annonces ----*/ if(!empty($id)) { $this->concatAnnonceContent($this->list_annonce($result_search)); } else { $this->concatAnnonceContent('

'.__('Aucune annonce ne répond à vos critères.','annonces').'


'); } /*---- Show annonce plugin ----*/ return $this->addAnnoncesToContent($content); } } /** * METHODE QUI AFFICHE L'ANNONCE **/ $url_page_annonce = site_url() . '/' . Eav::recupPageAnnonce(); $nb_carac_url_page = strlen($url_page_annonce); $nb_url = strlen($url_page_annonce)+1; if (strlen('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']) > $nb_url) { if (annonces_url_activation == 'oui') { $lurl = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; $url = substr($lurl, $nb_url , 500); if(Eav::get_annonce($url)) { if(annonces_email_activation == 'oui') { $this->sendMail(); } $this->concatAnnonceContent($this->show_annonce(Eav::get_annonce($url))); return $this->addAnnoncesToContent($content); } else { if(isset($_REQUEST['show_annonce'])) { /*---- Show annonce ----*/ $this->concatAnnonceContent($this->show_annonce($_REQUEST['show_annonce'])); /*---- Show annonce plugin ----*/ return $this->addAnnoncesToContent($content); } } } else { if(isset($_REQUEST['show_annonce'])) { /*---- Show annonce ----*/ $this->concatAnnonceContent($this->show_annonce($_REQUEST['show_annonce'])); /*---- Show annonce plugin ----*/ return $this->addAnnoncesToContent($content); } } } if(!empty($show_map) and (annonces_maps_activation == 'oui')) { /*---- Show map ----*/ $this->concatAnnonceContent($this->generate_search_map()); $this->concatAnnonceContent('







'); $this->concatAnnonceContent($this->show_map()); /*---- Show annonce plugin ----*/ return $this->addAnnoncesToContent($content); } /*---- Show search filter ----*/ $this->concatAnnonceContent($this->generate_search()); if(annonces_maps_activation == 'oui'){ $this->concatAnnonceContent('
'); $this->concatAnnonceContent($this->generate_map()); $this->concatAnnonceContent('


'); }else{ $this->concatAnnonceContent('





'); } /*---- Show list annonces ----*/ $this->concatAnnonceContent($this->list_annonce()); /*---- Show annonce plugin ----*/ return $this->addAnnoncesToContent($content); } /** * */ function addAnnoncesToContent($content) { $pattern = '/
<\/div>/'; $replacement = '
'.$this->getAnnonceContent().'
'; $content = preg_replace( $pattern, $replacement, $content ); return $content; } /** * */ function filter_plugin_actions_links($links, $file) { if ($file == ANNONCES_PLUGIN_DIR. '/annonces.php') { $settings_link = $settings_link = '' . __('Réglages', 'annonces') . ''; array_unshift($links, $settings_link); } return $links; } /** * */ function getActualPage() { global $tools; $actual_page = isset($_REQUEST['page_nav_annonces']) ? $tools->IsValid_Variable($_REQUEST['page_nav_annonces']) : 0 ; return $actual_page; } /** * Cette m�thode est appel� lorsque que le formulaire de recherche fait une requ�te sur le prix et/ou la superficie */ function Filter($needle, $haystack) { if(is_null($needle)){ return $haystack; } if(is_null($haystack)){ return $needle; } if(is_null($needle) and is_null($haystack)){ return null; } $result = array(); foreach($needle as $tinyneedle){ if(in_array($tinyneedle,$haystack)){ $result[count($result)] = $tinyneedle; } } return $result; } /** * */ function getPagination($morequery = null) { global $tools; $eav_value = new Eav(); $link = ' onclick="javascript:document.getElementById(\'page_nav_annonces\').value=\'#PAGE#\';document.forms.navigation_form.submit();" '; $nb_total_items = 0;$nb_total_items = $eav_value->getAnnoncesEntete($morequery,DEFAULT_FLAG_AOS,annonce_frontend_listing_order,$this->getActualPage(),'nolimit','count'); $Pagination = ''; if(ceil($nb_total_items/NUMBER_OF_ITEM_PAR_PAGE_FRONTEND_AOS) > 1) { $Pagination = $tools->DoPagination($link,$nb_total_items,$this->getActualPage(),NUMBER_OF_ITEM_PAR_PAGE_FRONTEND_AOS,PAGINATION_OFFSET_FRONTEND_AOS,'','','#999999','#FFFFFF'); } return $Pagination; } /** * Add the google maps api callback into wordpress header */ function add_gmap() { if(annonces_maps_activation == 'oui') { echo ''; } } /** * Add the different needed javascript into the header */ function add_js() { if(!wp_script_is('jquery', 'queue')) { wp_enqueue_script('jquery'); } wp_enqueue_script('annonces_js_jq_swfobject', ANNONCES_JS_URL . 'swfobject.js', '', ANNONCE_PLUGIN_VERSION); } /** * Add the different needed css into the header */ function add_css() { wp_register_style('annonces_css_main', ANNONCES_CSS_URL . 'annonce.css', '', ANNONCE_PLUGIN_VERSION); wp_enqueue_style('annonces_css_main'); wp_register_style('annonces_css_fileuploader', ANNONCES_CSS_URL . 'fileuploader.css', '', ANNONCE_PLUGIN_VERSION); wp_enqueue_style('annonces_css_fileuploader'); } /** * Cette m�thode g�n�re la petite carte que l'on peut voir dans le listing des annonces */ function generate_map($morequery = null) { $markers = ''; $eav_value = new Eav(); //Afficher que les marqueurs de la page courante $annonces = $eav_value->getAnnoncesEntete($morequery,DEFAULT_FLAG_AOS,annonce_frontend_listing_order,$this->getActualPage()); //Afficher tout les marqueurs sans distinction de page // $annonces = $eav_value->getAnnoncesEntete($morequery,DEFAULT_FLAG_AOS,annonce_frontend_listing_order,0,'nolimit'); $sizei = count($annonces); for($i = 0; $i < $sizei; $i++) { $annonce_link_1 = $this->lienUrl($annonces[$i]->idpetiteannonce); if(!is_null($annonces[$i]->latitude) AND !is_null($annonces[$i]->longitude)){ $surface = $eav_value->getSurface(null,'valid',null,$annonces[$i]->idpetiteannonce); $prix = $eav_value->getPrix(null,'valid',null,$annonces[$i]->idpetiteannonce); $description = $eav_value->getDescription(null,'valid',null,$annonces[$i]->idpetiteannonce); $markers .= 'var marker'.$i.' = new GMarker(new GLatLng('.$annonces[$i]->latitude.','.$annonces[$i]->longitude.'),icon);'; $markers .='GEvent.addListener(marker'.$i.', "mouseover", function() { annoncemap.openInfoWindowHtml(new GLatLng('.$annonces[$i]->latitude.','.$annonces[$i]->longitude.'), "
'.$annonces[$i]->titre.'
'.number_format($surface[0]->valueattributdec,0,',',' ').' '.$surface[0]->measureunit.' à '.$annonces[$i]->ville.', prix '.number_format($prix[0]->valueattributdec,0,',',' ').' '.$prix[0]->measureunit.'

'.__('En savoir plus','annonces').'"); }); GEvent.addListener(marker'.$i.', "click", function() { window.location.href = \''.Eav::recupPageAnnonce().'/'.$annonce_link_1.'\'; });'; $markers .='annoncemap.addOverlay(marker'.$i.');'; } } $list_map = '
'; return $list_map; } function search_engine() { } function getAnnonceContent() { return $this->annonce_content; } function setAnnonceContent($new_annonce_content) { $this->annonce_content = $new_annonce_content; } function concatAnnonceContent($new_annonce_content) { $this->annonce_content .= $new_annonce_content; } /*---- diplay template Search ----*/ function generate_search() { global $tools; $query = isset($_REQUEST['query']) ? $tools->IsValid_Variable($_REQUEST['query']) : '' ; $query1 = isset($_REQUEST['query1']) ? $tools->IsValid_Variable($_REQUEST['query1']) : '' ; $query2 = isset($_REQUEST['query2']) ? $tools->IsValid_Variable($_REQUEST['query2']) : '' ; $query3 = isset($_REQUEST['query3']) ? $tools->IsValid_Variable($_REQUEST['query3']) : '' ; $query4 = isset($_REQUEST['query4']) ? $tools->IsValid_Variable($_REQUEST['query4']) : '' ; $mode = isset($_REQUEST['mode']) ? $tools->IsValid_Variable($_REQUEST['mode']) : '' ; $filter_search = ''; if(annonces_maps_activation == 'oui') { $filter_search .= '
'; } $filter_search .= ' '; return $filter_search; } /*---- diplay template Search for map (TODO: factoriser les m�thodes de recherche)----*/ function generate_search_map() { global $tools; $query = isset($_REQUEST['query']) ? $tools->IsValid_Variable($_REQUEST['query']) : '' ; $query1 = isset($_REQUEST['query1']) ? $tools->IsValid_Variable($_REQUEST['query1']) : '' ; $query2 = isset($_REQUEST['query2']) ? $tools->IsValid_Variable($_REQUEST['query2']) : '' ; $query3 = isset($_REQUEST['query3']) ? $tools->IsValid_Variable($_REQUEST['query3']) : '' ; $query4 = isset($_REQUEST['query4']) ? $tools->IsValid_Variable($_REQUEST['query4']) : '' ; $mode = isset($_REQUEST['mode']) ? $tools->IsValid_Variable($_REQUEST['mode']) : '' ; $filter_search_map = '
'; return $filter_search_map; } function show_map($morequery = null) { $eav_value = new Eav(); $generate_map = ''; $markers = ''; $eav_value = new Eav(); $annonces = $eav_value->getAnnoncesEntete($morequery,DEFAULT_FLAG_AOS,annonce_frontend_listing_order,0,'nolimit'); $sizei = count($annonces); for($i = 0; $i < $sizei; $i++) { $annonce_link_1 = $this->lienUrl($annonces[$i]->idpetiteannonce); if(!is_null($annonces[$i]->latitude) AND !is_null($annonces[$i]->longitude)){ $surface = $eav_value->getSurface(null,'valid',null,$annonces[$i]->idpetiteannonce); $prix = $eav_value->getPrix(null,'valid',null,$annonces[$i]->idpetiteannonce); $description = $eav_value->getDescription(null,'valid',null,$annonces[$i]->idpetiteannonce); $markers .='var marker'.$i.' = new GMarker(new GLatLng('.$annonces[$i]->latitude.','.$annonces[$i]->longitude.'),icon);'; $markers .='GEvent.addListener(marker'.$i.', "mouseover", function() { annoncemap.openInfoWindowHtml(new GLatLng('.$annonces[$i]->latitude.','.$annonces[$i]->longitude.'), "
'.$annonces[$i]->titre.'
'.number_format($surface[0]->valueattributdec,0,',',' ').' '.$surface[0]->measureunit.' à '.$annonces[$i]->ville.', prix '.number_format($prix[0]->valueattributdec,0,',',' ').' '.$prix[0]->measureunit.'

En savoir plus"); }); GEvent.addListener(marker'.$i.', "click", function() { window.location.href=\''.Eav::recupPageAnnonce().'/'.$annonce_link_1.'\'; });'; $markers .='annoncemap.addOverlay(marker'.$i.');'; } } $generate_map = '
'; return $generate_map; } function show_annonce($id = null) { if (preg_match_all('(\?page_id=)', $_SERVER['REQUEST_URI'], $match) == 0) { $retour_link = Eav::recupPageAnnonce(); } else { $retour_link =(strstr(get_permalink(), '?')? get_permalink().'&' : get_permalink().'?').((!empty($show_mode) and ($show_mode == 'list'))? 'show_list=true' : ''); } global $tools; $show_mode = isset($_REQUEST['show_mode']) ? $tools->IsValid_Variable($_REQUEST['show_mode']) : '' ; $eav_value = new Eav(); $generate_annonce = ''; $annonce = $eav_value->getAnnoncesEntete(' AND ANN.idpetiteannonce='.$id,"'valid'"); $generate_annonce .= ''; $generate_annonce .= '« '.__('Retour','annonces').''; $generate_annonce .= ''; $reference = $annonce[0]->referenceagencedubien; $generate_annonce .= '
'.__('Référence','annonces').':'.(is_null($reference) ? 'aucune' : $reference); $generate_annonce .= '
'; $generate_annonce .= '

'; $generate_annonce .= '
'; $generate_annonce .= $annonce[0]->titre; $generate_annonce .= '
'; $generate_annonce .= '
'; $prix = $eav_value->getPrix(null,'valid',null,$id); $generate_annonce .= '
'; $generate_annonce .= number_format($prix[0]->valueattributdec,0,',',' ').' '.$prix[0]->measureunit; $generate_annonce .= '


'; $generate_annonce .= '
'; $generate_annonce .= $annonce[0]->cp.' '.$annonce[0]->ville; $generate_annonce .= '
'; $surface = $eav_value->getSurface(null,'valid',null,$id); $generate_annonce .= number_format($surface[0]->valueattributdec,0,',',' ').' '.$surface[0]->measureunit; $generate_annonce .= '
'; $generate_annonce .= '
'.__('Description','annonces').' :
'; $generate_annonce .= '
'; $description = $eav_value->getDescription(null,'valid',null,$id); /*** Attention ici faut mettre description longue et non la courte ***/ $generate_annonce .= stripslashes($description[0]->valueattributtextcourt); $generate_annonce .= '
'; if(annonces_date_activation == 'oui'){ $generate_annonce .= '
'; $generate_annonce .= '

'; $generate_annonce .= __('Publiée le','annonces').' : '.date("d/m/Y",strtotime($annonce[0]->autolastmodif)); $generate_annonce .= '

'; $generate_annonce .= '
'; }else{ $generate_annonce .= '

'; } if(annonces_photos_activation == 'oui'){ $generate_annonce .= '
'; $generate_annonce .= '
'.__('Autres vues','annonces').'

'; $photos = $eav_value->getPhotos($id); $sizei = count($photos); for($i = 0; $i < $sizei; $i++) { if(is_file(WP_CONTENT_DIR . WAY_TO_PICTURES_THUMBNAIL_AOS . $photos[$i]->original)) { $generate_annonce .= ''.$annonces[$i]->titre.''; } } $generate_annonce .= '
'; } if(annonces_email_activation == 'oui') { $generate_annonce .= '

'; $generate_annonce .= ''; $generate_annonce .= '
'; } $generate_annonce .= '
'; $generate_annonce .= '
'; $generate_annonce .= ''.__('INFORMATIONS COMPLÉMENTAIRES','annonces').''; $generate_annonce .= '
'; $attributs = $eav_value->getAnnoncesAttributs(null,'valid',null,$id,'oui'); $sizej = count($attributs); for($j = 0; $j < $sizej; $j++){ if($attributs[$j]->labelattribut != 'Descriptif'){ $generate_annonce .= '• '.$attributs[$j]->nomattribut.' : '; switch($attributs[$j]->typeattribut){ case 'INT': $generate_annonce .= $attributs[$j]->valueattributint.' '.$attributs[$j]->measureunit.'
'; break; case 'DEC': switch($attributs[$j]->labelattribut){ case 'PrixLoyerPrixDeCession': $generate_annonce .= number_format($attributs[$j]->valueattributdec,0,',',' ').' '.$attributs[$j]->measureunit.'
'; break; case 'SFTerrain': $generate_annonce .= number_format($attributs[$j]->valueattributdec,0,',','').' '.$attributs[$j]->measureunit.'
'; break; default: $generate_annonce .= $attributs[$j]->valueattributdec.' '.$attributs[$j]->measureunit.'
'; } break; case 'CHAR': $generate_annonce .= ucwords(stripslashes($attributs[$j]->valueattributchar)).'
'; break; case 'DATE': $generate_annonce .= $attributs[$j]->valueattributdate.'
'; break; case 'TEXT': $generate_annonce .= stripslashes($attributs[$j]->valueattributtextcourt).'
'; break; } } } $generate_annonce .= '
'; $generate_annonce .= '
'; $generate_annonce .= '
'; if(annonces_maps_activation == 'oui'){ $generate_annonce .= '

'; $generate_annonce .= '

'.__('Localisation','annonces').'

'; $generate_annonce .= '
'; if(!is_null($annonce[0]->latitude) AND !is_null($annonce[0]->longitude)){ $generate_annonce .= '
'; } $generate_annonce .= '
'; $generate_annonce .= '
'; $generate_annonce .= '

'; } $generate_annonce .= ''; $generate_annonce .= '
'; if(annonces_email_activation == 'oui') { /** * Impl�mentation du "Contacter le vendeur par email" **/ $generate_annonce .= '
'; $generate_annonce .= ''; $generate_annonce .= ''; $generate_annonce .= ''; $generate_annonce .= ''; $generate_annonce .= ''; $generate_annonce .= ''; $generate_annonce .= ''; $generate_annonce .= ''; $generate_annonce .= '
'; $generate_annonce .= '
'; $generate_annonce .= '
'; $generate_annonce .= ''; $generate_annonce .= ''; $generate_annonce .= '
'; $generate_annonce .= '
'; $generate_annonce .= '
'; $generate_annonce .= '
'; $generate_annonce .= '
'; $generate_annonce .= ''; $generate_annonce .= '
'; $generate_annonce .= '
'; } $generate_annonce .= '

'; $generate_annonce .= '

'; $generate_annonce .= ''; $generate_annonce .= '« '.__('Retour','annonces').'

'; return $generate_annonce; } function list_annonce($morequery = null) { $eav_value = new Eav(); // $annonces = $eav_value->getAnnoncesEntete($morequery,DEFAULT_FLAG_AOS,annonce_frontend_listing_order,$this->getActualPage(),null,null); /* * Modification Alex le 14/04/2010 pour tri par prix (mauvaise version � reprendre) */ $annonces = $eav_value->getAnnoncesEntete($morequery,DEFAULT_FLAG_AOS,annonce_frontend_listing_order,$this->getActualPage(),null,null); $sizei = count($annonces); $generate_annonce = ''; for($i = 0; $i < $sizei; $i++) { if (preg_match_all('(\?page_id=)', $_SERVER['REQUEST_URI'], $match) == 0) { if (annonces_url_activation == 'oui') { $annonce_link = get_permalink() . '/' . Eav::get_link($annonces[$i]->idpetiteannonce); } else { $annonce_link = (strstr(get_permalink(), '?')? get_permalink().'&' : get_permalink().'?').'show_annonce='.$annonces[$i]->idpetiteannonce.'&show_mode=list'; } } else { $annonce_link = (strstr(get_permalink(), '?')? get_permalink().'&' : get_permalink().'?').'show_annonce='.$annonces[$i]->idpetiteannonce.'&show_mode=list'; } $generate_annonce .= ''; if(annonces_photos_activation == 'oui') { $generate_annonce .= '
'; $generate_annonce .= ''; $photos = $eav_value->getPhotos($annonces[$i]->idpetiteannonce); if(!empty($photos) && !empty($photos[0]) && is_file(WP_CONTENT_DIR . WAY_TO_PICTURES_THUMBNAIL_AOS . $photos[0]->original)) $generate_annonce .= ''.$annonces[$i]->titre.''; $generate_annonce .= '
'; } $attributs = $eav_value->getAnnoncesAttributs(null,'moderated',null,$annonces[$i]->idpetiteannonce); $generate_annonce .= ''; $generate_annonce .= '
'; $generate_annonce .= ''; $prix = $eav_value->getPrix(null,'valid',null,$annonces[$i]->idpetiteannonce); $generate_annonce .= '
'; $generate_annonce .= number_format($prix[0]->valueattributdec,0,',',' ').' '.$prix[0]->measureunit; $generate_annonce .= '

'; $generate_annonce .= '
'; $generate_annonce .= $annonces[$i]->cp.' '.$annonces[$i]->ville; $generate_annonce .= '
'; $surface = $eav_value->getSurface(null,'valid',null,$annonces[$i]->idpetiteannonce); $generate_annonce .= number_format($surface[0]->valueattributdec,0,',',' ').' '.$surface[0]->measureunit; $generate_annonce .= '
'; $description = $eav_value->getDescription(null,'valid',null,$annonces[$i]->idpetiteannonce); $generate_annonce .= '
'.__('Description','annonces').' :
'; $generate_annonce .= '
'; $generate_annonce .= stripslashes($description[0]->valueattributtextcourt); $generate_annonce .= '
'; $generate_annonce .= ''; if(annonces_date_activation == 'oui'){ $generate_annonce .= ''; $generate_annonce .= '
'; $generate_annonce .= __('Publiée le','annonces').'
'; $generate_annonce .= date("d/m/Y",strtotime($annonces[$i]->autoinsert)); $generate_annonce .= '
'; $generate_annonce .= '
'; $generate_annonce .= ''; } else{ $generate_annonce .= ''; $generate_annonce .= '
'; $reference = $annonces[$i]->referenceagencedubien; $generate_annonce .= '
'.(is_null($reference) ? '-' : $reference); $generate_annonce .= '
'; $generate_annonce .= ''; } $generate_annonce .= ''; } $list_result = '
'.__('Consultez toutes les annonces','annonces').'
'.$this->getPagination($morequery).'
'; if(annonces_photos_activation == 'oui'){ $list_result .= ''; } $list_result .= ''; if(annonces_date_activation == 'oui'){ $list_result .= ''; } else{ $list_result .= ''; } $list_result .= ' '.$generate_annonce.'
'.__('Photos','annonces').''.__('Annonces','annonces').''.__('Date','annonces').''.__('Référence','annonces').'
'.$this->getPagination($morequery); return $list_result; } }