Subversion Repositories eFlore/Applications.eflore-consultation

Rev

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

Rev 1130 Rev 1144
Line 18... Line 18...
18
	private $nomCourant = null;
18
	private $nomCourant = null;
19
	private $textes = null;
19
	private $textes = null;
20
	private $meta = null;
20
	private $meta = null;
21
	private $wikini = null;
21
	private $wikini = null;
22
	private $informations = null;
22
	private $informations = null;
-
 
23
	static $mois = array(
23
	private $mois = array('janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août',
24
        'janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet',
24
						'septembre', 'octobre', 'novembre', 'décembre');
25
        'août', 'septembre', 'octobre', 'novembre', 'décembre');
25
	private $CosteFormate;
26
	private $CosteFormate;
26
	private $CosteTexte;
27
	private $CosteTexte;
Line 27... Line 28...
27
	
28
	
28
	private $referentiel = 'bdtfx';
29
	private $referentiel = 'bdtfx';
Line 41... Line 42...
41
 
42
 
42
	public function obtenirDonnees() {
43
	public function obtenirDonnees() {
43
		$donnees = array();
44
		$donnees = array();
44
		$this->getWikipedia();
45
		$this->getWikipedia();
45
		$this->getWikini();
46
		$this->getWikini();
46
		$this->getDescriptionsDependantesReferentiel();
47
		$this->getDescriptionsDependantesReferentiel($this->referentiel);
47
		return $this->donnees;
48
		return $this->donnees;
Line 48... Line 49...
48
	}
49
	}
49
	
50
	
50
	public function obtenirDonneesExport() {
51
	public function obtenirDonneesExport() {
51
		$donnees = array();
52
		$donnees = array();
52
		$this->getWikini();
53
		$this->getWikini();
53
		$this->getDescriptionsDependantesReferentiel();
54
		$this->getDescriptionsDependantesReferentiel($this->referentiel);
Line 54... Line 55...
54
		return $this->donnees;
55
		return $this->donnees;
55
	}
56
	}
56
	
57
	
Line 57... Line 58...
57
	private function getDescriptionsDependantesReferentiel() {
58
	private function getDescriptionsDependantesReferentiel($ref) {
58
		$bases_descriptions = Config::get($this->referentiel.'.baseDescription');
-
 
59
		$bases_descriptions = explode(',',$bases_descriptions);
59
        // eg: [bdtfx]baseDescription = coste,baseflor dans bdtfx.ini
60
		
60
        $bases_descriptions = explode(',', Config::get($ref . '.baseDescription'));
61
		foreach ($bases_descriptions as $base) {
-
 
62
			if($this->aMethodeDescription($base)) {
61
		
63
				$fonction = 'get'.ucfirst($base);
62
		foreach ($bases_descriptions as $base) {
Line 64... Line -...
64
				$this->$fonction();
-
 
65
			}
-
 
66
		}
-
 
67
	}
-
 
68
	
63
            $fonction = 'get'.ucfirst($base);
69
	private function aMethodeDescription($base) {
64
            $this->$fonction();
70
		return method_exists($this, 'get'.$base);
65
		}
71
	}
66
	}
72
	
67
	
73
	public function getBloc() {
-
 
74
		// prend la première description disponible dans l'ordre indiqué dans le fichier
68
	public function getBloc() {
75
		// de config, et prend la description wiki sinon	
-
 
76
		if(Config::get($this->referentiel.'.baseDescription') != "") {
69
		// prend la première description disponible dans l'ordre indiqué dans le fichier
77
			$bases_descriptions = Config::get($this->referentiel.'.baseDescription');
70
		// de config, et prend la description wiki sinon
78
			$bases_descriptions = explode(',',$bases_descriptions);
71
		if(Config::get($this->referentiel.'.baseDescription') != "") {
-
 
72
            $bases_descriptions = explode(',', Config::get($this->referentiel.'.baseDescription'));
-
 
73
			foreach ($bases_descriptions as $base) {
-
 
74
                $fonction = 'get'.ucfirst($base);
-
 
75
                $this->$fonction();
79
			foreach ($bases_descriptions as $base) {
76
                if(empty($this->donnees[$base]['description'])) {
80
				if ($this->aMethodeDescription($base)) {
77
                    unset($this->donnees[$base]);
81
					$fonction = 'get'.ucfirst($base);
78
                    continue;
82
					$this->$fonction();
79
                }
83
					if(!empty($this->donnees[$base]['description'])) {
80
 
84
						$this->donnees['type'] = $base;
-
 
85
						$this->donnees['titre'] = "Description de ".ucfirst($base);
-
 
86
						$this->donnees['description'] = $this->donnees[$base]['description'];
81
                $this->donnees['type'] = $base;
87
						unset($this->donnees[$base]);
82
                $this->donnees['titre'] = "Description de ".ucfirst($base);
Line 88... Line 83...
88
						break;
83
                $this->donnees['description'] = $this->donnees[$base]['description'];
89
					}
84
                unset($this->donnees[$base]);
90
				}
85
                return $this->donnees;
91
			}
86
			}
-
 
87
		}
-
 
88
	
92
		}
89
		if (empty($this->donnees['description'])) {
93
	
90
			$this->getWikini();
94
		if (empty($this->donnees['description'])) {
91
			$this->donnees['description'] = $this->donnees['wikini']['description'];
95
			$this->getWikini();
92
			$this->donnees['titre'] = "Description collaborative";
Line 96... Line 93...
96
			$this->donnees['description'] = $this->donnees['wikini']['description'];
93
            $this->donnees['type'] = 'wikini';
97
			$this->donnees['titre'] = "Description collaborative";
94
            unset($this->donnees['wikini']);
Line 114... Line 111...
114
			$baseflor['pollinisation'] = isset($informations['pollinisation']) ? $informations['pollinisation'] : '';
111
			$baseflor['pollinisation'] = isset($informations['pollinisation']) ? $informations['pollinisation'] : '';
115
			$baseflor['dissemination'] = isset($informations['dissemination']) ? $informations['dissemination'] : '';
112
			$baseflor['dissemination'] = isset($informations['dissemination']) ? $informations['dissemination'] : '';
116
			$baseflor['fruit'] = isset($informations['fruit']) ? $informations['fruit'] : '';
113
			$baseflor['fruit'] = isset($informations['fruit']) ? $informations['fruit'] : '';
117
			$baseflor['couleur_fleur'] = isset($informations['couleur_fleur']) ? $informations['couleur_fleur'] : '';
114
			$baseflor['couleur_fleur'] = isset($informations['couleur_fleur']) ? $informations['couleur_fleur'] : '';
118
			$baseflor['macule'] = isset($informations['macule']) ? $informations['macule'] : '';
115
			$baseflor['macule'] = isset($informations['macule']) ? $informations['macule'] : '';
119
			$baseflor['floraison'] = isset($informations['floraison']) ? $this->changerFloraisonEnChaine($informations['floraison']) : '';
116
			$baseflor['floraison'] = isset($informations['floraison']) ? self::changerFloraisonEnChaine($informations['floraison']) : '';
120
			//récupérer dans ontologies
117
			//récupérer dans ontologies
121
			$baseflor['type_bio'] = isset($informations['type_bio']) ? $informations['type_bio'] : '';
118
			$baseflor['type_bio'] = isset($informations['type_bio']) ? $informations['type_bio'] : '';
122
			$baseflor['form_vegetale'] = isset($informations['form_vegetale']) ? $informations['form_vegetale'] : '';
119
			$baseflor['form_vegetale'] = isset($informations['form_vegetale']) ? $informations['form_vegetale'] : '';
123
			$baseflor['description']=$baseflor;
120
			$baseflor['description']=$baseflor;
124
			$this->meta->setProjet('baseflor');
121
			$this->meta->setProjet('baseflor');
Line 127... Line 124...
127
			$baseflor['meta']['url'] = $this->appUrls->obtenirUrlMetaDonnees('baseflor');
124
			$baseflor['meta']['url'] = $this->appUrls->obtenirUrlMetaDonnees('baseflor');
128
		}
125
		}
129
		$this->donnees['baseflor'] = $baseflor;
126
		$this->donnees['baseflor'] = $baseflor;
130
	}
127
	}
Line 131... Line 128...
131
 
128
 
132
	public function changerFloraisonEnChaine($floraison){
129
	static function changerFloraisonEnChaine($floraison){
133
		$chaine = "";
130
		$chaine = "";
134
		if ($floraison != ""){
131
		if ($floraison != ""){
135
			$mois_fleurs=preg_match('/-/',$floraison) ? preg_split('/-/',$floraison) : $floraison;
132
			$mois_fleurs=preg_match('/-/',$floraison) ? preg_split('/-/',$floraison) : $floraison;
136
			if (is_array($mois_fleurs)){
133
			if (is_array($mois_fleurs)){
Line 137... Line 134...
137
				$chaine = "de ".$this->mois[(int)$mois_fleurs[0]]." à ".$this->mois[(int)$mois_fleurs[1]];
134
				$chaine = "de ".self::$mois[(int)$mois_fleurs[0]]." à ".self::$mois[(int)$mois_fleurs[1]];
138
 
135
 
139
			}else { $chaine = "en ".$this->mois[(int)$mois_fleurs];
136
			}else { $chaine = "en ".self::$mois[(int)$mois_fleurs];
140
			}
137
			}
141
		}
138
		}
Line 150... Line 147...
150
	}
147
	}
Line 151... Line 148...
151
 
148
 
152
	public function getWikipedia() {
149
	public function getWikipedia() {
153
		$wp = array();
150
		$wp = array();
154
		$this->textes->setProjet('wikipedia');
151
		$this->textes->setProjet('wikipedia');
155
		$this->textes->setId($this->getIdWp());
152
		$this->textes->setId(self::getIdWp($this->nomCourant->getNomRetenu()->get('nom_sci')));
156
		$wp['titre'] = $donnees['titre'] = "Description de wikipedia";
153
		$wp['titre'] = $donnees['titre'] = "Description de wikipedia";
157
		$wp['lien'] = $this->textes->getPageUrl();
154
		$wp['lien'] = $this->textes->getPageUrl();
158
		$wp['meta']['url'] = $this->appUrls->obtenirUrlMetaDonnees('wikipedia');
155
		$wp['meta']['url'] = $this->appUrls->obtenirUrlMetaDonnees('wikipedia');
159
		$this->donnees['wp'] = $wp;
156
		$this->donnees['wp'] = $wp;
Line 160... Line 157...
160
	}
157
	}
161
 
-
 
162
	private function getIdWp() {
158
 
163
		$nomSci = $this->nomCourant->getNomRetenu()->get('nom_sci');
-
 
164
		$idWp = str_replace(' ', '_', $nomSci);
-
 
165
		$idWp = urlencode($idWp);
159
	private static function getIdWp($nomSci) {
Line 166... Line 160...
166
		return $idWp;
160
		return urlencode(str_replace(' ', '_', $nomSci));
167
	}
161
	}
168
 
162