summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2011-09-22 08:48:05 +0000
committerthomascube <thomas@roundcube.net>2011-09-22 08:48:05 +0000
commitef4998c11084b2c99f8af9976f9860d5f7709a0f (patch)
tree2515bf1f989dc31c67cfe9b53236380ea454a056
parentbba25299f8d1569f560fc66f82837c95145ee121 (diff)
Fix compose command from other tasks than mail and address book; skip common request parameters
-rw-r--r--program/include/main.inc5
-rw-r--r--program/js/app.js2
2 files changed, 5 insertions, 2 deletions
diff --git a/program/include/main.inc b/program/include/main.inc
index 28556df5e..226fa8a5d 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -705,13 +705,14 @@ function parse_input_value($value, $allow_html=FALSE, $charset=NULL)
* @param int Source to get value from (GPC)
* @return array Hash array with all request parameters
*/
-function request2param($mode = RCUBE_INPUT_GPC)
+function request2param($mode = RCUBE_INPUT_GPC, $ignore = 'task|action')
{
$out = array();
$src = $mode == RCUBE_INPUT_GET ? $_GET : ($mode == RCUBE_INPUT_POST ? $_POST : $_REQUEST);
foreach ($src as $key => $value) {
$fname = $key[0] == '_' ? substr($key, 1) : $key;
- $out[$fname] = get_input_value($key, $mode);
+ if ($ignore && !preg_match("/($ignore)/", $fname))
+ $out[$fname] = get_input_value($key, $mode);
}
return $out;
diff --git a/program/js/app.js b/program/js/app.js
index a9fbe987d..6acb48d86 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -847,6 +847,8 @@ function rcube_webmail()
break;
}
+ else if (props)
+ url += '&_to='+urlencode(props);
this.redirect(url);
break;