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.php,v 1.14 2005-11-07 08:48:02 florian Exp $
|
22 |
// CVS : $Id: bazar.fonct.php,v 1.15 2005-11-07 17:05:45 florian Exp $
|
23 |
/**
|
23 |
/**
|
24 |
*
|
24 |
*
|
25 |
* Fonctions du module bazar
|
25 |
* Fonctions du module bazar
|
26 |
*
|
26 |
*
|
27 |
*@package bazar
|
27 |
*@package bazar
|
28 |
//Auteur original :
|
28 |
//Auteur original :
|
29 |
*@author Alexandre Granier <alexandre@tela-botanica.org>
|
29 |
*@author Alexandre Granier <alexandre@tela-botanica.org>
|
30 |
*@author Florian Schmitt <florian@ecole-et-nature.org>
|
30 |
*@author Florian Schmitt <florian@ecole-et-nature.org>
|
31 |
//Autres auteurs :
|
31 |
//Autres auteurs :
|
32 |
*@copyright Tela-Botanica 2000-2004
|
32 |
*@copyright Tela-Botanica 2000-2004
|
33 |
*@version $Revision: 1.14 $ $Date: 2005-11-07 08:48:02 $
|
33 |
*@version $Revision: 1.15 $ $Date: 2005-11-07 17:05:45 $
|
34 |
// +------------------------------------------------------------------------------------------------------+
|
34 |
// +------------------------------------------------------------------------------------------------------+
|
35 |
*/
|
35 |
*/
|
Line 36... |
Line 36... |
36 |
|
36 |
|
37 |
// +------------------------------------------------------------------------------------------------------+
|
37 |
// +------------------------------------------------------------------------------------------------------+
|
Line 241... |
Line 241... |
241 |
* @param mixed objet quickform du formulaire
|
241 |
* @param mixed objet quickform du formulaire
|
242 |
*
|
242 |
*
|
243 |
* @return string code HTML avec formulaire
|
243 |
* @return string code HTML avec formulaire
|
244 |
*/
|
244 |
*/
|
245 |
function baz_afficher_formulaire_annonce($mode='insertion',$formtemplate) {
|
245 |
function baz_afficher_formulaire_annonce($mode='insertion',$formtemplate) {
|
246 |
//vérification de la modification des fichiers, des url ou des images
|
246 |
//verification de la modification des fichiers, des url ou des images
|
247 |
if (isset($_GET['url'])) {
|
247 |
if (isset($_GET['url'])) {
|
248 |
if ($_GET['url']==1) baz_insertion_url($_POST['url_lien'],$_POST['url_texte'],$GLOBALS['_BAZAR_']['id_fiche']);
|
248 |
if ($_GET['url']==1) baz_insertion_url($_POST['url_lien'],$_POST['url_texte'],$GLOBALS['_BAZAR_']['id_fiche']);
|
249 |
if ($_GET['url']==2) baz_suppression_url($_GET['id_url']);
|
249 |
if ($_GET['url']==2) baz_suppression_url($_GET['id_url']);
|
250 |
}
|
250 |
}
|
251 |
if (isset($_GET['fichier'])) {
|
251 |
if (isset($_GET['fichier'])) {
|
Line 257... |
Line 257... |
257 |
if ($_GET['image']==2) baz_suppression_image($GLOBALS['_BAZAR_']['id_fiche']);
|
257 |
if ($_GET['image']==2) baz_suppression_image($GLOBALS['_BAZAR_']['id_fiche']);
|
258 |
}
|
258 |
}
|
Line 259... |
Line 259... |
259 |
|
259 |
|
260 |
//titre de la rubrique
|
260 |
//titre de la rubrique
|
- |
|
261 |
$res= '<h2>'.BAZ_TITRE_SAISIE_ANNONCE.$GLOBALS['_BAZAR_']['typeannonce'].'</h2>';
|
- |
|
262 |
//Ajout des boutons
|
- |
|
263 |
$bouton[] = &HTML_QuickForm::createElement('submit', 'valider', BAZ_VALIDER, ' ');
|
- |
|
264 |
//Traduction de champs requis
|
Line 261... |
Line -... |
261 |
$res= '<h2>'.BAZ_TITRE_SAISIE_ANNONCE.$GLOBALS['_BAZAR_']['typeannonce'].'</h2>';
|
- |
|
262 |
|
- |
|
263 |
//Parcours du fichier de templates, pour mettre les champs spécifiques
|
- |
|
264 |
$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['typeannonce'].'.tpl');
|
- |
|
265 |
for ($i=0; $i<count($tableau); $i++) {
|
- |
|
266 |
$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'],
|
- |
|
267 |
$tableau[$i]['limite2'], $tableau[$i]['defaut'], $tableau[$i]['table_source'], $tableau[$i]['obligatoire']) ;
|
- |
|
268 |
}
|
265 |
$formtemplate->setRequiredNote(BAZ_CHAMPS_REQUIS) ;
|
269 |
|
266 |
|
270 |
//ajout des conditions pour l'annonce si elles existent
|
267 |
//ajout d'une page sur les conditions pour l'annonce si elles existent
|
271 |
$requete = 'SELECT bn_condition FROM bazar_nature WHERE bn_label_nature="'.$GLOBALS['_BAZAR_']['typeannonce'].'"';
|
268 |
$requete = 'SELECT bn_condition FROM bazar_nature WHERE bn_label_nature="'.$GLOBALS['_BAZAR_']['typeannonce'].'"';
|
272 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
|
269 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete);
|
273 |
if (DB::isError($resultat)) {
|
270 |
if (DB::isError($resultat)) {
|
274 |
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
|
271 |
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
|
- |
|
272 |
}
|
275 |
}
|
273 |
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
|
- |
|
274 |
if (($ligne['bn_condition']!='')AND(!isset($_POST['accept_condition']))AND(!isset($_GET['url'])OR(!isset($_GET['fichier']))OR(!isset($_GET['image'])))) {
|
- |
|
275 |
$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
|
276 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
|
276 |
$lien_formulaire->addQueryString('action', $_REQUEST['action']);
|
277 |
if ($ligne['bn_condition']!='') {
|
277 |
$formtemplate = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&/', '&', $lien_formulaire->getURL()) );
|
- |
|
278 |
require_once 'HTML/QuickForm/html.php';
|
- |
|
279 |
$conditions= new HTML_QuickForm_html('<tr><td colspan="2"><p style="padding:4px; margin:5px; width: 100%; background: #C1CBA7;">'.$ligne['bn_condition'].'</p></td></tr>');
|
278 |
require_once 'HTML/QuickForm/html.php';
|
280 |
$formtemplate->addElement('hidden','typeannonce', $_REQUEST['typeannonce']);
|
279 |
$conditions= new HTML_QuickForm_html('<tr><td colspan="2"><p style="padding:4px; margin:5px; width: 100%; background: #C1CBA7;">'.$ligne['bn_condition'].'</p></td></tr>');
|
281 |
if (isset($_REQUEST['id_fiche'])) $formtemplate->addElement('hidden','id_fiche', $_REQUEST['id_fiche']);
|
280 |
$formtemplate->addElement($conditions);
|
282 |
$formtemplate->addElement($conditions);
|
- |
|
283 |
$formtemplate->addElement('checkbox', 'accept_condition',BAZ_ACCEPTE_CONDITIONS) ;
|
281 |
$formtemplate->addElement('checkbox', 'accept_condition',BAZ_ACCEPTE_CONDITIONS) ;
|
284 |
$formtemplate->addRule('accept_condition', BAZ_ACCEPTE_CONDITIONS_REQUIS, 'required', '', 'client') ;
|
- |
|
285 |
$formtemplate->addGroup($bouton, null, null, ' ');
|
- |
|
286 |
}
|
- |
|
287 |
//affichage du formulaire si conditions acceptées
|
- |
|
288 |
else {
|
- |
|
289 |
//Parcours du fichier de templates, pour mettre les champs specifiques
|
- |
|
290 |
$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['typeannonce'].'.tpl');
|
- |
|
291 |
for ($i=0; $i<count($tableau); $i++) {
|
282 |
$formtemplate->addRule('accept_condition', BAZ_ACCEPTE_CONDITIONS_REQUIS, 'required', '', 'client') ;
|
292 |
$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'],
|
283 |
}
|
- |
|
284 |
}
|
- |
|
285 |
|
- |
|
286 |
//Ajout des boutons
|
293 |
$tableau[$i]['limite2'], $tableau[$i]['defaut'], $tableau[$i]['table_source'], $tableau[$i]['obligatoire']) ;
|
Line 287... |
Line -... |
287 |
$bouton[] = &HTML_QuickForm::createElement('submit', 'valider', BAZ_VALIDER, ' ');
|
- |
|
288 |
$formtemplate->addGroup($bouton, null, null, ' ');
|
- |
|
289 |
|
- |
|
290 |
//Traduction de champs requis
|
- |
|
291 |
$formtemplate->setRequiredNote(BAZ_CHAMPS_REQUIS) ;
|
- |
|
292 |
|
- |
|
293 |
if ($mode=='modification') {
|
- |
|
294 |
//Ajout des valeurs par défaut
|
- |
|
295 |
$formtemplate->setDefaults(baz_valeurs_fiche($GLOBALS['_BAZAR_']['id_fiche'])) ;
|
- |
|
296 |
}
|
- |
|
297 |
|
- |
|
298 |
//Affichage à l'écran
|
294 |
}
|
299 |
$res.= $formtemplate->toHTML()."\n";
|
295 |
$formtemplate->addGroup($bouton, null, null, ' ');
|
300 |
|
296 |
|
Line -... |
Line 297... |
- |
|
297 |
if ($mode=='modification') {
|
- |
|
298 |
//initialisation de la variable globale id_fiche
|
- |
|
299 |
$GLOBALS['_BAZAR_']['id_fiche'] = $_REQUEST['id_fiche'];
|
301 |
if ($mode=='modification') {
|
300 |
|
302 |
//initialisation de la variable globale id_fiche
|
301 |
//Ajout des valeurs par defaut
|
303 |
if ($mode=='modification') $GLOBALS['_BAZAR_']['id_fiche'] = $_GET['id_fiche'];
|
302 |
$formtemplate->setDefaults(baz_valeurs_fiche($GLOBALS['_BAZAR_']['id_fiche'])) ;
|
304 |
|
303 |
|
305 |
//préparation des formulaires supplémentaires
|
304 |
//preparation des formulaires supplementaires
|
306 |
//AJOUTER UNE IMAGE
|
305 |
//AJOUTER UNE IMAGE
|
Line 323... |
Line 322... |
323 |
if ($image!=NULL) {
|
322 |
if ($image!=NULL) {
|
324 |
$html='<tr><td colspan="2" width="600px"><hr /><img src="client/bazar/images/'.$image.'" border=0 alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" />'."\n";
|
323 |
$html='<tr><td colspan="2" width="600px"><hr /><img src="client/bazar/images/'.$image.'" border=0 alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" />'."\n";
|
325 |
$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
|
324 |
$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
|
326 |
$lien_supprimer->addQueryString('action', $_GET['action']);
|
325 |
$lien_supprimer->addQueryString('action', $_GET['action']);
|
327 |
$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
|
326 |
$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
|
328 |
$lien_supprimer->addQueryString('typeannonce', $_GET['typeannonce']);
|
327 |
$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
|
329 |
$lien_supprimer->addQueryString('image', '2');
|
328 |
$lien_supprimer->addQueryString('image', '2');
|
330 |
$html.= '<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a></td></tr>'."\n";
|
329 |
$html.= '<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a></td></tr>'."\n";
|
331 |
$formimage = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&/', '&', $lien_formulaire->getURL()) ) ;
|
330 |
$formimage = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&/', '&', $lien_formulaire->getURL()) ) ;
|
332 |
$formimage->addElement('html', $html) ;
|
331 |
$formimage->addElement('html', $html) ;
|
333 |
}
|
332 |
}
|
Line 365... |
Line 364... |
365 |
$table->setRowType(0, "th") ;
|
364 |
$table->setRowType(0, "th") ;
|
Line 366... |
Line 365... |
366 |
|
365 |
|
367 |
$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
|
366 |
$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
|
368 |
$lien_supprimer->addQueryString('action', $_GET['action']);
|
367 |
$lien_supprimer->addQueryString('action', $_GET['action']);
|
369 |
$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
|
368 |
$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
|
370 |
$lien_supprimer->addQueryString('typeannonce', $_GET['typeannonce']);
|
369 |
$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
|
Line 371... |
Line 370... |
371 |
$lien_supprimer->addQueryString('url', '2');
|
370 |
$lien_supprimer->addQueryString('url', '2');
|
372 |
|
371 |
|
373 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
|
372 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
|
Line 413... |
Line 412... |
413 |
$table->setRowType(0, "th") ;
|
412 |
$table->setRowType(0, "th") ;
|
Line 414... |
Line 413... |
414 |
|
413 |
|
415 |
$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
|
414 |
$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
|
416 |
$lien_supprimer->addQueryString('action', $_GET['action']);
|
415 |
$lien_supprimer->addQueryString('action', $_GET['action']);
|
417 |
$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
|
416 |
$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
|
418 |
$lien_supprimer->addQueryString('typeannonce', $_GET['typeannonce']);
|
417 |
$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
|
419 |
$lien_supprimer->addQueryString('fichier', '2');
|
418 |
$lien_supprimer->addQueryString('fichier', '2');
|
420 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
|
419 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
|
421 |
$lien_supprimer->addQueryString('id_fichier', $ligne->bfj_id_fichier);
|
420 |
$lien_supprimer->addQueryString('id_fichier', $ligne->bfj_id_fichier);
|
422 |
$table->addRow (array(
|
421 |
$table->addRow (array(
|
Line 446... |
Line 445... |
446 |
$formfichiers->addRule('fichier_description', BAZ_FICHIER_LABEL_REQUIS, 'required', '', 'client') ;
|
445 |
$formfichiers->addRule('fichier_description', BAZ_FICHIER_LABEL_REQUIS, 'required', '', 'client') ;
|
447 |
$formfichiers->setMaxFileSize(BAZ_TAILLE_MAX_FICHIER);
|
446 |
$formfichiers->setMaxFileSize(BAZ_TAILLE_MAX_FICHIER);
|
Line 448... |
Line 447... |
448 |
|
447 |
|
449 |
//Ajout de 'http://' comme valeur par default d'une url
|
448 |
//Ajout de 'http://' comme valeur par default d'une url
|
450 |
$formurl->setDefaults(array('url_lien'=>'http://'));
|
- |
|
451 |
|
449 |
$formurl->setDefaults(array('url_lien'=>'http://'));
|
452 |
//Bouton de validation du formulaire
|
450 |
//Bouton de validation du formulaire
|
453 |
$formurl->addGroup($bouton, null, null, '');
|
451 |
$formurl->addGroup($bouton, null, null, '');
|
454 |
$formfichiers->addGroup($bouton, null, null, '');
|
- |
|
455 |
|
- |
|
456 |
//Affichage à l'écran
|
- |
|
457 |
$res .= $formimage->toHTML()."\n".$formurl->toHTML()."\n".$formfichiers->toHTML()."\n";
|
452 |
$formfichiers->addGroup($bouton, null, null, '');
|
- |
|
453 |
}
|
- |
|
454 |
}
|
- |
|
455 |
//Affichage a l'ecran
|
- |
|
456 |
$res .= $formtemplate->toHTML()."\n";
|
- |
|
457 |
if (isset($formimage)) $res .= $formimage->toHTML()."\n".$formurl->toHTML()."\n".$formfichiers->toHTML()."\n";
|
458 |
}
|
458 |
|
459 |
return $res;
|
459 |
return $res;
|
Line 460... |
Line 460... |
460 |
}
|
460 |
}
|
Line 466... |
Line 466... |
466 |
*
|
466 |
*
|
467 |
* @return string HTML
|
467 |
* @return string HTML
|
468 |
*/
|
468 |
*/
|
469 |
function baz_formulaire($mode = 'inscription') {
|
469 |
function baz_formulaire($mode = 'inscription') {
|
470 |
if ($GLOBALS['AUTH']->getAuth()) {
|
470 |
if ($GLOBALS['AUTH']->getAuth()) {
|
471 |
//Récupérer les éventuelles variables passées en GET ou en POST
|
471 |
//Recuperer les eventuelles variables passees en GET ou en POST
|
472 |
if (isset($_GET['id_fiche'])) $GLOBALS['_BAZAR_']['id_fiche']=$_GET['id_fiche'];
|
472 |
if (isset($_REQUEST['id_fiche'])) $GLOBALS['_BAZAR_']['id_fiche']=$_REQUEST['id_fiche'];
|
473 |
if (isset($_REQUEST['typeannonce'])) {
|
473 |
if (isset($_REQUEST['typeannonce'])) {
|
474 |
$GLOBALS['_BAZAR_']['typeannonce']=$_REQUEST['typeannonce'];
|
474 |
$GLOBALS['_BAZAR_']['typeannonce']=$_REQUEST['typeannonce'];
|
475 |
// Pour éviter qu'un formulaire soit revalidé si l'utilisateur
|
475 |
// Pour éviter qu'un formulaire soit revalidé si l'utilisateur
|
476 |
// Clique sur son bouton précédent
|
476 |
// Clique sur son bouton précédent
|
Line 488... |
Line 488... |
488 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
|
488 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
|
489 |
$GLOBALS['_BAZAR_']['id_typeannonce']=$ligne['bn_id_nature'];
|
489 |
$GLOBALS['_BAZAR_']['id_typeannonce']=$ligne['bn_id_nature'];
|
490 |
}
|
490 |
}
|
491 |
}
|
491 |
}
|
492 |
$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
|
492 |
$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
|
493 |
//Définir le lien du formulaire en fonction du mode de formulaire choisi
|
493 |
//Definir le lien du formulaire en fonction du mode de formulaire choisi
|
494 |
if ($mode == 'inscription') $lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V);
|
494 |
if ($mode == 'inscription') $lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V);
|
495 |
if ($mode == BAZ_DEPOSER_ANNONCE) $lien_formulaire->addQueryString('action', BAZ_DEPOSER_ANNONCE);
|
495 |
if ($mode == BAZ_DEPOSER_ANNONCE) $lien_formulaire->addQueryString('action', BAZ_DEPOSER_ANNONCE);
|
496 |
if ($mode == BAZ_ACTION_NOUVEAU) $lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V);
|
496 |
if ($mode == BAZ_ACTION_NOUVEAU) $lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V);
|
497 |
if ($mode == BAZ_ACTION_MODIFIER) {
|
497 |
if ($mode == BAZ_ACTION_MODIFIER) {
|
498 |
$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER_V);
|
498 |
$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER_V);
|
Line 1331... |
Line 1331... |
1331 |
}
|
1331 |
}
|
Line 1332... |
Line 1332... |
1332 |
|
1332 |
|
1333 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
1333 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
1334 |
*
|
1334 |
*
|
- |
|
1335 |
* $Log: not supported by cvs2svn $
|
- |
|
1336 |
* Revision 1.14 2005/11/07 08:48:02 florian
|
- |
|
1337 |
* correction pb guillemets pour saisie et modif de fiche
|
1335 |
* $Log: not supported by cvs2svn $
|
1338 |
*
|
1336 |
* Revision 1.13 2005/10/21 16:15:04 florian
|
1339 |
* Revision 1.13 2005/10/21 16:15:04 florian
|
1337 |
* mise a jour appropriation
|
1340 |
* mise a jour appropriation
|
1338 |
*
|
1341 |
*
|
1339 |
* Revision 1.11 2005/10/12 17:20:33 ddelon
|
1342 |
* Revision 1.11 2005/10/12 17:20:33 ddelon
|