Changeset 109303 in spip-zone


Ignore:
Timestamp:
Mar 4, 2018, 8:26:43 PM (15 months ago)
Author:
eric@…
Message:

Mise au point de l'étape 3.
Reste juste l'information sur les taxons à créer à rajouter.

Location:
_plugins_/taxonomie/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/taxonomie/trunk/formulaires/creer_espece.php

    r109300 r109303  
    8080        $valeurs['tsn'] = _request('tsn');
    8181        $valeurs['_espece'] = _request('_espece');
    82         $valeurs['_parent'] = _request('_parent');
     82        $valeurs['_parents'] = _request('_parents');
    8383
    8484        // Préciser le nombre d'étapes du formulaire
     
    221221 *        Message d'erreur si le service ITIS ne renvoie pas les informations demandées (a priori jamais) ou
    222222 *        chargement (set_request) des champs utiles à l'étape 3 sinon. Ces champs sont :
    223  *              - `_espece` : (affichage) toutes les informations ITIS sur l'espèce.
    224  *              - `_parent` : (affichage) toutes les informations ITIS sur le parent direct de l'espèce.
     223 *              - `_espece`  : (affichage) toutes les informations ITIS sur l'espèce.
     224 *              - `_parents` : (affichage) toutes les informations ITIS sur l'ascendance de l'espèce jusqu'au genre.
    225225 */
    226226function formulaires_creer_espece_verifier_2() {
     
    250250                set_request('_espece', $espece);
    251251
    252                 // On passe au formulaire le ou les parents afin de positionner l'espèce dans la hiérarchie et de connaitre
    253                 // les taxons à créer.
    254                 $hierarchie = itis_get_information('hierarchyup', $espece['tsn']);
     252                // On récupère la hiérarchie complète du taxon à partir de la base ITIS.
     253                $hierarchie = itis_get_information('hierarchyfull', $espece['tsn']);
    255254                $ascendants = $hierarchie['ascendants'];
     255
     256                // On classe la liste des ascendants du plus proche au plus éloigné.
     257                include_spip('inc/taxonomie');
    256258                krsort($ascendants);
    257 
    258                 // Si l'espèce choisie est de rang espèce, alors on ne renvoie que son parent direct
    259                 include_spip('inc/taxonomie');
    260                 if ($espece['rang'] = _TAXONOMIE_RANG_ESPECE) {
    261                         // Le parent direct est le premier des ascendants après le tri inverse effectué.
    262                         set_request('_parent', $ascendants[0]);
    263                 } else {
    264                         // L'espèce est de rang inférieur à espèce. Elle a donc des ascendants de type "espèce" qu'il faut lister
    265                         // avant de trouver le premier taxon du règne déjà en base de données.
    266                         foreach ($ascendants as $_ascendant) {
    267 
    268                         }
    269                 }
     259                foreach ($ascendants as $_ascendant) {
     260                        // Le premier ascendant est toujours affiché.
     261                        $parent = $_ascendant;
     262                        // On détermine si l'ascendant est un taxon d'espèce ou inférieur (table spip_especes)
     263                        // ou est un taxon de rang supérieur à l'espèce (table spip_taxons).
     264                        $parent['est_espece'] = rang_est_espece($_ascendant['rang']) ? true : false;
     265                        // On indique si le parent existe déjà ou pas en base
     266                        $parent['deja_cree'] = false;
     267                        $from = rang_est_espece($_ascendant['rang']) ? 'spip_especes' : 'spip_taxons';
     268                        if (sql_countsel($from, array('tsn=' . intval($_ascendant['tsn'])))) {
     269                                $parent['deja_cree'] = true;
     270                        }
     271                        // On insère l'ascendant dans la liste des parents.
     272                        $parents[] = $parent;
     273                        // On sort si on est arrivé au taxon de genre.
     274                        if ($_ascendant['rang'] == _TAXONOMIE_RANG_GENRE) {
     275                                break;
     276                        }
     277                }
     278                krsort($parents);
     279                set_request('_parents', $parents);
    270280        } else {
    271281                $erreurs['message_erreur'] = _T('taxonomie:erreur_acces_taxon');
     
    294304                // Récupération des informations ITIS sur l'espèce choisie et son parent.
    295305                $espece = _request('_espece');
    296                 $parent = _request('_parent');
     306                $parents = _request('_parents');
    297307
    298308                // Vérification de l'existence du parent.
  • _plugins_/taxonomie/trunk/formulaires/creer_espece_3.html

    r109286 r109303  
    99                        <:taxonomie:info_espece_choisie_intro{taxon=#GET{nom}}:>
    1010                </p>
    11                 <table class="spip">
     11                <table class="spip liste">
    1212                        <tbody>
    13                                 <tr class="">
    14                                         <td class=""><:espece:champ_tsn_label:></td>
    15                                         <td class="">#ENV{_espece/tsn}</td>
     13                                <tr>
     14                                        <td><:espece:champ_tsn_label:></td>
     15                                        <td class="principale">#ENV{_espece/tsn}</td>
    1616                                </tr>
    17                                 <tr class="">
    18                                         <td class=""><:espece:champ_nom_scientifique_label:></td>
    19                                         <td class="nom_scientifique">#ENV{_espece/nom_scientifique}</td>
     17                                <tr>
     18                                        <td><:espece:champ_nom_scientifique_label:></td>
     19                                        <td class="principale nom_scientifique">#ENV{_espece/nom_scientifique}</td>
    2020                                </tr>
    21                                 <tr class="">
    22                                         <td class=""><:espece:champ_auteur_label:></td>
    23                                         <td class="">#ENV{_espece/auteur}</td>
     21                                <tr>
     22                                        <td><:espece:champ_auteur_label:></td>
     23                                        <td class="principale">#ENV{_espece/auteur}</td>
    2424                                </tr>
    25                                 <tr class="">
    26                                         <td class=""><:espece:champ_nom_commun_label:></td>
    27                                         <td class="">[(#ENV*{_espece/nom_commun_affiche})]</td>
     25                                <tr>
     26                                        <td><:espece:champ_nom_commun_label:></td>
     27                                        <td class="principale">[(#ENV*{_espece/nom_commun_affiche})]</td>
    2828                                </tr>
    29                                 <tr class="">
    30                                         <td class=""><:espece:champ_rang_label:></td>
    31                                         <td class="">[(#VAL{taxonomie:rang_}|concat{#ENV{_espece/rang}}|_T)]</td>
     29                                <tr>
     30                                        <td><:espece:champ_rang_label:></td>
     31                                        <td class="principale">[(#VAL{taxonomie:rang_}|concat{#ENV{_espece/rang}}|_T)]</td>
    3232                                </tr>
    33                                 <tr class="">
    34                                         <td class=""><:espece:champ_regne_label:></td>
    35                                         <td class="nom_scientifique">#ENV{_espece/regne}</td>
     33                                <tr>
     34                                        <td><:espece:champ_regne_label:></td>
     35                                        <td class="principale nom_scientifique">#ENV{_espece/regne}</td>
    3636                                </tr>
    37                                 <tr class="">
    38                                         <td class=""><:taxonomie:label_parent_espece:></td>
    39                                         <td>
    40                                                 [<span class="nom_scientifique_inline">(#ENV{_parent/nom_scientifique})</span>
    41                                                 \(#ENV{_parent/tsn}\) - [(#VAL{taxonomie:rang_}|concat{#ENV{_parent/rang}}|_T)]]
     37                                <tr>
     38                                        <td><:taxonomie:label_parents_espece:></td>
     39                                        <td class="principale">
     40                                                <ul class="contenu_ascendance">
     41                                                <BOUCLE_parents(DATA) {source table, #ENV{_parents}}{par cle}>
     42                                                        [<li[ class="rang(#CLE|plus{1})"]>
     43                                                                (#VAL{taxonomie:rang_}|concat{#VALEUR{rang}}|_T) :
     44                                                                [<span class="nom_scientifique_inline">(#VALEUR{nom_scientifique})</span>
     45                                                                \(#VALEUR{tsn}\)]
     46                                                        </li>]
     47                                                </BOUCLE_parents>
     48                                                </ul>
    4249                                        </td>
    4350                                </tr>
  • _plugins_/taxonomie/trunk/lang/taxonomie_fr.php

    r109292 r109303  
    9696        'label_recherche_correspondance_fin' => 'Se termine par le texte de la recherche',
    9797        'label_recherche_regne' => 'Limiter la recherche à un règne',
    98         'label_parent_espece' => 'Parent direct',
     98        'label_parents_espece' => 'Ascendance du taxon jusqu\'au genre',
    9999
    100100        // N
  • _plugins_/taxonomie/trunk/prive/style_prive_plugin_taxonomie.html

    r109246 r109303  
    3939}
    4040/* Décaler chaque rang taxonomique de l'ascendance */
    41 .taxon .fiche_objet #wysiwyg .contenu_ascendance ul { padding-top: 0.5em; }
     41.contenu_ascendance ul { padding-top: 0.5em; }
    4242<BOUCLE_ascendance(DATA) {liste 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}>
    43         .taxon .fiche_objet #wysiwyg .contenu_ascendance[ .rang(#VALEUR)] {[ padding-left: (#VALEUR|mult{7})px; ]}
     43        .contenu_ascendance[ .rang(#VALEUR)] {[ padding-left: (#VALEUR|mult{7})px; ]}
    4444</BOUCLE_ascendance>
    4545/* Mettre en valeur chaque sources du titre */
Note: See TracChangeset for help on using the changeset viewer.