示例#1
0
/** baz_rechercher() Formate la liste de toutes les fiches
*
*   @return  string    le code HTML a afficher
*/
function baz_rechercher()
{
    $res = '';
    //creation du lien pour le formulaire de recherche
    $lien_formulaire = $GLOBALS['wiki']->href('', $GLOBALS['wiki']->GetPageTag(), BAZ_VARIABLE_VOIR . '=' . BAZ_VOIR_DEFAUT . '&' . BAZ_VARIABLE_ACTION . '=' . BAZ_MOTEUR_RECHERCHE, 0);
    $formtemplate = '<form action="' . $lien_formulaire . '" method="post" name="formulaire" id="formulaire">' . "\n";
    //on recupere la liste des formulaires, a afficher dans une liste deroulante pour la recherche
    $tab_formulaires = baz_valeurs_tous_les_formulaires();
    foreach ($tab_formulaires as $type_fiche => $formulaire) {
        foreach ($formulaire as $nomwiki => $ligne) {
            $tableau_typeformulaires[] = $nomwiki;
            $type_formulaire_select[$nomwiki] = $ligne['bn_label_nature'] . ' (' . $type_fiche . ')';
        }
    }
    $type_fiche_choisie = isset($_REQUEST['id_typeannonce']);
    $formtemplate_champs_recherche_supplementaires = '';
    if (count($tab_formulaires) > 1) {
        $formtemplate .= '<div class="formulaire_ligne">' . "\n" . '<div class="formulaire_label">' . BAZ_TYPE_FICHE . '</div>' . "\n";
        $formtemplate .= '<div class="formulaire_input">' . "\n" . '	<select name="id_typeannonce" onchange="javascript:this.form.submit();">' . "\n" . '		<option value="toutes">' . BAZ_TOUS_TYPES_FICHES . '</option>' . "\n";
        foreach ($type_formulaire_select as $nomwikiformulaire => $formulaire_select) {
            $formtemplate .= '		<option value="' . $nomwikiformulaire . '"';
            if ($type_fiche_choisie && $_REQUEST['id_typeannonce'] == $nomwikiformulaire) {
                $formtemplate .= ' selected="selected"';
            }
            $formtemplate .= '>' . $formulaire_select . '</option>' . "\n";
        }
        $formtemplate .= '	</select>' . "\n" . '</div>' . "\n" . '</div>' . "\n";
        // on ajoute les champs de recherche du type de fiche choisi
        if ($type_fiche_choisie) {
            $tab_nature = baz_valeurs_formulaire($_REQUEST['id_typeannonce']);
            $tableau = formulaire_valeurs_template_champs($GLOBALS['_BAZAR_']['template']);
            for ($i = 0; $i < count($tableau); $i++) {
                if ($tableau[$i][0] == 'liste' || $tableau[$i][0] == 'checkbox' || $tableau[$i][0] == 'listefiche' || $tableau[$i][0] == 'checkboxfiche' || $tableau[$i][0] == 'labelhtml') {
                    $formtemplate_champs_recherche_supplementaires .= $tableau[$i][0]($formtemplate, $tableau[$i], 'formulaire_recherche', '');
                }
            }
        }
    } else {
        $formtemplate .= '<input type="hidden" name="id_typeannonce" value="' . $GLOBALS['_BAZAR_']['id_typeannonce'] . '" />' . "\n";
    }
    //requete pour obtenir l'id, le nom et prenom de toutes les personnes ayant depose une fiche
    // dans le but de construire l'element de formulaire select avec les noms des emetteurs de fiche
    if (BAZ_RECHERCHE_PAR_EMETTEUR) {
        //TODO: gestion des emetteurs
    } else {
        $formtemplate .= '<input type="hidden" value="tous" name="personnes">' . "\n";
    }
    //teste si le user est admin, dans ce cas, il peut voir les fiches perimees
    if ($GLOBALS['wiki']->UserIsAdmin()) {
        //TODO: gestion des fiches perimees
    }
    $formtemplate .= '<div class="grouperecherche">' . "\n" . '	<input type="text" name="recherche_mots_cles" onfocus="if (this.value==\'' . BAZ_MOT_CLE . '\') {this.value=\'\';}" value="' . BAZ_MOT_CLE . '" class="boite_recherche" maxlength="255">' . "\n" . '	<input type="submit" value="' . BAZ_RECHERCHER . '" name="rechercher" class="btn bouton_recherche">' . "\n" . '</div>' . "\n";
    //affichage du formulaire
    $res .= $formtemplate . $formtemplate_champs_recherche_supplementaires . "\n" . '</form>' . "\n";
    //si la recherche n'a pas encore ete effectuee, on affiche les 10 dernieres fiches
    if (!isset($_REQUEST['id_typeannonce'])) {
        $tableau_dernieres_fiches = baz_requete_recherche_fiches('', '', $GLOBALS['_BAZAR_']['id_typeannonce'], $GLOBALS['_BAZAR_']['categorie_nature'], 1, '', 10);
        if (count($tableau_dernieres_fiches) > 0) {
            $res .= '<h2>' . BAZ_DERNIERES_FICHES . '</h2>';
            $res .= baz_afficher_liste_resultat($tableau_dernieres_fiches, false);
        } else {
            $res .= '<div class="info_box">' . BAZ_PAS_DE_FICHES . '</div>' . "\n";
        }
    } else {
        $tableau_fiches = baz_requete_recherche_fiches('', '', $_REQUEST['id_typeannonce'], $GLOBALS['_BAZAR_']['categorie_nature'], 1, '');
        $res .= baz_afficher_liste_resultat($tableau_fiches);
    }
    return $res;
}
*
*@version       $Revision: 1.10 $ $Date: 2010-12-15 14:23:19 $
*/
// +------------------------------------------------------------------------------------------------------+
// |                                            ENTETE du PROGRAMME                                       |
// +------------------------------------------------------------------------------------------------------+
if (!defined("WIKINI_VERSION")) {
    die("acc&egrave;s direct interdit");
}
$nomwiki = $GLOBALS['wiki']->getUser();
if ($nomwiki) {
    $requetesql = 'SELECT DISTINCT tag FROM ' . BAZ_PREFIXE . 'pages WHERE latest="Y" AND comment_on = \'\' AND body LIKE \'%"nomwiki":"' . $nomwiki['name'] . '"%\' AND body LIKE \'%"statut_fiche":"1"%\'
        AND tag IN (SELECT DISTINCT resource FROM ' . BAZ_PREFIXE . 'triples WHERE value = "fiche_bazar" 
        AND property = "http://outils-reseaux.org/_vocabulary/type" ORDER BY resource ASC) ORDER BY time DESC';
    $results = $GLOBALS['wiki']->LoadAll($requetesql);
    if (count($results) > 0) {
        echo baz_voir_fiche(1, $results[0]["tag"]) . '<br /><br />';
    } else {
        //echo '<div class="alert alert-info">'._t('BAZ_PAS_DE_FICHES_UTILISATEUR_TROUVEE').'</div>';
    }
    // On cherche un template personnalise dans le repertoire themes/tools/bazar/templates
    $GLOBALS['_BAZAR_']['templates'] = $this->GetParameter("template");
    if (empty($GLOBALS['_BAZAR_']['templates'])) {
        $GLOBALS['_BAZAR_']['templates'] = BAZ_TEMPLATE_LISTE_DEFAUT;
    }
    $tableau_dernieres_fiches = baz_requete_recherche_fiches('', '', '', '', 1, $nomwiki["name"]);
    if (count($tableau_dernieres_fiches) > 0) {
        echo '<h2 class="titre_mes_fiches">' . _t('BAZ_VOS_FICHES') . '</h2>' . "\n";
        echo baz_afficher_liste_resultat($tableau_dernieres_fiches, false);
    }
}