fixed comp_in_new handling
[squirrelmail.git] / src / right_main.php
index 6e4dbd92224c51344fd99a544764ea0f69e2493e..d858149488494e9319db85986d6a8f28ce3a736f 100644 (file)
@@ -36,9 +36,22 @@ require_once('../functions/display_messages.php');
 $bob = getHashedFile($username, $data_dir, "username.pref");
 
 /* Open a connection on the imap port (143) */
+
 $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0);
 
-if( isset( $PG_SHOWNUM ) ) {
+global $PG_SHOWNUM;
+if (isset($PG_SHOWALL)) {
+    if ($PG_SHOWALL) {
+       $PG_SHOWNUM=999999;
+       $show_num=$PG_SHOWNUM;
+       session_register('PG_SHOWNUM');
+    }
+    else {
+       session_unregister('PG_SHOWNUM');
+       unset($PG_SHOWNUM);
+    }
+}
+else if( isset( $PG_SHOWNUM ) ) {
     $show_num = $PG_SHOWNUM;
 }
 
@@ -46,13 +59,16 @@ if (isset($newsort) && $newsort != $sort) {
     setPref($data_dir, $username, 'sort', $newsort);
 }
 
+
+
 /* If the page has been loaded without a specific mailbox, */
 /* send them to the inbox                                  */
 if (!isset($mailbox)) {
     $mailbox = 'INBOX';
     $startMessage = 1;
 }
-   
+
+
 if (!isset($startMessage) || ($startMessage == '')) {
     $startMessage = 1;
 }
@@ -63,12 +79,45 @@ if ($imap_server_type == 'uw' && (strstr($mailbox, '../') ||
    $mailbox = 'INBOX';
 }
 
+/* decide if we are thread sorting or not */
+global $allow_thread_sort;
+if ($allow_thread_sort == TRUE) {
+    if (isset($set_thread)) {
+        if ($set_thread == 1) {
+            setPref($data_dir, $username, "thread_$mailbox", 1);
+            $thread_sort_messages = '1';    
+        }
+        elseif ($set_thread == 2)  {
+            setPref($data_dir, $username, "thread_$mailbox", 0);
+            $thread_sort_messages = '0';    
+        }
+    }
+    else {
+        $thread_sort_messages = getPref($data_dir, $username, "thread_$mailbox");
+    }
+}
+else {
+    $thread_sort_messages = 0;
+} 
+
+global $color;
+if( isset($do_hook) && $do_hook ) {
+    do_hook ("generic_header");
+}
+
 sqimap_mailbox_select($imapConnection, $mailbox);
-displayPageHeader($color, $mailbox);
+
+if (isset($composenew) && $composenew) {
+    $comp_uri = "../src/compose.php?mailbox=". urlencode($mailbox).
+               "&session=$composesession&attachedmessages=true&amp";
+
+    displayPageHeader($color, $mailbox, "comp_in_new(false,'$comp_uri');", false);
+} else {
+    displayPageHeader($color, $mailbox);
+}
 echo "<br>\n";
 
 do_hook('right_main_after_header');
-
 if (isset($note)) {
     echo "<CENTER><B>$note</B></CENTER><BR>\n";
 }
@@ -103,6 +152,13 @@ if (! isset($use_mailbox_cache)) {
     $use_mailbox_cache = 0;
 }
 
+/* There is a problem with registered vars in 4.1 */
+/*
+if( substr( phpversion(), 0, 3 ) == '4.1'  ) {
+    $use_mailbox_cache = FALSE;
+}
+*/
+
 if ($use_mailbox_cache && session_is_registered('msgs')) {
     showMessagesForMailbox($imapConnection, $mailbox, $numMessages, $startMessage, $sort, $color, $show_num, $use_mailbox_cache);
 } else {
@@ -126,15 +182,17 @@ if ($use_mailbox_cache && session_is_registered('msgs')) {
 
     if (session_is_registered('msgs') && isset($msgs)) {
         session_register('msgs');
+        $_SESSION['msgs'] = $msgs;
     }
 
     if (session_is_registered('msort') && isset($msort)) {
         session_register('msort');
+        $_SESSION['msort'] = $msort;
     }
 
     session_register('numMessages');
+    $_SESSION['numMessages'] = $numMessages;
 }
-
 do_hook('right_main_bottom');
 sqimap_logout ($imapConnection);