X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=src%2Fright_main.php;h=61ecf2cd3631b70385a2fc1cba8d3eaf24844f59;hp=f974d4299df9216879cebf98e74257fefcfccd0b;hb=24e8917ead46268f6a4264900c832b4a5c37ee84;hpb=969c1e9fcec1fb8c0e67004dc5f22aee9cc4d003 diff --git a/src/right_main.php b/src/right_main.php index f974d429..61ecf2cd 100644 --- a/src/right_main.php +++ b/src/right_main.php @@ -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-2020 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. */ @@ -89,7 +88,8 @@ if ( sqgetGlobalVar('account', $account, SQ_GET) ) { /* Open an imap connection */ -$imapConnection = sqimap_login($username, false, $imapServerAddress, $imapPort, 0); +global $imap_stream_options; // in case not defined in config +$imapConnection = sqimap_login($username, false, $imapServerAddress, $imapPort, 0, $imap_stream_options); $mailbox = (isset($mailbox) && $mailbox) ? $mailbox : 'INBOX'; @@ -128,8 +128,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 +237,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 +266,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 +279,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; } @@ -314,7 +320,7 @@ if (isset($mail_sent) && $mail_sent == 'yes') { $note = _("Your mail has been sent."); } if (isset($note)) { - $oTemplate->assign('note', htmlspecialchars($note)); + $oTemplate->assign('note', sm_encode_html_special_chars($note)); $oTemplate->display('note.tpl'); } @@ -357,6 +363,10 @@ if ($aMailbox['EXISTS'] > 0) { 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 {