From d5711a3e162fd97abe22f192054a66e2b57e9037 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Tue, 24 Mar 2009 04:56:31 +0000 Subject: [PATCH] eval() command rewritten --- application/hub/starter.php | 57 +++++++++---------------------------- 1 file changed, 14 insertions(+), 43 deletions(-) diff --git a/application/hub/starter.php b/application/hub/starter.php index 7b166d984..3a3038b7e 100644 --- a/application/hub/starter.php +++ b/application/hub/starter.php @@ -1,11 +1,12 @@ - * @version 0.0 - * @copyright Copyright(c) 2007 - 2009 Roland Haeder, this is free software + * @version 0.0.0 + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 Ship-Simu Developer Team * @license GNU GPL 3.0 or any newer version + * @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 @@ -18,65 +19,35 @@ * 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 . + * along with this program. If not, see . */ // 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:] Die Applikation %s kann nicht gestartet werden, da die Hilfsklasse %s nicht geladen ist!", + ApplicationEntryPoint::app_die(sprintf("[Main:] The application %s could not be launched because the helper class %s 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:] Die Applikation %s kann nicht gestartet werden, da die 'app' kein Objekt ist!", + ApplicationEntryPoint::app_die(sprintf("[Main:] The application %s 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:] Die Applikation %s kann nicht gestartet werden, da die Methode %s fehlt!", + ApplicationEntryPoint::app_die(sprintf("[Main:] The application %s could not be launched because the method %s 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); -} catch (SocketCreationException $e) { - // Problems while creating sockets - ApplicationEntryPoint::app_die(sprintf("[Main:] Das Hub konnte nicht initialisiert werden. Reason: %s, Code: %s", - $e->getMessage(), - $e->getHexCode() - )); -} catch (SocketSetupException $e) { - // Problems while setting up sockets - ApplicationEntryPoint::app_die(sprintf("[Main:] Das Hub konnte nicht initialisiert werden. Reason: %s, Code: %s", - $e->getMessage(), - $e->getHexCode() - )); -} catch (SocketBindException $e) { - // Problems while binding to address/port - ApplicationEntryPoint::app_die(sprintf("[Main:] Das Hub konnte nicht initialisiert werden. Reason: %s, Code: %s", - $e->getMessage(), - $e->getHexCode() - )); -} catch (SocketListeningException $e) { - // Problems while starting listen to the socket - ApplicationEntryPoint::app_die(sprintf("[Main:] Das Hub konnte nicht initialisiert werden. Reason: %s, Code: %s", - $e->getMessage(), - $e->getHexCode() - )); -} +// Call user function +call_user_func_array(array($app, FrameworkConfiguration::getInstance()->readConfig('entry_method')), array()); // [EOF] ?> -- 2.39.5