source: spip-zone/_plugins_/boussole/trunk/base/boussole_declarer.php @ 75098

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

Encore un peu de PHPDoc

  • Property svn:eol-style set to native
File size: 3.0 KB
Line 
1<?php
2/**
3 * Ce fichier contient les déclarations des tables supplémentaires créées par le plugin.
4 *
5 * @package SPIP\BOUSSOLE\Schema\Declaration
6 */
7
8if (!defined("_ECRIRE_INC_VERSION")) return;
9
10/**
11 * Pipeline de déclaration des tables de la base de données SPIP. Le plugin Boussole
12 * déclare deux nouvelles tables qui sont :
13 * - spip_boussoles, qui contient les éléments constitutifs de toutes les boussoles;
14 * - spip_boussoles_extras, qui contient les traductions de ces éléments.
15 *
16 * @pipeline declarer_tables_principales
17 *
18 * @param array $tables_principales
19 *              Tableau global des tables de la base de données
20 * @return array
21 *              Tableau fourni en entrée et mis à jour avec les nouvelles déclarations
22 */
23function boussole_declarer_tables_principales($tables_principales) {
24
25        // Tables des boussoles : spip_boussoles
26        $boussoles = array(
27                "id_site"               => "bigint(21) NOT NULL",
28                "id_syndic"             => "bigint(21) DEFAULT 0 NOT NULL",
29                "aka_boussole"  => "varchar(32) DEFAULT '' NOT NULL",
30                "aka_site"              => "varchar(32) DEFAULT '' NOT NULL",
31                "url_site"              => "varchar(255) DEFAULT '' NOT NULL",
32                "aka_groupe"    => "varchar(32) DEFAULT '' NOT NULL",
33                "rang_groupe"   => "integer DEFAULT 0 NOT NULL",
34                "rang_site"     => "integer DEFAULT 0 NOT NULL",
35                "affiche"               => "varchar(3) DEFAULT '' NOT NULL",
36                "maj"                   => "timestamp");
37
38        $boussoles_key = array(
39                "PRIMARY KEY"   => "id_site"
40        );
41
42        $tables_principales['spip_boussoles'] =
43                array('field' => &$boussoles, 'key' => &$boussoles_key);
44
45        // Tables des informations logos et traductions pour les boussoles : spip_boussoles_extras
46        $boussoles_extras = array(
47                "aka_boussole"  => "varchar(32) DEFAULT '' NOT NULL",
48                "type_objet"    => "varchar(8) DEFAULT '' NOT NULL",
49                "aka_objet"             => "varchar(32) DEFAULT '' NOT NULL",
50                "nom_objet"             => "text DEFAULT '' NOT NULL",
51                "slogan_objet"  => "text DEFAULT '' NOT NULL",
52                "descriptif_objet"      => "text DEFAULT '' NOT NULL",
53                "logo_objet"    => "varchar(255) DEFAULT '' NOT NULL", // Attention à utiliser avec #CHAMP_SQL{logo_objet}
54                "maj"                   => "timestamp");
55
56        $boussoles_extras_key = array(
57                "PRIMARY KEY"   => "aka_boussole, type_objet, aka_objet"
58        );
59
60        $tables_principales['spip_boussoles_extras'] =
61                array('field' => &$boussoles_extras, 'key' => &$boussoles_extras_key);
62
63        return $tables_principales;
64}
65
66
67/**
68 * Pipeline xxxx
69 *
70 * @pipeline declarer_tables_interfaces
71 *
72 * @param array $interface
73 *              xxxx
74 * @return array
75 *              Tableau fourni en entrée et mis à jour avec les nouvelles déclarations
76 */
77function boussole_declarer_tables_interfaces($interface) {
78        // Les tables
79        $interface['table_des_tables']['boussoles'] = 'boussoles';
80        $interface['table_des_tables']['boussoles_extras'] = 'boussoles_extras';
81
82        // Les traitements
83        $interface['table_des_traitements']['URL_SITE']['boussoles']= 'safehtml(vider_url(%s))';
84        $interface['table_des_traitements']['SLOGAN']['boussoles_extras'] = _TRAITEMENT_RACCOURCIS;
85        $interface['table_des_traitements']['DESCRIPTION']['boussoles_extras'] = _TRAITEMENT_RACCOURCIS;
86
87        return $interface;
88}
89
90?>
Note: See TracBrowser for help on using the repository browser.