Ignore:
Timestamp:
Sep 5, 2012, 5:35:07 PM (8 years ago)
Author:
marcimat@…
Message:

Un peu plus de migration de Formidable vers SPIP 3 :

  • paquet.xml et administration nouvelle mode
  • un peu de phpdoc.
File:
1 moved

Legend:

Unmodified
Added
Removed
  • _plugins_/formidable/trunk/formidable_administrations.php

    r65533 r65580  
    11<?php
     2
     3/**
     4 * Fichier gérant l'installation et désinstallation du plugin
     5 *
     6 * @package SPIP\Formidable\Installation
     7**/
    28
    39// Sécurité
    410if (!defined("_ECRIRE_INC_VERSION")) return;
    511
    6 include_spip('inc/meta');
     12/**
     13 * Installation/maj des tables de formidable...
     14 *
     15 * @param string $nom_meta_base_version
     16 *     Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
     17 * @param string $version_cible
     18 *     Version du schéma de données dans ce plugin (déclaré dans paquet.xml)
     19 * @return void
     20 */
     21function formidable_upgrade($nom_meta_base_version, $version_cible){
     22        // Création des tables
     23        include_spip('base/create');
     24        include_spip('base/abstract_sql');
    725
    8 // Installation et mise à jour
    9 function formidable_upgrade($nom_meta_version_base, $version_cible){
     26        $maj = array();
     27        $maj['create'] = array(
     28                array('maj_tables',array(
     29                        'spip_formulaires',
     30                        'spip_formulaires_reponses'
     31                        'spip_formulaires_reponses_champs'
     32                        'spip_formulaires_liens')),
     33        );
     34        // Ajout du choix de ce qu'on affiche à la fin des traitements
     35        $maj['0.4.0'] = array(array('maj_tables',array('spip_formulaires')));
     36        // Ajout d'une URL de redirection
     37        $maj['0.5.0'] = array(array('maj_tables',array('spip_formulaires')));
     38        // Modif du type du message de retour pour pouvoir mettre plus de chose
     39        $maj['0.5.1'] = array(array('sql_alter','TABLE spip_formulaires CHANGE message_retour message_retour text NOT NULL default ""'));
    1040
    11         $version_actuelle = '0.0';
    12         if (
    13                 (!isset($GLOBALS['meta'][$nom_meta_version_base]))
    14                 || (($version_actuelle = $GLOBALS['meta'][$nom_meta_version_base]) != $version_cible)
    15         ){
    16                
    17                 if (version_compare($version_actuelle,'0.0','=')){
    18                         // Création des tables
    19                         include_spip('base/create');
    20                         include_spip('base/abstract_sql');
    21                         creer_base();
    22                        
    23                         echo "Installation du plugin formidable<br/>";
    24                         ecrire_meta($nom_meta_version_base, $version_actuelle=$version_cible, 'non');
    25                 }
    26                
    27                 // Ajout du choix de ce qu'on affiche à la fin des traitements
    28                 if (version_compare($version_actuelle,$version_cible='0.4.0','<')){     
    29                         include_spip('base/create');
    30                         maj_tables('spip_formulaires');
    31 
    32                         echo "Mise à jour du plugin formidable en version 0.4.0<br/>";
    33                         ecrire_meta($nom_meta_version_base, $version_actuelle=$version_cible, 'non');
    34                 }
    35                
    36                 // Ajout d'une URL de redirection
    37                 if (version_compare($version_actuelle,$version_cible='0.5.0','<')){     
    38                         include_spip('base/create');
    39                         maj_tables('spip_formulaires');
    40                        
    41                         echo "Mise à jour du plugin formidable en version 0.5.0<br/>";
    42                         ecrire_meta($nom_meta_version_base, $version_actuelle=$version_cible, 'non');
    43                 }
    44                
    45                 // Modif du type du message de retour pour pouvoir mettre plus de chose
    46                 if (version_compare($version_actuelle,$version_cible='0.5.1','<')){     
    47                         include_spip('base/abstract_sql');
    48                         sql_alter('TABLE spip_formulaires CHANGE message_retour message_retour text NOT NULL default ""');
    49                        
    50                         echo "Mise à jour du plugin formidable en version 0.5.1<br/>";
    51                         ecrire_meta($nom_meta_version_base, $version_actuelle=$version_cible, 'non');
    52                 }
    53         }
    54        
     41        include_spip('base/upgrade');
     42        maj_plugin($nom_meta_base_version, $version_cible, $maj);
    5543}
    5644
    57 // Désinstallation
    58 function formidable_vider_tables($nom_meta_version_base){
     45/**
     46 * Désinstallation/suppression des tables de formidable
     47 *
     48 * @param string $nom_meta_base_version
     49 *     Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
     50 * @return void
     51 */
     52function formidable_vider_tables($nom_meta_base_version){
    5953
     54        include_spip('inc/meta');
    6055        include_spip('base/abstract_sql');
    61        
     56
    6257        // On efface les tables du plugin
    6358        sql_drop_table('spip_formulaires');
     
    6560        sql_drop_table('spip_formulaires_reponses_champs');
    6661        sql_drop_table('spip_formulaires_liens');
    67                
     62
    6863        // On efface la version entregistrée
    69         effacer_meta($nom_meta_version_base);
    70 
     64        effacer_meta($nom_meta_base_version);
    7165}
    7266
Note: See TracChangeset for help on using the changeset viewer.