From: Roland Häder Date: Sun, 16 Nov 2008 22:41:02 +0000 (+0000) Subject: page/action depending news reader support added, missing command for goverment reject... X-Git-Url: https://git.mxchange.org/?p=shipsimu.git;a=commitdiff_plain;h=d4b4116824d9f88a9b057a59796faab123e13631 page/action depending news reader support added, missing command for goverment rejections (goverment_failed) added --- diff --git a/.gitattributes b/.gitattributes index 6ae7adf..ca83c33 100644 --- a/.gitattributes +++ b/.gitattributes @@ -185,6 +185,8 @@ application/ship-simu/main/commands/web/class_WebShipsimuGuestLoginCommand.php - application/ship-simu/main/commands/web/class_WebShipsimuProfileCommand.php -text application/ship-simu/main/commands/web/class_WebShipsimuRegisterCommand.php -text application/ship-simu/main/commands/web/class_WebShipsimuUserLoginCommand.php -text +application/ship-simu/main/commands/web/goverment/.htaccess -text +application/ship-simu/main/commands/web/goverment/class_WebGovermentFailedStartupCommand.php -text application/ship-simu/main/companies/.htaccess -text application/ship-simu/main/companies/class_ShippingCompany.php -text application/ship-simu/main/constructions/.htaccess -text diff --git a/application/ship-simu/config.php b/application/ship-simu/config.php index 72c01ec..a84900c 100644 --- a/application/ship-simu/config.php +++ b/application/ship-simu/config.php @@ -133,6 +133,30 @@ $cfg->setConfigEntry('login_default_action', "welcome"); // CFG: NEWS-READER-CLASS $cfg->setConfigEntry('news_reader_class', "DefaultNewsReader"); +// CFG: NEWS-READER-LOGIN-AREA-CLASS +$cfg->setConfigEntry('news_reader_login_area_class', "DefaultNewsReader"); + +// CFG: NEWS-READER-LOGIN-AREA-LOGOUT-CLASS +$cfg->setConfigEntry('news_reader_login_area_logout_class', "DefaultNewsReader"); + +// CFG: NEWS-READER-LOGIN-AREA-COMPANY-CLASS +$cfg->setConfigEntry('news_reader_login_area_company_class', "DefaultNewsReader"); + +// CFG: NEWS-READER-LOGIN-AREA-REFILL-CLASS +$cfg->setConfigEntry('news_reader_login_area_refill_class', "DefaultNewsReader"); + +// CFG: NEWS-READER-LOGIN-AREA-PROFILE-CLASS +$cfg->setConfigEntry('news_reader_login_area_profile_class', "DefaultNewsReader"); + +// CFG: NEWS-READER-LOGIN-AREA-GOVERMENT-TRAINING-CLASS +$cfg->setConfigEntry('news_reader_login_area_goverment_training_class', "DefaultNewsReader"); + +// CFG: NEWS-READER-LOGIN-AREA-GOVERMENT-STARTUP-HELP-CLASS +$cfg->setConfigEntry('news_reader_login_area_goverment_startup_help_class', "DefaultNewsReader"); + +// CFG: NEWS-READER-GOVERMENT-FAILED-CLASS +$cfg->setConfigEntry('news_reader_goverment_failed_class', "DefaultNewsReader"); + // CFG: NEWS-DOWNLOAD-FILTER $cfg->setConfigEntry('news_download_filter', "NewsDownloadFilter"); diff --git a/application/ship-simu/main/commands/web/goverment/.htaccess b/application/ship-simu/main/commands/web/goverment/.htaccess new file mode 100644 index 0000000..3a42882 --- /dev/null +++ b/application/ship-simu/main/commands/web/goverment/.htaccess @@ -0,0 +1 @@ +Deny from all diff --git a/application/ship-simu/main/commands/web/goverment/class_WebGovermentFailedStartupCommand.php b/application/ship-simu/main/commands/web/goverment/class_WebGovermentFailedStartupCommand.php new file mode 100644 index 0000000..3f4ec94 --- /dev/null +++ b/application/ship-simu/main/commands/web/goverment/class_WebGovermentFailedStartupCommand.php @@ -0,0 +1,78 @@ + + * @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 . + */ +class WebGovermentFailedStartupCommand extends BaseCommand implements Commandable { + /** + * Protected constructor + * + * @return void + */ + protected function __construct () { + // Call parent constructor + parent::__construct(__CLASS__); + } + + /** + * 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 createWebGovermentFailedStartupCommand (CommandResolver $resolverInstance) { + // Get new instance + $commandInstance = new WebGovermentFailedStartupCommand(); + + // 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 + * @todo 0% done + */ + public function execute (Requestable $requestInstance, Responseable $responseInstance) { + $this->partialStub("Unfinished method."); + } + + /** + * Adds extra filters to the given controller instance + * + * @param $controllerInstance A controller instance + * @param $requestInstance An instance of a class with an Requestable interface + * @return void + */ + public function addExtraFilters (Controller $controllerInstance, Requestable $requestInstance) { + // Empty for now + } +} + +// [EOF] +?> diff --git a/inc/classes/main/factories/web/class_WebNewsFactory.php b/inc/classes/main/factories/web/class_WebNewsFactory.php index d7307ec..1dace4e 100644 --- a/inc/classes/main/factories/web/class_WebNewsFactory.php +++ b/inc/classes/main/factories/web/class_WebNewsFactory.php @@ -45,8 +45,29 @@ class WebNewsFactory extends BaseFactory { * @return $factoryInstance An instance of a WebNewsFactory class */ public final static function createFactoryByRequest (Requestable $requestInstance) { + // Set default news reader class + $configEntry = "news_reader_class"; + + // Get "page" + $page = $requestInstance->getRequestElement('page'); + + // Is "page" used? + if (!empty($page)) { + // Then add it + $configEntry = sprintf("news_reader_%s_class", $page); + + // Get "action" + $action = $requestInstance->getRequestElement('action'); + + // Is it also there? + if (!empty($action)) { + // Then use both for config entry + $configEntry = sprintf("news_reader_%s_%s_class", $page, $action); + } // END - if + } // END - if + // Get the news reader class name from config - $className = $requestInstance->getConfigInstance()->readConfig('news_reader_class'); + $className = $requestInstance->getConfigInstance()->readConfig($configEntry); // Once we have that name, try to load initialize it $newsInstance = ObjectFactory::createObjectByName($className, array($requestInstance));