diff options
Diffstat (limited to 'program')
| -rw-r--r-- | program/lib/Roundcube/rcube.php | 49 | ||||
| -rw-r--r-- | program/steps/mail/func.inc | 13 | 
2 files changed, 27 insertions, 35 deletions
| diff --git a/program/lib/Roundcube/rcube.php b/program/lib/Roundcube/rcube.php index 4ff0a00d7..7d28dce13 100644 --- a/program/lib/Roundcube/rcube.php +++ b/program/lib/Roundcube/rcube.php @@ -355,29 +355,6 @@ class rcube          // for backward compat. (deprecated, will be removed)          $this->imap = $this->storage; -        // enable caching of mail data -        $storage_cache  = $this->config->get("{$driver}_cache"); -        $messages_cache = $this->config->get('messages_cache'); -        // for backward compatybility -        if ($storage_cache === null && $messages_cache === null && $this->config->get('enable_caching')) { -            $storage_cache  = 'db'; -            $messages_cache = true; -        } - -        if ($storage_cache) { -            $this->storage->set_caching($storage_cache); -        } -        if ($messages_cache) { -            $this->storage->set_messages_caching(true); -        } - -        // set pagesize from config -        $pagesize = $this->config->get('mail_pagesize'); -        if (!$pagesize) { -            $pagesize = $this->config->get('pagesize', 50); -        } -        $this->storage->set_pagesize($pagesize); -          // set class options          $options = array(              'auth_type'   => $this->config->get("{$driver}_auth_type", 'check'), @@ -412,19 +389,35 @@ class rcube      /**       * Set storage parameters. -     * This must be done AFTER connecting to the server!       */      protected function set_storage_prop()      {          $storage = $this->get_storage(); +        // set pagesize from config +        $pagesize = $this->config->get('mail_pagesize'); +        if (!$pagesize) { +            $pagesize = $this->config->get('pagesize', 50); +        } + +        $storage->set_pagesize($pagesize);          $storage->set_charset($this->config->get('default_charset', RCUBE_CHARSET)); -        if (isset($_SESSION['mbox'])) { -            $storage->set_folder($_SESSION['mbox']); +        // enable caching of mail data +        $driver         = $this->config->get('storage_driver', 'imap'); +        $storage_cache  = $this->config->get("{$driver}_cache"); +        $messages_cache = $this->config->get('messages_cache'); +        // for backward compatybility +        if ($storage_cache === null && $messages_cache === null && $this->config->get('enable_caching')) { +            $storage_cache  = 'db'; +            $messages_cache = true;          } -        if (isset($_SESSION['page'])) { -            $storage->set_page($_SESSION['page']); + +        if ($storage_cache) { +            $storage->set_caching($storage_cache); +        } +        if ($messages_cache) { +            $storage->set_messages_caching(true);          }      } diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index f711da3e1..c123fe84a 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -24,16 +24,15 @@  $RCMAIL->storage_init();  // set imap properties and session vars -if (strlen(trim($mbox = rcube_utils::get_input_value('_mbox', rcube_utils::INPUT_GPC, true)))) { -    $RCMAIL->storage->set_folder(($_SESSION['mbox'] = $mbox)); +if (!strlen($mbox = rcube_utils::get_input_value('_mbox', rcube_utils::INPUT_GPC, true))) { +    $mbox = strlen($_SESSION['mbox']) ? $_SESSION['mbox'] : 'INBOX';  } -else if ($RCMAIL->storage) { -    $_SESSION['mbox'] = $RCMAIL->storage->get_folder(); +if (!($page = intval($_GET['_page']))) { +    $page = $_SESSION['page'] ? $_SESSION['page'] : 1;  } -if (!empty($_GET['_page'])) { -    $RCMAIL->storage->set_page(($_SESSION['page'] = intval($_GET['_page']))); -} +$RCMAIL->storage->set_folder($_SESSION['mbox'] = $mbox); +$RCMAIL->storage->set_page($_SESSION['page'] = $page);  $a_threading        = $RCMAIL->config->get('message_threading', array());  $message_sort_col   = $RCMAIL->config->get('message_sort_col'); | 
