19,7 → 19,7 |
// | License along with this library; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: bazar.fonct.php,v 1.18 2005-11-18 16:03:23 florian Exp $ |
// CVS : $Id: bazar.fonct.php,v 1.19 2005-11-24 16:17:13 florian Exp $ |
/** |
* |
* Fonctions du module bazar |
30,7 → 30,7 |
*@author Florian Schmitt <florian@ecole-et-nature.org> |
//Autres auteurs : |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.18 $ $Date: 2005-11-18 16:03:23 $ |
*@version $Revision: 1.19 $ $Date: 2005-11-24 16:17:13 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
228,232 → 228,9 |
} |
|
|
/** baz_afficher_formulaire_annonce() - Génère le formulaire de saisie d'une annonce |
* |
* @param string type de formulaire: insertion ou modification |
* @param mixed objet quickform du formulaire |
* |
* @return string code HTML avec formulaire |
*/ |
function baz_afficher_formulaire_annonce($mode='insertion',$formtemplate) { |
//verification de la modification des fichiers, des url ou des images |
if (isset($_GET['url'])) { |
if ($_GET['url']==1) baz_insertion_url($_POST['url_lien'],$_POST['url_texte'],$GLOBALS['_BAZAR_']['id_fiche']); |
if ($_GET['url']==2) baz_suppression_url($_GET['id_url']); |
} |
if (isset($_GET['fichier'])) { |
if ($_GET['fichier']==1) baz_insertion_fichier($_POST['fichier_description'], $GLOBALS['_BAZAR_']["id_fiche"]); |
if ($_GET['fichier']==2) baz_suppression_fichier($_GET['id_fichier']); |
} |
if (isset($_GET['image'])) { |
if ($_GET['image']==1) baz_insertion_image($GLOBALS['_BAZAR_']['id_fiche']); |
if ($_GET['image']==2) baz_suppression_image($GLOBALS['_BAZAR_']['id_fiche']); |
} |
|
//titre de la rubrique |
$res= '<h2>'.BAZ_TITRE_SAISIE_ANNONCE.$GLOBALS['_BAZAR_']['typeannonce'].'</h2>'; |
//Ajout des boutons |
$bouton[] = &HTML_QuickForm::createElement('submit', 'valider', BAZ_VALIDER, ' '); |
|
//ajout d'une page sur les conditions pour l'annonce si elles existent |
$requete = 'SELECT bn_condition FROM bazar_nature WHERE bn_label_nature="'.$GLOBALS['_BAZAR_']['typeannonce'].'"'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete); |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC); |
if (($ligne['bn_condition']!='')AND(!isset($_POST['accept_condition']))AND(!isset($_GET['url'])OR(!isset($_GET['fichier']))OR(!isset($_GET['image'])))) { |
$lien_formulaire=$GLOBALS['_BAZAR_']['url']; |
$lien_formulaire->addQueryString('action', $_REQUEST['action']); |
$formtemplate = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&/', '&', $lien_formulaire->getURL()) ); |
require_once PAP_CHEMIN_RACINE.'api/pear/HTML/QuickForm/html.php'; |
$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>'); |
$formtemplate->addElement('hidden','typeannonce', $_REQUEST['typeannonce']); |
if (isset($_REQUEST['id_fiche'])) $formtemplate->addElement('hidden','id_fiche', $_REQUEST['id_fiche']); |
$formtemplate->addElement($conditions); |
$formtemplate->addElement('checkbox', 'accept_condition',BAZ_ACCEPTE_CONDITIONS) ; |
$formtemplate->addRule('accept_condition', BAZ_ACCEPTE_CONDITIONS_REQUIS, 'required', '', 'client') ; |
$formtemplate->addGroup($bouton, null, null, ' '); |
} |
//affichage du formulaire si conditions acceptées |
else { |
//Parcours du fichier de templates, pour mettre les champs specifiques |
$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['typeannonce'].'.tpl'); |
for ($i=0; $i<count($tableau); $i++) { |
$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'], |
$tableau[$i]['limite2'], $tableau[$i]['defaut'], $tableau[$i]['table_source'], $tableau[$i]['obligatoire']) ; |
} |
$formtemplate->addGroup($bouton, null, null, ' '); |
|
if ($mode=='modification') { |
//initialisation de la variable globale id_fiche |
$GLOBALS['_BAZAR_']['id_fiche'] = $_REQUEST['id_fiche']; |
|
//Ajout des valeurs par defaut |
$formtemplate->setDefaults(baz_valeurs_fiche($GLOBALS['_BAZAR_']['id_fiche'])) ; |
|
//preparation des formulaires supplementaires |
//AJOUTER UNE IMAGE |
$lien_formulaire=$GLOBALS['_BAZAR_']['url']; |
$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER); |
$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']); |
$lien_formulaire->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['typeannonce']); |
$lien_formulaire->addQueryString('image', '1'); |
|
$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche']; |
$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ; |
if (DB::isError ($resultat)) { |
die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ; |
} |
|
if ($resultat->numRows()>0) { |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$image=$ligne->bf_url_image; |
} |
if ($image!=NULL) { |
$html='<tr><td colspan="2" width="600px"><hr /><img src="client/bazar/images/'.$image.'" border=0 alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" />'."\n"; |
$lien_supprimer=$GLOBALS['_BAZAR_']['url']; |
$lien_supprimer->addQueryString('action', $_GET['action']); |
$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]); |
$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']); |
$lien_supprimer->addQueryString('image', '2'); |
$html.= '<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a></td></tr>'."\n"; |
$formimage = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&/', '&', $lien_formulaire->getURL()) ) ; |
$formimage->addElement('html', $html) ; |
} |
else { |
$formimage = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&/', '&', $lien_formulaire->getURL()) ) ; |
$formimage->addElement('html', '<tr><td colspan="2" width="600px"><hr /><h3>'.BAZ_AJOUTER_IMAGE.'</h3></td></tr>') ; |
$formimage->addElement('file', 'image', BAZ_IMAGE) ; |
$formimage->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, '', '', 'client') ; //a completer pour checker l'image |
$formimage->setMaxFileSize(BAZ_TAILLE_MAX_FICHIER); |
$formimage->addGroup($bouton, null, null, ''); |
} |
} |
else { |
$formimage = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&/', '&', $lien_formulaire->getURL()) ) ; |
$formimage->addElement('html', '<tr><td colspan="2" width="600px"><hr /><h3>'.BAZ_AJOUTER_IMAGE.'</h3></td></tr>') ; |
$formimage->addElement('file', 'image', BAZ_IMAGE) ; |
$formimage->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, '', '', 'client') ; //a completer pour checker l'image |
$formimage->setMaxFileSize(BAZ_TAILLE_MAX_FICHIER); |
$formimage->addGroup($bouton, null, null, ''); |
} |
|
//AJOUTER DES URL |
//recherche des URLs déjà entrées dans la base |
$requete = 'SELECT bu_id_url, bu_url, bu_descriptif_url FROM bazar_url WHERE bu_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"]; |
$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ; |
if (DB::isError ($resultat)) { |
die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ; |
} |
if ($resultat->numRows()>0) { |
$html= '<tr><td colspan="2" width="600px"><hr /><h3>'.BAZ_LISTE_URL.'</h3>'."\n"; |
$tableAttr = array("id" => "table_bazar") ; |
$table = new HTML_Table($tableAttr) ; |
$entete = array (BAZ_LIEN , BAZ_SUPPRIMER) ; |
$table->addRow($entete) ; |
$table->setRowType(0, "th") ; |
|
$lien_supprimer=$GLOBALS['_BAZAR_']['url']; |
$lien_supprimer->addQueryString('action', $_GET['action']); |
$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]); |
$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']); |
$lien_supprimer->addQueryString('url', '2'); |
|
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$lien_supprimer->addQueryString('id_url', $ligne->bu_id_url); |
$table->addRow (array( |
'<a href="'.$ligne->bu_url.'" target="_blank"> '.$ligne->bu_descriptif_url.'</a>', // col 1 : le lien |
'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer |
$lien_supprimer->removeQueryString('id_url'); |
} |
$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire")); |
$table->updateColAttributes(1, array("align" => "center")); |
$html.= $table->toHTML().'</td></tr>' ; |
} |
else { |
$html= '<tr><td colspan="2" width="600px"><hr /><h3>'.BAZ_PAS_URL.'</h3></td></tr>'."\n"; |
} |
$html.='<tr><td colspan="2" width="600px"><h4>'.BAZ_AJOUTER_URL.'</h4>'."\n"; |
$lien_formulaire=$GLOBALS['_BAZAR_']['url']; |
$lien_formulaire->addQueryString('action', $_GET['action']); |
$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]); |
$lien_formulaire->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['typeannonce']); |
$lien_formulaire->addQueryString('url', '1'); |
$formurl = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&/', '&', $lien_formulaire->getURL())) ; |
$formurl->addElement('html', $html) ; |
$formurl->addElement('text', 'url_lien', BAZ_URL_LIEN) ; |
$formurl->addElement('text', 'url_texte', BAZ_URL_TEXTE) ; |
$formurl->addRule('url_lien', BAZ_URL_LIEN_REQUIS, 'required', '', 'client') ; |
$formurl->addRule('url_texte', BAZ_URL_TEXTE_REQUIS, 'required', '', 'client') ; |
|
//AJOUTER DES FICHIERS JOINTS |
$requete = 'SELECT * FROM bazar_fichier_joint WHERE bfj_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"]; |
$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ; |
if (DB::isError ($resultat)) { |
die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ; |
} |
|
if ($resultat->numRows()>0) { |
$html= '<tr><td colspan="2" width="600px"><hr /><h3>'.BAZ_LISTE_FICHIERS_JOINTS.'</h3>'."\n"; |
$tableAttr = array("id" => "table_bazar") ; |
$table = new HTML_Table($tableAttr) ; |
$entete = array (BAZ_FICHIER , BAZ_SUPPRIMER) ; |
$table->addRow($entete) ; |
$table->setRowType(0, "th") ; |
|
$lien_supprimer=$GLOBALS['_BAZAR_']['url']; |
$lien_supprimer->addQueryString('action', $_GET['action']); |
$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]); |
$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']); |
$lien_supprimer->addQueryString('fichier', '2'); |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$lien_supprimer->addQueryString('id_fichier', $ligne->bfj_id_fichier); |
$table->addRow (array( |
'<a href="/client/bazar/upload/'.$ligne->bfj_fichier.'"> '.$ligne->bfj_description.'</a>', // col 1 : le fichier et sa description |
'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer |
$lien_supprimer->removeQueryString('id_fichier'); |
} |
$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire")); |
$table->updateColAttributes(1, array("align" => "center")); |
$html.= $table->toHTML().'</td></tr>' ; |
} |
else { |
$html= '<tr><td colspan="2"><hr /><h3>'.BAZ_PAS_DE_FICHIERS_JOINTS.'</h3></td></tr>'."\n"; |
} |
$html.='<tr><td colspan="2" width="600px"><h4>'.BAZ_AJOUTER_FICHIER_JOINT.'</h4>'.'</td></tr>'."\n"; |
$lien_formulaire=$GLOBALS['_BAZAR_']['url']; |
$lien_formulaire->addQueryString('action', $_GET['action']); |
$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']); |
$lien_formulaire->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['typeannonce']); |
$lien_formulaire->addQueryString('fichier', '1'); |
|
$formfichiers = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&/', '&', $lien_formulaire->getURL())) ; |
$formfichiers->addElement('html', $html) ; |
$formfichiers->addElement('file', 'fichier_joint', BAZ_FICHIER_JOINT) ; |
$formfichiers->addElement('text', 'fichier_description', BAZ_FICHIER_DESCRIPTION) ; |
$formfichiers->addRule('fichier_joint', BAZ_FICHIER_JOINT_REQUIS, 'required', '', 'client') ; |
$formfichiers->addRule('fichier_description', BAZ_FICHIER_LABEL_REQUIS, 'required', '', 'client') ; |
$formfichiers->setMaxFileSize(BAZ_TAILLE_MAX_FICHIER); |
|
//Ajout de 'http://' comme valeur par default d'une url |
$formurl->setDefaults(array('url_lien'=>'http://')); |
//Bouton de validation du formulaire |
$formurl->addGroup($bouton, null, null, ''); |
$formfichiers->addGroup($bouton, null, null, ''); |
} |
} |
//Affichage a l'ecran |
$res .= $formtemplate->toHTML()."\n"; |
if (isset($formimage)) $res .= $formimage->toHTML()."\n".$formurl->toHTML()."\n".$formfichiers->toHTML()."\n"; |
|
return $res; |
} |
|
|
/** baz_formulaire() - Renvoie le menu pour les saisies et modification des annonces |
* |
* @param string choix du formulaire à afficher (soit formulaire personnalisé de l'annonce, soit choix du type d'annonce) |
* @param string choix du formulaire a afficher (soit formulaire personnalise de l'annonce, soit choix du type d'annonce) |
* |
* @return string HTML |
*/ |
484,9 → 261,19 |
//Definir le lien du formulaire en fonction du mode de formulaire choisi |
if ($mode == 'inscription') $lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V); |
if ($mode == BAZ_DEPOSER_ANNONCE) $lien_formulaire->addQueryString('action', BAZ_DEPOSER_ANNONCE); |
if ($mode == BAZ_ACTION_NOUVEAU) $lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V); |
if ($mode == BAZ_ACTION_NOUVEAU) { |
if (!isset($_POST['accept_condition'])) { |
$lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU); |
} else { |
$lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V); |
} |
} |
if ($mode == BAZ_ACTION_MODIFIER) { |
$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER_V); |
if (!isset($_POST['accept_condition'])) { |
$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER); |
} else { |
$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER_V); |
} |
$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']); |
} |
if ($mode == BAZ_ACTION_MODIFIER_V) { |
497,10 → 284,23 |
else $lien_formulaire->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['typeannonce']); |
if ($mode == BAZ_GERER_DROITS) $lien_formulaire->addQueryString('action', BAZ_GERER_DROITS); |
|
//contruction du squelette du formulaire |
$formtemplate = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&/', '&', $lien_formulaire->getURL()) ); |
$squelette =& $formtemplate->defaultRenderer(); |
$squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'<ul class="formulaire">'."\n".'{content}'."\n".'</ul>'."\n".'</form>'."\n"); |
$squelette->setElementTemplate( '<li>'."\n".'<span class="label200">'."\n".'{label} :</span>'."\n".'<span class="champs"> '."\n".'{element}'."\n". |
'<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n". |
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n". |
'</span>'."\n".'</li>'."\n"); |
$squelette->setElementTemplate( '<li><span class="liste_a_cocher"><strong>{label} {element}</strong></span>'. |
'<!-- BEGIN required --><span class="symbole_obligatoire"> *</span><!-- END required -->'."\n".'</li>'."\n", 'accept_condition'); |
$squelette->setElementTemplate( '<li>{element}</li>'."\n", 'typeannonce'); |
$squelette->setElementTemplate( '<li>{element}</li>'."\n", 'id_fiche'); |
$squelette->setElementTemplate( '<li><span class="bouton" style="margin: 0 auto;">{label}{element}</span></li>'."\n", 'valider'); |
$squelette->setRequiredNoteTemplate("\n".'<li><span class="symbole_obligatoire">*</span> {requiredNote}</li>'."\n"); |
//Traduction de champs requis |
$formtemplate->setRequiredNote(BAZ_CHAMPS_REQUIS) ; |
$formtemplate->setJsWarnings(BAZ_ERREUR_SAISIE,BAZ_VEUILLEZ_CORRIGER); |
$formtemplate->setJsWarnings(BAZ_ERREUR_SAISIE,BAZ_VEUILLEZ_CORRIGER); |
|
//------------------------------------------------------------------------------------------------ |
//AFFICHAGE DU FORMULAIRE GENERAL DE CHOIX DU TYPE D'ANNONCE |
525,18 → 325,15 |
|
} |
|
$squelette =& $formtemplate->defaultRenderer(); |
$squelette->setFormTemplate("\n".'<div id="choix"><form {attributes}>'."\n".'{content}'."\n".'</form></div>'."\n"); |
$squelette->setElementTemplate( '<div class="listechoix">'."\n".'{element}'."\n".'</div>'."\n"); |
|
//Mettre les annonces en choix par défaut |
//Mettre les annonces en choix par defaut |
$formtemplate->setdefaults(array('typeannonce'=>'Annonces')); |
|
//Bouton de validation du formulaire |
$bouton[] = &HTML_QuickForm::createElement('submit', 'valider', BAZ_VALIDER); |
$formtemplate->addGroup($bouton, null, null, ' '); |
$formtemplate->addElement('submit', 'valider', BAZ_VALIDER); |
|
//Affichage à l'écran |
//Affichage a l'ecran |
$res.= $formtemplate->toHTML() ; |
} |
|
587,7 → 384,7 |
else $personne=0; |
|
|
//Cas ou les droits ont été changés |
//Cas ou les droits ont etes changes |
if (isset($_GET['pers'])) { |
$personne=$_GET['pers']; |
//CAS DES DROITS POUR UN TYPE D'ANNONCE: On efface tous les droits de la personne pour ce type d'annonce |
738,6 → 535,224 |
} |
|
|
/** baz_afficher_formulaire_annonce() - Genere le formulaire de saisie d'une annonce |
* |
* @param string type de formulaire: insertion ou modification |
* @param mixed objet quickform du formulaire |
* |
* @return string code HTML avec formulaire |
*/ |
function baz_afficher_formulaire_annonce($mode='insertion',$formtemplate) { |
//verification de la modification des fichiers, des url ou des images |
if (isset($_GET['url'])) { |
if ($_GET['url']==1) baz_insertion_url($_POST['url_lien'],$_POST['url_texte'],$GLOBALS['_BAZAR_']['id_fiche']); |
if ($_GET['url']==2) baz_suppression_url($_GET['id_url']); |
} |
if (isset($_GET['fichier'])) { |
if ($_GET['fichier']==1) baz_insertion_fichier($_POST['fichier_description'], $GLOBALS['_BAZAR_']["id_fiche"]); |
if ($_GET['fichier']==2) baz_suppression_fichier($_GET['id_fichier']); |
} |
if (isset($_GET['image'])) { |
if ($_GET['image']==1) baz_insertion_image($GLOBALS['_BAZAR_']['id_fiche']); |
if ($_GET['image']==2) baz_suppression_image($GLOBALS['_BAZAR_']['id_fiche']); |
} |
|
//titre de la rubrique |
$res= '<h2>'.BAZ_TITRE_SAISIE_ANNONCE.$GLOBALS['_BAZAR_']['typeannonce'].'</h2>'; |
|
//ajout d'une page sur les conditions pour l'annonce si elles existent |
$requete = 'SELECT bn_condition FROM bazar_nature WHERE bn_label_nature="'.$GLOBALS['_BAZAR_']['typeannonce'].'"'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete); |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC); |
if (($ligne['bn_condition']!='')AND(!isset($_POST['accept_condition']))AND(!isset($_GET['url'])OR(!isset($_GET['fichier']))OR(!isset($_GET['image'])))) { |
require_once PAP_CHEMIN_RACINE.'api/pear/HTML/QuickForm/html.php'; |
$conditions= new HTML_QuickForm_html('<li><p style="padding:5px; margin:5px; width: 90%; background: #C1CBA7;">'.$ligne['bn_condition'].'</li>'."\n"); |
$formtemplate->addElement($conditions); |
$formtemplate->addElement('hidden','typeannonce', $_REQUEST['typeannonce']); |
if (isset($_REQUEST['id_fiche'])) $formtemplate->addElement('hidden','id_fiche', $_REQUEST['id_fiche']); |
$formtemplate->addElement('checkbox', 'accept_condition',BAZ_ACCEPTE_CONDITIONS) ; |
$formtemplate->addRule('accept_condition', BAZ_ACCEPTE_CONDITIONS_REQUIS, 'required', '', 'client') ; |
$formtemplate->addElement('submit', 'valider', BAZ_VALIDER); |
} |
//affichage du formulaire si conditions acceptées |
else { |
//Parcours du fichier de templates, pour mettre les champs specifiques |
$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['typeannonce'].'.tpl'); |
for ($i=0; $i<count($tableau); $i++) { |
$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'], |
$tableau[$i]['limite2'], $tableau[$i]['defaut'], $tableau[$i]['table_source'], $tableau[$i]['obligatoire']) ; |
} |
$formtemplate->addElement('submit', 'valider', BAZ_VALIDER); |
|
if ($mode=='modification') { |
//initialisation de la variable globale id_fiche |
$GLOBALS['_BAZAR_']['id_fiche'] = $_REQUEST['id_fiche']; |
|
//Ajout des valeurs par defaut |
$formtemplate->setDefaults(baz_valeurs_fiche($GLOBALS['_BAZAR_']['id_fiche'])) ; |
|
//preparation des formulaires supplementaires |
//AJOUTER UNE IMAGE |
$lien_formulaire=$GLOBALS['_BAZAR_']['url']; |
$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER); |
$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']); |
$lien_formulaire->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['typeannonce']); |
$lien_formulaire->addQueryString('image', '1'); |
|
$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche']; |
$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ; |
if (DB::isError ($resultat)) { |
die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ; |
} |
|
if ($resultat->numRows()>0) { |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$image=$ligne->bf_url_image; |
} |
if ($image!=NULL) { |
$html='<tr><td colspan="2" width="600px"><hr /><img src="client/bazar/images/'.$image.'" border=0 alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" />'."\n"; |
$lien_supprimer=$GLOBALS['_BAZAR_']['url']; |
$lien_supprimer->addQueryString('action', $_GET['action']); |
$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]); |
$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']); |
$lien_supprimer->addQueryString('image', '2'); |
$html.= '<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a></td></tr>'."\n"; |
$formimage = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&/', '&', $lien_formulaire->getURL()) ) ; |
$formimage->addElement('html', $html) ; |
} |
else { |
$formimage = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&/', '&', $lien_formulaire->getURL()) ) ; |
$formimage->addElement('html', '<tr><td colspan="2" width="600px"><hr /><h3>'.BAZ_AJOUTER_IMAGE.'</h3></td></tr>') ; |
$formimage->addElement('file', 'image', BAZ_IMAGE) ; |
$formimage->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, '', '', 'client') ; //a completer pour checker l'image |
$formimage->setMaxFileSize(BAZ_TAILLE_MAX_FICHIER); |
$formimage->addElement('submit', 'valider', BAZ_VALIDER); |
} |
} |
else { |
$formimage = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&/', '&', $lien_formulaire->getURL()) ) ; |
$formimage->addElement('html', '<tr><td colspan="2" width="600px"><hr /><h3>'.BAZ_AJOUTER_IMAGE.'</h3></td></tr>') ; |
$formimage->addElement('file', 'image', BAZ_IMAGE) ; |
$formimage->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, '', '', 'client') ; //a completer pour checker l'image |
$formimage->setMaxFileSize(BAZ_TAILLE_MAX_FICHIER); |
$formimage->addElement('submit', 'valider', BAZ_VALIDER); |
} |
|
//AJOUTER DES URL |
//recherche des URLs déjà entrées dans la base |
$requete = 'SELECT bu_id_url, bu_url, bu_descriptif_url FROM bazar_url WHERE bu_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"]; |
$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ; |
if (DB::isError ($resultat)) { |
die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ; |
} |
if ($resultat->numRows()>0) { |
$html= '<tr><td colspan="2" width="600px"><hr /><h3>'.BAZ_LISTE_URL.'</h3>'."\n"; |
$tableAttr = array("id" => "table_bazar") ; |
$table = new HTML_Table($tableAttr) ; |
$entete = array (BAZ_LIEN , BAZ_SUPPRIMER) ; |
$table->addRow($entete) ; |
$table->setRowType(0, "th") ; |
|
$lien_supprimer=$GLOBALS['_BAZAR_']['url']; |
$lien_supprimer->addQueryString('action', $_GET['action']); |
$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]); |
$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']); |
$lien_supprimer->addQueryString('url', '2'); |
|
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$lien_supprimer->addQueryString('id_url', $ligne->bu_id_url); |
$table->addRow (array( |
'<a href="'.$ligne->bu_url.'" target="_blank"> '.$ligne->bu_descriptif_url.'</a>', // col 1 : le lien |
'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer |
$lien_supprimer->removeQueryString('id_url'); |
} |
$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire")); |
$table->updateColAttributes(1, array("align" => "center")); |
$html.= $table->toHTML().'</td></tr>' ; |
} |
else { |
$html= '<tr><td colspan="2" width="600px"><hr /><h3>'.BAZ_PAS_URL.'</h3></td></tr>'."\n"; |
} |
$html.='<tr><td colspan="2" width="600px"><h4>'.BAZ_AJOUTER_URL.'</h4>'."\n"; |
$lien_formulaire=$GLOBALS['_BAZAR_']['url']; |
$lien_formulaire->addQueryString('action', $_GET['action']); |
$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]); |
$lien_formulaire->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['typeannonce']); |
$lien_formulaire->addQueryString('url', '1'); |
$formurl = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&/', '&', $lien_formulaire->getURL())) ; |
$formurl->addElement('html', $html) ; |
$formurl->addElement('text', 'url_lien', BAZ_URL_LIEN) ; |
$formurl->addElement('text', 'url_texte', BAZ_URL_TEXTE) ; |
$formurl->addRule('url_lien', BAZ_URL_LIEN_REQUIS, 'required', '', 'client') ; |
$formurl->addRule('url_texte', BAZ_URL_TEXTE_REQUIS, 'required', '', 'client') ; |
|
//AJOUTER DES FICHIERS JOINTS |
$requete = 'SELECT * FROM bazar_fichier_joint WHERE bfj_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"]; |
$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ; |
if (DB::isError ($resultat)) { |
die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ; |
} |
|
if ($resultat->numRows()>0) { |
$html= '<tr><td colspan="2" width="600px"><hr /><h3>'.BAZ_LISTE_FICHIERS_JOINTS.'</h3>'."\n"; |
$tableAttr = array("id" => "table_bazar") ; |
$table = new HTML_Table($tableAttr) ; |
$entete = array (BAZ_FICHIER , BAZ_SUPPRIMER) ; |
$table->addRow($entete) ; |
$table->setRowType(0, "th") ; |
|
$lien_supprimer=$GLOBALS['_BAZAR_']['url']; |
$lien_supprimer->addQueryString('action', $_GET['action']); |
$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]); |
$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']); |
$lien_supprimer->addQueryString('fichier', '2'); |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$lien_supprimer->addQueryString('id_fichier', $ligne->bfj_id_fichier); |
$table->addRow (array( |
'<a href="/client/bazar/upload/'.$ligne->bfj_fichier.'"> '.$ligne->bfj_description.'</a>', // col 1 : le fichier et sa description |
'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer |
$lien_supprimer->removeQueryString('id_fichier'); |
} |
$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire")); |
$table->updateColAttributes(1, array("align" => "center")); |
$html.= $table->toHTML().'</td></tr>' ; |
} |
else { |
$html= '<tr><td colspan="2"><hr /><h3>'.BAZ_PAS_DE_FICHIERS_JOINTS.'</h3></td></tr>'."\n"; |
} |
$html.='<tr><td colspan="2" width="600px"><h4>'.BAZ_AJOUTER_FICHIER_JOINT.'</h4>'.'</td></tr>'."\n"; |
$lien_formulaire=$GLOBALS['_BAZAR_']['url']; |
$lien_formulaire->addQueryString('action', $_GET['action']); |
$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']); |
$lien_formulaire->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['typeannonce']); |
$lien_formulaire->addQueryString('fichier', '1'); |
|
$formfichiers = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&/', '&', $lien_formulaire->getURL())) ; |
$formfichiers->addElement('html', $html) ; |
$formfichiers->addElement('file', 'fichier_joint', BAZ_FICHIER_JOINT) ; |
$formfichiers->addElement('text', 'fichier_description', BAZ_FICHIER_DESCRIPTION) ; |
$formfichiers->addRule('fichier_joint', BAZ_FICHIER_JOINT_REQUIS, 'required', '', 'client') ; |
$formfichiers->addRule('fichier_description', BAZ_FICHIER_LABEL_REQUIS, 'required', '', 'client') ; |
$formfichiers->setMaxFileSize(BAZ_TAILLE_MAX_FICHIER); |
|
//Ajout de 'http://' comme valeur par default d'une url |
$formurl->setDefaults(array('url_lien'=>'http://')); |
//Bouton de validation du formulaire |
$formurl->addElement('submit', 'valider', BAZ_VALIDER); |
$formfichiers->addElement('submit', 'valider', BAZ_VALIDER); |
} |
} |
//Affichage a l'ecran |
$res .= $formtemplate->toHTML()."\n"; |
if (isset($formimage)) $res .= $formimage->toHTML()."\n".$formurl->toHTML()."\n".$formfichiers->toHTML()."\n"; |
|
return $res; |
} |
|
|
/** requete_bazar_fiche() - preparer la requete d'insertion ou de MAJ de la table bazar_fiche à partir du fichier de template |
* |
* @global mixed L'objet contenant les valeurs issues de la saisie du formulaire |
757,9 → 772,15 |
$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['typeannonce'].'.tpl'); |
for ($i=0; $i<count($tableau); $i++) { |
if ($tableau[$i]['type']!='labelhtml') { |
//cas des dates |
if (($tableau[$i]['type']=='listedatedeb')or($tableau[$i]['type']=='listedatefin')) { |
$val=$valeur[$tableau[$i]['nom_bdd']]['Y'].'-'.$valeur[$tableau[$i]['nom_bdd']]['m'].'-'.$valeur[$tableau[$i]['nom_bdd']]['d']; |
} |
//cas des checkbox |
elseif ($tableau[$i]['type']=='checkbox') { |
$val=implode('**', array_keys($valeur[$tableau[$i]['nom_bdd']])); |
} |
//cas des champs texte et textarea |
else { |
$val=addslashes($valeur[$tableau[$i]['nom_bdd']]); |
} |
782,7 → 803,7 |
function baz_insertion($valeur) { |
|
// Recuperation de bn_appropriation |
$requete_app = 'select bn_appropriation from bazar_nature where bn_id_nature='.$GLOBALS['_BAZAR_']['id_typeannonce'] ; |
$requete_app = 'SELECT bn_appropriation FROM bazar_nature WHERE bn_id_nature='.$GLOBALS['_BAZAR_']['id_typeannonce'] ; |
$resultat_app = $GLOBALS['_BAZAR_']['db']->query($requete_app) ; |
$ligne = $resultat_app ->fetchRow(DB_FETCHMODE_ASSOC) ; |
|
1039,12 → 1060,13 |
$requete = 'UPDATE bazar_fiche SET bf_statut_fiche=1 WHERE bf_id_fiche="'.$GLOBALS['_BAZAR_']['id_fiche'].'"' ; |
} |
|
// ====================Mise à jour de la table bazar_fiche==================== |
// ====================Mise a jour de la table bazar_fiche==================== |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
unset ($resultat) ; |
//TODO envoie mail annonceur |
return; |
} |
|
1292,13 → 1314,6 |
} |
|
|
function baz_unhtmlentities($string) { |
$trans_tbl = get_html_translation_table(HTML_ENTITIES); |
$trans_tbl = array_flip($trans_tbl); |
return strtr($string, $trans_tbl); |
} |
|
|
/** function baz_nextId () Renvoie le prochain identifiant numérique libre d'une table |
* |
* @param string Nom de la table |
1325,6 → 1340,9 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.18 2005/11/18 16:03:23 florian |
* correction bug html entites |
* |
* Revision 1.17 2005/11/17 18:48:02 florian |
* corrections bugs + amélioration de l'application d'inscription |
* |