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.74.2.10 2008-02-01 17:20:18 florian Exp $ |
// CVS : $Id: bazar.fonct.php,v 1.69 2007-09-18 07:39:42 alexandre_tb 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.74.2.10 $ $Date: 2008-02-01 17:20:18 $ |
*@version $Revision: 1.69 $ $Date: 2007-09-18 07:39:42 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
45,9 → 45,37 |
require_once GEN_CHEMIN_API.'formulaire/formulaire.fonct.inc.php'; |
require_once 'bazar.fonct.rss.php'; |
|
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
|
/** fiches_a_valider () - Renvoie les annonces restant a valider par un administrateur |
/** niveau_droit() - Retourne le niveau de droit de l'utilisateur |
* |
* @param integer Id de la nature d'offre pour connaitre les droits sur une rubrique |
* @param integer Id de la personne (par d�faut la personne loggu�e) |
* |
* @return string Retourne 'redacteur', 'administrateur', 'superadministrateur', ou 'aucun' |
*/ |
function niveau_droit($id_nature_offre='0', $personne) { |
$requete = 'SELECT bd_niveau_droit FROM bazar_droits WHERE bd_id_utilisateur='.$personne. |
' AND (bd_id_nature_offre="'.$id_nature_offre.'" OR bd_id_nature_offre=0)'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query ($requete) ; |
if (DB::isError($resultat)) { |
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ; |
} |
if ($resultat->numRows() != 0) { |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
if ($ligne['bd_niveau_droit']==0) return 'superadministrateur'; |
if ($ligne['bd_niveau_droit']==1) return 'redacteur'; |
if ($ligne['bd_niveau_droit']==2) return 'administrateur'; |
} |
} |
else return 'aucun'; |
} |
|
|
/** fiches_a_valider () - Renvoie les annonces restant � valider par un administrateur |
* |
* @return string HTML |
*/ |
function fiches_a_valider() { |
56,11 → 84,8 |
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_ADMIN); |
$res= '<h2>'.BAZ_ANNONCES_A_ADMINISTRER.'</h2><br />'."\n"; |
$requete = 'SELECT * FROM bazar_fiche, bazar_nature WHERE bf_statut_fiche=0 AND ' . |
'bn_id_nature=bf_ce_nature AND bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') ' ; |
if (isset($GLOBALS['_BAZAR_']['langue'])) { |
$requete .= ' and bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%" '; |
} |
$requete .= 'ORDER BY bf_date_maj_fiche DESC' ; |
'bn_id_nature=bf_ce_nature AND bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') ' . |
'ORDER BY bf_date_maj_fiche DESC' ; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ; |
85,7 → 110,7 |
$annonceur=$lignenomprenom[BAZ_CHAMPS_PRENOM]." ".$lignenomprenom[BAZ_CHAMPS_NOM]; |
} |
$lien_voir=$GLOBALS['_BAZAR_']['url']; |
$lien_voir->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE); |
$lien_voir->addQueryString('action', BAZ_VOIR_FICHE); |
$lien_voir->addQueryString('id_fiche', $ligne['bf_id_fiche']); |
$lien_voir->addQueryString('typeannonce', $ligne['bn_id_nature']); |
|
92,7 → 117,7 |
// Nettoyage de l'url |
// NOTE (jpm - 23 mai 2007): pour être compatible avec PHP5 il faut utiliser tjrs $GLOBALS['_BAZAR_']['url'] car en php4 on |
// copie bien une variable mais pas en php5, cela reste une référence... |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action'); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche'); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce'); |
|
99,21 → 124,21 |
$GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $ligne['bf_id_fiche']); |
$GLOBALS['_BAZAR_']['url']->addQueryString('typeannonce', $ligne['bn_id_nature']); |
|
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE); |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_FICHE); |
$lien_voir = $GLOBALS['_BAZAR_']['url']->getURL(); |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action'); |
|
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_PUBLIER); |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_ACTION_PUBLIER); |
$lien_publie_oui = $GLOBALS['_BAZAR_']['url']->getURL(); |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action'); |
|
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_PAS_PUBLIER); |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_ACTION_PAS_PUBLIER); |
$lien_publie_non = $GLOBALS['_BAZAR_']['url']->getURL(); |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action'); |
|
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_SUPPRESSION); |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_ACTION_SUPPRESSION); |
$lien_supprimer = $GLOBALS['_BAZAR_']['url']->getURL(); |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action'); |
|
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche'); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce'); |
138,10 → 163,12 |
else { |
$res .= '<p class="zone_info">'.BAZ_PAS_DE_FICHE_A_VALIDER.'</p>'."\n" ; |
} |
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_TOUTES_ANNONCES); |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_TOUTES_ANNONCES); |
|
//$res .= '<br /><ul style="clear:both;"><li><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'" title="'.BAZ_CONSULTER_FICHES_VALIDEES.'">'.BAZ_CONSULTER_FICHES_VALIDEES.'</a></li></ul>'; |
|
// Nettoyage de l'url |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action'); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche'); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce'); |
|
148,11 → 175,8 |
// Les autres fiches, deja validees |
$res .= '<h2>'.BAZ_TOUTES_LES_FICHES.'</h2>'."\n"; |
$requete = 'SELECT * FROM bazar_fiche, bazar_nature WHERE bf_statut_fiche=1 AND ' . |
'bn_id_nature=bf_ce_nature AND bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') '; |
if (isset($GLOBALS['_BAZAR_']['langue'])) { |
$requete .= ' and bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%" '; |
} |
$requete .= 'ORDER BY bf_date_maj_fiche DESC' ; |
'bn_id_nature=bf_ce_nature AND bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') ' . |
'ORDER BY bf_date_maj_fiche DESC' ; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ; |
177,7 → 201,7 |
$annonceur=$lignenomprenom[BAZ_CHAMPS_PRENOM]." ".$lignenomprenom[BAZ_CHAMPS_NOM]; |
} |
$lien_voir=$GLOBALS['_BAZAR_']['url']; |
$lien_voir->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE); |
$lien_voir->addQueryString('action', BAZ_VOIR_FICHE); |
$lien_voir->addQueryString('id_fiche', $ligne['bf_id_fiche']); |
$lien_voir->addQueryString('typeannonce', $ligne['bn_id_nature']); |
|
184,7 → 208,7 |
// Nettoyage de l'url |
// NOTE (jpm - 23 mai 2007): pour être compatible avec PHP5 il faut utiliser tjrs $GLOBALS['_BAZAR_']['url'] car en php4 on |
// copie bien une variable mais pas en php5, cela reste une référence... |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action'); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche'); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce'); |
|
191,21 → 215,21 |
$GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $ligne['bf_id_fiche']); |
$GLOBALS['_BAZAR_']['url']->addQueryString('typeannonce', $ligne['bn_id_nature']); |
|
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE); |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_VOIR_FICHE); |
$lien_voir = $GLOBALS['_BAZAR_']['url']->getURL(); |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action'); |
|
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_PUBLIER); |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_ACTION_PUBLIER); |
$lien_publie_oui = $GLOBALS['_BAZAR_']['url']->getURL(); |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action'); |
|
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_PAS_PUBLIER); |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_ACTION_PAS_PUBLIER); |
$lien_publie_non = $GLOBALS['_BAZAR_']['url']->getURL(); |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action'); |
|
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_SUPPRESSION); |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_ACTION_SUPPRESSION); |
$lien_supprimer = $GLOBALS['_BAZAR_']['url']->getURL(); |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action'); |
|
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche'); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce'); |
241,10 → 265,7 |
if ($GLOBALS['AUTH']->getAuth()) { |
// 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 IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') '; |
if (isset($GLOBALS['_BAZAR_']['langue'])) $requete .= ' and bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%" '; |
$requete .= ' ORDER BY bf_date_maj_fiche DESC,bf_ce_nature ASC'; |
|
' AND bn_id_nature=bf_ce_nature AND bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') ORDER BY bf_date_maj_fiche DESC,bf_ce_nature ASC'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ; |
263,19 → 284,19 |
else $publiee=BAZ_REJETEE; |
|
$lien_voir = $GLOBALS['_BAZAR_']['url']; |
$lien_voir->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE); |
$lien_voir->addQueryString('action', BAZ_VOIR_FICHE); |
$lien_voir->addQueryString('id_fiche', $ligne['bf_id_fiche']); |
$lien_voir->addQueryString('typeannonce', $ligne['bn_id_nature']); |
$lien_voir_url=$lien_voir->getURL(); |
|
$lien_modifier = $GLOBALS['_BAZAR_']['url']; |
$lien_modifier->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_MODIFIER); |
$lien_modifier->addQueryString('action', BAZ_ACTION_MODIFIER); |
$lien_modifier->addQueryString('id_fiche', $ligne['bf_id_fiche']); |
$lien_modifier->addQueryString('typeannonce', $ligne['bn_id_nature']); |
$lien_modifier_url=$lien_modifier->getURL(); |
|
$lien_supprimer = $GLOBALS['_BAZAR_']['url']; |
$lien_supprimer->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_SUPPRESSION); |
$lien_supprimer->addQueryString('action', BAZ_ACTION_SUPPRESSION); |
$lien_supprimer->addQueryString('id_fiche', $ligne['bf_id_fiche']); |
$lien_supprimer->addQueryString('typeannonce', $ligne['bn_id_nature']); |
$lien_supprimer_url=$lien_supprimer->getURL(); |
298,18 → 319,34 |
else { |
$res .= '<p class="zone_info">'.BAZ_PAS_DE_FICHE.'</p>'."\n" ; |
} |
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_SAISIR); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche'); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce'); |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION); |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_DEPOSER_ANNONCE); |
$res .= '<br /><ul id="liste_liens"><li id="lien_saisir"><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'" title="'.BAZ_SAISIR_UNE_NOUVELLE_FICHE.'">'.BAZ_SAISIR_UNE_NOUVELLE_FICHE.'</a></li></ul>'; |
|
$GLOBALS['_BAZAR_']['url']->removeQueryString('action'); |
} |
else { |
|
$res .= BAZ_IDENTIFIEZ_VOUS_PRESENTATION_XHTML; |
$res .= '<p class="zone_info">'.BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR.'</p>'."\n" ; |
/*$res .= '<form id="form_connexion" class="form_identification" action="' ; |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_ACTION_VOIR_VOS_ANNONCES); |
$res .= $GLOBALS['_BAZAR_']['url']->getURL(); |
$res .= '" method="post"> |
<fieldset> |
<legend>Identifiez vous</legend> |
<label for="username">Courriel : </label> |
<input type="text" id="username" name="username" maxlength="80" tabindex="1" value="courriel" /> |
<label for="password">Mot de passe : </label> |
<input type="password" id="password" name="password" maxlength="80" tabindex="2" value="mot de passe" /> |
<input type="submit" id="connexion" name="connexion" tabindex="3" value="ok" /> |
</fieldset> |
</form>'; |
} |
// Nettoyage de l'url |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action'); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche'); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');*/ |
include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazarTemplate.class.php'; |
$modele = new bazarTemplate($GLOBALS['_BAZAR_']['db']); |
$res .= $modele->getTemplate(BAZ_TEMPLATE_MESSAGE_LOGIN, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['categorie_nature']); |
$res .= $modele->getTemplate(BAZ_TEMPLATE_MESSAGE_LOGIN, $GLOBALS['_BAZAR_']['langue']); |
} |
return $res; |
} |
320,7 → 357,7 |
*/ |
function baz_gestion_droits() { |
$lien_formulaire=$GLOBALS['_BAZAR_']['url']; |
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, 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()) ); |
411,7 → 448,7 |
if ($utilisateur->isSuperAdmin()) { |
$res.= '<br />'.BAZ_EST_SUPERADMINISTRATEUR.'<br /><br />'."\n"; |
$lien_enlever_superadmin=$GLOBALS['_BAZAR_']['url']; |
$lien_enlever_superadmin->addQueryString(BAZ_VARIABLE_ACTION, BAZ_GERER_DROITS); |
$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"; |
418,7 → 455,7 |
} |
else { |
$lien_passer_superadmin=$GLOBALS['_BAZAR_']['url']; |
$lien_passer_superadmin->addQueryString(BAZ_VARIABLE_ACTION, BAZ_GERER_DROITS); |
$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"; |
425,7 → 462,6 |
|
//on cherche les differentes rubriques d'annonces |
$requete = 'SELECT bn_id_nature, bn_label_nature, bn_image_titre FROM bazar_nature'; |
if (isset($GLOBALS['_BAZAR_']['langue'])) $requete .= ' where bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%"'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
440,20 → 476,22 |
$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(BAZ_VARIABLE_ACTION, BAZ_GERER_DROITS); |
$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(BAZ_VARIABLE_ACTION, BAZ_GERER_DROITS); |
$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(BAZ_VARIABLE_ACTION, BAZ_GERER_DROITS); |
$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"]); |
493,7 → 531,7 |
} |
|
// Nettoyage de l'url |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action'); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('pers'); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('droits'); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('idtypeannonce'); |
510,13 → 548,12 |
*/ |
function baz_formulaire($mode) { |
$res = ''; |
|
if ($GLOBALS['AUTH']->getAuth()) { |
$lien_formulaire=$GLOBALS['_BAZAR_']['url']; |
|
|
//Definir le lien du formulaire en fonction du mode de formulaire choisi |
if ($mode == BAZ_DEPOSER_ANNONCE) { |
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_NOUVEAU); |
$lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU); |
if (isset($GLOBALS['_BAZAR_']['id_typeannonce']) && $GLOBALS['_BAZAR_']['id_typeannonce'] != 'toutes') { |
$mode = BAZ_ACTION_NOUVEAU ; |
} |
523,24 → 560,21 |
} |
if ($mode == BAZ_ACTION_NOUVEAU) { |
if ((!isset($_POST['accept_condition']))and($GLOBALS['_BAZAR_']['condition']!=NULL)) { |
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_NOUVEAU); |
$lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU); |
} else { |
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_NOUVEAU_V); |
$lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V); |
} |
} |
if ($mode == BAZ_ACTION_MODIFIER) { |
if (!isset($_POST['accept_condition'])and($GLOBALS['_BAZAR_']['condition']!=NULL)) { |
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_MODIFIER); |
$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER); |
} else { |
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_MODIFIER_V); |
if (isset ($_SESSION['_BAZAR_']['fichier'])) unset($_SESSION['_BAZAR_']['fichier']) ; |
if (isset ($_SESSION['_BAZAR_']['image'])) unset($_SESSION['_BAZAR_']['image']); |
if (isset ($_SESSION['_BAZAR_']['lien'])) unset($_SESSION['_BAZAR_']['lien']); |
$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER_V); |
} |
$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']); |
} |
if ($mode == BAZ_ACTION_MODIFIER_V) { |
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_MODIFIER_V); |
$lien_formulaire->addQueryString('action', BAZ_ACTION_MODIFIER_V); |
$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']); |
} |
|
548,7 → 582,7 |
$formtemplate = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&/', '&', $lien_formulaire->getURL()) ); |
$squelette =& $formtemplate->defaultRenderer(); |
$squelette->setFormTemplate("\n".'<form {attributes}>'."\n".'<table style="border:0;width:100%;">'."\n".'{content}'."\n".'</table>'."\n".'</form>'."\n"); |
$squelette->setElementTemplate( '<tr>'."\n".'<td>'."\n".'{label}'. |
$squelette->setElementTemplate( '<tr>'."\n".'<td style="font-size:12px;width:120px;text-align:right;">'."\n".'{label}'. |
'<!-- BEGIN required --><span class="symbole_obligatoire"> *</span><!-- END required -->'."\n". |
' </td>'."\n".'<td style="text-align:left;padding:5px;"> '."\n".'{element}'."\n". |
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n". |
568,11 → 602,7 |
if ($mode == BAZ_DEPOSER_ANNONCE) { |
$res = ''; |
//requete pour obtenir le nom et la description des types d'annonce |
$requete = 'SELECT * FROM bazar_nature WHERE bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') '; |
if (isset($GLOBALS['_BAZAR_']['langue'])) { |
$requete .= ' and bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%" '; |
} |
$requete .= 'ORDER BY bn_label_nature ASC'; |
$requete = 'SELECT * FROM bazar_nature WHERE bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') ORDER BY bn_label_nature ASC'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
return ($resultat->getMessage().$resultat->getDebugInfo()) ; |
580,7 → 610,7 |
//$res.='<h2>'.BAZ_DEPOSE_UNE_NOUVELLE_ANNONCE.'</h2>'."\n"; |
include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazarTemplate.class.php'; |
$modele = new bazarTemplate($GLOBALS['_BAZAR_']['db']); |
$res .= $modele->getTemplate(BAZ_TEMPLATE_FORMULAIRE_ACCUEIL, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['categorie_nature']); |
$res .= $modele->getTemplate(BAZ_TEMPLATE_FORMULAIRE_ACCUEIL, $GLOBALS['_BAZAR_']['langue']); |
if ($resultat->numRows()==1) { |
$ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC); |
$GLOBALS['_BAZAR_']['id_typeannonce']=$ligne['bn_id_nature']; |
592,14 → 622,14 |
$GLOBALS['_BAZAR_']['image_titre']=$ligne['bn_image_titre']; |
$GLOBALS['_BAZAR_']['image_logo']=$ligne['bn_image_logo']; |
$mode = BAZ_ACTION_NOUVEAU; |
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_NOUVEAU_V); |
$lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V); |
|
} else { |
//$res.='<br />'.BAZ_CHOIX_TYPEANNONCE.'<br /><br />'."\n"; |
$res.='<br />'.BAZ_CHOIX_TYPEANNONCE.'<br /><br />'."\n"; |
while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) { |
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']); |
if (($utilisateur->isRedacteur($ligne['bn_id_nature'])) || ($utilisateur->isAdmin($ligne['bn_id_nature'])) |
|| ($utilisateur->isSuperAdmin() || !BAZ_RESTREINDRE_DEPOT)) { |
$droitspers=niveau_droit($ligne["bn_id_nature"],$GLOBALS["id_user"]); |
if (($droitspers=='redacteur') or ($droitspers=='administrateur') |
or ($droitspers=='superadministrateur' or !BAZ_RESTREINDRE_DEPOT)) { |
if ($ligne['bn_image_titre']!='') { |
$titre=' <img src="client/bazar/images/'.$ligne['bn_image_titre'].'" alt="'. |
$ligne['bn_label_nature'].'" />'.'<br />'."\n"; |
610,11 → 640,18 |
$titre.$ligne['bn_description'].'<br /><br />'."\n", |
$ligne['bn_id_nature'], array("id" => 'select'.$ligne['bn_id_nature'], |
"style" => 'float:left;')); |
$formtemplate->addRule('typeannonce', 'Il faut choisir un type de fiche', 'required', '', 'client') ; |
} |
} |
$squelette->setElementTemplate( '<div class="listechoix">'."\n".'{element}'."\n".'</div>'."\n"); |
|
|
//Mettre les annonces en choix par defaut |
$formtemplate->setdefaults(array('typeannonce'=>'1')); |
|
// Bouton d annulation |
$lien_formulaire->removeQueryString('action'); |
$buttons[] = &HTML_QuickForm::createElement('link', 'annuler', BAZ_ANNULER, |
preg_replace ("/&/", "&", $lien_formulaire->getURL()), BAZ_ANNULER); // Le preg_replace contourne un pb de QuickForm et Net_URL |
// qui remplacent deux fois les & par des & |
//Bouton de validation du formulaire // ce qui fait échouer le lien |
$buttons[] = &HTML_QuickForm::createElement('submit', 'valider', BAZ_VALIDER); |
$formtemplate->addGroup($buttons, null, null, ' '); |
623,12 → 660,13 |
$res.= $formtemplate->toHTML()."\n"; |
} |
} |
|
|
//------------------------------------------------------------------------------------------------ |
//AFFICHAGE DU FORMULAIRE CORRESPONDANT AU TYPE DE L'ANNONCE CHOISI PAR L'UTILISATEUR |
//------------------------------------------------------------------------------------------------ |
if ($mode == BAZ_ACTION_NOUVEAU) { |
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_NOUVEAU_V); |
unset ($_SESSION['formulaire_annonce_valide']) ; |
$lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V); |
$formtemplate->updateAttributes(array('action' => str_replace('&', '&', $lien_formulaire->getURL()))); |
// Appel du modele |
include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazarTemplate.class.php'; |
648,20 → 686,18 |
$res=baz_afficher_formulaire_annonce('modification',$formtemplate); |
} |
|
// Nettoyage de l'url avant les return : apparement inutile sinon pose pb (url applette deconnexion et moteur de recherche) [jpm le 17 mars 2008] |
//$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION); |
//$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche'); |
// Nettoyage de l'url avant les return |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action'); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche'); |
|
//------------------------------------------------------------------------------------------------ |
//CAS DE L'INSCRIPTION D'UNE ANNONCE |
//------------------------------------------------------------------------------------------------ |
if ($mode == BAZ_ACTION_NOUVEAU_V) { |
if ($formtemplate->validate()) { |
if ($formtemplate->validate() && !isset($_SESSION['formulaire_annonce_valide'])) { |
$formtemplate->process('baz_insertion', false) ; |
// Redirection vers mes_fiches pour eviter la revalidation du formulaire |
$GLOBALS['_BAZAR_']['url']->addQueryString (BAZ_VARIABLE_VOIR, BAZ_VOIR_MES_FICHES); |
header ('Location: '.str_replace ('&', '&', $GLOBALS['_BAZAR_']['url']->getURL())) ; |
exit(); |
$_SESSION['formulaire_annonce_valide'] = 1; |
return; |
} |
} |
|
671,17 → 707,30 |
if ($mode == BAZ_ACTION_MODIFIER_V) { |
if ($formtemplate->validate()) { |
$formtemplate->process('baz_mise_a_jour', false) ; |
|
// Redirection vers mes_fiches pour eviter la revalidation du formulaire |
$GLOBALS['_BAZAR_']['url']->addQueryString (BAZ_VARIABLE_VOIR, BAZ_VOIR_MES_FICHES); |
header ('Location: '.str_replace ('&', '&', $GLOBALS['_BAZAR_']['url']->getURL())) ; |
exit(); |
return ; |
} |
} |
} else { |
} |
else { |
/* |
$res .= '<h2>'.BAZ_DEPOSE_UNE_NOUVELLE_ANNONCE.'</h2><br />'."\n"; |
$res .= '<p class="zone_info">'.BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR.'</p>'."\n" ; |
$res .= '<form id="form_connexion" class="form_identification" action="' ; |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_DEPOSER_ANNONCE); |
$res .= $GLOBALS['_BAZAR_']['url']->getURL(); |
$res .= '" method="post"> |
<fieldset> |
<legend>Identifiez vous</legend> |
<label for="username">Courriel : </label> |
<input type="text" id="username" name="username" maxlength="80" tabindex="1" value="courriel" /> |
<label for="password">Mot de passe : </label> |
<input type="password" id="password" name="password" maxlength="80" tabindex="2" value="mot de passe" /> |
<input type="submit" id="connexion" name="connexion" tabindex="3" value="ok" /> |
</fieldset> |
</form>';*/ |
include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazarTemplate.class.php'; |
$modele = new bazarTemplate($GLOBALS['_BAZAR_']['db']); |
$res .= $modele->getTemplate(BAZ_TEMPLATE_MESSAGE_LOGIN, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['categorie_nature']); |
$res .= $modele->getTemplate(BAZ_TEMPLATE_MESSAGE_LOGIN, $GLOBALS['_BAZAR_']['langue']); |
} |
|
return $res; |
731,28 → 780,20 |
$valeurs_par_defaut = baz_valeurs_fiche($GLOBALS['_BAZAR_']['id_fiche']) ; |
|
for ($i=0; $i<count($tableau); $i++) { |
if ( $tableau[$i]['type']=='liste' || $tableau[$i]['type']=='checkbox') { |
if ( $tableau[$i]['type']=='liste' || $tableau[$i]['type']=='checkbox' ) { |
$def=$tableau[$i]['type'].$tableau[$i]['nom_bdd']; |
} |
elseif ( $tableau[$i]['type']=='texte' || $tableau[$i]['type']=='textelong' || $tableau[$i]['type']=='listedatedeb' |
|| $tableau[$i]['type']=='listedatefin' || $tableau[$i]['type']=='champs_cache' |
|| $tableau[$i]['type']=='labelhtml' ) { |
elseif ( $tableau[$i]['type']=='texte' || $tableau[$i]['type']=='textelong' || $tableau[$i]['type']=='listedatedeb' || $tableau[$i]['type']=='listedatefin' || $tableau[$i]['type']=='champs_cache') { |
$def=$tableau[$i]['nom_bdd']; |
} elseif ($tableau[$i]['type']=='carte_google') { |
$def = 'carte_google'; |
$valeurs_par_defaut[$def] = array ('latitude' => $valeurs_par_defaut['bf_latitude'], 'longitude' => $valeurs_par_defaut['bf_longitude']); |
} |
// certain type n ont pas de valeur par defaut (labelhtml par exemple) |
// on teste l existence de $valeur_par_defaut[$def] avant de le passer en parametre |
$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'], |
$tableau[$i]['limite2'], |
isset ($valeurs_par_defaut[$def]) ? $valeurs_par_defaut[$def] : '', |
$tableau[$i]['table_source'], $tableau[$i]['obligatoire']) ; |
$tableau[$i]['limite2'], $valeurs_par_defaut[$def], $tableau[$i]['table_source'], $tableau[$i]['obligatoire']) ; |
if ($tableau[$i]['type']=='carte_google') { |
include_once GEN_CHEMIN_API.'formulaire/formulaire.fonct.google.php'; |
GEN_stockerCodeScript($script); |
// On ajoute l attribut load a la balise body |
GEN_AttributsBody('onload', 'load()'); |
} |
} |
} |
763,8 → 804,6 |
if ($tableau[$i]['type'] == 'carte_google') { |
include_once GEN_CHEMIN_API.'formulaire/formulaire.fonct.google.php'; |
GEN_stockerCodeScript($script); |
// On ajoute l attribut load a la balise body |
GEN_AttributsBody('onload', 'load()'); |
} |
} |
} |
772,8 → 811,8 |
|
// Bouton d annulation |
$attr = $formtemplate->getAttributes(); |
$lien_formulaire = new Net_URL($attr[BAZ_VARIABLE_ACTION]); |
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_VOIR_VOS_ANNONCES); |
$lien_formulaire = new Net_URL($attr['action']); |
$lien_formulaire->addQueryString('action', BAZ_ACTION_VOIR_VOS_ANNONCES); |
$buttons[] = &HTML_QuickForm::createElement('link', 'annuler', BAZ_ANNULER, |
preg_replace ("/&/", "&", $lien_formulaire->getURL()), BAZ_ANNULER); // Le preg_replace contourne un pb de QuickForm et Net_URL |
// qui remplacent deux fois les & par des & |
797,10 → 836,8 |
function requete_bazar_fiche($valeur) { |
$requete=NULL; |
//l'annonce est directement publiée pour les admins |
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']); |
|
if ($utilisateur->isAdmin($GLOBALS['_BAZAR_']['id_typeannonce']) || |
$utilisateur->isSuperAdmin()) { |
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, '; |
} |
else { |
846,14 → 883,8 |
} |
} |
//cas des urls |
// On affine les criteres pour l insertion d une url |
// il faut que le lien soit saisie, different de http:// ET que le texte du lien soit saisie aussi |
// et ce afin d eviter d avoir des liens vides |
elseif ($tableau[$i]['type']=='url') { |
if (isset($valeur['url_lien'.$tableau[$i]['nom_bdd']]) && |
$valeur['url_lien'.$tableau[$i]['nom_bdd']]!='http://' |
&& isset($valeur['url_texte'.$tableau[$i]['nom_bdd']]) && |
strlen ($valeur['url_texte'.$tableau[$i]['nom_bdd']])) { |
if (isset($valeur['url_lien'.$tableau[$i]['nom_bdd']]) && $valeur['url_lien'.$tableau[$i]['nom_bdd']]!='' ) { |
baz_insertion_url($valeur['url_lien'.$tableau[$i]['nom_bdd']], $valeur['url_texte'.$tableau[$i]['nom_bdd']], $GLOBALS['_BAZAR_']['id_fiche']); |
} |
} |
882,13 → 913,13 |
$requete .= $tableau[$i]['nom_bdd'].'="'.$val.'", ' ; |
} |
//cas des champs texte |
elseif ( $tableau[$i]['type']=='texte' || $tableau[$i]['type']=='textelong' || $tableau[$i]['type']=='champs_cache' || $tableau[$i]['type']=='champs_mail' ) { |
elseif ( $tableau[$i]['type']=='texte' || $tableau[$i]['type']=='textelong' || $tableau[$i]['type']=='champs_cache' ) { |
//on mets les slashes pour les saisies dans les champs texte et textearea |
$val=addslashes($valeur[$tableau[$i]['nom_bdd']]) ; |
$requete .= $tableau[$i]['nom_bdd'].'="'.$val.'", ' ; |
} |
//cas des wikinis |
elseif ( $tableau[$i]['type']=='wikini' && $_REQUEST[BAZ_VARIABLE_ACTION]==BAZ_ACTION_NOUVEAU_V ) { |
elseif ( $tableau[$i]['type']=='wikini' && $_REQUEST['action']==BAZ_ACTION_NOUVEAU_V ) { |
//on appelle les pages des apis et de l'integrateur wikini |
include_once PAP_CHEMIN_RACINE.'api/sql/SQL_manipulation.fonct.php'; |
include_once PAP_CHEMIN_RACINE.'client/integrateur_wikini/configuration/adwi_configuration.inc.php' ; |
944,8 → 975,7 |
} |
} |
} |
|
return ; |
return; |
} |
|
|
958,18 → 988,15 |
*/ |
function baz_insertion_url($url_lien, $url_texte, $idfiche) { |
//requete d'insertion dans bazar_url |
if (!isset($_SESSION['_BAZAR_']['lien'])) { |
$id_url = baz_nextId('bazar_url', 'bu_id_url', $GLOBALS['_BAZAR_']['db']) ; |
$requete = 'INSERT INTO bazar_url SET bu_id_url='.$id_url.', bu_ce_fiche='.$idfiche.', '. |
'bu_url="'.$url_lien.'", bu_descriptif_url="'.addslashes($url_texte).'"'; |
|
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
return $resultat->getMessage().$resultat->getDebugInfo() ; |
} |
$_SESSION['_BAZAR_']['lien'] = 1; |
return; |
} |
$id_url = baz_nextId('bazar_url', 'bu_id_url', $GLOBALS['_BAZAR_']['db']) ; |
$requete = 'INSERT INTO bazar_url SET bu_id_url='.$id_url.', bu_ce_fiche='.$idfiche.', '. |
'bu_url="'.$url_lien.'", bu_descriptif_url="'.addslashes($url_texte).'"'; |
|
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
return; |
} |
|
|
984,24 → 1011,21 |
//verification de la presence de ce fichier |
$requete = 'SELECT bfj_id_fichier FROM bazar_fichier_joint WHERE bfj_fichier="'.$_FILES[$nom_fichier]['name'].'"'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
if (!isset ($_SESSION['_BAZAR_']['fichier'])) { |
if ($resultat->numRows()==0) { |
$chemin_destination=BAZ_CHEMIN_APPLI.'upload/'.$_FILES[$nom_fichier]['name']; |
move_uploaded_file($_FILES[$nom_fichier]['tmp_name'], $chemin_destination); |
chmod ($chemin_destination, 0755); |
} |
$id_fichier_joint = baz_nextId('bazar_fichier_joint', 'bfj_id_fichier', $GLOBALS['_BAZAR_']['db']) ; |
$requete = 'INSERT INTO bazar_fichier_joint SET bfj_id_fichier='.$id_fichier_joint.', bfj_ce_fiche='.$idfiche. |
', bfj_description="'.addslashes($fichier_description).'", bfj_fichier="'.$_FILES[$nom_fichier]['name'].'"'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
return $resultat->getMessage().$resultat->getDebugInfo() ; |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
if ($resultat->numRows()==0) { |
$chemin_destination=BAZ_CHEMIN_APPLI.'upload/'.$_FILES[$nom_fichier]['name']; |
move_uploaded_file($_FILES[$nom_fichier]['tmp_name'], $chemin_destination); |
chmod ($chemin_destination, 0755); |
} |
$_SESSION['_BAZAR_']['fichier'] = 1; |
$id_fichier_joint = baz_nextId('bazar_fichier_joint', 'bfj_id_fichier', $GLOBALS['_BAZAR_']['db']) ; |
$requete = 'INSERT INTO bazar_fichier_joint SET bfj_id_fichier='.$id_fichier_joint.', bfj_ce_fiche='.$idfiche. |
', bfj_description="'.addslashes($fichier_description).'", bfj_fichier="'.$_FILES[$nom_fichier]['name'].'"'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
return; |
} |
|
1023,7 → 1047,6 |
move_uploaded_file($_FILES['image']['tmp_name'], $chemin_destination); |
chmod ($chemin_destination, 0755); |
} |
$_SESSION['_BAZAR_']['image'] = 1; |
return 'bf_url_image="'.$_FILES['image']['name'].'", ' ; |
} |
|
1076,17 → 1099,20 |
} |
|
//suppression des urls associes |
$requete = 'delete FROM bazar_url WHERE bu_ce_fiche = '.$_GET['id_fiche']; |
$requete = 'SELECT bu_id_url FROM bazar_url WHERE bu_ce_fiche = '.$_GET['id_fiche']; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
return ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ; |
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ; |
} |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
baz_suppression_url($ligne['bu_id_url']); |
} |
|
//suppression des fichiers associes |
$requete = 'SELECT bfj_id_fichier FROM bazar_fichier_joint WHERE bfj_ce_fiche = '.$_GET['id_fiche']; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
return ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ; |
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ; |
} |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
baz_suppression_fichier($ligne['bfj_id_fichier']); |
1140,7 → 1166,7 |
$requete = 'DELETE FROM bazar_fichier_joint WHERE bfj_id_fichier = '.$id_fichier; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
return ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ; |
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ; |
} |
return; |
} |
1206,41 → 1232,110 |
*/ |
function baz_s_inscrire() { |
$res= '<h2>'.BAZ_S_INSCRIRE_AUX_ANNONCES.'</h2>'."\n"; |
if (isset($_GET['inscrip'])) { |
//cas d'une desinscription |
if ($_GET['inscrip']==0) { |
$requete='DELETE FROM bazar_abonnement WHERE ba_id_utilisateur='.$GLOBALS['id_user'].' AND ba_id_rubrique='.$_GET['idtypeannonce']; |
} |
//cas d'une inscription |
else { |
$requete='INSERT INTO bazar_abonnement VALUES ('.$GLOBALS['id_user'].', '.$_GET['idtypeannonce'].')'; |
} |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
} |
|
if ($GLOBALS['AUTH']->getAuth()) { |
$res .= '<p id="laius_abonnement">'.BAZ_LAIUS_S_ABONNER.'</p>'."\n"; |
//requete pour obtenir l'id et le label des types d'annonces |
$requete = 'SELECT bn_id_nature, bn_label_nature, bn_image_titre '. |
'FROM bazar_nature WHERE 1'; |
'FROM bazar_nature WHERE 1'; /*bn_ce_id_menu='.$GLOBALS['_BAZAR_']['categorie_nature'];*/ |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
return ($resultat->getMessage().$resultat->getDebugInfo()) ; |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
|
// Nettoyage de l url |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_VOIR); |
|
$table = new HTML_Table(array ('class' => 'table_bazar')); |
$table->addRow(array(BAZ_TYPE_ANNONCES, BAZ_RSS)); |
$table = new HTML_Table(array ('width' => '100%', 'class' => 'table_bazar')); |
$table->addRow(array(BAZ_TYPE_ANNONCES, BAZ_STATUT, BAZ_PASSER_EN, BAZ_RSS)); |
$table->setRowType(0, 'th'); |
|
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
$tab_parametres_GET = explode ("&", $_SERVER["argv"][0]) ; |
foreach ($tab_parametres_GET as $cle_param => $valeur_param) { |
$tab_valeur = explode ('=', $valeur_param) ; |
$GLOBALS['_BAZAR_']['url']->addQueryString($tab_valeur[0], $tab_valeur[1]); |
} |
|
$lien_s_abonner=$GLOBALS['_BAZAR_']['url']; |
$lien_s_abonner->addQueryString('action', BAZ_S_INSCRIRE); |
$lien_s_abonner->addQueryString('idtypeannonce', $ligne['bn_id_nature']); |
$lien_s_abonner->addQueryString('inscrip', 1); |
|
$lien_se_desabonner=$GLOBALS['_BAZAR_']['url']; |
$lien_se_desabonner->addQueryString('action', BAZ_S_INSCRIRE); |
$lien_se_desabonner->addQueryString('idtypeannonce', $ligne['bn_id_nature']); |
$lien_se_desabonner->addQueryString('inscrip', 0); |
|
$lien_RSS=$GLOBALS['_BAZAR_']['url']; |
$lien_RSS->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FLUX_RSS); |
$lien_RSS->addQueryString('annonce', $ligne[bn_id_nature]); |
$lien_RSS->addQueryString('action', BAZ_VOIR_FLUX_RSS); |
|
//requete pour savoir si la personne est inscrite a ce type d'annonce |
$requete = 'SELECT ba_id_utilisateur '. |
'FROM bazar_abonnement '. |
'WHERE ba_id_utilisateur='.$GLOBALS['id_user'].' AND ba_id_rubrique='.$ligne['bn_id_nature']; |
$resultat2 = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat2)) { |
die ($resultat2->getMessage().$resultat2->getDebugInfo()) ; |
} |
if (isset($ligne['bn_image_titre'])) {$titre=' <img src="client/bazar/images/'.$ligne['bn_image_titre'].'" alt="'.$ligne['bn_label_nature'].'" />'."\n";} |
else {$titre='<strong> '.$ligne['bn_label_nature'].'</strong>'."\n";} |
|
$table->addRow(array($titre, |
'<a href="'.$lien_RSS->getURL().'"><img src="client/bazar/images/BAZ_rss.png" alt="'.BAZ_RSS.'"></a>')); |
$lien_RSS->removeQueryString('annonce'); |
if ($resultat2->numRows()>0) { |
$lien_RSS->addQueryString('annonce', $ligne['bn_id_nature']); |
$table->addRow(array($titre, |
BAZ_ABONNE, |
'<a href='.$lien_se_desabonner->getURL().'>'.BAZ_SE_DESABONNER.'</a>', |
'<a href='.$lien_RSS->getURL().'><img src="client/bazar/images/BAZ_rss.png" alt="'.BAZ_RSS.'"></a>')); |
$lien_RSS->removeQueryString('annonce'); |
} |
else { |
$lien_RSS->addQueryString('annonce', $ligne['bn_id_nature']); |
$table->addRow(array($titre, |
BAZ_PAS_ABONNE, |
'<a href='.$lien_s_abonner->getURL().'>'.BAZ_S_ABONNER.'</a>', |
'<a href='.$lien_RSS->getURL().'><img src="client/bazar/images/BAZ_rss.png" alt="'.BAZ_RSS.'" /></a>')); |
$lien_RSS->removeQueryString('annonce'); |
} |
} |
$table->altRowAttributes(1, array('class' => 'ligne_impaire'), array('class' => 'ligne_paire')); |
$table->updateColAttributes(0, array('class' => 'col1')); |
$table->updateColAttributes(1, array('class' => 'col2')); |
$table->updateColAttributes(0, array('id' => 'col1')); |
$table->updateColAttributes(1, array('id' => 'col2')); |
$table->updateColAttributes(2, array('id' => 'col3')); |
$table->updateColAttributes(3, array('id' => 'col4')); |
$res.=$table->toHTML() ; |
|
} |
else { |
$res .= '<p class="zone_info">'.BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR.'</p>'."\n" ; |
$res .= '<form id="form_connexion" style="clear:both;" class="form_identification" action="' ; |
$GLOBALS['_BAZAR_']['url']->addQueryString('action', BAZ_S_INSCRIRE); |
$res .= $GLOBALS['_BAZAR_']['url']->getURL(); |
$res .= '" method="post"> |
<fieldset> |
<legend>Identifiez vous</legend> |
<label for="username">Courriel : </label> |
<input type="text" id="username" name="username" maxlength="80" tabindex="1" value="courriel" /> |
<label for="password">Mot de passe : </label> |
<input type="password" id="password" name="password" maxlength="80" tabindex="2" value="mot de passe" /> |
<input type="submit" id="connexion" name="connexion" tabindex="3" value="ok" /> |
</fieldset> |
</form>'; |
} |
|
// Nettoyage de l'url |
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('action'); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('idtypeannonce'); |
$GLOBALS['_BAZAR_']['url']->removeQueryString('inscrip'); |
|
return $res; |
} |
1329,56 → 1424,6 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: bazar.fonct.php,v $ |
* Revision 1.74.2.10 2008-02-01 17:20:18 florian |
* suppression du lien annuler pour la sélection des fiches, pas de valeur par défaut pour la sélection, et sélectionner un type de fiche devient obligatoire. |
* |
* Revision 1.74.2.9 2008-02-01 16:23:29 florian |
* ajout champs_mail, décommenter les traductions des javascripts |
* |
* Revision 1.74.2.8 2008-02-01 09:56:56 alexandre_tb |
* reglage du pb de double saisie de fiche, |
* ajout d un exit apres le header location |
* |
* Revision 1.74.2.7 2008-01-29 14:35:22 alexandre_tb |
* suppression de l identification pour l abonnement au fluxRSS |
* |
* Revision 1.74.2.6 2008-01-29 09:55:07 alexandre_tb |
* suppression de l identification pour l abonnement au fluxRSS |
* |
* Revision 1.74.2.5 2008-01-29 09:35:36 alexandre_tb |
* remplacement des variables action par une constante |
* Utilisation d un redirection pour eviter que les formulaires soient valides 2 fois |
* simplification de la suppression d un lien associe a une liste |
* |
* Revision 1.74.2.4 2008-01-11 14:10:12 alexandre_tb |
* Remplacement de la variable action ecrite en dur par la constante BAZ_VARIABLE_ACTION |
* |
* Revision 1.74.2.3 2007-12-14 09:55:05 alexandre_tb |
* suppression de style dans le formulaire |
* |
* Revision 1.74.2.2 2007-12-06 15:36:07 alexandre_tb |
* appel de la fonction GEN_AttributsBody dans le composant carte_google |
* |
* Revision 1.74.2.1 2007-12-04 09:00:08 alexandre_tb |
* corrections importantes sur baz_s_inscrire, simplification de l'application qui ne fonctionnait pas. |
* |
* Revision 1.74 2007-10-25 09:41:31 alexandre_tb |
* mise en place de variable de session pour eviter que les formulaires soit valider 2 fois, pour les url, fichiers et image |
* |
* Revision 1.73 2007-10-24 13:27:00 alexandre_tb |
* bug : double saisie d url |
* suppression de warning sur variable |
* |
* Revision 1.72 2007-10-22 10:09:21 florian |
* correction template |
* |
* Revision 1.71 2007-10-22 09:18:39 alexandre_tb |
* prise en compte de la langue dans les requetes sur bazar_nature |
* |
* Revision 1.70 2007-10-10 13:26:36 alexandre_tb |
* utilisation de la classe Administrateur_bazar a la place de niveau_droit |
* suppression de fonction niveau_droit |
* |
* Revision 1.69 2007-09-18 07:39:42 alexandre_tb |
* correction d un bug lors d une insertion |
* |