source: spip-zone/_plugins_/trad-lang/trad-lang_spip2/base/tradlang_install.php @ 46964

Last change on this file since 46964 was 46964, checked in by kent1@…, 10 years ago

id_tradlang_module sur les tradlang pour faire des jointures rapides et propres

File size: 2.2 KB
Line 
1<?php
2/**
3 * Plugin Tradlang
4 * Licence GPL (c) 2009
5 */
6
7if (!defined("_ECRIRE_INC_VERSION")) return;
8
9include_spip('inc/meta');
10
11/**
12 * Fonction d'installation, mise a jour de la base
13 *
14 * @param unknown_type $nom_meta_base_version
15 * @param unknown_type $version_cible
16 */
17function tradlang_upgrade($nom_meta_base_version,$version_cible){
18        $current_version = 0.0;
19        $maj = array();
20        $maj['create'] = array(
21                array('maj_tables',array('spip_tradlang','spip_tradlang_modules')),
22        );
23        $maj['0.3.1'] = array(
24                array('sql_alter',"TABLE spip_tradlang CHANGE status status VARCHAR(16) NOT NULL DEFAULT 'OK'")
25        );
26        $maj['0.3.2'] = array(
27                array('sql_alter',"TABLE spip_tradlang_modules CHANGE nom_mod nom_mod VARCHAR(32) NOT NULL"),
28                array('sql_alter',"TABLE spip_tradlang_modules CHANGE lang_prefix lang_prefix VARCHAR(32) NOT NULL")
29        );
30        $maj['0.3.3'] = array(
31                array('sql_alter',"TABLE spip_tradlang CHANGE status statut VARCHAR(16) NOT NULL default 'OK'"),
32        );
33        $maj['0.3.4'] = array(
34                array('sql_alter',"TABLE spip_tradlang ADD id_tradlang_module bigint(21) DEFAULT '0' NOT NULL"),
35                array('tradlang_maj_id_tradlang_modules',true)
36        );
37        include_spip('base/upgrade');
38        maj_plugin($nom_meta_base_version, $version_cible, $maj);
39}
40
41function tradlang_maj_id_tradlang_modules($affiche = false){
42        $strings = array_map('reset',sql_allfetsel('id_tradlang','spip_tradlang',"id_tradlang_module='0'",'','',"0,100"));
43        while (count($strings)){
44                foreach($strings as $id_tradlang){
45                        $module = sql_getfetsel('module','spip_tradlang','id_tradlang='.intval($id_tradlang));
46                        $id_tradlang_module = sql_getfetsel('id_tradlang_module','spip_tradlang_modules','module='.sql_quote($module));
47                        sql_updateq('spip_tradlang',array('id_tradlang_module' => $id_tradlang_module),'id_tradlang='.intval($id_tradlang));
48                }
49                if ($affiche) echo " .";
50                $strings = array_map('reset',sql_allfetsel('id_tradlang','spip_tradlang',"id_tradlang_module='0'",'','',"0,100"));
51        }
52}
53/**
54 * Fonction de desinstallation
55 *
56 * @param unknown_type $nom_meta_base_version
57 */
58function tradlang_vider_tables($nom_meta_base_version) {
59        sql_drop_table("spip_tradlang");
60        sql_drop_table("spip_tradlang_modules");
61        effacer_meta($nom_meta_base_version);
62}
63
64?>
Note: See TracBrowser for help on using the repository browser.