Changeset 86110 in spip-zone


Ignore:
Timestamp:
Nov 16, 2014, 6:11:10 PM (5 years ago)
Author:
eric@…
Message:

Renommage des fichiers d'api.
Ajout de la colonnes sources dans spip_taxons.
Ajout des icones pour l'objet taxon et changement du logo.
Ajout de la fonction fournissant les citations d'un taxon.
Amélioration de certains css.
Ajout de la navigation pour toutes les pages liées à la taxonomie.

Location:
_plugins_/taxonomie/trunk
Files:
19 added
12 edited
1 moved

Legend:

Unmodified
Added
Removed
  • _plugins_/taxonomie/trunk/base/taxonomie_declarations.php

    r86103 r86110  
    6666                        "tsn"                           => "bigint(21) NOT NULL",
    6767                        "tsn_parent"            => "bigint(21) NOT NULL",
     68                        "sources"                       => "text DEFAULT '' NOT NULL",
    6869                        "maj"                           => "TIMESTAMP"
    6970                ),
  • _plugins_/taxonomie/trunk/lang/taxon_fr.php

    r86103 r86110  
    1717        'champ_rang_label' => 'Rang',
    1818        'champ_regne_label' => 'Règne',
     19        'champ_sources_label' => 'Sources',
    1920        'champ_tsn_label' => 'Identifiant ITIS',
    2021        'champ_tsn_parent_label' => 'Taxon ascendant',
  • _plugins_/taxonomie/trunk/lang/taxonomie_fr.php

    r86103 r86110  
    1010        // C
    1111        'cfg_titre_parametrages' => 'Configuration du plugin Taxonomie',
     12        'citation_itis' => 'Integrated Taxonomic Information System (ITIS), @url@.',
     13        'citation_cinfo' => 'Commission internationale des noms français des oiseaux (CINFO), @url@.',
     14        'citation_wikipedia' => 'Wikipedia, @url@.',
    1215
    1316        // D
     
    2023
    2124        // I
    22         'info_boite_taxonomie_client' => 'Cette page permet aux webmestres de consulter, charger, mettre à jour ou vider les règnes animal, végétal et fongique gérés par le plugin.',
     25        'info_boite_taxonomie_gestion' => 'Cette page permet aux webmestres de consulter, charger, mettre à jour ou vider les règnes animal, végétal et fongique gérés par le plugin.',
     26        'info_boite_taxonomie_navigation' => 'Cette page permet aux utilisateurs de consulter la liste des taxons chargés en base de données et de naviguer de taxon en taxon.',
    2327        'info_regne_charge' => 'déjà chargé',
    2428        'info_regne_compteur_taxons' => '@nb@ taxons chargés du règne au @rang@',
     
    5256
    5357        // O
    54         'onglet_taxon' => 'Gestion des taxons',
     58        'onglet_gestion' => 'Gestion des règnes',
    5559        'onglet_configuration' => 'Configuration du plugin',
    56         'onglet_serveur' => 'Fonction Serveur',
     60        'onglet_navigation' => 'Navigation dans la taxonomie',
    5761
    5862        // S
  • _plugins_/taxonomie/trunk/paquet.xml

    r86103 r86110  
    2121        <necessite nom="saisies"  compatibilite="[1.24.0;]" />
    2222
    23         <menu nom="taxonomie" titre="taxonomie:bouton_taxonomie" parent="menu_edition" icone="images/taxonomie-16.png" action="taxonomie" />
     23        <menu nom="taxonomie" titre="taxonomie:bouton_taxonomie" parent="menu_edition" icone="images/taxon-16.png" action="taxonomie" />
    2424</paquet>
  • _plugins_/taxonomie/trunk/prive/objets/contenu/taxon-enfants.html

    r86103 r86110  
    55                titre=<:taxonomie:titre_liste_fils_taxon:>,
    66                par=nom_scientifique,
    7                 nb=30,
     7                nb=50,
    88                where=#GET{inclusion},
    99                classe=enfants,
  • _plugins_/taxonomie/trunk/prive/objets/contenu/taxon.html

    r86103 r86110  
    33[<div class="champ contenu_auteur[ (#AUTEUR*|strlen|?{'',vide})]">
    44        <label><:taxon:champ_auteur_label:> : </label>
    5         <span dir="#LANG_DIR" class="#EDIT{auteur} auteur">(#AUTEUR)</span>
     5        <span dir="#LANG_DIR" class="auteur">(#AUTEUR)</span>
    66</div>]
    77
     
    1414<div class="champ contenu_ascendance[ (#TSN_PARENT*|strlen|?{'',vide})]">
    1515<B_ascendance>
    16                 <label><:taxonomie:label_ascendance:> : </label>
    17                 <ul>
     16        <label><:taxonomie:label_ascendance:> : </label>
     17        <ul>
    1818<BOUCLE_ascendance(DATA) {source table, #GET{ascendance}}>
    1919                [<li[ class="(#VALEUR|table_valeur{rang})"]>
     
    2727                </li>]
    2828</BOUCLE_ascendance>
    29                 </ul>
    30         </div>
     29        </ul>
     30</div>
    3131</B_ascendance>
    3232</div>
    3333<//B_ascendance>
    3434
     35[(#SET{sources, [(#ID_TAXON|taxonomie_informer_sources{#SOURCES})]})]
     36<B_sources>
     37<div class="champ contenu_ps">
     38        <label><:taxon:champ_sources_label:> : </label>
     39        <ul>
     40<BOUCLE_sources(DATA) {source table, #GET{sources}}>
     41                [<li class="sources">
     42                        <span dir="#LANG_DIR">(#VALEUR|table_valeur{texte})<span>
     43                </li>]
     44</BOUCLE_sources>
     45        </ul>
     46</div>
     47</B_sources>
     48<//B_sources>
     49
    3550</BOUCLE_taxon>
  • _plugins_/taxonomie/trunk/prive/squelettes/contenu/taxons.html

    r86103 r86110  
     1<h1><:taxonomie:titre_page_taxonomie:></h1>
     2
    13#FORMULAIRE_RECHERCHE_ECRIRE{#SELF,ajax}
    24<div class="nettoyeur"></div>
  • _plugins_/taxonomie/trunk/prive/squelettes/inclure/inc-navigation.html

    r86103 r86110  
    1 [(#REM) <!-- Menu des onglets "fonction client", "fonction serveur" et "configuration du plugin"
    2         L'item "fonction serveur" n'est présent que si la fonction serveur est activée sur le site.
     1[(#REM) <!-- Menu des onglets "gestion", "navigation" et "configuration du plugin"
    32 --> ]
    43<ul class="liste-items sous_navigation">
    54        [<li class="item">
    6                 (#URL_ECRIRE{taxonomie}|parametre_url{fonction, client}
     5                (#URL_ECRIRE{taxonomie}
    76                        |lien_ou_expose{
    8                                 <:taxonomie:onglet_taxon:>,
    9                                 [(#ENV{exec}|=={taxonomie}|et{#ENV{fonction, client}|=={client}})]})
     7                                <:taxonomie:onglet_gestion:>,
     8                                [(#ENV{exec}|=={taxonomie})]})
     9        </li>]
     10        [<li class="item">
     11                (#URL_ECRIRE{taxons}
     12                        |lien_ou_expose{
     13                                <:taxonomie:onglet_navigation:>,
     14                                [(#ENV{exec}|=={taxons})]})
    1015        </li>]
    1116        [<li class="item">
  • _plugins_/taxonomie/trunk/prive/squelettes/navigation/taxonomie.html

    r86103 r86110  
    11[(#REM) <!-- Boite d'information sur la fonction client ou serveur --> ]
    2 [#BOITE_OUVRIR{#CHEMIN_IMAGE{taxonomie_gerer-24.png}|balise_img{'',cadre-icone}, info}
    3         (#VAL{taxonomie:info_boite_taxonomie_}|concat{#ENV{fonction, client}}|_T)
    4 #BOITE_FERMER]
     2#BOITE_OUVRIR{#CHEMIN_IMAGE{taxonomie_gerer-24.png}|balise_img{'',cadre-icone}, info}
     3        <:taxonomie:info_boite_taxonomie_gestion:>
     4#BOITE_FERMER
    55
    66[(#REM) <!-- Menu des onglets --> ]
  • _plugins_/taxonomie/trunk/prive/style_prive_plugin_taxonomie.html

    r86103 r86110  
    4040.taxon .fiche_objet #wysiwyg .contenu_ascendance .family { padding-left: 50px; }
    4141.taxon .fiche_objet #wysiwyg .contenu_ascendance .genus { padding-left: 60px; }
     42/* Décaler chaque sources du titre */
     43.taxon .fiche_objet #wysiwyg .contenu_ps { padding-bottom: 1em; }
     44.taxon .fiche_objet #wysiwyg .contenu_ps .sources { padding-left: 10px; }
    4245
    4346/* Variations des colonnes de la liste des taxons */
  • _plugins_/taxonomie/trunk/services/itis/itis_api.php

    r86106 r86110  
    1414         */
    1515        define('_TAXONOMIE_ITIS_URL_BASE_REQUETE', 'http://www.itis.gov/ITISWebService/');
     16if (!defined('_TAXONOMIE_ITIS_URL_CITATION'))
     17        /**
     18         * Préfixe des URL du service web de ITIS.
     19         * Le service fournit des données au format XML ou JSON
     20         */
     21        define('_TAXONOMIE_ITIS_URL_CITATION', 'http://www.itis.gov');
    1622if (!defined('_TAXONOMIE_ITIS_LANGUE_DEFAUT'))
    1723        /**
     
    388394}
    389395
     396function itis_citation() {
     397        $link = '<a href="' . _TAXONOMIE_ITIS_URL_CITATION . '">' . _TAXONOMIE_ITIS_URL_CITATION . '</a>';
     398        return _T('taxonomie:citation_itis', array('url' => $link));
     399}
    390400
    391401/**
  • _plugins_/taxonomie/trunk/taxonomie_fonctions.php

    r86103 r86110  
    2828
    2929        // Lecture de la hiérarchie des taxons à partir du fichier texte extrait de la base ITIS
    30         include_spip('services/itis/itis');
     30        include_spip('services/itis/itis_api');
    3131        $taxons = itis_read_hierarchy($regne, $rang, $meta_regne['sha']);
    3232
     
    138138        // Si on ne passe pas le tsn du parent correspondant au taxon pour lequel on cherche l'ascendance
    139139        // alors on le cherche en base de données.
    140         // Le fait de passer ce tsn parent est une uniquement optimisation.
     140        // Le fait de passer ce tsn parent est uniquement une optimisation.
    141141        if (is_null($tsn_parent)) {
    142142                $tsn_parent = sql_getfetsel('tsn_parent', 'spip_taxons', 'id_taxon=' . intval($id_taxon));
     
    160160}
    161161
     162
     163/**
     164 * Fourniture des sources d'information ayant permises de compléter le taxon.
     165 * La référence ITIS n'est pas répétée dans le champ sources de chaque taxon car elle est à la base de chaque règne.
     166 * Elle est donc insérée par la fonction elle-même.
     167 *
     168 * @api
     169 * @filtre
     170 *
     171 * @param int           $id_taxon
     172 *              Id du taxon pour lequel il faut fournir l'ascendance
     173 * @param string        $sources_specifiques
     174 *              Tableau sérialisé des identifiants des sources possibles autres qu'ITIS (CINFO, WIKIPEDIA...).
     175 *              Ce paramètre permet d'optimiser le traitement mais n'est pas obligatoire.
     176 *
     177 * @return array
     178 */
     179function taxonomie_informer_sources($id_taxon, $sources_specifiques=null) {
     180        $sources = array();
     181
     182        // Si on ne passe pas les sources du taxon concerné alors on le cherche en base de données.
     183        // Le fait de passer ce champ sources est uniquement une optimisation.
     184        if (is_null($sources_specifiques)) {
     185                $sources_specifiques = sql_getfetsel('sources', 'spip_taxons', 'id_taxon=' . intval($id_taxon));
     186        }
     187
     188        // On merge ITIS et les autres sources
     189        $liste_sources = array('itis' => '');
     190        if ($sources_specifiques) {
     191                $liste_sources = array_merge($liste_sources, unserialize($sources_specifiques));
     192        }
     193
     194        // Puis on construit le fichier
     195        foreach ($liste_sources as $_source => $_champs) {
     196                include_spip("services/${_source}/${_source}_api");
     197                if (function_exists($citer = "${_source}_citation")) {
     198                        $sources[$_source] = array(
     199                                'texte' => $citer(),
     200                                'champs' => $_champs
     201                        );
     202                }
     203        }
     204
     205        return $sources;
     206}
     207
    162208?>
Note: See TracChangeset for help on using the changeset viewer.