l'inscription a la newsletter et l'information du comite local le plus proche sont...
[spip_souscriptions.git] / souscription_administrations.php
index 6cf3aae..a41b0fc 100644 (file)
@@ -25,16 +25,46 @@ function souscription_upgrade($nom_meta_base_version, $version_cible) {
   $maj = array();
 
   $maj['create'] = array(array('maj_tables',
-                               array('spip_souscription_dons',
+                               array('spip_souscriptions',
                                      'spip_souscription_campagnes',
                                      )));
-  $maj['0.0.3'] = array(array('sql_alter', "TABLE spip_souscription_dons CHANGE envoyer_info envoyer_info VARCHAR(3) NOT NULL DEFAULT ''"),
-                        array('sql_alter', "TABLE spip_souscription_dons CHANGE recu_fiscal recu_fiscal VARCHAR(3) NOT NULL DEFAULT ''"));
+  $maj['0.1'] = array(array('sql_alter', "TABLE spip_souscriptions ADD informer_comite_local varchar(3) NOT NULL DEFAULT ''"));
+
+  $maj['0.2'] = array(array('sql_alter', "TABLE spip_souscriptions ADD pays text NOT NULL DEFAULT ''"));
+
+  $maj['0.3'] = array(array('sql_alter', "TABLE spip_souscriptions ADD telephone text NOT NULL DEFAULT ''"));
+
+  $maj['0.4'] = array(array('sql_alter', "TABLE spip_souscription_campagnes ADD objectif_limiter varchar(3) NOT NULL DEFAULT ''"));
+
+  $maj['0.5'] = array(array('sql_alter', "TABLE spip_souscription_campagnes ADD configuration_specifique varchar(3) NOT NULL DEFAULT ''"),
+                     array('sql_alter', "TABLE spip_souscription_campagnes ADD type_saisie varchar(255) NOT NULL DEFAULT ''"),
+                     array('sql_alter', "TABLE spip_souscription_campagnes ADD montants text NOT NULL DEFAULT ''"));
+
+  $maj['0.6'] = array(array('maj_configuration_montants'));
 
   include_spip('base/upgrade');
   maj_plugin($nom_meta_base_version, $version_cible, $maj);
 }
 
+/* Fonction permettant de changer le format des montants globaux pour
+ * le plugin souscription. Les montants étaient stockés sous la forme
+ * d'un array() sérialisés. Il sont désormais stockés dans leur format
+ * chaine de caractères. */
+function maj_configuration_montants() {
+  foreach(array('adhesion_montants', 'don_montants') as $cfg) {
+    $cle_cfg = "souscription/${cfg}";
+
+    $montants_orig = lire_config($cle_cfg);
+
+    $montants = "";
+    foreach($montants_orig as $prix => $description) {
+      $montants .= $prix . "|" . $description . "\n";
+    }
+
+    ecrire_config($cle_cfg, $montants);
+  }
+}
+
 /**
  * Fonction de désinstallation du plugin Souscription.
  *
@@ -44,13 +74,13 @@ function souscription_upgrade($nom_meta_base_version, $version_cible) {
  **/
 function souscription_vider_tables($nom_meta_base_version) {
 
-  sql_drop_table("spip_souscription_dons");
+  sql_drop_table("spip_souscriptions");
   sql_drop_table("spip_souscription_campagnes");
 
   /* Nettoyer les versionnages et forums */
-  sql_delete("spip_versions",              sql_in("objet", array('souscription_don')));
-  sql_delete("spip_versions_fragments",    sql_in("objet", array('souscription_don')));
-  sql_delete("spip_forum",                 sql_in("objet", array('souscription_don')));
+  sql_delete("spip_versions",              sql_in("objet", array('souscription')));
+  sql_delete("spip_versions_fragments",    sql_in("objet", array('souscription')));
+  sql_delete("spip_forum",                 sql_in("objet", array('souscription')));
 
   effacer_meta($nom_meta_base_version);
 }