Subversion Repositories Applications.referentiel

Rev

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

Rev 344 Rev 356
Line 14... Line 14...
14
 */
14
 */
15
class Informations extends AppliControleur {
15
class Informations extends AppliControleur {
Line 16... Line 16...
16
	
16
	
17
	private $referentiel = null;
17
	private $referentiel = null;
-
 
18
	private $referentielDao = null;
18
	private $referentielDao = null;
19
	private $rechercheDao = null;
19
	private $traitementDao = null;
20
	private $traitementDao = null;
20
	private $resultatDao = null;
21
	private $resultatDao = null;
21
	private $metaDao = null;
22
	private $metaDao = null;
Line 31... Line 32...
31
		
32
		
32
		// Chargement des DAO nécessaires
33
		// Chargement des DAO nécessaires
33
		$this->resultatDao = new ResultatDao();
34
		$this->resultatDao = new ResultatDao();
34
		$this->traitementDao = new TraitementDao();
35
		$this->traitementDao = new TraitementDao();
-
 
36
		$this->referentielDao = new ReferentielDao();
35
		$this->referentielDao = new ReferentielDao();
37
		$this->rechercheDao = new RechercheDao();
36
		$this->metaDao = new MetaDao();
38
		$this->metaDao = new MetaDao();
37
		// tableau colonnesOrdonnees à modifier aussi dans service/Recherche.php
39
		// tableau colonnesOrdonnees à modifier aussi dans service/Recherche.php
38
		$this->colonnesOrdonnees = array("nn" => array("Numéro nomenclatural","checked","Identifiant numérique du nom scientifique"),
40
		$this->colonnesOrdonnees = array("nn" => array("Numéro nomenclatural","checked","Identifiant numérique du nom scientifique"),
39
			"nr" => array("Numéro nomenclatural du nom retenu","checked","Identifiant numérique du nom scientifique (num_nom) retenu pour désigner le taxon"),
41
			"nr" => array("Numéro nomenclatural du nom retenu","checked","Identifiant numérique du nom scientifique (num_nom) retenu pour désigner le taxon"),
Line 42... Line 44...
42
			"rg" => array("Code rang","checked","Code numérique indiquant le rang du nom scientifique (voir tableau 7 du manuel technique)"),
44
			"rg" => array("Code rang","checked","Code numérique indiquant le rang du nom scientifique (voir tableau 7 du manuel technique)"),
43
			"fam" => array("Famille (APG III)","checked","Nom de la famille dans APG III"),
45
			"fam" => array("Famille (APG III)","checked","Nom de la famille dans APG III"),
44
			"nsc" => array("Nom avec auteur","checked","Nom scientifique avec auteur(s)"),
46
			"nsc" => array("Nom avec auteur","checked","Nom scientifique avec auteur(s)"),
45
			"bibc" => array("Année et bibliographie","checked","Format à étudier celui de Tela : 1868, Brev. Pl. Nov., 2 : 70 ou celui de Kew :  Brev. Pl. Nov., 2 : 70 (1868)"),
47
			"bibc" => array("Année et bibliographie","checked","Format à étudier celui de Tela : 1868, Brev. Pl. Nov., 2 : 70 ou celui de Kew :  Brev. Pl. Nov., 2 : 70 (1868)"),
46
			"nsrc" => array("Nom retenu avec auteur","checked","Nom retenu pour tous les taxons (identique si le nom est édjà le nom retenu)"),
48
			"nsrc" => array("Nom retenu avec auteur","checked","Nom retenu pour tous les taxons (identique si le nom est édjà le nom retenu)"),
47
			"nf" => array("Nom français normalisé","checked","Nom français conseillé pour ce taxon (à venir)"),
-
 
48
			"extax" => array("Présent dans Taxref","checked",""),
49
			"extax" => array("Présent dans Taxref","checked",""),
49
			"lien" => array("Permalien","checked","Lien http vers la fiche nomenclaturale"),
50
			"lien" => array("Permalien","checked","Lien http vers la fiche nomenclaturale"),
50
			"ntsup" => array("Numéro nomenclatural rang supérieur","","Identifiant numérique du nom (num_nom) de rang supérieur dans la classification par défaut de l'index"),
51
			"ntsup" => array("Numéro nomenclatural rang supérieur","","Identifiant numérique du nom (num_nom) de rang supérieur dans la classification par défaut de l'index"),
51
			"pre" => array("Répartition géographique","","Code indiquant si le taxon est présent dans la zone géographique définie par le référentiel (tableau 9)"),
52
			"pre" => array("Répartition géographique","","Code indiquant si le taxon est présent dans la zone géographique définie par le référentiel (tableau 9)"),
52
			"ns" => array("Nom sans auteur","","Nom scientifique sans auteur"),
53
			"ns" => array("Nom sans auteur","","Nom scientifique sans auteur"),
Line 68... Line 69...
68
			"stcult" => array("Statut de culture","","Code indiquant le statut de culture du taxon dans la zone géographique définie par le référentiel (tableau 12)"),
69
			"stcult" => array("Statut de culture","","Code indiquant le statut de culture du taxon dans la zone géographique définie par le référentiel (tableau 12)"),
69
			"notes" => array("Remarques","","Notes complémentaires"),
70
			"notes" => array("Remarques","","Notes complémentaires"),
70
			"nomadd" => array("Commentaires nomenclaturaux","","Commentaires nomenclaturaux pouvant être associés à un nom (voir tableau 8 du manuel technique)"),
71
			"nomadd" => array("Commentaires nomenclaturaux","","Commentaires nomenclaturaux pouvant être associés à un nom (voir tableau 8 du manuel technique)"),
71
			"nsr" => array("Nom retenu sans auteur","","Nom scientifique du nom retenu sans auteur"),
72
			"nsr" => array("Nom retenu sans auteur","","Nom scientifique du nom retenu sans auteur"),
72
			"hom" => array("Homonymie","","Contient la valeur 1 si le nom possède un homonyme ou si le nom est un homonyme. Dans le cas contraire"),
73
			"hom" => array("Homonymie","","Contient la valeur 1 si le nom possède un homonyme ou si le nom est un homonyme. Dans le cas contraire"),
-
 
74
			"syn" => array("Statut du nom", "", "retenu, synonyme, ambigü, calculé à partir des num_nom et num_nom_retenu"),
73
			"synprop" => array("Synonyme proprate","","Contient plusieurs identifiants numériques (num_nom) dans le cas d'un nom obtenu suite à la division d'un taxon. Contient un seul identifiant numérique (num_nom) dans le cas d'un nom obtenu suite à la fusion de plusieurs taxons."),
75
			"synprop" => array("Synonyme proprate","","Contient plusieurs identifiants numériques (num_nom) dans le cas d'un nom obtenu suite à la division d'un taxon. Contient un seul identifiant numérique (num_nom) dans le cas d'un nom obtenu suite à la fusion de plusieurs taxons."),
74
			"syndout" => array("Synonyme douteux","","Contient la valeur 1 si le nom est un synonyme douteux. Dans le cas contraire"),
76
			"syndout" => array("Synonyme douteux","","Contient la valeur 1 si le nom est un synonyme douteux. Dans le cas contraire"),
75
			"synmapp" => array("Synonyme mal appliqué","","Contient la valeur 1 si le nom est un synonyme mal appliqué (cas des sensu). Dans le cas contraire"),
77
			"synmapp" => array("Synonyme mal appliqué","","Contient la valeur 1 si le nom est un synonyme mal appliqué (cas des sensu). Dans le cas contraire"),
76
			"synorth" => array("Synonyme orthographique","","Contient l'identifiant numérique du nom (num_nom) correctement orthographié"),
78
			"synorth" => array("Synonyme orthographique","","Contient l'identifiant numérique du nom (num_nom) correctement orthographié"),
77
			"orthori" => array("Orthographe originelle","","Contient la graphie originelle d'un nom non-conforme faisant l'objet d'une correction orthographique obligatoire"),
79
			"orthori" => array("Orthographe originelle","","Contient la graphie originelle d'un nom non-conforme faisant l'objet d'une correction orthographique obligatoire"),
Line 109... Line 111...
109
		$parametres['ref'] = $this->referentiel;
111
		$parametres['ref'] = $this->referentiel;
110
		$parametres['version'] = $_POST["version"];
112
		$parametres['version'] = $_POST["version"];
111
		$parametres['version'] = str_replace(".", "_", $parametres['version']);
113
		$parametres['version'] = str_replace(".", "_", $parametres['version']);
112
		if (isset($_POST["champs"])) $parametres['champs'] = implode(",",$_POST["champs"]);
114
		if (isset($_POST["champs"])) $parametres['champs'] = implode(",",$_POST["champs"]);
113
		if (isset($_POST["filtres"])) $parametres['filtres'] = implode(",",$_POST["filtres"]);
115
		if (isset($_POST["filtres"])) $parametres['filtres'] = implode(",",$_POST["filtres"]);
-
 
116
		if (isset($_POST["encodage"])) $parametres['encodage'] = $_POST["encodage"];
114
		$this->supprimerAncienExport($dossier);
117
		$this->supprimerAncienExport($dossier);
115
		$ref = $this->referentielDao->exporter($parametres);
118
		$ref = $this->referentielDao->exporter($parametres);
116
		$meta = $this->metaDao->exporter($parametres);
119
		$meta = $this->metaDao->exporter($parametres);
Line 117... Line 120...
117
 
120
 
Line 140... Line 143...
140
		$donnees = $this->preparerPagePourDetailReferentielEtTelechargement();
143
		$donnees = $this->preparerPagePourDetailReferentielEtTelechargement();
141
		if (file_exists($cheminZip)) {
144
		if (file_exists($cheminZip)) {
142
			$urlLien = Config::get("base_url_telechargements") . $dossierDateEtNomDeFichier;
145
			$urlLien = Config::get("base_url_telechargements") . $dossierDateEtNomDeFichier;
143
			$donnees['url_telechargement_zip'] = $urlLien;
146
			$donnees['url_telechargement_zip'] = $urlLien;
144
		}
147
		}
-
 
148
		//$this->transformerEnXls($ref, $dossier);
145
		$this->setSortie(self::RENDU_CORPS, $this->getVue('detail_referentiel', $donnees), false);
149
		$this->setSortie(self::RENDU_CORPS, $this->getVue('detail_referentiel', $donnees), false);
146
	}
150
	}
-
 
151
	
-
 
152
	public function transformerEnXls($fichier, $dossier) {
-
 
153
		include '../bibliotheque/utilitaires/PHPExcel/IOFactory.php';
-
 
154
		
-
 
155
		$dossier .= date('Y_m_d').'/';
-
 
156
	
-
 
157
		$objReader = PHPExcel_IOFactory::createReader('CSV');
-
 
158
	
-
 
159
		// If the files uses a delimiter other than a comma (e.g. a tab), then tell the reader
-
 
160
		$objReader->setDelimiter("\t");
-
 
161
		// If the files uses an encoding other than UTF-8 or ASCII, then tell the reader
-
 
162
		$objReader->setInputEncoding('UTF-8');
-
 
163
	
-
 
164
		$objPHPExcel = $objReader->load($fichier);
-
 
165
		$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
-
 
166
		$objWriter->save($dossier.'MyExcelFile.xls');
-
 
167
	}
Line 147... Line 168...
147
 
168
 
148
	// exécute la partie commune entre l'action "detail" et l'action "telecharger"
169
	// exécute la partie commune entre l'action "detail" et l'action "telecharger"
149
	protected function preparerPagePourDetailReferentielEtTelechargement() {
170
	protected function preparerPagePourDetailReferentielEtTelechargement() {
150
		$donnees = array();
171
		$donnees = array();
Line 162... Line 183...
162
			// suppression du téléchargement pour bdbfx
183
			// suppression du téléchargement pour bdbfx
163
			if ($this->referentiel != 'bdbfx') {
184
			if ($this->referentiel != 'bdbfx') {
164
				$donnees['versions'] = $this->afficherFormulaireTelechargementsReferentiels();
185
				$donnees['versions'] = $this->afficherFormulaireTelechargementsReferentiels();
165
				$donnees['infos_telechargements'] = $this->afficherTelechargementsReferentiels();
186
				$donnees['infos_telechargements'] = $this->afficherTelechargementsReferentiels();
166
				$donnees['colonnesOrdonnees'] = $this->colonnesOrdonnees;
187
				$donnees['colonnesOrdonnees'] = $this->colonnesOrdonnees;
-
 
188
				$parametres['ref'] = $this->referentiel;
-
 
189
				$parametres['rg'] = '180';
-
 
190
				$donnees['familles'] = $this->rechercheDao->chercher('ParDefaut', $parametres, 250);
167
			}
191
			}
168
		} else {
192
		} else {
169
			$this->addMessage("Aucun code de projet de référentiel n'est indiqué (Ex. bdtfx).");
193
			$this->addMessage("Aucun code de projet de référentiel n'est indiqué (Ex. bdtfx).");
170
		}
194
		}
171
		return $donnees;
195
		return $donnees;