From ef4998c11084b2c99f8af9976f9860d5f7709a0f Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Thu, 22 Sep 2011 04:48:05 -0400
Subject: [PATCH] Fix compose command from other tasks than mail and address book; skip common request parameters

---
 program/include/main.inc |    5 +++--
 program/js/app.js        |    2 ++
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/program/include/main.inc b/program/include/main.inc
index 28556df..226fa8a 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -705,13 +705,14 @@
  * @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 a9fbe98..6acb48d 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -847,6 +847,8 @@
 
           break;
         }
+        else if (props)
+          url += '&_to='+urlencode(props);
 
         this.redirect(url);
         break;

--
Gitblit v1.9.1