-/*********************************************************************
- * 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;
+/**
+ * Properties required by showMessagesForMailbox
+ */
+$aProps = array(
+ 'columns' => $aColumns, // columns bound settings
+ 'config' => array('alt_index_colors' => $alt_index_colors, // alternating row colors (should be a template thing)
+ 'highlight_list' => $message_highlight_list, // row highlighting rules
+ 'fancy_index_highlite' => $fancy_index_highlite, // highlight rows on hover or on click -> check
+ 'show_flag_buttons' => (isset($show_flag_buttons)) ? $show_flag_buttons : true,
+ 'lastTargetMailbox' => (isset($lastTargetMailbox)) ? $lastTargetMailbox : '', // last mailbox where messages are moved/copied to
+ 'trash_folder' => $trash_folder,
+ 'sent_folder' => $sent_folder,
+ 'draft_folder' => $draft_folder,
+ 'color' => $color,
+ 'enablesort' => true // enable sorting on columns
+ ),
+ 'mailbox' => $mailbox,
+ 'account' => (isset($account)) ? $account : 0, // future usage if we support multiple imap accounts
+ 'module' => 'read_body',
+ 'email' => false);
+
+
+/**
+ * system wide admin settings and incoming vars.
+ */
+$aConfig = array(
+ 'user' => $username,
+ // incoming vars
+ 'offset' => $startMessage // offset in paginator
+ );
+/**
+ * The showall functionality is for the moment added to the config array
+ * to avoid storage of the showall link in the mailbox pref. We could change
+ * this behaviour later and add it to $aMailboxPref instead
+ */
+if (isset($showall)) {
+ $aConfig['showall'] = $showall; // show all messages in a mailbox (paginator is disabled)
+} else {
+ $showall = false;
+}
+
+
+/**
+ * Retrieve the mailbox cache from the session.
+ */
+sqgetGlobalVar('mailbox_cache',$mailbox_cache,SQ_SESSION);
+
+/**
+ * Select the mailbox and retrieve the cached info.
+ */
+$aMailbox = sqm_api_mailbox_select($imapConnection,$account, $mailbox,$aConfig,$aMailboxPref);
+
+/**
+ * MOVE THIS to a central init section !!!!
+ */
+if (!sqgetGlobalVar('align',$align,SQ_SESSION)) {
+ $dir = ( isset( $languages[$squirrelmail_language]['DIR']) ) ? $languages[$squirrelmail_language]['DIR'] : 'ltr';
+ if ( $dir == 'ltr' ) {
+ $align = array('left' => 'left', 'right' => 'right');
+ } else {
+ $align = array('left' => 'right', 'right' => 'left');
+ }
+ sqsession_register($align, 'align');