Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1711 Rev 1714
Line 16... Line 16...
16
	static $cache = Array();
16
	static $cache = Array();
Line 17... Line 17...
17
 
17
 
18
	// test sur la table cel_references, mis à TRUE si la table existe
18
	// test sur la table cel_references, mis à TRUE si la table existe
Line -... Line 19...
-
 
19
	static $is_table = false;
-
 
20
 
-
 
21
	// les groupes de champs utilisables
-
 
22
	static $fieldGroups = array(
-
 
23
		'standard',
-
 
24
		'avance',
-
 
25
		'etendu',
-
 
26
		'baseflor'
19
	static $is_table = false;
27
	);
20
 
28
 
21
	// les données baseflor à récupérer: colonnes présentes dans cel_references
29
	// les données baseflor à récupérer: colonnes présentes dans cel_references
22
	// et intitulés associés
30
	// et intitulés associés
23
	static $baseflor_col = array(
31
	static $baseflor_col = array(
Line 33... Line 41...
33
		"ve_mat_org_sol" => "Matière Organique",
41
		"ve_mat_org_sol" => "Matière Organique",
34
		"catminat_code" => "Code Catminat",
42
		"catminat_code" => "Code Catminat",
35
		"syntaxon" => "Syntaxon",
43
		"syntaxon" => "Syntaxon",
36
	);
44
	);
Line -... Line 45...
-
 
45
 
-
 
46
	static function colGroupsValidation($groupe_de_champs = 'standard,avance') {
-
 
47
		if(! $groupe_de_champs) return FALSE;
-
 
48
		if(is_string($groupe_de_champs)) {
-
 
49
			$groupe_de_champs = array_flip(explode(',', $groupe_de_champs));
-
 
50
		}
-
 
51
		elseif(is_array($groupe_de_champs)) {
-
 
52
			$groupe_de_champs = array_flip($groupe_de_champs);
-
 
53
		}
-
 
54
		else {
-
 
55
			return NULL;
-
 
56
		}
-
 
57
		$groupe_de_champs = array_intersect_key(array_flip(self::$fieldGroups),
-
 
58
												$groupe_de_champs);
-
 
59
		if(!$groupe_de_champs) return FALSE;
-
 
60
		// toujours ajouter standard
-
 
61
		$groupe_de_champs['standard'] = TRUE;
-
 
62
		return implode(',', array_keys($groupe_de_champs));
-
 
63
	}
37
 
64
 
38
	/*
65
	/*
39
	* @param $fieldSets: un liste de noms de colonnes ou de sets de colonnes
66
	* @param $fieldSets: un liste de noms de colonnes ou de sets de colonnes
40
	*		séparés par des virgules
67
	*		séparés par des virgules
41
	* 		eg: "espece" ou "champs-etendus", ...
68
	* 		eg: "espece" ou "champs-etendus", ...
42
	*
69
	*
43
	* @return: un tableau associatif déjà ordonné
70
	* @return: un tableau associatif déjà ordonné
44
	* 		clé: abbrev [machine-name] de la colonne (eg: "espece" ou "mot-clef")
71
	* 		clé: abbrev [machine-name] de la colonne (eg: "espece" ou "mot-clef")
45
	* 		valeur: des données relative à cette colonne, cf GenColInfo
72
	* 		valeur: des données relative à cette colonne, cf GenColInfo
46
	*
73
	*
47
	* @TODO: fonction commune à la génération en CSV
74
	* @TODO: noms communs à part, gestion des champs étendus
48
	*
75
	*
49
	*/
76
	*/
50
	static function nomEnsembleVersListeColonnes($groupe_de_champs = 'standard') {
77
	static function nomEnsembleVersListeColonnes($groupe_de_champs = 'standard') {
51
		if(! $groupe_de_champs) $groupe_de_champs = 'standard';
78
		if(! $groupe_de_champs) $groupe_de_champs = 'standard';
Line 56... Line 83...
56
			$groupe_de_champs = array_flip($groupe_de_champs);
83
			$groupe_de_champs = array_flip($groupe_de_champs);
57
		}
84
		}
58
		else {
85
		else {
59
			return NULL;
86
			return NULL;
60
		}
87
		}
61
		$groupe_de_champs = array_intersect_key(array_flip(array('standard','avance','etendu','baseflor')),
88
		$groupe_de_champs = array_intersect_key(array_flip(self::$fieldGroups),
62
												$groupe_de_champs);
89
												$groupe_de_champs);
63
		if(!$groupe_de_champs) return NULL;
90
		if(!$groupe_de_champs) return NULL;
Line 64... Line 91...
64
 
91
 
Line 123... Line 150...
123
				// champ dynamique
150
				// champ dynamique
124
				'baseflor'			=> self::GenColInfo('baseflor', '', 1, NULL, NULL, FALSE, array(__CLASS__, 'baseflor_preload'), array(__CLASS__, 'baseflor_ligne')),
151
				'baseflor'			=> self::GenColInfo('baseflor', '', 1, NULL, NULL, FALSE, array(__CLASS__, 'baseflor_preload'), array(__CLASS__, 'baseflor_ligne')),
125
			);
152
			);
126
		}
153
		}
Line -... Line 154...
-
 
154
 
-
 
155
		if(isset($groupe_de_champs['etendu'])) {
-
 
156
			$colonnes += array(
-
 
157
				// champ dynamique
-
 
158
				'etendu'			=> self::GenColInfo('etendu', '', 1, NULL, NULL, FALSE, NULL, NULL),
-
 
159
			);
-
 
160
		}
127
 
161
 
128
		return $colonnes;
162
		return $colonnes;
Line 129... Line 163...
129
	}
163
	}
130
 
164