source: spip-zone/_plugins_/massicot/trunk/base/massicot.php @ 93163

Last change on this file since 93163 was 93163, checked in by bystrano@…, 5 years ago

corrige deux bug qui plantaient le portfolio en 3.1

File size: 3.5 KB
Line 
1<?php
2/**
3 * Définitions des tables du plugin Massicot
4 *
5 * @plugin     Massicot
6 * @copyright  2015
7 * @author     Michel @ Vertige ASBL
8 * @licence    GNU/GPL
9 */
10
11if (!defined('_ECRIRE_INC_VERSION')) return;
12
13
14/**
15 * Déclaration des alias de tables et filtres automatiques de champs
16 *
17 * @pipeline declarer_tables_interfaces
18 * @param array $interfaces
19 *     Déclarations d'interface pour le compilateur
20 * @return array
21 *     Déclarations d'interface pour le compilateur
22 */
23function massicot_declarer_tables_interfaces($interfaces) {
24
25    if (is_null($interfaces['table_des_traitements']['FICHIER']['documents'])) {
26        $interfaces['table_des_traitements']['FICHIER']['documents'] = '%s';
27    }
28
29    $interfaces['table_des_traitements']['FICHIER']['documents'] =
30      'massicoter_document(' . $interfaces['table_des_traitements']['FICHIER']['documents'] . ')';
31
32    $interfaces['table_des_traitements']['LOGO_DOCUMENT'][] =
33      'massicoter_logo_document(%s, $connect, $Pile[1])';
34
35    if (is_null($interfaces['table_des_traitements']['URL_DOCUMENT']['documents'])) {
36        $interfaces['table_des_traitements']['URL_DOCUMENT']['documents'] = '%s';
37    }
38
39    $interfaces['table_des_traitements']['URL_DOCUMENT']['documents'] =
40      'massicoter_document(' . $interfaces['table_des_traitements']['URL_DOCUMENT']['documents'] . ')';
41
42    /* On traîte aussi les balises #HAUTEUR et #LARGEUR des documents */
43    $interfaces['table_des_traitements']['LARGEUR']['documents'] =
44      'massicoter_largeur(%s, $connect, $Pile[1])';
45    $interfaces['table_des_traitements']['HAUTEUR']['documents'] =
46      'massicoter_hauteur(%s, $connect, $Pile[1])';
47
48    /* Pour chaque objet éditorial existant, ajouter un traitement sur
49       les logos */
50    foreach (lister_tables_objets_sql() as $table => $valeurs) {
51
52        if ($table !== 'spip_documents') {
53            $interfaces['table_des_traitements'][strtoupper('LOGO_'.objet_type($table))][] =
54                'massicoter_logo(%s, $connect, '.objet_type($table).', $Pile[1][\''.id_table_objet($table).'\'])';
55
56        }
57    }
58
59    return $interfaces;
60}
61
62/**
63 * Création de la table spip_massicotages
64 *
65 * @pipeline declarer_tables_principales
66 * @param  array $tables  Tables principales
67 * @return array          Tables principales
68 */
69function massicot_declarer_tables_principales ($tables_principales) {
70
71    $tables_principales['spip_massicotages'] = array(
72        'field' => array(
73            'id_massicotage' => "bigint(21) NOT NULL",
74            'traitements'    => "text NOT NULL",
75        ),
76        'key' => array(
77            'PRIMARY KEY' => "id_massicotage",
78        ),
79    );
80
81    $tables_principales['spip_massicotages']['tables_jointures'][] = 'spip_massicotages_liens';
82
83    return $tables_principales;
84}
85
86/**
87 * Création de la table spip_massicotages_liens
88 *
89 * @pipeline declarer_tables_auxiliaires
90 * @param  array $tables  Tables auxiliaires
91 * @return array          Tables auxiliaires
92 */
93function massicot_declarer_tables_auxiliaires ($tables_auxiliaires) {
94
95    $tables_auxiliaires['spip_massicotages_liens'] = array(
96        'field' => array(
97            "id_massicotage" => "bigint(21) DEFAULT '0' NOT NULL",
98            "id_objet"       => "bigint(21) DEFAULT '0' NOT NULL",
99            "objet"          => "VARCHAR(25) DEFAULT '' NOT NULL",
100            "vu"             => "VARCHAR(6) DEFAULT 'non' NOT NULL"
101        ),
102        'key' => array(
103            "PRIMARY KEY"        => "id_massicotage,id_objet,objet",
104            "KEY id_massicotage" => "id_massicotage",
105        ),
106    );
107
108    return $tables_auxiliaires;
109}
Note: See TracBrowser for help on using the repository browser.