source: spip-zone/_plugins_/cartes/trunk/base/cartes.php @ 97854

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

PSR SPIP

  • Property svn:executable set to *
File size: 3.9 KB
Line 
1<?php
2/**
3 * Déclarations relatives à la base de données
4 *
5 * @plugin     Création de cartes
6 * @copyright  2016
7 * @author     kent1
8 * @licence    GNU/GPL
9 * @package    SPIP\Cartes\Pipelines
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) {
13        return;
14}
15
16
17/**
18 * Déclaration des alias de tables et filtres automatiques de champs
19 *
20 * @pipeline declarer_tables_interfaces
21 * @param array $interfaces
22 *     Déclarations d'interface pour le compilateur
23 * @return array
24 *     Déclarations d'interface pour le compilateur
25 */
26function cartes_declarer_tables_interfaces($interfaces) {
27        $interfaces['table_des_tables']['cartes'] = 'cartes';
28        $interfaces['table_des_traitements']['TEXTE_FOOTER']['cartes'] = _TRAITEMENT_RACCOURCIS;
29        $interfaces['table_des_traitements']['CONTROLES']['cartes'] = 'unserialize(%s)';
30        return $interfaces;
31}
32
33
34/**
35 * Déclaration des objets éditoriaux
36 *
37 * @pipeline declarer_tables_objets_sql
38 * @param array $tables
39 *     Description des tables
40 * @return array
41 *     Description complétée des tables
42 */
43function cartes_declarer_tables_objets_sql($tables) {
44
45        $tables['spip_cartes'] = array(
46                'type' => 'carte',
47                'principale' => 'oui',
48                'field'=> array(
49                        'id_carte'           => 'bigint(21) NOT NULL',
50                        'titre'              => 'text NOT NULL DEFAULT ""',
51                        'texte'              => 'text NOT NULL DEFAULT ""',
52                        'texte_footer'       => 'text NOT NULL DEFAULT ""',
53                        'layer_defaut'       => 'text NOT NULL DEFAULT ""',
54                        'layer_topojson'     => 'text NOT NULL DEFAULT ""',
55                        'zoom_defaut'            => 'int(6) NOT NULL DEFAULT 0',
56                        'zoom_min'           => 'int(6) NOT NULL DEFAULT 0',
57                        'zoom_max'           => 'int(6) NOT NULL DEFAULT 0',
58                        'style_carte'        => 'text NOT NULL DEFAULT ""',
59                        'footer_carte'       => 'text NOT NULL DEFAULT ""',
60                        'lat'                            => 'double NULL NULL',
61                        'lon'                            => 'double NULL NULL',
62                        'center_points'      => 'VARCHAR(3) DEFAULT "non"',
63                        'popup'              => 'text NOT NULL DEFAULT ""',
64                        'label'              => 'text NOT NULL DEFAULT ""',
65                        'bounds'             => 'GEOMETRY DEFAULT "" NOT NULL',
66                        'controles'              => 'text NOT NULL DEFAULT ""',
67                        'type'               => 'text NOT NULL DEFAULT ""',
68                        'date'               => 'datetime NOT NULL DEFAULT "0000-00-00 00:00:00"',
69                        'statut'             => 'varchar(20)  DEFAULT "0" NOT NULL',
70                        'lang'               => 'VARCHAR(10) NOT NULL DEFAULT ""',
71                        'langue_choisie'     => 'VARCHAR(3) DEFAULT "non"',
72                        'id_trad'            => 'bigint(21) NOT NULL DEFAULT 0',
73                        'maj'                => 'TIMESTAMP'
74                ),
75                'key' => array(
76                        'PRIMARY KEY'        => 'id_carte',
77                        'KEY lang'           => 'lang',
78                        'KEY id_trad'        => 'id_trad',
79                        'KEY statut'         => 'statut',
80                ),
81                'titre' => 'titre AS titre, lang AS lang',
82                'date' => 'date',
83                'champs_editables'  => array('titre', 'texte', 'layer_defaut', 'layer_topojson', 'zoom_defaut', 'zoom_min', 'zoom_max', 'style_carte', 'footer_carte', 'texte_footer', 'bounds', 'controles', 'type', 'lat', 'lon', 'center_points', 'popup', 'label'),
84                'champs_versionnes' => array('titre', 'texte', 'layer_defaut', 'layer_topojson', 'zoom_defaut', 'zoom_min', 'zoom_max', 'style_carte', 'footer_carte', 'texte_footer', 'bounds', 'controles', 'type', 'lat', 'lon', 'center_points', 'popup', 'label'),
85                'rechercher_champs' => array('titre' => 5, 'texte' => 7, 'texte_footer' => 4),
86                'tables_jointures'  => array(),
87                'statut_textes_instituer' => array(
88                        'prepa'    => 'texte_statut_en_cours_redaction',
89                        'prop'     => 'texte_statut_propose_evaluation',
90                        'publie'   => 'texte_statut_publie',
91                        'refuse'   => 'texte_statut_refuse',
92                        'poubelle' => 'texte_statut_poubelle',
93                ),
94                'statut'=> array(
95                        array(
96                                'champ'     => 'statut',
97                                'publie'    => 'publie',
98                                'previsu'   => 'publie,prop,prepa',
99                                'post_date' => 'date',
100                                'exception' => array('statut','tout')
101                        )
102                ),
103                'texte_changer_statut' => 'carte:texte_changer_statut_carte',
104        );
105
106        return $tables;
107}
Note: See TracBrowser for help on using the repository browser.