source: plugins_spip/media_collections/base/collections.php @ 7298

Last change on this file since 7298 was 7298, checked in by kent1, 8 years ago

Activer la recherche sur les collections, on ne cherche que sur le titre et le descriptif

File size: 3.2 KB
Line 
1<?php
2/**
3 * Plugin Collections (ou albums)
4 * (c) 2012 kent1
5 * Licence GNU/GPL
6 */
7
8if (!defined('_ECRIRE_INC_VERSION')) return;
9
10
11/**
12 * Déclaration des alias de tables et filtres automatiques de champs
13 */
14function collections_declarer_tables_interfaces($interfaces) {
15
16        $interfaces['table_des_tables']['collections'] = 'collections';
17
18        return $interfaces;
19}
20
21
22/**
23 * Déclaration des objets éditoriaux
24 */
25function collections_declarer_tables_objets_sql($tables) {
26
27        $tables['spip_collections'] = array(
28                'type' => 'collection',
29                'principale' => "oui",
30                'field'=> array(
31                        "id_collection"      => "bigint(21) NOT NULL",
32                        "titre"              => "text NOT NULL",
33                        "descriptif"         => "text NOT NULL",
34                        "date"               => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
35                        "type_collection"    => "varchar(25) NOT NULL DEFAULT 'perso'",
36                        "statut"             => "varchar(20)  DEFAULT '0' NOT NULL",
37                        "lang"               => "VARCHAR(10) NOT NULL DEFAULT ''",
38                        "langue_choisie"     => "VARCHAR(3) DEFAULT 'non'", 
39                        "id_trad"            => "bigint(21) NOT NULL DEFAULT 0",
40                        "maj"                => "TIMESTAMP"
41                ),
42                'key' => array(
43                        "PRIMARY KEY"        => "id_collection",
44                        "KEY lang"           => "lang", 
45                        "KEY id_trad"        => "id_trad",
46                        "KEY statut"         => "statut",
47                ),
48                'titre' => "titre AS titre, lang AS lang",
49                'date' => "date",
50                'champs_editables'  => array('titre', 'descriptif', 'date', 'type_collection'),
51                'champs_versionnes' => array('titre', 'descriptif', 'type_collection'),
52                'rechercher_champs' => array('titre' => 8, 'descriptif' => 2),
53                'tables_jointures'  => array(
54                        #'spip_collections_liens'
55                ),
56                'statut_textes_instituer' => array(
57                        'prepa'    => 'texte_statut_en_cours_redaction',
58                        'publie'   => 'texte_statut_publie',
59                        'poubelle' => 'texte_statut_poubelle',
60                ),
61                'statut'=> array(
62                        array(
63                                'champ'     => 'statut',
64                                'publie'    => 'publie',
65                                'previsu'   => 'publie,prepa',
66                                'post_date' => 'date',
67                                'exception' => array('statut','tout')
68                        )
69                ),
70                'texte_changer_statut' => 'collection:texte_changer_statut_collection'
71        );
72
73        // jointures sur les mots pour tous les objets
74        $tables[]['tables_jointures'][]= 'collections_liens';
75        $tables[]['tables_jointures'][]= 'collections';
76
77        // cas particulier des auteurs et mots : declarer explicitement mots_liens comme jointure privilegiee
78        // cf http://core.spip.org/issues/2329
79        $tables['spip_collections']['tables_jointures'][]= 'auteurs_liens';
80        $tables['spip_collections']['tables_jointures'][]= 'auteurs';
81        $tables['spip_collections']['tables_jointures'][]= 'collections_liens';
82        $tables['spip_collections']['tables_jointures'][]= 'collections';
83        return $tables;
84}
85
86
87/**
88 * Déclaration des tables secondaires (liaisons)
89 */
90function collections_declarer_tables_auxiliaires($tables) {
91
92        $tables['spip_collections_liens'] = array(
93                'field' => array(
94                        "id_collection"      => "bigint(21) DEFAULT '0' NOT NULL",
95                        "id_objet"           => "bigint(21) DEFAULT '0' NOT NULL",
96                        "objet"              => "VARCHAR(25) DEFAULT '' NOT NULL",
97                        "vu"                 => "VARCHAR(6) DEFAULT 'non' NOT NULL"
98                ),
99                'key' => array(
100                        "PRIMARY KEY"        => "id_collection,id_objet,objet",
101                        "KEY id_collection"  => "id_collection"
102                )
103        );
104
105        return $tables;
106}
107
108
109?>
Note: See TracBrowser for help on using the repository browser.