Changeset 109246 in spip-zone
- Timestamp:
- Mar 2, 2018, 8:11:11 PM (22 months ago)
- Location:
- _plugins_/taxonomie/trunk
- Files:
-
- 3 added
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/taxonomie/trunk/formulaires/charger_regne.php
r109203 r109246 42 42 $regnes = explode(':', _TAXONOMIE_REGNES); 43 43 foreach ($regnes as $_regne) { 44 $valeurs['_regnes'][$_regne] = '<span class="nom_scientifique ">' . $_regne . '</span>, ' . _T("taxonomie:regne_${_regne}");44 $valeurs['_regnes'][$_regne] = '<span class="nom_scientifique_inline">' . $_regne . '</span>, ' . _T("taxonomie:regne_${_regne}"); 45 45 if (taxonomie_regne_existe($_regne, $meta_regne)) { 46 46 $valeurs['_regnes'][$_regne] .= ' [' . _T("taxonomie:info_regne_charge") . ']'; -
_plugins_/taxonomie/trunk/formulaires/creer_espece.html
r109224 r109246 9 9 <div class="editer-groupe"> 10 10 [(#SAISIE{radio, type_recherche, 11 explication=<:taxonomie:explication_ type_recherche:>,12 label=<:taxonomie:label_ type_recherche:>,11 explication=<:taxonomie:explication_recherche_type:>, 12 label=<:taxonomie:label_recherche_type:>, 13 13 datas=#ENV{_types_recherche}, 14 14 defaut=#ENV{_type_recherche_defaut} … … 21 21 })] 22 22 23 [(#SAISIE{oui_non, recherche_stricte, 24 explication=<:taxonomie:explication_recherche_stricte:>, 25 label=<:taxonomie:label_recherche_stricte:>, 26 defaut=on 23 [(#SAISIE{radio, correspondance, 24 explication=<:taxonomie:explication_recherche_correspondance:>, 25 label=<:taxonomie:label_recherche_correspondance:>, 26 datas=#ENV{_correspondances}, 27 defaut=#ENV{_correspondance_defaut} 27 28 })] 28 29 29 30 [(#SAISIE{radio, regne, 30 label=<:taxonomie:label_re gne_recherche:>,31 explication=<:taxonomie:explication_re gne_recherche:>,31 label=<:taxonomie:label_recherche_regne:>, 32 explication=<:taxonomie:explication_recherche_regne:>, 32 33 datas=#ENV{_regnes}, 33 34 defaut=#ENV{_regne_defaut} … … 41 42 </form> 42 43 </div> 44 45 <script type="text/javascript">/*<![CDATA[*/ 46 jQuery(document).ready(function() { 47 [(#ENV{type_recherche, scientificname}|=={scientificname}|oui) 48 jQuery(".choix_debut").hide('fast'); 49 jQuery(".choix_fin").hide('fast'); 50 ] 51 jQuery("input[name='type_recherche']").change(function() { 52 if (jQuery("input[name='type_recherche']:checked").val() == 'commonname') { 53 jQuery(".choix_debut").show('fast'); 54 jQuery(".choix_fin").show('fast'); 55 } 56 else { 57 jQuery(".choix_debut").hide('fast'); 58 jQuery(".choix_fin").hide('fast'); 59 } 60 jQuery(this).blur(); 61 }); 62 }); 63 /*]]>*/</script> -
_plugins_/taxonomie/trunk/formulaires/creer_espece.php
r109225 r109246 20 20 * ou nom commun (`commonname`). 21 21 * - `recherche` : (saisie) texte de la recherche. 22 * - ` recherche_stricte`: (saisie) indique si on doit rechercher le texte exact ou pas.22 * - `correspondance` : (saisie) indique si on doit rechercher le texte exact ou pas. 23 23 * - `regne` : (saisie) règne d'appartenance de l'espèce pour limiter le scope de recherche. 24 24 * - `_types_recherche` : (affichage) recherche par nom scientifique ou par nom commun. … … 38 38 $valeurs['type_recherche'] = _request('type_recherche'); 39 39 $valeurs['recherche'] = _request('recherche'); 40 $valeurs[' recherche_stricte'] = _request('recherche_stricte');40 $valeurs['correspondance'] = _request('correspondance'); 41 41 $valeurs['regne'] = _request('regne'); 42 42 … … 51 51 $valeurs['_type_recherche_defaut'] = 'scientificname'; 52 52 53 // Types de correspondance et défaut. 54 $correspondances = array('exact', 'contenu', 'debut', 'fin'); 55 foreach ($correspondances as $_correspondance) { 56 $valeurs['_correspondances'][$_correspondance] = _T("taxonomie:label_recherche_correspondance_${_correspondance}"); 57 } 58 $valeurs['_correspondance_defaut'] = 'exact'; 59 53 60 // Acquérir la liste des règnes déjà chargés. Si un règne n'est pas chargé il n'apparait pas dans la liste 54 61 // car il ne sera alors pas possible de créer correctement l'espèce avec sa hiérarchie de taxons. … … 58 65 foreach ($regnes as $_regne) { 59 66 if (taxonomie_regne_existe($_regne, $meta_regne)) { 60 $valeurs['_regnes'][$_regne] = '<span class="nom_scientifique">' . $_regne . '</span>, ' . _T("taxonomie:regne_${_regne}");67 $valeurs['_regnes'][$_regne] = ucfirst(_T("taxonomie:regne_${_regne}")); 61 68 } 62 69 } … … 65 72 $valeurs['_regne_defaut'] = key($valeurs['_regnes']); 66 73 67 // Initialisation des paramètres du formulaire utilisés en étape 2 et mis à jour dans la vérification74 // Initialisation des paramètres du formulaire utilisés en étape 2 et 3 et mis à jour dans la vérification 68 75 // de l'étape 1. 76 // -- Etape 2 69 77 $valeurs['_taxons'] = _request('_taxons'); 70 78 $valeurs['_taxon_defaut'] = _request('_taxon_defaut'); 71 79 $valeurs['_resume'] = _request('_resume'); 80 // -- Etape 3 81 $valeurs['tsn'] = _request('tsn'); 82 $valeurs['_espece'] = _request('_espece'); 83 $valeurs['_parent'] = _request('_parent'); 72 84 73 85 // Préciser le nombre d'étapes du formulaire … … 82 94 * @uses itis_search_tsn() 83 95 * @uses itis_get_information() 96 * @uses itis_get_record() 84 97 * 85 98 * @return array 86 99 * Message d'erreur si aucun taxon disponible ou si il existe une erreur dans les saisies ou 87 100 * chargement (set_request) des champs utiles à l'étape 2 sinon. Ces champs sont : 88 * - `_taxons` : (affichage) liste des taxons correspondant à la recherche (tsn, nom scientifique et rang). 89 * - `_taxon_defaut` : (affichage) tsn du taxon choisi par défaut. 90 * - `_resume` : (affichage) texte résumant les saisies de l'étape 1 dont le texte de la recherche. 91 */ 101 * - `_taxons` : (affichage) liste des taxons correspondant à la recherche (tsn, nom scientifique et rang). 102 * - `_taxon_defaut` : (affichage) tsn du taxon choisi par défaut. 103 */ 92 104 function formulaires_creer_espece_verifier_1() { 93 105 … … 122 134 // On recherche le ou les taxons correspondant au texte saisi. 123 135 // -- récupération des autres variables 124 $recherche_stricte = _request('recherche_stricte') == 'on'; 136 $correspondance = _request('correspondance'); 137 $recherche_exacte = ($correspondance == 'exact'); 125 138 $regne = _request('regne'); 126 139 // -- suppression des espaces en trop dans la chaîne de recherche pour permettre la comparaison 127 // avec le combinedName d'ITIS140 // avec le combinedName ou le commonName d'ITIS. 128 141 $recherche = preg_replace('#\s{2,}#', ' ', $recherche); 129 142 143 // Appel de l'API de recherche d'ITIS en fonction du type et de la correspondance de recherche 130 144 include_spip('services/itis/itis_api'); 131 $taxons = itis_search_tsn($type_recherche, $recherche, $recherche_stricte); 145 $action = $type_recherche; 146 if (($type_recherche == 'commonname') and ($correspondance == 'debut')) { 147 $action = 'commonnamebegin'; 148 } elseif (($type_recherche == 'commonname') and ($correspondance == 'fin')) { 149 $action = 'commonnameend'; 150 } 151 $taxons = itis_search_tsn($action, $recherche, $recherche_exacte); 152 132 153 if ($taxons) { 133 // Construire le résumé des saisies de l'étape 1 134 $valeurs['_resume'] = '<p>' . _T('taxonomie:info_espece_recherche_intro') . '</p>'; 135 $item_quoi = 'taxonomie:info_espece_recherche_' 136 . $type_recherche 137 . ($recherche_stricte ? '_exact' : ''); 138 $recherche_decoree = "<strong>$recherche</strong>"; 139 $recherche_decoree = $type_recherche == 'scientificname' 140 ? '<span class="nom_scientifique">' . $recherche_decoree . '</span>' 141 : $recherche_decoree; 142 $valeurs['_resume'] .= '<ul class="spip">' 143 . '<li>' 144 . _T( 145 $item_quoi, 146 array('recherche' => $recherche_decoree) 147 ) 148 . '</li>' 149 . '<li>' 150 . _T( 151 'taxonomie:info_espece_recherche_regne', 152 array('regne' => '<span class="nom_scientifique">' . $regne . '</span>') 153 ) 154 . '</li>' 155 .'</ul>' 156 .'<p>' . _T('taxonomie:info_espece_recherche_fin') . '</p>'; 157 158 // Construire le tableau des taxons trouvés en supprimant les taxons qui n'appartiennent pas 154 // Construire le tableau des taxons trouvés en supprimant les taxons qui n'appartiennent pas 159 155 // au règne concerné ou qui n'ont pas un rang compatible (uniquement pour la recherche par nom commun). 160 156 $valeurs['_taxon_defaut'] = 0; … … 165 161 // aussi pour vérifier que ce rang est compatible avec une espèce si on cherche par nom commun. 166 162 $rang = itis_get_information('rankname', $_taxon['tsn']); 167 $valeurs['_taxons'][$_taxon['tsn']] = '<span class="nom_scientifique ">'163 $valeurs['_taxons'][$_taxon['tsn']] = '<span class="nom_scientifique_inline">' 168 164 . $_taxon['nom_scientifique'] 169 165 . '</span>' … … 197 193 } 198 194 } else { 199 $erreurs['message_erreur'] = _T( 200 'taxonomie:erreur_recherche_aucun_taxon', 201 array('texte' => $recherche, 'regne' => '<span class="nom_scientifique">' . $regne . '</span>') 202 ); 195 $erreurs['message_erreur'] = _T('taxonomie:erreur_recherche_aucun_taxon'); 203 196 } 204 197 } else { … … 215 208 /** 216 209 * Vérification de l'étape 2 du formulaire : on présente les informations principales du taxon choisi avant 217 * que le 'utilisateur ne valide définitivement son choix. 210 * que l'utilisateur ne valide définitivement son choix. 211 * 212 * @uses itis_get_record() 213 * 214 * @return array 215 * Message d'erreur si le service ITIS ne renvoie pas les informations demandées (a priori jamais) ou 216 * chargement (set_request) des champs utiles à l'étape 3 sinon. Ces champs sont : 217 * - `_espece` : (affichage) toutes les informations ITIS sur l'espèce. 218 * - `_parent` : (affichage) toutes les informations ITIS sur le parent direct de l'espèce. 219 */ 220 function formulaires_creer_espece_verifier_2() { 221 222 // Initialisation des erreurs de vérification. 223 $erreurs = array(); 224 225 if ($tsn = intval(_request('tsn'))) { 226 // On récupère les informations de base du taxon afin de les présenter à l'utilisateur pour validation 227 // finale. 228 include_spip('services/itis/itis_api'); 229 $espece = itis_get_record($tsn); 230 if ($espece) { 231 // On passe la description de l'espèce après avoir construit la liste des noms communs utiles. 232 $nom_commun = ''; 233 if ($espece['nom_commun']) { 234 include_spip('inc/config'); 235 $langues_utilisees = lire_config('taxonomie/langues_utilisees'); 236 foreach ($espece['nom_commun'] as $_langue => $_nom) { 237 if (in_array($_langue, $langues_utilisees)) { 238 $nom_commun .= ($nom_commun ? '<br />': '') . '[' . $_langue .'] ' . $_nom; 239 } 240 } 241 } 242 $espece['nom_commun_utilise'] = $nom_commun; 243 set_request('_espece', $espece); 244 245 // Détermination du parent : on récupère son record complet 246 $parent = itis_get_record($espece['tsn_parent']); 247 if ($parent) { 248 set_request('_parent', $parent); 249 } else { 250 $erreurs['message_erreur'] = _T('taxonomie:erreur_acces_taxon'); 251 } 252 } else { 253 $erreurs['message_erreur'] = _T('taxonomie:erreur_acces_taxon'); 254 } 255 } else { 256 $erreurs['message_erreur'] = _T('taxonomie:erreur_acces_taxon'); 257 } 258 259 return $erreurs; 260 } 261 262 263 /** 264 * Vérification de l'étape 3 du formulaire : on vérifie que l'espèce n'existe pas déjà dans la base de données 265 * taxonomique. 218 266 * 219 267 * @uses wikipedia_get_page() … … 227 275 * - `_descriptif` : texte de la page trouvée ou choisie par l'utilisateur (étape 2) 228 276 */ 229 function formulaires_creer_espece_verifier_ 2() {277 function formulaires_creer_espece_verifier_3() { 230 278 231 279 // Initialisation des erreurs de vérification. 232 280 $erreurs = array(); 233 281 234 if ($tsn = intval(_request('taxon'))) { 235 // On récupère les informations de base du taxon afin de les présenter à l'utilisateur pour validation 236 // finale. 237 include_spip('services/itis/itis_api'); 238 $record = itis_get_record($tsn); 239 if ($record) { 240 // Préparer la visualisation finale. 241 } else { 242 $erreurs['message_erreur'] = _T('taxonomie:erreur_taxon_inconnu'); 282 if ($tsn = intval(_request('tsn'))) { 283 // On vérifie que l'espèce n'a pas déjà été créée et possède un statut autre que refusé ou poubelle. 284 if (sql_countsel('spip_especes', array('tsn=' . $tsn))) { 285 $erreurs['message_erreur'] = _T('taxonomie:erreur_espece_deja_creee'); 243 286 } 244 287 } else { 245 $erreurs['message_erreur'] = _T('taxonomie:erreur_ taxon_inconnu');288 $erreurs['message_erreur'] = _T('taxonomie:erreur_acces_taxon'); 246 289 } 247 290 248 291 return $erreurs; 249 292 } 293 250 294 251 295 /** … … 264 308 $retour = array(); 265 309 266 // Initialisation des saisies.267 $langue = _request('langue');268 $choix_descriptif = _request('choix_descriptif');269 270 // Récupération des informations de base du taxon271 $select = array('tsn', 'nom_scientifique', 'edite', 'descriptif', 'sources'); 272 $where = array('id_taxon=' . sql_quote($id_taxon));273 $taxon = sql_fetsel($select, 'spip_taxons', $where);274 275 // Récupération de la page wikipedia choisie: 276 include_spip('services/wikipedia/wikipedia_api');277 if ($choix_descriptif == $taxon['nom_scientifique']) { 278 // Le descriptif déjà fourni par défaut est le bon. On ne met pas à jour le cache.279 $ recherche = array('name' => $taxon['nom_scientifique'], 'tsn' => $taxon['tsn']);280 $ information = wikipedia_get_page($recherche, $langue);310 if ($tsn = intval(_request('tsn'))) { 311 // Vérification de l'existence du parent. 312 // Si le parent n'existe pas en base c'est soit une erreur si le rang supérieur ou égal au genre soit 313 // normal si le rang est un sous-genre. En effet, les sous-genres sont uniquement créés au coups par coups 314 // quand on crée les espèces. 315 316 // Ajout de l'espèce en base 317 // Si le rang est bien espèce alors on ajoute que ce taxon. Sinon il faut ajouter toute l'arborecence jusqu'au 318 // taxon d'espèce. 319 320 // Ajout du parent si nécessaire. 321 322 // Redirection vers la page d'édition du taxon 323 $id_espece = 0; 324 $retour['redirect'] = parametre_url(generer_url_ecrire('espece_edit'), 'id_espece', $id_espece); 281 325 } else { 282 // On a choisit une autre page que celle par défaut : on recharge le cache avec la nouvelle recherche. 283 $recherche = array('name' => $choix_descriptif, 'tsn' => $taxon['tsn']); 284 $information = wikipedia_get_page($recherche, $langue, null, array('reload' => true)); 285 } 286 287 // On convertit le descriptif afin de proposer un texte plus clair. 288 if (!empty($information['text'])) { 289 // Si le plugin Convertisseur est actif, conversion du texte mediawiki vers SPIP. 290 include_spip('inc/filtres'); 291 $convertir = chercher_filtre('convertisseur_texte_spip'); 292 $texte_converti = $convertir ? $convertir($information['text'], 'MediaWiki_SPIP') : $information['text']; 293 294 // Mise en format multi systématique et limitation de la chaîne en fonction du nombre de langues utilisées. 295 include_spip('inc/config'); 296 $langues_utilisees = lire_config('taxonomie/langues_utilisees'); 297 $limite_texte = floor(65535 / (count($langues_utilisees) + 1)); 298 $texte_converti = '<multi>' 299 . '[' . $langue . ']' 300 . substr($texte_converti, 0, $limite_texte) 301 . '</multi>'; 302 // Mise à jour pour le taxon du descriptif et des champs connexes en base de données 303 $maj = array(); 304 // - le texte du descriptif est inséré dans la langue choisie en mergeant avec l'existant 305 // si besoin. On limite la taille du descriptif pour éviter un problème lors de l'update 306 include_spip('inc/taxonomer'); 307 $maj['descriptif'] = taxon_merger_traductions($texte_converti, $taxon['descriptif']); 308 // - l'indicateur d'édition est positionné à oui 309 $maj['edite'] = 'oui'; 310 // - la source wikipedia est ajoutée (ou écrasée si elle existe déjà) 311 $maj['sources'] = array('wikipedia' => array('champs' => array('descriptif'))); 312 if ($sources = unserialize($taxon['sources'])) { 313 $maj['sources'] = array_merge($maj['sources'], $sources); 314 } 315 $maj['sources'] = serialize($maj['sources']); 316 // - Mise à jour 317 sql_updateq('spip_taxons', $maj, 'id_taxon=' . sql_quote($id_taxon)); 318 319 // Redirection vers la page d'édition du taxon 320 $retour['redirect'] = parametre_url(generer_url_ecrire('taxon_edit'), 'id_taxon', $id_taxon); 321 } else { 322 $retour['message_erreur'] = _T('taxonomie:erreur_wikipedia_descriptif'); 326 $retour['message_erreur'] = _T('taxonomie:erreur_inconnue'); 323 327 } 324 328 -
_plugins_/taxonomie/trunk/formulaires/creer_espece_2.html
r109224 r109246 4 4 [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] 5 5 6 [<div>(#ENV*{_resume})</div>] 6 <div> 7 <p> 8 <:taxonomie:info_espece_recherche_intro:> 9 </p> 10 <ul class="spip"> 11 <li> 12 [(#SET{parametre, [<strong>(#ENV{recherche})</strong>]})] 13 [(#VAL{taxonomie:info_espece_recherche_} 14 |concat{#ENV{type_recherche}} 15 |concat{_} 16 |concat{#ENV{correspondance}} 17 |_T{#ARRAY{recherche, #GET{parametre}}} 18 )] 19 </li> 20 <li> 21 [(#SET{parametre, [(#VAL{taxonomie:regne_}|concat{#ENV{regne}}|_T)]})] 22 <:taxonomie:info_espece_recherche_regne{regne=#GET{parametre}}:> 23 </li> 24 </ul> 25 <p><:taxonomie:info_espece_recherche_fin:></p> 26 </div> 7 27 8 28 <form method="post" action="#ENV{action}"> … … 10 30 #ACTION_FORMULAIRE{#ENV{action}} 11 31 <div class="editer-groupe"> 12 [(#SAISIE{radio, t axon,32 [(#SAISIE{radio, tsn, 13 33 label=<:taxonomie:label_taxon_trouve:>, 14 34 explication=<:taxonomie:explication_taxon_trouve:>, -
_plugins_/taxonomie/trunk/lang/espece_fr.php
r109164 r109246 20 20 'champ_texte_label' => 'Texte explicatif sur l\'espèce', 21 21 'champ_tsn_genre_label' => 'TSN du parent de l\'espèce', 22 'champ_tsn_label' => 'T sn',23 'champ_tsn_parent_label' => 'T snparent',22 'champ_tsn_label' => 'TSN', 23 'champ_tsn_parent_label' => 'TSN parent', 24 24 25 25 // I … … 39 39 'texte_changer_statut_espece' => 'Cette espèce est :', 40 40 'texte_creer_associer_espece' => 'Créer et associer une espèce', 41 'texte_definir_comme_traduction_espece' => 'Cette espèce est une traduction de l aespèce numéro :',41 'texte_definir_comme_traduction_espece' => 'Cette espèce est une traduction de l\'espèce numéro :', 42 42 'titre_espece' => 'Espèce', 43 43 'titre_especes' => 'Espèces', -
_plugins_/taxonomie/trunk/lang/taxonomie_fr.php
r109225 r109246 21 21 'erreur_wikipedia_descriptif' => 'Aucun descriptif dans la langue choisie n\'a pu être récupéré de Wikipedia.', 22 22 '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.', 23 'erreur_recherche_aucun_taxon' => 'La recherche de « @texte@ » est infructueuse pour le règne « @regne@ ».', 24 'explication_taxon_trouve' => 'Chaque taxon est désigné par son nom scientifique et son rang.', 25 'explication_type_recherche' => 'Vous pouvez choisir de rechercher une espèce par son nom scientifique ou son nom commun. ITIS fournissant peu de noms communs il est conseillé d\'utiliser le nom scientifique.', 23 'erreur_recherche_aucun_taxon' => 'Le service ITIS ne trouve aucun taxon correspondant à cette recherche.', 24 'erreur_acces_taxon' => 'Le service web ITIS renvoie une erreur pour le taxon considéré.', 25 'explication_taxon_trouve' => 'Chaque taxon est désigné par son nom, scientifique ou commun, et son rang.', 26 'explication_recherche_type' => 'Si vous le connaissez, le nom scientifique permet une recherche d\'emblée plus précise.', 26 27 'explication_recherche_taxon' => 'Le taxon recherché doit correspondre à une espèce ou à un taxon de rang inférieur.', 27 'explication_recherche_ stricte' => 'Cette option permet de rechercher soit le taxon correspondant exactement au texte de la recherche soit les taxons contenant le texte de recherche. Il conseillé d\'utiliser une recherche stricte pour éviter d\'obtenir une liste de taxons trop importante (limitée à 25 taxons).',28 'explication_re gne_recherche' => 'Les règnes proposés sont uniquement ceux qui ont déjà été chargés dans la base de données de taxonomie.',29 'explication_action_regne' => 'Si le règne est déjà présent en base de données, tous les taxons qui le composent seront supprimés avant le chargement.',28 'explication_recherche_correspondance' => 'Il conseillé d\'adapter le type de correspondance afin de limiter le nombre de taxons potentiellement compatibles.', 29 '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.', 30 31 '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.', 31 32 '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. … … 51 52 '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.', 52 53 '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.', 54 '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. 55 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.', 53 56 'info_descriptif_existe' => 'non vide', 54 57 'info_etape' => 'Etape @etape@ / @etapes@', … … 59 62 'info_espece_recherche_intro' => 'Vous avez choisi de rechercher une espèce :', 60 63 'info_espece_recherche_scientificname_exact' => 'dont le nom scientifique est exactement « @recherche@ »', 61 'info_espece_recherche_scientificname ' => 'dont le nom scientifique contient « @recherche@ »',64 'info_espece_recherche_scientificname_contenu' => 'dont le nom scientifique contient « @recherche@ »', 62 65 'info_espece_recherche_commonname_exact' => 'dont le nom commun est exactement « @recherche@ »', 63 'info_espece_recherche_commonname' => 'dont le nom commun contient « @recherche@ »', 64 'info_espece_recherche_regne' => 'et appartenant au règne « @regne@ ».', 66 'info_espece_recherche_commonname_contenu' => 'dont le nom commun contient « @recherche@ »', 67 'info_espece_recherche_commonname_debut' => 'dont le nom commun commence par « @recherche@ »', 68 'info_espece_recherche_commonname_fin' => 'dont le nom commun se termine par « @recherche@ »', 69 'info_espece_recherche_regne' => 'et appartenant au @regne@.', 65 70 'info_espece_recherche_fin' => 'Choisissez ci-dessous le taxon qui correspond à votre recherche.', 71 'info_espece_choisie_intro' => 'Vous avez choisi de créer le taxon « @taxon@ » dont les caractéristiques sont les suivantes :', 72 'info_espece_choisie_fin' => 'Si ce taxon est bien celui que vous souhaitez, valider ce formulaire pour le créer et l\'éditer dans la foulée.', 66 73 67 74 // L … … 86 93 'label_wikipedia_langue' => 'Langue à utiliser par Wikipedia', 87 94 'label_wikipedia_lien' => 'Page Wikipedia à utiliser', 88 'label_ type_recherche' => 'Type de recherche',95 'label_recherche_type' => 'Rechercher par', 89 96 'label_recherche_taxon' => 'Texte de la recherche', 90 'label_recherche_stricte' => 'Rechercher le texte exact', 91 'label_regne_recherche' => 'Limiter la recherche à un règne', 97 'label_recherche_correspondance' => 'Type de correspondance', 98 'label_recherche_correspondance_exact' => 'Correspond exactement au texte de la recherche', 99 'label_recherche_correspondance_contenu' => 'Contient le texte de la recherche', 100 'label_recherche_correspondance_debut' => 'Commence par le texte de la recherche', 101 'label_recherche_correspondance_fin' => 'Se termine par le texte de la recherche', 102 'label_recherche_regne' => 'Limiter la recherche à un règne', 103 'label_parent_espece' => 'Parent direct', 92 104 93 105 // N … … 150 162 'titre_liste_regnes' => 'Liste des règnes chargés en base de données', 151 163 'titre_liste_fils_taxon' => 'Liste des descendants directs du taxon', 152 'titre_page_decrire_wikipedia' => 'Descriptif Wikipedia du taxon <span class="nom_scientifique ">@taxon@</span>',164 'titre_page_decrire_wikipedia' => 'Descriptif Wikipedia du taxon <span class="nom_scientifique_inline">@taxon@</span>', 153 165 'titre_page_taxonomie' => 'Taxonomie', 154 166 'titre_page_creer_espece' => 'Créer une espèce ou un taxon de rang inférieur', -
_plugins_/taxonomie/trunk/prive/objets/contenu/espece.html
r109164 r109246 8 8 [<div class="champ contenu_nom_scientifique[ (#NOM_SCIENTIFIQUE*|strlen|?{'',vide})]"> 9 9 <label><:espece:champ_nom_scientifique_label:> : </label> 10 <span dir='#LANG_DIR' class='#EDIT{nom_scientifique} nom_scientifique '>(#NOM_SCIENTIFIQUE)</span>10 <span dir='#LANG_DIR' class='#EDIT{nom_scientifique} nom_scientifique_inline'>(#NOM_SCIENTIFIQUE)</span> 11 11 </div>] 12 12 -
_plugins_/taxonomie/trunk/prive/objets/contenu/taxon.html
r108777 r109246 20 20 <span dir="#LANG_DIR"> 21 21 (#VAL{taxonomie:rang_}|concat{#VALEUR|table_valeur{rang}}|_T|ucfirst) : 22 [<a class="nom_scientifique "[ href="(#VALEUR|table_valeur{id_taxon}|generer_url_entite{taxon})"]>22 [<a class="nom_scientifique_inline"[ href="(#VALEUR|table_valeur{id_taxon}|generer_url_entite{taxon})"]> 23 23 (#VALEUR|table_valeur{nom_scientifique}|ucfirst) 24 24 </a>] -
_plugins_/taxonomie/trunk/prive/squelettes/hierarchie/taxon.html
r108942 r109246 5 5 <BOUCLE_taxon(TAXONS) {id_taxon}> 6 6 [(#LANG|changer_typo)] 7 <strong class="nom_scientifique on">7 <strong class="nom_scientifique_inline on"> 8 8 #NOM_SCIENTIFIQUE 9 9 </strong> -
_plugins_/taxonomie/trunk/prive/squelettes/hierarchie/taxon_decrire.html
r108904 r109246 5 5 <BOUCLE_taxon(TAXONS) {id_taxon}> 6 6 [(#LANG|changer_typo)] 7 <a href="[(#URL_ECRIRE{taxon}|parametre_url{id_taxon, #ENV{id_taxon}})]" class="nom_scientifique ">7 <a href="[(#URL_ECRIRE{taxon}|parametre_url{id_taxon, #ENV{id_taxon}})]" class="nom_scientifique_inline"> 8 8 [(#NOM_SCIENTIFIQUE)] 9 9 </a> > -
_plugins_/taxonomie/trunk/prive/squelettes/navigation/especes.html
r109203 r109246 1 [(#REM) <!-- Boite d'information sur la p ge de navigation dans la liste des taxons d'un rang donné --> ]1 [(#REM) <!-- Boite d'information sur la page de navigation dans la liste des taxons d'un rang donné --> ] 2 2 #BOITE_OUVRIR{#CHEMIN_IMAGE{taxonomie_gerer-24.png}|balise_img{'',cadre-icone}, info} 3 3 <:taxonomie:info_boite_especes:> -
_plugins_/taxonomie/trunk/prive/style_prive_plugin_taxonomie.html
r108777 r109246 22 22 23 23 /* Le nom scientifique d'un taxon est toujours affiché en italique avec une majuscule */ 24 .nom_scientifique_inline { display: inline-block; font-style: italic; text-transform: lowercase; } 25 .nom_scientifique_inline:first-letter { text-transform: uppercase; } 26 .nom_scientifique { font-style: italic; text-transform: lowercase; } 24 27 .nom_scientifique:first-letter { text-transform: uppercase; } 25 .nom_scientifique { font-style: italic; text-transform: capitalize; }26 27 28 /* Espacer un peu les blocs numero de la boite d'infos */ 28 29 #navigation .infos .numero { margin-bottom: 10px; } -
_plugins_/taxonomie/trunk/services/itis/itis_api.php
r109225 r109246 75 75 'compare' => 'commonName' 76 76 ), 77 'commonnamebegin' => array( 78 'function' => 'searchByCommonNameBeginsWith', 79 'argument' => 'srchKey', 80 'list' => 'commonNames', 81 'index' => array( 82 'tsn' => 'tsn', 83 'nom_commun' => 'commonName', 84 'langage' => 'language' 85 ), 86 'compare' => 'commonName' 87 ), 88 'commonnameend' => array( 89 'function' => 'searchByCommonNameEndsWith', 90 'argument' => 'srchKey', 91 'list' => 'commonNames', 92 'index' => array( 93 'tsn' => 'tsn', 94 'nom_commun' => 'commonName', 95 'langage' => 'language' 96 ), 97 'compare' => 'commonName' 98 ), 77 99 'scientificname' => array( 78 100 'function' => 'searchByScientificName', … … 199 221 * 200 222 * @param string $action 201 * Recherche par nom commun ou par nom scientifique. Prend les valeurs `commonname` ou `scientificname` 223 * Recherche par nom commun ou par nom scientifique. Prend les valeurs `commonname`, `scientificname` 224 * ou `commonnamebegin`. 202 225 * @param string $search 203 226 * Nom à rechercher précisément. Seul le taxon dont le nom coincidera exactement sera retourné. … … 232 255 foreach ($data[$api['list']] as $_data) { 233 256 if ($_data) { 234 if (!$strict or ($strict and (strcasecmp($_data[$api['compare']], $search) === 0))) { 257 if (($action == 'commonnamebegin') 258 or !$strict 259 or ($strict and (strcasecmp($_data[$api['compare']], $search) === 0))) { 235 260 $tsn = array(); 236 261 foreach ($api['index'] as $_key => $_destination) { … … 311 336 } 312 337 } 338 339 // Insérer de base le tsn. 340 $record['tsn'] = intval($tsn); 313 341 314 342 // Passer en minuscules le rang et le règne exprimé en anglais. … … 770 798 // On crée l'url du taxon sur le site ITIS 771 799 $url_taxon = _TAXONOMIE_ITIS_TAXON_BASE_URL . $taxon['tsn']; 772 $link_taxon = '<a class="nom_scientifique " href="' . $url_taxon . '" rel="noreferrer">' . ucfirst($taxon['nom_scientifique']) . '</a>';800 $link_taxon = '<a class="nom_scientifique_inline" href="' . $url_taxon . '" rel="noreferrer">' . ucfirst($taxon['nom_scientifique']) . '</a>'; 773 801 $link_site = '<a href="' . _TAXONOMIE_ITIS_SITE_URL . '" rel="noreferrer">' . _TAXONOMIE_ITIS_SITE_URL . '</a>'; 774 802 -
_plugins_/taxonomie/trunk/services/wikipedia/wikipedia_api.php
r108991 r109246 191 191 $url = str_replace('%langue%', 'fr', _TAXONOMIE_WIKIPEDIA_PAGE_BASE_URL) 192 192 . rawurlencode($taxon['nom_scientifique']); 193 $link = '<a class="nom_scientifique " href="' . $url . '" rel="noreferrer">' . ucfirst($taxon['nom_scientifique']) . '</a>';193 $link = '<a class="nom_scientifique_inline" href="' . $url . '" rel="noreferrer">' . ucfirst($taxon['nom_scientifique']) . '</a>'; 194 194 195 195 // La liste des champs concernés (a priori le descriptif)
Note: See TracChangeset
for help on using the changeset viewer.