source: spip-zone/_plugins_/spip_resa/base/resa_upgrade.php @ 30136

Last change on this file since 30136 was 30136, checked in by glims@…, 12 years ago

Premier Import

File size: 1.5 KB
Line 
1<?php
2
3function resa_install($action)
4{
5        switch ($action)
6        {
7                case 'test' :
8                        include_spip('base/abstract_sql') ;
9                        $desc_cal = sql_showtable('spip_resa_calendrier') ;
10                        $desc_resa = sql_showtable('spip_resa_reservation') ;
11                        return isset($desc_cal['field']['id_calendrier']) && isset($desc_resa['field']['id_reservation']) ;
12                break ;
13                case 'install' :
14                        resa_upgrade('resa_base_version', 1) ;
15                break ;
16                case 'uninstall' :
17                        resa_vider_tables('resa_base_version') ;
18                break ;
19        }
20}
21
22function resa_upgrade($nom_meta_base_version, $version_cible)
23{
24        $current_version = 0.0 ;
25
26        if ( 
27                ( isset($GLOBALS['meta']['resa_base_version']) )
28                 && ( ($current_version = $GLOBALS['meta'][$nom_meta_base_version]) == $version_cible )
29        )
30                return;
31
32        include_spip('base/create') ;
33        include_spip('base/abstract_sql') ;
34       
35        creer_base() ;
36        ecrire_meta($nom_meta_base_version, $current_version = $version_cible) ;
37}
38
39function resa_vider_tables($nom_meta_base_version)
40{
41        $reqArticles = sql_select(array('id_calendrier', 'id_article'), 'spip_resa_calendrier') ;
42        while( $article = sql_fetch($reqArticles) )
43        {
44                $texte = sql_getfetsel('texte', 'spip_articles', 'id_article=' . sql_quote((int) $article['id_article'])) ;
45                sql_updateq(
46                        'spip_articles',
47                        array('texte' => str_replace('<calendrier1|id_calendrier=' . $article['id_calendrier'] . '>', '', $texte)),
48                        'id_article=' . sql_quote((int) $article['id_article'])
49                ) ;
50        }
51
52        sql_drop_table('spip_resa_reservation') ;
53        sql_drop_table('spip_resa_calendrier') ;
54
55        effacer_meta($nom_meta_base_version) ;
56}
Note: See TracBrowser for help on using the repository browser.