1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-06-05 14:04:57 +02:00
Meik Sievertsen ac6469ab7d 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
2009-06-07 18:07:13 +00:00

73 lines
1.5 KiB
PHP

<?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);
}
}
}