3 * Fichier gérant l'installation et désinstallation du plugin Souscription
7 * @author Olivier Tétard
9 * @package SPIP\Souscription\Installation
12 if (!defined('_ECRIRE_INC_VERSION')) return;
16 * Fonction d'installation et de mise à jour du plugin Souscription.
18 * @param string $nom_meta_base_version
19 * Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
20 * @param string $version_cible
21 * Version du schéma de données dans ce plugin (déclaré dans paquet.xml)
24 function souscription_upgrade($nom_meta_base_version, $version_cible) {
27 $maj['create'] = array(array('maj_tables',
28 array('spip_souscriptions',
29 'spip_souscription_campagnes',
31 $maj['0.1'] = array(array('sql_alter', "TABLE spip_souscriptions ADD informer_comite_local varchar(3) NOT NULL DEFAULT ''"));
33 $maj['0.2'] = array(array('sql_alter', "TABLE spip_souscriptions ADD pays text NOT NULL DEFAULT ''"));
35 $maj['0.3'] = array(array('sql_alter', "TABLE spip_souscriptions ADD telephone text NOT NULL DEFAULT ''"));
37 $maj['0.4'] = array(array('sql_alter', "TABLE spip_souscription_campagnes ADD objectif_limiter varchar(3) NOT NULL DEFAULT ''"));
39 $maj['0.5'] = array(array('sql_alter', "TABLE spip_souscription_campagnes ADD configuration_specifique varchar(3) NOT NULL DEFAULT ''"),
40 array('sql_alter', "TABLE spip_souscription_campagnes ADD type_saisie varchar(255) NOT NULL DEFAULT ''"),
41 array('sql_alter', "TABLE spip_souscription_campagnes ADD montants text NOT NULL DEFAULT ''"));
43 $maj['0.6'] = array(array('maj_configuration_montants'));
45 include_spip('base/upgrade');
46 maj_plugin($nom_meta_base_version, $version_cible, $maj);
49 /* Fonction permettant de changer le format des montants globaux pour
50 * le plugin souscription. Les montants étaient stockés sous la forme
51 * d'un array() sérialisés. Il sont désormais stockés dans leur format
52 * chaine de caractères. */
53 function maj_configuration_montants() {
54 foreach(array('adhesion_montants', 'don_montants') as $cfg) {
55 $cle_cfg = "souscription/${cfg}";
57 $montants_orig = lire_config($cle_cfg);
60 foreach($montants_orig as $prix => $description) {
61 $montants .= $prix . "|" . $description . "\n";
64 ecrire_config($cle_cfg, $montants);
69 * Fonction de désinstallation du plugin Souscription.
71 * @param string $nom_meta_base_version
72 * Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
75 function souscription_vider_tables($nom_meta_base_version) {
77 sql_drop_table("spip_souscriptions");
78 sql_drop_table("spip_souscription_campagnes");
80 /* Nettoyer les versionnages et forums */
81 sql_delete("spip_versions", sql_in("objet", array('souscription')));
82 sql_delete("spip_versions_fragments", sql_in("objet", array('souscription')));
83 sql_delete("spip_forum", sql_in("objet", array('souscription')));
85 effacer_meta($nom_meta_base_version);