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

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

Phpdoc et formatage PSR SPIP

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