- Add missing confirmation/error messages on contact/group/message actions (#1486845)
- Add 'loading' message on message move/copy/delete/mark actions
| | |
| | | - Improve performance of message cache status checking with skip_disabled=true |
| | | - Support contact's email addresses up to 255 characters long (#1487095) |
| | | - Add option to place replies in the folder of the message being replied to (#1485945) |
| | | - Add missing confirmation/error messages on contact/group/message actions (#1486845) |
| | | - Add 'loading' message on message move/copy/delete/mark actions |
| | | |
| | | RELEASE 0.4.2 |
| | | ------------- |
| | |
| | | return; |
| | | |
| | | var a_uids = [], |
| | | lock = this.display_message(this.get_label('copyingmessage'), 'loading'), |
| | | add_url = '&_target_mbox='+urlencode(mbox)+'&_from='+(this.env.action ? this.env.action : ''); |
| | | |
| | | if (this.env.uid) |
| | |
| | | } |
| | | |
| | | // send request to server |
| | | this.http_post('copy', '_uid='+a_uids.join(',')+'&_mbox='+urlencode(this.env.mailbox)+add_url, false); |
| | | this.http_post('copy', '_uid='+a_uids.join(',')+'&_mbox='+urlencode(this.env.mailbox)+add_url, lock); |
| | | }; |
| | | |
| | | // move selected messages to the specified mailbox |
| | |
| | | // @private |
| | | this._with_selected_messages = function(action, lock, add_url) |
| | | { |
| | | var a_uids = [], count = 0; |
| | | var a_uids = [], count = 0, msg; |
| | | |
| | | if (this.env.uid) |
| | | a_uids[0] = this.env.uid; |
| | |
| | | this.delete_excessive_thread_rows(); |
| | | |
| | | add_url += '&_uid='+this.uids_to_list(a_uids); |
| | | |
| | | if (!lock) { |
| | | msg = action == 'moveto' ? 'movingmessage' : 'deletingmessage'; |
| | | lock = this.display_message(this.get_label(msg), 'loading'); |
| | | } |
| | | |
| | | // send request to server |
| | | this.http_post(action, '_mbox='+urlencode(this.env.mailbox)+add_url, lock); |
| | |
| | | for (var i=0; i<a_uids.length; i++) |
| | | this.set_message(a_uids[i], 'unread', (flag=='unread' ? true : false)); |
| | | |
| | | var url = '_uid='+this.uids_to_list(a_uids)+'&_flag='+flag; |
| | | var url = '_uid='+this.uids_to_list(a_uids)+'&_flag='+flag, |
| | | lock = this.display_message(this.get_label('markingmessage'), 'loading'); |
| | | |
| | | // also send search request to get the right messages |
| | | if (this.env.search_request) |
| | | url += '&_search='+this.env.search_request; |
| | | |
| | | this.http_post('mark', url); |
| | | this.http_post('mark', url, lock); |
| | | |
| | | for (var i=0; i<a_uids.length; i++) |
| | | this.update_thread_root(a_uids[i], flag); |
| | |
| | | for (var i=0; i<a_uids.length; i++) |
| | | this.set_message(a_uids[i], 'flagged', (flag=='flagged' ? true : false)); |
| | | |
| | | var url = '_uid='+this.uids_to_list(a_uids)+'&_flag='+flag; |
| | | var url = '_uid='+this.uids_to_list(a_uids)+'&_flag='+flag, |
| | | lock = this.display_message(this.get_label('markingmessage'), 'loading'); |
| | | |
| | | // also send search request to get the right messages |
| | | if (this.env.search_request) |
| | | url += '&_search='+this.env.search_request; |
| | | |
| | | this.http_post('mark', url); |
| | | this.http_post('mark', url, lock); |
| | | }; |
| | | |
| | | // mark all message rows as deleted/undeleted |
| | |
| | | for (var i=0, len=a_uids.length; i<len; i++) |
| | | this.set_message(a_uids[i], 'deleted', false); |
| | | |
| | | var url = '_uid='+this.uids_to_list(a_uids)+'&_flag=undelete'; |
| | | var url = '_uid='+this.uids_to_list(a_uids)+'&_flag=undelete', |
| | | lock = this.display_message(this.get_label('markingmessage'), 'loading'); |
| | | |
| | | // also send search request to get the right messages |
| | | if (this.env.search_request) |
| | | url += '&_search='+this.env.search_request; |
| | | |
| | | this.http_post('mark', url); |
| | | this.http_post('mark', url, lock); |
| | | return true; |
| | | }; |
| | | |
| | |
| | | this.delete_excessive_thread_rows(); |
| | | } |
| | | |
| | | add_url = '&_from='+(this.env.action ? this.env.action : ''); |
| | | add_url = '&_from='+(this.env.action ? this.env.action : ''), |
| | | lock = this.display_message(this.get_label('markingmessage'), 'loading'); |
| | | |
| | | // ?? |
| | | if (r_uids.length) |
| | |
| | | if (this.env.search_request) |
| | | add_url += '&_search='+this.env.search_request; |
| | | |
| | | this.http_post('mark', '_uid='+this.uids_to_list(a_uids)+'&_flag=delete'+add_url); |
| | | this.http_post('mark', '_uid='+this.uids_to_list(a_uids)+'&_flag=delete'+add_url, lock); |
| | | return true; |
| | | }; |
| | | |
| | |
| | | $messages['copyerror'] = 'Could not copy any addresses'; |
| | | $messages['sourceisreadonly'] = 'This address source is read only'; |
| | | $messages['errorsavingcontact'] = 'Could not save the contact address'; |
| | | $messages['movingmessage'] = 'Moving message...'; |
| | | $messages['copyingmessage'] = 'Copying message...'; |
| | | $messages['movingmessage'] = 'Moving message(s)...'; |
| | | $messages['copyingmessage'] = 'Copying message(s)...'; |
| | | $messages['deletingmessage'] = 'Deleting message(s)...'; |
| | | $messages['markingmessage'] = 'Marking message(s)...'; |
| | | $messages['receiptsent'] = 'Successfully sent a read receipt'; |
| | | $messages['errorsendingreceipt'] = 'Could not send the receipt'; |
| | | $messages['nodeletelastidentity'] = 'You cannot delete this identity, it\'s your last one.'; |
| | |
| | | $messages['toomanyrecipients'] = 'Too many recipients. Reduce the number of recipients to $max.'; |
| | | $messages['maxgroupmembersreached'] = 'The number of group members exceeds the maximum of $max'; |
| | | $messages['internalerror'] = 'An internal error occured. Please try again'; |
| | | $messages['contactdelerror'] = 'Could not delete contact(s)'; |
| | | $messages['contactdeleted'] = 'Contact(s) deleted successfully'; |
| | | $messages['groupdeleted'] = 'Group deleted successfully'; |
| | | $messages['grouprenamed'] = 'Group renamed successfully'; |
| | | $messages['groupcreated'] = 'Group created successfully'; |
| | | $messages['messagedeleted'] = 'Message(s) deleted successfully'; |
| | | $messages['messagemoved'] = 'Message(s) moved successfully'; |
| | | $messages['messagecopied'] = 'Message(s) copied successfully'; |
| | | $messages['messagemarked'] = 'Message(s) marked successfully'; |
| | | |
| | | ?> |
| | |
| | | $messages['errorsavingcontact'] = 'Nie można było zapisać adresu kontaktu'; |
| | | $messages['movingmessage'] = 'Przenoszenie wiadomości...'; |
| | | $messages['copyingmessage'] = 'Kopiowanie wiadomości...'; |
| | | $messages['deletingmessage'] = 'Usuwanie wiadomości...'; |
| | | $messages['markingmessage'] = 'Oznaczanie wiadomości...'; |
| | | $messages['receiptsent'] = 'Pomyślnie wysłano potwierdzenie dostarczenia'; |
| | | $messages['errorsendingreceipt'] = 'Nie można wysłać potwierdzenia'; |
| | | $messages['nodeletelastidentity'] = 'Nie można skasować tej tożsamości, ponieważ jest ostatnią.'; |
| | |
| | | $messages['emailformaterror'] = 'Błędny adres e-mail: $email'; |
| | | $messages['toomanyrecipients'] = 'Zbyt wielu odbiorców. Zmniejsz ich liczbę do $max.'; |
| | | $messages['maxgroupmembersreached'] = 'Liczba członków grupy nie może być większa niż $max'; |
| | | $messages['internalerror'] = 'Wystąpił wewnętrzny błąd systemu. Spróbuj jeszcze raz' |
| | | $messages['internalerror'] = 'Wystąpił wewnętrzny błąd systemu. Spróbuj jeszcze raz'; |
| | | $messages['contactdelerror'] = 'Usuwanie kontaktów nie powiodło się'; |
| | | $messages['contactdeleted'] = 'Kontakt(y) został(y) usunięte'; |
| | | $messages['groupdeleted'] = 'Grupa została usunięta'; |
| | | $messages['grouprenamed'] = 'Nazwa grupy została zmieniona'; |
| | | $messages['groupcreated'] = 'Grupa została utworzona'; |
| | | $messages['messagedeleted'] = 'Wiadomości zostały usunięte'; |
| | | $messages['messagemoved'] = 'Wiadomości zostały przeniesione'; |
| | | $messages['messagecopied'] = 'Wiadomości zostały skopiowane'; |
| | | $messages['messagemarked'] = 'Wiadomości zostały oznaczone'; |
| | | |
| | | ?> |
| | |
| | | $deleted = !$plugin['abort'] ? $CONTACTS->delete($cid) : $plugin['result']; |
| | | |
| | | if (!$deleted) { |
| | | // send error message |
| | | exit; |
| | | $OUTPUT->show_message($plugin['message'] ? $plugin['message'] : 'contactdelerror', 'error'); |
| | | $OUTPUT->command('list_contacts'); |
| | | } |
| | | else { |
| | | $OUTPUT->show_message('contactdeleted', 'confirmation'); |
| | | |
| | | // count contacts for this user |
| | | $result = $CONTACTS->count(); |
| | |
| | | $pages = ceil(($result->count + $deleted) / $CONTACTS->page_size); |
| | | if ($_GET['_from'] != 'show' && $pages > 1 && $CONTACTS->list_page < $pages) |
| | | rcmail_js_contacts_list($CONTACTS->list_records(null, -$deleted)); |
| | | } |
| | | |
| | | // send response |
| | | $OUTPUT->send(); |
| | |
| | | |
| | | if ($result) |
| | | $OUTPUT->show_message('contactaddedtogroup'); |
| | | else if ($plugin['message']) |
| | | $OUTPUT->show_message($plugin['message'], 'warning'); |
| | | else |
| | | $OUTPUT->show_message($plugin['message'] ? $plugin['message'] : 'errorsaving', 'error'); |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | if ($result) |
| | | $OUTPUT->show_message('contactremovedfromgroup'); |
| | | else if ($plugin['message']) |
| | | $OUTPUT->show_message($plugin['message'], 'warning'); |
| | | else |
| | | $OUTPUT->show_message($plugin['message'] ? $plugin['message'] : 'errorsaving', 'error'); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | if ($created && $OUTPUT->ajax_call) { |
| | | $created['source'] = $source; |
| | | $OUTPUT->command('insert_contact_group', $created); |
| | | $OUTPUT->show_message('groupcreated', 'confirmation'); |
| | | $OUTPUT->command('insert_contact_group', array('source' => $created)); |
| | | } |
| | | else if (!$created) { |
| | | $OUTPUT->show_message($plugin['message'] ? $plugin['message'] : 'errorsaving', 'error'); |
| | |
| | | $newname = $plugin['result']; |
| | | } |
| | | |
| | | if ($newname && $OUTPUT->ajax_call) |
| | | if ($newname && $OUTPUT->ajax_call) { |
| | | $OUTPUT->show_message('grouprenamed', 'confirmation'); |
| | | $OUTPUT->command('update_contact_group', array('source' => $source, 'id' => $gid, 'name' => $newname)); |
| | | } |
| | | else if (!$newname) |
| | | $OUTPUT->show_message($plugin['message'] ? $plugin['message'] : 'errorsaving', 'error'); |
| | | } |
| | |
| | | $deleted = $plugin['result']; |
| | | } |
| | | |
| | | if ($deleted) |
| | | if ($deleted) { |
| | | $OUTPUT->show_message('groupdeleted', 'confirmation'); |
| | | $OUTPUT->command('remove_group_item', array('source' => $source, 'id' => $gid)); |
| | | } |
| | | else |
| | | $OUTPUT->show_message($plugin['message'] ? $plugin['message'] : 'errorsaving', 'error'); |
| | | } |
| | |
| | | $OUTPUT->show_message('errorcopying', 'error'); |
| | | $OUTPUT->send(); |
| | | exit; |
| | | } |
| | | else { |
| | | $OUTPUT->show_message('messagecopied', 'confirmation'); |
| | | } |
| | | |
| | | rcmail_send_unread_count($target, true); |
| | |
| | | |
| | | if (!$OUTPUT->ajax_call) |
| | | $OUTPUT->add_label('checkingmail', 'deletemessage', 'movemessagetotrash', |
| | | 'movingmessage', 'copyingmessage', 'copy', 'move', 'quota'); |
| | | 'movingmessage', 'copyingmessage', 'deletingmessage', 'markingmessage', |
| | | 'copy', 'move', 'quota'); |
| | | |
| | | $OUTPUT->set_pagetitle(rcmail_localize_foldername($mbox_name)); |
| | | } |
| | |
| | | $OUTPUT->send(); |
| | | exit; |
| | | } |
| | | else { |
| | | $OUTPUT->show_message('messagemarked', 'confirmation'); |
| | | } |
| | | |
| | | if ($flag == 'DELETED' && $CONFIG['read_when_deleted'] && !empty($_POST['_ruid'])) { |
| | | $ruids = get_input_value('_ruid', RCUBE_INPUT_POST); |
| | |
| | | $OUTPUT->send(); |
| | | exit; |
| | | } |
| | | else { |
| | | $OUTPUT->show_message('messagemoved', 'confirmation'); |
| | | } |
| | | |
| | | $addrows = true; |
| | | } |
| | |
| | | $OUTPUT->send(); |
| | | exit; |
| | | } |
| | | else { |
| | | $OUTPUT->show_message('messagedeleted', 'confirmation'); |
| | | } |
| | | |
| | | $addrows = true; |
| | | } |
| | |
| | | $OUTPUT->set_env('list_post', true); |
| | | |
| | | if (!$OUTPUT->ajax_call) |
| | | $OUTPUT->add_label('checkingmail', 'deletemessage', 'movemessagetotrash', 'movingmessage'); |
| | | $OUTPUT->add_label('checkingmail', 'deletemessage', 'movemessagetotrash', |
| | | 'movingmessage', 'deletingmessage'); |
| | | |
| | | // check for unset disposition notification |
| | | if ($MESSAGE->headers->mdn_to && |