Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2312 Rev 2403
Line 740... Line 740...
740
		}
740
		}
Line 741... Line 741...
741
 
741
 
742
		// Quand les données sont prêtes, on les fusionne
742
		// Quand les données sont prêtes, on les fusionne
743
		$ligne = array_merge($ligne, $donneesBF);
743
		$ligne = array_merge($ligne, $donneesBF);
744
	}
744
	}
745
 
745
	
746
	static function champsEtendus_preload($cel, $obsids) {
746
	static function champsEtendus_preload($cel, $obsids) {
747
		$gestion_champs_etendus = new GestionChampsEtendus($cel->config, 'obs');
747
		$gestion_champs_etendus = new GestionChampsEtendus($cel->config, 'obs');				
-
 
748
		$colonnes_champs_supp_par_obs = $gestion_champs_etendus->consulterClesParLots($obsids);
-
 
749
		
-
 
750
		// Supprime les champs étendus considérés comme privés dans le cas de l'export public en chargeant 
-
 
751
		// le catalogue et en excluant ceux qui sont explicitement privés
-
 
752
		if(!$cel->export_prive) {
-
 
753
			$indices_a_supprimer = array();
-
 
754
			$catalogue_champs_etendus = $gestion_champs_etendus->consulterCatalogueChampsEtendusPredefinis();
-
 
755
			foreach($catalogue_champs_etendus as $champ_catalogue) {
-
 
756
				if($champ_catalogue['options']['prive'] == 1) {
-
 
757
					// supprime les ":" suivis de nombres dans le cas de champs étendus multiples
-
 
758
					// (ils sont de la forme maCleDeChamp:1, maCleDeChamp:2 etc...)
-
 
759
					$entrees = preg_grep("/:\d+$/", $colonnes_champs_supp_par_obs);
-
 
760
					$indices_a_supprimer = array_merge($indices_a_supprimer, array_keys($entrees));
-
 
761
				}
-
 
762
			}
-
 
763
			
-
 
764
			// les champs étendus sont renvoyés dans l'export suivant les colonnes présentes dans ce tableau
-
 
765
			// les éliminer de la liste des colonnes suffit à les faire ignorer par l'export
-
 
766
			foreach($indices_a_supprimer as $indice_supp) {
-
 
767
				unset($colonnes_champs_supp_par_obs[$indice_supp]);
-
 
768
			}
-
 
769
		}
748
		$colonnes_champs_supp_par_obs = $gestion_champs_etendus->consulterClesParLots($obsids);
770
		
749
		// ces deux lignes réordonnent l'ordre des colonnes des champs étendus en fonction de l'ordre (très spécifique)
771
		// ces deux lignes réordonnent l'ordre des colonnes des champs étendus en fonction de l'ordre (très spécifique)
750
		// de self::$ordre_champ_etendus_Florileges, les champs non-mentionnés sont ajoutés à la fin.
772
		// de self::$ordre_champ_etendus_Florileges, les champs non-mentionnés sont ajoutés à la fin.
751
		$colonnes_champs_supp_par_obs = self::sortArrayByArray(array_flip($colonnes_champs_supp_par_obs),
773
		$colonnes_champs_supp_par_obs = self::sortArrayByArray(array_flip($colonnes_champs_supp_par_obs),
752
															   self::$ordre_champ_etendus_Florileges);
774
															   self::$ordre_champ_etendus_Florileges);