taxonomie.php
Ce fichier contient les constantes et les fonctions de l'API du plugin Taxonomie non utilisées dans les squelettes.
Table of Contents
Constants
- _EXTRAIRE_MULTI = '@<multi>(.*?)</multi>@sS'
- Restaure cette constante à partir de SPIP 4.2.
- _TAXONOMIE_LANGUES_POSSIBLES = 'fr:en:es:pt:de:it'
- Liste des langues utilisables pour les noms communs et les textes des taxons.
- _TAXONOMIE_RANG_ESPECE = 'species'
- Nom anglais du rang principal `espèce`.
- _TAXONOMIE_RANG_GENRE = 'genus'
- Nom anglais du rang principal `genre`.
- _TAXONOMIE_RANG_REGNE = 'kingdom'
- Nom anglais du rang principal `règne`.
- _TAXONOMIE_RANGS = ['kingdom' => ['type' => \_TAXONOMIE_TYPE_RANG_PRINCIPAL, 'est_espece' => \false, 'synonyme' => ''], 'subkingdom' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'infrakingdom' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'superphylum' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => 'superdivision'], 'phylum' => ['type' => \_TAXONOMIE_TYPE_RANG_PRINCIPAL, 'est_espece' => \false, 'synonyme' => 'division'], 'subphylum' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => 'subdivision'], 'infraphylum' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => 'infradivision'], 'superdivision' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => 'superphylum'], 'division' => ['type' => \_TAXONOMIE_TYPE_RANG_PRINCIPAL, 'est_espece' => \false, 'synonyme' => 'phylum'], 'subdivision' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => 'subphylum'], 'infradivision' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => 'infraphylum'], 'superclass' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'class' => ['type' => \_TAXONOMIE_TYPE_RANG_PRINCIPAL, 'est_espece' => \false, 'synonyme' => ''], 'subclass' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'infraclass' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'superorder' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'order' => ['type' => \_TAXONOMIE_TYPE_RANG_PRINCIPAL, 'est_espece' => \false, 'synonyme' => ''], 'suborder' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'infraorder' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'section' => ['type' => \_TAXONOMIE_TYPE_RANG_SECONDAIRE, 'est_espece' => \false, 'synonyme' => ''], 'subsection' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'superfamily' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'family' => ['type' => \_TAXONOMIE_TYPE_RANG_PRINCIPAL, 'est_espece' => \false, 'synonyme' => ''], 'subfamily' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'tribe' => ['type' => \_TAXONOMIE_TYPE_RANG_SECONDAIRE, 'est_espece' => \false, 'synonyme' => ''], 'subtribe' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'genus' => ['type' => \_TAXONOMIE_TYPE_RANG_PRINCIPAL, 'est_espece' => \false, 'synonyme' => ''], 'subgenus' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'species' => ['type' => \_TAXONOMIE_TYPE_RANG_PRINCIPAL, 'est_espece' => \true, 'synonyme' => ''], 'subspecies' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \true, 'synonyme' => ''], 'variety' => ['type' => \_TAXONOMIE_TYPE_RANG_SECONDAIRE, 'est_espece' => \true, 'synonyme' => ''], 'subvariety' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \true, 'synonyme' => ''], 'form' => ['type' => \_TAXONOMIE_TYPE_RANG_SECONDAIRE, 'est_espece' => \true, 'synonyme' => ''], 'subform' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \true, 'synonyme' => ''], 'race' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \true, 'synonyme' => 'variety'], 'stirp' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \true, 'synonyme' => ''], 'morph' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \true, 'synonyme' => ''], 'aberration' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \true, 'synonyme' => ''], 'unspecified' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \true, 'synonyme' => '']]
- Liste des règnes utilisés par Taxonomie TODO : vérifier les rangs stirp, morph, aberration, unspecified.
- _TAXONOMIE_REGNES = ['animalia', 'plantae', 'fungi']
- Liste des règnes utilisés par Taxonomie.
- _TAXONOMIE_TYPE_RANG_INTERCALAIRE = 'intercalaire'
- Type de rang selon la nomenclature taxonomique.
- _TAXONOMIE_TYPE_RANG_PRINCIPAL = 'principal'
- Type de rang selon la nomenclature taxonomique.
- _TAXONOMIE_TYPE_RANG_SECONDAIRE = 'secondaire'
- Type de rang selon la nomenclature taxonomique.
Functions
- regne_charger() : bool
- 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.
- regne_vider() : bool
- Supprime de la base de données tous les taxons importés à partir du rapport hiérarchique d'un règne donné.
- regne_existe() : bool
- Retourne l'existence ou pas d'un règne en base de données.
- regne_lister_defaut() : array<string|int, mixed>
- Renvoie la liste des règnes supportés par le plugin.
- rang_informer_type() : string
- Renvoie le type de rang principal, secondaire ou intercalaire.
- rang_est_espece() : bool
- Détermine si un rang est celui d'une espèce ou d'un taxon de rang inférieur.
- taxon_preserver() : array<string|int, mixed>
- Extrait, de la table `spip_taxons`, la liste des taxons non espèce d'un règne donné - importés via un fichier ITIS - 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 et donc non importés avec le fichier ITIS.
- taxon_merger_traductions() : string
- Fusionne les traductions d'une balise `<multi>` avec celles d'une autre balise `<multi>`.
- taxon_traduire_champ() : string
- Traduit un champ de la table `spip_taxons` dans la langue du site.
- taxon_lister_services() : array<string|int, mixed>
- Renvoie la liste des services de taxonomie utilisés par le plugin en tenant compte de la configuration choisi par le webmestre.
Constants
_EXTRAIRE_MULTI
Restaure cette constante à partir de SPIP 4.2.
public
mixed
_EXTRAIRE_MULTI
= '@<multi>(.*?)</multi>@sS'
_TAXONOMIE_LANGUES_POSSIBLES
Liste des langues utilisables pour les noms communs et les textes des taxons.
public
mixed
_TAXONOMIE_LANGUES_POSSIBLES
= 'fr:en:es:pt:de:it'
_TAXONOMIE_RANG_ESPECE
Nom anglais du rang principal `espèce`.
public
mixed
_TAXONOMIE_RANG_ESPECE
= 'species'
_TAXONOMIE_RANG_GENRE
Nom anglais du rang principal `genre`.
public
mixed
_TAXONOMIE_RANG_GENRE
= 'genus'
_TAXONOMIE_RANG_REGNE
Nom anglais du rang principal `règne`.
public
mixed
_TAXONOMIE_RANG_REGNE
= 'kingdom'
_TAXONOMIE_RANGS
Liste des règnes utilisés par Taxonomie TODO : vérifier les rangs stirp, morph, aberration, unspecified.
public
mixed
_TAXONOMIE_RANGS
= ['kingdom' => ['type' => \_TAXONOMIE_TYPE_RANG_PRINCIPAL, 'est_espece' => \false, 'synonyme' => ''], 'subkingdom' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'infrakingdom' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'superphylum' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => 'superdivision'], 'phylum' => ['type' => \_TAXONOMIE_TYPE_RANG_PRINCIPAL, 'est_espece' => \false, 'synonyme' => 'division'], 'subphylum' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => 'subdivision'], 'infraphylum' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => 'infradivision'], 'superdivision' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => 'superphylum'], 'division' => ['type' => \_TAXONOMIE_TYPE_RANG_PRINCIPAL, 'est_espece' => \false, 'synonyme' => 'phylum'], 'subdivision' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => 'subphylum'], 'infradivision' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => 'infraphylum'], 'superclass' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'class' => ['type' => \_TAXONOMIE_TYPE_RANG_PRINCIPAL, 'est_espece' => \false, 'synonyme' => ''], 'subclass' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'infraclass' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'superorder' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'order' => ['type' => \_TAXONOMIE_TYPE_RANG_PRINCIPAL, 'est_espece' => \false, 'synonyme' => ''], 'suborder' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'infraorder' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'section' => ['type' => \_TAXONOMIE_TYPE_RANG_SECONDAIRE, 'est_espece' => \false, 'synonyme' => ''], 'subsection' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'superfamily' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'family' => ['type' => \_TAXONOMIE_TYPE_RANG_PRINCIPAL, 'est_espece' => \false, 'synonyme' => ''], 'subfamily' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'tribe' => ['type' => \_TAXONOMIE_TYPE_RANG_SECONDAIRE, 'est_espece' => \false, 'synonyme' => ''], 'subtribe' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'genus' => ['type' => \_TAXONOMIE_TYPE_RANG_PRINCIPAL, 'est_espece' => \false, 'synonyme' => ''], 'subgenus' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \false, 'synonyme' => ''], 'species' => ['type' => \_TAXONOMIE_TYPE_RANG_PRINCIPAL, 'est_espece' => \true, 'synonyme' => ''], 'subspecies' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \true, 'synonyme' => ''], 'variety' => ['type' => \_TAXONOMIE_TYPE_RANG_SECONDAIRE, 'est_espece' => \true, 'synonyme' => ''], 'subvariety' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \true, 'synonyme' => ''], 'form' => ['type' => \_TAXONOMIE_TYPE_RANG_SECONDAIRE, 'est_espece' => \true, 'synonyme' => ''], 'subform' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \true, 'synonyme' => ''], 'race' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \true, 'synonyme' => 'variety'], 'stirp' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \true, 'synonyme' => ''], 'morph' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \true, 'synonyme' => ''], 'aberration' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \true, 'synonyme' => ''], 'unspecified' => ['type' => \_TAXONOMIE_TYPE_RANG_INTERCALAIRE, 'est_espece' => \true, 'synonyme' => '']]
TODO : vérifier pourquoi le rang serie n'est pas dans la liste de ITIS.
_TAXONOMIE_REGNES
Liste des règnes utilisés par Taxonomie.
public
mixed
_TAXONOMIE_REGNES
= ['animalia', 'plantae', 'fungi']
_TAXONOMIE_TYPE_RANG_INTERCALAIRE
Type de rang selon la nomenclature taxonomique.
public
mixed
_TAXONOMIE_TYPE_RANG_INTERCALAIRE
= 'intercalaire'
_TAXONOMIE_TYPE_RANG_PRINCIPAL
Type de rang selon la nomenclature taxonomique.
public
mixed
_TAXONOMIE_TYPE_RANG_PRINCIPAL
= 'principal'
_TAXONOMIE_TYPE_RANG_SECONDAIRE
Type de rang selon la nomenclature taxonomique.
public
mixed
_TAXONOMIE_TYPE_RANG_SECONDAIRE
= 'secondaire'
Functions
regne_charger()
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.
regne_charger(string $regne[, null|array<string|int, mixed> $codes_langue = [] ]) : bool
Les nom communs anglais, français, espagnols, etc, peuvent aussi être chargés en complément mais ne couvrent pas l'ensemble des taxons. Le modifications effectuées manuellement sur ces taxons sont conservées.
Parameters
- $regne : string
-
Nom scientifique du règne en lettres minuscules :
animalia
,plantae
,fungi
. - $codes_langue : null|array<string|int, mixed> = []
-
Tableau des codes des langues (au sens SPIP) à charger pour les noms communs des taxons.
Tags
Return values
bool —true
si le chargement a réussi, false
sinon
regne_vider()
Supprime de la base de données tous les taxons importés à partir du rapport hiérarchique d'un règne donné.
regne_vider(string $regne) : bool
La meta concernant les informations de chargement du règne est aussi effacée. Les modifications manuelles effectuées sur ces taxons sont effacées : elles doivent donc être préservées au préalable.
Parameters
- $regne : string
-
Nom scientifique du règne en lettres minuscules :
animalia
,plantae
,fungi
.
Tags
Return values
bool —true
si le vidage a réussi, false
sinon
regne_existe()
Retourne l'existence ou pas d'un règne en base de données.
regne_existe(string $regne[, null|array<string|int, mixed> &$meta_regne = [] ]) : bool
La fonction scrute les taxons importés de la table spip_taxons
et non la meta propre au règne.
Parameters
- $regne : string
-
Nom scientifique du règne en lettres minuscules :
animalia
,plantae
,fungi
. - $meta_regne : null|array<string|int, mixed> = []
-
Meta propre au règne, créée lors du chargement de celui-ci et retournée si le règne existe.
Tags
Return values
bool —true
si le règne existe, false
sinon.
regne_lister_defaut()
Renvoie la liste des règnes supportés par le plugin.
regne_lister_defaut() : array<string|int, mixed>
Return values
array<string|int, mixed> —Liste des noms scientifiques en minuscules des règnes supportés.
rang_informer_type()
Renvoie le type de rang principal, secondaire ou intercalaire.
rang_informer_type(string $rang) : string
Parameters
- $rang : string
-
Nom anglais du rang en minuscules.
Return values
string —principal
, secondaire
ou intercalaire
si le rang est valide, chaine vide sinon.
rang_est_espece()
Détermine si un rang est celui d'une espèce ou d'un taxon de rang inférieur.
rang_est_espece(string $rang) : bool
Parameters
- $rang : string
-
Nom anglais du rang en minuscules.
Tags
Return values
bool —true
si le rang est celui d'une espèce ou d'un taxon de rang inférieur, false
sinon.
taxon_preserver()
Extrait, de la table `spip_taxons`, la liste des taxons non espèce d'un règne donné - importés via un fichier ITIS - 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 et donc non importés avec le fichier ITIS.
taxon_preserver(string $regne) : array<string|int, mixed>
Parameters
- $regne : string
-
Nom scientifique du règne en lettres minuscules :
animalia
,plantae
,fungi
.
Tags
Return values
array<string|int, mixed> —Liste des taxons modifiées manuellement et créés suite à l'ajout d'une espèce.
Chaque élément de la liste est un tableau composé, pour les taxons modifiés manuellement des index
tsn
, nom_commun
, descriptif
et pour les taxons créés via une espèce de tous les champs de l'objet
taxon, à l'exception de l'id (id_taxon
) et de la date de mise à jour (maj
).
taxon_merger_traductions()
Fusionne les traductions d'une balise `<multi>` avec celles d'une autre balise `<multi>`.
taxon_merger_traductions(string $multi_prioritaire, string $multi_non_prioritaire) : string
L'une des balise est considérée comme prioritaire ce qui permet de régler le cas où la même
langue est présente dans les deux balises.
Si on ne trouve pas de balise <multi>
dans l'un ou l'autre des paramètres, on considère que
le texte est tout même formaté de la façon suivante : texte0[langue1]texte1[langue2]texte2...
Parameters
- $multi_prioritaire : string
-
Balise multi considérée comme prioritaire en cas de conflit sur une langue.
- $multi_non_prioritaire : string
-
Balise multi considérée comme non prioritaire en cas de conflit sur une langue.
Tags
Return values
string —La chaine construite est toujours une balise <multi>
complète ou une chaine vide sinon.
taxon_traduire_champ()
Traduit un champ de la table `spip_taxons` dans la langue du site.
taxon_traduire_champ(string $champ) : string
Parameters
- $champ : string
-
Nom du champ dans la base de données.
Return values
string —Traduction du champ dans la langue du site.
taxon_lister_services()
Renvoie la liste des services de taxonomie utilisés par le plugin en tenant compte de la configuration choisi par le webmestre.
taxon_lister_services() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed> —Tableau des services utilisés sous la forme [alias] = titre du service.