source: spip-zone/_plugins_/diogene/diogene/trunk/base/diogene.php @ 97999

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

Nettoyage

File size: 4.4 KB
Line 
1<?php
2/**
3 * Plugin Diogene
4 *
5 * Auteurs :
6 * b_b
7 * kent1 (http://www.kent1.info - kent1@arscenic.info)
8 *
9 * Distribue sous licence GNU/GPL
10 *
11 * Déclaration des tables pour Diogene
12 *
13 **/
14
15if (!defined('_ECRIRE_INC_VERSION')) {
16        return;
17}
18
19function diogene_declarer_tables_interfaces($interfaces) {
20        $interfaces['table_des_tables']['diogenes']='diogenes';
21        $interfaces['table_des_traitements']['DESCRIPTION'][]= _TRAITEMENT_RACCOURCIS;
22        return $interfaces;
23}
24
25/**
26 * Insertion dans le pipeline declarer_tables_auxiliaires (SPIP)
27 *
28 * Declaration de la table auxiliaire spip_diogene_liens
29 *
30 * @param array $tables_auxiliaires
31 *      Un tableau de description des tables auxiliaires
32 * @return array $tables_auxiliaires
33 *      Le tableau des tables auxiliaires complété
34 */
35function diogene_declarer_tables_auxiliaires($tables_auxiliaires) {
36        $spip_diogenes_liens = array(
37                'id_diogene'    => 'bigint(21) NOT NULL',
38                'id_objet'      => "bigint(21) DEFAULT '0' NOT NULL",
39                'objet' => "VARCHAR (25) DEFAULT '' NOT NULL");
40
41        $spip_diogenes_liens_key = array(
42                'PRIMARY KEY'           => 'id_diogene,id_objet,objet');
43
44        $tables_auxiliaires['spip_diogenes_liens'] = array(
45                'field' => &$spip_diogenes_liens,
46                'key' => &$spip_diogenes_liens_key);
47
48        return $tables_auxiliaires;
49}
50
51/**
52 * Insertion dans le pipeline declarer_tables_objets_sql (SPIP)
53 *
54 * Modification de la description des tables SQL :
55 * - On ajoute les champs "lang" et "langue_choisie" dans les champs éditables de la table spip_articles
56 * - On ajoute notre nouvel objet "diogene"
57 *
58 * @param array $tables
59 *      La description complète des objets SPIP
60 * @return array $tables
61 *      La description des objets SPIP modifiée
62 */
63function diogene_declarer_tables_objets_sql($tables) {
64        $tables['spip_articles']['champs_editables'][] = 'lang';
65        $tables['spip_articles']['champs_editables'][] = 'langue_choisie';
66        $tables['spip_diogenes'] = array(
67                'texte_retour' => 'icone_retour',
68                'texte_objets' => 'diogene:diogenes',
69                'texte_objet' => 'diogene:diogene',
70                'texte_modifier' => 'diogene:icone_modifier_diogene',
71                'texte_creer' => 'diogene:icone_nouveau_diogene',
72                'info_aucun_objet'=> 'diogene:info_aucun_diogene',
73                'info_1_objet' => 'diogene:info_1_diogene',
74                'info_nb_objets' => 'diogene:info_nb_diogenes',
75                'texte_logo_objet' => 'diogene:libelle_logo_diogene',
76                'titre' => 'titre',
77                'date' => 'maj',
78                'principale' => 'oui',
79                'field'=> array(
80                        'id_diogene'    => 'bigint(21) NOT NULL',
81                        'titre' => "text DEFAULT '' NOT NULL",
82                        'objet' => "varchar(25) DEFAULT '' NOT NULL",
83                        'id_secteur'    => "bigint(21) DEFAULT '0' NOT NULL",
84                        'id_rubrique_defaut'    => "bigint(21) DEFAULT '0' NOT NULL",
85                        'champs_caches' => "text DEFAULT '' NOT NULL",
86                        'champs_ajoutes'        => "text DEFAULT '' NOT NULL",
87                        'type' => "varchar(25) DEFAULT '' NOT NULL",
88                        'description'   => "mediumtext DEFAULT '' NOT NULL",
89                        'statut_auteur' => "text DEFAULT '' NOT NULL",
90                        'statut_auteur_publier' => "text DEFAULT '' NOT NULL",
91                        'options_complements'   => "text DEFAULT '' NOT NULL",
92                        'nombre_attente' => "int DEFAULT '0' NOT NULL",
93                        'menu' => "varchar(3) DEFAULT '' NOT NULL",
94                        'id_auteur'     => "bigint(21) DEFAULT '0' NOT NULL",
95                        'maj'   => 'TIMESTAMP'
96                ),
97                'champs_editables' => array('titre', 'objet', 'id_secteur', 'id_rubrique_defaut', 'champs_caches','champs_ajoutes', 'type', 'description', 'statut_auteur', 'statut_auteur_publier','options_complements','menu','nombre_attente','id_auteur'),
98                'key' => array(
99                        'PRIMARY KEY'   => 'id_diogene',
100                        'KEY id_auteur' => 'id_auteur',
101                        'KEY id_secteur' => 'id_secteur',
102                        'KEY id_secteur' => 'id_rubrique_defaut',
103                        'KEY objet'     => 'objet',
104                        'KEY type'      => 'type'
105                ),
106                'join' => array(
107                        'id_diogene' => 'id_diogene',
108                        'id_auteur' => 'id_auteur'
109                ),
110                'rechercher_champs' => array(
111                  'titre' => 8, 'description' => 2, 'objet' => 1, 'type' => 1
112                ),
113                'champs_versionnes' => array('id_secteur','id_rubrique_defaut','champs_caches','champs_ajoutes','statut_auteur','statut_auteur_publier','options_complements','menu','id_auteur', 'titre', 'description', 'nombre_attente','objet', 'type'),
114        );
115
116        // jointures sur les diogenes pour tous les objets
117        $tables[]['tables_jointures'][]= 'diogenes_liens';
118        $tables[]['tables_jointures'][]= 'diogenes';
119
120        // recherche jointe sur les diogenes pour tous les objets
121        $tables[]['rechercher_jointures']['diogenes'] = array('titre' => 3);
122
123        // versionner les jointures pour tous les objets
124        $tables[]['champs_versionnes'][] = 'jointure_diogenes';
125
126        return $tables;
127}
Note: See TracBrowser for help on using the repository browser.