/** 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è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); } }