* @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.ship-simu.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
// Is there an application helper instance? We need the method main() for
// maining the application
-$app = ApplicationHelper::getInstance();
+$app = call_user_func_array(array(FrameworkConfiguration::getInstance()->readConfig('app_helper_class'), "getInstance"), array());
// Some sanity checks
if ((empty($app)) || (is_null($app))) {
// Something went wrong!
ApplicationEntryPoint::app_die(sprintf("[Main:] The application <strong>%s</strong> could not be launched because the helper class <strong>%s</strong> is not loaded.",
$application,
- FrameworkConfiguration::getInstance()->readConfig("app_helper_class")
+ FrameworkConfiguration::getInstance()->readConfig('app_helper_class')
));
} elseif (!is_object($app)) {
// No object!
ApplicationEntryPoint::app_die(sprintf("[Main:] The application <strong>%s</strong> could not be launched because 'app' is not an object.",
$application
));
-} elseif (!method_exists($app, FrameworkConfiguration::getInstance()->readConfig("entry_method"))) {
+} elseif (!method_exists($app, FrameworkConfiguration::getInstance()->readConfig('entry_method'))) {
// Method not found!
ApplicationEntryPoint::app_die(sprintf("[Main:] The application <strong>%s</strong> could not be launched because the method <strong>%s</strong> is missing.",
$application,
- FrameworkConfiguration::getInstance()->readConfig("entry_method")
+ FrameworkConfiguration::getInstance()->readConfig('entry_method')
));
}
// Call the entry point method
try {
- $eval = sprintf("%s::getInstance()->%s();",
- FrameworkConfiguration::getInstance()->readConfig("app_helper_class"),
- FrameworkConfiguration::getInstance()->readConfig("entry_method")
- );
- eval($eval);
+ // Call user function
+ call_user_func_array(array($app, FrameworkConfiguration::getInstance()->readConfig('entry_method')), array());
} catch (FrameworkException $e) {
- ApplicationEntryPoint::app_die(sprintf("[Main:] The application <strong>%s</strong> could not be launched for the follwing reason: <strong>%s</strong>",
+ ApplicationEntryPoint::app_die(sprintf("[Main:] The application <strong>%s</strong> has been terminated due to a thrown exception: <strong>%s - %s</strong>",
$application,
+ $e->__toString(),
$e->getMessage()
));
}