? add_timezone_defaul_value.patch
Index: modules/system/system.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.install,v
retrieving revision 1.69
diff -u -p -r1.69 system.install
--- modules/system/system.install	10 Jan 2007 23:22:34 -0000	1.69
+++ modules/system/system.install	15 Jan 2007 17:27:58 -0000
@@ -544,7 +544,7 @@ function system_install() {
         access int NOT NULL default '0',
         login int NOT NULL default '0',
         status tinyint NOT NULL default '0',
-        timezone varchar(8) default NULL,
+        timezone varchar(8) default '0',
         language varchar(12) NOT NULL default '',
         picture varchar(255) NOT NULL DEFAULT '',
         init varchar(64) default '',
@@ -1010,7 +1010,7 @@ function system_install() {
         access int NOT NULL default '0',
         login int NOT NULL default '0',
         status smallint NOT NULL default '0',
-        timezone varchar(8) default NULL,
+        timezone varchar(8) default '0',
         language varchar(12) NOT NULL default '',
         picture varchar(255) NOT NULL DEFAULT '',
         init varchar(64) default '',
@@ -3505,6 +3505,23 @@ function system_update_1021() {
 }
 
 /**
+ * Apply a default timezone when the user did not edit his account.
+ */
+function system_update_1022() {
+  $ret = array();
+  switch ($GLOBALS['db_type']) {
+    case 'mysql':
+    case 'mysqli':
+      $ret[] = update_sql("ALTER TABLE {users} CHANGE timezone timezone varchar(8) NOT NULL DEFAULT '0'");
+      break;
+    case 'pgsql':
+      db_change_column($ret, 'users', 'timezone', 'timezone', 'varchar(8)',  array('not null' => TRUE, 'default' => "'0'"));
+      break;
+  }
+  return $ret;
+}
+
+/**
  * @} End of "defgroup updates-4.7-to-5.0"
  */
 
