From 48e9c14ebded89d858c8be0333f77f77a81b0877 Mon Sep 17 00:00:00 2001 From: thomascube Date: Sat, 31 Mar 2012 12:25:48 +0000 Subject: Move plugins repository into roundcubemail root folder; svn:externals are not defined anymore --- plugins/newmail_notifier/config.inc.php.dist | 12 ++ plugins/newmail_notifier/favicon.ico | Bin 0 -> 1734 bytes plugins/newmail_notifier/localization/de_CH.inc | 27 ++++ plugins/newmail_notifier/localization/de_DE.inc | 27 ++++ plugins/newmail_notifier/localization/en_US.inc | 13 ++ plugins/newmail_notifier/localization/ja_JP.inc | 27 ++++ plugins/newmail_notifier/localization/lv_LV.inc | 27 ++++ plugins/newmail_notifier/localization/pl_PL.inc | 27 ++++ plugins/newmail_notifier/localization/pt_BR.inc | 27 ++++ plugins/newmail_notifier/localization/ru_RU.inc | 27 ++++ plugins/newmail_notifier/localization/sv_SE.inc | 27 ++++ plugins/newmail_notifier/mail.png | Bin 0 -> 1408 bytes plugins/newmail_notifier/newmail_notifier.js | 120 ++++++++++++++++ plugins/newmail_notifier/newmail_notifier.php | 178 ++++++++++++++++++++++++ plugins/newmail_notifier/package.xml | 70 ++++++++++ plugins/newmail_notifier/sound.wav | Bin 0 -> 10444 bytes 16 files changed, 609 insertions(+) create mode 100644 plugins/newmail_notifier/config.inc.php.dist create mode 100644 plugins/newmail_notifier/favicon.ico create mode 100644 plugins/newmail_notifier/localization/de_CH.inc create mode 100644 plugins/newmail_notifier/localization/de_DE.inc create mode 100644 plugins/newmail_notifier/localization/en_US.inc create mode 100644 plugins/newmail_notifier/localization/ja_JP.inc create mode 100644 plugins/newmail_notifier/localization/lv_LV.inc create mode 100644 plugins/newmail_notifier/localization/pl_PL.inc create mode 100644 plugins/newmail_notifier/localization/pt_BR.inc create mode 100644 plugins/newmail_notifier/localization/ru_RU.inc create mode 100644 plugins/newmail_notifier/localization/sv_SE.inc create mode 100644 plugins/newmail_notifier/mail.png create mode 100644 plugins/newmail_notifier/newmail_notifier.js create mode 100644 plugins/newmail_notifier/newmail_notifier.php create mode 100644 plugins/newmail_notifier/package.xml create mode 100644 plugins/newmail_notifier/sound.wav (limited to 'plugins/newmail_notifier') diff --git a/plugins/newmail_notifier/config.inc.php.dist b/plugins/newmail_notifier/config.inc.php.dist new file mode 100644 index 000000000..067fe19f1 --- /dev/null +++ b/plugins/newmail_notifier/config.inc.php.dist @@ -0,0 +1,12 @@ + diff --git a/plugins/newmail_notifier/favicon.ico b/plugins/newmail_notifier/favicon.ico new file mode 100644 index 000000000..86e10c1c7 Binary files /dev/null and b/plugins/newmail_notifier/favicon.ico differ diff --git a/plugins/newmail_notifier/localization/de_CH.inc b/plugins/newmail_notifier/localization/de_CH.inc new file mode 100644 index 000000000..4ce6134d1 --- /dev/null +++ b/plugins/newmail_notifier/localization/de_CH.inc @@ -0,0 +1,27 @@ + | + +-----------------------------------------------------------------------+ + @version $Id$ +*/ + +$labels = array(); +$labels['basic'] = 'Anzeige im Browser bei neuer Nachricht'; +$labels['desktop'] = 'Desktop-Benachrichtigung bei neuer Nachricht'; +$labels['sound'] = 'Akustische Meldung bei neuer Nachricht'; +$labels['test'] = 'Test'; +$labels['title'] = 'Neue E-Mail!'; +$labels['body'] = 'Sie haben eine neue Nachricht'; +$labels['testbody'] = 'Dies ist eine Testbenachrichtigung'; +$labels['desktopdisabled'] = 'Desktop-Benachrichtigungen sind deaktiviert.'; +$labels['desktopunsupported'] = 'Ihr Browser unterstützt keine Desktop-Benachrichtigungen.'; + diff --git a/plugins/newmail_notifier/localization/de_DE.inc b/plugins/newmail_notifier/localization/de_DE.inc new file mode 100644 index 000000000..f49eb4929 --- /dev/null +++ b/plugins/newmail_notifier/localization/de_DE.inc @@ -0,0 +1,27 @@ + | + +-----------------------------------------------------------------------+ + @version $Id$ +*/ + +$labels = array(); +$labels['basic'] = 'Benachrichtigung im Browser bei neuer Nachricht'; +$labels['desktop'] = 'Desktop-Benachrichtigung bei neuer Nachricht'; +$labels['sound'] = 'Akustische Meldung bei neuer Nachricht'; +$labels['test'] = 'Test'; +$labels['title'] = 'Neue E-Mail!'; +$labels['body'] = 'Sie haben eine neue Nachricht'; +$labels['testbody'] = 'Dies ist eine Testbenachrichtigung'; +$labels['desktopdisabled'] = 'Desktop-Benachrichtigungen sind deaktiviert.'; +$labels['desktopunsupported'] = 'Ihr Browser unterstützt keine Desktop-Benachrichtigungen.'; + diff --git a/plugins/newmail_notifier/localization/en_US.inc b/plugins/newmail_notifier/localization/en_US.inc new file mode 100644 index 000000000..3017c43dc --- /dev/null +++ b/plugins/newmail_notifier/localization/en_US.inc @@ -0,0 +1,13 @@ + diff --git a/plugins/newmail_notifier/localization/ja_JP.inc b/plugins/newmail_notifier/localization/ja_JP.inc new file mode 100644 index 000000000..f01fd7591 --- /dev/null +++ b/plugins/newmail_notifier/localization/ja_JP.inc @@ -0,0 +1,27 @@ + | + +-----------------------------------------------------------------------+ + @version $Id$ +*/ + +$labels = array(); +$labels['basic'] = '新しいメッセージの通知をブラウザーに表示する'; +$labels['desktop'] = '新しいメッセージの通知をデスクトップに表示する'; +$labels['sound'] = '新しいメッセージが届くと音を再生する'; +$labels['test'] = 'テスト'; +$labels['title'] = '新しいメールです!'; +$labels['body'] = '新しいメッセージを受信しました。'; +$labels['testbody'] = 'これはテスト通知です。'; +$labels['desktopdisabled'] = 'ブラウザーでデスクトップ通知が無効になっています。'; +$labels['desktopunsupported'] = 'ブラウザーがデスクトップ通知をサポートしていません。'; + diff --git a/plugins/newmail_notifier/localization/lv_LV.inc b/plugins/newmail_notifier/localization/lv_LV.inc new file mode 100644 index 000000000..0459d723b --- /dev/null +++ b/plugins/newmail_notifier/localization/lv_LV.inc @@ -0,0 +1,27 @@ + | + +-----------------------------------------------------------------------+ + @version $Id$ +*/ + +$labels = array(); +$labels['basic'] = 'Attēlot paziņojumu pie jaunas vēstules saņemšanas'; +$labels['desktop'] = 'Attēlot darbvirsmas paziņojumu pie jaunas vēstules saņemšanas'; +$labels['sound'] = 'Atskaņot skaņas signālu pie jaunas vēstules saņemšanas'; +$labels['test'] = 'Test'; +$labels['title'] = 'Jauns E-pasts!'; +$labels['body'] = 'Jūs esat saņēmis jaunu e-pastu.'; +$labels['testbody'] = 'Šis ir testa paziņojums.'; +$labels['desktopdisabled'] = 'Darbvirsmas paziņojumi ir atslēgti Jūsu pārlūkprogrammā.'; +$labels['desktopunsupported'] = 'Jūsu pārlūkprogramma neatbalsta darbvirsmas paziņojumus.'; + diff --git a/plugins/newmail_notifier/localization/pl_PL.inc b/plugins/newmail_notifier/localization/pl_PL.inc new file mode 100644 index 000000000..711dcc550 --- /dev/null +++ b/plugins/newmail_notifier/localization/pl_PL.inc @@ -0,0 +1,27 @@ + | + +-----------------------------------------------------------------------+ + @version $Id$ +*/ + +$labels = array(); +$labels['basic'] = 'Wyświetlaj powiadomienia o nadejściu nowej wiadomości w przeglądarce'; +$labels['desktop'] = 'Wyświetlaj powiadomienia o nadejściu nowej wiadomości na pulpicie'; +$labels['sound'] = 'Odtwarzaj dźwięk o nadejściu nowej wiadomości'; +$labels['test'] = 'Testuj powiadomienie'; +$labels['title'] = 'Nowa wiadomość!'; +$labels['body'] = 'Nadeszła nowa wiadomość.'; +$labels['testbody'] = 'To jest testowe powiadomienie.'; +$labels['desktopdisabled'] = 'Powiadomienia na pulpicie zostały zablokowane w twojej przeglądarce.'; +$labels['desktopunsupported'] = 'Twoja przeglądarka nie obsługuje powiadomień na pulpicie.'; + diff --git a/plugins/newmail_notifier/localization/pt_BR.inc b/plugins/newmail_notifier/localization/pt_BR.inc new file mode 100644 index 000000000..600a3ff1a --- /dev/null +++ b/plugins/newmail_notifier/localization/pt_BR.inc @@ -0,0 +1,27 @@ + | + +-----------------------------------------------------------------------+ + @version $Id$ +*/ + +$labels = array(); +$labels['basic'] = 'Exibir notificação quando uma nova mensagem chegar'; +$labels['desktop'] = 'Exibir notificação no desktop quando uma nova mensagem chegar'; +$labels['sound'] = 'Alerta sonoro quando uma nova mensagem chegar'; +$labels['test'] = 'Testar'; +$labels['title'] = 'Novo Email!'; +$labels['body'] = 'Você recebeu uma nova mensagem.'; +$labels['testbody'] = 'Essa é uma notificação de teste.'; +$labels['desktopdisabled'] = 'As notificações no desktop estão desabilitadas no seu navegador.'; +$labels['desktopunsupported'] = 'Seu navegador não suporta notificações no desktop'; + diff --git a/plugins/newmail_notifier/localization/ru_RU.inc b/plugins/newmail_notifier/localization/ru_RU.inc new file mode 100644 index 000000000..b95a60bf7 --- /dev/null +++ b/plugins/newmail_notifier/localization/ru_RU.inc @@ -0,0 +1,27 @@ + | + +-----------------------------------------------------------------------+ + @version $Id$ +*/ + +$labels = array(); +$labels['basic'] = 'Показывать в браузере уведомление о приходе нового сообщения'; +$labels['desktop'] = 'Показывать на рабочем столе уведомление о приходе нового сообщения'; +$labels['sound'] = 'Подавать звуковой сигнал о приходе нового сообщения'; +$labels['test'] = 'Проверить'; +$labels['title'] = 'Свежая почта!'; +$labels['body'] = 'Вы получили новое сообщение.'; +$labels['testbody'] = 'Это тестовое уведомление.'; +$labels['desktopdisabled'] = 'В Вашем браузере отключены уведомления на рабочем столе.'; +$labels['desktopunsupported'] = 'Ваш браузер не поддерживает уведомления на рабочем столе.'; + diff --git a/plugins/newmail_notifier/localization/sv_SE.inc b/plugins/newmail_notifier/localization/sv_SE.inc new file mode 100644 index 000000000..b1c92ed79 --- /dev/null +++ b/plugins/newmail_notifier/localization/sv_SE.inc @@ -0,0 +1,27 @@ + | + +-----------------------------------------------------------------------+ + @version $Id$ +*/ + +$labels = array(); +$labels['basic'] = 'Avisera nytt meddelande i webbläsaren'; +$labels['desktop'] = 'Avisera nytt meddelande på skrivbordet'; +$labels['sound'] = 'Avisera nytt meddelande med ljudsignal'; +$labels['test'] = 'Prova'; +$labels['title'] = 'Nytt meddelande!'; +$labels['body'] = 'Du har mottagit ett nytt meddelande.'; +$labels['testbody'] = 'Denna avisering är ett prov.'; +$labels['desktopdisabled'] = 'Avisering på skrivbordet är avstängt i webbläsaren.'; +$labels['desktopunsupported'] = 'Avisering på skrivbordet stöds inte av webbläsaren.'; + diff --git a/plugins/newmail_notifier/mail.png b/plugins/newmail_notifier/mail.png new file mode 100644 index 000000000..79f3a5311 Binary files /dev/null and b/plugins/newmail_notifier/mail.png differ diff --git a/plugins/newmail_notifier/newmail_notifier.js b/plugins/newmail_notifier/newmail_notifier.js new file mode 100644 index 000000000..7c9b55ded --- /dev/null +++ b/plugins/newmail_notifier/newmail_notifier.js @@ -0,0 +1,120 @@ +/** + * New Mail Notifier plugin script + * + * @version @package_version@ + * @author Aleksander Machniak + */ + +if (window.rcmail && rcmail.env.task == 'mail') { + rcmail.addEventListener('plugin.newmail_notifier', newmail_notifier_run); + rcmail.addEventListener('actionbefore', newmail_notifier_stop); + rcmail.addEventListener('init', function() { + // bind to messages list select event, so favicon will be reverted on message preview too + if (rcmail.message_list) + rcmail.message_list.addEventListener('select', newmail_notifier_stop); + }); +} + +// Executes notification methods +function newmail_notifier_run(prop) +{ + if (prop.basic) + newmail_notifier_basic(); + if (prop.sound) + newmail_notifier_sound(); + if (prop.desktop) + newmail_notifier_desktop(rcmail.gettext('body', 'newmail_notifier')); +} + +// Stops notification +function newmail_notifier_stop(prop) +{ + // revert original favicon + if (rcmail.env.favicon_href && (!prop || prop.action != 'check-recent')) { + $('').replaceAll('link[rel="shortcut icon"]'); + rcmail.env.favicon_href = null; + } +} + +// Basic notification: window.focus and favicon change +function newmail_notifier_basic() +{ + var w = rcmail.is_framed() ? window.parent : window; + + w.focus(); + + // we cannot simply change a href attribute, we must to replace the link element (at least in FF) + var link = $(''), + oldlink = $('link[rel="shortcut icon"]', w.document); + + rcmail.env.favicon_href = oldlink.attr('href'); + link.replaceAll(oldlink); +} + +// Sound notification +function newmail_notifier_sound() +{ + var elem, src = 'plugins/newmail_notifier/sound.wav'; + + // HTML5 + try { + elem = $('