This urlencode(urldecode thing breaks stuff and doesn't add real value.
[squirrelmail.git] / src / right_main.php
index 7750c3304b5a99ad053f32d531735c5590d8694b..dd53d45922c12d4f05f8108753375a6c9c7cac79 100644 (file)
@@ -3,7 +3,7 @@
 /**
  * right_main.php
  *
- * Copyright (c) 1999-2002 The SquirrelMail Project Team
+ * Copyright (c) 1999-2003 The SquirrelMail Project Team
  * Licensed under the GNU GPL. For full terms see the file COPYING.
  *
  * This is where the mailboxes are listed. This controls most of what
  * $Id$
  */
 
-require_once('../src/validate.php');
-require_once('../functions/imap.php');
-require_once('../functions/date.php');
-require_once('../functions/array.php');
-require_once('../functions/mime.php');
-require_once('../functions/mailbox_display.php');
-require_once('../functions/display_messages.php');
-require_once('../functions/html.php');
+/* Path for SquirrelMail required files. */
+define('SM_PATH','../');
+
+/* SquirrelMail required files. */
+require_once(SM_PATH . 'include/validate.php');
+require_once(SM_PATH . 'functions/imap.php');
+require_once(SM_PATH . 'functions/date.php');
+require_once(SM_PATH . 'functions/mime.php');
+require_once(SM_PATH . 'functions/mailbox_display.php');
+require_once(SM_PATH . 'functions/display_messages.php');
+require_once(SM_PATH . 'functions/html.php');
 
 /***********************************************************
  * incoming variables from URL:                            *
@@ -30,23 +33,78 @@ require_once('../functions/html.php');
  *    $mailbox          Full Mailbox name                  *
  *                                                         *
  * incoming from cookie:                                   *
- *    $username         duh                                *
  *    $key              pass                               *
+ * incoming from session:                                  *
+ *    $username         duh                                *
+ *                                                         *
  ***********************************************************/
 
+
+/* lets get the global vars we may need */
+$username = $_SESSION['username'];
+$key  = $_COOKIE['key'];
+$onetimepad = $_SESSION['onetimepad'];
+$base_uri = $_SESSION['base_uri'];
+$delimiter = $_SESSION['delimiter'];
+if (isset($_GET['startMessage'])) {
+    $startMessage = (int) $_GET['startMessage'];
+} elseif (isset($_POST['startMessage'])) {
+    $startMessage = (int) $_POST['startMessage'];
+}
+if (isset($_GET['mailbox'])) {
+    $mailbox = $_GET['mailbox'];
+} else if (isset($_POST['mailbox'])) {
+    $mailbox = $_POST['mailbox'];
+}
+if (isset($_GET['PG_SHOWNUM'])) {
+    $PG_SHOWNUM = (int) $_GET['PG_SHOWNUM'];
+}
+elseif (isset($_SESSION['PG_SHOWNUM'])) {
+    $PG_SHOWNUM = (int) $_SESSION['PG_SHOWNUM'];
+}
+if (isset($_GET['PG_SHOWALL'])) {
+    $PG_SHOWALL = (int) $_GET['PG_SHOWALL'];
+}
+if (isset($_GET['newsort'])) {
+    $newsort = (int) $_GET['newsort'];
+}
+if (isset($_GET['composenew'])) {
+    $composenew = $_GET['composenew'];
+} else {
+    $composenew = false;
+}
+
+if (isset($_GET['checkall'])) {
+    $checkall = (int) $_GET['checkall'];
+}
+if (isset($_GET['set_thread'])) {
+    $set_thread = (int) $_GET['set_thread'];
+}
+if (isset($_SESSION['lastTargetMailbox'])) {
+    $lastTargetMailbox =$_SESSION['lastTargetMailbox'];
+}
+
+if (isset($_GET['session'])) {
+    $session = $_GET['session'];
+}
+
+
+/* end of get globals */
+
+
 /* Open a connection on the imap port (143) */
 
 $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0);
 
-global $PG_SHOWNUM;
 if (isset($PG_SHOWALL)) {
     if ($PG_SHOWALL) {
        $PG_SHOWNUM=999999;
        $show_num=$PG_SHOWNUM;
-       session_register('PG_SHOWNUM');
+       sqsession_register($PG_SHOWNUM, 'PG_SHOWNUM');
     }
     else {
-       session_unregister('PG_SHOWNUM');
+       sqsession_unregister('PG_SHOWNUM');
        unset($PG_SHOWNUM);
     }
 }
@@ -79,7 +137,6 @@ if ($imap_server_type == 'uw' && (strstr($mailbox, '../') ||
 }
 
 /* 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) {
@@ -99,49 +156,46 @@ else {
     $thread_sort_messages = 0;
 } 
 
-global $color;
-/* if( isset($do_hook) && $do_hook ) {
-    do_hook ("generic_header");
-}*/
+do_hook ('generic_header');
 
 sqimap_mailbox_select($imapConnection, $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);
+if ($composenew) {
+    $comp_uri = SM_PATH . 'src/compose.php?mailbox='. urlencode($mailbox).
+               "&session=$session";
+    displayPageHeader($color, $mailbox, "comp_in_new('$comp_uri');", false);
 } else {
     displayPageHeader($color, $mailbox);
 }
-echo "<br>\n";
-
 do_hook('right_main_after_header');
 if (isset($note)) {
     echo html_tag( 'div', '<b>' . $note .'</b>', 'center' ) . "<br>\n";
 }
 
-if ($just_logged_in == true) {
-    $just_logged_in = false;
-
-    if (strlen(trim($motd)) > 0) {
-        echo html_tag( 'table',
-                    html_tag( 'tr',
-                        html_tag( 'td', 
-                            html_tag( 'table',
-                                html_tag( 'tr',
-                                    html_tag( 'td', $motd, 'center' )
-                                ) ,
-                            '', $color[4], 'width="100%" cellpadding="5" cellspacing="1" border="0"' )
-                         )
-                    ) ,
-                'center', $color[9], 'width="70%" cellpadding="0" cellspacing="3" border="0"' );
+if (isset($_SESSION['just_logged_in'])) {
+    $just_logged_in = $_SESSION['just_logged_in'];
+    if ($just_logged_in == true) {
+        $just_logged_in = false;
+
+        if (strlen(trim($motd)) > 0) {
+            echo html_tag( 'table',
+                        html_tag( 'tr',
+                            html_tag( 'td', 
+                                html_tag( 'table',
+                                    html_tag( 'tr',
+                                        html_tag( 'td', $motd, 'center' )
+                                    ) ,
+                                '', $color[4], 'width="100%" cellpadding="5" cellspacing="1" border="0"' )
+                             )
+                        ) ,
+                    'center', $color[9], 'width="70%" cellpadding="0" cellspacing="3" border="0"' );
+        }
     }
 }
 
 if (isset($newsort)) {
     $sort = $newsort;
-    session_register('sort');
+    sqsession_register($sort, 'sort');
 }
 
 /*********************************************************************
@@ -154,25 +208,18 @@ 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')) {
+if ($use_mailbox_cache && sqsession_is_registered('msgs')) {
     showMessagesForMailbox($imapConnection, $mailbox, $numMessages, $startMessage, $sort, $color, $show_num, $use_mailbox_cache);
 } else {
-    if (session_is_registered('msgs')) {
+    if (sqsession_is_registered('msgs')) {
         unset($msgs);
     }
 
-    if (session_is_registered('msort')) {
+    if (sqsession_is_registered('msort')) {
         unset($msort);
     }
 
-    if (session_is_registered('numMessages')) {
+    if (sqsession_is_registered('numMessages')) {
         unset($numMessages);
     }
 
@@ -182,17 +229,17 @@ if ($use_mailbox_cache && session_is_registered('msgs')) {
                            $startMessage, $sort, $color, $show_num,
                            $use_mailbox_cache);
 
-    if (session_is_registered('msgs') && isset($msgs)) {
-        session_register('msgs');
+    if (sqsession_is_registered('msgs') && isset($msgs)) {
+        sqsession_register($msgs, 'msgs');
         $_SESSION['msgs'] = $msgs;
     }
 
-    if (session_is_registered('msort') && isset($msort)) {
-        session_register('msort');
+    if (sqsession_is_registered('msort') && isset($msort)) {
+        sqsession_register($msort, 'msort');
         $_SESSION['msort'] = $msort;
     }
 
-    session_register('numMessages');
+    sqsession_register($numMessages, 'numMessages');
     $_SESSION['numMessages'] = $numMessages;
 }
 do_hook('right_main_bottom');