From 6d2714b3b3660f8a4efbb9c53e00b76245c2bcc2 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Fri, 11 Apr 2008 12:53:59 -0400
Subject: [PATCH] #1484972: optimization: mark as read in one action with preview, deleted redundant quota reads

---
 index.php |   30 +++++++++++++++++++++---------
 1 files changed, 21 insertions(+), 9 deletions(-)

diff --git a/index.php b/index.php
index 1cea295..b160dd6 100644
--- a/index.php
+++ b/index.php
@@ -2,9 +2,9 @@
 /*
  +-----------------------------------------------------------------------+
  | RoundCube Webmail IMAP Client                                         |
- | Version 0.1-20071210                                                  |
+ | Version 0.1-20080328                                                  |
  |                                                                       |
- | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland                 |
+ | Copyright (C) 2005-2008, RoundCube Dev. - Switzerland                 |
  | Licensed under the GNU GPL                                            |
  |                                                                       |
  | Redistribution and use in source and binary forms, with or without    |
@@ -41,7 +41,7 @@
 */
 
 // application constants
-define('RCMAIL_VERSION', '0.1-20071210');
+define('RCMAIL_VERSION', '0.1-trunk');
 define('RCMAIL_CHARSET', 'UTF-8');
 define('JS_OBJECT_NAME', 'rcmail');
 
@@ -103,8 +103,12 @@
 if ($_action != 'get' && $_action != 'viewsource')
 {
   // use gzip compression if supported
-  if (function_exists('ob_gzhandler') && !ini_get('zlib.output_compression'))
+  if (function_exists('ob_gzhandler')
+    && !ini_get('zlib.output_compression')
+    && ini_get('output_handler') != 'ob_gzhandler')
+  {
     ob_start('ob_gzhandler');
+  }
   else
     ob_start();
 }
@@ -156,7 +160,7 @@
     $OUTPUT->show_message("cookiesdisabled", 'warning');
   }
   else if ($_SESSION['temp'] && !empty($_POST['_user']) && isset($_POST['_pass']) &&
-           rcmail_login(get_input_value('_user', RCUBE_INPUT_POST),
+           rcmail_login(trim(get_input_value('_user', RCUBE_INPUT_POST), ' '),
               get_input_value('_pass', RCUBE_INPUT_POST, true, 'ISO-8859-1'), $host))
   {
     // create new session ID
@@ -181,6 +185,7 @@
 else if (($_task=='logout' || $_action=='logout') && isset($_SESSION['user_id']))
 {
   $OUTPUT->show_message('loggedout');
+  rcmail_logout_actions();
   rcmail_kill_session();
 }
 
@@ -240,6 +245,17 @@
 // not logged in -> show login page
 if (empty($USER->ID))
 {
+  // check if installer is still active
+  if ($CONFIG['enable_installer'] && is_readable('./installer/index.php'))
+    $OUTPUT->add_footer('
+  <div style="background:#ef9398; border:2px solid #dc5757; padding:0.5em; margin:2em auto; width:50em">
+  <h2 style="margin-top:0.2em">Installer script is still accessible</h2>
+  <p>The install script of your RoundCube installation is still stored in its default location!</p>
+  <p>Please <b>remove</b> the whole <tt>installer</tt> folder from the RoundCube directory because
+  these files may expose sensitive configuration data like server passwords and encryption keys
+  to the public. Make sure you cannot access the <a href="./installer/">installer script</a> from your browser.</p>
+  </div>');
+  
   $OUTPUT->task = 'login';
   $OUTPUT->send('login');
   exit;
@@ -310,10 +326,6 @@
   if ($_action=='rss')
     include('program/steps/mail/rss.inc');
     
-  if ($_action=='quotadisplay')
-    include('program/steps/mail/quotadisplay.inc');
-
-
   // make sure the message count is refreshed
   $IMAP->messagecount($_SESSION['mbox'], 'ALL', TRUE);
 }

--
Gitblit v1.9.1