* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-// Get an instance of the helper
-$eval = sprintf("\$app = %s::getInstance();",
- FrameworkConfiguration::getInstance()->readConfig("app_helper_class")
-);
-eval($eval);
-
-// Set application name and version
-$app->setAppName("MXChange Hub");
-$app->setAppVersion("0.0.0");
-$app->setAppShortName("mxhub");
-
-// Get's our IP address
-$_SERVER['SERVER_ADDR'] = ConsoleTools::aquireSelfIPAddress();
-
// Initialize output system
require(PATH . "inc/output.php");
// This application needs a database connection then we have to simply include
// the inc/database.php script
-require(sprintf("%sinc/database%s",
- PATH,
- FrameworkConfiguration::getInstance()->readConfig("php_extension")
-));
+require(PATH . "inc/database.php");
+
+// Generate call-back function
+$callback = sprintf("%s::getInstance",
+ FrameworkConfiguration::getInstance()->readConfig('app_helper_class')
+);
+
+// Get an instance of the helper
+$app = call_user_func_array($callback, array());
+
+// Set application name and version
+$app->setAppName("MXChange Hub");
+$app->setAppVersion("0.0.0");
+$app->setAppShortName("mxhub");
+
+// Get's our IP address
+$_SERVER['SERVER_ADDR'] = ConsoleTools::aquireSelfIPAddress();
+
+// Set instances
+$app->setFileIoInstance($io);
+$app->setLanguageInstance($lang);
+$app->setDatabaseInstance($db);
// [EOF]
-?>
+?>
\ No newline at end of file
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-// Is the instance variable set?
-if (!isset($application)) {
- // We need this!
- ApplicationEntryPoint::app_die("[Main:] Interne Variable <strong>application</strong> nicht gefunden!");
-}
+// Get config instance
+$cfg = FrameworkConfiguration::getInstance();
// Load all classes for the application
foreach ($lowerClasses as $class) {
// Try to load the application classes
try {
- ClassLoader::getInstance()->loadClasses(sprintf("%s/%s/%s", FrameworkConfiguration::getInstance()->readConfig("application_path"), $application, $class));
+ ClassLoader::getInstance()->loadClasses(sprintf("%s/%s/%s", $cfg->readConfig("application_path"), $cfg->readConfig("app_name"), $class));
} catch (PathIsNoDirectoryException $e) {
ApplicationEntryPoint::app_die(sprintf("[Main:] Kann Applikationsklassen im Pfad <strong>%s</strong> nicht laden. Reason: <strong>%s</strong>",
$class,
<?php
+// Developer mode active? Comment out if no dev!
+define('DEVELOPER', true);
+
+//xdebug_start_trace();
/**
* The main class with the entry point to the whole application. This class
* "emulates" Java(tm)'s entry point call. Additionally it covers local
* @return void
*/
private static $instances = array (
- 'cfg', // The configuration system
- 'loader', // The class loader system
+ 'cfg', // The configuration system
+ 'loader', // The class loader system
'debug', // Debug output
'db', // Database layer
'io', // Base I/O system (local file [or network])
}
// Get some instances
- $tpl = FrameworkConfiguration::getInstance()->readConfig("tpl_engine");
+ $tpl = FrameworkConfiguration::getInstance()->readConfig('tpl_engine');
$lang = LanguageSystem::getInstance();
- $io = FileIOHandler::getInstance();
+ $io = FileIoHandler::getInstance();
// Is the template engine loaded?
if ((class_exists($tpl)) && (is_object($lang)) && (is_object($io))) {
// Use the template engine for putting out (nicer look) the message
try {
- $eval = sprintf("\$tplEngine = %s::create%s(\"%s%s\", \$lang, \$io);",
- FrameworkConfiguration::getInstance()->readConfig("tpl_engine"),
- FrameworkConfiguration::getInstance()->readConfig("tpl_engine"),
- PATH,
- FrameworkConfiguration::getInstance()->readConfig("tpl_base_path")
- );
- eval($eval);
+ // Get the template instance from our object factory
+ $tplEngine = ObjectFactory::createObjectByConfiguredName('tpl_engine', array(FrameworkConfiguration::getInstance()->readConfig('tpl_base_path'), $lang, $io));
} catch (BasePathIsEmptyException $e) {
- die(sprintf("[Main:] Die Template-Engine konnte nicht initialisieren. Grund: <strong>%s</strong>",
+ die(sprintf("[Main:] Could not initialize template engine for this reason: <strong>%s</strong>",
$e->getMessage()
));
} catch (InvalidBasePathStringException $e) {
- die(sprintf("[Main:] Die Template-Engine konnte nicht initialisieren. Grund: <strong>%s</strong>",
+ die(sprintf("[Main:] Could not initialize template engine for this reason: <strong>%s</strong>",
$e->getMessage()
));
} catch (BasePathIsNoDirectoryException $e) {
- die(sprintf("[Main:] Die Template-Engine konnte nicht initialisieren. Grund: <strong>%s</strong>",
+ die(sprintf("[Main:] Could not initialize template engine for this reason: <strong>%s</strong>",
$e->getMessage()
));
} catch (BasePathReadProtectedException $e) {
- die(sprintf("[Main:] Die Template-Engine konnte nicht initialisieren. Grund: <strong>%s</strong>",
+ die(sprintf("[Main:] Could not initialize template engine for this reason: <strong>%s</strong>",
$e->getMessage()
));
}
}
// Assign variables
- $tplEngine->assignVariable("message", $message);
- $tplEngine->assignVariable("backtrace", $backtrace);
+ $tplEngine->assignVariable('message', $message);
+ $tplEngine->assignVariable('backtrace', $backtrace);
+ $tplEngine->assignVariable('total_objects', ObjectFactory::getTotal());
// Load the template
- $tplEngine->loadCodeTemplate("emergency_exit");
+ $tplEngine->loadCodeTemplate('emergency_exit');
// Compile the template
$tplEngine->compileTemplate();
global $_SERVER;
// Load config file
- require(dirname(__FILE__) . "/inc/config.php");
+ require(dirname(__FILE__) . '/inc/config.php');
// Load all include files
- require(PATH . "inc/includes.php");
+ require(PATH . 'inc/includes.php');
// Load all framework classes
- require(PATH . "inc/classes.php");
+ require(PATH . 'inc/classes.php');
// Include the application selector
- require(PATH . "inc/selector.php");
+ require(PATH . 'inc/selector.php');
} // END - main()