3 * Déclarations relatives à la base de données
7 * @author Olivier Tétard
9 * @package SPIP\Souscription\Pipelines
12 if (!defined('_ECRIRE_INC_VERSION')) return;
16 * Déclaration des alias de tables et filtres automatiques de champs
18 * @pipeline declarer_tables_interfaces
19 * @param array $interfaces
20 * Déclarations d'interface pour le compilateur
22 * Déclarations d'interface pour le compilateur
24 function souscription_declarer_tables_interfaces($interfaces) {
25 $interfaces['table_des_tables']['souscriptions'] = 'souscriptions';
26 $interfaces['table_des_tables']['souscription_campagnes'] = 'souscription_campagnes';
33 * Déclaration des objets éditoriaux
35 * @pipeline declarer_tables_objets_sql
36 * @param array $tables
37 * Description des tables
39 * Description complétée des tables
41 function souscription_declarer_tables_objets_sql($tables) {
43 $tables['spip_souscriptions'] =
44 array('type' => 'souscription',
45 'principale' => "oui",
46 'table_objet_surnoms' => array('souscription'), // table_objet('souscription') => 'souscription'
47 'field'=> array("id_souscription" => "bigint(21) NOT NULL",
48 "id_transaction" => "bigint(21) NOT NULL DEFAULT 0",
49 "id_souscription_campagne" => "bigint(21) NOT NULL DEFAULT 0",
50 "courriel" => "text NOT NULL DEFAULT ''",
51 "nom" => "text NOT NULL DEFAULT ''",
52 "prenom" => "text NOT NULL DEFAULT ''",
53 "code_postal" => "text NOT NULL DEFAULT ''",
54 "adresse" => "text NOT NULL DEFAULT ''",
55 "ville" => "text NOT NULL DEFAULT ''",
56 "pays" => "text NOT NULL DEFAULT ''",
57 "telephone" => "text NOT NULL DEFAULT ''",
58 "recu_fiscal" => "varchar(3) NOT NULL DEFAULT ''",
59 "type_souscription" => "varchar(255) NOT NULL DEFAULT ''",
60 "informer_comite_local" => "varchar(3) NOT NULL DEFAULT ''",
61 "envoyer_info" => "varchar(3) NOT NULL DEFAULT ''",
62 "date_souscription " => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
65 'key' => array("PRIMARY KEY" => "id_souscription",
66 "KEY id_transaction" => "id_transaction",
67 "KEY id_souscription_campagne" => "id_souscription_campagne"),
68 'titre' => "nom AS titre, '' AS lang",
69 'date' => "date_souscription",
70 'champs_editables' => array('courriel', 'nom', 'prenom', 'code_postal', 'adresse', 'ville', 'pays', 'recu_fiscal', 'envoyer_info'),
71 'champs_versionnes' => array('courriel', 'nom', 'prenom', 'code_postal', 'adresse', 'ville', 'pays', 'recu_fiscal', 'envoyer_info'),
72 'rechercher_champs' => array(),
73 'join' => array("id_transaction" => "id_transaction"),
74 'tables_jointures' => array('spip_transactions'),
77 $tables['spip_souscription_campagnes'] =
78 array('type' => 'souscription_campagne',
79 'principale' => "oui",
80 'table_objet_surnoms' => array('souscriptioncampagne'),
81 'field'=> array("id_souscription_campagne" => "bigint(21) NOT NULL",
82 "objectif" => "int(11) NOT NULL DEFAULT 0",
83 "objectif_initial" => "int(11) NOT NULL DEFAULT 0",
84 "type_objectif" => "varchar(255) NOT NULL DEFAULT 0",
85 "objectif_limiter" => "varchar(3) NOT NULL DEFAULT ''",
86 "titre" => "text NOT NULL DEFAULT ''",
87 "texte" => "longtext NOT NULL DEFAULT ''",
88 "statut" => "varchar(255) NOT NULL DEFAULT 0",
89 "date" => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
92 'key' => array("PRIMARY KEY" => "id_souscription_campagne",
93 "KEY id_souscription_campagne" => "id_souscription_campagne",
95 'titre' => "titre AS titre, '' AS lang",
97 'champs_editables' => array('objectif', 'titre', 'texte', 'objectif_initial', 'type_objectif', 'objectif_limiter'),
98 'champs_versionnes' => array('objectif', 'titre', 'texte', 'objectif_initial', 'type_objectif', 'objectif_limiter'),
99 'rechercher_champs' => array(),