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 763... |
Line 764... |
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']])) {
|
778 |
$val=implode('**', array_keys($valeur[$tableau[$i]['nom_bdd']]));
|
- |
|
779 |
} else {
|
777 |
while (list($cle, $val) = each($valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']])) {
|
780 |
$val=BAZ_NON_PRECISE;
|
778 |
$requeteinsertion .= ' ('.$GLOBALS['_BAZAR_']['id_fiche'].', '.$tableau[$i]['nom_bdd'].', '.$val.') ';
|
781 |
}
|
- |
|
782 |
continue ;
|
779 |
}
|
783 |
}
|
780 |
}
|
784 |
//cas des champs texte et textarea
|
781 |
//pour les listes, une insertion de la valeur suffit
|
785 |
else {
|
782 |
else {
|
786 |
$val=addslashes($valeur[$tableau[$i]['nom_bdd']]);
|
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) ;
|
- |
|
786 |
$resultat = $GLOBALS['_BAZAR_']['db']->query($requeteinsertion) ;
|
- |
|
787 |
if (DB::isError($resultat)) {
|
- |
|
788 |
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
|
- |
|
789 |
}
|
- |
|
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 |
}
|
- |
|
796 |
//on mets les slashes pour les saisies dans les champs texte et textearea
|
787 |
}
|
797 |
$val=addslashes($valeur[$tableau[$i]['nom_bdd']]);
|
788 |
$requete.=$tableau[$i]['nom_bdd'].'="'.$val.'", ';
|
798 |
$requete.=$tableau[$i]['nom_bdd'].'="'.$val.'", ';
|
789 |
}
|
799 |
}
|
790 |
}
|
800 |
}
|
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") ;
|
Line 1004... |
Line 976... |
1004 |
}
|
976 |
}
|
Line 1005... |
Line 977... |
1005 |
|
977 |
|
1006 |
//suppression de l'image associée
|
978 |
//suppression de l'image associée
|
Line 1007... |
Line -... |
1007 |
baz_suppression_image($_GET['id_fiche']);
|
- |
|
1008 |
|
- |
|
1009 |
//======================CREATION DU FLUX RSS================================
|
979 |
baz_suppression_image($_GET['id_fiche']);
|
1010 |
if (isset($_GET['typeannonce'])) $typeannonce=$_GET['typeannonce'];
|
980 |
|
Line 1011... |
Line 981... |
1011 |
return ;
|
981 |
return ;
|
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
|