diff options
author | Meik Sievertsen <acydburn@phpbb.com> | 2009-06-07 18:07:13 +0000 |
---|---|---|
committer | Meik Sievertsen <acydburn@phpbb.com> | 2009-06-07 18:07:13 +0000 |
commit | ac6469ab7daaa1a83634290949fb5098a33dd761 (patch) | |
tree | d565f163b3b57dadec23ebafa2e86c639c0499dc /phpBB/includes | |
parent | f6fd198de229fb079f645d5516ccc2935e06be76 (diff) | |
download | forums-ac6469ab7daaa1a83634290949fb5098a33dd761.tar forums-ac6469ab7daaa1a83634290949fb5098a33dd761.tar.gz forums-ac6469ab7daaa1a83634290949fb5098a33dd761.tar.bz2 forums-ac6469ab7daaa1a83634290949fb5098a33dd761.tar.xz forums-ac6469ab7daaa1a83634290949fb5098a33dd761.zip |
merge nils' changes into 3.2.x (i am still not sure if we want to have them in 3.0.x - therefore i suggest we test them in 3.2.x)
The default search plugin in 3.0.x will not change, but if the test goes well we may allow this to be installed in 3.0.x through the "contrib method"
git-svn-id: file:///svn/phpbb/trunk@9558 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes')
-rw-r--r-- | phpBB/includes/Zend/Exception.php | 30 | ||||
-rw-r--r-- | phpBB/includes/Zend/loader.php | 58 | ||||
-rw-r--r-- | phpBB/includes/ezcomponents/loader.php | 73 |
3 files changed, 161 insertions, 0 deletions
diff --git a/phpBB/includes/Zend/Exception.php b/phpBB/includes/Zend/Exception.php new file mode 100644 index 0000000000..599d8a033e --- /dev/null +++ b/phpBB/includes/Zend/Exception.php @@ -0,0 +1,30 @@ +<?php +/** + * Zend Framework + * + * LICENSE + * + * This source file is subject to the new BSD license that is bundled + * with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://framework.zend.com/license/new-bsd + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@zend.com so we can send you a copy immediately. + * + * @category Zend + * @package Zend + * @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + + +/** + * @category Zend + * @package Zend + * @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ +class Zend_Exception extends Exception +{} + diff --git a/phpBB/includes/Zend/loader.php b/phpBB/includes/Zend/loader.php new file mode 100644 index 0000000000..99a5543901 --- /dev/null +++ b/phpBB/includes/Zend/loader.php @@ -0,0 +1,58 @@ +<?php +/** +* +* @package zend +* @version $Id$ +* @copyright (c) 2005 phpBB Group +* @license http://opensource.org/licenses/gpl-license.php GNU Public License +* +*/ + +/** +* @ignore +*/ +if (!defined('IN_PHPBB')) +{ + exit; +} + +if (version_compare(PHP_VERSION, '5.2.4', '<') || !function_exists('spl_autoload_register')) +{ + trigger_error('PHP >= 5.2.4 and spl_autoload_register() required', E_USER_ERROR); +} + +/** +* Autoload function for Zend framework classes +*/ +function phpbb_zend_autoload($class_name) +{ + global $phpbb_root_path; + + if (strpos($class_name, '_') !== false) + { + $path = str_replace('_', '/', $class_name) . '.php'; + require("{$phpbb_root_path}includes/" . $path); + return true; + } +} + +/** +* @ignore +*/ +// make sure Zend is in the include path +ini_set( 'include_path', ini_get( 'include_path' ) . PATH_SEPARATOR . $phpbb_root_path . 'includes' ); + +// check whether a regular autoload function already exists, so we can load it into the spl stack afterwards +$register_autoload = false; +if (function_exists('__autoload')) +{ + $register_autoload = true; +} + +spl_autoload_register('phpbb_zend_autoload'); + +// load the old autoload function into the spl stack if necessary +if ($register_autoload) +{ + spl_autoload_register('__autoload'); +}
\ No newline at end of file diff --git a/phpBB/includes/ezcomponents/loader.php b/phpBB/includes/ezcomponents/loader.php new file mode 100644 index 0000000000..62aaa7667d --- /dev/null +++ b/phpBB/includes/ezcomponents/loader.php @@ -0,0 +1,73 @@ +<?php +/** +* +* @package ezcomponents +* @version $Id$ +* @copyright (c) 2005 phpBB Group +* @license http://opensource.org/licenses/gpl-license.php GNU Public License +* +*/ + +/** +* @ignore +*/ +if (!defined('IN_PHPBB')) +{ + exit; +} + +/** +* eZ components class loader +* Replaces the autoload mechanism eZ Components normally use +* @package ezcomponents +*/ +class phpbb_ezcomponents_loader +{ + var $loaded; + + /** + * Constructor which makes sure the PHP version requirement is met. + */ + function phpbb_ezcomponents_loader() + { + $this->loaded = array(); + if (version_compare(PHP_VERSION, '5.2.1', '<')) + { + trigger_error('PHP >= 5.2.1 required', E_USER_ERROR); + } + } + + /** + * Loads all classes of a particular component. + * The base component is always loaded first. + * + * @param $component string Lower case component name + */ + function load_component($component) + { + global $phpbb_root_path; + + // don't allow loading the same component twice + if (isset($this->loaded[$component]) && $this->loaded[$component]) + { + return; + } + + // make sure base is always loaded first + if ($component != 'base' && !isset($this->loaded['base'])) + { + $this->load_component('base'); + } + + $ezc_path = $phpbb_root_path . 'includes/ezcomponents/'; + + // retrieve the autoload list + $classes = include($ezc_path . ucfirst($component) . '/' . $component . '_autoload.php'); + + // include all files related to this component + foreach ($classes as $class => $path) + { + include($ezc_path . $path); + } + } +}
\ No newline at end of file |