program/include/rcube_imap.inc | ●●●●● patch | view | raw | blame | history | |
program/js/app.js | ●●●●● patch | view | raw | blame | history | |
program/steps/settings/manage_folders.inc | ●●●●● patch | view | raw | blame | history |
program/include/rcube_imap.inc
@@ -1648,16 +1648,14 @@ /** * Subscribe to a specific mailbox(es) * * @param string Mailbox name(s) * @param array Mailbox name(s) * @return boolean True on success */ function subscribe($mbox_name) function subscribe($a_mboxes) { if (is_array($mbox_name)) $a_mboxes = $mbox_name; else if (is_string($mbox_name) && strlen($mbox_name)) $a_mboxes = explode(',', $mbox_name); if (!is_array($a_mboxes)) $a_mboxes = array($a_mboxes); // let this common function do the main work return $this->_change_subscription($a_mboxes, 'subscribe'); } @@ -1666,15 +1664,13 @@ /** * Unsubscribe mailboxes * * @param string Mailbox name(s) * @param array Mailbox name(s) * @return boolean True on success */ function unsubscribe($mbox_name) function unsubscribe($a_mboxes) { if (is_array($mbox_name)) $a_mboxes = $mbox_name; else if (is_string($mbox_name) && strlen($mbox_name)) $a_mboxes = (array)$mbox_name; if (!is_array($a_mboxes)) $a_mboxes = array($a_mboxes); // let this common function do the main work return $this->_change_subscription($a_mboxes, 'unsubscribe'); program/js/app.js
@@ -2825,59 +2825,17 @@ this.subscribe_folder = function(folder) { var form; if ((form = this.gui_objects.editform) && form.elements['_unsubscribed']) this.change_subscription('_unsubscribed', '_subscribed', 'subscribe'); else if (folder) this.http_post('subscribe', '_mboxes='+urlencode(folder)); if (folder) this.http_post('subscribe', '_mbox='+urlencode(folder)); }; this.unsubscribe_folder = function(folder) { var form; if ((form = this.gui_objects.editform) && form.elements['_subscribed']) this.change_subscription('_subscribed', '_unsubscribed', 'unsubscribe'); else if (folder) this.http_post('unsubscribe', '_mboxes='+urlencode(folder)); if (folder) this.http_post('unsubscribe', '_mbox='+urlencode(folder)); }; this.change_subscription = function(from, to, action) { var form; if (form = this.gui_objects.editform) { var a_folders = new Array(); var list_from = form.elements[from]; for (var i=0; list_from && i<list_from.options.length; i++) { if (list_from.options[i] && list_from.options[i].selected) { a_folders[a_folders.length] = list_from.options[i].value; list_from[i] = null; i--; } } // yes, we have some folders selected if (a_folders.length) { var list_to = form.elements[to]; var index; for (var n=0; n<a_folders.length; n++) { index = list_to.options.length; list_to[index] = new Option(a_folders[n]); } this.http_post(action, '_mboxes='+urlencode(a_folders.join(','))); } } }; // helper method to find a specific mailbox row ID this.get_folder_row_id = function(folder) program/steps/settings/manage_folders.inc
@@ -28,8 +28,8 @@ // subscribe to one or more mailboxes if ($_action=='subscribe') { if ($mboxes = get_input_value('_mboxes', RCUBE_INPUT_POST)) $IMAP->subscribe($mboxes); if ($mbox = get_input_value('_mbox', RCUBE_INPUT_POST)) $IMAP->subscribe(array($mbox)); if ($OUTPUT->ajax_call) $OUTPUT->remote_response('// subscribed'); @@ -38,8 +38,8 @@ // unsubscribe one or more mailboxes else if ($_action=='unsubscribe') { if ($mboxes = get_input_value('_mboxes', RCUBE_INPUT_POST)) $IMAP->unsubscribe($mboxes); if ($mbox = get_input_value('_mbox', RCUBE_INPUT_POST)) $IMAP->unsubscribe(array($mbox)); if ($OUTPUT->ajax_call) $OUTPUT->remote_response('// unsubscribed');