/trunk/interfaces/squelettes/detail_referentiel.tpl.html |
---|
45,19 → 45,12 |
<input type="radio" name="version" id="version" <?= ($id === 0) ? "checked" : "";?> value="<?=$version['version']?>"/><label for="version">version <?=$version['version'].' du '.$version['date_prod']?></label><br /> |
<? } ?> |
<br /> |
Choississez le type d'encodage que vous souhaitez télécharger :<br /> |
<input type="radio" name="encodage" id="encodage" checked value="latin1"/><label for="encodage">cp1252 West European (latin1_swedish_ci )</label><br /> |
<input type="radio" name="encodage" id="encodage" checked value="latin2"/><label for="encodage">ISO 8859-2 Central European (latin2_general_ci )</label><br /> |
<input type="radio" name="encodage" id="encodage" checked value="utf8"/><label for="encodage">UTF-8 Unicode (utf8_general_ci )</label><br /> |
<input type="radio" name="encodage" id="encodage" checked value="utf16"/><label for="encodage">UTF-16 Unicode (utf16_general_ci )</label><br /> |
<br /> |
Sélectionnez les données :<br /> |
<input type="checkbox" name="filtres[]" id="nnr" value="nnr"/><label for="filtres">que les noms retenus</label><br /> |
<input type="radio" name="filtres[]" id="nsans" value="snsc"/><label for="filtres">sans les noms ambigus (pas de correspondance)</label><br /> |
<input type="radio" name="filtres[]" id="nsans" value="qnsc"/><label for="filtres">que les noms ambigus (pas de correspondance)</label><br /> |
<!-- à modifier pour tenir compte du référentiel --> |
<input type="checkbox" name="filtres[]" id="pre" value="pre"/><label for="filtres">que les taxons présents en France</label><br /> |
<label for="filtres">de la famille</label><select name="filtres[]" id="famille"> |
<option value="*">toutes</option> |
<? foreach ($familles as $id=>$famille) { ?> |
<option><?= $famille['nom_sci']?></option> |
<? } ?> |
83,7 → 76,7 |
</div> |
<br/> |
<br/> |
<input type="submit" value="telecharger"> |
<input type="submit" value="Télécharger"> |
</form> |
<?php } ?> |
/trunk/interfaces/controleurs/Informations.php |
---|
72,6 → 72,7 |
"nomadd" => array("Commentaires nomenclaturaux","","Commentaires nomenclaturaux pouvant être associés à un nom (voir tableau 8 du manuel technique)"), |
"nsr" => array("Nom retenu sans auteur","","Nom scientifique du nom retenu sans auteur"), |
"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"), |
"syn" => array("Statut du nom", "", "retenu, synonyme, ambigü, calculé à partir des num_nom et num_nom_retenu"), |
"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."), |
"syndout" => array("Synonyme douteux","","Contient la valeur 1 si le nom est un synonyme douteux. Dans le cas contraire"), |
"synmapp" => array("Synonyme mal appliqué","","Contient la valeur 1 si le nom est un synonyme mal appliqué (cas des sensu). Dans le cas contraire"), |
145,8 → 146,26 |
$urlLien = Config::get("base_url_telechargements") . $dossierDateEtNomDeFichier; |
$donnees['url_telechargement_zip'] = $urlLien; |
} |
//$this->transformerEnXls($ref, $dossier); |
$this->setSortie(self::RENDU_CORPS, $this->getVue('detail_referentiel', $donnees), false); |
} |
public function transformerEnXls($fichier, $dossier) { |
include '../bibliotheque/utilitaires/PHPExcel/IOFactory.php'; |
$dossier .= date('Y_m_d').'/'; |
$objReader = PHPExcel_IOFactory::createReader('CSV'); |
// If the files uses a delimiter other than a comma (e.g. a tab), then tell the reader |
$objReader->setDelimiter("\t"); |
// If the files uses an encoding other than UTF-8 or ASCII, then tell the reader |
$objReader->setInputEncoding('UTF-8'); |
$objPHPExcel = $objReader->load($fichier); |
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); |
$objWriter->save($dossier.'MyExcelFile.xls'); |
} |
// exécute la partie commune entre l'action "detail" et l'action "telecharger" |
protected function preparerPagePourDetailReferentielEtTelechargement() { |
/trunk/services/modules/Referentiel.php |
---|
211,7 → 211,7 |
if (isset($p['champs'])) { |
$champs = $this->formaterColonnes($p['champs'], $ref); |
$requete = 'SELECT "'.implode('","', $champs['titre']).'" UNION (SELECT '.implode(', ',$champs['select']). |
" INTO OUTFILE '".$fichier."' CHARACTER SET ".$p['encodage']." FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY '\n' ". |
" INTO OUTFILE '".$fichier."' CHARACTER SET utf8 FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY '\n' ". |
" FROM $ref a left join $ref b on b.num_nom=a.num_nom_retenu"; |
218,13 → 218,15 |
if (isset($p['filtre']) && $p['filtre'] != "*") { |
$param_filtres = explode(",",$p["filtre"]); |
$dernier_filtre = array_pop($param_filtres); |
$filtres = array("nnr"=>"a.num_nom = a.num_nom_retenu", "pre" => "a.presence = 'P'", |
"snsc" => "a.num_nom_retenu != ''", "qnsc" => "a.num_nom_retenu = ''"); |
if ($dernier_filtre != '' && !isset($filtres[$dernier_filtre])) { // si il s'agit du filtre famille |
$filtres["fam"] = "a.famille = '".$dernier_filtre."'"; |
$dernier_filtre = "fam"; |
$filtres = array("nnr"=>"a.num_nom = a.num_nom_retenu", "pre" => "a.presence = 'P'"); |
if ($dernier_filtre != '' && $dernier_filtre != '*') { |
if (!isset($filtres[$dernier_filtre])) {// si il s'agit du filtre famille |
$filtres["fam"] = "a.famille = '".$dernier_filtre."'"; |
$dernier_filtre = "fam"; |
} |
array_push($param_filtres, $dernier_filtre); |
} |
array_push($param_filtres, $dernier_filtre); |
$requete .= " WHERE ".implode(" AND ",array_intersect_key($filtres, array_flip($param_filtres))); |
} |
$requete .= ")"; |
240,10 → 242,12 |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()).$requete; |
} |
} |
return $fichier; |
} |
private function formaterColonnes($colonnes, $ref) { |
$colonnesOrdonnees = array("nn" => array("a.num_nom", "num_nom", "Numéro nomenclatural"), |
"nr" => array("a.num_nom_retenu", "num_nom_retenu", "Numéro nomenclatural du nom retenu"), |
280,6 → 284,9 |
"nomadd" => array("a.nom_addendum", "nom_addendum", "Commentaires nomenclaturaux"), |
"nsr" => array("b.nom_sci as nom_sci_retenu", "nom_sci", "Nom retenu sans auteur"), |
"hom" => array("a.homonyme", "homonyme", "Homonymie"), |
"syn" => array("CASE a.num_nom_retenu WHEN a.num_nom THEN 'retenu' |
WHEN '' THEN 'ambigu' |
ELSE 'synonyme' END AS synonymie", "num_nom_retenu", "Statut du nom" ), |
"synprop" => array("a.synonyme_proparte", "synonyme_proparte", "Synonyme proprate"), |
"syndout" => array("a.synonyme_douteux", "synonyme_douteux", "Synonyme douteux"), |
"synmapp" => array("a.synonyme_mal_applique", "synonyme_mal_applique", "Synonyme mal appliqué"), |