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