Clear checkbox selections when form is processed
[squirrelmail.git] / src / right_main.php
index b72f8c376f13701fa1c04253e494de899873684c..05ad7eb4dc771b3f8c96e6631f4c405e6fbc764c 100644 (file)
@@ -6,7 +6,7 @@
  * This is where the mailboxes are listed. This controls most of what
  * goes on in SquirrelMail.
  *
- * @copyright © 1999-2007 The SquirrelMail Project Team
+ * @copyright 1999-2012 The SquirrelMail Project Team
  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  * @version $Id$
  * @package squirrelmail
@@ -17,7 +17,6 @@ define('PAGE_NAME', 'right_main');
 
 //xdebug_start_profiling("/var/spool/xdebug/right_main.txt");
 
-
 /**
  * Include the SquirrelMail initialization file.
  */
@@ -128,8 +127,8 @@ $aMailboxPref[MBX_PREF_COLUMNS] = $index_order;
 /**
  * Replace From => To  in case it concerns a draft or sent folder
  */
-if (($mailbox == $sent_folder || $mailbox == $draft_folder) &&
   !in_array(SQM_COL_TO,$aMailboxPref[MBX_PREF_COLUMNS])) {
+if (handleAsSent($mailbox)
&& !in_array(SQM_COL_TO,$aMailboxPref[MBX_PREF_COLUMNS])) {
     $aNewOrder = array(); // nice var name ;)
     foreach($aMailboxPref[MBX_PREF_COLUMNS] as $iCol) {
         if ($iCol == SQM_COL_FROM) {
@@ -237,6 +236,8 @@ if (!sqgetGlobalVar('align',$align,SQ_SESSION)) {
 $sError = handleMessageListForm($imapConnection,$aMailbox);
 if ($sError) {
    $note = $sError;
+} else if (sqgetGlobalVar('REQUEST_METHOD', $req_method, SQ_SERVER) && $req_method == 'POST') {
+   $preselected = array(); // clear pre-checked checkboxes when action succeeded
 }
 
 
@@ -264,8 +265,10 @@ if (isset($aMailbox['FORWARD_SESSION'])) {
             $compose_height = '550';
         }
         // do not use &, it will break the query string and $session will not be detected!!!
-        $comp_uri = SM_PATH . 'src/compose.php?mailbox='. urlencode($mailbox).
-                    '&session='.urlencode($aMailbox['FORWARD_SESSION']);
+        $comp_uri = $base_uri . 'src/compose.php?mailbox='. urlencode($mailbox)
+                  . '&session='.urlencode($aMailbox['FORWARD_SESSION']['SESSION_NUMBER'])
+                  . '&smaction=forward_as_attachment'
+                  . '&fwduid=' . implode('_', $aMailbox['FORWARD_SESSION']['UIDS']);
         $onload = "comp_in_new('$comp_uri', $compose_width, $compose_height);";
     } else {
         $mailbox_cache[$account.'_'.$aMailbox['NAME']] = $aMailbox;
@@ -275,8 +278,10 @@ if (isset($aMailbox['FORWARD_SESSION'])) {
         sqsession_register($aMailbox,'aLastSelectedMailbox');
         session_write_close();
         // we have to redirect to the compose page
-        $location = SM_PATH . 'src/compose.php?mailbox='. urlencode($mailbox).
-                    '&session='.$aMailbox['FORWARD_SESSION'];
+        $location = $base_uri . 'src/compose.php?mailbox='. urlencode($mailbox)
+                  . '&session='.$aMailbox['FORWARD_SESSION']['SESSION_NUMBER']
+                  . '&smaction=forward_as_attachment'
+                  . '&fwduid=' . implode('_', $aMailbox['FORWARD_SESSION']['UIDS']);
         header("Location: $location");
         exit;
     }
@@ -354,6 +359,13 @@ if ($aMailbox['EXISTS'] > 0) {
     $oTemplate->assign('checkall', $checkall);
     $oTemplate->assign('preselected', $preselected);
 
+    global $show_personal_names;
+    $oTemplate->assign('show_personal_names', $show_personal_names);
+
+    global $accesskey_mailbox_toggle_selected, $accesskey_mailbox_thread;
+    $oTemplate->assign('accesskey_mailbox_toggle_selected', $accesskey_mailbox_toggle_selected);
+    $oTemplate->assign('accesskey_mailbox_thread', $accesskey_mailbox_thread);
+
     $oTemplate->display('message_list.tpl');
 
 } else {