From c8ae2497b7e4c7393210ed186acd672a0040389f Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Wed, 03 Sep 2008 12:03:19 -0400
Subject: [PATCH] Auto-detect client language and timezone if desired by config/prefs

---
 program/steps/settings/func.inc |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc
index 5b6e113..ef3c24d 100644
--- a/program/steps/settings/func.inc
+++ b/program/steps/settings/func.inc
@@ -49,14 +49,15 @@
     $select_lang->add(array_values($a_lang), array_keys($a_lang));
   
     $table->add('title', html::label($field_id, Q(rcube_label('language'))));
-    $table->add(null, $select_lang->show($_SESSION['language']));
+    $table->add(null, $select_lang->show($config['language']));
   }
 
 
   // show page size selection
   if (!isset($no_override['timezone'])) {
     $field_id = 'rcmfd_timezone';
-    $select_timezone = new html_select(array('name' => '_timezone', 'id' => $field_id));
+    $select_timezone = new html_select(array('name' => '_timezone', 'id' => $field_id, 'onchange' => "document.getElementById('rcmfd_dst').disabled=this.selectedIndex==0"));
+    $select_timezone->add(rcube_label('autodetect'), 'auto');
     $select_timezone->add('(GMT -11:00) Midway Island, Samoa', '-11');
     $select_timezone->add('(GMT -10:00) Hawaii', '-10');
     $select_timezone->add('(GMT -9:30) Marquesas Islands', '-9.5');
@@ -104,7 +105,7 @@
   // daylight savings
   if (!isset($no_override['dst_active'])) {
     $field_id = 'rcmfd_dst';
-    $input_dst = new html_checkbox(array('name' => '_dst_active', 'id' => $field_id, 'value' => 1));
+    $input_dst = new html_checkbox(array('name' => '_dst_active', 'id' => $field_id, 'value' => 1, 'disabled' => ($config['timezone'] == 'auto')));
     
     $table->add('title', html::label($field_id, Q(rcube_label('dstactive'))));
     $table->add(null, $input_dst->show($config['dst_active']));

--
Gitblit v1.9.1