private function &_parseIncludes(__Configuration &$configuration, $basedir) { $configuration_section = $configuration->getSection('configuration'); if ($configuration_section != null) { //read configuration directives before read other sections: $configuration_directives = $configuration_section->getSection('configuration-directives'); if ($configuration_directives != null) { $this->_readConfigurationDirectives($configuration_directives); } //read the other sections: $sections = $configuration_section->getSections(); foreach ($sections as $section) { switch (strtoupper($section->getName())) { case 'INCLUDE': $expression = $section->getProperty('#text')->getContent(); //finally, resolve the path: $expression = __PathResolver::resolvePath($expression, $basedir); if (__Lion::getInstance()->getRuntimeDirectives()->getDirective('DEBUG_MODE') && (strpos($expression, '...') !== false || strpos($expression, '*') !== false)) { $this->_configuration_locators[$expression] = $expression; } $files_to_include = __FileResolver::resolveFiles($expression); foreach ($files_to_include as $file_to_include) { $included_configuration = $this->loadConfigurationFile($file_to_include); $configuration->merge($included_configuration); unset($included_configuration); } break; } } } return $configuration; }