Fix compatibility with assets_path setting

pull/242/merge
Aleksander Machniak 10 years ago
parent 343dc97ba1
commit 217a1fce53

@ -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();

Loading…
Cancel
Save