/**
* This class loads class include files with a specific prefix and suffix
*
- * @author Roland Haeder <webmaster@mxchange.org>
- * @version 0.3.0
+ * @author Roland Haeder <webmaster@ship-simu.org>
+ * @version 0.0.0
* @copyright Copyright(c) 2007, 2008 Roland Haeder, this is free software
* @license GNU GPL 3.0 or any newer version
- * @link http://www.mxchange.org
+ * @link http://www.ship-simu.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* ----------------------------------
* 1.1
$this->dirList = new ArrayObject();
// Set suffix and prefix from configuration
- $this->suffix = $cfgInstance->readConfig("class_suffix");
- $this->prefix = $cfgInstance->readConfig("class_prefix");
+ $this->suffix = $cfgInstance->readConfig('class_suffix');
+ $this->prefix = $cfgInstance->readConfig('class_prefix');
// Estimate length of prefix and suffix for substr() function (cache)
$this->sufLen = strlen($this->suffix);
//* DEBUG: */ print "Suffix=".$this->suffix."(".substr($dirClass2, -$this->sufLen, $this->sufLen).")\n";
//* DEBUG: */ print "ENTRY={$dirClass}\n";
if (
- (is_file($dirClass))
+ (is_file($dirClass))
&& (is_readable($dirClass))
&& (substr($dirClass2, 0 , $this->preLen) == $this->prefix)
&& (substr($dirClass2, -$this->sufLen, $this->sufLen) == $this->suffix)
$this->classes = new ArrayObject();
}
}
+
+ /**
+ * Load extra config files
+ *
+ * @return void
+ */
+ public function loadExtraConfigs () {
+ // Backup old prefix
+ $oldPrefix = $this->prefix;
+
+ // Set new prefix (temporary!)
+ $this->prefix = "config-";
+ $this->preLen = strlen($this->prefix);
+
+ // Set base directory
+ $basePath = sprintf("%sinc/config/", PATH);
+
+ // Load all classes from the config directory
+ $this->loadClasses($basePath);
+
+ // Set the prefix back
+ $this->prefix = $oldPrefix;
+ $this->preLen = strlen($this->prefix);
+ }
}
// Initial load of core classes and the FrameworkDirectoryPointer class
-require_once(sprintf("%sinc/classes/interfaces/class_FrameworkInterface%s", PATH, FrameworkConfiguration::getInstance()->readConfig("php_extension")));
-require_once(sprintf("%sinc/classes/main/class_BaseFrameworkSystem%s", PATH, FrameworkConfiguration::getInstance()->readConfig("php_extension")));
-require_once(sprintf("%sinc/classes/main/io/class_FrameworkDirectoryPointer%s", PATH, FrameworkConfiguration::getInstance()->readConfig("php_extension")));
+require_once(sprintf("%sinc/classes/interfaces/class_FrameworkInterface%s", PATH, FrameworkConfiguration::getInstance()->readConfig('php_extension')));
+require_once(sprintf("%sinc/classes/main/class_BaseFrameworkSystem%s", PATH, FrameworkConfiguration::getInstance()->readConfig('php_extension')));
+require_once(sprintf("%sinc/classes/main/io/class_FrameworkDirectoryPointer%s", PATH, FrameworkConfiguration::getInstance()->readConfig('php_extension')));
// Initialize the class loader
$loader = new ClassLoader(FrameworkConfiguration::getInstance());