From: Michael M Slusarz Date: Tue, 9 Feb 2010 05:17:06 +0000 (-0700) Subject: Remove IE 6 support for DIMP X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=b65ff3c0b7031ace2b520857c3c8e9aaad266305;p=horde.git Remove IE 6 support for DIMP --- diff --git a/imp/docs/CHANGES b/imp/docs/CHANGES index 38d6fd7b5..ab49f803d 100644 --- a/imp/docs/CHANGES +++ b/imp/docs/CHANGES @@ -2,6 +2,7 @@ v5.0-git -------- +[mms] Remove IE 6 support for DIMP. [mms] Add chance to switch between forward options on compose page when using auto-forward (DIMP). [mms] Add chance to switch reply type to single recipient on compose page when diff --git a/imp/js/DimpBase.js b/imp/js/DimpBase.js index 86cd8ca08..21a8d5a31 100644 --- a/imp/js/DimpBase.js +++ b/imp/js/DimpBase.js @@ -286,7 +286,6 @@ var DimpBase = { } iframe = new Element('IFRAME', { id: 'iframe' + (name === null ? loc : name), className: 'iframe', frameBorder: 0, src: loc }).setStyle({ height: document.viewport.getHeight() + 'px' }); - this._resizeIE6Iframe(iframe); container.insert(iframe); }, @@ -2297,9 +2296,6 @@ var DimpBase = { callback(); } - var nf = $('normalfolders'), - nfheight = nf.getStyle('max-height'); - if (this.folder) { this.highlightSidebar(this.getFolderId(this.folder)); } @@ -2307,13 +2303,7 @@ var DimpBase = { $('foldersLoading').hide(); $('foldersSidebar').show(); - // Fix for IE6 - which doesn't support max-height. We need to search - // for height: 0px instead (comment in IE 6 CSS explains this is - // needed for auto sizing). - if (nfheight !== null || - (Prototype.Browser.IE && - Object.isUndefined(nfheight) && - (nf.getStyle('height') == '0px'))) { + if ($('normalfolders').getStyle('max-height') !== null) { this._sizeFolderlist(); } @@ -2985,8 +2975,6 @@ var DimpBase = { this._toggleHeaders($('th_expand')); } - this._resizeIE6(); - /* Remove unavailable menu items. */ if (!$('GrowlerLog')) { $('alertsloglink').remove(); @@ -2994,47 +2982,6 @@ var DimpBase = { /* Check for new mail. */ this.setPoll(); - - if (DimpCore.is_ie6) { - /* Disable text selection in preview pane for IE 6. */ - document.observe('selectstart', Event.stop); - - /* Since IE 6 doesn't support hover over non-links, use javascript - * events to replicate mouseover CSS behavior. */ - $('dimpbarActions', 'serviceActions', 'applicationfolders', 'specialfolders', 'normalfolders').compact().invoke('select', 'LI').flatten().compact().each(function(e) { - e.observe('mouseover', e.addClassName.curry('over')).observe('mouseout', e.removeClassName.curry('over')); - }); - - /* These are links, but they have no href attribute. Hovering - * requires something in href on IE6. */ - $$('.context A').each(function(e) { - e.writeAttribute('href', ''); - }); - } - }, - - // IE 6 width fixes (See Bug #6793) - _resizeIE6: function() - { - if (DimpCore.is_ie6) { - var tmp = parseInt($('sidebar').getStyle('width'), 10), - tmp1 = document.viewport.getWidth() - tmp - 30; - $('normalfolders').setStyle({ width: tmp + 'px' }); - $('dimpmain').setStyle({ width: tmp1 + 'px' }); - $('msglist').setStyle({ width: (tmp1 - 5) + 'px' }); - $('messageBody').setStyle({ width: (tmp1 - 25) + 'px' }); - tmp = $('dimpmain_portal').down('IFRAME'); - if (tmp) { - this._resizeIE6Iframe(tmp); - } - } - }, - - _resizeIE6Iframe: function(iframe) - { - if (DimpCore.is_ie6) { - iframe.setStyle({ width: $('dimpmain').getStyle('width'), height: (document.viewport.getHeight() - 20) + 'px' }); - } }, /* Resize function. */ @@ -3051,9 +2998,6 @@ var DimpBase = { { this._sizeFolderlist(); this.splitbar.setStyle({ height: document.viewport.getHeight() + 'px' }); - if (DimpCore.is_ie6) { - this._resizeIE6(); - } }, /* Extend AJAX exception handling. */ diff --git a/imp/js/DimpCore.js b/imp/js/DimpCore.js index 3fca23383..c6c5be02d 100644 --- a/imp/js/DimpCore.js +++ b/imp/js/DimpCore.js @@ -13,7 +13,6 @@ var DimpCore = { // DMenu, Growler, inAjaxCallback, is_init, is_logout // onDoActionComplete growler_log: true, - is_ie6: Prototype.Browser.IE && !window.XMLHttpRequest, server_error: 0, doActionOpts: { diff --git a/imp/lib/Auth.php b/imp/lib/Auth.php index abea7c61a..b6f4fe999 100644 --- a/imp/lib/Auth.php +++ b/imp/lib/Auth.php @@ -459,6 +459,14 @@ class IMP_Auth ? (empty($conf['user']['force_view']) ? 'imp' : $conf['user']['force_view']) : (empty($sess['cache']['select_view']) ? 'imp' : $sess['cache']['select_view']); + /* Enforce minimum browser standards for DIMP. */ + if (($sess['view'] == 'dimp') && + $GLOBALS['browser']->isBrowser('msie') && + ($GLOBALS['browser']->getMajor() < 7)) { + $sess['view'] = 'imp'; + $GLOBALS['notification']->push(_("Dynamic mode requires Internet Explorer 7+. Using traditional mode instead."), 'horde.error'); + } + setcookie('default_imp_view', $sess['view'], time() + 30 * 86400, $conf['cookie']['path'], $conf['cookie']['domain']); diff --git a/imp/themes/ie6_or_less-dimp.css b/imp/themes/ie6_or_less-dimp.css deleted file mode 100644 index c1d062390..000000000 --- a/imp/themes/ie6_or_less-dimp.css +++ /dev/null @@ -1,60 +0,0 @@ -/** - * CSS corrections for IE 6 and below. - */ - -#pageContainer { - height: auto; -} - -#sidebar .sepfull, .splitBar, .context div.sep { - overflow: hidden; -} - -#sidebar li { - width: 100%; -} - -#normalfolders { - /* IE 6 does not support max-height. To auto-size folder list display, set - * height to 0px. */ - height: 0px; - overflow: auto; -} - -.context { - width: 180px; -} - -#to, #cc, #bcc { - overflow: auto; -} - -.block-monthgrid table { - border-width: 2px; -} - -#msglistHeader { - height: 16px; -} -#msglistHeader div { - margin-right: -1px; -} -#msglistHeader div.msgStatus { - margin-right: 0; -} - -.dimpOptions span.iconImg { - margin-right: 4px; -} - -/* IE 6 doesn't support DOM.class1.class2 - treats this as DOM.class2. So - * flag icons will appear as background for row. This works around this. */ -div.vpRow { - background: none; -} - -/* Fixes broken inline-block. */ -div.msgStatus div, #msgHeadersContent .subject span, span.iconImg, span.contextImg, span.spellcheckPopdownImg, span.popdownImg, #qsearch_icon, #qsearch_close, #upload_wait, #noticerow .notices li { - zoom: 1; - *display: inline; -}