Fixed folder renaming; added confirmation after deleting a folder
| | |
| | | - Alter links in HTML messages (Bug #1326402) |
| | | - Added fallback if host not found in 'mail_domain' array |
| | | - Applied patch of Charles to highlight droptargets (Ticket #1473034) |
| | | - Fixed folder renaming (Bug #1483914) |
| | | - Added confirmation message after deleting a folder |
| | | |
| | | |
| | | 2006/07/25 (thomasb) |
| | |
| | | |
| | | |
| | | // set a new name to an existing mailbox |
| | | function rename_mailbox($mbox_name, $new_name, $subscribe=TRUE) |
| | | function rename_mailbox($mbox_name, $new_name) |
| | | { |
| | | $result = FALSE; |
| | | |
| | | // replace backslashes |
| | | $name = preg_replace('/[\\\]+/', '-', $new_name); |
| | | |
| | | // encode mailbox name and reduce it to 100 chars |
| | | $name_enc = substr(UTF7EncodeString($new_name), 0, 100); |
| | | |
| | | $name_enc = UTF7EncodeString($new_name); |
| | | |
| | | // reduce mailbox name to 100 chars |
| | | $name_enc = substr($name_enc, 0, 100); |
| | | |
| | | // make absolute path |
| | | $mailbox = $this->_mod_mailbox($mbox_name); |
| | | $abs_name = $this->_mod_mailbox($name_enc); |
| | | $a_mailbox_cache = $this->get_cache('mailboxes'); |
| | | |
| | | if (strlen($abs_name) && (!is_array($a_mailbox_cache) || !in_array($abs_name, $a_mailbox_cache))) |
| | | $result = iil_C_RenameFolder($this->conn, $mbox_name, $abs_name); |
| | | |
| | | // update mailboxlist cache |
| | | if ($result && $subscribe) |
| | | $this->unsubscribe($mbox_name); |
| | | $this->subscribe($name_enc); |
| | | |
| | | if (strlen($abs_name)) |
| | | $result = iil_C_RenameFolder($this->conn, $mailbox, $abs_name); |
| | | |
| | | // clear cache |
| | | if ($result) |
| | | { |
| | | $this->clear_message_cache($mailbox.'.msg'); |
| | | $this->clear_cache('mailboxes'); |
| | | } |
| | | |
| | | return $result ? $name : FALSE; |
| | | } |
| | |
| | | row.cells[3].firstChild.onclick = new Function(this.ref+".command('delete-folder','"+name.replace('\'','\\\'')+"')"); |
| | | |
| | | // add new folder to rename-folder list and clear input field |
| | | if (!replace && (form = this.gui_objects.editform) && form.elements['_folder_name']) |
| | | if (!replace && (form = this.gui_objects.editform)) |
| | | { |
| | | form.elements['_folder_oldname'].options[form.elements['_folder_oldname'].options.length] = new Option(name,name); |
| | | form.elements['_folder_name'].value = ''; |
| | | if (form.elements['_folder_oldname']) |
| | | form.elements['_folder_oldname'].options[form.elements['_folder_oldname'].options.length] = new Option(name,name); |
| | | if (form.elements['_folder_name']) |
| | | form.elements['_folder_name'].value = ''; |
| | | } |
| | | |
| | | }; |
| | |
| | | } |
| | | } |
| | | |
| | | form.elements['_folder_newname'].value = ''; |
| | | if (form && form.elements['_folder_newname']) |
| | | form.elements['_folder_newname'].value = ''; |
| | | }; |
| | | |
| | | |
| | |
| | | |
| | | if (!this.gui_objects.message) |
| | | return false; |
| | | |
| | | |
| | | if (this.message_timer) |
| | | clearTimeout(this.message_timer); |
| | | |
| | |
| | | |
| | | $messages['nospellerrors'] = 'Keine Rechtschreibfehler gefunden'; |
| | | |
| | | $messages['folderdeleted'] = 'Ordner erfolgreich gelöscht'; |
| | | |
| | | |
| | | ?> |
| | |
| | | |
| | | $messages['nospellerrors'] = 'Keine Rechtschreibfehler gefunden'; |
| | | |
| | | $messages['folderdeleted'] = 'Ordner erfolgreich gelöscht'; |
| | | |
| | | ?> |
| | |
| | | |
| | | $messages['nosearchname'] = 'Please enter a contact name or email address'; |
| | | |
| | | $messages['searchsuccessful'] = '$nr messages found'; |
| | | |
| | | $messages['searchnomatch'] = 'Search returned no matches'; |
| | | |
| | | $messages['searching'] = 'Searching...'; |
| | | |
| | | $messages['checking'] = 'Checking...'; |
| | | |
| | | $messages['nospellerrors'] = 'No spelling errors found'; |
| | | |
| | | $messages['folderdeleted'] = 'Folder successfully deleted'; |
| | | |
| | | |
| | | ?> |
| | |
| | | |
| | | $messages['nospellerrors'] = 'No spelling errors found'; |
| | | |
| | | $messages['folderdeleted'] = 'Folder successfully deleted'; |
| | | |
| | | |
| | | ?> |
| | |
| | | else if ($_action=='rename-folder') |
| | | { |
| | | if (!empty($_GET['_folder_oldname']) && !empty($_GET['_folder_newname'])) |
| | | $rename = $IMAP->rename_mailbox(get_input_value('_folder_oldname', RCUBE_INPUT_GET), trim(get_input_value('_folder_newname', RCUBE_INPUT_GET)), TRUE); |
| | | $rename = $IMAP->rename_mailbox(get_input_value('_folder_oldname', RCUBE_INPUT_GET), trim(get_input_value('_folder_newname', RCUBE_INPUT_GET))); |
| | | |
| | | if ($rename && $REMOTE_REQUEST) |
| | | { |
| | |
| | | // delete an existing IMAP mailbox |
| | | else if ($_action=='delete-folder') |
| | | { |
| | | if (strlen($_GET['_mboxes'])) |
| | | $deleted = $IMAP->delete_mailbox(array($_GET['_mboxes'])); |
| | | if (!empty($_GET['_mboxes'])) |
| | | $deleted = $IMAP->delete_mailbox(array(get_input_value('_mboxes', RCUBE_INPUT_GET))); |
| | | |
| | | if ($REMOTE_REQUEST && $deleted) |
| | | rcube_remote_response(sprintf("this.remove_folder_row('%s')", rep_specialchars_output($_GET['_mboxes'], 'js'))); |
| | | { |
| | | $commands = sprintf("this.remove_folder_row('%s');\n", rep_specialchars_output(get_input_value('_mboxes', RCUBE_INPUT_GET), 'js')); |
| | | $commands .= show_message('folderdeleted', 'confirmation'); |
| | | rcube_remote_response($commands); |
| | | } |
| | | else if ($REMOTE_REQUEST) |
| | | { |
| | | $commands = show_message('errorsaving', 'error'); |