Explorar o código

Fix for forward messages from a search

stekkel %!s(int64=23) %!d(string=hai) anos
pai
achega
1a2d331ab4
Modificáronse 2 ficheiros con 21 adicións e 34 borrados
  1. 11 33
      functions/page_header.php
  2. 10 1
      src/move_messages.php

+ 11 - 33
functions/page_header.php

@@ -12,7 +12,6 @@
  */
 
 require_once('../functions/strings.php');
-require_once('../functions/imap_utf7_decode_local.php');
 
 /* Always set up the language before calling these functions */
 function displayHtmlHeader( $title = 'SquirrelMail', $xtra = '', $do_hook = TRUE ) {
@@ -47,12 +46,9 @@ function displayInternalLink($path, $text, $target='') {
 function displayPageHeader($color, $mailbox, $xtra='') {
 
     global $delimiter, $hide_sm_attributions, $base_uri, $PHP_SELF, $frame_top,
-    $compose_new_win, $username, $datadir, $compose_width, $compose_height;
+    $compose_new_win, $username, $datadir, $compose_width, $compose_height, $session, $attachemessages;
 
     $module = substr( $PHP_SELF, ( strlen( $PHP_SELF ) - strlen( $base_uri ) ) * -1 );
-    if ($qmark = strpos($module, '?')) {
-        $module = substr($module, 0, $qmark);
-    }
     if (!isset($frame_top)) {
         $frame_top = '_top';
     }
@@ -61,29 +57,6 @@ function displayPageHeader($color, $mailbox, $xtra='') {
         Locate the first displayable form element
     */
     switch ( $module ) {
-    case 'src/read_body.php':
-            if ($compose_new_win == '1') {
-                if (!preg_match("/^[0-9]{3,4}$/", $compose_width)) {
-                    $compose_width = '640';
-                }
-                if (!preg_match("/^[0-9]{3,4}$/", $compose_height)) {
-                    $compose_height = '550';
-                }
-                $js = "\n".'<script language="JavaScript" type="text/javascript">' .
-                    "\n<!--\n";
-                $js .= "function comp_in_new() {\n".
-                     "    var newwin = window.open(\"".$base_uri."src/compose.php\"".
-                     ", \"compose_window\",
-                \"width=".$compose_width.",height=$compose_height".
-                     ",scrollbars=yes,resizable=yes\");\n".
-                     "}\n";
-        $js .= "// -->\n".
-        	 "</script>\n";
-        displayHtmlHeader ('Squirrelmail', $js);
-            }
-        displayHtmlHeader();
-        $onload = '';
-        break;
     default:
         $js = '<script language="JavaScript" type="text/javascript">' .
              "\n<!--\n" .
@@ -107,6 +80,12 @@ function displayPageHeader($color, $mailbox, $xtra='') {
                 "}\n".
 		"$xtra\n".
             "}\n";
+            if (isset($attachemessages) && isset($session)) {
+		$compose_uri = 'compose.php?mailbox='. urlencode($mailbox).'&attachedmessages=true&session='."$session";
+            } else {
+	        $compose_uri = 'src/compose.php';
+	    }
+	    
             if ($compose_new_win == '1') {
                 if (!preg_match("/^[0-9]{3,4}$/", $compose_width)) {
                     $compose_width = '640';
@@ -115,9 +94,9 @@ function displayPageHeader($color, $mailbox, $xtra='') {
                     $compose_height = '550';
                 }
                 $js .= "function comp_in_new() {\n".
-                     "    var newwin = window.open(\"".$base_uri."src/compose.php\"".
-                     ", \"compose_window\",
-                \"width=".$compose_width.",height=$compose_height".
+                     '    var newwin = window.open("'.$base_uri.$compose_uri . '"' .
+                     ', "compose_window",
+                "width='.$compose_width.",height=$compose_height".
                      ",scrollbars=yes,resizable=yes\");\n".
                      "}\n";
             }
@@ -131,8 +110,7 @@ function displayPageHeader($color, $mailbox, $xtra='') {
 
     echo "<BODY TEXT=\"$color[8]\" BGCOLOR=\"$color[4]\" LINK=\"$color[7]\" VLINK=\"$color[7]\" ALINK=\"$color[7]\" $onload>\n\n";
     /** Here is the header and wrapping table **/
-    $shortBoxName = imap_utf7_decode_local(
-		      readShortMailboxName($mailbox, $delimiter));
+    $shortBoxName = readShortMailboxName($mailbox, $delimiter);
     if ( $shortBoxName == 'INBOX' ) {
         $shortBoxName = _("INBOX");
     }

+ 10 - 1
src/move_messages.php

@@ -200,7 +200,16 @@ if(isset($expungeButton)) {
         }
         $location = get_location();
         if (isset($where) && isset($what)) {
-            header ("Location: $location/search.php?mailbox=".urlencode($mailbox)."&what=".urlencode($what)."&where=".urlencode($where));
+	    if (isset($attache)) {
+		$composesession = attachSelectedMessages($msg, $imapConnection);
+		if ($compose_new_win == '1') {
+        	    header ("Location: $location/search.php?mailbox=".urlencode($mailbox)."&what=".urlencode($what)."&where=".urlencode($where)."&composenew=1&session=$composesession&attachedmessages=true");
+		} else {
+		    header ("Location: $location/compose.php?startMessage=$startMessage&mailbox=". urlencode($mailbox)."&session=$composesession&attachedmessages=true".$wherewhat);
+		}
+	    } else {		
+        	header ("Location: $location/search.php?mailbox=".urlencode($mailbox)."&what=".urlencode($what)."&where=".urlencode($where));
+	    }
 	} elseif(isset($attache)) {
 	    $composesession = attachSelectedMessages($msg, $imapConnection);
 	    if ($compose_new_win == '1') {