Subversion Repositories Applications.bazar

Rev

Rev 392 | Rev 420 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 392 Rev 400
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.78 2008-09-17 14:08:45 alexandre_tb Exp $
22
// CVS : $Id: bazar.fonct.php,v 1.79 2008-10-29 10:41:48 alexandre_tb 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.78 $ $Date: 2008-09-17 14:08:45 $
34
*@version       $Revision: 1.79 $ $Date: 2008-10-29 10:41:48 $
35
// +------------------------------------------------------------------------------------------------------+
35
// +------------------------------------------------------------------------------------------------------+
36
*/
36
*/
Line 37... Line 37...
37
 
37
 
38
// +------------------------------------------------------------------------------------------------------+
38
// +------------------------------------------------------------------------------------------------------+
Line 252... Line 252...
252
			die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
252
			die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
253
		}
253
		}
254
		if ($resultat->numRows() != 0) {
254
		if ($resultat->numRows() != 0) {
255
			$tableAttr = array('id' => 'table_bazar') ;
255
			$tableAttr = array('id' => 'table_bazar') ;
256
			$table = new HTML_Table($tableAttr) ;
256
			$table = new HTML_Table($tableAttr) ;
257
			$entete = array (BAZ_TITREANNONCE , BAZ_TYPEANNONCE, BAZ_ETATPUBLICATION, BAZ_MODIFIER, BAZ_SUPPRIMER) ;
257
			$entete = array (BAZ_TITREANNONCE , BAZ_TYPEANNONCE, BAZ_ETATPUBLICATION, BAZ_MODIFIER, BAZ_SUPPRIMER, 'Dupliquer') ;
258
			$table->addRow($entete) ;
258
			$table->addRow($entete) ;
259
			$table->setRowType (0, "th") ;
259
			$table->setRowType (0, "th") ;
Line 260... Line 260...
260
					
260
					
261
		// On affiche une ligne par proposition
261
		// On affiche une ligne par proposition
Line 280... Line 280...
280
			$lien_supprimer->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_SUPPRESSION);
280
			$lien_supprimer->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_SUPPRESSION);
281
			$lien_supprimer->addQueryString('id_fiche', $ligne['bf_id_fiche']);
281
			$lien_supprimer->addQueryString('id_fiche', $ligne['bf_id_fiche']);
282
			$lien_supprimer->addQueryString('typeannonce', $ligne['bn_id_nature']);
282
			$lien_supprimer->addQueryString('typeannonce', $ligne['bn_id_nature']);
283
			$lien_supprimer_url=$lien_supprimer->getURL();
283
			$lien_supprimer_url=$lien_supprimer->getURL();
Line -... Line 284...
-
 
284
			
-
 
285
			$lien_dupliquer = $GLOBALS['_BAZAR_']['url'];
-
 
286
			$lien_dupliquer->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_NOUVEAU);
-
 
287
			$lien_dupliquer->addQueryString(BAZ_VARIABLE_ID_FICHE, $ligne['bf_id_fiche']);
-
 
288
			$lien_dupliquer->addQueryString(BAZ_VARIABLE_DUPLICATION, 1);
-
 
289
			$lien_dupliquer=$lien_dupliquer->getURL();
-
 
290
			$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_DUPLICATION);
-
 
291
			
284
			
292
			
285
			$table->addRow (array(
293
			$table->addRow (array(
286
			        '<a href="'.$lien_voir_url.'">'.$ligne['bf_titre'].'</a>'."\n", // col 1 : le nom
294
			        '<a href="'.$lien_voir_url.'">'.$ligne['bf_titre'].'</a>'."\n", // col 1 : le nom
287
					$ligne['bn_label_nature']."\n", // col 2: type annonce
295
					$ligne['bn_label_nature']."\n", // col 2: type annonce
288
					$publiee."\n", // col 3 : publiee ou non
296
					$publiee."\n", // col 3 : publiee ou non
289
					'<a href="'.$lien_modifier_url.'">'.BAZ_MODIFIER.'</a>'."\n", // col 4 : modifier
297
					'<a href="'.$lien_modifier_url.'">'.BAZ_MODIFIER.'</a>'."\n", // col 4 : modifier
290
					'<a href="'.$lien_supprimer_url.'" onclick="javascript:return '.
298
					'<a href="'.$lien_supprimer_url.'" onclick="javascript:return '.
-
 
299
					'confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n", // col 5 : supprimer
291
					'confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 5 : supprimer
300
					'<a href="'.$lien_dupliquer.'">Dupliquer</a>'."\n")) ; 
292
		}
301
		}
293
		$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
302
		$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
294
		$table->updateColAttributes(1, array("align" => "left"));
303
		$table->updateColAttributes(1, array("align" => "left"));
295
		$table->updateColAttributes(2, array("align" => "center"));
304
		$table->updateColAttributes(2, array("align" => "center"));
Line 568... Line 577...
568
		//------------------------------------------------------------------------------------------------
577
		//------------------------------------------------------------------------------------------------
569
		if ($mode == BAZ_DEPOSER_ANNONCE) {
578
		if ($mode == BAZ_DEPOSER_ANNONCE) {
570
			$res = '';	
579
			$res = '';	
571
			//requete pour obtenir le nom et la description des types d'annonce
580
			//requete pour obtenir le nom et la description des types d'annonce
572
			$requete = 'SELECT * FROM bazar_nature WHERE bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') ';
581
			$requete = 'SELECT * FROM bazar_nature WHERE bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') ';
-
 
582
			
573
			if (isset($GLOBALS['_BAZAR_']['langue'])) {
583
			if (isset($GLOBALS['_BAZAR_']['langue'])) {
574
				$requete .= ' and bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%" ';
584
				$requete .= ' and bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%" ';
575
			}
585
			}
576
			$requete .= 'ORDER BY bn_label_nature ASC';
586
			$requete .= 'ORDER BY bn_label_nature ASC';
577
			$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
587
			$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
Line 646... Line 656...
646
				// Appel du modele
656
				// Appel du modele
647
				include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazarTemplate.class.php';
657
				include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazarTemplate.class.php';
648
		        $modele = new bazarTemplate($GLOBALS['_BAZAR_']['db']);
658
		        $modele = new bazarTemplate($GLOBALS['_BAZAR_']['db']);
649
		        $html = $modele->getTemplate(BAZ_TEMPLATE_FORMULAIRE, $GLOBALS['_BAZAR_']['langue'],$GLOBALS['_BAZAR_']['categorie_nature']);
659
		        $html = $modele->getTemplate(BAZ_TEMPLATE_FORMULAIRE, $GLOBALS['_BAZAR_']['langue'],$GLOBALS['_BAZAR_']['categorie_nature']);
650
		        if (!PEAR::isError($html)) {
660
		        if (!PEAR::isError($html)) {
-
 
661
					if (isset($_GET[BAZ_VARIABLE_DUPLICATION])) {
-
 
662
						$res = str_replace ('{FORMULAIRE}', baz_afficher_formulaire_annonce('duplication',$formtemplate), $html);
-
 
663
					} else {
651
					$res = str_replace ('{FORMULAIRE}', baz_afficher_formulaire_annonce('insertion',$formtemplate), $html);
664
						$res = str_replace ('{FORMULAIRE}', baz_afficher_formulaire_annonce('insertion',$formtemplate), $html);
-
 
665
					}
652
		        } else {
666
		        } else {
-
 
667
		        	if (isset($_GET[BAZ_VARIABLE_DUPLICATION])) {
-
 
668
		        		$res = baz_afficher_formulaire_annonce('duplication',$formtemplate);
-
 
669
		        	} else {
653
		        	$res = baz_afficher_formulaire_annonce('insertion',$formtemplate);
670
		        		$res = baz_afficher_formulaire_annonce('insertion',$formtemplate);
-
 
671
		        	}
654
		        }	
672
		        }	
655
			} else {
673
			} else {
656
				// Pas de droit pour deposer un annonce
674
				// Pas de droit pour deposer un annonce
657
				return '<div>Pas de droits suffisants</div>';
675
				return '<div>Pas de droits suffisants</div>';
658
			}
676
			}
Line 672... Line 690...
672
		//------------------------------------------------------------------------------------------------
690
		//------------------------------------------------------------------------------------------------
673
		//CAS DE L'INSCRIPTION D'UNE ANNONCE
691
		//CAS DE L'INSCRIPTION D'UNE ANNONCE
674
		//------------------------------------------------------------------------------------------------
692
		//------------------------------------------------------------------------------------------------
675
		if ($mode == BAZ_ACTION_NOUVEAU_V) {
693
		if ($mode == BAZ_ACTION_NOUVEAU_V) {
676
			if ($formtemplate->validate() && !isset($_SESSION['formulaire_annonce_valide'])) {
694
			if ($formtemplate->validate() && !isset($_SESSION['formulaire_annonce_valide'])) {
677
				$formtemplate->process('baz_insertion', false) ;
695
				//$formtemplate->process('baz_insertion', false) ;
-
 
696
				$id_fiche = baz_insertion ($formtemplate->getSubmitValues());
678
				// Redirection vers mes_fiches pour eviter la revalidation du formulaire
697
				// Redirection vers mes_fiches pour eviter la revalidation du formulaire
679
				$GLOBALS['_BAZAR_']['url']->addQueryString (BAZ_VARIABLE_VOIR, BAZ_VOIR_MES_FICHES);	
698
				$GLOBALS['_BAZAR_']['url']->addQueryString (BAZ_VARIABLE_ACTION, BAZ_ACTION_POST_VALIDATION);
-
 
699
				$GLOBALS['_BAZAR_']['url']->addQueryString (BAZ_VARIABLE_ID_FICHE, $id_fiche);
680
				header ('Location: '.str_replace ('&amp;', '&', $GLOBALS['_BAZAR_']['url']->getURL())) ;
700
				header ('Location: '.str_replace ('&amp;', '&', $GLOBALS['_BAZAR_']['url']->getURL())) ;
681
				exit();
701
				exit();
682
			}
702
			}
683
		}
703
		}
Line 710... Line 730...
710
* @param   mixed objet quickform du formulaire
730
* @param   mixed objet quickform du formulaire
711
*
731
*
712
* @return   string  code HTML avec formulaire
732
* @return   string  code HTML avec formulaire
713
*/
733
*/
714
function baz_afficher_formulaire_annonce($mode='insertion',$formtemplate) {
734
function baz_afficher_formulaire_annonce($mode='insertion',$formtemplate) {
715
	if ($mode=='modification') {
735
	if ($mode=='modification' || $mode == 'duplication') {
716
		//initialisation de la variable globale id_fiche
736
		//initialisation de la variable globale id_fiche
717
		$GLOBALS['_BAZAR_']['id_fiche'] = $_REQUEST['id_fiche'];
737
		$GLOBALS['_BAZAR_']['id_fiche'] = $_REQUEST[BAZ_VARIABLE_ID_FICHE];
Line 718... Line 738...
718
	
738
	
719
		//suppression eventuelle d'une url, d'un fichier ou d'une image
739
		//suppression eventuelle d'une url, d'un fichier ou d'une image
720
		if (isset($_GET['id_url'])) {
740
		if (isset($_GET['id_url'])) {
721
			baz_suppression_url($_GET['id_url']);
741
			baz_suppression_url($_GET['id_url']);
Line 741... Line 761...
741
	}
761
	}
742
	//affichage du formulaire si conditions acceptees
762
	//affichage du formulaire si conditions acceptees
743
	else {		
763
	else {		
744
		//Parcours du fichier de templates, pour mettre les valeurs des champs	
764
		//Parcours du fichier de templates, pour mettre les valeurs des champs	
745
		$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
765
		$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
746
		if ($mode=='modification') {
766
		if ($mode=='modification' || $mode == 'duplication') {
747
			//Ajout des valeurs par defaut
767
			//Ajout des valeurs par defaut
748
			$valeurs_par_defaut = baz_valeurs_fiche($GLOBALS['_BAZAR_']['id_fiche']) ;
768
			$valeurs_par_defaut = baz_valeurs_fiche($GLOBALS['_BAZAR_']['id_fiche']) ;
Line 749... Line 769...
749
			
769
			
-
 
770
			for ($i=0; $i<count($tableau); $i++) {
-
 
771
				
-
 
772
				if (isset($ligne[$tableau[$i]['nom_bdd']])) {
-
 
773
					$type = $tableau[$i]['type'];
-
 
774
					$valeur = $ligne[$tableau[$i]['nom_bdd']];
-
 
775
				} else {
-
 
776
					$type = $tableau[$i]['type'];
-
 
777
					$valeur = '';
-
 
778
				}
-
 
779
				/*
-
 
780
				$element = Bazar_element::factory($type, $tableau[$i]);
-
 
781
				if (!PEAR::isError($element)) {
-
 
782
					if (method_exists($element, 'toForm'))$res .= $element->toForm($valeur);
-
 
783
				}
750
			for ($i=0; $i<count($tableau); $i++) {
784
				*/
751
				if ( $tableau[$i]['type']=='liste' || $tableau[$i]['type']=='checkbox') {
785
				if ( $tableau[$i]['type']=='liste' || $tableau[$i]['type']=='checkbox') {
752
					$def=$tableau[$i]['type'].$tableau[$i]['nom_bdd'];
786
					$def=$tableau[$i]['type'].$tableau[$i]['nom_bdd'];
753
				}
787
				}
754
				elseif ( $tableau[$i]['type']=='texte' || $tableau[$i]['type']=='textelong' || $tableau[$i]['type']=='listedatedeb' 
788
				elseif ( $tableau[$i]['type']=='texte' || $tableau[$i]['type']=='textelong' || $tableau[$i]['type']=='listedatedeb' 
Line 785... Line 819...
785
			    }
819
			    }
786
			 }
820
			 }
787
		}
821
		}
788
		$formtemplate->addElement('hidden', 'typeannonce', $GLOBALS['_BAZAR_']['id_typeannonce']);
822
		$formtemplate->addElement('hidden', 'typeannonce', $GLOBALS['_BAZAR_']['id_typeannonce']);
Line -... Line 823...
-
 
823
		
-
 
824
		// Un champs cache pour la duplication
789
		
825
		if ($mode == 'duplication') $formtemplate->addElement('hidden', 'fiche_dupliquee', $GLOBALS['_BAZAR_']['id_fiche']);
790
		// Bouton d annulation
826
		// Bouton d annulation
791
		$attr = $formtemplate->getAttributes();
827
		$attr = $formtemplate->getAttributes();
792
		$lien_formulaire = new Net_URL($attr[BAZ_VARIABLE_ACTION]);
828
		$lien_formulaire = new Net_URL($attr[BAZ_VARIABLE_ACTION]);
793
		$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_VOIR_VOS_ANNONCES);
829
		$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_VOIR_VOS_ANNONCES);
Line 856... Line 892...
856
				}
892
				}
857
			}				
893
			}				
858
		}
894
		}
859
		//cas des fichiers
895
		//cas des fichiers
860
		elseif ($tableau[$i]['type']=='fichier') {
896
		elseif ($tableau[$i]['type']=='fichier') {
861
			if (isset($valeur['texte_fichier'.$tableau[$i]['nom_bdd']]) && $valeur['texte_fichier'.$tableau[$i]['nom_bdd']]!='') {
897
			if ((isset($valeur['texte_fichier'.$tableau[$i]['nom_bdd']]) && $valeur['texte_fichier'.$tableau[$i]['nom_bdd']]!='')
-
 
898
					|| isset($_POST['fiche_dupliquee'])){
862
				baz_insertion_fichier($valeur['texte_fichier'.$tableau[$i]['nom_bdd']], $GLOBALS['_BAZAR_']['id_fiche'], 'fichier'.$tableau[$i]['nom_bdd']);
899
				baz_insertion_fichier($valeur['texte_fichier'.$tableau[$i]['nom_bdd']], $GLOBALS['_BAZAR_']['id_fiche'], 'fichier'.$tableau[$i]['nom_bdd']);
863
			} 
900
			} 
864
		}		
901
		}		
865
		//cas des urls
902
		//cas des urls
866
		// On affine les criteres pour l insertion d une url
903
		// On affine les criteres pour l insertion d une url
867
		// il faut que le lien soit saisie, different de http:// ET que le texte du lien soit saisie aussi
904
		// il faut que le lien soit saisie, different de http:// ET que le texte du lien soit saisie aussi
868
		// et ce afin d eviter d avoir des liens vides
905
		// et ce afin d eviter d avoir des liens vides
869
		elseif ($tableau[$i]['type']=='url') {
906
		elseif ($tableau[$i]['type']=='url') {
870
			if (isset($valeur['url_lien'.$tableau[$i]['nom_bdd']]) && 
907
			if ((isset($valeur['url_lien'.$tableau[$i]['nom_bdd']]) && 
871
						$valeur['url_lien'.$tableau[$i]['nom_bdd']]!='http://'
908
						$valeur['url_lien'.$tableau[$i]['nom_bdd']]!='http://'
872
						&& isset($valeur['url_texte'.$tableau[$i]['nom_bdd']]) &&
909
						&& isset($valeur['url_texte'.$tableau[$i]['nom_bdd']]) &&
873
						strlen ($valeur['url_texte'.$tableau[$i]['nom_bdd']])) {
910
						strlen ($valeur['url_texte'.$tableau[$i]['nom_bdd']])) || isset($_POST['fiche_dupliquee'])) {
874
				baz_insertion_url($valeur['url_lien'.$tableau[$i]['nom_bdd']], $valeur['url_texte'.$tableau[$i]['nom_bdd']], $GLOBALS['_BAZAR_']['id_fiche']);
911
				baz_insertion_url($valeur['url_lien'.$tableau[$i]['nom_bdd']], $valeur['url_texte'.$tableau[$i]['nom_bdd']], $GLOBALS['_BAZAR_']['id_fiche']);
875
			}
912
			}
876
		}
913
		}
877
		//cas des images
914
		//cas des images
878
		elseif ($tableau[$i]['type']=='image') {
915
		elseif ($tableau[$i]['type']=='image') {
Line 948... Line 985...
948
			return ($resultat->getMessage().$resultat->getDebugInfo()) ;
985
			return ($resultat->getMessage().$resultat->getDebugInfo()) ;
949
		}
986
		}
950
		// Envoie d un mail aux administrateurs
987
		// Envoie d un mail aux administrateurs
951
		$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']);
988
		$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']);
952
		if (!$utilisateur->isAdmin($GLOBALS['_BAZAR_']['id_typeannonce']) || !$utilisateur->isSuperAdmin()) {
989
		if (!$utilisateur->isAdmin($GLOBALS['_BAZAR_']['id_typeannonce']) || !$utilisateur->isSuperAdmin()) {
953
			$mails = bazar::getMailSuperAdmin($GLOBALS['_BAZAR_']['id_typeannonce']);
-
 
954
			include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazarTemplate.class.php';
-
 
955
			$template = new bazarTemplate($GLOBALS['_BAZAR_']['db']);
-
 
956
			$sujet = html_entity_decode($template->getTemplate(BAZ_TEMPLATE_MAIL_NOUVELLE_FICHE_SUJET, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['id_typeannonce']));
-
 
957
			$corps = html_entity_decode($template->getTemplate(BAZ_TEMPLATE_MAIL_NOUVELLE_FICHE_CORPS, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['id_typeannonce']));
-
 
958
			if (is_array ($mails)) {
990
			bazar::notifier();
959
				foreach ($mails as $mail) {
-
 
960
					mail ($mail, $sujet, $corps);
-
 
961
				}
-
 
962
			}
-
 
963
		}
991
		}
-
 
992
		
964
		return;
993
		// On redirige
-
 
994
		return $GLOBALS['_BAZAR_']['id_fiche'];
965
}
995
}
Line 966... Line 996...
966
 
996
 
967
 
997
 
Line 971... Line 1001...
971
* @global   string Le texte du lien
1001
* @global   string Le texte du lien
972
* @global   integer L'identifiant de la fiche
1002
* @global   integer L'identifiant de la fiche
973
* @return   void
1003
* @return   void
974
*/
1004
*/
975
function baz_insertion_url($url_lien, $url_texte, $idfiche) {
1005
function baz_insertion_url($url_lien, $url_texte, $idfiche) {
-
 
1006
	
-
 
1007
	if (isset ($_POST['fiche_dupliquee'])) {
-
 
1008
		$id_url = baz_nextId('bazar_url', 'bu_id_url', $GLOBALS['_BAZAR_']['db']) ;
-
 
1009
		$requete = 'insert into bazar_url select '.$id_url.','.$idfiche.',bu_url, bu_descriptif_url '.
-
 
1010
					' from bazar_url where bu_ce_fiche="'.$_POST['fiche_dupliquee'].'"';
-
 
1011
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
-
 
1012
		if (DB::isError($resultat)) {
-
 
1013
		    die ($resultat->getMessage().$resultat->getDebugInfo()) ;
-
 
1014
		}
-
 
1015
		return;
-
 
1016
	}
976
	//requete d'insertion dans bazar_url
1017
	//requete d'insertion dans bazar_url
977
	if (!isset($_SESSION['_BAZAR_']['lien'])) {
1018
	if (!isset($_SESSION['_BAZAR_']['lien'])) {
978
		$id_url = baz_nextId('bazar_url', 'bu_id_url', $GLOBALS['_BAZAR_']['db']) ;
1019
		$id_url = baz_nextId('bazar_url', 'bu_id_url', $GLOBALS['_BAZAR_']['db']) ;
979
		$requete = 'INSERT INTO bazar_url SET bu_id_url='.$id_url.', bu_ce_fiche='.$idfiche.', '.
1020
		$requete = 'INSERT INTO bazar_url SET bu_id_url='.$id_url.', bu_ce_fiche='.$idfiche.', '.
980
			   'bu_url="'.$url_lien.'", bu_descriptif_url="'.addslashes($url_texte).'"';
1021
			   'bu_url="'.$url_lien.'", bu_descriptif_url="'.addslashes($url_texte).'"';
Line 996... Line 1037...
996
* @global   integer L'identifiant de la fiche
1037
* @global   integer L'identifiant de la fiche
997
* @return   void
1038
* @return   void
998
*/
1039
*/
999
function baz_insertion_fichier($fichier_description, $idfiche, $nom_fichier='fichier_joint') {
1040
function baz_insertion_fichier($fichier_description, $idfiche, $nom_fichier='fichier_joint') {
1000
	//verification de la presence de ce fichier 
1041
	//verification de la presence de ce fichier 
-
 
1042
	
-
 
1043
	// En cas de duplication on ajoute simplement une ligne dans la base de donnee
-
 
1044
	// pour chaque fichier associe a la fiche d origine
-
 
1045
	
-
 
1046
	if (isset ($_POST['fiche_dupliquee'])) {
-
 
1047
		$id_fichier_joint = baz_nextId('bazar_fichier_joint', 'bfj_id_fichier', $GLOBALS['_BAZAR_']['db']) ;
-
 
1048
		$requete = 'insert into bazar_fichier_joint select '.$id_fichier_joint.','.$idfiche.',bfj_description,bfj_fichier '.
-
 
1049
					' from bazar_fichier_joint where bfj_ce_fiche="'.$_POST['fiche_dupliquee'].'"';
-
 
1050
		$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
-
 
1051
		if (DB::isError($resultat)) {
-
 
1052
		    die ($resultat->getMessage().$resultat->getDebugInfo()) ;
-
 
1053
		}
-
 
1054
		return;
-
 
1055
	}
1001
	$requete = 'SELECT bfj_id_fichier FROM bazar_fichier_joint WHERE bfj_fichier="'.$_FILES[$nom_fichier]['name'].'"';
1056
	$requete = 'SELECT bfj_id_fichier FROM bazar_fichier_joint WHERE bfj_fichier="'.$_FILES[$nom_fichier]['name'].'"';
1002
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1057
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1003
    if (DB::isError($resultat)) {
1058
    if (DB::isError($resultat)) {
1004
        die ($resultat->getMessage().$resultat->getDebugInfo()) ;
1059
        die ($resultat->getMessage().$resultat->getDebugInfo()) ;
1005
    }
1060
    }
Line 1026... Line 1081...
1026
*
1081
*
1027
* @global   integer L'identifiant de la fiche
1082
* @global   integer L'identifiant de la fiche
1028
* @return   string requete SQL
1083
* @return   string requete SQL
1029
*/
1084
*/
1030
function baz_insertion_image($idfiche) {
1085
function baz_insertion_image($idfiche) {
-
 
1086
	
-
 
1087
 
1031
	//verification de la presence de ce fichier 
1088
	//verification de la presence de ce fichier 
1032
	$requete = 'SELECT bf_id_fiche FROM bazar_fiche WHERE bf_url_image="'.$_FILES['image']['name'].'" AND bf_id_fiche!='.$idfiche;
1089
	$requete = 'SELECT bf_id_fiche FROM bazar_fiche WHERE bf_url_image="'.$_FILES['image']['name'].'" AND bf_id_fiche!='.$idfiche;
1033
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1090
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1034
        if (DB::isError($resultat)) {
1091
        if (DB::isError($resultat)) {
1035
            die ($resultat->getMessage().$resultat->getDebugInfo()) ;
1092
            die ($resultat->getMessage().$resultat->getDebugInfo()) ;
Line 1053... Line 1110...
1053
	//MAJ de bazar_fiche
1110
	//MAJ de bazar_fiche
1054
	$requete = 'UPDATE bazar_fiche SET '.requete_bazar_fiche(&$valeur,$GLOBALS['_BAZAR_']['id_typeannonce']);
1111
	$requete = 'UPDATE bazar_fiche SET '.requete_bazar_fiche(&$valeur,$GLOBALS['_BAZAR_']['id_typeannonce']);
1055
	$requete.= ' WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
1112
	$requete.= ' WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
1056
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1113
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1057
	if (DB::isError($resultat)) {
1114
	if (DB::isError($resultat)) {
1058
		die ($resultat->getMessage().$resultat->getDebugInfo()) ;
1115
		return ($resultat->getMessage().$resultat->getDebugInfo()) ;
-
 
1116
	}
-
 
1117
	// Envoie d un mail aux administrateurs
-
 
1118
	$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']);
-
 
1119
	if (!$utilisateur->isAdmin($GLOBALS['_BAZAR_']['id_typeannonce']) || !$utilisateur->isSuperAdmin()) {
-
 
1120
		bazar::notifier(BAZAR_NOTIFICATION_MODIFICATION_FICHE);
1059
	}
1121
	}
1060
	return;
1122
	return;
1061
}
1123
}
Line -... Line 1124...
-
 
1124
 
-
 
1125
/** baz_post_validation ()
-
 
1126
 * 
-
 
1127
 * Cette fonction renvoie une page qui invite l utilisateur a :
-
 
1128
 *  - saisir une nouvelle fiche a partir de celle qu il vient de saisir (pour changer de date)
-
 
1129
 *  - retour a la liste de ces fiches
-
 
1130
 *  - saisir une nouvelle fiche
-
 
1131
 *  
-
 
1132
 */
-
 
1133
 
1062
 
1134
function baz_post_validation() {
-
 
1135
	
-
 
1136
	$lien_duplication = clone $GLOBALS['_BAZAR_']['url'];
-
 
1137
	$lien_nouvelle_fiche = clone $GLOBALS['_BAZAR_']['url'];
-
 
1138
	$lien_mes_fiches = clone $GLOBALS['_BAZAR_']['url'];
-
 
1139
	$lien_duplication->addQueryString(BAZ_VARIABLE_ID_FICHE, $_GET[BAZ_VARIABLE_ID_FICHE]);
-
 
1140
	$lien_duplication->addQueryString(BAZ_VARIABLE_DUPLICATION, 1);
-
 
1141
	$lien_duplication->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_NOUVEAU);
-
 
1142
	$lien_duplication = $lien_duplication->getURL();
-
 
1143
	
-
 
1144
	$lien_nouvelle_fiche->addQueryString(BAZ_VARIABLE_ACTION, BAZ_DEPOSER_ANNONCE);
-
 
1145
	$lien_nouvelle_fiche->addQueryString(BAZ_VARIABLE_CATEGORIE_NATURE, $GLOBALS['_BAZAR_']['categorie_nature']);
-
 
1146
	$lien_nouvelle_fiche = $lien_nouvelle_fiche->getURL();
-
 
1147
	
-
 
1148
	$lien_mes_fiches->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_MES_FICHES);
-
 
1149
	$lien_mes_fiches = $lien_mes_fiches->getURL();
-
 
1150
	
-
 
1151
	ob_start();
-
 
1152
	if (file_exists(BAZ_CHEMIN_SQUELETTE.'baz_post_validation.tpl.html')) {
-
 
1153
		include_once  BAZ_CHEMIN_SQUELETTE.'baz_post_validation.tpl.html';
-
 
1154
	}
-
 
1155
	$res = ob_get_contents();
-
 
1156
	ob_end_clean();
-
 
1157
	return $res ;
1063
 
1158
}
1064
/** baz_suppression() - Supprime une fiche
1159
/** baz_suppression() - Supprime une fiche
1065
*
1160
*
1066
* @global   L'identifiant de la fiche a supprimer
1161
* @global   L'identifiant de la fiche a supprimer
1067
* @return   void
1162
* @return   void
Line 1116... Line 1211...
1116
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1211
	$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1117
	if (DB::isError($resultat)) {
1212
	if (DB::isError($resultat)) {
1118
		return ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
1213
		return ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
1119
	}
1214
	}
1120
	// Redirection vers Mes fiches
1215
	// Redirection vers Mes fiches
1121
	$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_MES_FICHES);
1216
	$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_MES_FICHES);
1122
	$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
1217
	$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
1123
	header ('Location:'.$GLOBALS['_BAZAR_']['url']->getURL());
1218
	header ('Location:'.$GLOBALS['_BAZAR_']['url']->getURL());
1124
	exit;
1219
	exit;
1125
	return ;
1220
	return ;
1126
}
1221
}
Line 1421... Line 1516...
1421
}
1516
}
Line 1422... Line 1517...
1422
 
1517
 
1423
/* +--Fin du code ----------------------------------------------------------------------------------------+
1518
/* +--Fin du code ----------------------------------------------------------------------------------------+
1424
*
1519
*
-
 
1520
* $Log: not supported by cvs2svn $
-
 
1521
* Revision 1.78  2008-09-17 14:08:45  alexandre_tb
-
 
1522
* merge depuis aha
1425
* $Log: not supported by cvs2svn $
1523
*
1426
* Revision 1.77  2008-03-17 11:02:59  jp_milcent
1524
* Revision 1.77  2008-03-17 11:02:59  jp_milcent
1427
* Ajout de l'authentification nécessaire pour déposer des commentaires.
1525
* Ajout de l'authentification nécessaire pour déposer des commentaires.
1428
* Corrections sur la gestion des paramêtres dans les urls (compatibilité applette Identification et Moteur de Recherche).
1526
* Corrections sur la gestion des paramêtres dans les urls (compatibilité applette Identification et Moteur de Recherche).
1429
*
1527
*