From 2e79d8d539ebc1830553a49a8080d0356c9d9531 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Tue, 15 Apr 2014 19:11:00 +0200 Subject: [PATCH] Move more IE<9 specific code to legacy_browser --- plugins/legacy_browser/js/iehacks.js | 20 ++++++++++++++++++++ plugins/legacy_browser/legacy_browser.php | 19 +++++-------------- program/js/common.js | 14 -------------- 3 files changed, 25 insertions(+), 28 deletions(-) create mode 100644 plugins/legacy_browser/js/iehacks.js diff --git a/plugins/legacy_browser/js/iehacks.js b/plugins/legacy_browser/js/iehacks.js new file mode 100644 index 000000000..129ad6003 --- /dev/null +++ b/plugins/legacy_browser/js/iehacks.js @@ -0,0 +1,20 @@ + +// Make getElementById() case-sensitive on IE7 +document._getElementById = document.getElementById; +document.getElementById = function(id) { + var i = 0, obj = document._getElementById(id); + + if (obj && obj.id != id) + while ((obj = document.all[i]) && obj.id != id) + i++; + + return obj; +} + +// fix missing :last-child selectors +$(document).ready(function() { + if (rcmail && rcmail.env.skin != 'classic') + $('ul.treelist ul').each(function(i, ul) { + $('li:last-child', ul).css('border-bottom', 0); + }); +}); diff --git a/plugins/legacy_browser/legacy_browser.php b/plugins/legacy_browser/legacy_browser.php index c910d76d4..bdf831e73 100644 --- a/plugins/legacy_browser/legacy_browser.php +++ b/plugins/legacy_browser/legacy_browser.php @@ -23,10 +23,12 @@ class legacy_browser extends rcube_plugin function send_page($args) { // replace jQuery 2.x with 1.x - $ts = filemtime($this->home . '/js/jquery.min.js'); + $ts1 = filemtime($this->home . '/js/jquery.min.js'); + $ts2 = filemtime($this->home . '/js/iehacks.js'); $args['content'] = preg_replace( - '|"program/js/jquery\.min\.js\?s=[0-9]+"|', - '"plugins/legacy_browser/js/jquery.min.js?s=' . $ts . '"', + '||', + ''."\n" + .'', $args['content'], 1); return $args; @@ -53,17 +55,6 @@ class legacy_browser extends rcube_plugin '' ); } - - // fix missing :last-child selectors - $rcube->output->add_footer(implode("\n", array( - '' - ))); } } diff --git a/program/js/common.js b/program/js/common.js index ed9488b2c..3f82b6df8 100644 --- a/program/js/common.js +++ b/program/js/common.js @@ -596,20 +596,6 @@ if (!String.prototype.startsWith) { }; } -// Make getElementById() case-sensitive on IE -if (bw.ie) { - document._getElementById = document.getElementById; - document.getElementById = function(id) { - var i = 0, obj = document._getElementById(id); - - if (obj && obj.id != id) - while ((obj = document.all[i]) && obj.id != id) - i++; - - return obj; - } -} - // jQuery plugin to emulate HTML5 placeholder attributes on input elements jQuery.fn.placeholder = function(text) { return this.each(function() {