Fix read_when_deleted behavior + javascript codestyle

release-0.6
thomascube 17 years ago
parent e1367cf1a6
commit d224551cfb

@ -175,7 +175,7 @@ $rcmail_config['read_when_deleted'] = TRUE;
// When a Trash folder is not present and a message is deleted, flag // When a Trash folder is not present and a message is deleted, flag
// the message for deletion rather than deleting it immediately. Setting this to // the message for deletion rather than deleting it immediately. Setting this to
// false causes deleted messages to be permanantly removed if there is no Trash folder // false causes deleted messages to be permanantly removed if there is no Trash folder
$rcmail_config['flag_for_deletion'] = TRUE; $rcmail_config['flag_for_deletion'] = FALSE;
// Behavior if a received message requests a message delivery notification (read receipt) // Behavior if a received message requests a message delivery notification (read receipt)
// 0 = ask the user, 1 = send automatically, 2 = ignore (never send or ask) // 0 = ask the user, 1 = send automatically, 2 = ignore (never send or ask)

@ -243,7 +243,7 @@ class rcmail
if (!($this->output instanceof rcube_template)) if (!($this->output instanceof rcube_template))
$this->output = new rcube_template($this->task, $framed); $this->output = new rcube_template($this->task, $framed);
foreach (array('flag_for_deletion') as $js_config_var) { foreach (array('flag_for_deletion','read_when_deleted') as $js_config_var) {
$this->output->set_env($js_config_var, $this->config->get($js_config_var)); $this->output->set_env($js_config_var, $this->config->get($js_config_var));
} }

@ -1532,6 +1532,11 @@ function rcube_webmail()
rows[id].classname += ' deleted'; rows[id].classname += ' deleted';
this.set_classname(rows[id].obj, 'deleted', true); this.set_classname(rows[id].obj, 'deleted', true);
} }
if (this.env.read_when_deleted)
{
rows[id].classname = rows[id].classname.replace(/\s*unread/, '');
this.set_classname(rows[id].obj, 'unread', false);
}
if (rows[id].icon && this.env.deletedicon) if (rows[id].icon && this.env.deletedicon)
rows[id].icon.src = this.env.deletedicon; rows[id].icon.src = this.env.deletedicon;
@ -1783,6 +1788,11 @@ function rcube_webmail()
rows[uid].classname += ' deleted'; rows[uid].classname += ' deleted';
this.set_classname(rows[uid].obj, 'deleted', true); this.set_classname(rows[uid].obj, 'deleted', true);
} }
if (this.env.read_when_deleted)
{
rows[uid].classname = rows[uid].classname.replace(/\s*unread/, '');
this.set_classname(rows[uid].obj, 'unread', false);
}
if (rows[uid].icon && this.env.deletedicon) if (rows[uid].icon && this.env.deletedicon)
rows[uid].icon.src = this.env.deletedicon; rows[uid].icon.src = this.env.deletedicon;

@ -29,7 +29,12 @@ if ($RCMAIL->action=='moveto' && !empty($_POST['_uid']) && !empty($_POST['_targe
$target = get_input_value('_target_mbox', RCUBE_INPUT_POST); $target = get_input_value('_target_mbox', RCUBE_INPUT_POST);
$moved = $IMAP->move_message($uids, $target, get_input_value('_mbox', RCUBE_INPUT_POST)); $moved = $IMAP->move_message($uids, $target, get_input_value('_mbox', RCUBE_INPUT_POST));
if (!$moved) { if ($moved) {
// flag old messages as read because rcube_imap will not send expunge command after moving
if ($CONFIG['read_when_deleted'])
$IMAP->set_flag($uids, 'SEEN');
}
else {
// send error message // send error message
$OUTPUT->command('list_mailbox'); $OUTPUT->command('list_mailbox');
$OUTPUT->show_message('errormoving', 'error'); $OUTPUT->show_message('errormoving', 'error');

Loading…
Cancel
Save