source: spip-zone/_plugins_/simple_calendrier/branches/v2/base/simplecal.php @ 109929

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

Hop, la v2 est maintenant de nouveau sur pied (muchas gracias senior b_b)

File size: 4.5 KB
Line 
1<?php
2/**
3 * Plugin Simple Calendrier v2 pour SPIP 3
4 * Licence GNU/GPL
5 * 2010-2017
6 *
7 * cf. paquet.xml pour plus d'infos.
8 */
9
10if (!defined("_ECRIRE_INC_VERSION")) {
11        return;
12}
13
14
15function simplecal_declarer_tables_interfaces($interfaces) {
16        $interfaces['table_des_tables']['evenements'] = 'evenements';
17
18        $interfaces['table_des_traitements']['LIEU'][]= _TRAITEMENT_RACCOURCIS;
19        $interfaces['table_des_traitements']['ADRESSE'][]= _TRAITEMENT_RACCOURCIS;
20
21       
22        // ---------------------------------------------------------------------------
23        // Champs de type 'date' pour la gestion des criteres age, age_relatif, etc.
24        // ---------------------------------------------------------------------------
25        // Note : provoque l'enregistrement de la date de publication (lors de sa modif) dans date
26        //$interface['table_date']['evenements'] = 'date';
27       
28        return $interfaces;
29}
30
31
32function simplecal_declarer_tables_objets_sql($tables) {
33       
34        // Champs de la table spip_evenements
35        $fields = array(
36                "id_evenement"      => "bigint(21) NOT NULL auto_increment",
37                "id_secteur"        => "bigint(21) NOT NULL DEFAULT '0'",
38                "id_rubrique"       => "bigint(21) NOT NULL DEFAULT '0'",
39                "id_trad"           => "bigint(21) NOT NULL DEFAULT '0'",
40                "id_objet"          => "bigint(21) NOT NULL DEFAULT '0'",
41                "type"              => "varchar(25) NOT NULL",
42                "titre"             => "varchar(255) NOT NULL",
43                "date_debut"        => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
44                "date_fin"          => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
45                "horaire"           => "varchar(3) NOT NULL DEFAULT 'oui'",
46                "descriptif"        => "text NOT NULL",
47                "texte"             => "text NOT NULL",
48                'lieu'                          => "text NOT NULL DEFAULT ''",
49                'adresse'                       => "text NOT NULL DEFAULT ''",
50                "lien_titre"        => "varchar(255) NOT NULL",
51                "lien_url"          => "varchar(255) NOT NULL",
52                "date"              => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'", // creation ou publication (selon statut)
53                "statut"            => "varchar(20)  DEFAULT '0' NOT NULL",
54                "lang"              => "varchar(10) NOT NULL DEFAULT ''",
55                "langue_choisie"    => "varchar(3) NULL DEFAULT 'non'", 
56                "maj"               => "timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"
57        );
58       
59        // champs qui possedent les cles
60        $key = array(
61                "PRIMARY KEY"     => "id_evenement",
62                "KEY statut"      => "statut", 
63                "KEY id_secteur"  => "id_secteur",
64                "KEY id_rubrique" => "id_rubrique",
65                "KEY id_trad"     => "id_trad",
66                "KEY lang"        => "lang"
67        );
68       
69        // champ 'statut'
70        $statut = array(
71                'champ'=>'statut',
72                'publie'=>'publie',
73                'previsu'=>'publie,prop',
74                'exception'=>'statut'
75        );
76       
77        // titre des statuts
78        $statut_titres = array(
79                'prepa'=>'simplecal:titre_evenement_redaction',
80                'prop' => 'simplecal:titre_evenement_propose',
81                'publie' => 'simplecal:titre_evenement_publie',
82                'refuse' => 'simplecal:titre_evenement_refuse',
83                'poubelle'=>'simplecal:titre_evenement_supprime'
84        );
85       
86        $statut_textes_instituer = array(
87                'prepa' => 'texte_statut_en_cours_redaction',
88                'prop' => 'texte_statut_propose_evaluation',
89                'publie' => 'texte_statut_publie', 
90                'refuse' => 'texte_statut_refuse',
91                'poubelle' => 'texte_statut_poubelle'
92        );
93       
94        // La Table
95        $tables['spip_evenements'] = array(
96                'type' => 'evenement',
97                'principale' => 'oui',
98                'field'=> $fields,
99                'key' => $key,
100                'titre' => 'titre, lang',
101                'date' => 'date', // indique le nom du field pour le formulaires_dater_charger_dist
102                'champs_editables' => array('titre', 'date_debut', 'date_fin', 'horaire', 'descriptif', 'texte', 'lieu', 'adresse', 'lien_titre', 'lien_url', 'type', 'id_objet'),
103                'champs_versionnes' => array('titre', 'descriptif', 'texte', 'lieu', 'adresse', 'lien_titre', 'lien_url'),
104                'rechercher_champs' => array('titre'=>8, 'descriptif'=>4, 'texte'=>2),
105                'tables_jointures'  => array(),
106                'statut' =>  array($statut),
107                'statut_textes_instituer' => $statut_textes_instituer,
108                'statut_titres' => $statut_titres,
109                'texte_retour' => 'icone_retour',
110                'texte_objets' => 'simplecal:evenements',
111                'texte_objet' => 'simplecal:evenement',
112                'texte_modifier' => 'simplecal:icone_modifier_evenement',
113                'texte_creer' => 'simplecal:icone_nouvel_evenement',
114                'info_aucun_objet'=> 'simplecal:info_aucun_evenement',
115                'info_1_objet' => 'simplecal:info_1_evenement',
116                'info_nb_objets' => 'simplecal:info_nb_evenements',
117                'texte_logo_objet' => 'simplecal:logo_evenement',
118                'texte_langue_objet' => 'simplecal:titre_langue_evenement',
119                'texte_changer_statut' => 'simplecal:entree_evenement_publie'
120        );
121       
122        return $tables;
123}
Note: See TracBrowser for help on using the repository browser.