5 |
florian |
1 |
<?php
|
|
|
2 |
/*vim: set expandtab tabstop=4 shiftwidth=4: */
|
|
|
3 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
4 |
// | PHP version 4.1 |
|
|
|
5 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
6 |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
|
|
|
7 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
8 |
// | This library is free software; you can redistribute it and/or |
|
|
|
9 |
// | modify it under the terms of the GNU Lesser General Public |
|
|
|
10 |
// | License as published by the Free Software Foundation; either |
|
|
|
11 |
// | version 2.1 of the License, or (at your option) any later version. |
|
|
|
12 |
// | |
|
|
|
13 |
// | This library is distributed in the hope that it will be useful, |
|
|
|
14 |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
|
|
15 |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
|
|
16 |
// | Lesser General Public License for more details. |
|
|
|
17 |
// | |
|
|
|
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 |
|
|
|
20 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
|
|
21 |
// +------------------------------------------------------------------------------------------------------+
|
400 |
alexandre_ |
22 |
// CVS : $Id: bazar.fonct.php,v 1.79 2008-10-29 10:41:48 alexandre_tb Exp $
|
5 |
florian |
23 |
/**
|
|
|
24 |
*
|
|
|
25 |
* Fonctions du module bazar
|
61 |
ddelon |
26 |
*
|
5 |
florian |
27 |
*
|
|
|
28 |
*@package bazar
|
|
|
29 |
//Auteur original :
|
|
|
30 |
*@author Alexandre Granier <alexandre@tela-botanica.org>
|
|
|
31 |
*@author Florian Schmitt <florian@ecole-et-nature.org>
|
|
|
32 |
//Autres auteurs :
|
|
|
33 |
*@copyright Tela-Botanica 2000-2004
|
400 |
alexandre_ |
34 |
*@version $Revision: 1.79 $ $Date: 2008-10-29 10:41:48 $
|
5 |
florian |
35 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
36 |
*/
|
|
|
37 |
|
|
|
38 |
// +------------------------------------------------------------------------------------------------------+
|
|
|
39 |
// | ENTETE du PROGRAMME |
|
|
|
40 |
// +------------------------------------------------------------------------------------------------------+
|
118 |
florian |
41 |
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm.php' ;
|
|
|
42 |
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/checkbox.php' ;
|
|
|
43 |
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/textarea.php' ;
|
|
|
44 |
require_once PAP_CHEMIN_API_PEAR.'HTML/Table.php' ;
|
259 |
alexandre_ |
45 |
require_once GEN_CHEMIN_API.'formulaire/formulaire.fonct.inc.php';
|
5 |
florian |
46 |
require_once 'bazar.fonct.rss.php';
|
|
|
47 |
|
|
|
48 |
|
316 |
alexandre_ |
49 |
/** fiches_a_valider () - Renvoie les annonces restant a valider par un administrateur
|
5 |
florian |
50 |
*
|
|
|
51 |
* @return string HTML
|
|
|
52 |
*/
|
|
|
53 |
function fiches_a_valider() {
|
|
|
54 |
// Pour les administrateurs d'une rubrique, on affiche les fiches a valider de cette rubrique
|
|
|
55 |
// On effectue une requete sur le bazar pour voir les fiches a administrer
|
271 |
alexandre_ |
56 |
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_ADMIN);
|
64 |
florian |
57 |
$res= '<h2>'.BAZ_ANNONCES_A_ADMINISTRER.'</h2><br />'."\n";
|
271 |
alexandre_ |
58 |
$requete = 'SELECT * FROM bazar_fiche, bazar_nature WHERE bf_statut_fiche=0 AND ' .
|
321 |
alexandre_ |
59 |
'bn_id_nature=bf_ce_nature AND bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') ' ;
|
|
|
60 |
if (isset($GLOBALS['_BAZAR_']['langue'])) {
|
|
|
61 |
$requete .= ' and bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%" ';
|
|
|
62 |
}
|
|
|
63 |
$requete .= 'ORDER BY bf_date_maj_fiche DESC' ;
|
5 |
florian |
64 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
|
|
|
65 |
if (DB::isError($resultat)) {
|
|
|
66 |
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
|
|
|
67 |
}
|
|
|
68 |
if ($resultat->numRows() != 0) {
|
|
|
69 |
$tableAttr = array('id' => 'table_bazar') ;
|
|
|
70 |
$table = new HTML_Table($tableAttr) ;
|
|
|
71 |
$entete = array (BAZ_TITREANNONCE ,BAZ_ANNONCEUR, BAZ_TYPEANNONCE, BAZ_PUBLIER, BAZ_SUPPRIMER) ;
|
|
|
72 |
$table->addRow($entete) ;
|
|
|
73 |
$table->setRowType (0, 'th') ;
|
|
|
74 |
|
|
|
75 |
// On affiche une ligne par proposition
|
|
|
76 |
while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) {
|
271 |
alexandre_ |
77 |
//Requete pour trouver le nom et prenom de l'annonceur
|
69 |
alexandre_ |
78 |
$requetenomprenom = 'SELECT '.BAZ_CHAMPS_PRENOM.', '.BAZ_CHAMPS_NOM.' FROM '.BAZ_ANNUAIRE.
|
|
|
79 |
' WHERE '.BAZ_CHAMPS_ID.'='.$ligne['bf_ce_utilisateur'] ;
|
5 |
florian |
80 |
$resultatnomprenom = $GLOBALS['_BAZAR_']['db']->query ($requetenomprenom) ;
|
|
|
81 |
if (DB::isError($resultatnomprenom)) {
|
69 |
alexandre_ |
82 |
echo ("Echec de la requete<br />".$resultatnomprenom->getMessage()."<br />".$resultatnomprenom->getDebugInfo()) ;
|
5 |
florian |
83 |
}
|
|
|
84 |
while ($lignenomprenom = $resultatnomprenom->fetchRow (DB_FETCHMODE_ASSOC)) {
|
|
|
85 |
$annonceur=$lignenomprenom[BAZ_CHAMPS_PRENOM]." ".$lignenomprenom[BAZ_CHAMPS_NOM];
|
|
|
86 |
}
|
|
|
87 |
$lien_voir=$GLOBALS['_BAZAR_']['url'];
|
392 |
alexandre_ |
88 |
$lien_voir->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
|
5 |
florian |
89 |
$lien_voir->addQueryString('id_fiche', $ligne['bf_id_fiche']);
|
64 |
florian |
90 |
$lien_voir->addQueryString('typeannonce', $ligne['bn_id_nature']);
|
5 |
florian |
91 |
|
263 |
alexandre_ |
92 |
// Nettoyage de l'url
|
426 |
david |
93 |
// NOTE (jpm - 23 mai 2007): pour �tre compatible avec PHP5 il faut utiliser tjrs $GLOBALS['_BAZAR_']['url'] car en php4 on
|
|
|
94 |
// copie bien une variable mais pas en php5, cela reste une r�f�rence...
|
263 |
alexandre_ |
95 |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
|
|
|
96 |
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
|
|
|
97 |
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
|
5 |
florian |
98 |
|
263 |
alexandre_ |
99 |
$GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $ligne['bf_id_fiche']);
|
|
|
100 |
$GLOBALS['_BAZAR_']['url']->addQueryString('typeannonce', $ligne['bn_id_nature']);
|
5 |
florian |
101 |
|
392 |
alexandre_ |
102 |
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
|
263 |
alexandre_ |
103 |
$lien_voir = $GLOBALS['_BAZAR_']['url']->getURL();
|
392 |
alexandre_ |
104 |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
|
263 |
alexandre_ |
105 |
|
392 |
alexandre_ |
106 |
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_PUBLIER);
|
263 |
alexandre_ |
107 |
$lien_publie_oui = $GLOBALS['_BAZAR_']['url']->getURL();
|
392 |
alexandre_ |
108 |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
|
5 |
florian |
109 |
|
392 |
alexandre_ |
110 |
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_PAS_PUBLIER);
|
263 |
alexandre_ |
111 |
$lien_publie_non = $GLOBALS['_BAZAR_']['url']->getURL();
|
392 |
alexandre_ |
112 |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
|
263 |
alexandre_ |
113 |
|
392 |
alexandre_ |
114 |
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_SUPPRESSION);
|
263 |
alexandre_ |
115 |
$lien_supprimer = $GLOBALS['_BAZAR_']['url']->getURL();
|
392 |
alexandre_ |
116 |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
|
263 |
alexandre_ |
117 |
|
|
|
118 |
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
|
|
|
119 |
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
|
|
|
120 |
|
5 |
florian |
121 |
$table->addRow (array(
|
263 |
alexandre_ |
122 |
'<a href="'.$lien_voir.'">'.$ligne['bf_titre'].'</a>'."\n", // col 1 : le nom
|
5 |
florian |
123 |
$annonceur."\n", // col 2 : annonceur
|
166 |
alexandre_ |
124 |
$ligne['bn_label_nature']."\n", // col 3 : type annonce
|
263 |
alexandre_ |
125 |
"<a href=\"".$lien_publie_oui."\">".BAZ_OUI."</a> / \n".
|
|
|
126 |
"<a href=\"".$lien_publie_non."\">".BAZ_NON."</a>", // col 4 : publier ou pas
|
|
|
127 |
"<a href=\"".$lien_supprimer."\"".
|
5 |
florian |
128 |
" onclick=\"javascript:return confirm('".BAZ_CONFIRMATION_SUPPRESSION."');\">".BAZ_SUPPRIMER."</a>\n")) ; // col 5 : supprimer
|
|
|
129 |
|
|
|
130 |
}
|
|
|
131 |
$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
|
|
|
132 |
$table->updateColAttributes(1, array("align" => "center"));
|
|
|
133 |
$table->updateColAttributes(2, array("align" => "center"));
|
|
|
134 |
$table->updateColAttributes(3, array("align" => "center"));
|
|
|
135 |
$table->updateColAttributes(4, array("align" => "center"));
|
|
|
136 |
$res .= $table->toHTML() ;
|
|
|
137 |
}
|
|
|
138 |
else {
|
118 |
florian |
139 |
$res .= '<p class="zone_info">'.BAZ_PAS_DE_FICHE_A_VALIDER.'</p>'."\n" ;
|
5 |
florian |
140 |
}
|
392 |
alexandre_ |
141 |
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_TOUTES_ANNONCES);
|
271 |
alexandre_ |
142 |
|
286 |
alexandre_ |
143 |
//$res .= '<br /><ul style="clear:both;"><li><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'" title="'.BAZ_CONSULTER_FICHES_VALIDEES.'">'.BAZ_CONSULTER_FICHES_VALIDEES.'</a></li></ul>';
|
205 |
jp_milcent |
144 |
|
|
|
145 |
// Nettoyage de l'url
|
392 |
alexandre_ |
146 |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
|
205 |
jp_milcent |
147 |
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
|
|
|
148 |
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
|
271 |
alexandre_ |
149 |
|
|
|
150 |
// Les autres fiches, deja validees
|
|
|
151 |
$res .= '<h2>'.BAZ_TOUTES_LES_FICHES.'</h2>'."\n";
|
|
|
152 |
$requete = 'SELECT * FROM bazar_fiche, bazar_nature WHERE bf_statut_fiche=1 AND ' .
|
321 |
alexandre_ |
153 |
'bn_id_nature=bf_ce_nature AND bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') ';
|
|
|
154 |
if (isset($GLOBALS['_BAZAR_']['langue'])) {
|
|
|
155 |
$requete .= ' and bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%" ';
|
|
|
156 |
}
|
|
|
157 |
$requete .= 'ORDER BY bf_date_maj_fiche DESC' ;
|
271 |
alexandre_ |
158 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
|
|
|
159 |
if (DB::isError($resultat)) {
|
|
|
160 |
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
|
|
|
161 |
}
|
|
|
162 |
if ($resultat->numRows() != 0) {
|
|
|
163 |
$tableAttr = array('id' => 'table_bazar') ;
|
|
|
164 |
$table = new HTML_Table($tableAttr) ;
|
|
|
165 |
$entete = array (BAZ_TITREANNONCE ,BAZ_ANNONCEUR, BAZ_TYPEANNONCE, BAZ_PUBLIER, BAZ_SUPPRIMER) ;
|
|
|
166 |
$table->addRow($entete) ;
|
|
|
167 |
$table->setRowType (0, 'th') ;
|
|
|
168 |
|
|
|
169 |
// On affiche une ligne par proposition
|
|
|
170 |
while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) {
|
|
|
171 |
//Requete pour trouver le nom et prenom de l'annonceur
|
|
|
172 |
$requetenomprenom = 'SELECT '.BAZ_CHAMPS_PRENOM.', '.BAZ_CHAMPS_NOM.' FROM '.BAZ_ANNUAIRE.
|
|
|
173 |
' WHERE '.BAZ_CHAMPS_ID.'='.$ligne['bf_ce_utilisateur'] ;
|
|
|
174 |
$resultatnomprenom = $GLOBALS['_BAZAR_']['db']->query ($requetenomprenom) ;
|
|
|
175 |
if (DB::isError($resultatnomprenom)) {
|
|
|
176 |
echo ("Echec de la requete<br />".$resultatnomprenom->getMessage()."<br />".$resultatnomprenom->getDebugInfo()) ;
|
|
|
177 |
}
|
|
|
178 |
while ($lignenomprenom = $resultatnomprenom->fetchRow (DB_FETCHMODE_ASSOC)) {
|
|
|
179 |
$annonceur=$lignenomprenom[BAZ_CHAMPS_PRENOM]." ".$lignenomprenom[BAZ_CHAMPS_NOM];
|
|
|
180 |
}
|
|
|
181 |
$lien_voir=$GLOBALS['_BAZAR_']['url'];
|
392 |
alexandre_ |
182 |
$lien_voir->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
|
271 |
alexandre_ |
183 |
$lien_voir->addQueryString('id_fiche', $ligne['bf_id_fiche']);
|
|
|
184 |
$lien_voir->addQueryString('typeannonce', $ligne['bn_id_nature']);
|
|
|
185 |
|
|
|
186 |
// Nettoyage de l'url
|
426 |
david |
187 |
// NOTE (jpm - 23 mai 2007): pour �tre compatible avec PHP5 il faut utiliser tjrs $GLOBALS['_BAZAR_']['url'] car en php4 on
|
|
|
188 |
// copie bien une variable mais pas en php5, cela reste une r�f�rence...
|
392 |
alexandre_ |
189 |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
|
271 |
alexandre_ |
190 |
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
|
|
|
191 |
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
|
|
|
192 |
|
|
|
193 |
$GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $ligne['bf_id_fiche']);
|
|
|
194 |
$GLOBALS['_BAZAR_']['url']->addQueryString('typeannonce', $ligne['bn_id_nature']);
|
|
|
195 |
|
392 |
alexandre_ |
196 |
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
|
271 |
alexandre_ |
197 |
$lien_voir = $GLOBALS['_BAZAR_']['url']->getURL();
|
392 |
alexandre_ |
198 |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
|
205 |
jp_milcent |
199 |
|
392 |
alexandre_ |
200 |
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_PUBLIER);
|
271 |
alexandre_ |
201 |
$lien_publie_oui = $GLOBALS['_BAZAR_']['url']->getURL();
|
392 |
alexandre_ |
202 |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
|
271 |
alexandre_ |
203 |
|
392 |
alexandre_ |
204 |
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_PAS_PUBLIER);
|
271 |
alexandre_ |
205 |
$lien_publie_non = $GLOBALS['_BAZAR_']['url']->getURL();
|
392 |
alexandre_ |
206 |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
|
271 |
alexandre_ |
207 |
|
392 |
alexandre_ |
208 |
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_SUPPRESSION);
|
271 |
alexandre_ |
209 |
$lien_supprimer = $GLOBALS['_BAZAR_']['url']->getURL();
|
392 |
alexandre_ |
210 |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
|
271 |
alexandre_ |
211 |
|
|
|
212 |
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
|
|
|
213 |
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
|
|
|
214 |
|
|
|
215 |
$table->addRow (array(
|
|
|
216 |
'<a href="'.$lien_voir.'">'.$ligne['bf_titre'].'</a>'."\n", // col 1 : le nom
|
|
|
217 |
$annonceur."\n", // col 2 : annonceur
|
|
|
218 |
$ligne['bn_label_nature']."\n", // col 3 : type annonce
|