source: spip-zone/_galaxie_/code.spip.net/spip-zora/plugin/ZoraApi/base/zoraapi.php @ 75101

Last change on this file since 75101 was 75101, checked in by marcimat@…, 8 years ago

Date de dernière modification aussi sur les fonctions d'API

File size: 4.6 KB
Line 
1<?php
2/**
3 * Déclarations relatives à la base de données
4 *
5 * @plugin     Zora Api
6 * @copyright  2013
7 * @author     Matthieu Marcillaud
8 * @licence    GNU/GPL
9 * @package    SPIP\Zoraapi\Pipelines
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) return;
13
14
15/**
16 * Déclaration des alias de tables et filtres automatiques de champs
17 *
18 * @pipeline declarer_tables_interfaces
19 * @param array $interfaces
20 *     Déclarations d'interface pour le compilateur
21 * @return array
22 *     Déclarations d'interface pour le compilateur
23 */
24function zoraapi_declarer_tables_interfaces($interfaces) {
25
26        $interfaces['table_des_tables']['api_fonctions'] = 'api_fonctions';
27       
28        $interfaces['table_des_traitements']['DEFINITION']['api_fonctions'] = _TRAITEMENT_RACCOURCIS;
29        $interfaces['table_des_traitements']['COMPATIBILITE']['api_fonctions'] = _TRAITEMENT_TYPO;
30        $interfaces['table_des_traitements']['DESCRIPTION']['api_fonctions'] = _TRAITEMENT_RACCOURCIS;
31        $interfaces['table_des_traitements']['PARAMETRES']['api_fonctions'] = _TRAITEMENT_RACCOURCIS;
32        $interfaces['table_des_traitements']['RETOUR']['api_fonctions'] = _TRAITEMENT_RACCOURCIS;
33        $interfaces['table_des_traitements']['HISTORIQUE']['api_fonctions'] = _TRAITEMENT_RACCOURCIS;
34        $interfaces['table_des_traitements']['EXEMPLES']['api_fonctions'] = _TRAITEMENT_RACCOURCIS;
35        $interfaces['table_des_traitements']['NOTA']['api_fonctions'] = _TRAITEMENT_RACCOURCIS;
36        $interfaces['table_des_traitements']['VOIR_AUSSI']['api_fonctions'] = _TRAITEMENT_RACCOURCIS;
37       
38        return $interfaces;
39}
40
41
42/**
43 * Déclaration des objets éditoriaux
44 *
45 * @pipeline declarer_tables_objets_sql
46 * @param array $tables
47 *     Description des tables
48 * @return array
49 *     Description complétée des tables
50 */
51function zoraapi_declarer_tables_objets_sql($tables) {
52
53        $tables['spip_api_fonctions'] = array(
54                'type' => 'api_fonction',
55                'principale' => "oui", 
56                'table_objet_surnoms' => array('apifonction'), // table_objet('api_fonction') => 'api_fonctions'
57                'field'=> array(
58                        "id_api_fonction"    => "bigint(21) NOT NULL",
59                        "id_rubrique"        => "bigint(21) NOT NULL DEFAULT 0", 
60                        "id_secteur"         => "bigint(21) NOT NULL DEFAULT 0", 
61                        "nom"                => "tinytext NOT NULL DEFAULT ''",
62                        "definition"         => "tinytext NOT NULL DEFAULT ''",
63                        "compatibilite"      => "tinytext NOT NULL DEFAULT ''",
64                        "nom_complet"        => "tinytext NOT NULL DEFAULT ''",
65                        "fichier"            => "tinytext NOT NULL DEFAULT ''",
66                        "description"        => "mediumtext NOT NULL DEFAULT ''",
67                        "parametres"         => "mediumtext NOT NULL DEFAULT ''",
68                        "retour"             => "mediumtext NOT NULL DEFAULT ''",
69                        "historique"         => "mediumtext NOT NULL DEFAULT ''",
70                        "exemples"           => "text NOT NULL DEFAULT ''",
71                        "nota"               => "mediumtext NOT NULL DEFAULT ''",
72                        "voir_aussi"         => "mediumtext NOT NULL DEFAULT ''",
73                        "date_publication"   => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'", 
74                        "date_modif"         => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'", 
75                        "statut"             => "varchar(20)  DEFAULT '0' NOT NULL", 
76                        "lang"               => "VARCHAR(10) NOT NULL DEFAULT ''",
77                        "langue_choisie"     => "VARCHAR(3) DEFAULT 'non'", 
78                        "id_trad"            => "bigint(21) NOT NULL DEFAULT 0", 
79                        "maj"                => "TIMESTAMP"
80                ),
81                'key' => array(
82                        "PRIMARY KEY"        => "id_api_fonction",
83                        "KEY id_rubrique"    => "id_rubrique", 
84                        "KEY id_secteur"     => "id_secteur", 
85                        "KEY lang"           => "lang", 
86                        "KEY id_trad"        => "id_trad", 
87                        "KEY statut"         => "statut", 
88                ),
89                'titre' => "nom AS titre, lang AS lang",
90                'date' => "date_publication",
91                'champs_editables'  => array('nom', 'definition', 'compatibilite', 'nom_complet', 'fichier', 'description', 'parametres', 'retour', 'historique', 'exemples', 'nota', 'voir_aussi'),
92                'champs_versionnes' => array('nom', 'definition', 'compatibilite', 'nom_complet', 'fichier', 'description', 'parametres', 'retour', 'historique', 'exemples', 'nota', 'voir_aussi'),
93                'rechercher_champs' => array("nom" => 7, "definition" => 3),
94                'tables_jointures'  => array(),
95                'statut_textes_instituer' => array(
96                        'prepa'    => 'texte_statut_en_cours_redaction',
97                        'prop'     => 'texte_statut_propose_evaluation',
98                        'publie'   => 'texte_statut_publie',
99                        'refuse'   => 'texte_statut_refuse',
100                        'poubelle' => 'texte_statut_poubelle',
101                ),
102                'statut'=> array(
103                        array(
104                                'champ'     => 'statut',
105                                'publie'    => 'publie',
106                                'previsu'   => 'publie,prop,prepa',
107                                'post_date' => 'date', 
108                                'exception' => array('statut','tout')
109                        )
110                ),
111                'texte_changer_statut' => 'api_fonction:texte_changer_statut_api_fonction', 
112               
113
114        );
115
116        return $tables;
117}
118
119
120
121?>
Note: See TracBrowser for help on using the repository browser.