source: spip-zone/_plugins_/taxonomie/trunk/base/taxonomie_declarations.php @ 87600

Last change on this file since 87600 was 87600, checked in by eric@…, 5 years ago

Gestion du rang phylum ou division.
Ajout d'un champ edite pour indiquer une modification manuelle du taxon et mise à jour lors d'une modification.

  • Property svn:eol-style set to native
File size: 2.8 KB
Line 
1<?php
2/**
3 * Déclarations relatives à la base de données
4 *
5 * @plugin     Taxonomie
6 * @copyright  2014
7 * @author     Eric
8 * @licence    GNU/GPL
9 * @package    SPIP\Taxonomie\Pipelines
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) return;
13
14
15/**
16 * Déclaration des alias de tables et filtres automatiques de champs
17 *
18 * @pipeline declarer_tables_interfaces
19 * @param array $interfaces
20 *     Déclarations d'interface pour le compilateur
21 * @return array
22 *     Déclarations d'interface pour le compilateur
23 */
24function taxonomie_declarer_tables_interfaces($interfaces) {
25
26        $interfaces['table_des_tables']['taxons'] = 'taxons';
27
28        return $interfaces;
29}
30
31
32/**
33 * Déclaration des objets éditoriaux
34 *
35 * @pipeline declarer_tables_objets_sql
36 * @param array $tables
37 *     Description des tables
38 * @return array
39 *     Description complétée des tables
40 */
41function taxonomie_declarer_tables_objets_sql($tables) {
42
43        /**
44         * Déclaration de l'objet taxon utilisé pour matérialiser une arborescence de taxons
45         * du règne au genre. Les taxons à partir de l'espèce ne font pas partie de cette
46         * table.
47         *
48         * Le nom_scientifique est le nom en latin. Il est unique pour un rang taxonomique donné.
49         * Le rang taxonomique est une valeur parmi règne, phylum, classe, ordre, famille et genre.
50         * Le nom_commun est le nom vulgaire, si possible normalisé par une commission officielle. Il peut coincider ou pas
51         * avec le nom vernaculaire.
52         * L'auteur est une information composée d'un ou plusieurs noms complétés par une date (Linneus, 1798).
53         * tsn est l'identifiant numérique unique du taxon dans la base taxonomique ITIS.
54         * tsn_parent permet de créer l'arborescence taxonomique du règne conformément à l'organisation de la base ITIS
55         */
56        $tables['spip_taxons'] = array(
57                'type' => 'taxon',
58                'principale' => "oui",
59                'field'=> array(
60                        "id_taxon"                      => "bigint(21) NOT NULL",
61                        "nom_scientifique"      => "varchar(35) DEFAULT '' NOT NULL",
62                        "rang"                          => "varchar(15) DEFAULT '' NOT NULL",
63                        "regne"                         => "varchar(10) DEFAULT '' NOT NULL",
64                        "nom_commun"            => "text DEFAULT '' NOT NULL",
65                        "auteur"                        => "varchar(100) DEFAULT '' NOT NULL",
66                        "descriptif"            => "text DEFAULT '' NOT NULL",
67                        "tsn"                           => "bigint(21) NOT NULL",
68                        "tsn_parent"            => "bigint(21) NOT NULL",
69                        "sources"                       => "text DEFAULT '' NOT NULL",
70                        "edite"                         => "varchar(3) DEFAULT 'non' NOT NULL",
71                        "maj"                           => "TIMESTAMP"
72                ),
73                'key' => array(
74                        "PRIMARY KEY"        => "id_taxon",
75                ),
76                'titre' => "nom_scientifique AS titre, '' AS lang",
77
78                'champs_editables'  => array('nom_commun', 'descriptif'),
79                'champs_versionnes' => array('nom_commun', 'descriptif'),
80                'rechercher_champs' => array("nom_scientifique" => 10, "nom_commun" => 10, "descriptif" => 5),
81                'tables_jointures'  => array(),
82        );
83
84        return $tables;
85}
86
87?>
Note: See TracBrowser for help on using the repository browser.