X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fright_main.php;h=a4db4efe1d68339cf39c0004ec9b156f1f9e0e89;hb=7b7834759e60809a314dbf7be376f5cac26d1c90;hp=32715d63a8fbf95a047f0939eb3e06f2651082d7;hpb=20db5033a7f36d40c7fe11d561069de9c9a2a970;p=squirrelmail.git
diff --git a/src/right_main.php b/src/right_main.php
index 32715d63..a4db4efe 100644
--- a/src/right_main.php
+++ b/src/right_main.php
@@ -1,88 +1,201 @@
-
- /**
- ** right_main.php3
- **
- ** This is where the mailboxes are listed. This controls most of what
- ** goes on in SquirrelMail.
- **
- **/
-
- if(!isset($logged_in)) {
- echo "You must login first.";
- exit;
- }
- if(!isset($username) || !isset($key)) {
- echo "You need a valid user and password to access this page!";
- exit;
- }
-?>
-
-
-
-
- include("../config/config.php3");
- include("../functions/imap.php3");
- include("../functions/strings.php3");
- include("../functions/date.php3");
- include("../functions/page_header.php3");
- include("../functions/array.php3");
- include("../functions/mailbox.php3");
- include("../functions/mailbox_display.php3");
- include("../functions/display_messages.php3");
-
- /////////////////////////////////////////////////////////////////////////////////
- //
- // incoming variables from URL:
- // $sort Direction to sort by date
- // values: 0 - descending order
- // values: 1 - ascending order
- // $startMessage Message to start at
- // $mailbox Full Mailbox name
- //
- // incoming from cookie:
- // $username duh
- // $key pass
- //
- /////////////////////////////////////////////////////////////////////////////////
-
-
- // open a connection on the imap port (143)
- $imapConnection = fsockopen($imapServerAddress, 143, &$errorNumber, &$errorString);
- if (!$imapConnection) {
- echo "Error connecting to IMAP Server.
";
- echo "$errorNumber : $errorString
";
- exit;
- }
- $serverInfo = fgets($imapConnection, 256);
-
- // login
- fputs($imapConnection, "1 login $username $key\n");
- $read = fgets($imapConnection, 1024);
- if (strpos($read, "NO")) {
- error_username_password_incorrect();
- exit;
- }
-
- // If the page has been loaded without a specific mailbox,
- // just show a page of general info.
- if (!isset($mailbox)) {
- displayPageHeader("None");
- general_info($motd, $org_logo, $version, $org_name);
- exit;
- }
-
- // switch to the mailbox, and get the number of messages in it.
- selectMailbox($imapConnection, $mailbox, $numMessages);
-
- // Display the header at the top of the page
- displayPageHeader($mailbox);
-
- // Get the list of messages for this mailbox
- showMessagesForMailbox($imapConnection, $mailbox, $numMessages, $startMessage, $sort);
-
- // close the connection
- fclose($imapConnection);
-?>
-
-
-
+\n";
+
+do_hook('right_main_after_header');
+if (isset($note)) {
+ echo "$note
\n";
+}
+
+if ($just_logged_in == true) {
+ $just_logged_in = false;
+
+ if (strlen(trim($motd)) > 0) {
+ echo "
" .
+ '' .
+ "" .
+ "$motd";
+ do_hook('motd');
+ echo ' | ' .
+ ' ' .
+ ' |
';
+ }
+}
+
+if (isset($newsort)) {
+ $sort = $newsort;
+ session_register('sort');
+}
+
+/*********************************************************************
+ * Check to see if we can use cache or not. Currently the only time *
+ * when you will not use it is when a link on the left hand frame is *
+ * used. Also check to make sure we actually have the array in the *
+ * registered session data. :) *
+ *********************************************************************/
+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 {
+ if (session_is_registered('msgs')) {
+ unset($msgs);
+ }
+
+ if (session_is_registered('msort')) {
+ unset($msort);
+ }
+
+ if (session_is_registered('numMessages')) {
+ unset($numMessages);
+ }
+
+ $numMessages = sqimap_get_num_messages ($imapConnection, $mailbox);
+
+ showMessagesForMailbox($imapConnection, $mailbox, $numMessages,
+ $startMessage, $sort, $color, $show_num,
+ $use_mailbox_cache);
+
+ 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);
+
+echo '