Пример #1
0
/**
 *  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);
Пример #2
0
/** 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;
}