X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fright_main.php;h=b8bf19ab492d77119bff1f4b1becccb8f68445b6;hb=8061a3fb7663a4e8edf2f415e5547fc81bcdbcb6;hp=cbc699f9820bde98009b6514d08366e124b07afb;hpb=a09387f473293a14a597f6ee0afc9714700fb040;p=squirrelmail.git diff --git a/src/right_main.php b/src/right_main.php index cbc699f9..b8bf19ab 100644 --- a/src/right_main.php +++ b/src/right_main.php @@ -1,34 +1,23 @@ -login first."; - exit; - } - if(!isset($username) || !isset($key)) { - echo "You need a valid user and password to access this page!"; - exit; - } -?> - - - -"; - echo "$errorNumber : $errorString
"; - exit; - } - $serverInfo = fgets($imapConnection, 256); + $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0); - // login - fputs($imapConnection, "1 login $username $key\n"); - $read = fgets($imapConnection, 1024); - if (strpos($read, "NO")) { - error_username_password_incorrect(); - exit; + 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("None"); - general_info($motd, $org_logo, $version, $org_name); - exit; + $mailbox = 'INBOX'; + $startMessage = 1; } - // switch to the mailbox, and get the number of messages in it. - selectMailbox($imapConnection, $mailbox, $numMessages); + // compensate for the UW vulnerability + if ($imap_server_type == 'uw' && (strstr($mailbox, '../') !== false || + substr($mailbox, 0, 1) == '/')) { + $mailbox = 'INBOX'; + } - // Display the header at the top of the page - displayPageHeader($mailbox); + sqimap_mailbox_select($imapConnection, $mailbox); + displayPageHeader($color, $mailbox); - // Get the list of messages for this mailbox - showMessagesForMailbox($imapConnection, $mailbox, $numMessages, $startMessage, $sort); + do_hook('right_main_after_header'); + + if (isset($just_logged_in) && $just_logged_in == 1 && + strlen(trim($motd)) > 0) { + echo "

\n"; + echo "
\n"; + echo "
\n"; + echo "$motd\n"; + echo "
\n"; + echo "
\n"; + echo "

\n"; + } + + 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 (! 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')) + 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'); + if (session_is_registered('msort') && isset($msort)) + session_register('msort'); + session_register('numMessages'); + } - // close the connection - fclose($imapConnection); + do_hook('right_main_bottom'); + sqimap_logout ($imapConnection); ?>