Subversion Repositories Applications.bazar

Compare Revisions

Ignore whitespace Rev 65 → Rev 67

/trunk/bibliotheque/bazar.fonct.php
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...
*