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

Last change on this file was 114393, checked in by eric@…, 2 years ago

En attendant b_b on vire les fins de fichiers PHP

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