X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=src%2Fright_main.php;h=03ea014f9f4cee72fbe697d0c147d153ec41954a;hp=07ee9f707b444955e5647a14df974ab018c7d0a5;hb=45c4e0f2653ed11aa2d417923e043440e1d33d77;hpb=90033b640ffb2a1096d76e64b9e0199220231b31 diff --git a/src/right_main.php b/src/right_main.php index 07ee9f70..03ea014f 100644 --- a/src/right_main.php +++ b/src/right_main.php @@ -2,44 +2,23 @@ /** ** right_main.php ** + ** Copyright (c) 1999-2000 The SquirrelMail development 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 ** goes on in SquirrelMail. ** + ** $Id$ **/ - session_start(); + 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'); - 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; - } - - if (!isset($config_php)) - include("../config/config.php"); - if (!isset($imap_php)) - include("../functions/imap.php"); - if (!isset($strings_php)) - include("../functions/strings.php"); - if (!isset($date_php)) - include("../functions/date.php"); - if (!isset($page_header_php)) - include("../functions/page_header.php"); - if (!isset($array_php)) - include("../functions/array.php"); - if (!isset($mime_php)) - include("../functions/mime.php"); - if (!isset($mailbox_display_php)) - include("../functions/mailbox_display.php"); - if (!isset($display_messages_php)) - include("../functions/display_messages.php"); -?> - - -\n"; + if (isset($newsort) && $newsort != $sort) { + setPref($data_dir, $username, 'sort', $newsort); + } // If the page has been loaded without a specific mailbox, - // just show a page of general info. + // send them to the inbox if (!isset($mailbox)) { - displayPageHeader($color, "None"); - general_info($motd, $org_logo, $version, $org_name, $color); - echo ""; - exit; + $mailbox = 'INBOX'; + $startMessage = 1; + } + + // compensate for the UW vulnerability + if ($imap_server_type == 'uw' && (strstr($mailbox, '../') !== false || + substr($mailbox, 0, 1) == '/')) { + $mailbox = 'INBOX'; } sqimap_mailbox_select($imapConnection, $mailbox); - $numMessages = sqimap_get_num_messages ($imapConnection, $mailbox); displayPageHeader($color, $mailbox); + 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 wont 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 ($use_mailbox_cache && session_is_registered("msgs")) { - displayMessageArray($imapConnection, $numMessages, $startMessage, $msgs, $mailbox, $sort, $color,$show_num); + if (! isset($use_mailbox_cache)) + $use_mailbox_cache = 0; + 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")) + 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); - // i have found that only global variables can be registered successfully with a session. therefore - // i am passing in a simple empty variable (msgs) which will be returned with an array and can be - // then registered here as a global variable. whew. - showMessagesForMailbox($imapConnection, $mailbox, $numMessages, $startMessage, $sort, $color, $show_num, $msgs); - - if (session_is_registered("msgs") && isset($msgs)) - session_register("msgs"); + if (session_is_registered('msgs') && isset($msgs)) + session_register('msgs'); + if (session_is_registered('msort') && isset($msort)) + session_register('msort'); + session_register('numMessages'); } - // close the connection + do_hook('right_main_bottom'); sqimap_logout ($imapConnection); ?>