1 | <?php |
---|
2 | /** |
---|
3 | * Plugin Tradlang |
---|
4 | * Licence GPL (c) 2009 |
---|
5 | */ |
---|
6 | |
---|
7 | if (!defined("_ECRIRE_INC_VERSION")) return; |
---|
8 | |
---|
9 | include_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 | */ |
---|
17 | function 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 | |
---|
41 | function 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 | /** |
---|
55 | * Fonction de desinstallation |
---|
56 | * |
---|
57 | * @param unknown_type $nom_meta_base_version |
---|
58 | */ |
---|
59 | function tradlang_vider_tables($nom_meta_base_version) { |
---|
60 | sql_drop_table("spip_tradlang"); |
---|
61 | sql_drop_table("spip_tradlang_modules"); |
---|
62 | effacer_meta($nom_meta_base_version); |
---|
63 | } |
---|
64 | ?> |
---|