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.27 2006-01-04 15:30:56 alexandre_tb Exp $ |
// CVS : $Id: bazar.fonct.php,v 1.28 2006-01-05 16:28:24 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.27 $ $Date: 2006-01-04 15:30:56 $ |
*@version $Revision: 1.28 $ $Date: 2006-01-05 16:28:24 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
157,10 → 157,10 |
function mes_fiches() { |
if ($GLOBALS['AUTH']->getAuth()) { |
$res= '<h2>'.BAZ_VOS_ANNONCES.'</h2><br />'."\n"; |
// requete pour voir si l'utilisateur a des fiches à son nom, classées par date de MAJ et nature d'annonce |
// 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) ; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;echo $requete ; |
if (DB::isError($resultat)) { |
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ; |
} |
231,7 → 231,8 |
|
/** baz_formulaire() - Renvoie le menu pour les saisies et modification des annonces |
* |
* @param string choix du formulaire a afficher (soit formulaire personnalise 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 |
*/ |
248,7 → 249,7 |
|
//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_label_nature="'.$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()) ; |
313,7 → 314,7 |
//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. |
" or bn_ce_id_menu=0 ORDER BY bn_label_nature ASC";echo $requete; |
" 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()) ; |
403,7 → 404,7 |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
} |
//CAS DU SUPER ADMIN: On efface tous les droits de la personne en général |
//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) ; |
784,12 → 785,13 |
} |
//cas des checkbox |
elseif ($tableau[$i]['type']=='checkbox') { |
|
if (isset($valeur[$tableau[$i]['nom_bdd']])) { |
$val=implode('**', array_keys($valeur[$tableau[$i]['nom_bdd']])); |
} else { |
$val=BAZ_NON_PRECISE; |
} |
|
continue ; |
} |
//cas des champs texte et textarea |
else { |
807,7 → 809,7 |
|
/** baz_insertion() - inserer une nouvelle fiche |
* |
* @array Le tableau des valeurs à insérer |
* @array Le tableau des valeurs a inserer |
* @integer Valeur de l'identifiant de la fiche |
* @return void |
*/ |
816,11 → 818,15 |
// 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) ; |
|
// =========== Insertion d'une nouvelle fiche =================== |
//requete d'insertion dans bazar_fiche |
$requete = 'INSERT INTO bazar_fiche SET bf_id_fiche='.baz_nextid('bazar_fiche', 'bf_id_fiche', $GLOBALS['_BAZAR_']['db']).','. |
$id_fiche = baz_nextid('bazar_fiche', 'bf_id_fiche', $GLOBALS['_BAZAR_']['db']) ; |
$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) { |
831,11 → 837,38 |
if (DB::isError($resultat)) { |
die ($resultat->getMessage().$resultat->getDebugInfo()) ; |
} |
|
// 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'); |
|
for ($i=0; $i<count($tableau); $i++) { |
if ($tableau[$i]['type']=='checkbox') { |
$requete_source = 'select * from '.$tableau[$i]['table_source'] ; |
$resultat_source = $GLOBALS['_BAZAR_']['db']->query($requete_source) ; |
if (DB::isError($resultat_source)) { |
die ($resultat_source->getMessage().$resultat_source->getDebugInfo()) ; |
} |
while ($ligne_source = $resultat_source->fetchRow(DB_FETCHMODE_ORDERED)) { |
if (isset($valeur[$tableau[$i]['table_jointe']][$ligne_source[0]]) |
&& $valeur[$tableau[$i]['table_jointe']][$ligne_source[0]] != '' ) { |
$requete = 'insert into '.$tableau[$i]['table_jointe'].' set '. |
$tableau[$i]['champs_id_fiche'].'='.$id_fiche. |
','.$tableau[$i]['champs_id_table_jointe'].'='. |
$ligne_source[0]; |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ; |
if (DB::isError($resultat)) { |
echo $resultat->getMessage().$resultat->getDebugInfo() ; |
} |
} |
} |
} |
} |
return; |
} |
|
|
/** baz_insertion_url() - insérer un lien URL à une fiche |
/** baz_insertion_url() - inserer un lien URL à une fiche |
* |
* @global string L'url du lien |
* @global string Le texte du lien |
856,7 → 889,7 |
} |
|
|
/** baz_insertion_fichier() - insérer un fichier à une fiche |
/** baz_insertion_fichier() - inserer un fichier a une fiche |
* |
* @global string Le label du fichier |
* @global string La description du fichier |
945,7 → 978,7 |
|
/** baz_suppression() - Supprime une fiche |
* |
* @global L'identifiant de la fiche à supprimer |
* @global L'identifiant de la fiche a supprimer |
* @return void |
*/ |
function baz_suppression() { |
955,7 → 988,24 |
if (DB::isError($resultat)) { |
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ; |
} |
//suppression des urls associés |
|
$GLOBALS['_BAZAR_']['typeannonce'] = $_GET['typeannonce'] ; |
// 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'); |
|
for ($i=0; $i<count($tableau); $i++) { |
if ($tableau[$i]['type']=='checkbox') { |
$requete_suppr = 'delete from '.$tableau[$i]['table_jointe']. |
' where '.$tableau[$i]['champs_id_fiche'].'='.$_GET['id_fiche'] ; |
$resultat_suppr = $GLOBALS['_BAZAR_']['db']->query($requete_suppr) ;echo $requete_suppr; |
if (DB::isError($resultat_suppr)) { |
die ($resultat_suppr->getMessage().$resultat_suppr->getDebugInfo()) ; |
} |
} |
} |
//suppression des urls associes |
$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)) { |
965,7 → 1015,7 |
baz_suppression_url($ligne['bu_id_url']); |
} |
|
//suppression des fichiers associés |
//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)) { |
1353,6 → 1403,9 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.27 2006/01/04 15:30:56 alexandre_tb |
* mise en forme du code |
* |
* Revision 1.26 2006/01/03 10:19:31 florian |
* Mise à jour pour accepter des parametres dans papyrus: faire apparaitre ou non le menu, afficher qu'un type de fiches, définir l'action par défaut... |
* |