/** * Programme gerant les fiches bazar depuis une interface de type geographique. **/ // +------------------------------------------------------------------------------------------------------+ // | ENTETE du PROGRAMME | // +------------------------------------------------------------------------------------------------------+ // test de sécurité pour vérifier si on passe par wiki if (!defined('WIKINI_VERSION')) { die('accès direct interdit'); } // on compte le nombre de fois que l'action bazarliste est appelée afin de différencier les instances if (!isset($GLOBALS['nbbazarliste'])) { $GLOBALS['nbbazarliste'] = 0; } ++$GLOBALS['nbbazarliste']; // Recuperation de tous les parametres $params = getAllParameters($this); $params['template'] = 'map.tpl.html'; // tableau des fiches correspondantes aux critères if (is_array($params['idtypeannonce'])) { $results = array(); foreach ($params['idtypeannonce'] as $formid) { $results = array_merge($results, baz_requete_recherche_fiches($params['query'], 'alphabetique', $formid, '', 1, '', '', true, '')); } } else { $results = baz_requete_recherche_fiches($params['query'], 'alphabetique', '', '', 1, '', '', true, ''); } // affichage à l'écran echo displayResultList($results, $params, false);
/** baz_rechercher() Formate la liste de toutes les fiches * @return string le code HTML a afficher */ function baz_rechercher($typeannonce = '', $categorienature = '') { $res = ''; // parametres complémentaires de l'url $urlparam = BAZ_VARIABLE_VOIR . '=' . BAZ_VOIR_DEFAUT . '&' . BAZ_VARIABLE_ACTION . '=' . BAZ_MOTEUR_RECHERCHE; if (isset($_GET['query']) && !empty($_GET['query'])) { $urlparam .= '&query=' . $_GET['query']; } // creation du lien pour le formulaire de recherche $data['url'] = $GLOBALS['wiki']->href('', $GLOBALS['wiki']->GetPageTag(), $urlparam, 0); // on recupere la liste des formulaires, a afficher dans une liste deroulante pour la recherche $tab_formulaires = baz_valeurs_tous_les_formulaires($categorienature, 'html', $typeannonce); // on recupere le nb de types de fiches, pour plus tard $nb_type_de_fiches = 0; $type_formulaire_select[''] = _t('BAZ_TOUS_TYPES_FICHES'); if (is_array($tab_formulaires)) { foreach ($tab_formulaires as $type_fiche => $formulaire) { foreach ($formulaire as $nomwiki => $ligne) { $nb_type_de_fiches++; $tableau_typeformulaires[] = $nomwiki; $type_formulaire_select[$nomwiki] = $ligne['bn_label_nature'] . (!empty($type_fiche) ? ' (' . $type_fiche . ')' : ''); } } } if ($nb_type_de_fiches > 1) { $data['forms'] = $type_formulaire_select; } else { $data['forms'] = ''; } if (isset($_REQUEST['id_typeannonce']) && !empty($_REQUEST['id_typeannonce'])) { $data['idform'] = $_REQUEST['id_typeannonce']; } elseif (is_array($typeannonce) && count($typeannonce) == 1) { $data['idform'] = $typeannonce[0]; } else { $data['idform'] = ''; } // y a t'il des mots clés pour le moteur de recherche $data['search'] = ''; if (isset($_REQUEST['recherche_mots_cles']) && !empty($_REQUEST['recherche_mots_cles'])) { $data['search'] = $_REQUEST['recherche_mots_cles']; $_REQUEST['id_typeannonce'] = ''; } // affichage du formulaire include_once 'tools/bazar/libs/squelettephp.class.php'; $templatetoload = 'tools/bazar/presentation/templates/search_form.tpl.html'; $squelsearch = new SquelettePhp($templatetoload); $squelsearch->set($data); $res .= $squelsearch->analyser(); if (!isset($_REQUEST['id_typeannonce'])) { // la recherche n'a pas encore ete effectuee, on affiche les 10 dernieres fiches $res .= '<h4>' . _t('BAZ_DERNIERES_FICHES') . '</h4>'; $tableau_dernieres_fiches = baz_requete_recherche_fiches('', '', $typeannonce, $categorienature, 1, '', 10); $res .= displayResultList($tableau_dernieres_fiches, $GLOBALS['params'], false); } else { // la recherche a ete effectuee, on etablie la requete SQL $tableau_fiches = baz_requete_recherche_fiches('', '', $data['idform'], $categorienature, 1, '', '', true, isset($_REQUEST['recherche_mots_cles']) ? $_REQUEST['recherche_mots_cles'] : ''); $shownbres = count($GLOBALS['params']['groups']) == 0 || count($tableau_fiches) == 0; $res .= displayResultList($tableau_fiches, $GLOBALS['params'], $shownbres); } return $res; }