]> git.mxchange.org Git - shipsimu.git/commitdiff
Several MVC classes added, entryPoint method rewritten
authorRoland Häder <roland@mxchange.org>
Sat, 12 Apr 2008 22:35:21 +0000 (22:35 +0000)
committerRoland Häder <roland@mxchange.org>
Sat, 12 Apr 2008 22:35:21 +0000 (22:35 +0000)
143 files changed:
.gitattributes
application/selector/class_ApplicationHelper.php
application/selector/starter.php
application/ship-simu/class_ApplicationHelper.php
application/ship-simu/config.php [new file with mode: 0644]
application/ship-simu/init.php
application/ship-simu/loader.php
application/ship-simu/starter.php
application/ship-simu/templates/de/code/shipsimu_main.ctp
devel/class_Debug.php
inc/classes/exceptions/class_FrameworkException.php
inc/classes/exceptions/compressor/class_MismatchingCompressorsException.php
inc/classes/exceptions/container/class_ContainerItemIsNoArrayException.php
inc/classes/exceptions/container/class_ContainerItemIsNullException.php
inc/classes/exceptions/container/class_ContainerMaybeDamagedException.php
inc/classes/exceptions/database/local_file/class_SavePathIsEmptyException.php
inc/classes/exceptions/database/local_file/class_SavePathIsNoDirectoryException.php
inc/classes/exceptions/database/local_file/class_SavePathReadProtectedException.php
inc/classes/exceptions/database/local_file/class_SavePathWriteProtectedException.php
inc/classes/exceptions/io/class_DirPointerNotOpenedException.php
inc/classes/exceptions/io/class_FilePointerNotOpenedException.php
inc/classes/exceptions/io/class_InvalidDataLengthException.php
inc/classes/exceptions/io/class_InvalidDirectoryResourceException.php
inc/classes/exceptions/io/class_InvalidMD5ChecksumException.php
inc/classes/exceptions/io/class_PathIsEmptyException.php
inc/classes/exceptions/io/class_PathIsNoDirectoryException.php
inc/classes/exceptions/io/class_PathReadProtectedException.php
inc/classes/exceptions/language/class_InvalidLanguagePathStringException.php
inc/classes/exceptions/language/class_LanguagePathIsEmptyException.php
inc/classes/exceptions/language/class_LanguagePathIsNoDirectoryException.php
inc/classes/exceptions/language/class_LanguagePathReadProtectedException.php
inc/classes/exceptions/language/class_MissingFileIoHandlerException.php
inc/classes/exceptions/language/class_MissingLanguageHandlerException.php
inc/classes/exceptions/main/class_ClassMismatchException.php
inc/classes/exceptions/main/class_ClassNotFoundException.php
inc/classes/exceptions/main/class_ConfigEntryIsEmptyException.php
inc/classes/exceptions/main/class_ConfigEntryNotFoundException.php
inc/classes/exceptions/main/class_DimNotFoundInArrayException.php
inc/classes/exceptions/main/class_EmptyVariableException.php [new file with mode: 0644]
inc/classes/exceptions/main/class_ExceptionNotChangedException.php
inc/classes/exceptions/main/class_ExceptionNotFoundException.php
inc/classes/exceptions/main/class_GetterNotFoundException.php
inc/classes/exceptions/main/class_InvalidArrayCountException.php
inc/classes/exceptions/main/class_InvalidCommandException.php [new file with mode: 0644]
inc/classes/exceptions/main/class_InvalidCommandInstanceException.php [new file with mode: 0644]
inc/classes/exceptions/main/class_InvalidControllerException.php [new file with mode: 0644]
inc/classes/exceptions/main/class_InvalidObjectException.php
inc/classes/exceptions/main/class_MissingArrayElementsException.php
inc/classes/exceptions/main/class_MissingDecimalsThousandsSeperatorException.php
inc/classes/exceptions/main/class_MissingMethodException.php
inc/classes/exceptions/main/class_NoArrayCreatedException.php
inc/classes/exceptions/main/class_NoArrayException.php
inc/classes/exceptions/main/class_NoObjectException.php
inc/classes/exceptions/main/class_NullPointerException.php
inc/classes/exceptions/main/class_ResponseHeadersAlreadySentException.php [new file with mode: 0644]
inc/classes/exceptions/main/class_VariableIsNotSetException.php
inc/classes/exceptions/template/class_BasePathIsEmptyException.php
inc/classes/exceptions/template/class_BasePathIsNoDirectoryException.php
inc/classes/exceptions/template/class_BasePathReadProtectedException.php
inc/classes/exceptions/template/class_InvalidBasePathStringException.php
inc/classes/exceptions/template/class_InvalidTemplateVariableNameException.php
inc/classes/exceptions/template/class_UnexpectedTemplateTypeException.php
inc/classes/exceptions/template/class_UnsupportedTemplateEngineException.php
inc/classes/exceptions/template/class_ViewHelperNotFoundException.php
inc/classes/interfaces/application/class_ManageableApplication.php
inc/classes/interfaces/class_
inc/classes/interfaces/class_FrameworkInterface.php
inc/classes/interfaces/commands/class_Commandable.php
inc/classes/interfaces/compressor/class_Compressor.php
inc/classes/interfaces/controller/.htaccess [new file with mode: 0644]
inc/classes/interfaces/controller/class_Controller.php [new file with mode: 0644]
inc/classes/interfaces/database/class_FrameworkDatabaseInterface.php
inc/classes/interfaces/database/frontend/class_DatabaseFrontendInterface.php
inc/classes/interfaces/database/middleware/class_DatabaseConnector.php
inc/classes/interfaces/debug/class_Debugger.php
inc/classes/interfaces/extended/class_LimitableObject.php
inc/classes/interfaces/io/class_Streamable.php
inc/classes/interfaces/io/file/class_FileInputStreamer.php
inc/classes/interfaces/io/file/class_FileOutputStreamer.php
inc/classes/interfaces/io/output/class_OutputStreamer.php
inc/classes/interfaces/language/class_ManageableLanguage.php
inc/classes/interfaces/request/class_Requestable.php
inc/classes/interfaces/resolver/.htaccess [new file with mode: 0644]
inc/classes/interfaces/resolver/class_CommandResolver.php [new file with mode: 0644]
inc/classes/interfaces/resolver/class_ControllerResolver.php [new file with mode: 0644]
inc/classes/interfaces/response/class_Responseable.php
inc/classes/interfaces/template/class_CompileableTemplate.php
inc/classes/interfaces/template/view/class_ViewHelper.php
inc/classes/main/class_
inc/classes/main/class_BaseFrameworkSystem.php
inc/classes/main/class_FrameworkArrayObject.php
inc/classes/main/commands/class_BaseCommand.php
inc/classes/main/commands/local/.htaccess [new file with mode: 0644]
inc/classes/main/commands/local/class_LocalHomeCommand.php [new file with mode: 0644]
inc/classes/main/compressor/class_Bzip2Compressor.php
inc/classes/main/compressor/class_GzipCompressor.php
inc/classes/main/compressor/class_NullCompressor.php
inc/classes/main/console/class_ConsoleTools.php
inc/classes/main/controller/class_BaseController.php
inc/classes/main/controller/default/.htaccess [new file with mode: 0644]
inc/classes/main/controller/default/class_DefaultController.php [new file with mode: 0644]
inc/classes/main/controller/registration/.htaccess [new file with mode: 0644]
inc/classes/main/controller/registration/class_DefaultRegistrationController.php [new file with mode: 0644]
inc/classes/main/database/class_BaseDatabaseFrontend.php
inc/classes/main/database/classes/class_LocalFileDatabase.php
inc/classes/main/debug/class_DebugConsoleOutput.php
inc/classes/main/debug/class_DebugErrorLogOutput.php
inc/classes/main/debug/class_DebugWebOutput.php
inc/classes/main/extended/class_ObjectLimits.php
inc/classes/main/extended/class_SerializationContainer.php
inc/classes/main/io/class_FileIOStream.php
inc/classes/main/io/class_FrameworkDirectoryPointer.php
inc/classes/main/io/class_FrameworkFileInputPointer.php
inc/classes/main/io/class_FrameworkFileOutputPointer.php
inc/classes/main/language/class_LanguageSystem.php
inc/classes/main/output/class_ConsoleOutput.php
inc/classes/main/output/class_WebOutput.php
inc/classes/main/request/class_HttpRequest.php
inc/classes/main/resolver/.htaccess [new file with mode: 0644]
inc/classes/main/resolver/class_BaseResolver.php [new file with mode: 0644]
inc/classes/main/resolver/local/.htaccess [new file with mode: 0644]
inc/classes/main/resolver/local/class_LocalCommandResolver.php [new file with mode: 0644]
inc/classes/main/resolver/local/class_LocalControllerResolver.php [new file with mode: 0644]
inc/classes/main/response/class_HttpResponse.php
inc/classes/main/template/class_TemplateEngine.php
inc/classes/middleware/class_BaseMiddleware.php
inc/classes/middleware/compressor/class_CompressorChannel.php
inc/classes/middleware/database/class_DatabaseConnection.php
inc/classes/middleware/debug/class_DebugMiddleware.php
inc/classes/middleware/io/class_FileIOHandler.php
inc/config.php
inc/config/class_FrameworkConfiguration.php
inc/database.php
inc/database/lib-local.php
inc/file_io.php
inc/includes.php
inc/language.php
inc/loader/class_ClassLoader.php
inc/output.php
inc/selector.php
templates/de/code/emergency_exit.ctp
tests/ConfigTest.php
tests/old/contract-test.php

index bbdb8c2fe3d46f598918c32e851af33c6a41664e..37ed7a42188ec02ecc45577789f57744d04c1c9e 100644 (file)
@@ -16,6 +16,7 @@ application/selector/templates/de/code/selector_apps.ctp -text
 application/selector/templates/de/code/selector_main.ctp -text
 application/ship-simu/.htaccess -text
 application/ship-simu/class_ApplicationHelper.php -text
+application/ship-simu/config.php -text
 application/ship-simu/debug.php -text
 application/ship-simu/exceptions.php -text
 application/ship-simu/exceptions/.htaccess -text
@@ -167,10 +168,14 @@ inc/classes/exceptions/main/class_ClassNotFoundException.php -text
 inc/classes/exceptions/main/class_ConfigEntryIsEmptyException.php -text
 inc/classes/exceptions/main/class_ConfigEntryNotFoundException.php -text
 inc/classes/exceptions/main/class_DimNotFoundInArrayException.php -text
+inc/classes/exceptions/main/class_EmptyVariableException.php -text
 inc/classes/exceptions/main/class_ExceptionNotChangedException.php -text
 inc/classes/exceptions/main/class_ExceptionNotFoundException.php -text
 inc/classes/exceptions/main/class_GetterNotFoundException.php -text
 inc/classes/exceptions/main/class_InvalidArrayCountException.php -text
+inc/classes/exceptions/main/class_InvalidCommandException.php -text
+inc/classes/exceptions/main/class_InvalidCommandInstanceException.php -text
+inc/classes/exceptions/main/class_InvalidControllerException.php -text
 inc/classes/exceptions/main/class_InvalidObjectException.php -text
 inc/classes/exceptions/main/class_MissingArrayElementsException.php -text
 inc/classes/exceptions/main/class_MissingDecimalsThousandsSeperatorException.php -text
@@ -179,6 +184,7 @@ inc/classes/exceptions/main/class_NoArrayCreatedException.php -text
 inc/classes/exceptions/main/class_NoArrayException.php -text
 inc/classes/exceptions/main/class_NoObjectException.php -text
 inc/classes/exceptions/main/class_NullPointerException.php -text
+inc/classes/exceptions/main/class_ResponseHeadersAlreadySentException.php -text
 inc/classes/exceptions/main/class_VariableIsNotSetException.php -text
 inc/classes/exceptions/template/.htaccess -text
 inc/classes/exceptions/template/class_BasePathIsEmptyException.php -text
@@ -197,6 +203,8 @@ inc/classes/interfaces/class_FrameworkInterface.php -text
 inc/classes/interfaces/commands/class_Commandable.php -text
 inc/classes/interfaces/compressor/.htaccess -text
 inc/classes/interfaces/compressor/class_Compressor.php -text
+inc/classes/interfaces/controller/.htaccess -text
+inc/classes/interfaces/controller/class_Controller.php -text
 inc/classes/interfaces/database/.htaccess -text
 inc/classes/interfaces/database/class_FrameworkDatabaseInterface.php -text
 inc/classes/interfaces/database/frontend/.htaccess -text
@@ -218,6 +226,9 @@ inc/classes/interfaces/language/.htaccess -text
 inc/classes/interfaces/language/class_ManageableLanguage.php -text
 inc/classes/interfaces/request/.htaccess -text
 inc/classes/interfaces/request/class_Requestable.php -text
+inc/classes/interfaces/resolver/.htaccess -text
+inc/classes/interfaces/resolver/class_CommandResolver.php -text
+inc/classes/interfaces/resolver/class_ControllerResolver.php -text
 inc/classes/interfaces/response/.htaccess -text
 inc/classes/interfaces/response/class_Responseable.php -text
 inc/classes/interfaces/template/.htaccess -text
@@ -230,6 +241,8 @@ inc/classes/main/class_FrameworkArrayObject.php -text
 inc/classes/main/commands/class_BaseCommand.php -text
 inc/classes/main/commands/extended/.htaccess -text
 inc/classes/main/commands/extended/class_ -text
+inc/classes/main/commands/local/.htaccess -text
+inc/classes/main/commands/local/class_LocalHomeCommand.php -text
 inc/classes/main/compressor/.htaccess -text
 inc/classes/main/compressor/class_Bzip2Compressor.php -text
 inc/classes/main/compressor/class_GzipCompressor.php -text
@@ -238,6 +251,10 @@ inc/classes/main/console/.htaccess -text
 inc/classes/main/console/class_ConsoleTools.php -text
 inc/classes/main/controller/.htaccess -text
 inc/classes/main/controller/class_BaseController.php -text
+inc/classes/main/controller/default/.htaccess -text
+inc/classes/main/controller/default/class_DefaultController.php -text
+inc/classes/main/controller/registration/.htaccess -text
+inc/classes/main/controller/registration/class_DefaultRegistrationController.php -text
 inc/classes/main/database/.htaccess -text
 inc/classes/main/database/class_BaseDatabaseFrontend.php -text
 inc/classes/main/database/classes/.htaccess -text
@@ -261,6 +278,11 @@ inc/classes/main/output/class_ConsoleOutput.php -text
 inc/classes/main/output/class_WebOutput.php -text
 inc/classes/main/request/.htaccess -text
 inc/classes/main/request/class_HttpRequest.php -text
+inc/classes/main/resolver/.htaccess -text
+inc/classes/main/resolver/class_BaseResolver.php -text
+inc/classes/main/resolver/local/.htaccess -text
+inc/classes/main/resolver/local/class_LocalCommandResolver.php -text
+inc/classes/main/resolver/local/class_LocalControllerResolver.php -text
 inc/classes/main/response/.htaccess -text
 inc/classes/main/response/class_HttpResponse.php -text
 inc/classes/main/template/.htaccess -text
index 3edc751089872bf0f0ad6e70b2607a92aca7cfbe..7f721c36d5a8e5c1b02da00487dc6aef2ae9f3b8 100644 (file)
@@ -55,6 +55,11 @@ class ApplicationHelper extends BaseFrameworkSystem implements ManageableApplica
         */
        private $shortName = "";
 
+       /**
+        * Name of the master template
+        */
+       private $masterTemplate = "";
+
        /**
         * An instance of this class
         */
@@ -157,6 +162,15 @@ class ApplicationHelper extends BaseFrameworkSystem implements ManageableApplica
                $this->shortName = $shortName;
        }
 
+       /**
+        * Getter for master template name
+        *
+        * @return      $masterTemplate         Name of the master template
+        */
+       public final function getMasterTemplate () {
+               return $this->masterTemplate;
+       }
+
        /**
         * Launcher for the application selector
         *
index 21d451aba661cdc4da6df074f83c95cf0768caa5..9d0d8acb2d90bbb796548fa3d911dd1b15049495 100644 (file)
@@ -53,7 +53,7 @@ try {
        );
        eval($eval);
 } catch (FrameworkException  $e) {
-       ApplicationEntryPoint::app_die(sprintf("[Main:] Die Applikation <strong>%s</strong> kann nicht gestartet werden. Grund: <u>%s</u>",
+       ApplicationEntryPoint::app_die(sprintf("[Main:] Die Applikation <strong>%s</strong> kann nicht gestartet werden. Grund: <strong>%s</strong>",
                $application,
                $e->getMessage()
        ));
index ff8fe5e76d9e71f489330f634aa1bfa50b849a7f..07aeffc472da90c32959f7e8547ea59496778718 100644 (file)
@@ -55,6 +55,11 @@ class ApplicationHelper extends BaseFrameworkSystem implements ManageableApplica
         */
        private $shortName = "";
 
+       /**
+        * The name of the master template
+        */
+       private $masterTemplate = "shipsimu_main";
+
        /**
         * An instance of this class
         */
@@ -97,7 +102,7 @@ class ApplicationHelper extends BaseFrameworkSystem implements ManageableApplica
        /**
         * Getter for the version number
         *
-        * @return      $appVersion     The application's version number
+        * @return      $appVersion             The application's version number
         */
        public final function getAppVersion () {
                return $this->appVersion;
@@ -106,7 +111,7 @@ class ApplicationHelper extends BaseFrameworkSystem implements ManageableApplica
        /**
         * Setter for the version number
         *
-        * @param       $appVersion     The application's version number
+        * @param       $appVersion             The application's version number
         * @return      void
         */
        public final function setAppVersion ($appVersion) {
@@ -157,23 +162,35 @@ class ApplicationHelper extends BaseFrameworkSystem implements ManageableApplica
                $this->shortName = $shortName;
        }
 
+       /**
+        * Getter for master template name
+        *
+        * @return      $masterTemplate         Name of the master template
+        */
+       public final function getMasterTemplate () {
+               return $this->masterTemplate;
+       }
+
        /**
         * Launches the ship-simulator game
         *
         * @return      void
         */
        public final function entryPoint () {
-               // Handle the request
-               $this->handleRequest();
+               // Get default command
+               $defaultCommand = $this->getConfigInstance()->readConfig("default_command");
 
-               // Prepare the template engine
-               $tplEngine = $this->prepareTemplateEngine($this);
+               // Create a new request object
+               $requestInstance = HttpRequest::createHttpRequest();
 
-               // Load the main template
-               $tplEngine->loadCodeTemplate("shipsimu_main");
+               // ... and a new response object
+               $responseInstance = HttpResponse::createHttpResponse($this);
 
-               // Raise an error here
-               trigger_error(__METHOD__.": Unfinished work!");
+               // Get a new controller instance as well
+               $controllerInstance = LocalControllerResolver::createLocalControllerResolver($defaultCommand, $this)->resolveDefaultController();
+
+               // Handle the request
+               $controllerInstance->handleRequest($requestInstance, $responseInstance);
        }
 }
 
diff --git a/application/ship-simu/config.php b/application/ship-simu/config.php
new file mode 100644 (file)
index 0000000..f9bff72
--- /dev/null
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Additional/overwritten configuration parts
+ *
+ * @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.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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * 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/>.
+ */
+
+// Get a configuration instance for shorter lines
+$cfg = FrameworkConfiguration::getInstance();
+
+// CFG: DEFAULT-COMMAND
+$cfg->setConfigEntry("default_command", "home");
+
+// [EOF]
+?>
index 558c8117fbe959ebbe6732f3a60880da768d839f..1a3fc08184d08aa618ed0c578b80191f8e0a2688 100644 (file)
@@ -41,7 +41,7 @@ eval($eval);
 
 // Set application name and version
 $app->setAppName("Ship-Simu Schiffsimulator");
-$app->setAppVersion("0.1");
+$app->setAppVersion("0.0.0");
 $app->setAppShortName("ship-simu");
 
 // Initialize output system
index 16bbaf95b4a8629e32ea1f1e0872ca7b5a8002a1..0dffa20e3fa5292556228d2ed9e1e380f0bac844 100644 (file)
@@ -34,22 +34,26 @@ foreach ($lowerClasses as $class) {
        try {
                ClassLoader::getInstance()->loadClasses(sprintf("%s/%s/%s", FrameworkConfiguration::getInstance()->readConfig("application_path"), $application, $class));
        } catch (PathIsNoDirectoryException $e) {
-               ApplicationEntryPoint::app_die(sprintf("[Main:] Kann Applikationsklassen im Pfad <strong>%s</strong> nicht laden. Grund: <strong>%s</strong>",
+               ApplicationEntryPoint::app_die(sprintf("[Main:%s] Kann Applikationsklassen im Pfad <strong>%s</strong> nicht laden. Grund: <strong>%s</strong>",
+                       $application,
                        $class,
                        $e->getMessage()
                ));
        } catch (PathIsEmptyException $e) {
-               ApplicationEntryPoint::app_die(sprintf("[Main:] Kann Applikationsklassen im Pfad <strong>%s</strong> nicht laden. Grund: <strong>%s</strong>",
+               ApplicationEntryPoint::app_die(sprintf("[Main:%s] Kann Applikationsklassen im Pfad <strong>%s</strong> nicht laden. Grund: <strong>%s</strong>",
+                       $application,
                        $class,
                        $e->getMessage()
                ));
        } catch (PathReadProtectedException $e) {
-               ApplicationEntryPoint::app_die(sprintf("[Main:] Kann Applikationsklassen im Pfad <strong>%s</strong> nicht laden. Grund: <strong>%s</strong>",
+               ApplicationEntryPoint::app_die(sprintf("[Main:%s] Kann Applikationsklassen im Pfad <strong>%s</strong> nicht laden. Grund: <strong>%s</strong>",
+                       $application,
                        $class,
                        $e->getMessage()
                ));
        } catch (DirPointerNotOpenedException $e) {
-               ApplicationEntryPoint::app_die(sprintf("[Main:] Kann Applikationsklassen im Pfad <strong>%s</strong> nicht laden. Grund: <strong>%s</strong>",
+               ApplicationEntryPoint::app_die(sprintf("[Main:%s] Kann Applikationsklassen im Pfad <strong>%s</strong> nicht laden. Grund: <strong>%s</strong>",
+                       $application,
                        $class,
                        $e->getMessage()
                ));
index 137ebbc1b6bca856be0e1ae68e680da628c21c20..458ccf8fdcfaf5fe675b25b55f8342f83c2c2c90 100644 (file)
@@ -54,7 +54,7 @@ try {
        );
        eval($eval);
 } catch (FrameworkException  $e) {
-       ApplicationEntryPoint::app_die(sprintf("[Main:] Die Applikation <strong>%s</strong> kann nicht gestartet werden. Grund: <u>%s</u>",
+       ApplicationEntryPoint::app_die(sprintf("[Main:] Die Applikation <strong>%s</strong> kann nicht gestartet werden. Grund: <strong>%s</strong>",
                $application,
                $e->getMessage()
        ));
index 367dda7c0de1bc9c2612fca718c418a236d4551b..208aa2f668e25b9e3cc2cd5c8ea8e0652c70a6d6 100644 (file)
@@ -8,4 +8,12 @@
        {--HEADER_SHIP_SIMU--}
 </div>
 
+<div class="shipsimu_content">
+       {?content?}
+</div>
+
+<div class="shipsimu_content">
+       {--FOOTER_SHIP_SIMU--}
+</div>
+
 {?footer_msg:footer_msg={--FOOTER_SHIP_SIMU--}?}
index 1adbe5a70606b2eb5f1e891880c28eef78d6f87c..c1a03432c958281acf2bc1d41a4ac54fd320a296 100644 (file)
@@ -18,7 +18,7 @@
  * 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/>.
  */
 class Debug {
        // Constructor
index 175b2b2176a2a4504139af33f513273f272de6a3..7655cc964fbe120b1dccf2bb807a0e5872d26283 100644 (file)
@@ -5,10 +5,10 @@
  * attach a dedicated message to it.
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 46f256375ce1f93ff2ad9a21e63d311ff0c1a2f7..f87f2544492197ed49a409d1af70cccc2299bf7e 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when compressors are mismatching
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 6fdc8250b90dd612004398979c99ed0ee8836f2b..4748dca10f40d9115324c213655269b7044fc7ac 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when a container item is not an array
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 6f17940f5142ca172c52ec2d6898c5318856efa8..f19f04a245afd2773360261b8767c622e4e5efa3 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when a container item is null
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index aa010fa4004fa96e74d1b3e535bae8fda7c94f13..61f793ee65c55c0517c7a79ca0582fd2f26728b2 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the container is possibly damaged
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 7199369cb0cd7017607d3facc5a7398527c3cd54..a254b8a566b60254ab19bf78d8d5a717a25ae449 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the save path string is empty
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 8d2c89b577c6cc619ae3694d10866e14d8481ae8..25c20fe85aa40196d0d54f5da42eb7e417146a06 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the save path is no directory
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index d4a0de4af15909a124806ae023b3b8208f1013c1..dd693ed1c282b87c4eb9a3f3aefd8ed0fa61857f 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the save path is read-protected
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index a19d667d7907846436c5c657202f49573026a18d..601e885046f1d3e582005e5c461a7edf18a3d002 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the save path is write-protected
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 6be3455dde80a3fd7ec3ac6734a2aa0b821c9868..ff1d5e8dc869eec433d98ce75a498b25ce051de2 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when a directory pointer is not opended
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 4ecfc2e5511e7471742f13a369d9b212ba5cca09..841782a461c82446c1f2ee48c62b4adc51c281e9 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when a file pointer is not opened
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 310ab0b20157a90279b52c778b2d9a3ff3178a32..4554bac32cdd72ee143b3b5cf3576dafe480abc4 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the length of the data mismatch
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 32de296d8dc667f5c911ac5e493f5b322e86dbd6..ada88edf27500a7f9507a3d3e82f3f59ef03e5e5 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the returned directory resource is invalid
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 2e1a51db059e0eff76f46c2097937c883d053897..047591b8041c8d0e732a2cd51df4c044bd7dd57d 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when a MD5 checksum does not exception
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 77a4a54c555130e087c632526a6f9476ba2f4510..bd67212f978de276bc344900124023787bc65653 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the path string is empty
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index fbf48000b2cb562cad2fc17747c4299ea68a85fd..f02225f67cbe184c5862d5e70c0ed3bf1cd09500 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when a given path is not a directory
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 14891d7139ff9277163e47cf5618ef311f39005a..bca9d36837df76c2d375ae4c3d42f8a7ded3f1b9 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when a path is read-protected
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 536a073ece29f5499bb0d1d5dccd53f9a5820813..e21ebaaccaa65c1c8b383b06384f984f5541e368 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the language path string is invalid
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index e1aef2a433b703fe1f96e7cd9cfe81ad26c4deec..be02f0eefb106d03e75b43afd9bbbfa80f4bc67c 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the language path string is empty
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 3772ee03ac308b6e12d44da015f41013c72d59c2..05c450f1f1a04e489eb74bb3f41e43cde1bd88d2 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the language path is no directory
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 1ac1a940e6664ce60ce8b2ca961f55b2e10ebaef..f9c2111d7a8e1ed9c4a35e21e8641b5ede57336c 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the language path is read-protected
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index f8d5e2d28e87027b713173db26e4927c56f41557..c48c06e5496fe73c83828246eb3456fa8ec87371 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the language handler is missing
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 0a3171a760870d6c25f5fb3b7f27fda09e313926..744add63b2ba0ee4983fbfe307a205dff84ed76e 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the language handler is missing
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index a17ecdf3156f498cf7239f67b15e9e65b9d0bf3b..1e3f6d72363a6d660a5ed25bf184cf4089eee482 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when two classes are not matching
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index ba1efd6718f631ca3092eb0f62fe83cde6712434..897f220b9c6157b399ba2a993e1ac8d1aab8eaa5 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when a class was not found
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 781adca4517ee0a79431402e283347e4609697b9..a1ddf02d50000815164890e91850d64c93b7e12e 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when a configuration entry is empty
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 80cef7ce727d3bb1411709795642464c5921885e..38587034865a418c3319e2b0f6dc5eadd989a799 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when a configuration entry is not found
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 484a41438befddfe8f978d8d4bb752f5c7c8adec..ff011f234251d2f769b22edad1a02c562077f450 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thron when dimension entries are not found in an array
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
diff --git a/inc/classes/exceptions/main/class_EmptyVariableException.php b/inc/classes/exceptions/main/class_EmptyVariableException.php
new file mode 100644 (file)
index 0000000..a415276
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+/**
+ * This exception is thrown when a variable is unexpected empty
+ *
+ * @author             Roland Haeder <webmaster@mxchange.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.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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * 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/>.
+ */
+class EmptyVariableException extends FrameworkException {
+       /**
+        * The constructor
+        *
+        * @param               $msgArray       Message array holding all needed data
+        * @param               $code           Code number for the exception
+        * @return      void
+        */
+       public function __construct (array $msgArray, $code) {
+               // Add a message around the missing class
+               $message = sprintf("[%s:%d] Variable <u>%s</u> is not set.",
+                       $msgArray[0]->__toString(),
+                       $this->getLine(),
+                       $msgArray[1]
+               );
+
+               // Call parent constructor
+               parent::__construct($message, $code);
+       }
+}
+
+// [EOF]
+?>
index e23adfa9ed3129ff920050cdd7ceccfabba3d5be..e1ff78655909810221975732d09a9ebdb921390f 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when an exception was not changed
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
  * @deprecated
  *
  * This program is free software: you can redistribute it and/or modify
index fe502153b838b8b442d8996eed722d8fcb932423..2fd9eec23b8d0b70a726e52602b27c8e32a4c809 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when an other exception was not found
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index c89c0d2519ddf0720891d7ae2c3a99c75569b94e..b03b21c8a787852b3abc73ed3bc39464a2662606 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when a getter for an attribute was not found
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
@@ -29,10 +29,7 @@ class GetterNotFoundException extends FrameworkException {
         * @param               $code           Code number for the exception
         * @return      void
         */
-       public function __construct ($dataArray, $code) {
-               // Cast the array
-               $dataArray = (array) $dataArray;
-
+       public function __construct (array $dataArray, $code) {
                // Add a message around the missing class
                $message = sprintf("[%s:%d] Getter-Methode f&uuml;r Attribut <u>%s</u> nicht gefunden.",
                        $dataArray[0]->__toString(),
index 75fa5440c0cc47551551fc12631b146d116ab998..d8a9f1933b0bf94ba2c60aeef8671fc5330bb67a 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the number of array elements mismatch
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
diff --git a/inc/classes/exceptions/main/class_InvalidCommandException.php b/inc/classes/exceptions/main/class_InvalidCommandException.php
new file mode 100644 (file)
index 0000000..af30b8c
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+/**
+ * This exception is thrown when a command is invalid
+ *
+ * @author             Roland Haeder <webmaster@mxchange.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.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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * 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/>.
+ */
+class InvalidCommandException extends FrameworkException {
+       /**
+        * The constructor
+        *
+        * @param               $message        Message from the exception
+        * @param               $code           Code number for the exception
+        * @return      void
+        */
+       public function __construct (array $msgArray, $code) {
+               // Add a message around the missing class
+               $message = sprintf("[%s:%d] Invalid command <u>%s</u> detected.",
+                       $msgArray[0]->__toString(),
+                       $this->getLine(),
+                       $msgArray[1]
+               );
+
+               // Call parent constructor
+               parent::__construct($message, $code);
+       }
+}
+
+// [EOF]
+?>
diff --git a/inc/classes/exceptions/main/class_InvalidCommandInstanceException.php b/inc/classes/exceptions/main/class_InvalidCommandInstanceException.php
new file mode 100644 (file)
index 0000000..e802e9e
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+/**
+ * This exception is thrown when a command instance is invalid
+ *
+ * @author             Roland Haeder <webmaster@mxchange.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.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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * 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/>.
+ */
+class InvalidCommandInstanceException extends FrameworkException {
+       /**
+        * The constructor
+        *
+        * @param               $message        Message from the exception
+        * @param               $code           Code number for the exception
+        * @return      void
+        */
+       public function __construct (array $msgArray, $code) {
+               // Add a message around the missing class
+               $message = sprintf("[%s:%d] Invalid command <u>%s</u> detected.",
+                       $msgArray[0]->__toString(),
+                       $this->getLine(),
+                       $msgArray[1]
+               );
+
+               // Call parent constructor
+               parent::__construct($message, $code);
+       }
+}
+
+// [EOF]
+?>
diff --git a/inc/classes/exceptions/main/class_InvalidControllerException.php b/inc/classes/exceptions/main/class_InvalidControllerException.php
new file mode 100644 (file)
index 0000000..3caf2a5
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+/**
+ * This exception is thrown when a controller instance is invalid
+ *
+ * @author             Roland Haeder <webmaster@mxchange.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.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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * 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/>.
+ */
+class InvalidControllerInstanceException extends FrameworkException {
+       /**
+        * The constructor
+        *
+        * @param               $msgArray       Array with data from the exception point
+        * @param               $code           Code number for the exception
+        * @return      void
+        */
+       public function __construct (array $msgArray, $code) {
+               // Add a message around the missing class
+               $message = sprintf("[%s:%d] Invalid controller <u>%s</u> detected.",
+                       $msgArray[0]->__toString(),
+                       $this->getLine(),
+                       $msgArray[1]
+               );
+
+               // Call parent constructor
+               parent::__construct($message, $code);
+       }
+}
+
+// [EOF]
+?>
index 08d92dffbdfaf2b6bf3cfac8c90a1f418a7e8a98..cc19b753508d0cf5cd1a192cbd33e850595ab9e7 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when an instance variable instances a non-object 
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 5d483db5e9f93955076aa3a09bbb1edf2c6c42e4..3b22ba2485c0c633357a3294cd417be25964268b 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when required array elements are missing
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 8ccc62e66661cdfc7817628eedac1e51cdc10ca7..5acccef8085de0fecba8457822350965bb523f19 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the decimal and thousands seperators are missing
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 8855e5d19ff9de4263849cf615acec67a9f6b6c1..9b9fc9806e06974782289352e8b04b0b66f779c7 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when a method is missing
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index b741fdf475d8af26501ea5e24dfa172b20101b0d..298c811a98566a1024c996dee4cc54b3c9c7db1f 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown then no array was created in a dynamic environment
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index e885801845bd82583967882cead5ce703789aeaa..615198d460d291048c09524139929edcd765ca1a 100644 (file)
@@ -1,10 +1,10 @@
 <?php
 /**
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 8cd3c3e068c7a3fa9518d471fc0c76a728edc57f..9d70821c1b081ecc477ccad458c42daae575c3f1 100644 (file)
@@ -3,10 +3,10 @@
  * A deprecated exception which should be replaced with InvalidObjectException
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
  * @deprecated
  * @see                InvalidObjectException
  *
index 0a16aae1c1d94d3390228e147ce4adfc3d5a4de4..6aab6cd077c8391394727885418c96d08ead4a9b 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when an object instance is null
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
diff --git a/inc/classes/exceptions/main/class_ResponseHeadersAlreadySentException.php b/inc/classes/exceptions/main/class_ResponseHeadersAlreadySentException.php
new file mode 100644 (file)
index 0000000..72751d9
--- /dev/null
@@ -0,0 +1,45 @@
+<?php
+/**
+ * An exception thrown when an object instance is null
+ *
+ * @author             Roland Haeder <webmaster@mxchange.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.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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * 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/>.
+ */
+class ResponseHeadersAlreadySentException extends FrameworkException {
+       /**
+        * The constructor
+        *
+        * @param               $message                Message from the exception
+        * @param               $code           Code number for the exception
+        * @return      void
+        */
+       public function __construct (BaseFrameworkSystem $class, $code) {
+               // Add a message around the missing class
+               $message = sprintf("[%s:%d] Headers are already sent!",
+                       $class->__toString(),
+                       $this->getLine()
+               );
+
+               // Call parent constructor
+               parent::__construct($message, $code);
+       }
+}
+
+// [EOF]
+?>
index 84daff19d39139c53715c24642741ee9051dc788..7d05f69d083a2374a5cdf38a4c4994d303c56aec 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when a variable is not set
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 3009863929f068a7ca41974abd74c1c31e8549ad..5fae513513bcc51f34779e1c8835766045859411 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the base path is empty
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 9dc01e21e09f538c1246519a1378a23bfca09a50..0b9486d3b53be4c3843ae4a1147ff46c100f0325 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the base path is no directory
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 37b10b235db9bb9dbc28f0614d346d19bf9ae7e8..d86a1fc19fbf7dd3d8e0737d010c8e3a70097aab 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the base path is read-protected
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 095ed8bfd2841406b46d4d0912cd7c83965bfd3a..3ee2341e32075611a5c923a19e13fc6321bcf8b0 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown hen the base path string is invalid
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index f625ccccf582904a34cfd2a78537d603536166ef..c5cbce45c4dc183cb1997d4a6bd0c4c9cd5acbe1 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when a template variable name is invalid
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index ba37050a3fca4e4c04d1bea0f6e380e0b320f56e..568fa916f1d8900efdd50b9213bbaa36b039e364 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the template type is not supported
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index a66fda39c5678b322f8b7cb920ed64b989fa3e15..3433651d218f50b2c0d43292401a06b12b9874e9 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when the template engine instance is not supported
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index ece8b343b1163e7a2d819cd73f6d700d376011e7..6cd771a136e5e5e71ff6fd6c0ff9c45ac50a5180 100644 (file)
@@ -3,10 +3,10 @@
  * An exception thrown when a given view helper was not found
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
@@ -31,8 +31,9 @@ class ViewHelperNotFoundException extends FrameworkException {
         */
        public function __construct (array $msgArray, $code) {
                // Add a message around the missing class
-               $message = sprintf("[%s:] View-Helper <u>%s</u> ist ung&uuml;ltig.",
+               $message = sprintf("[%s:%d] View-Helper <u>%s</u> ist ung&uuml;ltig.",
                        $msgArray[0]->__toString(),
+                       $this->getLine(),
                        $msgArray[1]
                );
 
index 81ff0c44929e31c4f6c14e95ac4a0f0ca195edca..5bb3dac1bba97009a9d59ae746943e404093bb3d 100644 (file)
@@ -8,10 +8,10 @@
  * - And many more...
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
@@ -71,6 +71,13 @@ interface ManageableApplication extends FrameworkInterface {
         */
        function setAppShortName ($shortName);
 
+       /**
+        * Getter for master template name
+        *
+        * @return      $masterTemplate         Name of the master template
+        */
+       function getMasterTemplate ();
+
        /**
         * Launches the application
         *
index 1e4ea82f6146d05f794afb6ab7026cde2ed06484..055ad90d6a932b175f3021455b1c663194036758 100644 (file)
@@ -3,10 +3,10 @@
  * 
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 2906fce80abff3560a49411fa3b5727bf1ec5ad5..f9489dd230e847f52e6a5b83c99e38d12c623dd0 100644 (file)
@@ -4,10 +4,10 @@
  * method stubs which is being used in every class
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index ab5b53a0fa5c2bee412ce43fc72ab2b1e26067de..4b3eaba9f8bcb5a43232a31c35a2f164dde9eec0 100644 (file)
@@ -3,10 +3,10 @@
  * An interface for commands for the front controller
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 0ce342ef7efa43032ccc1f3472458c84c631a249..781b39399a4df40d0f577791f48df6b13dda075e 100644 (file)
@@ -3,10 +3,10 @@
  * An interface for compression classes
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
diff --git a/inc/classes/interfaces/controller/.htaccess b/inc/classes/interfaces/controller/.htaccess
new file mode 100644 (file)
index 0000000..3a42882
--- /dev/null
@@ -0,0 +1 @@
+Deny from all
diff --git a/inc/classes/interfaces/controller/class_Controller.php b/inc/classes/interfaces/controller/class_Controller.php
new file mode 100644 (file)
index 0000000..f06f583
--- /dev/null
@@ -0,0 +1,36 @@
+<?php
+/**
+ * An interface for controller
+ *
+ * @author             Roland Haeder <webmaster@mxchange.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.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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * 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/>.
+ */
+interface Controller extends FrameworkInterface {
+       /**
+        * Handles the given request and response
+        *
+        * @param       $requestInstance        An instance of a request class
+        * @param       $responseInstance       An instance of a response class
+        * @return      void
+        */
+       function handleRequest (Requestable $requestInstance, Responseable $responseInstance);
+}
+
+//
+?>
index 5605da3b4967b3eb73dddd0ced7130b01e006fa9..34c4bcc6e24e54a2568916c42eac994a5254e4ce 100644 (file)
@@ -3,10 +3,10 @@
  * The general interface for all other database interfaces
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 93bbd198f8b4b72a6781943caa3537ade6d80702..bdea3bdbe26e7f877c3fde60c2801d3dd615786a 100644 (file)
@@ -7,10 +7,10 @@
  * compressed before they got saved to a local file.
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 4945d14863ecf7f72eb095e1e40330d4e3391060..5c392ed02a604b523546a767e344bcf1d3167a04 100644 (file)
@@ -3,10 +3,10 @@
  * An interface for middleware database classes
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 1b76bcfe425ef0db85005a0215ab2186c473a4a6..dc988fe09dc2ad21c5a3e4b0fdd5be08a7fbc5a0 100644 (file)
@@ -3,10 +3,10 @@
  * An interface for debugger classes
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 212e189a6108bbb7a55544a9a5c1ed3527a7ad4e..80d05d268b5394e6e38b100b918d4689ec19be29 100644 (file)
@@ -4,10 +4,10 @@
  * DatabaseConnection class.
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index ca1a76e9c8b56e59ce6efaf87e2d7292fdbbac3e..f7f0d0008fa3b0ecc6bcc1b74af48a5f755f1256 100644 (file)
@@ -3,10 +3,10 @@
  * An interface for streams
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 75dc429d23435ffbcce9782079fe86396f2e068f..6ec4064e385d0d5ea1312e4ab652c89a18a46a83 100644 (file)
@@ -3,10 +3,10 @@
  * An interface for file input operations.
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index a3f896d912095d8d69a0aaf22efd3bd2d843ea63..6028dc6dbc8cf06c1d3b7eb07df01558a182e899 100644 (file)
@@ -3,10 +3,10 @@
  * An interface for file output operations.
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 992f504053ad81cafa48bf189ff217134732201a..25bdb0fdb506196ea22a98f4b5df2cbff1a7ed83 100644 (file)
@@ -3,10 +3,10 @@
  * An interface for output streams
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 7e3c0fb1b7b72f1d388aa62206454c830a59fa23..2a2b36c3db7001c82b23a8c61da040b780ce520f 100644 (file)
@@ -3,10 +3,10 @@
  * An interface for language systems
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 0571e0089c2660d1393f2664f4e6b4e7c46d801c..08dd5b170b13e4f7c32cf6fa74e4d878127794f9 100644 (file)
@@ -3,10 +3,10 @@
  * An interface for requests
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
diff --git a/inc/classes/interfaces/resolver/.htaccess b/inc/classes/interfaces/resolver/.htaccess
new file mode 100644 (file)
index 0000000..3a42882
--- /dev/null
@@ -0,0 +1 @@
+Deny from all
diff --git a/inc/classes/interfaces/resolver/class_CommandResolver.php b/inc/classes/interfaces/resolver/class_CommandResolver.php
new file mode 100644 (file)
index 0000000..2793eb5
--- /dev/null
@@ -0,0 +1,44 @@
+<?php
+/**
+ * An instance for command resolver classes
+ *
+ * @author             Roland Haeder <webmaster@mxchange.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.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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * 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/>.
+ */
+interface CommandResolver extends FrameworkInterface {
+       /**
+        * Returns an command instance for a given request class
+        *
+        * @param       $requestInstance        An instance of a request class
+        * @return      $commandInstance        An instance of the resolved command
+        */
+       function resolvCommandByRequest (Requestable $requestInstance);
+
+       /**
+        * Checks wether the given command is valid
+        *
+        * @param       $commandName    The default command we shall execute
+        * @return      $isValid                Wether the given command is valid
+        * @throws      EmptyVariableException  Thrown if the given command is not set
+        */
+       function isCommandValid ($commandName);
+}
+
+//
+?>
diff --git a/inc/classes/interfaces/resolver/class_ControllerResolver.php b/inc/classes/interfaces/resolver/class_ControllerResolver.php
new file mode 100644 (file)
index 0000000..e953cee
--- /dev/null
@@ -0,0 +1,34 @@
+<?php
+/**
+ * An instance for controller resolver classes
+ *
+ * @author             Roland Haeder <webmaster@mxchange.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.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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * 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/>.
+ */
+interface ControllerResolver extends FrameworkInterface {
+       /**
+        * Resolves the default controller of the given command
+        *
+        * @return      $controllerInstance             A controller instance for the default command
+        */
+        function resolveDefaultController ();
+}
+
+//
+?>
index f83e7f9d20c506f72b6c82f31769eadac131107d..d8fdaee1f11411fcbb97b4972418bfa422e897ab 100644 (file)
@@ -3,10 +3,10 @@
  * An interface for responses
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 0bf75561ff2986e57c3efa53b24a756b65e5b263..b73dd5bf919685a431516b691ed2dbf15ee239d0 100644 (file)
@@ -3,10 +3,10 @@
  * An interface for template engines
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 36c0dde1c71842889ceca2232684b41b5ebc5a0b..9578573744b169fd41e76a6921539aa04878ddf2 100644 (file)
@@ -3,10 +3,10 @@
  * An interface for view helpers
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 26ff8be747a7431c20a95927518eba87ee7c53e2..af4096f64df8b08521927573a48ac0c0f6ba584e 100644 (file)
@@ -3,10 +3,10 @@
  * 
  *
  * @author             Roland Haeder <webmaster@ship-simu.org>
- * @version            0.3.0
+ * @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
index 796860a240861b315167783a24ceb3f395d7653f..6b4d81694fe6244d3b8f337363da3113f71f55cc 100644 (file)
@@ -4,10 +4,10 @@
  * class handles saving of games etc.
  *
  * @author             Roland Haeder <webmaster@ship-simu.org>
- * @version            0.3.0
+ * @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
@@ -53,6 +53,11 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
         */
        private $dbInstance  = null;
 
+       /**
+        * Instance to an application helper class
+        */
+       private $applicationInstance = null;
+
        /**
         * The real class name
         */
@@ -140,6 +145,9 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
        const EXCEPTION_MISSING_LANGUAGE_HANDLER     = 0x02e;
        const EXCEPTION_MISSING_FILE_IO_HANDLER      = 0x02f;
        const EXCEPTION_MISSING_ELEMENT              = 0x030;
+       const EXCEPTION_INVALID_COMMAND              = 0x031;
+       const EXCEPTION_INVALID_CONTROLLER           = 0x032;
+       const EXCEPTION_HEADERS_ALREADY_SENT         = 0x033;
 
        /**
         * In the super constructor these system classes shall be ignored or else
@@ -150,16 +158,16 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
         *--------------------------------------------------------------------*
         */
        private $systemClasses = array(
-               "DebugMiddleware",                      // Debug middleware output sub-system
-               "DebugWebOutput",                       // Debug web output sub-system
-               "DebugConsoleOutput",           // Debug console output sub-system
-               "DebugErrorLogOutput",          // Debug error_log() output sub-system
-               "CompressorChannel",            // Compressor sub-system
+               "DebugMiddleware",                              // Debug middleware output sub-system
+               "DebugWebOutput",                               // Debug web output sub-system
+               "DebugConsoleOutput",                   // Debug console output sub-system
+               "DebugErrorLogOutput",                  // Debug error_log() output sub-system
+               "CompressorChannel",                    // Compressor sub-system
                "FrameworkDirectoryPointer",    // Directory handler sub-system
-               "NullCompressor",                       // Null compressor
-               "Bzip2Compressor",                      // BZIP2 compressor
-               "GzipCompressor",                       // GZIP compressor
-               "WebOutput",                            // Web output sub-system
+               "NullCompressor",                               // Null compressor
+               "Bzip2Compressor",                              // BZIP2 compressor
+               "GzipCompressor",                               // GZIP compressor
+               "WebOutput",                                    // Web output sub-system
        );
 
        /**
@@ -812,11 +820,31 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                $this->fileIOInstance = $fileIOInstance;
        }
 
+       /**
+        * Protected getter for a manageable application helper class
+        *
+        * @return      $applicationInstance    An instance of a manageable application helper class
+        */
+       protected final function getApplicationInstance () {
+               return $this->applicationInstance;
+       }
+
+       /**
+        * Setter for a manageable application helper class
+        *
+        * @param       $applicationInstance    An instance of a manageable application helper class
+        * @return      void
+        */
+       public final function setApplicationInstance (ManageableApplication $applicationInstance) {
+               $this->applicationInstance = $applicationInstance;
+       }
+
        /**
         * Prepare the template engine (TemplateEngine by default) for a given
         * application helper instance (ApplicationHelper by default).
         *
-        * @param               $appInstance                    An application helper instance
+        * @param               $appInstance                    An application helper instance or
+        *                                                                              null if we shall use the default
         * @return              $tplEngine                              The template engine instance
         * @throws              NullPointerException    If the template engine could not
         *                                                                              be initialized
@@ -824,8 +852,22 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
         *                                                                              unsupported template engine
         * @throws              MissingLanguageHandlerException If the language sub-system
         *                                                                              is not yet initialized
-        */
-       protected function prepareTemplateEngine (BaseFrameworkSystem $appInstance) {
+        * @throws              NullPointerException    If the discovered application
+        *                                                                              instance is still null
+        */
+       protected function prepareTemplateEngine (BaseFrameworkSystem $appInstance=null) {
+               // Is the application instance set?
+               if (is_null($appInstance)) {
+                       // Get the current instance
+                       $appInstance = $this->getApplicationInstance();
+
+                       // Still null?
+                       if (is_null($appInstance)) {
+                               // Thrown an exception
+                               throw new NullPointerException($this, self::EXCEPTION_IS_NULL_POINTER);
+                       }
+               }
+
                // Generate FQFN for all application templates
                $fqfn = sprintf("%s%s/%s/%s",
                        PATH,
index 69a3363661f241e2c529c27f3cd3ddccb9bd5c8d..910b4d8f4494d58f7a7b59566d3430950aa14ddb 100644 (file)
@@ -5,10 +5,10 @@
  * need more details.
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 501c1ff5647907e493d64781a11e8ebe23da3463..825b2b052f7944346105cfae40f92fb2cbad5bd9 100644 (file)
@@ -3,10 +3,10 @@
  * A general (base) command
  *
  * @author             Roland Haeder <webmaster@ship-simu.org>
- * @version            0.3.0
+ * @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
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
 class BaseCommand extends BaseFrameworkSystem {
+       /**
+        * The controller we need for this command
+        */
+       private $controllerName = "";
+
+       /**
+        * Resolver instance
+        */
+       private $resolverInstance = null;
+
        /**
         * Protected constructor
         *
@@ -31,6 +41,44 @@ class BaseCommand extends BaseFrameworkSystem {
                // Call parent constructor
                parent::__construct($class);
        }
+
+       /**
+        * Setter for controller name
+        *
+        * @param       $controllerName         Name of the controller assigned with this command
+        * @return      void
+        */
+       public final function setControllerName ($controllerName) {
+               $this->controllerName = (string) $controllerName;
+       }
+
+       /**
+        * Getter for controller name
+        *
+        * @return      $controllerName         Name of the controller assigned with this command
+        */
+       public final function getControllerName () {
+               return $this->controllerName;
+       }
+
+       /**
+        * Setter for resolver instance
+        *
+        * @param       $resolverInstance               Instance of a command resolver class
+        * @return      void
+        */
+       public final function setResolverInstance (CommandResolver $resolverInstance) {
+               $this->resolverInstance = $resolverInstance;
+       }
+
+       /**
+        * Getter for resolver instance
+        *
+        * @return      $resolverInstance               Instance of a command resolver class
+        */
+       public final function getResolverInstance () {
+               return $this->resolverInstance;
+       }
 }
 
 // [EOF]
diff --git a/inc/classes/main/commands/local/.htaccess b/inc/classes/main/commands/local/.htaccess
new file mode 100644 (file)
index 0000000..3a42882
--- /dev/null
@@ -0,0 +1 @@
+Deny from all
diff --git a/inc/classes/main/commands/local/class_LocalHomeCommand.php b/inc/classes/main/commands/local/class_LocalHomeCommand.php
new file mode 100644 (file)
index 0000000..c670cb1
--- /dev/null
@@ -0,0 +1,90 @@
+<?php
+/**
+ * A command for the "home" page
+ *
+ * @author             Roland Haeder <webmaster@mxchange.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.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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * 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/>.
+ */
+class LocalHomeCommand extends BaseCommand implements Commandable {
+       /**
+        * Private constructor
+        *
+        * @return      void
+        */
+       protected function __construct () {
+               // Call parent constructor
+               parent::__construct(__CLASS__);
+
+               // Set special description
+               $this->setObjectDescription("Home-Command");
+
+               // Create unique ID number
+               $this->createUniqueID();
+
+               // Clean up a little
+               $this->removeSystemArray();
+
+               // Set assigned controller
+               $this->setControllerName("default");
+       }
+
+       /**
+        * Creates an instance of this class
+        *
+        * @param       $resolverInstance               An instance of a command resolver class
+        * @return      $commandInstance                An instance a prepared command class
+        */
+       public final static function createLocalHomeCommand (CommandResolver $resolverInstance) {
+               // Get new instance
+               $commandInstance = new LocalHomeCommand();
+
+               // Set the application instance
+               $commandInstance->setResolverInstance($resolverInstance);
+
+               // Return the prepared instance
+               return $commandInstance;
+       }
+       
+       /**
+        * Executes the given command with given request and response objects
+        *
+        * @param       $requestInstance                An instance of a class with an Requestable interface
+        * @param       $responseInstance               An instance of a class with an Responseable interface
+        * @return      void
+        */
+       public function execute (Requestable $requestInstance, Responseable $responseInstance) {
+               // Get the application instance
+               $appInstance = $this->getResolverInstance()->getApplicationInstance();
+
+               // Prepare a template instance
+               $templateInstance = $this->prepareTemplateEngine($appInstance);
+
+               // Load the master template
+               $masterTemplate = $appInstance->getMasterTemplate();
+
+               // Load the master template
+               $templateInstance->loadCodeTemplate($masterTemplate);
+
+               // Load the home template
+               $templateInstance->loadWebTemplate("home");
+       }
+}
+
+// [EOF]
+?>
index 2cadc808ee7d2aad78cfbbd1c5e8855444329511..272a558c4e364877ac88b0e9281a03dca26b11e5 100644 (file)
@@ -3,10 +3,10 @@
  * BZIP2 compression and decompression class
  *
  * @author             Roland Haeder <webmaster@ship-simu.org>
- * @version            0.3.0
+ * @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
index ae5926776c82f0361c294807036c3bca0906f457..208e12bbbfb003dc20cff88cdd00b08047e5acf4 100644 (file)
@@ -3,10 +3,10 @@
  * GZIP compression and decompression class
  *
  * @author             Roland Haeder <webmaster@ship-simu.org>
- * @version            0.3.0
+ * @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
index 742ab02b09135823436d30a4b78102b08ae71bc7..74cb5d30d62d1da28bf0ecf4971898ffba30ec46 100644 (file)
@@ -3,10 +3,10 @@
  * Null compression and decompression class
  *
  * @author             Roland Haeder <webmaster@ship-simu.org>
- * @version            0.3.0
+ * @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
index 3e9e9d78129d33df3e6a86749db69248d7ccda09..78dc94c90599370005620523741ce8311248bf40 100644 (file)
@@ -3,10 +3,10 @@
  * This class contains static helper functions for console applications
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 82dba69d6f22d4bec610326317c56ac54909f389..f7aea5c307922c9a30552ed64bc1ea21d72f7790 100644 (file)
@@ -3,10 +3,10 @@
  * A generic controller class
  *
  * @author             Roland Haeder <webmaster@ship-simu.org>
- * @version            0.3.0
+ * @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
@@ -27,9 +27,9 @@ class BaseController extends BaseFrameworkSystem {
         *
         * @return      void
         */
-       protected function __construct () {
+       protected function __construct ($class) {
                // Call parent constructor
-               parent::__construct(__CLASS__);
+               parent::__construct($class);
 
                // Clean up a little
                $this->removeNumberFormaters();
diff --git a/inc/classes/main/controller/default/.htaccess b/inc/classes/main/controller/default/.htaccess
new file mode 100644 (file)
index 0000000..3a42882
--- /dev/null
@@ -0,0 +1 @@
+Deny from all
diff --git a/inc/classes/main/controller/default/class_DefaultController.php b/inc/classes/main/controller/default/class_DefaultController.php
new file mode 100644 (file)
index 0000000..e700a6e
--- /dev/null
@@ -0,0 +1,96 @@
+<?php
+/**
+ * The default controller for all other requests
+ *
+ * @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.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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * 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/>.
+ */
+class DefaultController extends BaseController implements Controller {
+       /**
+        * Instance of a CommandResolver class
+        */
+       private $resolverInstance = null;
+
+       /**
+        * Private constructor
+        *
+        * @return      void
+        */
+       protected function __construct () {
+               // Call parent constructor
+               parent::__construct(__CLASS__);
+
+               // Set part description
+               $this->setObjectDescription("Standart-Controller f&uuml;r alle &uuml;brigen Anfragen");
+
+               // Create unique ID number
+               $this->createUniqueID();
+
+               // Clean up a little
+               $this->removeSystemArray();
+       }
+
+       /**
+        * Creates an instance of this class
+        *
+        * @param       $resolverInstance               An instance of a command resolver class
+        * @return      $controllerInstance             A prepared instance of this class
+        */
+       public final static function createDefaultController (CommandResolver $resolverInstance) {
+               // Create the instance
+               $controllerInstance = new DefaultController();
+
+               // Set the command resolver
+               $controllerInstance->setResolverInstance($resolverInstance);
+
+               // Return the prepared instance
+               return $controllerInstance;
+       }
+
+       /**
+        * Setter for a command resolver instance
+        *
+        * @param       $resolverInstance       An instance of a command resolver class
+        * @return      void
+        */
+       public final function setResolverInstance (CommandResolver $resolverInstance) {
+               $this->resolverInstance = $resolverInstance;
+       }
+
+       /**
+        * Handles the given request and response
+        *
+        * @param       $requestInstance        An instance of a request class
+        * @param       $responseInstance       An instance of a response class
+        * @return      void
+        */
+       public function handleRequest (Requestable $requestInstance, Responseable $responseInstance) {
+               // Get the command instance
+               $commandInstance = $this->resolverInstance->resolvCommandByRequest($requestInstance);
+
+               // Execute the command
+               $commandInstance->execute($requestInstance, $responseInstance);
+
+               // Flush the response out
+               $responseInstance->flushResponse();
+       }
+}
+
+// [EOF]
+?>
diff --git a/inc/classes/main/controller/registration/.htaccess b/inc/classes/main/controller/registration/.htaccess
new file mode 100644 (file)
index 0000000..3a42882
--- /dev/null
@@ -0,0 +1 @@
+Deny from all
diff --git a/inc/classes/main/controller/registration/class_DefaultRegistrationController.php b/inc/classes/main/controller/registration/class_DefaultRegistrationController.php
new file mode 100644 (file)
index 0000000..2f15e40
--- /dev/null
@@ -0,0 +1,71 @@
+<?php
+/**
+ * A default registration controller which is suitable for most applications
+ * with a registration form.
+ *
+ * @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.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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * 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/>.
+ */
+class DefaultRegistrationController extends BaseController implements Controller {
+       /**
+        * Private constructor
+        *
+        * @return      void
+        */
+       protected function __construct () {
+               // Call parent constructor
+               parent::__construct(__CLASS__);
+
+               // Set part description
+               $this->setObjectDescription("Ein Standart-Anmelde-Controller");
+
+               // Create unique ID number
+               $this->createUniqueID();
+
+               // Clean up a little
+               $this->removeSystemArray();
+       }
+
+       /**
+        * Creates an instance of this class
+        *
+        * @return      $controllerInstance             A prepared instance of this class
+        */
+       public final static function createDefaultRegistrationController () {
+               // Create the instance
+               $controllerInstance = new DefaultRegistrationController();
+
+               // Return the prepared instance
+               return $controllerInstance;
+       }
+
+       /**
+        * Handles the given request and response
+        *
+        * @param       $requestInstance        An instance of a request class
+        * @param       $responseInstance       An instance of a response class
+        * @return      void
+        */
+       public function handleRequest (Requestable $requestInstance, Responseable $responseInstance) {
+               die(__METHOD__.": Stub!");
+       }
+}
+
+// [EOF]
+?>
index a4220e0ac444598a77e2c486ffa8a0dfe53e921d..790b424f702e6e7e0fc6f6b3802db88d3657fae0 100644 (file)
@@ -4,10 +4,10 @@
  *
  * @see                        DatabaseFrontendInterface - An interface for database frontends (front-end to the application)
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 37481082a8ab0ddb08639e49ed69a0233150c142..7ac2b7db11c7f53d981f5d7eb45bb52aa9a50749 100644 (file)
@@ -5,10 +5,10 @@
  * This class serializes objects and saves them to local files.
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index a019c3f5697f7ae3509fe70d1d8b747f3e5d99bb..dfcfd36b4dbd22bcff7b182587f9b3a0ce983247 100644 (file)
@@ -3,10 +3,10 @@
  * A debug output class for the console (e.g. hub software)
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index a26867b519b3e49dc8a5748e0b3f871e57ab5cf9..26b099d4134f229405717659190c14993ddb6d65 100644 (file)
@@ -3,10 +3,10 @@
  * A debug output class for PHP's error_log() command
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index a7ed41dd5a873395082a18a40a73a3fd82dfe4b0..17faa197707408781efadb98fa0e3d3083ce863b 100644 (file)
@@ -3,10 +3,10 @@
  * A debug output class for the web browser
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index a2eccc39dca768a9560e2404cb077542389a4434..75925c64820cdb87489453e5e44e33f5e5b2f051 100644 (file)
@@ -4,10 +4,10 @@
  * objects to the datatabase connection or else a lot heap would be saved.
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 94da00be4f10b3f47f02fb156f833354f7f1e782..3987ad82981bd6467a686e33ae89490855a131fe 100644 (file)
@@ -4,10 +4,10 @@
  * other classes
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 39acf09e1dadf4befc7e2f7dc40a585b9537f996..c9833465a84dd6757a94e947795848c84ea39303 100644 (file)
@@ -3,10 +3,10 @@
  * An universal class for file input/output streams.
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 553e6336aed3b4876052f594ef53d316d765ea4e..5ad52ed709ec177ba36b7168d91f4a569aab0181 100644 (file)
@@ -3,10 +3,10 @@
  * A class for directory reading and getting its contents
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 3834de9a9f5627d63781a9f51dae7d59d55c3ea0..a38b0a3d1d08e83270157aef05370ee931c9990f 100644 (file)
@@ -3,10 +3,10 @@
  * A class for reading files
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index cf7f4912b79f37a1785880bef82b642c05126b5b..8cc07caaa78e8977afcc880e260611396aa08836 100644 (file)
@@ -3,10 +3,10 @@
  * A class for writing files
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 1ed28e473b9d289e4e7f61fe7b4ead4788d4c454..4aa9490c2e434b4ef08e2cd5cf74d897931aa799 100644 (file)
@@ -4,10 +4,10 @@
  * application and whole framework
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 7bd058852f3f97a8146ddd7bcf061efc911c28b9..5d2b1c13528ffd600544f6334dcdb0db0a9a1092 100644 (file)
@@ -4,10 +4,10 @@
  * for console output
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 1312f337f68365f6c6a39aae52d08b7280961a7f..a687cea24ddacb6f1ddde77442573558e3f92035 100644 (file)
@@ -4,10 +4,10 @@
  * browser
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index ca85b974043bdca7f154e109b1a8005eb05da14b..6826d76b71dbdeea91a4774103c4c03e65341252 100644 (file)
@@ -3,10 +3,10 @@
  * A concrete HTTP request class to make HTTP requests more abstract
  *
  * @author             Roland Haeder <webmaster@ship-simu.org>
- * @version            0.3.0
+ * @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
diff --git a/inc/classes/main/resolver/.htaccess b/inc/classes/main/resolver/.htaccess
new file mode 100644 (file)
index 0000000..3a42882
--- /dev/null
@@ -0,0 +1 @@
+Deny from all
diff --git a/inc/classes/main/resolver/class_BaseResolver.php b/inc/classes/main/resolver/class_BaseResolver.php
new file mode 100644 (file)
index 0000000..74cfa47
--- /dev/null
@@ -0,0 +1,115 @@
+<?php
+/**
+ * A generic resolver class
+ *
+ * @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.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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * 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/>.
+ */
+class BaseResolver extends BaseFrameworkSystem {
+       /**
+        * Validated command name
+        */
+       private $commandName = "";
+
+       /**
+        * Prefix for local, remote or other resolver
+        */
+       private $commandPrefix = "";
+
+       /**
+        * Private constructor
+        *
+        * @return      void
+        */
+       protected function __construct () {
+               // Call parent constructor
+               parent::__construct(__CLASS__);
+
+               // Clean up a little
+               $this->removeSystemArray();
+       }
+
+       /**
+        * Setter for command name
+        *
+        * @param       $commandName    Last validated command name
+        * @return      void
+        */
+       protected final function setCommandName ($commandName) {
+               $this->commandName = $commandName;
+       }
+
+       /**
+        * Getter for command name
+        *
+        * @return      $commandName    Last validated command name
+        */
+       protected final function getCommandName () {
+               return $this->commandName;
+       }
+
+       /**
+        * Setter for command prefix
+        *
+        * @param       $commandPrefix  Last validated commandPrefix
+        * @return      void
+        */
+       protected final function setCommandPrefix ($commandPrefix) {
+               $this->commandPrefix = $commandPrefix;
+       }
+
+       /**
+        * Checks wether the given command is valid
+        *
+        * @param       $commandName    The default command we shall execute
+        * @return      $isValid                Wether the given command is valid
+        * @throws      EmptyVariableException  Thrown if the given command is not set
+        */
+       public function isCommandValid ($commandName) {
+               // By default nothing shall be valid
+               $isValid = false;
+
+               // Is a command set?
+               if (empty($commandName)) {
+                       // Then thrown an exception here
+                       throw new EmptyVariableException(array($this, 'commandName'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING);
+               }
+
+               // Now, let us create the full name of the command class
+               $class = sprintf("%s%sCommand",
+                       $this->commandPrefix,
+                       ucfirst(strtolower($commandName))
+               );
+
+               // Is this class already loaded?
+               if (class_exists($class)) {
+                       // This class does exist. :-)
+                       $isValid = true;
+               }
+
+               // Set command name
+               $this->setCommandName($commandName);
+
+               // Return the result
+               return $isValid;
+       }
+}
+
+// [EOF]
+?>
diff --git a/inc/classes/main/resolver/local/.htaccess b/inc/classes/main/resolver/local/.htaccess
new file mode 100644 (file)
index 0000000..3a42882
--- /dev/null
@@ -0,0 +1 @@
+Deny from all
diff --git a/inc/classes/main/resolver/local/class_LocalCommandResolver.php b/inc/classes/main/resolver/local/class_LocalCommandResolver.php
new file mode 100644 (file)
index 0000000..87e0d69
--- /dev/null
@@ -0,0 +1,184 @@
+<?php
+/**
+ * A command resolver for local (non-hubbed) commands
+ *
+ * @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.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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * 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/>.
+ */
+class LocalCommandResolver extends BaseResolver implements CommandResolver {
+       /**
+        * Last successfull resolved command
+        */
+       private $lastCommandInstance = "";
+
+       /**
+        * Private constructor
+        *
+        * @return      void
+        */
+       protected function __construct () {
+               // Call parent constructor
+               parent::__construct(__CLASS__);
+
+               // Set part description
+               $this->setObjectDescription("Lokaler Kommandoaufl&ouml;ser");
+
+               // Create unique ID number
+               $this->createUniqueID();
+
+               // Clean up a little
+               $this->removeNumberFormaters();
+               $this->removeSystemArray();
+
+               // Set prefix to "Local"
+               $this->setCommandPrefix("Local");
+       }
+
+       /**
+        * Creates an instance of a local command resolver with a given default command
+        *
+        * @param       $defaultCommand                         The default command we shall execute
+        * @param       $appInstance                            An instance of a manageable application helper class
+        * @return      $resolverInstance                       The prepared command resolver instance
+        * @throws      EmptyVariableException          Thrown if the default command is not set
+        * @throws      InvalidCommandException         Thrown if the default command is invalid
+        */
+       public final static function createLocalCommandResolver ($defaultCommand, ManageableApplication $appInstance) {
+               // Create the new instance
+               $resolverInstance = new LocalCommandResolver();
+
+               // Is the variable $defaultCommand set and the command is valid?
+               if (empty($defaultCommand)) {
+                       // Then thrown an exception here
+                       throw new EmptyVariableException(array($resolverInstance, 'defaultCommand'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING);
+               } elseif (!$resolverInstance->isCommandValid($defaultCommand)) {
+                       // Invalid command found
+                       throw new InvalidCommandException(array($resolverInstance, $defaultCommand), self::EXCEPTION_INVALID_COMMAND);
+               }
+
+               // Set the application instance
+               $resolverInstance->setApplicationInstance($appInstance);
+
+               // Return the prepared instance
+               return $resolverInstance;
+       }
+
+       /**
+        * Returns an command instance for a given request class or null if
+        * MissingArrayElementsException was thrown
+        *
+        * @param       $requestInstance        An instance of a request class
+        * @return      $commandInstance        An instance of the resolved command
+        * @throws      InvalidCommandException                         Thrown if $commandName is
+        *                                                                                              invalid
+        * @throws      InvalidCommandInstanceException         Thrown if $commandInstance
+        *                                                                                              is an invalid instance
+        */
+       public function resolvCommandByRequest (Requestable $requestInstance) {
+               // Init variables
+               $commandName = "";
+               $commandInstance = null;
+
+               // Test if the required parameter is set
+               try {
+                       // This goes fine so let's resolv the command
+                       $commandName = $requestInstance->getRequestElement($this->getConfigInstance()->readConfig("command_parameter"));
+
+                       // Is the command empty? Then fall back to default command
+                       if (empty($commandName)) $commandName = $this->getConfigInstance()->readConfig("default_command");
+
+                       // Check if the command is valid
+                       if (!$this->isCommandValid($commandName)) {
+                               // This command is invalid!
+                               throw new InvalidCommandException(array($this, $commandName), self::EXCEPTION_INVALID_COMMAND);
+                       }
+
+                       // Get the command
+                       $commandInstance = $this->loadCommand($commandName);
+
+                       // And validate it
+                       if ((!is_object($commandInstance)) || (!$commandInstance instanceof Commandable)) {
+                               // This command has an invalid instance!
+                               throw new InvalidCommandInstanceException(array($this, $commandName), self::EXCEPTION_INVALID_COMMAND);
+                       }
+
+                       // Set last command
+                       $this->lastCommandInstance = $commandInstance;
+               } catch (MissingArrayElementsException $e) {
+                       // Just catch it here...
+               }
+
+               // Return the resolved command instance
+               return $commandInstance;
+       }
+
+       /**
+        * "Loads" a given command and instances it if not yet cached
+        *
+        * @param       $commandName                            A command name we shall look for
+        * @return      $commandInstance                        A loaded command instance
+        * @throws      InvalidCommandException         Thrown if even the default
+        *                                                                              command class is missing (bad!)
+        */
+       private function loadCommand ($commandName) {
+               // Cache default command
+               $defaultCommand = $this->getConfigInstance()->readConfig("default_command");
+
+               // Init command instance
+               $commandInstance = null;
+
+               // Create command class name
+               $class = sprintf("Local%sCommand",
+                       ucfirst(strtolower($commandName))
+               );
+
+               // Is this class loaded?
+               if (!class_exists($class)) {
+                       // Class not found, so try the default one or throw exception
+                       if ($commandName != $defaultCommand) {
+                               // Try the default command
+                               return $this->loadCommand($defaultCommand);
+                       } else {
+                               // Still not found?
+                               throw new InvalidCommandException(array($this, $defaultCommand), self::EXCEPTION_INVALID_COMMAND);
+                       }
+               }
+
+               // Initiate the command
+               $eval = sprintf("\$commandInstance = %s::create%s(\$this);",
+                       $class,
+                       $class
+               );
+
+               // Run the command
+               eval($eval);
+
+               // Is the instance valid?
+               if ((!is_object($commandInstance)) || (!$commandInstance instanceof Commandable)) {
+                       // Something is wrong
+                       $commandInstance = null;
+               }
+
+               // Return the result
+               return $commandInstance;
+       }
+}
+
+// [EOF]
+?>
diff --git a/inc/classes/main/resolver/local/class_LocalControllerResolver.php b/inc/classes/main/resolver/local/class_LocalControllerResolver.php
new file mode 100644 (file)
index 0000000..8ff0788
--- /dev/null
@@ -0,0 +1,186 @@
+<?php
+/**
+ * A resolver for resolving controllers locally
+ *
+ * @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.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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * 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/>.
+ */
+class LocalControllerResolver extends BaseResolver implements ControllerResolver {
+       /**
+        * Last successfull resolved controller
+        */
+       private $lastControllerName = "";
+
+       /**
+        * Private constructor
+        *
+        * @return      void
+        */
+       protected function __construct () {
+               // Call parent constructor
+               parent::__construct(__CLASS__);
+
+               // Set part description
+               $this->setObjectDescription("");
+
+               // Create unique ID number
+               $this->createUniqueID();
+
+               // Clean up a little
+               $this->removeNumberFormaters();
+               $this->removeSystemArray();
+
+               // Set prefix to "Local"
+               $this->setCommandPrefix("Local");
+       }
+
+       /**
+        * Creates an instance of a resolver class with a given command
+        *
+        * @param       $commandName                            The default command we shall execute
+        * @param       $appInstance                            An instance of a manageable application helper class
+        * @return      $resolverInstance                       The prepared command resolver instance
+        * @throws      EmptyVariableException          Thrown if the default command is not set
+        * @throws      InvalidCommandException         Thrown if the default command is invalid
+        */
+       public final static function createLocalControllerResolver ($commandName, ManageableApplication $appInstance) {
+               // Create the new instance
+               $resolverInstance = new LocalControllerResolver();
+
+               // Is the variable $commandName set and the command is valid?
+               if (empty($commandName)) {
+                       // Then thrown an exception here
+                       throw new EmptyVariableException(array($resolverInstance, 'commandName'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING);
+               } elseif (!$resolverInstance->isCommandValid($commandName)) {
+                       // Invalid command found
+                       throw new InvalidCommandException(array($resolverInstance, $commandName), self::EXCEPTION_INVALID_COMMAND);
+               }
+
+               // Set the application instance
+               $resolverInstance->setApplicationInstance($appInstance);
+
+               // Return the prepared instance
+               return $resolverInstance;
+       }
+
+       /**
+        * Resolves the default controller of the given command
+        *
+        * @return      $controllerInstance             A controller instance for the default
+        *                                                                      command
+        * @throws      InvalidCommandException                         Thrown if $commandName is
+        *                                                                                              invalid
+        * @throws      InvalidControllerInstanceException      Thrown if $commandInstance
+        *                                                                                              is invalid
+        */
+       public function resolveDefaultController () {
+               // Init variables
+               $commandName = "";
+               $controllerInstance = null;
+
+               // Try to resolv the command
+               try {
+                       // Get the command name 
+                       $commandName = $this->getCommandName();
+
+                       // Check if the command is valid
+                       if (!$this->isCommandValid($commandName)) {
+                               // This command is invalid!
+                               throw new InvalidCommandException(array($this, $commandName), self::EXCEPTION_INVALID_COMMAND);
+                       }
+
+                       // Get the command
+                       $controllerInstance = $this->loadController($commandName);
+
+                       // And validate it
+                       if ((!is_object($controllerInstance)) || (!$controllerInstance instanceof Controller)) {
+                               // This command has an invalid instance!
+                               throw new InvalidControllerInstanceException(array($this, $commandName), self::EXCEPTION_INVALID_CONTROLLER);
+                       }
+
+                       // Set last command
+                       $this->lastCommandInstance = $controllerInstance;
+               } catch (MissingArrayElementsException $e) {
+                       // Just catch it here...
+               }
+
+               // Return the maybe resolved instance
+               return $controllerInstance;
+       }
+
+       /**
+        * "Loads" a given controller and instances it if not yet cached
+        *
+        * @param       $commandName                    A controller name we shall look for
+        * @return      $controllerInstance             A loaded controller instance
+        * @throws      DefaultControllerException      Thrown if even the default
+        *                                                                              controller class is missing (bad!)
+        */
+       private function loadController ($commandName) {
+               // Cache default command
+               $defaultCommand = $this->getConfigInstance()->readConfig("default_command");
+
+               // Init controller instance
+               $controllerInstance = null;
+
+               // Default controller
+               $class = "DefaultController";
+
+               // Generate the class name
+               if ($commandName != $defaultCommand) {
+                       // Create controller class name
+                       $class = sprintf("Local%sController",
+                               ucfirst(strtolower($commandName))
+                       );
+               }
+
+               // Is this class loaded?
+               if (!class_exists($class)) {
+                       // Class not found, so try the default one or throw exception
+                       if ($commandName != $defaultCommand) {
+                               // Try the default controller
+                               return $this->loadController($defaultCommand);
+                       } else {
+                               // Still not found?
+                               throw new DefaultControllerException($this, self::EXCEPTION_DEFAUL_CONTROLLER_GONE);
+                       }
+               }
+
+               // Initiate the controller
+               $eval = sprintf("\$controllerInstance = %s::create%s(LocalCommandResolver::createLocalCommandResolver(\$commandName, \$this->getApplicationInstance()));",
+                       $class,
+                       $class
+               );
+
+               // Run the command
+               eval($eval);
+
+               // Is the instance valid?
+               if ((!is_object($controllerInstance)) || (!$controllerInstance instanceof Controller)) {
+                       // Something is wrong
+                       $controllerInstance = null;
+               }
+
+               // Return the result
+               return $controllerInstance;
+       }
+}
+
+// [EOF]
+?>
index 8b29afeda321b7683c7adcf4875f84d51f58422e..3679fe96a33bae43603dd8c35154dc288c40dfa9 100644 (file)
@@ -3,10 +3,10 @@
  * A class for an HTTP response on an HTTP request
  *
  * @author             Roland Haeder <webmaster@ship-simu.org>
- * @version            0.3.0
+ * @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
@@ -37,6 +37,11 @@ class HttpResponse extends BaseFrameworkSystem implements Responseable {
         */
        private $responseBody = "";
 
+       /**
+        * Instance of the template engine
+        */
+       private $templateEngine = null;
+
        /**
         * Protected constructor
         *
@@ -60,12 +65,16 @@ class HttpResponse extends BaseFrameworkSystem implements Responseable {
        /**
         * Creates an object of this class
         *
+        * @param       $appInstance            An instance of a manageable application
         * @return      $responseInstance       A prepared instance of this class
         */
-       public final static function createHttpResponse () {
+       public final static function createHttpResponse (ManageableApplication $appInstance) {
                // Get a new instance
                $responseInstance = new HttpResponse();
 
+               // Initialize the template engine here
+               $responseInstance->initTemplateEngine($appInstance);
+
                // Return the prepared instance
                return $responseInstance;
        }
@@ -110,7 +119,7 @@ class HttpResponse extends BaseFrameworkSystem implements Responseable {
         * @throws      ResponseHeadersAlreadySentException             Thrown if headers are
         *                                                                                                      already sent
         */
-       public function flushResponse($force=false) {
+       public function flushResponse ($force=false) {
                if ((headers_sent()) && (!$force)) {
                        // Headers are already sent!
                        throw new ResponseHeadersAlreadySentException($this, self::EXCEPTION_HEADERS_ALREADY_SENT);
@@ -127,6 +136,25 @@ class HttpResponse extends BaseFrameworkSystem implements Responseable {
                $this->reponseBody = "";
                $this->responseHeaders = array();
        }
+
+       /**
+        * Initializes the template engine instance
+        *
+        * @param       $appInstance    An instance of a manageable application
+        * @return      void
+        */
+       public final function initTemplateEngine (ManageableApplication $appInstance) {
+               $this->templateEngine = $this->prepareTemplateEngine($appInstance);
+       }
+
+       /**
+        * Getter for the template engine instance
+        *
+        * @return      $templateEngine         An instance of the used template engine
+        */
+       public final function getTemplateEngine () {
+               return $this->templateEngine;
+       }
 }
 
 // [EOF]
index 4fdb1a34dfb042c17b6adfb31866ca5b4235c0ea..55bf00059525b4d603d136ac498a710a7c7c2d6f 100644 (file)
@@ -4,10 +4,10 @@
  * and emails.
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 9b576dda6702e5ed9a1d2f3041fb47eeea4d9a67..1cc69f6d3fc99f00f3968b3fca6ce01c8eff8361 100644 (file)
@@ -3,10 +3,10 @@
  * An abstract middleware class for all other middlware classes
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index da8b48461035bf863de4a3e2f405cca944e0fa4a..b5fa5654abed02b9cf166e1a4d3781ad212f939c 100644 (file)
@@ -3,10 +3,10 @@
  * Middleware class for selecting the right compressor channel
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 402677b190f187840ec1f896faa67c47c7a96694..45b09ea29ce1fd8392b9082ea4b1c9e7538d393c 100644 (file)
@@ -3,10 +3,10 @@
  * Database selector class
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 4a134324cf4eaab0b81788bc8ce26fdb0fe1eb7d..37d4ed9eb0afab8b1ea31c71fe5ae9433a0f0cbe 100644 (file)
@@ -5,10 +5,10 @@
  * become deprecated soon.
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index fa6937c2ca3512030ff7cfb001420eecc63d57b2..8c7a47aa98c084c69b7153da38244f4e83bd2112 100644 (file)
@@ -4,10 +4,10 @@
  * Missing paths in writing process will be automatically created.
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index e104b41caf67dfef6a2551f5f63585f466aab3c6..9b307c07cb3e87a934504594ca006d41303d8b46 100644 (file)
@@ -5,10 +5,10 @@
  * configuration entries there.
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
@@ -141,5 +141,8 @@ $cfg->setConfigEntry("default_application", "selector");
 // CFG: VERBOSE-LEVEL
 $cfg->setConfigEntry("verbose_level", 0);
 
+// CFG: COMMAND-PARAMETER
+$cfg->setConfigEntry("command_parameter", "page");
+
 // [EOF]
 ?>
index 9f919fa900bec40f2025dda1696365ee5dcef1bf..6c81052d52ae1e4b41a268891ae847539d6e377a 100644 (file)
@@ -7,10 +7,10 @@
  *
  * @see                        ClassLoader
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index bba0192e34894c83d6c6cf59c780e50ac07f0e8e..99611eabc51d88cd913fe97ecd95c70b6dca9fa7 100644 (file)
@@ -3,10 +3,10 @@
  * Initializes the database layer
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 3e1ebc5623b6c91f0aa07257dcf5657687289904..a14e7c8fe2f700fe60b5fa073c4bdf3caf8654af 100644 (file)
@@ -3,10 +3,10 @@
  * Initializes the local file database class
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index eb37543bf75e85766cfbbf0a85a3b9146b4ea964..18b0cb4505a8cad613d3dcc3202323f960d9e843 100644 (file)
@@ -5,10 +5,10 @@
  * instances will we generated.
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index f6aeeac965f232465dae77a4a70332ada19f0f84..52f859473f78adc4d6fbeff9ff0760ba8c983573 100644 (file)
@@ -3,10 +3,10 @@
  * Loads more include files by using the generic class loader
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index 1711acf6a287b15ed1d4653377b1f559d2a4b6d1..58ea69e89b76c0d91572337b203ec88999504042 100644 (file)
@@ -3,7 +3,7 @@
  * Try to initializes the language system
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @version            0.0.0
  * @copyright  Copyright(c) 2007, 2008 Roland Haeder, this is free software
  * @license            GNU GPL 3.0 or any newer version
  *
index 9d4ddbe21e343217537a031562749fad4719659e..736649689127d55193e5c1a07dc5a9d085253f8a 100644 (file)
@@ -3,10 +3,10 @@
  * This class loads class include files with a specific prefix and suffix
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index b77df4a5b3d161b3932ae0aa1fedf175373fbf20..72ff36bceed34710c3f53c8b3ed402d3657427ee 100644 (file)
@@ -3,10 +3,10 @@
  * Initializes the output middleware layer
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index a8bb1fdf480da63db484583dc0693f02d56e680f..2133c11e742dbc7babcdf75dd93bd3f9d41e7e87 100644 (file)
@@ -3,10 +3,10 @@
  * The application selector main include file
  *
  * @author             Roland Haeder <webmaster@mxchange.org>
- * @version            0.3.0
+ * @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
index a16e1cd133fd05b1ca68ee2b2c34cc9090eb0768..f747430f83e50cfcea5a600b852f004f92005943 100644 (file)
@@ -8,4 +8,13 @@
                $content[message]
        </div>
 
+       <div class="emergency_exit backtrace_box">
+               <div class="backtrace_header">
+                       Backtrace:
+               </div>
+               <div class="backtrace_content">
+                       $content[backtrace]
+               </div>
+       </div>
+
 {?footer_msg:footer_msg="Please contact the support and supply the full above message, if you think you are not qualified to fix this problem."?}
index 84b245d49677cf2768a01e47ec305864946a0c8a..a5cc32d1f8f960bc4a29d15190f66c63b3405ca8 100644 (file)
@@ -23,6 +23,25 @@ require_once("PHPUnit/Framework.php");
 /**
  * A test case for the configuration sub system
  *
+ * @author             Roland Haeder <webmaster@mxchange.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.ship-simu.org
+ * @see                        http://www.phpunit.de
+ *
+ * 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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * 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/>.
  */
 class ConfigTest extends PHPUnit_Framework_TestCase {
        /**
index 607c8879dd81515ebc37e1b0f06219107f03d827..e268d08ae4da820d9b281764a5af4c476f361616 100644 (file)
@@ -445,12 +445,12 @@ try {
 if ($typeValid) {
        DebugMiddleware::getInstance()->output(sprintf("Die Reederei <strong>%s</strong> kann Schiffe vom Typ <strong>%s</strong> bauen.<br />\n",
                $shipping->getCompanyName(),
-               $contract->getShipInstance()->getPartDescr()
+               $contract->getShipInstance()->getObjectDescription()
        ));
 } else {
        DebugMiddleware::getInstance()->output(sprintf("Die Reederei <strong>%s</strong> kann keine Schiffe vom Typ <strong>%s</strong> bauen!<br />\n",
                $shipping->getCompanyName(),
-               $contract->getShipInstance()->getPartDescr()
+               $contract->getShipInstance()->getObjectDescription()
        ));
        exit;
 }