program/include/bc.php | ●●●●● patch | view | raw | blame | history | |
program/include/rcmail.php | ●●●●● patch | view | raw | blame | history | |
program/localization/en_US/messages.inc | ●●●●● patch | view | raw | blame | history | |
program/steps/mail/move_del.inc | ●●●●● patch | view | raw | blame | history |
program/include/bc.php
@@ -205,9 +205,9 @@ return rcmail::get_instance()->quota_content($attrib); } function rcmail_display_server_error($fallback=null, $fallback_args=null) function rcmail_display_server_error($fallback=null, $fallback_args=null, $suffix='') { rcmail::get_instance()->display_server_error($fallback, $fallback_args); rcmail::get_instance()->display_server_error($fallback, $fallback_args, $suffix); } function rcmail_filetype2classname($mimetype, $filename) program/include/rcmail.php
@@ -1798,39 +1798,50 @@ * * @param string $fallback Fallback message label * @param array $fallback_args Fallback message label arguments * @param string $suffix Message label suffix */ public function display_server_error($fallback = null, $fallback_args = null) public function display_server_error($fallback = null, $fallback_args = null, $suffix = '') { $err_code = $this->storage->get_error_code(); $res_code = $this->storage->get_response_code(); $args = array(); if ($res_code == rcube_storage::NOPERM) { $this->output->show_message('errornoperm', 'error'); $error = 'errornoperm'; } else if ($res_code == rcube_storage::READONLY) { $this->output->show_message('errorreadonly', 'error'); $error = 'errorreadonly'; } else if ($res_code == rcube_storage::OVERQUOTA) { $this->output->show_message('errorroverquota', 'error'); $error = 'errorroverquota'; } else if ($err_code && ($err_str = $this->storage->get_error_str())) { // try to detect access rights problem and display appropriate message if (stripos($err_str, 'Permission denied') !== false) { $this->output->show_message('errornoperm', 'error'); $error = 'errornoperm'; } // try to detect full mailbox problem and display appropriate message else if (stripos($err_str, 'Quota exceeded') !== false) { $this->output->show_message('erroroverquota', 'error'); $error = 'erroroverquota'; } else { $this->output->show_message('servererrormsg', 'error', array('msg' => $err_str)); $error = 'servererrormsg'; $args = array('msg' => $err_str); } } else if ($err_code < 0) { $this->output->show_message('storageerror', 'error'); $error = 'storageerror'; } else if ($fallback) { $this->output->show_message($fallback, 'error', $fallback_args); $error = $fallback; $args = $fallback_args; } if ($error) { if ($suffix && $this->text_exists($error . $suffix)) { $error .= $suffix; } $this->output->show_message($error, 'error', $args); } } program/localization/en_US/messages.inc
@@ -28,7 +28,8 @@ $messages['requesttimedout'] = 'Request timed out'; $messages['errorreadonly'] = 'Unable to perform operation. Folder is read-only.'; $messages['errornoperm'] = 'Unable to perform operation. Permission denied.'; $messages['erroroverquota'] = 'Unable to perform operation. No available disk space.'; $messages['erroroverquota'] = 'Unable to perform operation. No free disk space.'; $messages['erroroverquotadelete'] = 'No free disk space. Use SHIFT+DEL to delete a message.'; $messages['invalidrequest'] = 'Invalid request! No data was saved.'; $messages['invalidhost'] = 'Invalid server name.'; $messages['nomessagesfound'] = 'No messages found in this mailbox.'; program/steps/mail/move_del.inc
@@ -33,6 +33,7 @@ $count = sizeof(explode(',', ($uids = get_input_value('_uid', RCUBE_INPUT_POST)))); $target = get_input_value('_target_mbox', RCUBE_INPUT_POST, true); $mbox = get_input_value('_mbox', RCUBE_INPUT_POST, true); $trash = $RCMAIL->config->get('trash_mbox'); $moved = $RCMAIL->storage->move_message($uids, $target, $mbox); @@ -40,7 +41,7 @@ // send error message if ($_POST['_from'] != 'show') $OUTPUT->command('list_mailbox'); rcmail_display_server_error('errormoving'); rcmail_display_server_error('errormoving', null, $target == $trash ? 'delete' : ''); $OUTPUT->send(); exit; }