Documentation du code de SPIP et de ses plugins

Taxonomie

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
uses
regne_existe()
uses
taxon_preserver()
uses
regne_vider()
uses
itis_read_hierarchy()
uses
itis_find_language()
uses
itis_read_vernaculars()
used-by
formulaires_charger_regne_traiter()
used-by
genie_taxonomie_actualiser_itis_dist()
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
used-by
formulaires_charger_regne_traiter()
used-by
regne_charger()
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
used-by
formulaires_charger_regne_charger()
used-by
formulaires_charger_regne_traiter()
used-by
genie_taxonomie_actualiser_itis_dist()
used-by
regne_charger()
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
used-by
formulaires_creer_espece_verifier_2()
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
used-by
regne_charger()
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
used-by
formulaires_decrire_taxon_traiter()
used-by
formulaires_nommer_taxon_traiter()
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
used-by
taxonomie_apirest_cache_formulaire_charger()
Return values
array<string|int, mixed>

Tableau des services utilisés sous la forme [alias] = titre du service.


        
On this page

Search results