summaryrefslogtreecommitdiff
path: root/plugins/legacy_browser
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/legacy_browser')
-rw-r--r--plugins/legacy_browser/composer.json24
-rw-r--r--plugins/legacy_browser/js/iehacks.js2
-rw-r--r--plugins/legacy_browser/legacy_browser.php22
-rw-r--r--plugins/legacy_browser/package.xml54
4 files changed, 42 insertions, 60 deletions
diff --git a/plugins/legacy_browser/composer.json b/plugins/legacy_browser/composer.json
new file mode 100644
index 000000000..edcfdbafe
--- /dev/null
+++ b/plugins/legacy_browser/composer.json
@@ -0,0 +1,24 @@
+{
+ "name": "roundcube/legacy_browser",
+ "type": "roundcube-plugin",
+ "description": "Legacy browser (IE 7/8, Firefox < 4) support",
+ "license": "GPLv3+",
+ "version": "1.0",
+ "authors": [
+ {
+ "name": "Aleksander Machniak",
+ "email": "alec@alec.pl",
+ "role": "Lead"
+ }
+ ],
+ "repositories": [
+ {
+ "type": "composer",
+ "url": "http://plugins.roundcube.net"
+ }
+ ],
+ "require": {
+ "php": ">=5.3.0",
+ "roundcube/plugin-installer": ">=0.1.3"
+ }
+}
diff --git a/plugins/legacy_browser/js/iehacks.js b/plugins/legacy_browser/js/iehacks.js
index 8f88e6f57..105b7dabc 100644
--- a/plugins/legacy_browser/js/iehacks.js
+++ b/plugins/legacy_browser/js/iehacks.js
@@ -102,7 +102,7 @@ rcube_webmail.prototype.get_input_selection = function(obj)
rcube_webmail.prototype.async_upload_form_frame = function(name)
{
document.body.insertAdjacentHTML('BeforeEnd', '<iframe name="' + name + '"'
- + ' src="program/resources/blank.gif" style="width:0; height:0; visibility:hidden"></iframe>');
+ + ' src="' + rcmail.assets_path('program/resources/blank.gif') + '" style="width:0; height:0; visibility:hidden"></iframe>');
return $('iframe[name="' + name + '"]');
};
diff --git a/plugins/legacy_browser/legacy_browser.php b/plugins/legacy_browser/legacy_browser.php
index a26167710..346a0ed8e 100644
--- a/plugins/legacy_browser/legacy_browser.php
+++ b/plugins/legacy_browser/legacy_browser.php
@@ -28,14 +28,26 @@ class legacy_browser extends rcube_plugin
function send_page($args)
{
+ $p1 = $this->rc->output->asset_url('program/js');
+ $p2 = $this->rc->output->asset_url('plugins/legacy_browser/js');
+
+ $assets_dir = $this->rc->config->get('assets_dir');
+
$ts1 = filemtime($this->home . '/js/jquery.min.js');
$ts2 = filemtime($this->home . '/js/iehacks.js');
+ if (!$ts1 && $assets_dir) {
+ $ts1 = filemtime($assets_dir . '/plugins/legacy_browser/js/jquery.min.js');
+ }
+ if (!$ts2 && $assets_dir) {
+ $ts2 = filemtime($assets_dir . '/plugins/legacy_browser/js/iehacks.js');
+ }
+
// put iehacks.js after app.js
if ($this->rc->output->browser->ie) {
$args['content'] = preg_replace(
- '|(<script src="program/js/app(\.min)?\.js\?s=[0-9]+" type="text/javascript"></script>)|',
- '\\1<script src="plugins/legacy_browser/js/iehacks.js?s=' . $ts2 . '" type="text/javascript"></script>',
+ '|(<script src="' . preg_quote($p1, '|') . '/app(\.min)?\.js(\?s=[0-9]+)?" type="text/javascript"></script>)|',
+ '\\1<script src="' . $p2 . '/iehacks.js?s=' . $ts2 . '" type="text/javascript"></script>',
$args['content'], 1, $count);
}
else {
@@ -44,10 +56,10 @@ class legacy_browser extends rcube_plugin
// replace jQuery 2.x with 1.x
$args['content'] = preg_replace(
- '|<script src="program/js/jquery\.min\.js\?s=[0-9]+" type="text/javascript"></script>|',
- '<script src="plugins/legacy_browser/js/jquery.min.js?s=' . $ts1 . '" type="text/javascript"></script>'
+ '|<script src="' . preg_quote($p1, '|') . '/jquery\.min\.js(\?s=[0-9]+)?" type="text/javascript"></script>|',
+ '<script src="' . $p2 . '/jquery.min.js?s=' . $ts1 . '" type="text/javascript"></script>'
// add iehacks.js if it is IE and it wasn't added yet
- . ($count ? '' : "\n".'<script src="plugins/legacy_browser/js/iehacks.js?s=' . $ts2 . '" type="text/javascript"></script>'),
+ . ($count ? '' : "\n".'<script src="' . $p2 . '/iehacks.js?s=' . $ts2 . '" type="text/javascript"></script>'),
$args['content'], 1);
return $args;
diff --git a/plugins/legacy_browser/package.xml b/plugins/legacy_browser/package.xml
deleted file mode 100644
index 06e5fa2ba..000000000
--- a/plugins/legacy_browser/package.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<package xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" packagerversion="1.9.0" version="2.0" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0
- http://pear.php.net/dtd/tasks-1.0.xsd
- http://pear.php.net/dtd/package-2.0
- http://pear.php.net/dtd/package-2.0.xsd">
- <name>legacy_browser</name>
- <channel>pear.roundcube.net</channel>
- <summary>Legacy browser (IE 7/8, Firefox &lt; 4) support</summary>
- <description>This adds support for legacy browsers (IE 7/8, Firefox &lt; 4).</description>
- <lead>
- <name>Aleksander Machniak</name>
- <user>alec</user>
- <email>alec@alec.pl</email>
- <active>yes</active>
- </lead>
- <date>2014-06-19</date>
- <version>
- <release>1.1</release>
- <api>1.0</api>
- </version>
- <stability>
- <release>stable</release>
- <api>stable</api>
- </stability>
- <license uri="http://www.gnu.org/licenses/gpl.html">GNU GPLv3+</license>
- <notes>-</notes>
- <contents>
- <dir baseinstalldir="/" name="/">
- <file name="legacy_browser.php" role="php">
- <tasks:replace from="@name@" to="name" type="package-info"/>
- <tasks:replace from="@package_version@" to="version" type="package-info"/>
- </file>
- <file name="js/jquery.min.js" role="data"></file>
- <file name="skins/classic/iehacks.css" role="data"></file>
- <file name="skins/classic/images/abook_toolbar.gif" role="data"></file>
- <file name="skins/classic/images/mail_toolbar.gif" role="data"></file>
- <file name="skins/larry/ie7hacks.css" role="data"></file>
- <file name="skins/larry/iehacks.css" role="data"></file>
- <file name="skins/larry/images/buttons.gif" role="data"></file>
- </dir>
- <!-- / -->
- </contents>
- <dependencies>
- <required>
- <php>
- <min>5.2.1</min>
- </php>
- <pearinstaller>
- <min>1.7.0</min>
- </pearinstaller>
- </required>
- </dependencies>
- <phprelease/>
-</package>