diff options
Diffstat (limited to 'webmail/installer/utils.php')
| -rw-r--r-- | webmail/installer/utils.php | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/webmail/installer/utils.php b/webmail/installer/utils.php new file mode 100644 index 0000000..d559df1 --- /dev/null +++ b/webmail/installer/utils.php @@ -0,0 +1,70 @@ +<?php +/* + +-------------------------------------------------------------------------+ + | Roundcube Webmail installer utilities | + | | + | Copyright (C) 2005-2011, The Roundcube Dev Team | + | | + | Licensed under the GNU General Public License version 3 or | + | any later version with exceptions for skins & plugins. | + | See the README file for a full license statement. | + | | + +-------------------------------------------------------------------------+ + | Author: Thomas Bruederli <roundcube@gmail.com> | + +-------------------------------------------------------------------------+ + + $Id: index.php 2696 2009-07-02 06:38:26Z thomasb $ + +*/ + +/** + * Use PHP5 autoload for dynamic class loading + * (copy from program/include/iniset.php) + */ +function __autoload($classname) +{ + $filename = preg_replace( + array( + '/MDB2_(.+)/', + '/Mail_(.+)/', + '/Net_(.+)/', + '/Auth_(.+)/', + '/^html_.+/', + '/^utf8$/' + ), + array( + 'MDB2/\\1', + 'Mail/\\1', + 'Net/\\1', + 'Auth/\\1', + 'html', + 'utf8.class' + ), + $classname + ); + include_once $filename. '.php'; +} + + +/** + * Fake internal error handler to catch errors + */ +function raise_error($p) +{ + $rci = rcube_install::get_instance(); + $rci->raise_error($p); +} + +/** + * Local callback function for PEAR errors + */ +function rcube_pear_error($err) +{ + raise_error(array( + 'code' => $err->getCode(), + 'message' => $err->getMessage(), + )); +} + +// set PEAR error handling (will also load the PEAR main class) +PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'rcube_pear_error'); |
