From 864745bc9a14afaee640f9960e16ccdbc57e237d Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Wed, 8 May 2013 09:24:34 +0200 Subject: Attachment_reminder plugin - ported from https://github.com/thomasysliu/Roundcube-Plugin-Attachment-Reminder and added user preference to disable plugin, larry support, some fixes/improvements --- CHANGELOG | 1 + plugins/attachment_reminder/attachment_reminder.js | 54 +++++++++++++++ .../attachment_reminder/attachment_reminder.php | 81 ++++++++++++++++++++++ plugins/attachment_reminder/localization/de_CH.inc | 5 ++ plugins/attachment_reminder/localization/de_DE.inc | 5 ++ plugins/attachment_reminder/localization/en_US.inc | 6 ++ plugins/attachment_reminder/localization/es_ES.inc | 5 ++ plugins/attachment_reminder/localization/fr_FR.inc | 5 ++ plugins/attachment_reminder/localization/it_IT.inc | 6 ++ plugins/attachment_reminder/localization/nl_NL.inc | 5 ++ plugins/attachment_reminder/localization/pl_PL.inc | 6 ++ plugins/attachment_reminder/localization/zh_CN.inc | 5 ++ plugins/attachment_reminder/localization/zh_TW.inc | 5 ++ plugins/attachment_reminder/package.xml | 66 ++++++++++++++++++ 14 files changed, 255 insertions(+) create mode 100755 plugins/attachment_reminder/attachment_reminder.js create mode 100755 plugins/attachment_reminder/attachment_reminder.php create mode 100644 plugins/attachment_reminder/localization/de_CH.inc create mode 100644 plugins/attachment_reminder/localization/de_DE.inc create mode 100644 plugins/attachment_reminder/localization/en_US.inc create mode 100644 plugins/attachment_reminder/localization/es_ES.inc create mode 100644 plugins/attachment_reminder/localization/fr_FR.inc create mode 100644 plugins/attachment_reminder/localization/it_IT.inc create mode 100644 plugins/attachment_reminder/localization/nl_NL.inc create mode 100644 plugins/attachment_reminder/localization/pl_PL.inc create mode 100644 plugins/attachment_reminder/localization/zh_CN.inc create mode 100644 plugins/attachment_reminder/localization/zh_TW.inc create mode 100644 plugins/attachment_reminder/package.xml diff --git a/CHANGELOG b/CHANGELOG index 7542fde2a..43935159f 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Added attachment_reminder plugin - Fix IMAP connection issue with default_socket_timeout < 0 and imap_timeout < 0 (#1489090) - Fix various PHP code bugs found using static analysis (#1489086) - Fix backslash character handling on vCard import (#1489085) diff --git a/plugins/attachment_reminder/attachment_reminder.js b/plugins/attachment_reminder/attachment_reminder.js new file mode 100755 index 000000000..01f2b4993 --- /dev/null +++ b/plugins/attachment_reminder/attachment_reminder.js @@ -0,0 +1,54 @@ +/* Attachment Reminder plugin script */ + +function rcmail_get_compose_message() +{ + var msg; + + if (window.tinyMCE && (ed = tinyMCE.get(rcmail.env.composebody))) { + msg = ed.getContent(); + msg = msg.replace(/]*>(.|[\r\n])*<\/blockquote>/gmi, ''); + } + else { + msg = $('#' + rcmail.env.composebody).val(); + msg = msg.replace(/^>.*$/gmi, ''); + } + + return msg; +} + +function rcmail_check_message(msg) +{ + var i, rg, keywords = rcmail.gettext('keywords', 'attachment_reminder').split(",").concat([".doc", ".pdf"]); + + for (i=0; i + * + * Copyright (C) 2013 Thomas Yu - Sian, Liu + * Copyright (C) 2013, Kolab Systems AG + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +class attachment_reminder extends rcube_plugin +{ + public $task = 'mail|settings'; + public $noajax = true; + + + function init() + { + $rcmail = rcube::get_instance(); + + if ($rcmail->task == 'mail' && $rcmail->action == 'compose') { + $this->include_script('attachment_reminder.js'); + $this->add_texts('localization/', array('keywords', 'forgotattachment')); + } + + if ($rcmail->task == 'settings') { + $dont_override = $rcmail->config->get('dont_override', array()); + + if (!in_array('attachment_reminder', $dont_override)) { + $this->add_hook('preferences_list', array($this, 'prefs_list')); + $this->add_hook('preferences_save', array($this, 'prefs_save')); + } + } + } + + function prefs_list($args) + { + if ($args['section'] == 'compose') { + $this->add_texts('localization/'); + $reminder = rcube::get_instance()->config->get('attachment_reminder'); + $field_id = 'rcmfd_attachment_reminder'; + $checkbox = new html_checkbox(array('name' => '_attachment_reminder', 'id' => $field_id, 'value' => 1)); + + $args['blocks']['main']['options']['attachment_reminder'] = array( + 'title' => html::label($field_id, rcube::Q($this->gettext('reminderoption'))), + 'content' => $checkbox->show($reminder ? 1 : 0), + ); + } + + return $args; + } + + function prefs_save($args) + { + if ($args['section'] == 'compose') { + $dont_override = rcube::get_instance()->config->get('dont_override', array()); + if (!in_array('attachment_reminder', $dont_override)) { + $args['prefs']['attachment_reminder'] = !empty($_POST['_attachment_reminder']); + } + } + return $args; + } + +} diff --git a/plugins/attachment_reminder/localization/de_CH.inc b/plugins/attachment_reminder/localization/de_CH.inc new file mode 100644 index 000000000..bf6eef721 --- /dev/null +++ b/plugins/attachment_reminder/localization/de_CH.inc @@ -0,0 +1,5 @@ + + + Attachment Reminder + Roundcube plugin that prompts you if it looks like you wanted to attach a file but you didn't. + + This Roundcube plugin reminds the user to attach a file if the composed message text indicates that there should be any. + + + Aleksander Machniak + alec + alec@alec.pl + yes + + + Thomas Yu - Sian , Liu + yes + + + 1.1 + 1.0 + + + stable + stable + + GNU GPLv2 + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5.2.1 + + + 1.7.0 + + + + + -- cgit v1.2.3