summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2013-05-20 09:35:02 +0200
committerAleksander Machniak <alec@alec.pl>2013-05-20 09:35:02 +0200
commitc8bc8c97f3f6e5c04fa7b459bdb1c922d7f4e6ad (patch)
tree178573a031c14ba4ea8fb7b9370c11bf0a65716c /plugins
parent68684a89828db7b929d596f7b80e4cbf9fae9bfc (diff)
Improved attachment reminder dialog (#1489091)
Improved core show_popup_dialog() function
Diffstat (limited to 'plugins')
-rwxr-xr-xplugins/attachment_reminder/attachment_reminder.js41
-rwxr-xr-xplugins/attachment_reminder/attachment_reminder.php1
-rw-r--r--plugins/attachment_reminder/package.xml3
3 files changed, 32 insertions, 13 deletions
diff --git a/plugins/attachment_reminder/attachment_reminder.js b/plugins/attachment_reminder/attachment_reminder.js
index a4f3e6325..50d661b3b 100755
--- a/plugins/attachment_reminder/attachment_reminder.js
+++ b/plugins/attachment_reminder/attachment_reminder.js
@@ -14,7 +14,7 @@ function rcmail_get_compose_message()
}
return msg;
-}
+};
function rcmail_check_message(msg)
{
@@ -24,12 +24,33 @@ function rcmail_check_message(msg)
rx = new RegExp('(' + keywords.join('|') + ')', 'i');
return msg.search(rx) != -1;
-}
+};
function rcmail_have_attachments()
{
return rcmail.env.attachments && $('li', rcmail.gui_objects.attachmentlist).length;
-}
+};
+
+function rcmail_attachment_reminder_dialog()
+{
+ var buttons = {};
+
+ buttons[rcmail.gettext('addattachment')] = function() {
+ $(this).remove();
+ if (window.UI && UI.show_uploadform) // Larry skin
+ UI.show_uploadform();
+ else if (window.rcmail_ui && rcmail_ui.show_popup) // classic skin
+ rcmail_ui.show_popup('uploadmenu', true);
+ };
+ buttons[rcmail.gettext('send')] = function(e) {
+ $(this).remove();
+ rcmail.env.attachment_reminder = true;
+ rcmail.command('send', '', e);
+ };
+
+ rcmail.env.attachment_reminder = false;
+ rcmail.show_popup_dialog(rcmail.gettext('attachment_reminder.forgotattachment'), '', buttons);
+};
if (window.rcmail) {
@@ -37,15 +58,11 @@ if (window.rcmail) {
var msg = rcmail_get_compose_message(),
subject = $('#compose-subject').val();
- if (!rcmail_have_attachments() && (rcmail_check_message(msg) || rcmail_check_message(subject))) {
- if (confirm(rcmail.gettext('forgotattachment', 'attachment_reminder'))) {
- if (window.UI && UI.show_uploadform) // Larry skin
- UI.show_uploadform();
- else if (window.rcmail_ui && rcmail_ui.show_popup) // classic skin
- rcmail_ui.show_popup('uploadmenu', true);
-
- return false;
- }
+ if (!rcmail.env.attachment_reminder && !rcmail_have_attachments()
+ && (rcmail_check_message(msg) || rcmail_check_message(subject))
+ ) {
+ rcmail_attachment_reminder_dialog();
+ return false;
}
});
}
diff --git a/plugins/attachment_reminder/attachment_reminder.php b/plugins/attachment_reminder/attachment_reminder.php
index 0a2597329..a215ff57c 100755
--- a/plugins/attachment_reminder/attachment_reminder.php
+++ b/plugins/attachment_reminder/attachment_reminder.php
@@ -38,6 +38,7 @@ class attachment_reminder extends rcube_plugin
if ($rcmail->task == 'mail' && $rcmail->action == 'compose') {
$this->include_script('attachment_reminder.js');
$this->add_texts('localization/', array('keywords', 'forgotattachment'));
+ $rcmail->output->add_label('addattachment', 'send');
}
if ($rcmail->task == 'settings') {
diff --git a/plugins/attachment_reminder/package.xml b/plugins/attachment_reminder/package.xml
index 43861182e..78768d534 100644
--- a/plugins/attachment_reminder/package.xml
+++ b/plugins/attachment_reminder/package.xml
@@ -15,9 +15,10 @@
<active>yes</active>
</lead>
<lead>
- <name>Thomas Yu - Sian , Liu</name>
+ <name>Thomas Yu - Sian, Liu</name>
<active>yes</active>
</lead>
+ <date>2013-05-20</date>
<version>
<release>1.1</release>
<api>1.0</api>