/[drupal]/contributions/modules/localizer/localizer.install
ViewVC logotype

Contents of /contributions/modules/localizer/localizer.install

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.10 - (show annotations) (download) (as text)
Thu Jan 10 08:08:19 2008 UTC (22 months, 2 weeks ago) by robertogerola
Branch: MAIN
CVS Tags: DRUPAL-5--3-0, HEAD
Changes since 1.9: +1 -0 lines
File MIME type: text/x-php
Fixed PostgreSQL support
1 <?php
2 function localizer_install() {
3 switch ($GLOBALS['db_type']) {
4 case 'mysql':
5 case 'mysqli':
6 db_query("CREATE TABLE {localizertranslation} (
7 tid INT(10) UNSIGNED NOT NULL,
8 object_key VARCHAR(100) NOT NULL,
9 object_name VARCHAR(700) NOT NULL,
10 object_field VARCHAR(100) NOT NULL,
11 translation VARCHAR(700) NOT NULL,
12 language VARCHAR(10) NOT NULL,
13 PRIMARY KEY (tid)
14 ) /*!40100 DEFAULT CHARACTER SET utf8 */;");
15 break;
16 case 'pgsql':
17 db_query("CREATE TABLE {localizertranslation} (
18 tid int4 NOT NULL ,
19 object_key VARCHAR(100) NOT NULL,
20 object_name VARCHAR(700) NOT NULL,
21 object_field VARCHAR(100) NOT NULL,
22 translation VARCHAR(700) NOT NULL,
23 language VARCHAR(10) NOT NULL,
24 PRIMARY KEY (tid)
25 );");
26 db_query("CREATE SEQUENCE localizertranslation_tid_seq");
27 break;
28 }
29 db_query("UPDATE {system} SET weight = -10 WHERE name = 'localizer'");
30 }
31
32 function localizer_update_1() {
33 $items = array();
34 $items[] = update_sql("UPDATE {variable} SET name='localizer_usernodeslocales' WHERE name='localizer_usernodeslocale'");
35 $items[] = update_sql("UPDATE {variable} SET name='localizer_anonymousnodeslocales' WHERE name='localizer_anonymousnodeslocale'");
36 return $items;
37 }
38
39 function localizer_update_2() {
40 $items = array();
41 $items[] = update_sql("UPDATE {variable} SET name='localizer_usercontentlocales' WHERE name='localizer_usernodeslocales'");
42 $items[] = update_sql("UPDATE {variable} SET name='localizer_anonymouscontentlocales' WHERE name='localizer_anonymousnodeslocales'");
43 return $items;
44 }
45
46 function localizer_update_3() {
47 $items = array();
48
49 $items[] = update_sql("ALTER TABLE {localizertranslation} CHANGE tid tid INT(10) UNSIGNED NOT NULL");
50
51 $max_id = db_result(db_query("SELECT MAX(tid) FROM {localizertranslation}"));
52 if($max_id) {
53 if(db_result(db_query("SELECT COUNT(*) FROM {sequences} WHERE name='localizertranslation_tid'")) > 0) {
54 $items[] = update_sql("UPDATE {sequences} SET id=$max_id WHERE name='localizertranslation_tid'");
55 }
56 else {
57 $items[] = update_sql("INSERT INTO {sequences} (id, name) VALUES($max_id, 'localizertranslation_tid')");
58 }
59 }
60 return $items;
61 }
62
63 function localizer_update_4() {
64 $msg = t('Localizer: to complete the module activation you need now to append this line %line at the end of your settings.php file, before the closure tag.', array('%line'=>"include_once('sites/all/modules/localizer/localizer_settings.php');"));
65 drupal_set_message("<div style='background-color: #6BBA70; padding: 5px;'>" . $msg . "</div>", 'status');
66
67 $items = array();
68 $items[] = update_sql("DELETE FROM {variable} WHERE name LIKE 'localizer%'");
69 switch ($GLOBALS['db_type']) {
70 case 'mysql':
71 case 'mysqli':
72 $items[] = update_sql("ALTER TABLE {localizertranslation} CHANGE locale language VARCHAR(10)");
73 $items[] = update_sql("ALTER TABLE {localizertranslation} DROP INDEX localizertranslation_idx1");
74 $items[] = update_sql("ALTER TABLE {localizertranslation} CHANGE object_name object_name VARCHAR(700)");
75 $items[] = update_sql("ALTER TABLE {localizertranslation} CHANGE translation translation VARCHAR(700)");
76 break;
77 case 'pgsql':
78 $items[] = update_sql("ALTER TABLE {localizertranslation} RENAME COLUMN locale TO language");
79 $items[] = update_sql("ALTER TABLE {localizertranslation} RENAME COLUMN object_name TO object_name_old");
80 $items[] = update_sql("ALTER TABLE {localizertranslation} ADD COLUMN object_name VARCHAR(700)");
81 $items[] = update_sql("UPDATE {localizertranslation} SET object_name = CAST(object_name_old AS VARCHAR(700))");
82 $items[] = update_sql("ALTER TABLE {localizertranslation} ALTER COLUMN object_name SET NOT NULL");
83 $items[] = update_sql("ALTER TABLE {localizertranslation} DROP COLUMN object_name_old;");
84 $items[] = update_sql("ALTER TABLE {localizertranslation} RENAME COLUMN translation TO translation_old");
85 $items[] = update_sql("ALTER TABLE {localizertranslation} ADD COLUMN translation VARCHAR(700)");
86 $items[] = update_sql("UPDATE {localizertranslation} SET translation = CAST(translation_old AS VARCHAR(700))");
87 $items[] = update_sql("ALTER TABLE {localizertranslation} ALTER COLUMN translation SET NOT NULL");
88 $items[] = update_sql("ALTER TABLE {localizertranslation} DROP COLUMN translation_old");
89 break;
90 }
91
92 $items[] = update_sql("UPDATE {system} SET filename='modules/block/block.module' WHERE name LIKE 'block'");
93 $items[] = update_sql("UPDATE {system} SET weight = -10 WHERE name = 'localizer'");
94 return $items;
95 }
96
97 function localizer_uninstall() {
98 if(file_exists('sites/all/modules/localizer/taxonomy/taxonomy.module')) {
99 rename('sites/all/modules/localizer/taxonomy/taxonomy.module', 'sites/all/modules/localizer/taxonomy/taxonomy.module.off');
100 }
101 if(file_exists('sites/all/modules/localizer/menu/menu.module')) {
102 rename('sites/all/modules/localizer/menu/menu.module', 'sites/all/modules/localizer/menu/menu.module.off');
103 }
104
105 db_query("DROP TABLE IF EXISTS {localizertranslation}");
106 db_query("DROP TABLE IF EXISTS {localizernode}");
107 db_query("DELETE FROM {variable} WHERE name LIKE 'localizer%'");
108 db_query("DELETE FROM {system} WHERE name LIKE 'localizer%'");
109 db_query("UPDATE {system} SET filename='modules/taxonomy/taxonomy.module' WHERE name LIKE 'taxonomy'");
110 db_query("UPDATE {system} SET filename='modules/menu/menu.module' WHERE name LIKE 'menu'");
111 }
112
113 ?>

  ViewVC Help
Powered by ViewVC 1.1.2