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

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

Finalisation d'un premier jet complet du phpdoc.

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