From 5e35126796f14e0910a007972779d96fd49e1789 Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Wed, 25 Jan 2006 17:56:53 -0500 Subject: [PATCH] Added folder purge function and some checks --- index.php | 58 ++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 42 insertions(+), 16 deletions(-) diff --git a/index.php b/index.php index a32fcea..527f4f2 100644 --- a/index.php +++ b/index.php @@ -1,9 +1,8 @@ <?php - /* +-----------------------------------------------------------------------+ | RoundCube Webmail IMAP Client | - | Version 0.1-20051018 | + | Version 0.1-20060104 | | | | Copyright (C) 2005, RoundCube Dev. - Switzerland | | Licensed under the GNU GPL | @@ -41,26 +40,34 @@ */ +define('RCMAIL_VERSION', '0.1-20060104'); + + // define global vars -$INSTALL_PATH = './'; +$INSTALL_PATH = dirname($_SERVER['SCRIPT_FILENAME']); $OUTPUT_TYPE = 'html'; $JS_OBJECT_NAME = 'rcmail'; -$CURRENT_PATH=dirname($_SERVER['SCRIPT_FILENAME']); +$CHARSET = 'UTF-8'; -if ($CURRENT_PATH!='') - $CURRENT_PATH.='/'; +if (empty($INSTALL_PATH)) + $INSTALL_PATH = './'; +else + $INSTALL_PATH .= '/'; -// set environment first -ini_set('include_path', $INSTALL_PATH.PATH_SEPARATOR.$CURRENT_PATH.'program'.PATH_SEPARATOR.$CURRENT_PATH.'program/lib'.PATH_SEPARATOR.ini_get('include_path')); +// RC include folders MUST be included FIRST to avoid other +// possible not compatible libraries (i.e PEAR) to be included +// instead the ones provided by RC +ini_set('include_path', $INSTALL_PATH.PATH_SEPARATOR.$INSTALL_PATH.'program'.PATH_SEPARATOR.$INSTALL_PATH.'program/lib'.PATH_SEPARATOR.ini_get('include_path')); + ini_set('session.name', 'sessid'); ini_set('session.use_cookies', 1); -ini_set('error_reporting', E_ALL&~E_NOTICE); - +ini_set('session.gc_maxlifetime', 21600); +ini_set('session.gc_divisor', 500); +ini_set('error_reporting', E_ALL&~E_NOTICE); // increase maximum execution time for php scripts // (does not work in safe mode) -@set_time_limit('120'); - +@set_time_limit(120); // include base files require_once('include/rcube_shared.inc'); @@ -96,7 +103,7 @@ if ($_framed) { $COMM_PATH .= '&_framed=1'; - $SESS_HIDDEN_FIELD = "\n".'<input type="hidden" name="_framed" value="1" />'; + $SESS_HIDDEN_FIELD .= "\n".'<input type="hidden" name="_framed" value="1" />'; } @@ -141,10 +148,10 @@ } // check session cookie and auth string -else if ($_action!='login' && $_auth && $sess_auth) +else if ($_action!='login' && $sess_auth && $_SESSION['user_id']) { if ($_auth !== $sess_auth || $_auth != rcmail_auth_hash($_SESSION['client_id'], $_SESSION['auth_time']) || - ($CONFIG['session_lifetime'] && $SESS_CHANGED + $CONFIG['session_lifetime']*60 < mktime())) + ($CONFIG['session_lifetime'] && isset($SESS_CHANGED) && $SESS_CHANGED + $CONFIG['session_lifetime']*60 < mktime())) { $message = show_message('sessionerror', 'error'); rcmail_kill_session(); @@ -197,6 +204,13 @@ } +// handle keep-alive signal +if ($_action=='keep-alive') + { + rcube_remote_response(''); + exit; + } + // include task specific files if ($_task=='mail') @@ -229,6 +243,15 @@ if ($_action=='addcontact') include('program/steps/mail/addcontact.inc'); + + if ($_action=='expunge' || $_action=='purge') + include('program/steps/mail/folders.inc'); + + if ($_action=='check-recent') + include('program/steps/mail/check_recent.inc'); + + if ($_action=='getunread') + include('program/steps/mail/getunread.inc'); if ($_action=='list' && $_GET['_remote']) include('program/steps/mail/list.inc'); @@ -258,6 +281,9 @@ if ($_action=='list' && $_GET['_remote']) include('program/steps/addressbook/list.inc'); + + if ($_action=='ldappublicsearch') + include('program/steps/addressbook/ldapsearchform.inc'); } @@ -302,4 +328,4 @@ 'file' => __FILE__, 'message' => "Invalid request"), TRUE, TRUE); -?> \ No newline at end of file +?> -- Gitblit v1.9.1