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.28 2006-01-05 16:28:24 alexandre_tb Exp $ |
// CVS : $Id: bazar.fonct.php,v 1.29 2006-01-13 14:12:51 florian Exp $ |
/** |
* |
* Fonctions du module bazar |
31,7 → 31,7 |
*@author Florian Schmitt <florian@ecole-et-nature.org> |
//Autres auteurs : |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.28 $ $Date: 2006-01-05 16:28:24 $ |
*@version $Revision: 1.29 $ $Date: 2006-01-13 14:12:51 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
160,7 → 160,7 |
// requete pour voir si l'utilisateur a des fiches a son nom, classees par date de MAJ et nature d'annonce |
$requete = 'SELECT * FROM bazar_fiche, bazar_nature WHERE bf_ce_utilisateur='. $GLOBALS['id_user']. |
' AND bn_id_nature=bf_ce_nature AND bn_ce_id_menu='.$GLOBALS['_BAZAR_']['categorie_nature'].' ORDER BY bf_date_maj_fiche DESC,bf_ce_nature ASC'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;echo $requete ; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ; |
} |
228,7 → 228,181 |
return $res; |
} |
|
/** baz_gestion_droits() interface de gestion des droits |
* |
* return string le code HTML |
*/ |
function baz_gestion_droits() { |
$lien_formulaire=$GLOBALS['_BAZAR_']['url']; |
$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".'<table style="border:0;">'."\n".'{content}'."\n".'</table>'."\n".'</form>'."\n"); |
$squelette->setElementTemplate( '<tr>'."\n".'<td style="font-size:12px;width:150px;text-align:right;">'."\n".'{label} :</td>'."\n".'<td style="text-align:left;padding:5px;"> '."\n".'{element}'."\n". |
'<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n". |
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n". |
'</td>'."\n".'</tr>'."\n"); |
$squelette->setElementTemplate( '<tr>'."\n".'<td colspan="2" class="liste_a_cocher"><strong>{label} {element}</strong>'."\n". |
'<!-- BEGIN required --><span class="symbole_obligatoire"> *</span><!-- END required -->'."\n".'</td>'."\n".'</tr>'."\n", 'accept_condition'); |
$squelette->setElementTemplate( '<tr><td colspan="2" class="bouton">{label}{element}</td></tr>'."\n", 'valider'); |
$squelette->setRequiredNoteTemplate("\n".'<tr>'."\n".'<td colspan="2" class="symbole_obligatoire">* {requiredNote}</td></tr>'."\n"); |
//Traduction de champs requis |
$formtemplate->setRequiredNote(BAZ_CHAMPS_REQUIS) ; |
$formtemplate->setJsWarnings(BAZ_ERREUR_SAISIE,BAZ_VEUILLEZ_CORRIGER); |
//Initialisation de la variable personne |
if ( isset($_POST['personnes']) ) { |
$personne=$_POST['personnes']; |
} |
else $personne=0; |
|
//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 |
if (isset($_GET['idtypeannonce'])) { |
$requete = 'DELETE FROM bazar_droits WHERE bd_id_utilisateur='.$_GET['pers']. |
' AND bd_id_nature_offre='.$_GET['idtypeannonce']; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
} |
//CAS DU SUPER ADMIN: On efface tous les droits de la personne en general |
else { |
$requete = 'DELETE FROM bazar_droits WHERE bd_id_utilisateur='.$_GET['pers']; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
} |
if ($_GET['droits']=='superadmin') { |
$requete = 'INSERT INTO bazar_droits VALUES ('.$_GET['pers'].',0,0)'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
} |
elseif ($_GET['droits']=='redacteur') { |
$requete = 'INSERT INTO bazar_droits VALUES ('.$_GET['pers'].','.$_GET['idtypeannonce'].',1)'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
} |
elseif ($_GET['droits']=='admin') { |
$requete = 'INSERT INTO bazar_droits VALUES ('.$_GET['pers'].','.$_GET['idtypeannonce'].',2)'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
} |
} |
|
//requete pour obtenir l'id, le nom et prenom des personnes inscrites a l'annuaire sauf soi meme |
$requete = 'SELECT '.BAZ_CHAMPS_ID.', '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.' FROM '.BAZ_ANNUAIRE. |
' WHERE '.BAZ_CHAMPS_ID."!=".$GLOBALS['id_user'].' ORDER BY '.BAZ_CHAMPS_NOM.' ASC'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
$res='<h2>'.BAZ_GESTION_DES_DROITS.'</h2><br />'."\n"; |
$res.=BAZ_DESCRIPTION_GESTION_DES_DROITS.'<br /><br />'."\n"; |
$personnes_select[0]=BAZ_SELECTION; |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
$personnes_select[$ligne[BAZ_CHAMPS_ID]] = $ligne[BAZ_CHAMPS_NOM]." ".$ligne[BAZ_CHAMPS_PRENOM] ; |
} |
$java=array ('style'=>'width:250px;','onchange'=>'this.form.submit();'); |
$formtemplate->addElement ('select', 'personnes', BAZ_LABEL_CHOIX_PERSONNE, $personnes_select, $java) ; |
$defauts=array ('personnes'=>$personne); |
$formtemplate->setDefaults($defauts); |
$res.= $formtemplate->toHTML().'<br />'."\n" ; |
|
if ($personne!=0) { |
//cas du super utilisateur |
if (niveau_droit(0,$personne)=='superadministrateur') { |
$res.= '<br />'.BAZ_EST_SUPERADMINISTRATEUR.'<br /><br />'."\n"; |
$lien_enlever_superadmin=$GLOBALS['_BAZAR_']['url']; |
$lien_enlever_superadmin->addQueryString('action', BAZ_GERER_DROITS); |
$lien_enlever_superadmin->addQueryString('pers', $personne); |
$lien_enlever_superadmin->addQueryString('droits', 'aucun'); |
$res.= '<a href='.$lien_enlever_superadmin->getURL().'>'.BAZ_CHANGER_SUPERADMINISTRATEUR.'</a><br />'."\n"; |
} |
else { |
$lien_passer_superadmin=$GLOBALS['_BAZAR_']['url']; |
$lien_passer_superadmin->addQueryString('action', BAZ_GERER_DROITS); |
$lien_passer_superadmin->addQueryString('pers', $personne); |
$lien_passer_superadmin->addQueryString('droits', 'superadmin'); |
$res.= '<a href='.$lien_passer_superadmin->getURL().'>'.BAZ_PASSER_SUPERADMINISTRATEUR.'</a><br />'."\n"; |
|
//on cherche les differentes rubriques d'annonces |
$requete = 'SELECT bn_id_nature, bn_label_nature, bn_image_titre FROM bazar_nature WHERE bn_ce_id_menu='.$GLOBALS['_GEN_commun']['info_menu']->gm_id_menu .' or bn_ce_id_menu=0'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
$res.='<br /><b>'.BAZ_DROITS_PAR_TYPE.'</b><br /><br />'; |
|
$table = new HTML_Table(array ('width' => '100%', 'class' => 'table_bazar')) ; |
$table->addRow(array ('<strong>'.BAZ_TYPE_ANNONCES.'</strong>', |
'<strong>'.BAZ_DROITS_ACTUELS.'</strong>', |
'<strong>'.BAZ_PASSER_EN.'</strong>', |
'<strong>'.BAZ_OU_PASSER_EN.'</strong>')) ; |
$table->setRowType (0, 'th') ; |
|
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
$droits=niveau_droit($ligne['bn_id_nature'],$personne); |
|
$lien_aucun_droit=$GLOBALS['_BAZAR_']['url']; |
$lien_aucun_droit->addQueryString('action', BAZ_GERER_DROITS); |
$lien_aucun_droit->addQueryString('pers', $personne); |
$lien_aucun_droit->addQueryString('droits', 'aucun'); |
$lien_aucun_droit->addQueryString('idtypeannonce', $ligne["bn_id_nature"]); |
|
$lien_passer_redacteur=$GLOBALS['_BAZAR_']['url']; |
$lien_passer_redacteur->addQueryString('action', BAZ_GERER_DROITS); |
$lien_passer_redacteur->addQueryString('pers', $personne); |
$lien_passer_redacteur->addQueryString('droits', 'redacteur'); |
$lien_passer_redacteur->addQueryString('idtypeannonce', $ligne["bn_id_nature"]); |
|
$lien_passer_admin=$GLOBALS['_BAZAR_']['url']; |
$lien_passer_admin->addQueryString('action', BAZ_GERER_DROITS); |
$lien_passer_admin->addQueryString('pers', $personne); |
$lien_passer_admin->addQueryString('droits', 'admin'); |
$lien_passer_admin->addQueryString('idtypeannonce', $ligne["bn_id_nature"]); |
if (isset($ligne['bn_image_titre'])) {$titre=' <img src="client/bazar/images/'.$ligne['bn_image_titre'].'" alt="'.constant($ligne['bn_label_nature']).'" />'."\n";} |
else {$titre='<strong> '.constant($ligne['bn_label_nature']).'</strong>'."\n";} |
if ($droits=='aucun') { |
$table->addRow(array($titre, |
BAZ_AUCUN_DROIT, |
'<a href='.$lien_passer_redacteur->getURL().'>'.BAZ_DROIT_REDACTEUR.'</a>', |
'<a href='.$lien_passer_admin->getURL().'>'.BAZ_DROIT_ADMIN.'</a>')); |
} |
elseif ($droits=='redacteur') { |
$table->addRow(array($titre, |
BAZ_DROIT_REDACTEUR, |
'<a href='.$lien_aucun_droit->getURL().'>'.BAZ_AUCUN_DROIT.'</a>', |
'<a href='.$lien_passer_admin->getURL().'>'.BAZ_DROIT_ADMIN.'</a>')); |
} |
else { |
$table->addRow(array($titre, |
BAZ_DROIT_ADMIN, |
'<a href='.$lien_aucun_droit->getURL().'>'.BAZ_AUCUN_DROIT.'</a>', |
'<a href='.$lien_passer_redacteur->getURL().'>'.BAZ_DROIT_REDACTEUR.'</a>')); |
} |
} |
$table->altRowAttributes(1, array('class' => 'ligne_impaire'), array('class' => 'ligne_paire')); |
$table->updateColAttributes(0, array('align' => 'left')); |
$table->updateColAttributes(1, array('align' => 'left')); |
$table->updateColAttributes(2, array('align' => 'left')); |
$table->updateColAttributes(3, array('align' => 'left')); |
$res.=$table->toHTML() ; |
} |
} |
return $res; |
} |
|
/** baz_formulaire() - Renvoie le menu pour les saisies et modification des annonces |
* |
* @param string choix du formulaire a afficher (soit formulaire personnalise de |
236,36 → 410,14 |
* |
* @return string HTML |
*/ |
function baz_formulaire($mode = 'inscription') { |
function baz_formulaire($mode) { |
if ($GLOBALS['AUTH']->getAuth()) { |
//Recuperer les eventuelles variables passees en GET ou en POST |
if (isset($_REQUEST['id_fiche'])) $GLOBALS['_BAZAR_']['id_fiche']=$_REQUEST['id_fiche']; |
if (isset($_REQUEST['typeannonce'])) { |
$GLOBALS['_BAZAR_']['typeannonce']=$_REQUEST['typeannonce']; |
// Pour éviter qu'un formulaire soit revalidé si l'utilisateur |
// Clique sur son bouton précédent |
if ($mode == BAZ_ACTION_NOUVEAU) unset($_SESSION['formulaire_annonce_valide']) ; |
} |
|
//requete pour obtenir l'id du type d'annonce |
if (isset($GLOBALS['_BAZAR_']['typeannonce'])) { |
$requete = 'SELECT bn_id_nature, bn_condition FROM bazar_nature WHERE bn_id_nature="'.$GLOBALS['_BAZAR_']['typeannonce'].'"' ; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
$GLOBALS['_BAZAR_']['id_typeannonce']=$ligne['bn_id_nature']; |
$conditions=$ligne['bn_condition']; |
} |
} |
$lien_formulaire=$GLOBALS['_BAZAR_']['url']; |
|
//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) { |
if ((!isset($_POST['accept_condition']))and($conditions!=NULL)) { |
if ((!isset($_POST['accept_condition']))and($GLOBALS['_BAZAR_']['condition']!=NULL)) { |
$lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU); |
} else { |
$lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V); |
272,7 → 424,7 |
} |
} |
if ($mode == BAZ_ACTION_MODIFIER) { |
if (!isset($_POST['accept_condition'])and($conditions!=NULL)) { |
if (!isset($_POST['accept_condition'])and($GLOBALS['_BAZAR_']['condition']!=NULL)) { |
$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER); |
} else { |
$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER_V); |
283,24 → 435,20 |
$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER_V); |
$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']); |
} |
if (!isset($GLOBALS['_BAZAR_']['typeannonce'])) $lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU); |
else $lien_formulaire->addQueryString('typeannonce', $GLOBALS['_BAZAR_']['typeannonce']); |
if ($mode == BAZ_GERER_DROITS) $lien_formulaire->addQueryString('action', BAZ_GERER_DROITS); |
if (!isset($GLOBALS['_BAZAR_']['id_typeannonce'])) $lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU); |
|
//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". |
$squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'<table style="border:0;">'."\n".'{content}'."\n".'</table>'."\n".'</form>'."\n"); |
$squelette->setElementTemplate( '<tr>'."\n".'<td style="font-size:12px;width:150px;text-align:right;">'."\n".'{label} :</td>'."\n".'<td style="text-align:left;padding:5px;"> '."\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"); |
'</td>'."\n".'</tr>'."\n"); |
$squelette->setElementTemplate( '<tr>'."\n".'<td colspan="2" class="liste_a_cocher"><strong>{label} {element}</strong>'."\n". |
'<!-- BEGIN required --><span class="symbole_obligatoire"> *</span><!-- END required -->'."\n".'</td>'."\n".'</tr>'."\n", 'accept_condition'); |
$squelette->setElementTemplate( '<tr><td colspan="2" class="bouton">{label}{element}</td></tr>'."\n", 'valider'); |
$squelette->setRequiredNoteTemplate("\n".'<tr>'."\n".'<td colspan="2" class="symbole_obligatoire">* {requiredNote}</td></tr>'."\n"); |
//Traduction de champs requis |
$formtemplate->setRequiredNote(BAZ_CHAMPS_REQUIS) ; |
$formtemplate->setJsWarnings(BAZ_ERREUR_SAISIE,BAZ_VEUILLEZ_CORRIGER); |
309,8 → 457,7 |
//AFFICHAGE DU FORMULAIRE GENERAL DE CHOIX DU TYPE D'ANNONCE |
//------------------------------------------------------------------------------------------------ |
if ($mode == BAZ_DEPOSER_ANNONCE) { |
$res = ''; |
|
$res = ''; |
//requete pour obtenir le nom et la description des types d'annonce |
$requete = "SELECT bn_id_nature, bn_label_nature, bn_description, bn_condition, bn_image_titre ". |
"FROM bazar_nature WHERE bn_ce_id_menu=".$GLOBALS['_GEN_commun']['info_menu']->gm_id_menu. |
319,7 → 466,7 |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
$res.="<h2>".BAZ_DEPOSE_UNE_NOUVELLE_ANNONCE.'</h2>'."\n"; |
$res.='<h2>'.BAZ_DEPOSE_UNE_NOUVELLE_ANNONCE.'</h2>'."\n"; |
$res.='<br />'.BAZ_CHOIX_TYPEANNONCE.'<br /><br />'."\n"; |
while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) { |
$droitspers=niveau_droit($ligne["bn_id_nature"],$GLOBALS["id_user"]); |
363,7 → 510,7 |
//------------------------------------------------------------------------------------------------ |
//CAS DE L'INSCRIPTION D'UNE ANNONCE |
//------------------------------------------------------------------------------------------------ |
if (($mode == 'inscription')or($mode == BAZ_ACTION_NOUVEAU_V)) { |
if ($mode == BAZ_ACTION_NOUVEAU_V) { |
if ($formtemplate->validate() && !isset($_SESSION['formulaire_annonce_valide'])) { |
$formtemplate->process('baz_insertion', false) ; |
$_SESSION['formulaire_annonce_valide'] = 1; |
380,162 → 527,6 |
return ; |
} |
} |
|
//------------------------------------------------------------------------------------------------ |
//CAS OU LE FORMULAIRE DE GESTION DES DROITS EST APPELE |
//------------------------------------------------------------------------------------------------ |
if ($mode == BAZ_GERER_DROITS) { |
//Initialisation de la variable personne |
if ( isset($_POST['personnes']) ) { |
$personne=$_POST['personnes']; |
} |
else $personne=0; |
|
|
//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 |
if (isset($_GET['idtypeannonce'])) { |
$requete = 'DELETE FROM bazar_droits WHERE bd_id_utilisateur='.$_GET['pers']. |
' AND bd_id_nature_offre='.$_GET['idtypeannonce']; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
} |
//CAS DU SUPER ADMIN: On efface tous les droits de la personne en general |
else { |
$requete = 'DELETE FROM bazar_droits WHERE bd_id_utilisateur='.$_GET['pers']; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
} |
if ($_GET['droits']=='superadmin') { |
$requete = 'INSERT INTO bazar_droits VALUES ('.$_GET['pers'].',0,0)'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
} |
elseif ($_GET['droits']=='redacteur') { |
$requete = 'INSERT INTO bazar_droits VALUES ('.$_GET['pers'].','.$_GET['idtypeannonce'].',1)'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
} |
elseif ($_GET['droits']=='admin') { |
$requete = 'INSERT INTO bazar_droits VALUES ('.$_GET['pers'].','.$_GET['idtypeannonce'].',2)'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
} |
} |
|
//requete pour obtenir l'id, le nom et prenom des personnes inscrites a l'annuaire sauf soi meme |
$requete = 'SELECT '.BAZ_CHAMPS_ID.', '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.' FROM '.BAZ_ANNUAIRE. |
' WHERE '.BAZ_CHAMPS_ID."!=".$GLOBALS['id_user'].' ORDER BY '.BAZ_CHAMPS_NOM.' ASC'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
$res='<h2>'.BAZ_GESTION_DES_DROITS.'</h2><br />'."\n"; |
$res.=BAZ_DESCRIPTION_GESTION_DES_DROITS.'<br /><br />'."\n"; |
$personnes_select[0]=BAZ_SELECTION; |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
$personnes_select[$ligne[BAZ_CHAMPS_ID]] = $ligne[BAZ_CHAMPS_NOM]." ".$ligne[BAZ_CHAMPS_PRENOM] ; |
} |
$java=array ('style'=>'width:250px;','onchange'=>'this.form.submit();'); |
$formtemplate->addElement ('select', 'personnes', BAZ_LABEL_CHOIX_PERSONNE, $personnes_select, $java) ; |
$defauts=array ('personnes'=>$personne); |
$formtemplate->setDefaults($defauts); |
$res.= $formtemplate->toHTML().'<br />'."\n" ; |
|
if ($personne!=0) { |
//cas du super utilisateur |
if (niveau_droit(0,$personne)=='superadministrateur') { |
$res.= '<br />'.BAZ_EST_SUPERADMINISTRATEUR.'<br /><br />'."\n"; |
$lien_enlever_superadmin=$GLOBALS['_BAZAR_']['url']; |
$lien_enlever_superadmin->addQueryString('action', BAZ_GERER_DROITS); |
$lien_enlever_superadmin->addQueryString('pers', $personne); |
$lien_enlever_superadmin->addQueryString('droits', 'aucun'); |
$res.= '<a href='.$lien_enlever_superadmin->getURL().'>'.BAZ_CHANGER_SUPERADMINISTRATEUR.'</a><br />'."\n"; |
} |
else { |
$lien_passer_superadmin=$GLOBALS['_BAZAR_']['url']; |
$lien_passer_superadmin->addQueryString('action', BAZ_GERER_DROITS); |
$lien_passer_superadmin->addQueryString('pers', $personne); |
$lien_passer_superadmin->addQueryString('droits', 'superadmin'); |
$res.= '<a href='.$lien_passer_superadmin->getURL().'>'.BAZ_PASSER_SUPERADMINISTRATEUR.'</a><br />'."\n"; |
|
//on cherche les differentes rubriques d'annonces |
$requete = 'SELECT bn_id_nature, bn_label_nature, bn_image_titre FROM bazar_nature WHERE bn_ce_id_menu='.$GLOBALS['_GEN_commun']['info_menu']->gm_id_menu .' or bn_ce_id_menu=0'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
$res.='<br /><b>'.BAZ_DROITS_PAR_TYPE.'</b><br /><br />'; |
|
$table = new HTML_Table(array ('width' => '100%', 'class' => 'table_bazar')) ; |
$table->addRow(array ('<strong>'.BAZ_TYPE_ANNONCES.'</strong>', |
'<strong>'.BAZ_DROITS_ACTUELS.'</strong>', |
'<strong>'.BAZ_PASSER_EN.'</strong>', |
'<strong>'.BAZ_OU_PASSER_EN.'</strong>')) ; |
$table->setRowType (0, 'th') ; |
|
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
$droits=niveau_droit($ligne['bn_id_nature'],$personne); |
|
$lien_aucun_droit=$GLOBALS['_BAZAR_']['url']; |
$lien_aucun_droit->addQueryString('action', BAZ_GERER_DROITS); |
$lien_aucun_droit->addQueryString('pers', $personne); |
$lien_aucun_droit->addQueryString('droits', 'aucun'); |
$lien_aucun_droit->addQueryString('idtypeannonce', $ligne["bn_id_nature"]); |
|
$lien_passer_redacteur=$GLOBALS['_BAZAR_']['url']; |
$lien_passer_redacteur->addQueryString('action', BAZ_GERER_DROITS); |
$lien_passer_redacteur->addQueryString('pers', $personne); |
$lien_passer_redacteur->addQueryString('droits', 'redacteur'); |
$lien_passer_redacteur->addQueryString('idtypeannonce', $ligne["bn_id_nature"]); |
|
$lien_passer_admin=$GLOBALS['_BAZAR_']['url']; |
$lien_passer_admin->addQueryString('action', BAZ_GERER_DROITS); |
$lien_passer_admin->addQueryString('pers', $personne); |
$lien_passer_admin->addQueryString('droits', 'admin'); |
$lien_passer_admin->addQueryString('idtypeannonce', $ligne["bn_id_nature"]); |
if (isset($ligne['bn_image_titre'])) {$titre=' <img src="client/bazar/images/'.$ligne['bn_image_titre'].'" alt="'.constant($ligne['bn_label_nature']).'" />'."\n";} |
else {$titre='<strong> '.constant($ligne['bn_label_nature']).'</strong>'."\n";} |
if ($droits=='aucun') { |
$table->addRow(array($titre, |
BAZ_AUCUN_DROIT, |
'<a href='.$lien_passer_redacteur->getURL().'>'.BAZ_DROIT_REDACTEUR.'</a>', |
'<a href='.$lien_passer_admin->getURL().'>'.BAZ_DROIT_ADMIN.'</a>')); |
} |
elseif ($droits=='redacteur') { |
$table->addRow(array($titre, |
BAZ_DROIT_REDACTEUR, |
'<a href='.$lien_aucun_droit->getURL().'>'.BAZ_AUCUN_DROIT.'</a>', |
'<a href='.$lien_passer_admin->getURL().'>'.BAZ_DROIT_ADMIN.'</a>')); |
} |
else { |
$table->addRow(array($titre, |
BAZ_DROIT_ADMIN, |
'<a href='.$lien_aucun_droit->getURL().'>'.BAZ_AUCUN_DROIT.'</a>', |
'<a href='.$lien_passer_redacteur->getURL().'>'.BAZ_DROIT_REDACTEUR.'</a>')); |
} |
} |
$table->altRowAttributes(1, array('class' => 'ligne_impaire'), array('class' => 'ligne_paire')); |
$table->updateColAttributes(0, array('align' => 'left')); |
$table->updateColAttributes(1, array('align' => 'left')); |
$table->updateColAttributes(2, array('align' => 'left')); |
$table->updateColAttributes(3, array('align' => 'left')); |
$res.=$table->toHTML() ; |
} |
} |
} |
} |
else $res=BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR; |
return $res; |
565,22 → 556,13 |
} |
|
//titre de la rubrique |
$res= '<h2>'.BAZ_TITRE_SAISIE_ANNONCE.$GLOBALS['_BAZAR_']['typeannonce'].'</h2><br />'."\n"; |
|
//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'])))) { |
$res= '<h2>'.BAZ_TITRE_SAISIE_ANNONCE.' '.constant($GLOBALS['_BAZAR_']['typeannonce']).'</h2><br />'."\n"; |
if (($GLOBALS['_BAZAR_']['condition']!='')AND(!isset($_POST['accept_condition']))AND(!isset($_GET['url'])OR(!isset($_GET['fichier']))OR(!isset($_GET['image'])))) { |
require_once '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"); |
$conditions= new HTML_QuickForm_html('<tr><td colspan="2" style="padding:5px; margin:5px; width: 90%; background: #C1CBA7;">'.$GLOBALS['_BAZAR_']['condition'].'</td>'."\n".'</tr>'."\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->addElement('hidden', 'typeannonce', $GLOBALS['_BAZAR_']['id_typeannonce']); |
$formtemplate->addRule('accept_condition', BAZ_ACCEPTE_CONDITIONS_REQUIS, 'required', '', 'client') ; |
$formtemplate->addElement('submit', 'valider', BAZ_VALIDER); |
} |
587,11 → 569,13 |
//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'); |
$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']); |
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']) ; |
} |
echo 'type annonce: '.$GLOBALS['_BAZAR_']['id_typeannonce']; |
$formtemplate->addElement('hidden', 'typeannonce', $GLOBALS['_BAZAR_']['id_typeannonce']); |
$formtemplate->addElement('submit', 'valider', BAZ_VALIDER); |
|
if ($mode=='modification') { |
770,13 → 754,13 |
//l'annonce est directement publiée pour les admins |
if ((niveau_droit($GLOBALS['_BAZAR_']['id_typeannonce'],$GLOBALS['id_user'])=='administrateur') or |
(niveau_droit($GLOBALS['_BAZAR_']['id_typeannonce'],$GLOBALS['id_user'])=='superadministrateur')) { |
$requete.='bf_statut_fiche=1,'; |
$requete.='bf_statut_fiche=1, '; |
} |
else { |
$requete.='bf_statut_fiche="'.BAZ_ETAT_VALIDATION.'",'; |
$requete.='bf_statut_fiche="'.BAZ_ETAT_VALIDATION.'", '; |
} |
|
$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['typeannonce'].'.tpl'); |
echo '<br />'.$GLOBALS['_BAZAR_']['template'].'<br />'; |
$tableau=baz_valeur_template($GLOBALS['_BAZAR_']['template']); |
for ($i=0; $i<count($tableau); $i++) { |
if ($tableau[$i]['type']!='labelhtml') { |
//cas des dates |
784,8 → 768,10 |
$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') { |
|
elseif (($tableau[$i]['type']=='checkbox')or($tableau[$i]['type']=='liste')) { |
//on supprime les anciennes valeurs de la table bazar_fiche_valeur_liste |
$requetesuppression='DELETE FROM bazar_fiche_valeur_liste WHERE bfvl_ce_fiche= AND bfvl_ce_liste='; |
$requeteinsertion='INSERT INTO bazar_fiche_valeur VALUES '; |
if (isset($valeur[$tableau[$i]['nom_bdd']])) { |
$val=implode('**', array_keys($valeur[$tableau[$i]['nom_bdd']])); |
} else { |
806,7 → 792,6 |
return $requete; |
} |
|
|
/** baz_insertion() - inserer une nouvelle fiche |
* |
* @array Le tableau des valeurs a inserer |
813,16 → 798,7 |
* @integer Valeur de l'identifiant de la fiche |
* @return void |
*/ |
function baz_insertion($valeur) { |
|
// Recuperation de bn_appropriation |
$requete_app = 'SELECT bn_appropriation FROM bazar_nature WHERE bn_id_nature='.$GLOBALS['_BAZAR_']['id_typeannonce'] ; |
$resultat_app = $GLOBALS['_BAZAR_']['db']->query($requete_app) ; |
if (DB::isError($resultat_app)) { |
echo $resultat_app->getMessage().$resultat_app->getDebugInfo().$requete_app; |
} |
$ligne = $resultat_app ->fetchRow(DB_FETCHMODE_ASSOC) ; |
|
function baz_insertion($valeur) { |
// =========== Insertion d'une nouvelle fiche =================== |
//requete d'insertion dans bazar_fiche |
$id_fiche = baz_nextid('bazar_fiche', 'bf_id_fiche', $GLOBALS['_BAZAR_']['db']) ; |
829,10 → 805,11 |
$requete = 'INSERT INTO bazar_fiche SET bf_id_fiche='.$id_fiche.','. |
'bf_ce_utilisateur='.$GLOBALS['id_user'].', bf_ce_nature='.$GLOBALS['_BAZAR_']['id_typeannonce'].','. |
'bf_date_creation_fiche=NOW(),'; |
if ($ligne['bn_appropriation'] == 1) { |
if ($GLOBALS['_BAZAR_']['appropriation']== 1) { |
$requete .= 'bf_date_debut_validite_fiche=now(), ' ; |
} |
$requete .=requete_bazar_fiche(&$valeur, $GLOBALS['_BAZAR_']['id_typeannonce']) ; |
$requete .=requete_bazar_fiche(&$valeur) ; |
echo $requete; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
840,7 → 817,7 |
|
// traitement des cases à cocher, donc des tables jointes, |
// l'info est dans le champs table_jointe, champs_id_fiche, champs_id_table_jointe |
$tableau = baz_valeurs_template($GLOBALS['_BAZAR_']['typeannonce'].'.tpl'); |
$tableau = ($GLOBALS['_BAZAR_']['template']); |
|
for ($i=0; $i<count($tableau); $i++) { |
if ($tableau[$i]['type']=='checkbox') { |
897,7 → 874,7 |
* @return void |
*/ |
function baz_insertion_fichier($fichier_description, $idfiche) { |
//vérification de la présence de ce fichier |
//verification de la presence de ce fichier |
$requete = 'SELECT bfj_id_fichier FROM bazar_fichier_joint WHERE bfj_fichier="'.$_FILES['fichier_joint']['name'].'"'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
925,7 → 902,7 |
* @return void |
*/ |
function baz_insertion_image($idfiche) { |
//vérification de la présence de ce fichier |
//verification de la presence de ce fichier |
$requete = 'SELECT bf_id_fiche FROM bazar_fiche WHERE bf_url_image="'.$_FILES['image']['name'].'"'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
943,7 → 920,7 |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
if ($resultat->numRows()==0) { |
//création d'une fiche temporaire avec l'image |
//creation d'une fiche temporaire avec l'image |
$requete = 'INSERT INTO bazar_fiche SET bf_id_fiche='.$idfiche.', bf_ce_nature='.$GLOBALS['_BAZAR_']['id_typeannonce'].', bf_ce_utilisateur='.$GLOBALS['id_user'].', bf_date_creation_fiche=NOW(), bf_url_image="'.$_FILES['image']['name'].'", '. |
'bf_titre="annonce temporaire"'; |
} |
964,7 → 941,6 |
* @return void |
*/ |
function baz_mise_a_jour($valeur) { |
|
//MAJ de bazar_fiche |
$requete = 'UPDATE bazar_fiche SET '.requete_bazar_fiche(&$valeur,$GLOBALS['_BAZAR_']['id_typeannonce']); |
$requete.= ' WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche']; |
993,7 → 969,7 |
// S'il y a des tables jointes, on les supprime aussi |
// traitement des cases à cocher, donc des tables jointes, |
// l'info est dans le champs table_jointe, champs_id_fiche, champs_id_table_jointe |
$tableau = baz_valeurs_template($GLOBALS['_BAZAR_']['typeannonce'].'.tpl'); |
$tableau = ($GLOBALS['_BAZAR_']['typeannonce'].'.tpl'); |
|
for ($i=0; $i<count($tableau); $i++) { |
if ($tableau[$i]['type']=='checkbox') { |
1056,7 → 1032,7 |
* @return void |
*/ |
function baz_suppression_fichier($id_fichier) { |
//vérification de l'utilisation du fichier joint pour une autre annonce |
//verification de l'utilisation du fichier joint pour une autre annonce |
$requete = 'SELECT bfj_fichier FROM bazar_fichier_joint WHERE bfj_id_fichier='.$id_fichier; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC); |
1084,7 → 1060,7 |
* @return void |
*/ |
function baz_suppression_image($id_fiche) { |
//vérification de l'utilisation de l'image pour une autre annonce |
//verification de l'utilisation de l'image pour une autre annonce |
$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_id_fiche='.$id_fiche; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC); |
1240,7 → 1216,7 |
} |
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ; |
$valeurs_fiche = array() ; |
$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['typeannonce'].'.tpl'); |
$tableau=($GLOBALS['_BAZAR_']['typeannonce'].'.tpl'); |
for ($i=0; $i<count($tableau); $i++) { |
if ($tableau[$i]['type']!='labelhtml') { |
$valeurs_fiche[$tableau[$i]['nom_bdd']] = stripslashes($ligne[$tableau[$i]['nom_bdd']]); |
1254,90 → 1230,90 |
* |
* @return string le code HTML à afficher |
*/ |
function baz_rechercher() { |
$res= '<h2>'.BAZ_RECHERCHER_DES_ANNONCES.'</h2>'."\n"; |
|
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_RECHERCHER_ANNONCE); |
$lien_formulaire=preg_replace ('/&/', '&', $GLOBALS['_BAZAR_']['url']->getURL()) ; |
$formtemplate = new HTML_QuickForm('formulaire', 'post', $lien_formulaire) ; |
|
//requete pour obtenir l'id et le label des types d'annonces |
$requete = 'SELECT bn_label_nature '. |
'FROM bazar_nature WHERE bn_ce_id_menu='.$GLOBALS['_GEN_commun']['info_menu']->gm_id_menu. |
' or bn_ce_id_menu=0 ORDER BY bn_label_nature ASC'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
$type_annonce_select['toutes']=BAZ_TOUTES; |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
$type_annonce_select[$ligne['bn_label_nature']] = $ligne['bn_label_nature']; |
} |
$option=array('style'=>'width: 195px;', 'onchange'=>'this.form.submit();'); |
$formtemplate->addElement ('select', 'type_annonce', BAZ_TYPEANNONCE, $type_annonce_select, $option) ; |
|
//requete pour obtenir l'id, le nom et prénom de toutes les personnes ayant une fiche publiée actuellement |
$requete = 'SELECT '.BAZ_CHAMPS_ID.', '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.' '. |
'FROM bazar_fiche,'.BAZ_ANNUAIRE.' '. |
'WHERE bf_statut_fiche=1 AND bf_date_debut_validite_fiche<=NOW() AND bf_date_fin_validite_fiche>=NOW() AND bf_ce_utilisateur='.BAZ_CHAMPS_ID.' '. |
'ORDER BY '.BAZ_CHAMPS_NOM.' ASC'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
$personnes_select['tous']=BAZ_TOUS; |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
$personnes_select[$ligne[BAZ_CHAMPS_ID]] = $ligne[BAZ_CHAMPS_NOM]." ".$ligne[BAZ_CHAMPS_PRENOM] ; |
} |
$option=array('style'=>'width: 195px;', 'onchange'=>'this.form.submit();'); |
$formtemplate->addElement ('select', 'personnes', BAZ_EMETTEUR, $personnes_select, $option) ; |
|
//champs texte pour entrer les mots clés |
$option=array('size'=>30,'maxlength'=>40); |
$formtemplate->addElement('text', 'recherche_mots_cles', BAZ_MOT_CLE, $option) ; |
//Bouton de validation du formulaire |
$bouton[] = &HTML_QuickForm::createElement('submit', 'valider', BAZ_VALIDER); |
$formtemplate->addGroup($bouton, null, null, ''); |
|
$requeteSQL=''; |
//affichage des résultats de la recherche si le formulaire a été envoyé |
if (isset($_POST['type_annonce'])) { |
//ajout des champs pour la recherche personnalisée |
if ($_POST['type_annonce']!='toutes') { |
$tableau=baz_valeurs_template($_POST['type_annonce'].'.tpl'); |
$nbvaleurs=count($tableau); |
$html='<h3>'.BAZ_RECHERCHE_AVANCEE.'</h3>'."\n"; |
$formtemplate->addElement('html', $html) ; |
for ($i=0; $i<$nbvaleurs; $i++) { |
if (($tableau[$i]['type']=='liste')or($tableau[$i]['type']=='listedatedeb')or($tableau[$i]['type']=='listedatefin')) { |
$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'], |
$tableau[$i]['limite2'], $tableau[$i]['defaut'], $tableau[$i]['table_source'], 0) ; |
} |
} |
} |
$res.= $formtemplate->toHTML() ; |
|
//préparation de la requête pour trouver les mots clés |
if ($_POST['recherche_mots_cles']!='') { |
//découpage des mots clés |
$recherche = split(' ', $_POST['recherche_mots_cles']) ; |
$nbmots=count($recherche); |
for ($i=0; $i<$nbmots; $i++) { |
if ($i>0) $requeteSQL.=' OR '; |
$requeteSQL.='bf_titre LIKE "%'.$recherche[$i].'%" OR bf_description LIKE "%'.$recherche[$i].'%" '; |
} |
} |
|
//génération de l'affichage |
$res.=RSSversHTML(gen_RSS($_POST['type_annonce'], '', $_POST['personnes'], 1, $requeteSQL), 1, 'jm') ; |
} |
else { |
//Bouton de validation du formulaire |
$res.=$formtemplate->toHTML()."\n".BAZ_DESCRIPTION_RECHERCHE; |
} |
|
return $res; |
} |
//function baz_rechercher() { |
// $res= '<h2>'.BAZ_RECHERCHER_DES_ANNONCES.'</h2>'."\n"; |
// |
// $GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_RECHERCHER_ANNONCE); |
// $lien_formulaire=preg_replace ('/&/', '&', $GLOBALS['_BAZAR_']['url']->getURL()) ; |
// $formtemplate = new HTML_QuickForm('formulaire', 'post', $lien_formulaire) ; |
// |
// //requete pour obtenir l'id et le label des types d'annonces |
// $requete = 'SELECT bn_label_nature '. |
// 'FROM bazar_nature WHERE bn_ce_id_menu='.$GLOBALS['_GEN_commun']['info_menu']->gm_id_menu. |
// ' or bn_ce_id_menu=0 ORDER BY bn_label_nature ASC'; |
// $resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
// if (DB::isError($resultat)) { |
// die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
// } |
// $type_annonce_select['toutes']=BAZ_TOUTES; |
// while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
// $type_annonce_select[$ligne['bn_label_nature']] = $ligne['bn_label_nature']; |
// } |
// $option=array('style'=>'width: 195px;', 'onchange'=>'this.form.submit();'); |
// $formtemplate->addElement ('select', 'type_annonce', BAZ_TYPEANNONCE, $type_annonce_select, $option) ; |
// |
// //requete pour obtenir l'id, le nom et prénom de toutes les personnes ayant une fiche publiée actuellement |
// $requete = 'SELECT '.BAZ_CHAMPS_ID.', '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.' '. |
// 'FROM bazar_fiche,'.BAZ_ANNUAIRE.' '. |
// 'WHERE bf_statut_fiche=1 AND bf_date_debut_validite_fiche<=NOW() AND bf_date_fin_validite_fiche>=NOW() AND bf_ce_utilisateur='.BAZ_CHAMPS_ID.' '. |
// 'ORDER BY '.BAZ_CHAMPS_NOM.' ASC'; |
// $resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
// if (DB::isError($resultat)) { |
// die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
// } |
// $personnes_select['tous']=BAZ_TOUS; |
// while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
// $personnes_select[$ligne[BAZ_CHAMPS_ID]] = $ligne[BAZ_CHAMPS_NOM]." ".$ligne[BAZ_CHAMPS_PRENOM] ; |
// } |
// $option=array('style'=>'width: 195px;', 'onchange'=>'this.form.submit();'); |
// $formtemplate->addElement ('select', 'personnes', BAZ_EMETTEUR, $personnes_select, $option) ; |
// |
// //champs texte pour entrer les mots clés |
// $option=array('size'=>30,'maxlength'=>40); |
// $formtemplate->addElement('text', 'recherche_mots_cles', BAZ_MOT_CLE, $option) ; |
// //Bouton de validation du formulaire |
// $bouton[] = &HTML_QuickForm::createElement('submit', 'valider', BAZ_VALIDER); |
// $formtemplate->addGroup($bouton, null, null, ''); |
// |
// $requeteSQL=''; |
// //affichage des résultats de la recherche si le formulaire a été envoyé |
// if (isset($_POST['type_annonce'])) { |
// //ajout des champs pour la recherche personnalisée |
// if ($_POST['type_annonce']!='toutes') { |
// $tableau=baz_valeurs_template($_POST['type_annonce'].'.tpl'); |
// $nbvaleurs=count($tableau); |
// $html='<h3>'.BAZ_RECHERCHE_AVANCEE.'</h3>'."\n"; |
// $formtemplate->addElement('html', $html) ; |
// for ($i=0; $i<$nbvaleurs; $i++) { |
// if (($tableau[$i]['type']=='liste')or($tableau[$i]['type']=='listedatedeb')or($tableau[$i]['type']=='listedatefin')) { |
// $tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'], |
// $tableau[$i]['limite2'], $tableau[$i]['defaut'], $tableau[$i]['table_source'], 0) ; |
// } |
// } |
// } |
// $res.= $formtemplate->toHTML() ; |
// |
// //préparation de la requête pour trouver les mots clés |
// if ($_POST['recherche_mots_cles']!='') { |
// //découpage des mots clés |
// $recherche = split(' ', $_POST['recherche_mots_cles']) ; |
// $nbmots=count($recherche); |
// for ($i=0; $i<$nbmots; $i++) { |
// if ($i>0) $requeteSQL.=' OR '; |
// $requeteSQL.='bf_titre LIKE "%'.$recherche[$i].'%" OR bf_description LIKE "%'.$recherche[$i].'%" '; |
// } |
// } |
// |
// //génération de l'affichage |
// $res.=RSSversHTML(gen_RSS($_POST['type_annonce'], '', $_POST['personnes'], 1, $requeteSQL), 1, 'jm') ; |
// } |
// else { |
// //Bouton de validation du formulaire |
// $res.=$formtemplate->toHTML()."\n".BAZ_DESCRIPTION_RECHERCHE; |
// } |
// |
// return $res; |
//} |
|
|
function baz_envoie_mail() { |
1403,6 → 1379,9 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.28 2006/01/05 16:28:24 alexandre_tb |
* prise en chage des checkbox, reste la mise à jour à gérer |
* |
* Revision 1.27 2006/01/04 15:30:56 alexandre_tb |
* mise en forme du code |
* |