From ac6469ab7daaa1a83634290949fb5098a33dd761 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sun, 7 Jun 2009 18:07:13 +0000 Subject: 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 --- phpBB/includes/ezcomponents/loader.php | 73 ++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 phpBB/includes/ezcomponents/loader.php (limited to 'phpBB/includes/ezcomponents/loader.php') 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 @@ +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 -- cgit v1.2.1