Line 17... |
Line 17... |
17 |
// | |
|
17 |
// | |
|
18 |
// | You should have received a copy of the GNU Lesser General Public |
|
18 |
// | You should have received a copy of the GNU Lesser General Public |
|
19 |
// | License along with this library; if not, write to the Free Software |
|
19 |
// | License along with this library; if not, write to the Free Software |
|
20 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
20 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
21 |
// +------------------------------------------------------------------------------------------------------+
|
21 |
// +------------------------------------------------------------------------------------------------------+
|
22 |
// CVS : $Id: bazar.fonct.rss.php,v 1.48 2006-05-17 09:50:13 alexandre_tb Exp $
|
22 |
// CVS : $Id: bazar.fonct.rss.php,v 1.49 2006-05-19 13:54:11 florian Exp $
|
23 |
/**
|
23 |
/**
|
24 |
*
|
24 |
*
|
25 |
*@package bazar
|
25 |
*@package bazar
|
26 |
//Auteur original :
|
26 |
//Auteur original :
|
27 |
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
|
27 |
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
|
28 |
*@author Florian Schmitt <florian@ecole-et-nature.org>
|
28 |
*@author Florian Schmitt <florian@ecole-et-nature.org>
|
29 |
//Autres auteurs :
|
29 |
//Autres auteurs :
|
30 |
*@copyright Tela-Botanica 2000-2006
|
30 |
*@copyright Tela-Botanica 2000-2006
|
31 |
*@version $Revision: 1.48 $
|
31 |
*@version $Revision: 1.49 $
|
32 |
// +------------------------------------------------------------------------------------------------------+
|
32 |
// +------------------------------------------------------------------------------------------------------+
|
33 |
*/
|
33 |
*/
|
Line 34... |
Line 34... |
34 |
|
34 |
|
35 |
// +------------------------------------------------------------------------------------------------------+
|
35 |
// +------------------------------------------------------------------------------------------------------+
|
Line 46... |
Line 46... |
46 |
*
|
46 |
*
|
47 |
* @return mixed tableau contenant les champs du fichier template
|
47 |
* @return mixed tableau contenant les champs du fichier template
|
48 |
*/
|
48 |
*/
|
49 |
function baz_valeurs_template($valeur_template) {
|
49 |
function baz_valeurs_template($valeur_template) {
|
50 |
//Parcours du fichier de templates, pour mettre les champs spécifiques
|
50 |
//Parcours du fichier de templates, pour mettre les champs spécifiques
|
- |
|
51 |
$tableau= array();
|
51 |
$nblignes=0;
|
52 |
$nblignes=0;
|
52 |
$chaine = explode ("\n", $valeur_template);
|
53 |
$chaine = explode ("\n", $valeur_template);
|
53 |
array_pop($chaine);
|
54 |
array_pop($chaine);
|
54 |
foreach ($chaine as $ligne) {
|
55 |
foreach ($chaine as $ligne) {
|
55 |
$souschaine = explode ("***", $ligne) ;
|
56 |
$souschaine = explode ("***", $ligne) ;
|
Line 521... |
Line 522... |
521 |
* @param string Le type de l'annonce (laisser vide pour tout type d'annonce)
|
522 |
* @param string Le type de l'annonce (laisser vide pour tout type d'annonce)
|
522 |
* @param integer Le nombre d'annonces a regrouper dans le fichier XML (laisser vide pour toutes)
|
523 |
* @param integer Le nombre d'annonces a regrouper dans le fichier XML (laisser vide pour toutes)
|
523 |
* @param integer L'identifiant de l'emetteur (laisser vide pour tous)
|
524 |
* @param integer L'identifiant de l'emetteur (laisser vide pour tous)
|
524 |
* @param integer L'etat de validation de l'annonce (laisser 1 pour les annonces validees, 0 pour les non-validees)
|
525 |
* @param integer L'etat de validation de l'annonce (laisser 1 pour les annonces validees, 0 pour les non-validees)
|
525 |
* @param string La requete SQL personnalisee
|
526 |
* @param string La requete SQL personnalisee
|
- |
|
527 |
* @param integer La categorie des fiches bazar
|
526 |
*
|
528 |
*
|
527 |
* @return string Le code du flux RSS
|
529 |
* @return string Le code du flux RSS
|
528 |
*/
|
530 |
*/
|
529 |
function gen_RSS($typeannonce='', $nbitem='', $emetteur='', $valide=1, $requeteSQL='', $requeteSQLFrom = '', $requeteWhereListe = '') {
|
531 |
function gen_RSS($typeannonce='', $nbitem='', $emetteur='', $valide=1, $requeteSQL='', $requeteSQLFrom = '', $requeteWhereListe = '', $categorie_nature='') {
|
530 |
// generation de la requete MySQL personnalisee
|
532 |
// generation de la requete MySQL personnalisee
|
531 |
$req_where=0;
|
533 |
$req_where=0;
|
532 |
$requete = 'SELECT DISTINCT bf_id_fiche, bf_titre, bf_date_debut_validite_fiche, bf_description '.
|
534 |
$requete = 'SELECT DISTINCT bf_id_fiche, bf_titre, bf_date_debut_validite_fiche, bf_description '.
|
533 |
'FROM bazar_fiche, bazar_nature '.$requeteSQLFrom.' WHERE '.$requeteWhereListe;
|
535 |
'FROM bazar_fiche, bazar_nature '.$requeteSQLFrom.' WHERE '.$requeteWhereListe;
|
534 |
if ($valide!=2) {
|
536 |
if ($valide!=2) {
|
Line 583... |
Line 585... |
583 |
if ($requeteSQL!='') {
|
585 |
if ($requeteSQL!='') {
|
584 |
if ($req_where==1) {$requete .= ' AND ';}
|
586 |
if ($req_where==1) {$requete .= ' AND ';}
|
585 |
$requete .= '('.$requeteSQL.')';
|
587 |
$requete .= '('.$requeteSQL.')';
|
586 |
$req_where=1;
|
588 |
$req_where=1;
|
587 |
}
|
589 |
}
|
- |
|
590 |
if ($categorie_nature!='') {
|
- |
|
591 |
if ($req_where==1) {$requete .= ' AND ';}
|
- |
|
592 |
$requete .= 'bn_ce_id_menu='.$categorie_nature.' ';
|
- |
|
593 |
$req_where=1;
|
- |
|
594 |
}
|
- |
|
595 |
|
588 |
$requete .= ' ORDER BY bf_date_debut_validite_fiche DESC, bf_date_fin_validite_fiche DESC, bf_date_maj_fiche DESC';
|
596 |
$requete .= ' ORDER BY bf_date_debut_validite_fiche DESC, bf_date_fin_validite_fiche DESC, bf_date_maj_fiche DESC';
|
589 |
if ($nbitem!='') {$requete .= ' LIMIT 0,'.$nbitem;}
|
597 |
if ($nbitem!='') {$requete .= ' LIMIT 0,'.$nbitem;}
|
590 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
|
598 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
|
591 |
if (DB::isError($resultat)) {
|
599 |
if (DB::isError($resultat)) {
|
592 |
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
|
600 |
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
|
Line 642... |
Line 650... |
642 |
function baz_liste($typeannonce='toutes') {
|
650 |
function baz_liste($typeannonce='toutes') {
|
643 |
//creation du lien pour le formulaire de recherche
|
651 |
//creation du lien pour le formulaire de recherche
|
644 |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_TOUTES_ANNONCES);
|
652 |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_TOUTES_ANNONCES);
|
645 |
$lien_formulaire = preg_replace ('/&/', '&', $GLOBALS['_BAZAR_']['url']->getURL()) ;
|
653 |
$lien_formulaire = preg_replace ('/&/', '&', $GLOBALS['_BAZAR_']['url']->getURL()) ;
|
646 |
$formtemplate = new HTML_QuickForm('formulaire', 'post', $lien_formulaire) ;
|
654 |
$formtemplate = new HTML_QuickForm('formulaire', 'post', $lien_formulaire) ;
|
647 |
$squelette = &$formtemplate->defaultRenderer();
|
655 |
$squelette =& $formtemplate->defaultRenderer();
|
648 |
$squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'<ul style="padding:0;margin:0;">'."\n".
|
656 |
$squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'<table style="border:0;width:100%;">'."\n".'{content}'."\n".'</table>'."\n".'</form>'."\n");
|
- |
|
657 |
$squelette->setElementTemplate( '<tr>'."\n".'<td style="font-size:12px;width:120px;text-align:right;">'."\n".'{label}'.
|
- |
|
658 |
'<!-- BEGIN required --><span class="symbole_obligatoire"> *</span><!-- END required -->'."\n".
|
- |
|
659 |
' :</td>'."\n".'<td style="text-align:left;padding:5px;"> '."\n".'{element}'."\n".
|
- |
|
660 |
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n".
|
649 |
'{content}'."\n".'</ul>'."\n".'</form>'."\n");
|
661 |
'</td>'."\n".'</tr>'."\n");
|
- |
|
662 |
$squelette->setElementTemplate( '<tr>'."\n".'<td colspan="2" class="liste_a_cocher"><strong>{label} {element}</strong>'."\n".
|
- |
|
663 |
'<!-- BEGIN required --><span class="symbole_obligatoire"> *</span><!-- END required -->'."\n".'</td>'."\n".'</tr>'."\n", 'accept_condition');
|
650 |
$squelette->setElementTemplate( '<li class="enligne">'."\n".'{element}'."\n".'</li>'."\n");
|
664 |
$squelette->setElementTemplate( '<tr><td colspan="2" class="bouton">{label}{element}</td></tr>'."\n", 'valider');
|
- |
|
665 |
|
- |
|
666 |
$squelette->setRequiredNoteTemplate("\n".'<tr>'."\n".'<td colspan="2" class="symbole_obligatoire">* {requiredNote}</td></tr>'."\n");
|
- |
|
667 |
//Traduction de champs requis
|
- |
|
668 |
$formtemplate->setRequiredNote(BAZ_CHAMPS_REQUIS) ;
|
- |
|
669 |
$formtemplate->setJsWarnings(BAZ_ERREUR_SAISIE,BAZ_VEUILLEZ_CORRIGER);
|
- |
|
670 |
|
Line 651... |
Line 671... |
651 |
|
671 |
|
652 |
//cas du formulaire de recherche proposant de chercher parmis tous les types d'annonces
|
672 |
//cas du formulaire de recherche proposant de chercher parmis tous les types d'annonces
|
653 |
//requete pour obtenir l'id et le label des types d'annonces
|
673 |
//requete pour obtenir l'id et le label des types d'annonces
|
654 |
$requete = 'SELECT bn_id_nature, bn_label_nature '.
|
674 |
$requete = 'SELECT bn_id_nature, bn_label_nature '.
|
655 |
'FROM bazar_nature WHERE bn_ce_id_menu='.$GLOBALS['_BAZAR_']['filtre'].' '.
|
675 |
'FROM bazar_nature WHERE bn_ce_id_menu='.$GLOBALS['_BAZAR_']['categorie_nature'].' '.
|
656 |
'ORDER BY bn_label_nature ASC';
|
676 |
'ORDER BY bn_label_nature ASC';
|
657 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
|
677 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
|
658 |
if (DB::isError($resultat)) {
|
678 |
if (DB::isError($resultat)) {
|
659 |
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
|
679 |
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
|
- |
|
680 |
}
|
- |
|
681 |
//on récupère le nb de types de fiches, pour plus tard
|
660 |
}
|
682 |
$nb_type_de_fiches=$resultat->numRows();
|
661 |
$type_annonce_select['toutes']=BAZ_TOUS_TYPES_FICHES;
|
683 |
$type_annonce_select['toutes']=BAZ_TOUS_TYPES_FICHES;
|
662 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
|
684 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
|
663 |
$type_annonce_select[$ligne['bn_id_nature']] = $ligne['bn_label_nature'];
|
685 |
$type_annonce_select[$ligne['bn_id_nature']] = $ligne['bn_label_nature'];
|
664 |
$tableau_typeannonces[] = $ligne['bn_id_nature'] ;
|
686 |
$tableau_typeannonces[] = $ligne['bn_id_nature'] ;
|
665 |
}
|
687 |
}
|
666 |
if ($GLOBALS['_BAZAR_']['typeannonce']=='toutes') {
|
688 |
if ($nb_type_de_fiches>1 && $GLOBALS['_BAZAR_']['typeannonce']=='toutes') {
|
667 |
$res= '<h2>'.BAZ_TOUTES_LES_ANNONCES.'</h2><br />'."\n";
|
689 |
$res= '<h2>'.BAZ_TOUTES_LES_ANNONCES.'</h2><br />'."\n";
|
668 |
$option=array('style'=>'border:1px solid #000;width: 140px;font:12px Myriad, Arial, sans-serif;',
|
690 |
$option=array('style'=>'border:1px solid #000;width: 200px;font:12px Myriad, Arial, sans-serif;',
|
669 |
'onchange' => 'javascript:this.form.submit();');
|
691 |
'onchange' => 'javascript:this.form.submit();');
|
- |
|
692 |
$formtemplate->addElement ('select', 'nature', BAZ_TYPEANNONCE, $type_annonce_select, $option) ;
|
- |
|
693 |
if (isset($_REQUEST['nature'])) {
|
- |
|
694 |
$defauts=array('nature'=>$_REQUEST['nature']);
|
- |
|
695 |
$formtemplate->setDefaults($defauts);
|
670 |
$formtemplate->addElement ('select', 'nature', BAZ_TYPEANNONCE, $type_annonce_select, $option) ;
|
696 |
}
|
671 |
}
|
697 |
}
|
672 |
//cas du type d'annonces prédéfini
|
698 |
//cas du type d'annonces prédéfini
|
673 |
else {
|
699 |
else {
|
674 |
$res = '<h2>'.BAZ_TOUTES_LES_ANNONCES_DE_TYPE.' '.$GLOBALS['_BAZAR_']['typeannonce'].'</h2>'."\n";
|
700 |
$res = '<h2>'.BAZ_TOUTES_LES_ANNONCES_DE_TYPE.' '.$GLOBALS['_BAZAR_']['typeannonce'].'</h2>'."\n";
|
Line 675... |
Line -... |
675 |
}
|
- |
|
676 |
|
701 |
}
|
677 |
|
702 |
|
678 |
//requete pour obtenir l'id, le nom et prenom de toutes les personnes ayant depose une fiche
|
- |
|
679 |
// dans le but de construire l'élément de formulaire select avec les noms des émetteurs de fiche
|
703 |
//requete pour obtenir l'id, le nom et prenom de toutes les personnes ayant depose une fiche
|
680 |
|
704 |
// dans le but de construire l'élément de formulaire select avec les noms des émetteurs de fiche
|
681 |
if (BAZ_RECHERCHE_PAR_EMETTEUR) {
|
705 |
if (BAZ_RECHERCHE_PAR_EMETTEUR) {
|
Line 682... |
Line 706... |
682 |
$requete = 'SELECT '.BAZ_CHAMPS_ID.', '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.' '.
|
706 |
$requete = 'SELECT '.BAZ_CHAMPS_ID.', '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.' '.
|
Line 683... |
Line 707... |
683 |
'FROM bazar_fiche,'.BAZ_ANNUAIRE.' where' ;
|
707 |
'FROM bazar_fiche,'.BAZ_ANNUAIRE.' where' ;
|
684 |
|
708 |
|
685 |
$requete .= ' bf_date_debut_validite_fiche<=NOW() AND bf_date_fin_validite_fiche>=NOW() and';
|
709 |
$requete .= ' bf_date_debut_validite_fiche<=NOW() AND bf_date_fin_validite_fiche>=NOW() and';
|
686 |
|
710 |
|
687 |
$requete .= ' bf_ce_utilisateur='.BAZ_CHAMPS_ID.' ';
|
711 |
$requete .= ' bf_ce_utilisateur='.BAZ_CHAMPS_ID.' ';
|
688 |
if (!isset($_REQUEST['nature'])) {
|
712 |
if (!isset($_REQUEST['nature'])) {
|
689 |
if (isset($GLOBALS['_BAZAR_']['id_typeannonce'])) {
|
713 |
if (isset($GLOBALS['_BAZAR_']['id_typeannonce'])) {
|
690 |
$requete .= 'AND bf_ce_nature="'.$GLOBALS['_BAZAR_']['id_typeannonce'].'" ';
|
714 |
$requete .= 'AND bf_ce_nature="'.$GLOBALS['_BAZAR_']['id_typeannonce'].'" ';
|
691 |
}
|
715 |
}
|
692 |
}
|
716 |
}
|
693 |
else {
|
717 |
else {
|
Line 694... |
Line 718... |
694 |
if ($_REQUEST['nature']!='toutes') {
|
718 |
if ($_REQUEST['nature']!='toutes') {
|
695 |
$requete .= 'AND bf_ce_nature='.$_REQUEST['nature'].' ';
|
719 |
$requete .= 'AND bf_ce_nature='.$_REQUEST['nature'].' ';
|
696 |
}
|
720 |
}
|
Line 703... |
Line 727... |
703 |
}
|
727 |
}
|
704 |
$personnes_select['tous']=BAZ_TOUS_LES_EMETTEURS;
|
728 |
$personnes_select['tous']=BAZ_TOUS_LES_EMETTEURS;
|
705 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
|
729 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
|
706 |
$personnes_select[$ligne[BAZ_CHAMPS_ID]] = $ligne[BAZ_CHAMPS_NOM]." ".$ligne[BAZ_CHAMPS_PRENOM] ;
|
730 |
$personnes_select[$ligne[BAZ_CHAMPS_ID]] = $ligne[BAZ_CHAMPS_NOM]." ".$ligne[BAZ_CHAMPS_PRENOM] ;
|
707 |
}
|
731 |
}
|
708 |
$option=array('style'=>'border:1px solid #000;width: 140px;font:12px Myriad, Arial, sans-serif;');
|
732 |
$option=array('style'=>'border:1px solid #000;width: 200px;font:12px Myriad, Arial, sans-serif;');
|
709 |
$formtemplate->addElement ('select', 'personnes', BAZ_EMETTEUR, $personnes_select, $option) ;
|
733 |
$formtemplate->addElement ('select', 'personnes', BAZ_EMETTEUR, $personnes_select, $option) ;
|
710 |
} else {
|
734 |
} else {
|
711 |
$formtemplate->addElement ('hidden', 'personnes', 'tous') ;
|
735 |
$formtemplate->addElement ('hidden', 'personnes', 'tous') ;
|
712 |
}
|
736 |
}
|
Line 713... |
Line 737... |
713 |
|
737 |
|
714 |
//pour les super-administrateurs, on peut voir les annonces non validées
|
738 |
//pour les super-administrateurs, on peut voir les annonces non validées
|
715 |
//on verifie si l'utilisateur est administrateur
|
739 |
//on verifie si l'utilisateur est administrateur
|
Line 716... |
Line 740... |
716 |
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']) ;
|
740 |
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']) ;
|
717 |
|
741 |
|
718 |
if ($utilisateur->isSuperAdmin()) {
|
742 |
if ($utilisateur->isSuperAdmin()) {
|
719 |
$option=array('style'=>'border:1px solid #000;width: 60px;font:12px Myriad, Arial, sans-serif;');
|
743 |
$option=array('style'=>'border:1px solid #000;width: 200px;font:12px Myriad, Arial, sans-serif;');
|
720 |
$valide_select[0] = BAZ_FICHES_PAS_VALIDEES;
|
744 |
$valide_select[0] = BAZ_FICHES_PAS_VALIDEES;
|
721 |
$valide_select[1] = BAZ_FICHES_VALIDEES;
|
745 |
$valide_select[1] = BAZ_FICHES_VALIDEES;
|
722 |
$valide_select[2] = BAZ_LES_DEUX;
|
746 |
$valide_select[2] = BAZ_LES_DEUX;
|
723 |
$formtemplate->addElement ('select', 'valides', BAZ_VALIDE, $valide_select, $option) ;
|
747 |
$formtemplate->addElement ('select', 'valides', BAZ_VALIDE, $valide_select, $option) ;
|
724 |
$defauts=array('valides'=>1);
|
748 |
$defauts=array('valides'=>1);
|
Line 725... |
Line 749... |
725 |
$formtemplate->setDefaults($defauts);
|
749 |
$formtemplate->setDefaults($defauts);
|
726 |
}
|
750 |
}
|
727 |
|
751 |
|
728 |
//champs texte pour entrer les mots cles
|
752 |
//champs texte pour entrer les mots cles
|
729 |
$option=array('maxlength'=>60,'style'=>'border:1px solid #000;width:100px;font:12px Myriad, Arial, sans-serif;');
|
753 |
$option=array('maxlength'=>60,'style'=>'border:1px solid #000;width:200px;font:12px Myriad, Arial, sans-serif;');
|
Line 730... |
Line 754... |
730 |
$formtemplate->addElement('text', 'recherche_mots_cles', BAZ_MOT_CLE, $option) ;
|
754 |
$formtemplate->addElement('text', 'recherche_mots_cles', BAZ_MOT_CLE, $option) ;
|
731 |
$defauts=array('recherche_mots_cles'=>BAZ_MOT_CLE);
|
755 |
$defauts=array('recherche_mots_cles'=>BAZ_MOT_CLE);
|
Line 732... |
Line 756... |
732 |
$formtemplate->setDefaults($defauts);
|
756 |
$formtemplate->setDefaults($defauts);
|
733 |
|
757 |
|
- |
|
758 |
//option cachee pour savoir si le formulaire a ete appele deja
|
734 |
//option cachee pour savoir si le formulaire a ete appele deja
|
759 |
$formtemplate->addElement('hidden', 'recherche_effectuee', 1) ;
|
735 |
$formtemplate->addElement('hidden', 'recherche_effectuee', 1) ;
|
760 |
|
736 |
|
761 |
// Ajout des options si un type de fiche a ete choisie
|
737 |
// Ajout des options si un type de fiche a ete choisie
|
762 |
if ( (isset($_REQUEST['nature']) && $_REQUEST['nature'] != 'toutes') || (isset($GLOBALS['_BAZAR_']['categorie_nature']) && $nb_type_de_fiches==1) ) {
|
738 |
if ((isset($_REQUEST['nature']) && $_REQUEST['nature'] != 'toutes') || isset($GLOBALS['_BAZAR_']['categorie_nature'])) {
|
763 |
if ( BAZ_MOTEUR_RECHERCHE_AVANCEE || ( isset($_REQUEST['recherche_avancee'])&&$_REQUEST['recherche_avancee']==1) ) {
|
739 |
if ($GLOBALS['_BAZAR_']['categorie_nature'] != '') {
|
764 |
if ($GLOBALS['_BAZAR_']['categorie_nature'] != '') {
|
740 |
$champs_requete = 'bn_id_nature' ;
|
- |
|
741 |
if (!isset($_REQUEST['nature']) || $_REQUEST['nature'] == '') {
|
- |
|
742 |
$_REQUEST['nature'] = $GLOBALS['_BAZAR_']['categorie_nature'];
|
- |
|
743 |
$champs_requete = 'bn_ce_id_menu' ;
|
765 |
$champs_requete = '' ;
|
744 |
}
|
766 |
if (!isset($_REQUEST['nature']) || $_REQUEST['nature'] == '') {
|
745 |
} else {
|
767 |
$_REQUEST['nature'] = $tableau_typeannonces[0];
|
746 |
$champs_requete = 'bn_id_nature' ;
|
768 |
}
|
747 |
}
|
769 |
}
|
748 |
// Récupération du template
|
770 |
// Récupération du template
|
749 |
$requete = 'select bn_template from bazar_nature where '.$champs_requete.'="'.$_REQUEST['nature'].'"';
|
771 |
$requete = 'SELECT bn_template FROM bazar_nature WHERE bn_id_nature="'.$_REQUEST['nature'].'"';
|
750 |
$resultat = $GLOBALS['_BAZAR_']['db']->getOne($requete) ;
|
772 |
$resultat = $GLOBALS['_BAZAR_']['db']->getOne($requete) ;
|
- |
|
773 |
if (DB::isError($resultat)) {
|
- |
|
774 |
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
|
- |
|
775 |
}
|
- |
|
776 |
|
- |
|
777 |
if ($_REQUEST['recherche_avancee']==1) {
|
- |
|
778 |
foreach(array_merge($_POST, $_GET) as $cle => $valeur) $GLOBALS['_BAZAR_']['url']->addQueryString($cle, $valeur);
|
751 |
if (DB::isError($resultat)) {
|
779 |
$GLOBALS['_BAZAR_']['url']->addQueryString('recherche_avancee', '0');
|
- |
|
780 |
$lien_recherche_de_base = '<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_RECHERCHE_DE_BASE.'</a><br />';
|
752 |
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
|
781 |
//lien recherche de base
|
753 |
}
|
782 |
labelhtml($formtemplate,'',$lien_recherche_de_base,'','','','','');
|
754 |
|
783 |
}
|
755 |
$tableau = baz_valeurs_template($resultat) ;
|
784 |
|
756 |
|
785 |
$tableau = baz_valeurs_template($resultat) ;
|
757 |
for ($i=0; $i<count($tableau); $i++) {
|
- |
|
758 |
if (($tableau[$i]['type'] == 'liste' || $tableau[$i]['type'] == 'checkbox') && $tableau[$i]['recherche'] == 1) {
|
- |
|
759 |
if ($tableau[$i]['type'] == 'checkbox') {
|
786 |
for ($i=0; $i<count($tableau); $i++) {
|
- |
|
787 |
if (($tableau[$i]['type'] == 'liste' || $tableau[$i]['type'] == 'checkbox') && $tableau[$i]['recherche'] == 1) {
|
760 |
$formtemplate->addElement ('html', '<br />'.$tableau[$i]['label'].'<br />') ;
|
788 |
$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'],
|
- |
|
789 |
$tableau[$i]['limite2'], $tableau[$i]['defaut'], $tableau[$i]['table_source'], $tableau[$i]['obligatoire'], 1) ;
|
- |
|
790 |
}
|
- |
|
791 |
}
|
- |
|
792 |
|
- |
|
793 |
}
|
- |
|
794 |
else {
|
- |
|
795 |
foreach(array_merge($_POST, $_GET) as $cle => $valeur) $GLOBALS['_BAZAR_']['url']->addQueryString($cle, $valeur);
|
- |
|
796 |
$GLOBALS['_BAZAR_']['url']->addQueryString('recherche_avancee', '1');
|
- |
|
797 |
$lien_recherche_avancee = '<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_RECHERCHE_AVANCEE.'</a><br />';
|
- |
|
798 |
}
|
761 |
}
|
799 |
}
|
- |
|
800 |
|
762 |
$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'],
|
801 |
//lien recherche avancee
|
763 |
$tableau[$i]['limite2'], $tableau[$i]['defaut'], $tableau[$i]['table_source'], $tableau[$i]['obligatoire']) ;
|
802 |
if (isset($lien_recherche_avancee)) {
|
764 |
}
|
803 |
labelhtml($formtemplate,'',$lien_recherche_avancee,'','','','','');
|
765 |
}
|
804 |
}
|
Line 766... |
Line 805... |
766 |
}
|
805 |
|
767 |
//Bouton de validation du formulaire
|
806 |
//Bouton de validation du formulaire
|
Line 768... |
Line 807... |
768 |
$option=array('style'=>'border:1px solid #000;width:80px;font:12px Myriad, Arial, sans-serif;');
|
807 |
$option=array('style'=>'border:1px solid #000;width:80px;font:12px Myriad, Arial, sans-serif;');
|
769 |
$bouton[] = &HTML_QuickForm::createElement('submit', 'rechercher', BAZ_RECHERCHER, $option);
|
808 |
$bouton[] = &HTML_QuickForm::createElement('submit', 'rechercher', BAZ_RECHERCHER, $option);
|
- |
|
809 |
$formtemplate->addGroup($bouton, null, null, '');
|
770 |
$formtemplate->addGroup($bouton, null, null, '');
|
810 |
|
771 |
|
811 |
//affichage du formulaire
|
772 |
//affichage du formulaire
|
812 |
$res.=$formtemplate->toHTML()."\n";
|
Line -... |
Line 813... |
- |
|
813 |
|
773 |
$res.=$formtemplate->toHTML()."\n";
|
814 |
|
774 |
|
815 |
// Ajout de la table bazar_fiche_liste_valeur dans le from de la requete
|
775 |
|
- |
|
776 |
// Ajout de la table bazar_fiche_liste_valeur dans le from de la requete
|
- |
|
777 |
$case_coche = false ;
|
- |
|
778 |
$requeteFrom = '' ;
|
- |
|
779 |
$requeteWhere = '' ;
|
- |
|
780 |
$requeteWhereListe = '' ;
|
816 |
$case_coche = false ;
|
781 |
|
817 |
$nb_jointures=0;
|
782 |
for ($i = 0; $i < count ($tableau); $i++) {
|
- |
|
783 |
if ($tableau[$i]['type'] == 'checkbox' || $tableau[$i]['type'] == 'liste') {
|
- |
|
784 |
$nom_liste = $tableau[$i]['type'].$tableau[$i]['nom_bdd'] ;
|
- |
|
785 |
|
- |
|
786 |
if (is_array($_REQUEST[$nom_liste])) {
|
- |
|
787 |
foreach ($_REQUEST[$nom_liste] as $cle =>$valeur) {
|
818 |
$requeteFrom = '' ;
|
788 |
if ($valeur == 1) {
|
- |
|
789 |
$case_coche = true ;
|
- |
|
790 |
$requeteWhereListe .= ' AND bfvl_ce_liste='.$tableau[$i]['nom_bdd'] ; // Numéro de la liste
|
819 |
$requeteWhere = '' ;
|
- |
|
820 |
$requeteWhereListe = '' ;
|
- |
|
821 |
|
- |
|
822 |
if ( isset($tableau) ) {
|
- |
|
823 |
for ($i = 0; $i < count ($tableau); $i++) {
|
- |
|
824 |
if ($tableau[$i]['type'] == 'checkbox' || $tableau[$i]['type'] == 'liste') {
|
- |
|
825 |
$nb_jointures++;
|
- |
|
826 |
$nom_liste = $tableau[$i]['type'].$tableau[$i]['nom_bdd'] ;
|
- |
|
827 |
if (isset($_REQUEST[$nom_liste]) && is_array($_REQUEST[$nom_liste])) {
|
- |
|
828 |
$case_coche = true;
|
- |
|
829 |
$requeteWhereListe .= ' bfvl'.$nb_jointures.'.bfvl_ce_liste='.$tableau[$i]['nom_bdd'].' AND ' ; // Numéro de la liste
|
- |
|
830 |
$requeteWhereListe .= ' bfvl'.$nb_jointures.'.bfvl_valeur IN (' ;
|
- |
|
831 |
$chaine = '';
|
- |
|
832 |
//var_dump($_REQUEST[$nom_liste]);
|
- |
|
833 |
foreach ($_REQUEST[$nom_liste] as $cle =>$valeur) {
|
- |
|
834 |
if ($valeur == 1) {
|
- |
|
835 |
$chaine .= '"'.$cle.'",' ;
|
- |
|
836 |
}
|
791 |
|
837 |
}
|
792 |
}
|
838 |
$requeteWhereListe .= substr ($chaine, 0, strlen ($chaine)-1) ;
|
793 |
}
|
839 |
$requeteWhereListe .= ') AND ';
|
794 |
} else {
|
840 |
} else {
|
795 |
|
841 |
if (isset ($_REQUEST[$nom_liste]) && $_REQUEST[$nom_liste]!=0) {
|
- |
|
842 |
$requeteWhereListe .= ' bfvl'.$nb_jointures.'.bfvl_ce_liste='.$tableau[$i]['nom_bdd'].' AND ' ; // Numéro de la liste
|
796 |
if (isset ($_REQUEST[$nom_liste])) {
|
843 |
$requeteWhereListe .= ' bfvl'.$nb_jointures.'.bfvl_valeur='.$_REQUEST[$nom_liste].' AND ';
|
797 |
$requeteWhereListe .= ' AND bfvl_ce_liste='.$tableau[$i]['nom_bdd'].' AND ' ; // Numéro de la liste
|
844 |
$case_coche = true;
|
- |
|
845 |
}
|
798 |
$requeteWhereListe .= ' bfvl_valeur='.$_REQUEST[$nom_liste].' AND ';
|
846 |
}
|
799 |
$case_coche = true;
|
847 |
}
|
800 |
}
|
848 |
}
|
801 |
}
|
849 |
}
|
802 |
}
|
850 |
if ($case_coche) {
|
Line 803... |
Line 851... |
803 |
}
|
851 |
for ($i = 0; $i < $nb_jointures ; $i++) {
|
804 |
if ($case_coche) {
|
852 |
$requeteFrom .= ', bazar_fiche_valeur_liste as bfvl'.($i+1) ;
|
Line 833... |
Line 881... |
833 |
}
|
881 |
}
|
834 |
if ($typeannonce!='toutes') $typedefiches=$typeannonce;
|
882 |
if ($typeannonce!='toutes') $typedefiches=$typeannonce;
|
835 |
if (isset($_REQUEST['valides'])) {$valides=$_REQUEST['valides'];}
|
883 |
if (isset($_REQUEST['valides'])) {$valides=$_REQUEST['valides'];}
|
836 |
else {$valides=1;}
|
884 |
else {$valides=1;}
|
837 |
//generation de la liste de flux a afficher
|
885 |
//generation de la liste de flux a afficher
|
838 |
$res .= baz_liste_pagine_HTML($typedefiche, '', $_REQUEST['personne'], $valides, $requeteSQL, $requeteFrom, $requeteWhere);
|
886 |
if (!isset($_REQUEST['personne'])) $_REQUEST['personne']='tous';
|
839 |
/*
|
- |
|
840 |
$res .= RSSversHTML(gen_RSS($typedefiches, '', $_REQUEST['personnes'], $valides, $requeteSQL, $requeteFrom, $requeteWhere),
|
887 |
$res .= baz_liste_pagine_HTML($typedefiches, '', $_REQUEST['personne'], $valides, $requeteSQL, $requeteFrom, $requeteWhere);
|
841 |
0, BAZ_TYPE_AFFICHAGE_LISTE, 1) ;
|
- |
|
842 |
*/
|
- |
|
843 |
}
|
888 |
}
|
844 |
else {
|
889 |
else {
|
845 |
//on affiche toutes les annonces
|
890 |
//on affiche toutes les annonces
|
846 |
$res .= '<br /><p class="zone_info">'."\n".BAZ_ENTRER_VOS_CRITERES_DE_RECHERCHE.'</p>'."\n";
|
891 |
$res .= '<br /><p class="zone_info">'."\n".BAZ_ENTRER_VOS_CRITERES_DE_RECHERCHE.'</p>'."\n";
|
847 |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
|
892 |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
|
848 |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_FLUX_RSS);
|
893 |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_FLUX_RSS);
|
849 |
$GLOBALS['_BAZAR_']['url']->addQueryString('annonce', 'toutes');
|
894 |
$GLOBALS['_BAZAR_']['url']->addQueryString('annonce', $typeannonce);
|
- |
|
895 |
$GLOBALS['_BAZAR_']['url']->addQueryString('categorie_nature', $GLOBALS['_BAZAR_']['categorie_nature']);
|
850 |
$res .= '{{Syndication titre="Les dernières fiches enregistrées" url="'.$GLOBALS['_BAZAR_']['url']->getURL().'" nb=10 nouvellefenetre=0 formatdate="'.BAZ_TYPE_AFFICHAGE_LISTE.'"}}';
|
896 |
$res .= '{{Syndication titre="Les dernières fiches enregistrées" url="'.$GLOBALS['_BAZAR_']['url']->getURL().
|
- |
|
897 |
'" nb=10 nouvellefenetre=0 formatdate="'.BAZ_TYPE_AFFICHAGE_LISTE.'"}}';
|
851 |
}
|
898 |
}
|
852 |
return $res;
|
899 |
return $res;
|
853 |
}
|
900 |
}
|
Line 854... |
Line 901... |
854 |
|
901 |
|
Line 863... |
Line 910... |
863 |
if ($valide!=2) {
|
910 |
if ($valide!=2) {
|
864 |
$requete .= 'bf_statut_fiche='.$valide;
|
911 |
$requete .= 'bf_statut_fiche='.$valide;
|
865 |
$req_where=1;
|
912 |
$req_where=1;
|
866 |
}
|
913 |
}
|
Line 867... |
Line -... |
867 |
|
- |
|
868 |
if (!is_array ($typeannonce) && $typeannonce!='' and $typeannonce!='toutes') {
|
- |
|
869 |
if ($req_where==1) {$requete .= ' AND ';}
|
- |
|
870 |
$requete .= 'bf_ce_nature='.$typeannonce;
|
- |
|
871 |
$req_where=1;
|
- |
|
872 |
//le nom du flux devient le type d'annonce
|
- |
|
873 |
$nomflux = $typeannonce;
|
- |
|
874 |
}
|
- |
|
875 |
// Cas où il y plusieurs type d annonce demande
|
- |
|
876 |
if (is_array ($typeannonce)) {
|
- |
|
877 |
if ($req_where==1) {$requete .= ' AND ';}
|
- |
|
878 |
$requete .= 'bf_ce_nature IN (' ;
|
- |
|
879 |
$chaine = '';
|
- |
|
880 |
foreach ($typeannonce as $valeur) $chaine .= '"'.$valeur.'",' ;
|
- |
|
881 |
$requete .= substr ($chaine, 0, strlen ($chaine)-1) ;
|
- |
|
882 |
$requete .= ') ';
|
- |
|
883 |
}
|
914 |
|
884 |
$utilisateur = new Administrateur_bazar ($GLOBALS['AUTH']) ;
|
915 |
$utilisateur = new Administrateur_bazar ($GLOBALS['AUTH']) ;
|
Line 885... |
Line 916... |
885 |
if ($valide!=0) {
|
916 |
if ($valide!=0) {
|
886 |
|
917 |
|
Line 892... |
Line 923... |
892 |
}
|
923 |
}
|
893 |
$requete .= '(bf_date_debut_validite_fiche<=NOW() or bf_date_debut_validite_fiche="0000-00-00")'.
|
924 |
$requete .= '(bf_date_debut_validite_fiche<=NOW() or bf_date_debut_validite_fiche="0000-00-00")'.
|
894 |
' AND (bf_date_fin_validite_fiche>=NOW() or bf_date_fin_validite_fiche="0000-00-00") AND bn_id_nature=bf_ce_nature';
|
925 |
' AND (bf_date_fin_validite_fiche>=NOW() or bf_date_fin_validite_fiche="0000-00-00") AND bn_id_nature=bf_ce_nature';
|
895 |
}
|
926 |
}
|
896 |
}
|
927 |
}
|
897 |
else $nomflux .= BAZ_A_MODERER;
|
- |
|
898 |
if ($emetteur!='' && $emetteur!='tous') {
|
928 |
if ($emetteur!='' && $emetteur!='tous') {
|
899 |
if ($req_where==1) {$requete .= ' AND ';}
|
929 |
if ($req_where==1) {$requete .= ' AND ';}
|
900 |
$requete .= 'bf_ce_utilisateur='.$emetteur;
|
930 |
$requete .= 'bf_ce_utilisateur='.$emetteur;
|
901 |
$req_where=1;
|
931 |
$req_where=1;
|
902 |
//requete pour afficher le nom de la structure
|
932 |
//requete pour afficher le nom de la structure
|
Line 914... |
Line 944... |
914 |
$requete .= '('.$requeteSQL.')';
|
944 |
$requete .= '('.$requeteSQL.')';
|
915 |
$req_where=1;
|
945 |
$req_where=1;
|
916 |
}
|
946 |
}
|
917 |
$requete .= ' ORDER BY bf_date_debut_validite_fiche DESC, bf_date_fin_validite_fiche DESC, bf_date_maj_fiche DESC';
|
947 |
$requete .= ' ORDER BY bf_date_debut_validite_fiche DESC, bf_date_fin_validite_fiche DESC, bf_date_maj_fiche DESC';
|
918 |
if ($nbitem!='') {$requete .= ' LIMIT 0,'.$nbitem;}
|
948 |
if ($nbitem!='') {$requete .= ' LIMIT 0,'.$nbitem;}
|
- |
|
949 |
|
919 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
|
950 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
|
920 |
if (DB::isError($resultat)) {
|
951 |
if (DB::isError($resultat)) {
|
921 |
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
|
952 |
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
|
922 |
}
|
953 |
}
|
923 |
$res = '<br /><h4>'.BAZ_IL_Y_A.($resultat->numRows()).' '.BAZ_FICHES_CORRESPONDANTES.'</h4><br />'."\n";
|
954 |
$res = '<br /><h4>'.BAZ_IL_Y_A.($resultat->numRows()).' '.BAZ_FICHES_CORRESPONDANTES.'</h4><br />'."\n";
|
Line 925... |
Line 956... |
925 |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_FICHE);
|
956 |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_FICHE);
|
Line 926... |
Line 957... |
926 |
|
957 |
|
927 |
$donnees = array();
|
958 |
$donnees = array();
|
928 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
|
959 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
|
929 |
$GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $ligne->bf_id_fiche) ;
|
960 |
$GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $ligne->bf_id_fiche) ;
|
930 |
array_push ($donnees, array ($ligne->bf_id_fiche,$ligne->bf_titre));
|
- |
|
931 |
//$res .= '<li><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.$ligne->bf_titre.'</a></li>'."\n" ;
|
961 |
array_push ($donnees, array ($ligne->bf_id_fiche,$ligne->bf_titre));
|
932 |
}
|
962 |
}
|
933 |
// Mise en place du Pager
|
963 |
// Mise en place du Pager
|
934 |
include_once 'Pager/Pager.php';
|
964 |
include_once PAP_CHEMIN_API_PEAR.'Pager/Pager.php';
|
935 |
$params = array(
|
965 |
$params = array(
|
936 |
'mode' => BAZ_MODE_DIVISION,
|
966 |
'mode' => BAZ_MODE_DIVISION,
|
937 |
'perPage' => BAZ_NOMBRE_RES_PAR_PAGE,
|
967 |
'perPage' => BAZ_NOMBRE_RES_PAR_PAGE,
|
938 |
'delta' => BAZ_DELTA,
|
968 |
'delta' => BAZ_DELTA,
|
939 |
'httpMethod' => 'GET',
|
969 |
'httpMethod' => 'GET',
|
940 |
'extraVars' => $_REQUEST,
|
970 |
'extraVars' => array_merge($_POST, $_GET),
|
941 |
'altNext' => BAZ_SUIVANT,
|
971 |
'altNext' => BAZ_SUIVANT,
|
942 |
'altPrev' => BAZ_PRECEDENT,
|
972 |
'altPrev' => BAZ_PRECEDENT,
|
943 |
'nextImg' => BAZ_SUIVANT,
|
973 |
'nextImg' => BAZ_SUIVANT,
|
944 |
'prevImg' => BAZ_PRECEDENT,
|
974 |
'prevImg' => BAZ_PRECEDENT,
|
Line 958... |
Line 988... |
958 |
return $res ;
|
988 |
return $res ;
|
959 |
}
|
989 |
}
|
Line 960... |
Line 990... |
960 |
|
990 |
|
961 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
991 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
962 |
*
|
992 |
*
|
- |
|
993 |
* $Log: not supported by cvs2svn $
|
- |
|
994 |
* Revision 1.48 2006/05/17 09:50:13 alexandre_tb
|
- |
|
995 |
* Ajout du moteur de recherche évolué et du découpage par page
|
963 |
* $Log: not supported by cvs2svn $
|
996 |
*
|
964 |
* +-- Fin du code ----------------------------------------------------------------------------------------+
|
997 |
* +-- Fin du code ----------------------------------------------------------------------------------------+
|
965 |
*/
|
998 |
*/
|
966 |
?>
|
999 |
?>
|