Changeset 109602 in spip-zone
- Timestamp:
- Mar 18, 2018, 7:09:27 PM (3 years ago)
- Location:
- _plugins_/taxonomie/trunk
- Files:
-
- 1 deleted
- 22 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/taxonomie/trunk/base/taxonomie_declarations.php
r109443 r109602 24 24 25 25 $interfaces['table_des_tables']['taxons'] = 'taxons'; 26 $interfaces['table_des_tables']['especes'] = 'especes';27 26 28 27 return $interfaces; … … 32 31 /** 33 32 * Déclaration des objets éditoriaux du plugin. Le plugin ajoute l'objet taxon au travers de la 34 * seule table `spip_taxons` et l'objet espèce avec la table `spip_especes`.33 * seule table `spip_taxons` qui contient aussi les taxons de type `espèce`. 35 34 * 36 * L'objet taxon est défini comme une arborescence de taxons du règne au genre.37 * Les taxons à partir de l'espèce ne font paspartie de cette table. Les champs principaux sont les35 * L'objet taxon est défini comme une arborescence de taxons du règne au rang le plus petit dans le règne. 36 * Les taxons de rang égal ou inférieur à l'espèce font aussi partie de cette table. Les champs principaux sont les 38 37 * suivants : 39 38 * - `nom_scientifique` est le nom en latin. Il est unique pour un rang taxonomique donné. 40 * - `rang` taxonomique est une valeur parmi `kingdom`, `phylum`, `class`, `order`, `family` et `genus`.41 * - `nom_commun` est le nom vulgaire, si possible normalisé par une commission officielle. Il peut co incider ou42 * pas avec le nom vernaculaire.39 * - `rang` taxonomique est une valeur parmi `kingdom`, `phylum`, `class`, `order`, `family`, `genus`, `species`... 40 * - `nom_commun` est le nom vulgaire, si possible normalisé par une commission officielle. Il peut coïncider ou 41 * pas avec le nom vernaculaire. 43 42 * - `auteur` est une information composée d'un ou plusieurs noms complétés par une date (ex : Linneus, 1798). 44 43 * - `tsn` est l'identifiant numérique unique du taxon dans la base taxonomique ITIS. 45 44 * - `tsn_parent` permet de créer l'arborescence taxonomique du règne conformément à l'organisation de la base 46 45 * ITIS. 46 * - `espece` indique si oui ou non le taxon à un rang supérieur ou inférieur ou égal à `species`. 47 47 * 48 48 * @pipeline declarer_tables_objets_sql … … 56 56 function taxonomie_declarer_tables_objets_sql($tables) { 57 57 58 /**59 */60 58 $tables['spip_taxons'] = array( 61 'type' 59 'type' => 'taxon', 62 60 'principale' => 'oui', 63 'field' => array(64 'id_taxon' => 'bigint(21) NOT NULL',65 'nom_scientifique' => "varchar(35) DEFAULT '' NOT NULL",66 'rang' => "varchar(15) DEFAULT '' NOT NULL",67 'regne' => "varchar(10) DEFAULT '' NOT NULL",68 'nom_commun' => "text DEFAULT '' NOT NULL",69 'auteur' => "varchar(100) DEFAULT '' NOT NULL",70 'descriptif' => "text DEFAULT '' NOT NULL",71 'tsn' => 'bigint(21) NOT NULL',72 'tsn_parent' => 'bigint(21) NOT NULL',73 'indicateur' => "varchar(32) DEFAULT '' NOT NULL",74 'sources' => "text DEFAULT '' NOT NULL",75 'importe' => "varchar(3) DEFAULT 'oui' NOT NULL",76 'edite' => "varchar(3) DEFAULT 'non' NOT NULL",77 'maj' => 'TIMESTAMP'78 ),79 'key' => array(80 'PRIMARY KEY' => 'id_taxon',81 'KEY tsn' => 'tsn',82 ),83 'titre' => "nom_scientifique AS titre, '' AS lang",84 85 'champs_editables' => array('nom_commun', 'descriptif'),86 'champs_versionnes' => array('nom_commun', 'descriptif'),87 'rechercher_champs' => array('nom_scientifique' => 10, 'nom_commun' => 10, 'descriptif' => 5),88 'tables_jointures' => array(),89 );90 91 $tables['spip_especes'] = array(92 'type' => 'espece',93 'principale' => "oui",94 61 'field'=> array( 95 "id_espece" => "bigint(21) NOT NULL", 96 "nom_scientifique" => "varchar(35) DEFAULT '' NOT NULL", 97 "rang" => "varchar(15) DEFAULT '' NOT NULL", 98 "regne" => "varchar(10) DEFAULT '' NOT NULL", 99 "nom_commun" => "text DEFAULT '' NOT NULL", 100 "auteur" => "varchar(100) DEFAULT '' NOT NULL", 101 "descriptif" => "text DEFAULT '' NOT NULL", 102 "texte" => "longtext DEFAULT '' NOT NULL", 103 "tsn" => "bigint(21) NOT NULL", 104 "tsn_parent" => "bigint(21) NOT NULL", 105 "objet_parent" => "varchar(25) DEFAULT 'espece' NOT NULL", 106 "sources" => "text NOT NULL", 107 "statut" => "varchar(10) DEFAULT '0' NOT NULL", 108 "maj" => "TIMESTAMP" 62 'id_taxon' => "bigint(21) NOT NULL", 63 'nom_scientifique' => "varchar(35) DEFAULT '' NOT NULL", 64 'indicateurs' => "varchar(32) DEFAULT '' NOT NULL", 65 'rang' => "varchar(15) DEFAULT '' NOT NULL", 66 'regne' => "varchar(10) DEFAULT '' NOT NULL", 67 'nom_commun' => "text DEFAULT '' NOT NULL", 68 'auteur' => "varchar(100) DEFAULT '' NOT NULL", 69 'descriptif' => "text DEFAULT '' NOT NULL", 70 'texte' => "longtext DEFAULT '' NOT NULL", 71 'tsn' => "bigint(21) NOT NULL", 72 'tsn_parent' => "bigint(21) NOT NULL", 73 'sources' => "text NOT NULL", 74 'importe' => "varchar(3) DEFAULT 'non' NOT NULL", 75 'edite' => "varchar(3) DEFAULT 'non' NOT NULL", 76 'espece' => "varchar(3) DEFAULT 'non' NOT NULL", 77 'statut' => "varchar(10) DEFAULT 'prop' NOT NULL", 78 'maj' => "TIMESTAMP" 109 79 ), 110 80 'key' => array( 111 'PRIMARY KEY' => 'id_espece', 112 'KEY tsn' => 'tsn', 113 'KEY statut' => 'statut', 81 'PRIMARY KEY' => 'id_taxon', 82 'KEY tsn' => 'tsn', 83 'KEY statut' => 'statut', 84 'KEY espece' => 'espece', 85 'KEY importe' => 'importe', 86 'KEY edite' => 'edite', 114 87 ), 115 88 'titre' => "nom_scientifique AS titre, '' AS lang", 116 89 117 'champs_editables' => array('nom_ scientifique', 'nom_commun', 'auteur', 'descriptif', 'texte', 'sources'),118 'champs_versionnes' => array('nom_ scientifique', 'nom_commun', 'auteur', 'descriptif', 'texte', 'sources'),90 'champs_editables' => array('nom_commun', 'descriptif', 'texte', 'sources'), 91 'champs_versionnes' => array('nom_commun', 'descriptif', 'texte', 'sources'), 119 92 'rechercher_champs' => array('nom_scientifique' => 10, 'nom_commun' => 10, 'auteur' => 2, 'descriptif' => 5, 'texte' => 5), 120 93 'tables_jointures' => array(), … … 129 102 'publie' => 'publie', 130 103 'previsu' => 'publie, prop', 131 'post_date' => 'date',132 104 'exception' => array('statut', 'tout') 133 105 ) -
_plugins_/taxonomie/trunk/formulaires/charger_regne.php
r109345 r109602 82 82 83 83 /** 84 * Exécution du formulaire : le règne choisi est soit vidé, soit chargé jusqu'au rang minimal85 * choisien y intégrant les traductions des noms communs sélectionnées.84 * Exécution du formulaire : le règne choisi est soit vidé, soit chargé jusqu'au rang genre 85 * en y intégrant les traductions des noms communs sélectionnées. 86 86 * 87 87 * @uses regne_existe() -
_plugins_/taxonomie/trunk/formulaires/decrire_taxon.php
r109441 r109602 1 1 <?php 2 2 /** 3 * Gestion du formulaire d e chargement du descriptifd'un taxon à partir de Wikipedia.3 * Gestion du formulaire d'initialisation du descriptif ou du texte d'un taxon à partir de Wikipedia. 4 4 * 5 5 * @package SPIP\TAXONOMIE\TAXON … … 10 10 /** 11 11 * Chargement des données : le formulaire récupère une page wikipedia pour le descriptif du taxon. 12 * Le formulaire propose ce descriptifmais aussi une liste d'autres pages qui matchent avec le taxon.12 * Le formulaire propose une page par défaut mais aussi une liste d'autres pages qui matchent avec le taxon. 13 13 * 14 14 * @uses wikipedia_get_page() 15 15 * @uses convertisseur_texte_spip() 16 * 17 * @param int $id_taxon 18 * Id du taxon concerné. 19 * @param string $element 20 * Elément de contenu qui sera initialisé. Prend les valeurs `texte` ou `descriptif`. 16 21 * 17 22 * @return array … … 23 28 * - `_liens` : liste des liens possibles pour la recherche (étape 2) 24 29 * - `_lien_defaut` : lien par défaut (étape 2) 25 * - `_ descriptif`: texte de la page trouvée ou choisie par l'utilisateur (étape 2)26 * - `_etapes` : nombre d'étapes du form aulaire, à savoir, 2.27 */ 28 function formulaires_decrire_taxon_charger($id_taxon ) {30 * - `_page` : texte de la page trouvée ou choisie par l'utilisateur (étape 2) 31 * - `_etapes` : nombre d'étapes du formulaire, à savoir, 2. 32 */ 33 function formulaires_decrire_taxon_charger($id_taxon, $element) { 29 34 30 35 // Initialisation du chargement. 31 36 $valeurs = array(); 32 37 38 // On passe l'élément de contenu concerné par l'initialisation. 39 $valeurs['_element'] = $element; 40 33 41 // Langue choisie pour la page wikipedia. 34 42 $valeurs['langue'] = _request('langue'); 35 43 36 // Déterminer si un descriptif existe pour une langue donnée.44 // Déterminer si un descriptif ou un texte explicatif existe pour une langue donnée. 37 45 include_spip('inc/filtres'); 38 46 $traductions = array(); 39 if ($ descriptif = sql_getfetsel('descriptif', 'spip_taxons', array('id_taxon=' . sql_quote($id_taxon)))) {40 $ descriptif = trim($descriptif);41 if (preg_match(_EXTRAIRE_MULTI, $ descriptif, $match)) {42 $ descriptif= trim($match[1]);43 } 44 $traductions = extraire_trads($ descriptif);47 if ($contenu = sql_getfetsel($element, 'spip_taxons', array('id_taxon=' . sql_quote($id_taxon)))) { 48 $contenu = trim($contenu); 49 if (preg_match(_EXTRAIRE_MULTI, $contenu, $match)) { 50 $contenu = trim($match[1]); 51 } 52 $traductions = extraire_trads($contenu); 45 53 } 46 54 … … 51 59 $valeurs['_langues'][$_code_langue] = traduire_nom_langue($_code_langue); 52 60 if ($traductions and array_key_exists($_code_langue, $traductions)) { 53 $valeurs['_langues'][$_code_langue] .= ' (' . _T('taxonomie:info_ descriptif_existe') .')';61 $valeurs['_langues'][$_code_langue] .= ' (' . _T('taxonomie:info_element_existe') .')'; 54 62 } 55 63 } … … 67 75 // Initialisation des paramètres du formulaire utilisés en étape 2 et mis à jour dans la vérification 68 76 // de l'étape 1. 69 $valeurs['_ descriptif'] = _request('_descriptif');77 $valeurs['_page'] = _request('_page'); 70 78 $valeurs['_liens'] = _request('_liens'); 71 79 $valeurs['_lien_defaut'] = _request('_lien_defaut'); … … 83 91 * @uses wikipedia_get_page() 84 92 * @uses convertisseur_texte_spip() 93 * 94 * @param int $id_taxon 95 * Id du taxon concerné. 96 * @param string $element 97 * Elément de contenu qui sera initialisé. Prend les valeurs `texte` ou `descriptif`. 85 98 * 86 99 * @return array … … 89 102 * - `_liens` : liste des liens possibles pour la recherche (étape 2) 90 103 * - `_lien_defaut` : lien par défaut (étape 2) 91 * - `_ descriptif` : texte de la page trouvée ou choisie par l'utilisateur (étape 2)92 */ 93 function formulaires_decrire_taxon_verifier_1($id_taxon ) {104 * - `_page` : texte de la page trouvée ou choisie par l'utilisateur (étape 2) 105 */ 106 function formulaires_decrire_taxon_verifier_1($id_taxon, $element) { 94 107 95 108 // Initialisation des erreurs de vérification. … … 113 126 114 127 // On convertit le descriptif afin de visualiser un texte plus clair. 115 $valeurs['_ descriptif'] = '';128 $valeurs['_page'] = ''; 116 129 if (!empty($information['text'])) { 117 130 // Si le plugin Convertisseur est actif, conversion du texte mediawiki vers SPIP. … … 119 132 include_spip('inc/filtres'); 120 133 $convertir = chercher_filtre('convertisseur_texte_spip'); 121 $valeurs['_ descriptif'] = $convertir ? $convertir($information['text'], 'MediaWiki_SPIP') : $information['text'];134 $valeurs['_page'] = $convertir ? $convertir($information['text'], 'MediaWiki_SPIP') : $information['text']; 122 135 123 136 // On prépare la liste des choix possibles si le texte récupéré n'est pas le bon. … … 136 149 } 137 150 } else { 138 $erreurs['message_erreur'] = _T('taxonomie:erreur_wikipedia_ descriptif');151 $erreurs['message_erreur'] = _T('taxonomie:erreur_wikipedia_page'); 139 152 } 140 153 } … … 152 165 * @uses taxon_merger_traductions() 153 166 * 167 * @param int $id_taxon 168 * Id du taxon concerné. 169 * @param string $element 170 * Elément de contenu qui sera initialisé. Prend les valeurs `texte` ou `descriptif`. 171 * 154 172 * @return array 155 173 * Tableau retourné par le formulaire contenant toujours un message de bonne exécution ou 156 174 * d'erreur. L'indicateur editable est toujours à vrai. 157 175 */ 158 function formulaires_decrire_taxon_traiter($id_taxon ) {176 function formulaires_decrire_taxon_traiter($id_taxon, $element) { 159 177 $retour = array(); 160 178 161 179 // Initialisation des saisies. 162 180 $langue = _request('langue'); 163 $choix_ descriptif = _request('choix_descriptif');181 $choix_page = _request('choix_page'); 164 182 165 183 // Récupération des informations de base du taxon 166 $select = array('tsn', 'nom_scientifique', 'edite', 'descriptif', 'sources');184 $select = array('tsn', 'nom_scientifique', 'edite', $element, 'sources'); 167 185 $where = array('id_taxon=' . sql_quote($id_taxon)); 168 186 $taxon = sql_fetsel($select, 'spip_taxons', $where); … … 170 188 // Récupération de la page wikipedia choisie: 171 189 include_spip('services/wikipedia/wikipedia_api'); 172 if (strtolower($choix_ descriptif) == strtolower($taxon['nom_scientifique'])) {173 // L e descriptif déjà fourni par défaut est le bon. On ne met pas à jour le cache.190 if (strtolower($choix_page) == strtolower($taxon['nom_scientifique'])) { 191 // La page déjà fournie par défaut est la bonne. On ne met pas à jour le cache. 174 192 $recherche = array('name' => $taxon['nom_scientifique'], 'tsn' => $taxon['tsn']); 175 193 $information = wikipedia_get_page($recherche, $langue); 176 194 } else { 177 195 // On a choisit une autre page que celle par défaut : on recharge le cache avec la nouvelle recherche. 178 $recherche = array('name' => $choix_ descriptif, 'tsn' => $taxon['tsn']);196 $recherche = array('name' => $choix_page, 'tsn' => $taxon['tsn']); 179 197 $information = wikipedia_get_page($recherche, $langue, null, array('reload' => true)); 180 198 } 181 199 182 // On convertit le descriptif afin de proposer un texte plus clair.200 // On convertit le contenu de la page afin de proposer un texte plus clair possible. 183 201 if (!empty($information['text'])) { 184 202 // Si le plugin Convertisseur est actif, conversion du texte mediawiki vers SPIP. … … 193 211 $texte_converti = '<multi>' 194 212 . '[' . $langue . ']' 195 . substr($texte_converti, 0, $limite_texte)213 . ($element=='descriptif' ? substr($texte_converti, 0, $limite_texte) : $texte_converti) 196 214 . '</multi>'; 197 // Mise à jour pour le taxon d u descriptif et des champs connexes en base de données215 // Mise à jour pour le taxon de l'élément textuel concerné et des champs connexes. 198 216 $maj = array(); 199 // - le texte dudescriptif est inséré dans la langue choisie en mergeant avec l'existant217 // - le texte ou le descriptif est inséré dans la langue choisie en mergeant avec l'existant 200 218 // si besoin. On limite la taille du descriptif pour éviter un problème lors de l'update 201 219 include_spip('inc/taxonomie'); 202 $maj[ 'descriptif'] = taxon_merger_traductions($texte_converti, $taxon['descriptif']);220 $maj[$element] = taxon_merger_traductions($texte_converti, $taxon[$element]); 203 221 // - l'indicateur d'édition est positionné à oui 204 222 $maj['edite'] = 'oui'; 205 // - la source wikipedia est ajoutée (ou écrasée si elle existe déjà) 206 $maj['sources'] = array('wikipedia' => array('champs' => array('descriptif'))); 207 if ($sources = unserialize($taxon['sources'])) { 208 $maj['sources'] = array_merge($maj['sources'], $sources); 223 // - la source wikipedia est ajoutée (ou écrasée si elle existe déjà) et on met à jour la liste des champs 224 $maj['sources'] = unserialize($taxon['sources']); 225 if (isset($maj['sources']['wikipedia'])) { 226 if (!in_array($element, $maj['sources']['wikipedia']['champs'])) { 227 $maj['sources']['wikipedia']['champs'][] = $element; 228 } 229 } else { 230 $maj['sources']['wikipedia'] = array('champs' => array($element)); 209 231 } 210 232 $maj['sources'] = serialize($maj['sources']); … … 215 237 $retour['redirect'] = parametre_url(generer_url_ecrire('taxon_edit'), 'id_taxon', $id_taxon); 216 238 } else { 217 $retour['message_erreur'] = _T('taxonomie:erreur_wikipedia_ descriptif');239 $retour['message_erreur'] = _T('taxonomie:erreur_wikipedia_page'); 218 240 } 219 241 -
_plugins_/taxonomie/trunk/formulaires/decrire_taxon_2.html
r109065 r109602 14 14 })] 15 15 16 [(#ENV{_ descriptif}|oui)17 [(#SAISIE{textarea, _ descriptif,18 explication=<:taxonomie:explication_wikipedia_ descriptif:>,19 label=<:taxonomie:label_wikipedia_ descriptif:>,16 [(#ENV{_page}|oui) 17 [(#SAISIE{textarea, _page, 18 explication=<:taxonomie:explication_wikipedia_page:>, 19 label=<:taxonomie:label_wikipedia_page:>, 20 20 disable=oui 21 21 })] 22 22 23 [(#SAISIE{radio, choix_descriptif, 24 explication=<:taxonomie:explication_wikipedia_lien:>, 23 [(#SET{nom_element, [(#VAL{taxon:champ_}|concat{#ENV{_element}}|concat{_label}|_T|strtolower)]})] 24 [(#SET{explication, [(#VAL{taxonomie:explication_wikipedia_lien}|_T{#ARRAY{element, #GET{nom_element}}})]})] 25 [(#SAISIE{radio, choix_page, 26 explication=#GET{explication}, 25 27 label=<:taxonomie:label_wikipedia_lien:>, 26 28 datas=#ENV{_liens}, … … 33 35 #SET{etape_precedente, #ENV{_etape}|moins{1}} 34 36 <input type="submit" class="submit" name="_retour_etape_1" value="<:taxonomie:bouton_retourner{etape=#GET{etape_precedente}}:>" /> 35 [(#ENV{_ descriptif}|oui)37 [(#ENV{_page}|oui) 36 38 <input type="submit" class="submit" value="<:bouton_enregistrer:>" /> 37 39 ] -
_plugins_/taxonomie/trunk/inc/taxonomie.php
r109417 r109602 170 170 171 171 /** 172 * Extrait, de la table `spip_taxons`, la liste des taxons d'un règne donné - importés via un fichier ITIS -173 * ayant fait l'objet d'une modification manuelle et la liste des taxons créés lors de l'ajout d'une espèce et donc174 * non importés avec le fichier ITIS.172 * Extrait, de la table `spip_taxons`, la liste des taxons non espèce d'un règne donné - importés via un fichier ITIS - 173 * ayant fait l'objet d'une modification manuelle et la liste des taxons non espèce créés lors de l'ajout d'une espèce 174 * et donc non importés avec le fichier ITIS. 175 175 * 176 176 * @package SPIP\TAXONOMIE\TAXON … … 184 184 * Liste des taxons modifiées manuellement et créés suite à l'ajout d'une espèce. 185 185 * Chaque élément de la liste est un tableau composé, pour les taxons modifiés manuellement des index 186 * `tsn`, `nom_commun`, `descriptif` et pour les taxons créés via une espèce de tous les champs d uobjet186 * `tsn`, `nom_commun`, `descriptif` et pour les taxons créés via une espèce de tous les champs de l'objet 187 187 * taxon, à l'exception de l'id (`id_taxon`) et de la date de mise à jour (`maj`). 188 188 */ … … 194 194 195 195 // Récupération de la liste des taxons importés via le fichier ITIS du règne concerné et édités manuellement. 196 // Ces champs éditables (nom_commun, descriptif) seront réinjectés après le chargement du règne via un update. 196 // Ces champs éditables (nom_commun, descriptif, texte et sources) seront réinjectés après le chargement du règne 197 // via un update. 197 198 $from = array('spip_taxons'); 198 199 $select = array_merge($description_table['champs_editables'], array('tsn')); 199 $where = array('regne=' . sql_quote($regne), 'edite=' . sql_quote('oui'), 'importe=' . sql_quote('oui')); 200 $where = array( 201 'regne=' . sql_quote($regne), 202 'edite=' . sql_quote('oui'), 203 'importe=' . sql_quote('oui'), 204 'espece=' . sql_quote('non') 205 ); 200 206 $taxons['edites'] = sql_allfetsel($select, $from, $where); 201 207 … … 206 212 // l'objet en BD (id_taxon, maj). 207 213 $select = array_diff(array_keys($description_table['field']), array('id_taxon', 'maj')); 208 $where = array('regne=' . sql_quote($regne), 'importe=' . sql_quote('non')); 214 $where = array( 215 'regne=' . sql_quote($regne), 216 'importe=' . sql_quote('non'), 217 'espece=' . sql_quote('non') 218 ); 209 219 $taxons['crees'] = sql_allfetsel($select, $from, $where); 210 220 -
_plugins_/taxonomie/trunk/lang/espece_fr.php
r109447 r109602 11 11 12 12 // C 13 'champ_auteur_label' => 'Auteur',14 'champ_descriptif_label' => 'Descriptif',15 'champ_nom_commun_label' => 'Nom commun',16 'champ_nom_scientifique_label' => 'Nom scientifique',17 'champ_rang_label' => 'Rang',18 'champ_regne_label' => 'Regne',19 'champ_sources_label' => 'Sources',20 'champ_texte_label' => 'Texte explicatif sur l\'espèce',21 'champ_objet_genre_label' => 'Type d\'objet du parent de l\'espèce',22 'champ_tsn_label' => 'Identifiant ITIS',23 'champ_tsn_parent_label' => 'Taxon parent',24 13 25 14 // I -
_plugins_/taxonomie/trunk/lang/taxon_fr.php
r109447 r109602 12 12 // C 13 13 'champ_auteur_label' => 'Auteur', 14 'champ_descriptif_label' => 'Descriptif ',14 'champ_descriptif_label' => 'Descriptif rapide', 15 15 'champ_nom_commun_label' => 'Nom commun', 16 16 'champ_nom_scientifique_label' => 'Nom scientifique', … … 18 18 'champ_regne_label' => 'Règne', 19 19 'champ_sources_label' => 'Sources', 20 'champ_texte_label' => 'Texte', 20 21 'champ_tsn_label' => 'Identifiant ITIS', 21 22 'champ_tsn_parent_label' => 'Taxon parent', -
_plugins_/taxonomie/trunk/lang/taxonomie_fr.php
r109480 r109602 9 9 'bouton_retourner' => 'Retourner à l\'étape @etape@', 10 10 'bouton_taxonomie' => 'Taxons', 11 'bouton_wikipedia_descriptif' => 'Remplir le descriptif avec Wikipedia', 11 'bouton_wikipedia_descriptif' => 'Initialiser le descriptif avec Wikipedia', 12 'bouton_wikipedia_texte' => 'Initialiser le texte avec Wikipedia', 12 13 13 14 // C … … 19 20 'erreur_vider_regne' => 'Erreur lors du vidage du règne @regne@ en base de données.', 20 21 'erreur_charger_regne' => 'Erreur lors du chargement du règne @regne@ en base de données.', 21 'erreur_wikipedia_ descriptif' => 'Aucun descriptif dans la langue choisie n\'a pu être récupéréde Wikipedia.',22 'erreur_wikipedia_page' => 'Aucune page dans la langue choisie n\'a pu être récupérée de Wikipedia.', 22 23 'erreur_recherche_nom_scientifique' => 'Le nom scientifique d\'une espèce ou d\'un taxon de rang inférieur est toujours constitué d\'au moins deux mots. Saisissez un second mot ou changez le type de correspondance.', 23 24 'erreur_recherche_aucun_taxon' => 'Le service ITIS ne trouve aucun taxon de rang espèce ou inférieur correspondant à cette recherche ou tous les taxons trouvés ont déjà été créés.', … … 28 29 'explication_recherche_correspondance' => 'Il conseillé d\'adapter le type de correspondance afin de limiter le nombre de taxons potentiellement compatibles.', 29 30 'explication_recherche_regne' => 'Les règnes proposés sont uniquement ceux qui ont déjà été chargés dans la base de données taxonomique.', 30 'explication_action_regne' => 'Si le règne est déjà présent dans la base de données taxonomique, tous les taxons qui le composent seront supprimés avant le chargement.',31 'explication_action_regne' => 'Si le règne est déjà présent dans la base de données taxonomique, tous les taxons du règne au genre qui le composent seront supprimés avant le chargement.', 31 32 'explication_langues_regne' => 'Les taxons sont chargés par défaut avec leur nom scientifique. Cette option permet de compléter certains taxons avec leur nom commun dans la ou les langues précisées.', 32 33 'explication_langues_utilisees' => 'Le plugin supporte quelques langues comme le français, l\'anglais et l\'espagnol. Cela permet de charger voire de saisir manuellement les noms communs et descriptifs dans ces langues. 33 34 Néanmoins, en fonction de votre besoin vous pouvez limiter l\'utilisation de ces langues mais une langue est au moins requise.', 34 'explication_wikipedia_langue' => 'Si vous utilisez plusieurs langues pour traduire vos taxons, choisissez la langue à utiliser pour récupérer l e descriptif.',35 'explication_wikipedia_ descriptif' => 'Vérifier si ce descriptif est bien celuiqui décrit le mieux le taxon. Si non, choisissez une page alternative parmi celle éventuellement proposée dans la liste ci-dessous.',36 'explication_wikipedia_lien' => 'Choisissez la page Wikipedia que vous souhaitez intégrer comme descriptifdu taxon.',35 'explication_wikipedia_langue' => 'Si vous utilisez plusieurs langues pour traduire vos taxons, choisissez la langue à utiliser pour récupérer la page Wikipedia.', 36 'explication_wikipedia_page' => 'Vérifier si cette page est bien celle qui décrit le mieux le taxon. Si non, choisissez une page alternative parmi celle éventuellement proposée dans la liste ci-dessous.', 37 'explication_wikipedia_lien' => 'Choisissez la page Wikipedia que vous souhaitez intégrer dans le champ « @element@ » du taxon.', 37 38 38 39 // F 39 'filtre_edite_oui' => 'Taxons édités', 40 'filtre_edite_non' => 'Taxons non édités', 41 'filtre_edite_tout' => 'Tous les taxons', 40 'filtre_edite_oui' => 'Edités', 41 'filtre_edite_non' => 'Non édités', 42 'filtre_edite_tout' => 'Tous', 43 'filtre_importe_oui' => 'Importés', 44 'filtre_importe_non' => 'Non importés', 45 'filtre_importe_tout' => 'Tous', 42 46 'filtre_regnes_tout' => 'Tous les règnes', 43 47 … … 48 52 'info_nb_taxons' => '@nb@ taxons du règne au genre', 49 53 'info_boite_taxonomie_configuration' => 'Cette page permet de configurer les paramètres de base du plugin comme la liste des langues utilisables pour nommer ou décrire les taxons.', 50 'info_boite_regnes' => 'Cette page permet de c onsulter, charger, mettre à jour ou vider les taxons du règne au genre des règnes animal, végétal et fongique.',51 'info_boite_taxons' => 'Cette page permet aux utilisateurs de consulter la liste des taxons du règne au genre chargés en base de données et de naviguer de taxon en taxon.',54 'info_boite_regnes' => 'Cette page permet de charger, mettre à jour ou vider les taxons du règne au genre (rangs principaux, secondaires et intercalaires) importés à partir des rapports hiérarchiques extraits de la base ITIS. Ces taxons peuvent être rechargés sans danger pour les autres taxons et pour les modifications éventuellement effectuées.', 55 'info_boite_taxons' => 'Cette page permet de consulter la liste des taxons dont le rang est strictement supérieur au rang espèce. Ces taxons sont tous créés automatiquement même si ils peuvent être modifiés manuellement après coup.', 52 56 'info_boite_especes' => 'Cette page permet de consulter la liste des espèces et des taxons de rang inférieur créés par les utilisateurs.', 53 57 'info_boite_espece_creer' => 'Cette page permet de créer une espèce ou un taxon de rang inférieur à partir de son nom scientifique ou d\'un nom commun. Le formulaire fait appel à la base ITIS via des services web afin de récupérer l\'ensemble des informations de base sur le taxon. 54 58 Une fois le taxon proposé validé, l\'espèce est créée dans la base de données taxonomique et la page d\'édition de l\'espèce est affichée.', 55 'info_ descriptif_existe' => 'non vide',59 'info_element_existe' => 'non vide', 56 60 'info_etape' => 'Etape @etape@ / @etapes@', 57 61 'info_indicateur_hybride' => 'Ce taxon est un hydribe', 58 62 'info_regne_charge' => 'déjà chargé', 59 'info_regne_compteur_taxons' => '@nb@ taxons chargés du règne au genre (rangs principaux, secondaires et intercalaires)',63 'info_regne_compteur_taxons' => '@nb@ taxons chargés du règne au genre à partir du fichier « @fichier@ »', 60 64 'info_regne_compteur_traductions' => '@nb@ noms communs en [@langue@]', 61 65 'info_espece_recherche_intro' => 'Vous avez choisi de rechercher une espèce :', … … 84 88 'label_taxon_trouve' => 'Taxons correspondant à la recherche', 85 89 'label_wikipedia_alternative_defaut' => 'Utiliser le descriptif proposé par défaut', 86 'label_wikipedia_alternative' => 'Utiliser la page « @alternative@»',87 'label_wikipedia_ descriptif' => 'Descriptif Wikipedia fournipar défaut',90 'label_wikipedia_alternative' => 'Utiliser la page « @alternative@ »', 91 'label_wikipedia_page' => 'Page Wikipedia fournie par défaut', 88 92 'label_wikipedia_langue' => 'Langue à utiliser par Wikipedia', 89 93 'label_wikipedia_lien' => 'Page Wikipedia à utiliser', … … 143 147 144 148 // O 145 'onglet_espece' => 'Espèces et rangs inférieurs',149 'onglet_espece' => 'Espèces et descendants', 146 150 'onglet_gestion' => 'Gestion des règnes', 147 151 'onglet_configuration' => 'Configuration du plugin', 148 'onglet_navigation' => ' Taxons du règne au genre',152 'onglet_navigation' => 'Ascendants des espèces', 149 153 150 154 // S … … 157 161 'titre_liste_regnes' => 'Liste des règnes chargés en base de données', 158 162 'titre_liste_fils_taxon' => 'Liste des descendants directs', 159 'titre_page_decrire_wikipedia' => 'Descriptif Wikipedia du taxon <span class="nom_scientifique_inline">@taxon@</span>',160 163 'titre_page_taxonomie' => 'Taxonomie', 161 164 'titre_page_creer_espece' => 'Créer une espèce ou un taxon de rang inférieur', -
_plugins_/taxonomie/trunk/paquet.xml
r109204 r109602 2 2 prefix="taxonomie" 3 3 categorie="divers" 4 version="0. 2.0"4 version="0.3.0" 5 5 etat="dev" 6 6 compatibilite="[3.0.17;3.2.*]" -
_plugins_/taxonomie/trunk/prive/objets/infos/taxon.html
r109447 r109602 21 21 </div>] 22 22 [<div class="statut"> 23 (#INDICATEUR |oui)[(#VAL{taxonomie:info_indicateur_}|concat{#INDICATEUR}|_T)]23 (#INDICATEURS|oui)[(#VAL{taxonomie:info_indicateur_}|concat{#INDICATEURS}|_T)] 24 24 </div>] 25 25 </div> -
_plugins_/taxonomie/trunk/prive/objets/liste/taxons.html
r109203 r109602 21 21 <tr class="first_row"> 22 22 <th class="picto" scope="col"></th> 23 [(#ENV{espece, non}|=={oui}|oui) 24 <th class="statut" scope="col">[(#TRI{statut,<span title="<:lien_trier_statut|attribut_html:>">#</span>,ajax})]</th> 25 ] 23 26 <th class="titre principale" scope="col">[(#TRI{nom_scientifique,<:taxon:champ_nom_scientifique_label:>,ajax})]</th> 24 27 <th class="nom" scope="col">[(#TRI{nom_commun,<:taxon:champ_nom_commun_label:>,ajax})]</th> … … 30 33 </thead> 31 34 <tbody> 32 <BOUCLE_liste_taxons(TAXONS){regne?}{rang?}{e dite?}{where?}{recherche?}{tri #ENV{par,nom_scientifique}, #GET{defaut_tri}}{pagination #ENV{nb,100}}>35 <BOUCLE_liste_taxons(TAXONS){regne?}{rang?}{espece?}{statut?}{edite?}{importe?}{where?}{recherche?}{tri #ENV{par,nom_scientifique}, #GET{defaut_tri}}{pagination #ENV{nb,100}}> 33 36 <tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]"> 34 37 <td class="picto">[(#CHEMIN_IMAGE{taxon-16.png}|balise_img)]</td> 35 <td class="titre principale nom_scientifique">[(#LOGO_TAXON|image_reduire{20,26})]<a href="[(#ID_TAXON|generer_url_entite{taxon})]" title="<:info_numero_abbreviation|attribut_html:> #ID_TAXON">[(#NOM_SCIENTIFIQUE)]</a></td> 38 [(#ENV{espece, non}|=={oui}|oui) 39 <td class="statut">[(#STATUT|puce_statut{espece,#ID_ESPECE})]</td> 40 ] 41 <td class="titre principale nom_scientifique"> 42 [(#LOGO_TAXON|image_reduire{20,26})] 43 <a href="[(#ID_TAXON|generer_url_entite{taxon})]" title="<:info_numero_abbreviation|attribut_html:> #ID_TAXON"> 44 [(#NOM_SCIENTIFIQUE)] 45 </a> 46 </td> 36 47 <td class="nom">[(#NOM_COMMUN|extraire_multi{#LANG, #ARRAY{lang_defaut, aucune}})]</td> 37 48 <td class="rang">[(#VAL{taxonomie:rang_}|concat{#RANG}|_T)]</td> 38 49 <td class="regne nom_scientifique">[(#REGNE)]</td> 39 50 <td class="numero">#TSN</td> 40 <td class="id">[(#AUTORISER{modifier, taxon,#ID_TAXON}|?{41 <a href="[(#URL_ECRIRE{taxon_edit, id_taxon=#ID_TAXON})]">#ID_TAXON</a>,51 <td class="id">[(#AUTORISER{modifier, taxon, #ID_TAXON}|?{ 52 <a href="[(#URL_ECRIRE{taxon_edit, id_taxon=#ID_TAXON})]">#ID_TAXON</a>, 42 53 #ID_TAXON 43 54 })]</td> -
_plugins_/taxonomie/trunk/prive/squelettes/contenu/especes.html
r109442 r109602 10 10 <div class="nettoyeur"></div> 11 11 12 <INCLURE{fond=prive/objets/liste/especes, 12 <INCLURE{fond=prive/objets/liste/taxons, 13 espece=oui, 13 14 par=nom_scientifique, 14 15 info_1=taxonomie:info_1_espece, -
_plugins_/taxonomie/trunk/prive/squelettes/contenu/taxon_decrire.html
r108777 r109602 1 1 [(#AUTORISER{modifier, taxon, #ENV{id_taxon}}|sinon_interdire_acces)] 2 2 <BOUCLE_taxon_decrire(TAXONS) {id_taxon}> 3 <h1 class="grostitre"><:taxonomie:titre_page_decrire_wikipedia{taxon=#NOM_SCIENTIFIQUE}:></h1> 3 <h1 class="grostitre"> 4 <span class="nom_scientifique_inline">#NOM_SCIENTIFIQUE</span> 5 [ - (#VAL{taxonomie:bouton_wikipedia_}|concat{#ENV{element}}|_T)] 6 </h1> 4 7 5 8 [<div class="noajax"> 6 (#FORMULAIRE_DECRIRE_TAXON{#ENV{id_taxon} })9 (#FORMULAIRE_DECRIRE_TAXON{#ENV{id_taxon}, #ENV{element}}) 7 10 </div>] 8 11 </BOUCLE_taxon_decrire> -
_plugins_/taxonomie/trunk/prive/squelettes/contenu/taxons.html
r109442 r109602 4 4 [(#REM) Onglets pour le filtrage par règne et par indicateur d'édition ] 5 5 <INCLURE{fond=prive/squelettes/inclure/inc-filtres_listes, 6 filtres=#LISTE{edit ion},6 filtres=#LISTE{edite, importe}, 7 7 env} /> 8 8 … … 11 11 12 12 <INCLURE{fond=prive/objets/liste/taxons, 13 espece=non, 13 14 par=nom_scientifique, 14 15 info_1=taxonomie:info_1_taxon, -
_plugins_/taxonomie/trunk/prive/squelettes/hierarchie/taxon_decrire.html
r109246 r109602 9 9 </a> > 10 10 <strong class="on"> 11 <:taxonomie:titre_page_decrire_wikipedia{taxon=#NOM_SCIENTIFIQUE}:>11 [(#VAL{taxonomie:bouton_wikipedia_}|concat{#ENV{element}}|_T)] 12 12 </strong> 13 13 [(#REM|changer_typo)] -
_plugins_/taxonomie/trunk/prive/squelettes/inclure/inc-filtres_listes.html
r109442 r109602 12 12 (#SELF 13 13 |parametre_url{regne, #REGNE} 14 |lien_ou_expose{[(#VAL{taxonomie:regne_}|concat{#REGNE}|_T|ucfirst)], #ENV{regne }|=={#REGNE}, ajax})14 |lien_ou_expose{[(#VAL{taxonomie:regne_}|concat{#REGNE}|_T|ucfirst)], #ENV{regne, ''}|=={#REGNE}, ajax}) 15 15 </li>] 16 16 </BOUCLE_regnes> … … 20 20 21 21 [(#REM) Onglets de second niveau pour le filtrage par indicateur d'édition ] 22 [(#ENV{filtres}|oui)<div class="onglets_simple second clearfix">] 23 [(#VAL{edition}|in_array{#ENV{filtres, #ARRAY}}|oui) 24 <ul class="edition"> 22 <B_filtres> 23 <div class="onglets_simple second clearfix"> 24 <BOUCLE_filtres(DATA) {source table, #ENV{filtres}}> 25 <ul[ class="(#VALEUR) [(#COMPTEUR_BOUCLE|>{1}|oui) suivant]"]> 25 26 [<li class="first"> 26 27 (#SELF 27 |parametre_url{ edite, ''}28 |lien_ou_expose{ <:taxonomie:filtre_edite_tout:>, #ENV{edite, ''}|=={''}, ajax})28 |parametre_url{#VALEUR, ''} 29 |lien_ou_expose{[(#VAL{taxonomie:filtre_}|concat{#VALEUR}|concat{_tout}|_T)], #ENV{#VALEUR}|=={''}, ajax}) 29 30 </li>] 30 31 [<li> 31 32 (#SELF 32 |parametre_url{ edite, oui}33 |lien_ou_expose{ <:taxonomie:filtre_edite_oui:>, #ENV{edite, ''}|=={oui}, ajax})33 |parametre_url{#VALEUR, oui} 34 |lien_ou_expose{[(#VAL{taxonomie:filtre_}|concat{#VALEUR}|concat{_oui}|_T)], #ENV{#VALEUR}|=={'oui'}, ajax}) 34 35 </li>] 35 36 [<li> 36 37 (#SELF 37 |parametre_url{ edite, non}38 |lien_ou_expose{ <:taxonomie:filtre_edite_non:>, #ENV{edite, ''}|=={non}, ajax})38 |parametre_url{#VALEUR, non} 39 |lien_ou_expose{[(#VAL{taxonomie:filtre_}|concat{#VALEUR}|concat{_non}|_T)], #ENV{#VALEUR}|=={'non'}, ajax}) 39 40 </li>] 40 41 </ul> 41 <div class="nettoyeur"></div> 42 ] 43 [(#ENV{sous_onglets}|oui)</div>] 42 </BOUCLE_filtres> 43 <br class="nettoyeur" /> 44 </div> 45 </B_filtres> 44 46 </B_regnes> -
_plugins_/taxonomie/trunk/prive/squelettes/inclure/inc-taxonomie-raccourci.html
r109601 r109602 3 3 [(#URL_ECRIRE{taxon_decrire} 4 4 |parametre_url{id_taxon, #ID_TAXON} 5 |parametre_url{element, descriptif} 5 6 |icone_horizontale{<:taxonomie:bouton_wikipedia_descriptif:>, wikipedia-24})] 7 [(#URL_ECRIRE{taxon_decrire} 8 |parametre_url{id_taxon, #ID_TAXON} 9 |parametre_url{element, texte} 10 |icone_horizontale{<:taxonomie:bouton_wikipedia_texte:>, wikipedia-24})] 6 11 [(#GET{open}|unique|?{'',#BOITE_FERMER})] -
_plugins_/taxonomie/trunk/prive/squelettes/liste/regnes.html
r109441 r109602 41 41 <td class="descriptif"> 42 42 [(#SET{meta_regne, [(#CONFIG{taxonomie_[(#NOM_SCIENTIFIQUE|strtolower)]})]})] 43 <div>[(#VAL{taxonomie:info_regne_compteur_taxons}|_T{#ARRAY{nb, #GET{meta_regne/compteur}}})]</div>44 43 <ul class="spip"> 44 <li>[(#VAL{taxonomie:info_regne_compteur_taxons}|_T{#ARRAY{nb, #GET{meta_regne/compteur}, fichier, #GET{meta_regne/fichier}}})]</li> 45 45 <BOUCLE_traductions(DATA) {source table, #GET{meta_regne/traductions/itis}}> 46 46 #SET{nb, #VALEUR{compteur}} -
_plugins_/taxonomie/trunk/prive/squelettes/navigation/taxon.html
r92772 r109602 4 4 #BOITE_FERMER 5 5 6 <INCLURE{fond=prive/squelettes/inclure/inc-taxonomie-services, 7 nom=#NOM_SCIENTIFIQUE, 6 <INCLURE{fond=prive/squelettes/inclure/inc-taxonomie-raccourci, 8 7 env}> 9 8 -
_plugins_/taxonomie/trunk/prive/style_prive_plugin_taxonomie.html
r109569 r109602 53 53 .liste-objets.taxons.enfants .regne { display: none; } 54 54 55 /* Ne pas trop décaler les listes dans le tableau des règnes chargés */ 56 #conteneur .liste-objets.regnes ul.spip li { margin-left: 15px; } 57 58 /* Filtres secondaires */ 59 .onglets_simple.second ul.suivant li.first { margin-left: 20px; } 55 60 [(#REM) </style>] -
_plugins_/taxonomie/trunk/services/itis/itis_api.php
r109444 r109602 587 587 * inférieurs. Cette liste contient tous les rangs principaux, secondaires et intercalaires. 588 588 * Le tableau est de la forme [nom anglais du rang en minuscules] = détails du rang 589 * @param int$sha_file589 * @param string $sha_file 590 590 * Sha calculé à partir du fichier de taxons correspondant au règne choisi. Le sha est retourné 591 591 * par la fonction afin d'être stocké par le plugin. … … 634 634 foreach ($lines as $_line) { 635 635 $taxon = array( 636 'regne' => $kingdom, 637 'nom_commun' => '', 638 'descriptif' => '', 639 'indicateur' => '', 640 'edite' => 'non' 636 'regne' => $kingdom, 637 'nom_commun' => '', 638 'descriptif' => '', 639 'indicateurs' => '', 640 'edite' => 'non', 641 'importe' => 'oui', 642 'espece' => 'non', 643 'statut' => 'publie', 641 644 ); 642 645 if (preg_match($regexp, $_line, $match)) { … … 653 656 // un X pour indiquer un taxon hybride. 654 657 if (strtolower(trim($match[3])) == 'x') { 655 $taxon['indicateur '] = 'hybride';658 $taxon['indicateurs'] = 'hybride'; 656 659 } 657 660 … … 704 707 * @param string $language 705 708 * Langue au sens d'ITIS écrite en minuscules. Vaut `french`, `english`, `spanish` etc. 706 * @param int$sha_file709 * @param string $sha_file 707 710 * Sha calculé à partir du fichier des noms communs choisi. Le sha est retourné 708 711 * par la fonction afin d'être stocké par le plugin. … … 745 748 * @param string $kingdom 746 749 * Nom scientifique du règne en lettres minuscules : `animalia`, `plantae`, `fungi`. 747 * @param int$sha_file750 * @param string $sha_file 748 751 * Sha calculé à partir du fichier de taxons correspondant au règne choisi. Le sha est retourné 749 752 * par la fonction afin d'être stocké par le plugin. -
_plugins_/taxonomie/trunk/taxonomie_administrations.php
r109300 r109602 26 26 27 27 $maj['create'] = array( 28 array('maj_tables', array('spip_taxons' , 'spip_especes')),28 array('maj_tables', array('spip_taxons')), 29 29 array('ecrire_config', 'taxonomie', $config_defaut) 30 30 ); … … 47 47 // Supprimer la table des taxons créées par le plugin 48 48 sql_drop_table("spip_taxons"); 49 sql_drop_table("spip_especes");50 49 51 50 // Nettoyer les versionnages 52 sql_delete("spip_versions", sql_in("objet", array('taxon' , 'espece')));53 sql_delete("spip_versions_fragments", sql_in("objet", array('taxon' , 'espece')));51 sql_delete("spip_versions", sql_in("objet", array('taxon'))); 52 sql_delete("spip_versions_fragments", sql_in("objet", array('taxon'))); 54 53 55 54 // Effacer la meta de chaque règne chargé. On boucle sur tous les règnes -
_plugins_/taxonomie/trunk/taxonomie_fonctions.php
r109384 r109602 11 11 12 12 /** 13 * Charge tous les taxons d'un règne donné , du règne lui-même jusqu'aux taxons de genre.13 * Charge tous les taxons d'un règne donné fourni dans le fichier ITIS, du règne lui-même jusqu'aux taxons de genre. 14 14 * Les nom communs anglais, français, espagnols, etc, peuvent aussi être chargés en complément mais 15 15 * ne couvrent pas l'ensemble des taxons. … … 94 94 95 95 // Ré-injection des modifications manuelles effectuées sur les taxons importés via le fichier ITIS du règne. 96 // -- descriptif : remplacement96 // -- descriptif, texte, sources: remplacement 97 97 // -- nom commun: merge en considérant que la mise à jour manuelle est prioritaire 98 // -- edite: oui, on conserve bien sur l'indicateur d'édition99 if ( $taxons_preserves['edites']) {98 // -- edite: positionné à 1, on conserve bien sur l'indicateur d'édition 99 if (!empty($taxons_preserves['edites'])) { 100 100 foreach ($taxons_preserves['edites'] as $_taxon_edite) { 101 101 if (($tsn = $_taxon_edite['tsn']) and (array_key_exists($tsn, $taxons))) { 102 102 $taxons[$tsn]['descriptif'] = $_taxon_edite['descriptif']; 103 $taxons[$tsn]['texte'] = $_taxon_edite['texte']; 104 $taxons[$tsn]['sources'] = $_taxon_edite['sources']; 103 105 $taxons[$tsn]['nom_commun'] = taxon_merger_traductions( 104 106 $_taxon_edite['nom_commun'], … … 114 116 // Ré-injection des taxons créés lors de l'ajout d'une espèce et donc jamais importés via le fichier ITIS 115 117 // du règne. 116 if ( $taxons_preserves['crees']) {118 if (!empty($taxons_preserves['crees'])) { 117 119 $taxons = array_merge($taxons, $taxons_preserves['crees']); 118 120 } … … 124 126 // Ca permettra de tester l'utilité ou pas d'un rechargement du règne 125 127 $meta_regne['maj'] = date('Y-m-d H:i:s'); 128 $meta_regne['fichier'] = "${regne}_genus.txt"; 126 129 127 130 // Mise à jour de la meta du règne. … … 136 139 137 140 /** 138 * Supprime tous les taxons d'un règne donné de la base de données.141 * Supprime de la base de données tous les taxons importés à partir du rapport hiérarchique d'un règne donné. 139 142 * La meta concernant les informations de chargement du règne est aussi effacée. 140 * Les modifications manuelles effectuées sur les taxons du règne sont perdues, elles141 * d oivent donc être préservées au préalable.143 * Les modifications manuelles effectuées sur les taxons concernés ainsi que les taxons ajoutés lors de la création 144 * d'une espèce sont perdues : elles doivent donc être préservées au préalable. 142 145 * 143 146 * @package SPIP\TAXONOMIE\REGNE … … 154 157 function regne_vider($regne) { 155 158 156 $retour = sql_delete('spip_taxons', 'regne=' . sql_quote($regne)); 159 $where = array('regne=' . sql_quote($regne), 'importe=' . sql_quote('oui')); 160 $retour = sql_delete('spip_taxons', $where); 157 161 if ($retour !== false) { 158 162 // Supprimer la meta propre au règne. … … 167 171 /** 168 172 * Retourne l'existence ou pas d'un règne en base de données. 169 * La fonction scrute l a table `spip_taxons` et non la meta propre au règne.173 * La fonction scrute les taxons importés de la table `spip_taxons` et non la meta propre au règne. 170 174 * 171 175 * @package SPIP\TAXONOMIE\REGNE … … 188 192 $existe = false; 189 193 190 $retour = sql_countsel('spip_taxons', 'regne=' . sql_quote($regne)); 194 $where = array('regne=' . sql_quote($regne), 'importe=' . sql_quote('oui')); 195 $retour = sql_countsel('spip_taxons', $where); 191 196 if ($retour) { 192 197 // Récupérer la meta propre au règne afin de la retourner. … … 201 206 202 207 /** 203 * Fournit l'ascendance taxonomique d'un taxon donné par consultation dans la base de données.208 * Fournit l'ascendance taxonomique d'un taxon donné, par consultation dans la base de données. 204 209 * 205 210 * @package SPIP\TAXONOMIE\TAXON … … 218 223 * @return array 219 224 * Liste des taxons ascendants. Chaque taxon est un tableau associatif contenant les informations 220 * suivantes : `id_taxon`, `tsn_parent`, `nom_scientifique`, `nom_commun`, `rang`. 225 * suivantes : `id_taxon`, `tsn_parent`, `nom_scientifique`, `nom_commun`, `rang`, `statut` et l'indicateur 226 * d'espèce `espèce`. 221 227 */ 222 228 function taxon_informer_ascendance($id_taxon, $tsn_parent = null, $ordre = 'descendant') { … … 232 238 233 239 while ($tsn_parent > 0) { 234 $select = array('id_taxon', 'tsn_parent', 'nom_scientifique', 'nom_commun', 'rang' );240 $select = array('id_taxon', 'tsn_parent', 'nom_scientifique', 'nom_commun', 'rang', 'statut', 'espece'); 235 241 $where = array('tsn=' . intval($tsn_parent)); 236 242 $taxon = sql_fetsel($select, 'spip_taxons', $where);
Note: See TracChangeset
for help on using the changeset viewer.