|
|
|
@ -2010,6 +2010,37 @@ class rcmail extends rcube
|
|
|
|
|
return $size;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns message UID(s) and IMAP folder(s) from GET/POST data
|
|
|
|
|
*
|
|
|
|
|
* @param string UID value to decode
|
|
|
|
|
* @param string Default mailbox value (if not encoded in UIDs)
|
|
|
|
|
* @return array List of message UIDs per folder
|
|
|
|
|
*/
|
|
|
|
|
public static function get_uids($uids = null, $mbox = null)
|
|
|
|
|
{
|
|
|
|
|
// message UID (or comma-separated list of IDs) is provided in
|
|
|
|
|
// the form of <ID>-<MBOX>[,<ID>-<MBOX>]*
|
|
|
|
|
|
|
|
|
|
$_uid = $uids ?: get_input_value('_uid', RCUBE_INPUT_GPC);
|
|
|
|
|
$_mbox = $mbox ?: (string)get_input_value('_mbox', RCUBE_INPUT_GPC);
|
|
|
|
|
|
|
|
|
|
if (is_array($uid)) {
|
|
|
|
|
return $uid;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// create a per-folder UIDs array
|
|
|
|
|
$result = array();
|
|
|
|
|
foreach (explode(',', $_uid) as $uid) {
|
|
|
|
|
list($uid, $mbox) = explode('-', $uid, 2);
|
|
|
|
|
if (empty($mbox))
|
|
|
|
|
$mbox = $_mbox;
|
|
|
|
|
$result[$mbox][] = $uid;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/************************************************************************
|
|
|
|
|
********* Deprecated methods (to be removed) *********
|
|
|
|
|