| Line 17... |
Line 17... |
| 17 |
// | |
|
17 |
// | |
|
| 18 |
// | You should have received a copy of the GNU Lesser General Public |
|
18 |
// | You should have received a copy of the GNU Lesser General Public |
|
| 19 |
// | License along with this library; if not, write to the Free Software |
|
19 |
// | License along with this library; if not, write to the Free Software |
|
| 20 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
20 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
| 21 |
// +------------------------------------------------------------------------------------------------------+
|
21 |
// +------------------------------------------------------------------------------------------------------+
|
| 22 |
// CVS : $Id: bazar.fonct.php,v 1.31 2006-01-17 10:07:08 alexandre_tb Exp $
|
22 |
// CVS : $Id: bazar.fonct.php,v 1.32 2006-01-18 10:03:36 florian Exp $
|
| 23 |
/**
|
23 |
/**
|
| 24 |
*
|
24 |
*
|
| 25 |
* Fonctions du module bazar
|
25 |
* Fonctions du module bazar
|
| 26 |
*
|
26 |
*
|
| 27 |
*
|
27 |
*
|
| Line 29... |
Line 29... |
| 29 |
//Auteur original :
|
29 |
//Auteur original :
|
| 30 |
*@author Alexandre Granier <alexandre@tela-botanica.org>
|
30 |
*@author Alexandre Granier <alexandre@tela-botanica.org>
|
| 31 |
*@author Florian Schmitt <florian@ecole-et-nature.org>
|
31 |
*@author Florian Schmitt <florian@ecole-et-nature.org>
|
| 32 |
//Autres auteurs :
|
32 |
//Autres auteurs :
|
| 33 |
*@copyright Tela-Botanica 2000-2004
|
33 |
*@copyright Tela-Botanica 2000-2004
|
| 34 |
*@version $Revision: 1.31 $ $Date: 2006-01-17 10:07:08 $
|
34 |
*@version $Revision: 1.32 $ $Date: 2006-01-18 10:03:36 $
|
| 35 |
// +------------------------------------------------------------------------------------------------------+
|
35 |
// +------------------------------------------------------------------------------------------------------+
|
| 36 |
*/
|
36 |
*/
|
| Line 37... |
Line 37... |
| 37 |
|
37 |
|
| 38 |
// +------------------------------------------------------------------------------------------------------+
|
38 |
// +------------------------------------------------------------------------------------------------------+
|
| Line 751... |
Line 751... |
| 751 |
* @global mixed L'objet contenant les valeurs issues de la saisie du formulaire
|
751 |
* @global mixed L'objet contenant les valeurs issues de la saisie du formulaire
|
| 752 |
* @return void
|
752 |
* @return void
|
| 753 |
*/
|
753 |
*/
|
| 754 |
function requete_bazar_fiche($valeur) {
|
754 |
function requete_bazar_fiche($valeur) {
|
| 755 |
$requete=NULL;
|
755 |
$requete=NULL;
|
| - |
|
756 |
print_r($valeur);
|
| 756 |
//l'annonce est directement publiée pour les admins
|
757 |
//l'annonce est directement publiée pour les admins
|
| 757 |
if ((niveau_droit($GLOBALS['_BAZAR_']['id_typeannonce'],$GLOBALS['id_user'])=='administrateur') or
|
758 |
if ((niveau_droit($GLOBALS['_BAZAR_']['id_typeannonce'],$GLOBALS['id_user'])=='administrateur') or
|
| 758 |
(niveau_droit($GLOBALS['_BAZAR_']['id_typeannonce'],$GLOBALS['id_user'])=='superadministrateur')) {
|
759 |
(niveau_droit($GLOBALS['_BAZAR_']['id_typeannonce'],$GLOBALS['id_user'])=='superadministrateur')) {
|
| 759 |
$requete.='bf_statut_fiche=1, ';
|
760 |
$requete.='bf_statut_fiche=1, ';
|
| 760 |
}
|
761 |
}
|
| Line 762... |
Line 763... |
| 762 |
$requete.='bf_statut_fiche="'.BAZ_ETAT_VALIDATION.'", ';
|
763 |
$requete.='bf_statut_fiche="'.BAZ_ETAT_VALIDATION.'", ';
|
| 763 |
}
|
764 |
}
|
| Line 764... |
Line 765... |
| 764 |
|
765 |
|
| 765 |
$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
|
766 |
$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
|
| 766 |
for ($i=0; $i<count($tableau); $i++) {
|
767 |
for ($i=0; $i<count($tableau); $i++) {
|
| 767 |
if ($tableau[$i]['type']!='labelhtml') {
|
- |
|
| 768 |
//cas des dates
|
- |
|
| 769 |
if (($tableau[$i]['type']=='listedatedeb')or($tableau[$i]['type']=='listedatefin')) {
|
- |
|
| 770 |
$val=$valeur[$tableau[$i]['nom_bdd']]['Y'].'-'.$valeur[$tableau[$i]['nom_bdd']]['m'].'-'.$valeur[$tableau[$i]['nom_bdd']]['d'];
|
- |
|
| 771 |
}
|
768 |
if ($tableau[$i]['type']!='labelhtml') {
|
| 772 |
//cas des checkbox
|
769 |
//cas des checkbox et des listes
|
| 773 |
elseif (($tableau[$i]['type']=='checkbox')or($tableau[$i]['type']=='liste')) {
|
770 |
if (($tableau[$i]['type']=='checkbox')or($tableau[$i]['type']=='liste')) {
|
| 774 |
//on supprime les anciennes valeurs de la table bazar_fiche_valeur_liste
|
771 |
//on supprime les anciennes valeurs de la table bazar_fiche_valeur_liste
|
| - |
|
772 |
$requetesuppression='DELETE FROM bazar_fiche_valeur_liste WHERE bfvl_ce_fiche='.$GLOBALS['_BAZAR_']['id_fiche'].' AND bfvl_ce_liste='.$tableau[$i]['nom_bdd'];
|
| 775 |
$requetesuppression='DELETE FROM bazar_fiche_valeur_liste WHERE bfvl_ce_fiche= AND bfvl_ce_liste=';
|
773 |
//on insere les nouvelles valeurs
|
| - |
|
774 |
$requeteinsertion='INSERT INTO bazar_fiche_valeur_liste (bfvl_ce_fiche, bfvl_ce_liste, bfvl_valeur) VALUES ';
|
| 776 |
$requeteinsertion='INSERT INTO bazar_fiche_valeur VALUES ';
|
775 |
//pour les checkbox, les différentes valeurs sont dans un tableau
|
| 777 |
if (isset($valeur[$tableau[$i]['nom_bdd']])) {
|
776 |
if (is_array($valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']])) {
|
| - |
|
777 |
while (list($cle, $val) = each($valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']])) {
|
| - |
|
778 |
$requeteinsertion .= ' ('.$GLOBALS['_BAZAR_']['id_fiche'].', '.$tableau[$i]['nom_bdd'].', '.$val.') ';
|
| - |
|
779 |
}
|
| - |
|
780 |
}
|
| 778 |
$val=implode('**', array_keys($valeur[$tableau[$i]['nom_bdd']]));
|
781 |
//pour les listes, une insertion de la valeur suffit
|
| - |
|
782 |
else {
|
| - |
|
783 |
$requeteinsertion .= '('.$GLOBALS['_BAZAR_']['id_fiche'].', '.$tableau[$i]['nom_bdd'].', '.$valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']].')';
|
| - |
|
784 |
}
|
| - |
|
785 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requetesuppression) ;
|
| 779 |
} else {
|
786 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requeteinsertion) ;
|
| - |
|
787 |
if (DB::isError($resultat)) {
|
| 780 |
$val=BAZ_NON_PRECISE;
|
788 |
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
|
| 781 |
}
|
- |
|
| 782 |
continue ;
|
789 |
}
|
| 783 |
}
|
- |
|
| 784 |
//cas des champs texte et textarea
|
790 |
}
|
| - |
|
791 |
else {
|
| - |
|
792 |
//cas des dates
|
| - |
|
793 |
if (($tableau[$i]['type']=='listedatedeb')or($tableau[$i]['type']=='listedatefin')) {
|
| - |
|
794 |
$val=$valeur[$tableau[$i]['nom_bdd']]['Y'].'-'.$valeur[$tableau[$i]['nom_bdd']]['m'].'-'.$valeur[$tableau[$i]['nom_bdd']]['d'];
|
| - |
|
795 |
}
|
| 785 |
else {
|
796 |
//on mets les slashes pour les saisies dans les champs texte et textearea
|
| - |
|
797 |
$val=addslashes($valeur[$tableau[$i]['nom_bdd']]);
|
| 786 |
$val=addslashes($valeur[$tableau[$i]['nom_bdd']]);
|
798 |
$requete.=$tableau[$i]['nom_bdd'].'="'.$val.'", ';
|
| 787 |
}
|
- |
|
| 788 |
$requete.=$tableau[$i]['nom_bdd'].'="'.$val.'", ';
|
799 |
}
|
| 789 |
}
|
800 |
}
|
| 790 |
}
|
- |
|
| 791 |
|
801 |
}
|
| 792 |
$requete.=' bf_date_maj_fiche=NOW()';
|
- |
|
| 793 |
|
802 |
$requete.=' bf_date_maj_fiche=NOW()';
|
| 794 |
return $requete;
|
803 |
return $requete;
|
| Line 795... |
Line 804... |
| 795 |
}
|
804 |
}
|
| 796 |
|
805 |
|
| Line 801... |
Line 810... |
| 801 |
* @return void
|
810 |
* @return void
|
| 802 |
*/
|
811 |
*/
|
| 803 |
function baz_insertion($valeur) {
|
812 |
function baz_insertion($valeur) {
|
| 804 |
// =========== Insertion d'une nouvelle fiche ===================
|
813 |
// =========== Insertion d'une nouvelle fiche ===================
|
| 805 |
//requete d'insertion dans bazar_fiche
|
814 |
//requete d'insertion dans bazar_fiche
|
| 806 |
$id_fiche = baz_nextid('bazar_fiche', 'bf_id_fiche', $GLOBALS['_BAZAR_']['db']) ;
|
815 |
$GLOBALS['_BAZAR_']['id_fiche'] = baz_nextid('bazar_fiche', 'bf_id_fiche', $GLOBALS['_BAZAR_']['db']) ;
|
| 807 |
$requete = 'INSERT INTO bazar_fiche SET bf_id_fiche='.$id_fiche.','.
|
816 |
$requete = 'INSERT INTO bazar_fiche SET bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'].','.
|
| 808 |
'bf_ce_utilisateur='.$GLOBALS['id_user'].', bf_ce_nature='.$GLOBALS['_BAZAR_']['id_typeannonce'].','.
|
817 |
'bf_ce_utilisateur='.$GLOBALS['id_user'].', bf_ce_nature='.$GLOBALS['_BAZAR_']['id_typeannonce'].','.
|
| 809 |
'bf_date_creation_fiche=NOW(),';
|
818 |
'bf_date_creation_fiche=NOW(),';
|
| 810 |
if ($GLOBALS['_BAZAR_']['appropriation']== 1) {
|
819 |
if ($GLOBALS['_BAZAR_']['appropriation']== 1) {
|
| 811 |
$requete .= 'bf_date_debut_validite_fiche=now(), ' ;
|
820 |
$requete .= 'bf_date_debut_validite_fiche=now(), ' ;
|
| 812 |
}
|
821 |
}
|
| 813 |
$requete .=requete_bazar_fiche(&$valeur) ;
|
822 |
$requete .=requete_bazar_fiche(&$valeur) ;
|
| 814 |
|
- |
|
| 815 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
|
823 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
|
| 816 |
if (DB::isError($resultat)) {
|
824 |
if (DB::isError($resultat)) {
|
| 817 |
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
|
825 |
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
|
| 818 |
}
|
826 |
}
|
| 819 |
|
- |
|
| 820 |
// traitement des cases à cocher, donc des tables jointes,
|
- |
|
| 821 |
// l'info est dans le champs table_jointe, champs_id_fiche, champs_id_table_jointe
|
- |
|
| 822 |
$tableau = ($GLOBALS['_BAZAR_']['template']);
|
- |
|
| 823 |
|
- |
|
| 824 |
for ($i=0; $i<count($tableau); $i++) {
|
- |
|
| 825 |
if ($tableau[$i]['type']=='checkbox') {
|
- |
|
| 826 |
$requete_source = 'select * from '.$tableau[$i]['table_source'] ;
|
- |
|
| 827 |
$resultat_source = $GLOBALS['_BAZAR_']['db']->query($requete_source) ;
|
- |
|
| 828 |
if (DB::isError($resultat_source)) {
|
- |
|
| 829 |
die ($resultat_source->getMessage().$resultat_source->getDebugInfo()) ;
|
- |
|
| 830 |
}
|
- |
|
| 831 |
while ($ligne_source = $resultat_source->fetchRow(DB_FETCHMODE_ORDERED)) {
|
- |
|
| 832 |
if (isset($valeur[$tableau[$i]['table_jointe']][$ligne_source[0]])
|
- |
|
| 833 |
&& $valeur[$tableau[$i]['table_jointe']][$ligne_source[0]] != '' ) {
|
- |
|
| 834 |
$requete = 'insert into '.$tableau[$i]['table_jointe'].' set '.
|
- |
|
| 835 |
$tableau[$i]['champs_id_fiche'].'='.$id_fiche.
|
- |
|
| 836 |
','.$tableau[$i]['champs_id_table_jointe'].'='.
|
- |
|
| 837 |
$ligne_source[0];
|
- |
|
| 838 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
|
- |
|
| 839 |
if (DB::isError($resultat)) {
|
- |
|
| 840 |
echo $resultat->getMessage().$resultat->getDebugInfo() ;
|
- |
|
| 841 |
}
|
- |
|
| 842 |
}
|
- |
|
| 843 |
}
|
- |
|
| 844 |
}
|
- |
|
| 845 |
}
|
- |
|
| 846 |
return;
|
827 |
return;
|
| 847 |
}
|
828 |
}
|
| Line 848... |
Line 829... |
| 848 |
|
829 |
|
| Line 959... |
Line 940... |
| 959 |
* @global L'identifiant de la fiche a supprimer
|
940 |
* @global L'identifiant de la fiche a supprimer
|
| 960 |
* @return void
|
941 |
* @return void
|
| 961 |
*/
|
942 |
*/
|
| 962 |
function baz_suppression() {
|
943 |
function baz_suppression() {
|
| 963 |
//suppression dans bazar_fiche
|
944 |
//suppression dans bazar_fiche
|
| 964 |
$requete = "DELETE FROM bazar_fiche WHERE bf_id_fiche = ".$_GET['id_fiche'];
|
945 |
$requete = 'DELETE FROM bazar_fiche WHERE bf_id_fiche = '.$_GET['id_fiche'];
|
| 965 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
|
946 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
|
| 966 |
if (DB::isError($resultat)) {
|
947 |
if (DB::isError($resultat)) {
|
| 967 |
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
|
948 |
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
|
| 968 |
}
|
949 |
}
|
| Line 969... |
Line -... |
| 969 |
|
- |
|
| 970 |
$GLOBALS['_BAZAR_']['typeannonce'] = $_GET['typeannonce'] ;
|
- |
|
| 971 |
// S'il y a des tables jointes, on les supprime aussi
|
950 |
|
| 972 |
// traitement des cases à cocher, donc des tables jointes,
|
- |
|
| 973 |
// l'info est dans le champs table_jointe, champs_id_fiche, champs_id_table_jointe
|
- |
|
| 974 |
$tableau = ($GLOBALS['_BAZAR_']['typeannonce'].'.tpl');
|
- |
|
| 975 |
|
- |
|
| 976 |
for ($i=0; $i<count($tableau); $i++) {
|
- |
|
| 977 |
if ($tableau[$i]['type']=='checkbox') {
|
- |
|
| 978 |
$requete_suppr = 'delete from '.$tableau[$i]['table_jointe'].
|
951 |
// suppression des valeurs des listes et des cases à cocher
|
| 979 |
' where '.$tableau[$i]['champs_id_fiche'].'='.$_GET['id_fiche'] ;
|
952 |
$requete = 'DELETE FROM bazar_fiche_valeur_liste WHERE bfvl_ce_fiche='.$_GET['id_fiche'];
|
| 980 |
$resultat_suppr = $GLOBALS['_BAZAR_']['db']->query($requete_suppr) ;echo $requete_suppr;
|
953 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
|
| 981 |
if (DB::isError($resultat_suppr)) {
|
954 |
if (DB::isError($resultat)) {
|
| 982 |
die ($resultat_suppr->getMessage().$resultat_suppr->getDebugInfo()) ;
|
- |
|
| 983 |
}
|
- |
|
| 984 |
}
|
955 |
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
|
| - |
|
956 |
}
|
| 985 |
}
|
957 |
|
| 986 |
//suppression des urls associes
|
958 |
//suppression des urls associes
|
| 987 |
$requete = "SELECT bu_id_url FROM bazar_url WHERE bu_ce_fiche = ".$_GET['id_fiche'];
|
959 |
$requete = 'SELECT bu_id_url FROM bazar_url WHERE bu_ce_fiche = '.$_GET['id_fiche'];
|
| 988 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
|
960 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
|
| 989 |
if (DB::isError($resultat)) {
|
961 |
if (DB::isError($resultat)) {
|
| 990 |
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
|
962 |
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
|
| 991 |
}
|
963 |
}
|
| 992 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
|
964 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
|
| 993 |
baz_suppression_url($ligne['bu_id_url']);
|
965 |
baz_suppression_url($ligne['bu_id_url']);
|
| Line 994... |
Line 966... |
| 994 |
}
|
966 |
}
|
| 995 |
|
967 |
|
| 996 |
//suppression des fichiers associes
|
968 |
//suppression des fichiers associes
|
| 997 |
$requete = "SELECT bfj_id_fichier FROM bazar_fichier_joint WHERE bfj_ce_fiche = ".$_GET['id_fiche'];
|
969 |
$requete = 'SELECT bfj_id_fichier FROM bazar_fichier_joint WHERE bfj_ce_fiche = '.$_GET['id_fiche'];
|
| 998 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
|
970 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
|
| 999 |
if (DB::isError($resultat)) {
|
971 |
if (DB::isError($resultat)) {
|
| 1000 |
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
|
972 |
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
|
| 1001 |
}
|
973 |
}
|
| 1002 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
|
974 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
|
| Line 1003... |
Line 975... |
| 1003 |
baz_suppression_fichier($ligne['bfj_id_fichier']);
|
975 |
baz_suppression_fichier($ligne['bfj_id_fichier']);
|
| 1004 |
}
|
976 |
}
|
| 1005 |
|
977 |
|
| 1006 |
//suppression de l'image associée
|
- |
|
| 1007 |
baz_suppression_image($_GET['id_fiche']);
|
- |
|
| 1008 |
|
978 |
//suppression de l'image associée
|
| 1009 |
//======================CREATION DU FLUX RSS================================
|
979 |
baz_suppression_image($_GET['id_fiche']);
|
| Line 1010... |
Line 980... |
| 1010 |
if (isset($_GET['typeannonce'])) $typeannonce=$_GET['typeannonce'];
|
980 |
|
| Line 1202... |
Line 1172... |
| 1202 |
|
1172 |
|
| 1203 |
return $res;
|
1173 |
return $res;
|
| Line 1204... |
Line 1174... |
| 1204 |
}
|
1174 |
}
|
| 1205 |
|
1175 |
|
| 1206 |
|
1176 |
|
| 1207 |
/** baz_valeurs_fiche() - Renvoie un tableau avec les valeurs par défaut du formulaire d'inscription
|
1177 |
/** baz_valeurs_fiche() - Renvoie un tableau avec les valeurs par defaut du formulaire d'inscription
|
| 1208 |
*
|
1178 |
*
|
| 1209 |
* @param integer Identifiant de la fiche
|
1179 |
* @param integer Identifiant de la fiche
|
| 1210 |
*
|
1180 |
*
|
| 1211 |
* @return array Valeurs enregistrées pour cette fiche
|
1181 |
* @return array Valeurs enregistrees pour cette fiche
|
| 1212 |
*/
|
1182 |
*/
|
| 1213 |
function baz_valeurs_fiche($idfiche) {
|
1183 |
function baz_valeurs_fiche($idfiche) {
|
| Line 1379... |
Line 1349... |
| 1379 |
}
|
1349 |
}
|
| Line 1380... |
Line 1350... |
| 1380 |
|
1350 |
|
| 1381 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
1351 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
| 1382 |
*
|
1352 |
*
|
| - |
|
1353 |
* $Log: not supported by cvs2svn $
|
| - |
|
1354 |
* Revision 1.31 2006/01/17 10:07:08 alexandre_tb
|
| - |
|
1355 |
* en cours
|
| 1383 |
* $Log: not supported by cvs2svn $
|
1356 |
*
|
| 1384 |
* Revision 1.30 2006/01/16 09:42:57 alexandre_tb
|
1357 |
* Revision 1.30 2006/01/16 09:42:57 alexandre_tb
|
| 1385 |
* en cours
|
1358 |
* en cours
|
| 1386 |
*
|
1359 |
*
|
| 1387 |
* Revision 1.29 2006/01/13 14:12:51 florian
|
1360 |
* Revision 1.29 2006/01/13 14:12:51 florian
|