From 6acf403081f915a5c4a83b2cf66da00bd667fad8 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Wed, 18 Mar 2009 06:37:11 -0600 Subject: [PATCH] Do some basic javascript sniffing to disable dimp if not available --- imp/js/src/login.js | 8 +++++++- imp/login.php | 8 ++++++-- imp/templates/index/index-dimp.inc | 7 ++++++- imp/templates/login/login.html | 2 +- imp/themes/screen-dimp.css | 2 +- 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/imp/js/src/login.js b/imp/js/src/login.js index 84e29128c..b86abc9d1 100644 --- a/imp/js/src/login.js +++ b/imp/js/src/login.js @@ -7,7 +7,7 @@ var ImpLogin = { // The following variables are defined in login.php: - // autologin_url, imp_auth, lang_url, show_list + // autologin_url, dimp_sel, imp_auth, lang_url, show_list _reload: function() { @@ -68,6 +68,12 @@ var ImpLogin = { } } + /* Activate dynamic view. */ + var o = $('select_view').down('option[value=dimp]').show(); + if (this.dimp_sel) { + o.writeAttribute('selected', 'selected'); + } + document.observe('change', this._changeHandler.bindAsEventListener(this)); document.observe('click', this._clickHandler.bindAsEventListener(this)); diff --git a/imp/login.php b/imp/login.php index 27fca73b0..19b7a87f4 100644 --- a/imp/login.php +++ b/imp/login.php @@ -199,9 +199,9 @@ if (!empty($conf['user']['select_view'])) { 'name' => _("Traditional") ), array( - 'sel' => $view_cookie == 'dimp', 'val' => 'dimp', - 'name' => _("Dynamic") + 'name' => _("Dynamic"), + 'hide' => true ), array( 'sel' => $view_cookie == 'mimp', @@ -209,6 +209,9 @@ if (!empty($conf['user']['select_view'])) { 'name' => _("Minimalist") ) ); + + /* Dimp selection is handled by javascript. */ + $dimp_sel = ($view_cookie == 'dimp'); } /* Mobile login page. */ @@ -336,6 +339,7 @@ IMP::addInlineScript(array( 'ImpLogin.nomenu = ' . intval(empty($conf['menu']['always'])), 'ImpLogin.reloadmenu = ' . intval($logout_reason && $imp_auth && $conf['menu']['always']), 'ImpLogin.show_list = ' . intval($show_list), + 'ImpLogin.dimp_sel = ' . intval($dimp_sel), )); echo $t->fetch(IMP_TEMPLATES . '/login/login.html'); diff --git a/imp/templates/index/index-dimp.inc b/imp/templates/index/index-dimp.inc index 0498ba489..f4e432f65 100644 --- a/imp/templates/index/index-dimp.inc +++ b/imp/templates/index/index-dimp.inc @@ -43,7 +43,12 @@ function _simpleButton($id, $text, $image, $imagedir = null) . Horde::highlightAccessKey($text, $ak) . ''; } ?> -
+
+ + +