From 47124c2279382714afd8dbe4a867a867ea179199 Mon Sep 17 00:00:00 2001 From: thomascube Date: Sat, 12 Apr 2008 13:54:45 +0000 Subject: Changed codebase to PHP5 with autoloader + added some new classes from the devel-vnext branch --- program/include/iniset.php | 98 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100755 program/include/iniset.php (limited to 'program/include/iniset.php') diff --git a/program/include/iniset.php b/program/include/iniset.php new file mode 100755 index 000000000..926b2826f --- /dev/null +++ b/program/include/iniset.php @@ -0,0 +1,98 @@ + | + | Thomas Bruederli | + +-----------------------------------------------------------------------+ + + $Id: cache.inc 88 2005-12-03 16:54:12Z roundcube $ + +*/ + + +// application constants +define('RCMAIL_VERSION', '0.1-trunk'); +define('RCMAIL_CHARSET', 'UTF-8'); +define('JS_OBJECT_NAME', 'rcmail'); + +if (!defined('INSTALL_PATH')) { + define('INSTALL_PATH', dirname($_SERVER['SCRIPT_FILENAME']).'/'); +} + +// make sure path_separator is defined +if (!defined('PATH_SEPARATOR')) { + define('PATH_SEPARATOR', (eregi('win', PHP_OS) ? ';' : ':')); +} + +// 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 +$include_path = INSTALL_PATH . PATH_SEPARATOR; +$include_path.= INSTALL_PATH . 'program' . PATH_SEPARATOR; +$include_path.= INSTALL_PATH . 'program/lib' . PATH_SEPARATOR; +$include_path.= INSTALL_PATH . 'program/include' . PATH_SEPARATOR; +$include_path.= ini_get('include_path'); + +if (set_include_path($include_path) === false) { + die('Fatal error: ini_set/set_include_path does not work.'); +} + +ini_set('session.name', 'roundcube_sessid'); +ini_set('session.use_cookies', 1); +ini_set('session.gc_maxlifetime', 21600); +ini_set('session.gc_divisor', 500); +ini_set('error_reporting', E_ALL&~E_NOTICE); +set_magic_quotes_runtime(0); + +// increase maximum execution time for php scripts +// (does not work in safe mode) +if (!ini_get('safe_mode')) { + set_time_limit(120); +} + +/** + * Use PHP5 autoload for dynamic class loading + * + * @todo Make Zend, PEAR etc play with this + */ +function __autoload($classname) +{ + $filename = preg_replace( + array('/MDB2_(.+)/', '/Mail_(.+)/', '/^html_.+/', '/^utf8$/'), + array('MDB2/\\1', 'Mail/\\1', 'html', 'utf8.class'), + $classname + ); + include_once $filename. '.php'; +} + +/** + * Local callback function for PEAR errors + */ +function rcube_pear_error($err) +{ + error_log(sprintf("%s (%s): %s", + $err->getMessage(), + $err->getCode(), + $err->getUserinfo()), 0); +} + +// include global functions +require_once 'include/bugs.inc'; +require_once 'include/main.inc'; +require_once 'include/rcube_shared.inc'; + + +// set PEAR error handling (will also load the PEAR main class) +PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'rcube_pear_error'); + -- cgit v1.2.3