summaryrefslogtreecommitdiff
path: root/plugins/newmail_notifier
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/newmail_notifier')
-rw-r--r--plugins/newmail_notifier/composer.json2
-rw-r--r--plugins/newmail_notifier/newmail_notifier.js19
-rw-r--r--plugins/newmail_notifier/package.xml70
3 files changed, 12 insertions, 79 deletions
diff --git a/plugins/newmail_notifier/composer.json b/plugins/newmail_notifier/composer.json
index 2ca5db709..1bca39c1f 100644
--- a/plugins/newmail_notifier/composer.json
+++ b/plugins/newmail_notifier/composer.json
@@ -2,7 +2,7 @@
"name": "roundcube/newmail_notifier",
"type": "roundcube-plugin",
"description": "Supports three methods of notification: 1. Basic - focus browser window and change favicon 2. Sound - play wav file 3. Desktop - display desktop notification (using webkitNotifications feature, supported by Chrome and Firefox with 'HTML5 Notifications' plugin).",
- "license": "GNU GPLv3+",
+ "license": "GPLv3+",
"version": "0.7",
"authors": [
{
diff --git a/plugins/newmail_notifier/newmail_notifier.js b/plugins/newmail_notifier/newmail_notifier.js
index 518be8ad4..79911f26e 100644
--- a/plugins/newmail_notifier/newmail_notifier.js
+++ b/plugins/newmail_notifier/newmail_notifier.js
@@ -58,12 +58,13 @@ function newmail_notifier_stop(prop)
// Basic notification: window.focus and favicon change
function newmail_notifier_basic()
{
- var w = rcmail.is_framed() ? window.parent : window;
+ var w = rcmail.is_framed() ? window.parent : window,
+ path = rcmail.assets_path('plugins/newmail_notifier');
w.focus();
// we cannot simply change a href attribute, we must to replace the link element (at least in FF)
- var link = $('<link rel="shortcut icon" href="plugins/newmail_notifier/favicon.ico"/>'),
+ var link = $('<link rel="shortcut icon">').attr('href', path + '/favicon.ico'),
oldlink = $('link[rel="shortcut icon"]', w.document);
if (!rcmail.env.favicon_href)
@@ -75,7 +76,7 @@ function newmail_notifier_basic()
// Add IE icon overlay if we're pinned to Taskbar
try {
if (window.external.msIsSiteMode()) {
- window.external.msSiteModeSetIconOverlay('plugins/newmail_notifier/overlay.ico', rcmail.gettext('title', 'newmail_notifier'));
+ window.external.msSiteModeSetIconOverlay(path + '/overlay.ico', rcmail.gettext('title', 'newmail_notifier'));
}
} catch(e) {}
}
@@ -83,7 +84,7 @@ function newmail_notifier_basic()
// Sound notification
function newmail_notifier_sound()
{
- var elem, src = 'plugins/newmail_notifier/sound',
+ var elem, src = rcmail.assets_path('plugins/newmail_notifier/sound'),
plugin = navigator.mimeTypes ? navigator.mimeTypes['audio/mp3'] : {};
// Internet Explorer does not support wav files,
@@ -93,7 +94,7 @@ function newmail_notifier_sound()
// HTML5
try {
- elem = $('<audio src="' + src + '" />');
+ elem = $('<audio>').attr('src', src);
elem.get(0).play();
}
// old method
@@ -108,7 +109,9 @@ function newmail_notifier_sound()
// - Require Chrome or Firefox latest version (22+) / 21.0 or older with a plugin
function newmail_notifier_desktop(body)
{
- var timeout = rcmail.env.newmail_notifier_timeout || 10;
+ var timeout = rcmail.env.newmail_notifier_timeout || 10,
+ icon = rcmail.assets_path('plugins/newmail_notifier/mail.png');
+
// As of 17 June 2013, Chrome/Chromium does not implement Notification.permission correctly that
// it gives 'undefined' until an object has been created:
@@ -120,7 +123,7 @@ function newmail_notifier_desktop(body)
lang: "",
body: body,
tag: "newmail_notifier",
- icon: "plugins/newmail_notifier/mail.png"
+ icon: icon
});
popup.onclick = function() {
this.close();
@@ -135,7 +138,7 @@ function newmail_notifier_desktop(body)
if (dn && !dn.checkPermission()) {
if (rcmail.newmail_popup)
rcmail.newmail_popup.cancel();
- var popup = window.webkitNotifications.createNotification('plugins/newmail_notifier/mail.png',
+ var popup = window.webkitNotifications.createNotification(icon,
rcmail.gettext('title', 'newmail_notifier'), body);
popup.onclick = function() {
this.cancel();
diff --git a/plugins/newmail_notifier/package.xml b/plugins/newmail_notifier/package.xml
deleted file mode 100644
index 3d7277bb4..000000000
--- a/plugins/newmail_notifier/package.xml
+++ /dev/null
@@ -1,70 +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>newmail_notifier</name>
- <channel>pear.roundcube.net</channel>
- <summary>Displays notification about a new mail</summary>
- <description>
- Supports three methods of notification:
- 1. Basic - focus browser window and change favicon
- 2. Sound - play wav file
- 3. Desktop - display desktop notification (using webkitNotifications feature,
- supported by Chrome and Firefox with 'HTML5 Notifications' plugin).
- </description>
- <lead>
- <name>Aleksander Machniak</name>
- <user>alec</user>
- <email>alec@alec.pl</email>
- <active>yes</active>
- </lead>
- <date>2013-10-04</date>
- <version>
- <release>0.7</release>
- <api>0.5</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="newmail_notifier.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="newmail_notifier.js" role="data">
- <tasks:replace from="@name@" to="name" type="package-info"/>
- <tasks:replace from="@package_version@" to="version" type="package-info"/>
- </file>
- <file name="config.inc.php.dist" role="data"></file>
- <file name="favicon.ico" role="data"></file>
- <file name="mail.png" role="data"></file>
- <file name="sound.wav" role="data"></file>
- <file name="localization/de_CH.inc" role="data"></file>
- <file name="localization/de_DE.inc" role="data"></file>
- <file name="localization/en_US.inc" role="data"></file>
- <file name="localization/ja_JP.inc" role="data"></file>
- <file name="localization/lv_LV.inc" role="data"></file>
- <file name="localization/pl_PL.inc" role="data"></file>
- <file name="localization/pt_BR.inc" role="data"></file>
- <file name="localization/ru_RU.inc" role="data"></file>
- <file name="localization/sv_SE.inc" 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>