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;
|