]> git.mxchange.org Git - shipsimu.git/blobdiff - ship-simu/application/selector/starter.php
Initial import of current development status
[shipsimu.git] / ship-simu / application / selector / starter.php
diff --git a/ship-simu/application/selector/starter.php b/ship-simu/application/selector/starter.php
new file mode 100644 (file)
index 0000000..1e6e523
--- /dev/null
@@ -0,0 +1,42 @@
+<?php
+// Is there an application helper instance? We need the method main() for
+// maining the application
+$app = ApplicationHelper::getInstance();
+
+// Some sanity checks
+if ((empty($app)) || (is_null($app))) {
+       // Something went wrong!
+       ApplicationEntryPoint::app_die(sprintf("[Main:] Die Applikation <strong>%s</strong> kann nicht gestartet werden, da die Hilfsklasse <strong>%s</strong> nicht geladen ist!",
+               $application,
+               FrameworkConfiguration::getInstance()->readConfig("app_helper_class")
+       ));
+} elseif (!is_object($app)) {
+       // No object!
+       ApplicationEntryPoint::app_die(sprintf("[Main:] Die Applikation <strong>%s</strong> kann nicht gestartet werden, da die &#39;app&#39; kein Objekt ist!",
+               $application
+       ));
+} elseif (!method_exists($app, FrameworkConfiguration::getInstance()->readConfig("entry_method"))) {
+       // Method not found!
+       ApplicationEntryPoint::app_die(sprintf("[Main:] Die Applikation <strong>%s</strong> kann nicht gestartet werden, da die Methode <strong>%s</strong> fehlt!",
+               $application,
+               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 (FrameworkException  $e) {
+       ApplicationEntryPoint::app_die(sprintf("[Main:] Die Applikation <strong>%s</strong> kann nicht gestartet werden. Grund: <u>%s</u>",
+               $application,
+               $e->getMessage()
+       ));
+}
+
+
+// [EOF]
+?>