X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=inc%2Fclasses%2Fmain%2Fresolver%2Fcontroller%2Fweb%2Fclass_WebControllerResolver.php;h=a941f53c2309c7cb6991779847491f0c7fc3408e;hp=06ba1118e8a8739c4a3a526aa3592b2eb1937c81;hb=aa7ec363e1fd2d22ddda871d6c36cd78b753692c;hpb=3107989f93cfb5808ce9d75f1c7d2b7ee3d83d18 diff --git a/inc/classes/main/resolver/controller/web/class_WebControllerResolver.php b/inc/classes/main/resolver/controller/web/class_WebControllerResolver.php index 06ba1118..a941f53c 100644 --- a/inc/classes/main/resolver/controller/web/class_WebControllerResolver.php +++ b/inc/classes/main/resolver/controller/web/class_WebControllerResolver.php @@ -4,7 +4,7 @@ * * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright (c) 2007 - 2009 Roland Haeder, this is free software + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 Core Developer Team * @license GNU GPL 3.0 or any newer version * @link http://www.ship-simu.org * @@ -127,21 +127,19 @@ class WebControllerResolver extends BaseControllerResolver implements Controller $controllerInstance = null; // Default controller - $this->setClassName('WebDefaultController'); + $this->setClassName('WebDefaultNewsController'); // Generate the class name //* DEBUG: */ echo __METHOD__.": Controller=".$controllerName; if ($controllerName != $defaultController) { // Create controller class name - $this->setClassName(sprintf("Web%sController", - $this->convertToClassName($controllerName) - )); - } elseif ($this->getConfigInstance()->readConfig('page_with_news') == $this->getApplicationInstance()->getRequestInstance()->getRequestElement('page')) { - // Yes, display news in home then set default controller with news - $this->setClassName('WebDefaultNewsController'); + $className = 'Web' . $this->convertToClassName($controllerName) . 'Controller'; + + // ... and set it + $this->setClassName($className); } else { // No news at home page or non-news page - $this->setClassName('WebDefaultController'); + $this->setClassName('WebDefaultNewsController'); } //* DEBUG: */ echo ", controller=".$this->getClassName()."
\n"; @@ -163,15 +161,22 @@ class WebControllerResolver extends BaseControllerResolver implements Controller $resolverClass = $this->getConfigInstance()->readConfig($resolverConfigEntry); } catch (ConfigEntryNotFoundException $e) { // Use default resolver entry - $resolverConfigEntry = "web_cmd_resolver_class"; + // @TODO Maybe we need to log this? + $resolverConfigEntry = 'web_cmd_resolver_class'; } // Initiate the resolver and controller - $resolverInstance = ObjectFactory::createObjectByConfiguredName($resolverConfigEntry, array($controllerName, $this->getApplicationInstance())); - $controllerInstance = ObjectFactory::createObjectByName($this->getClassName(), array($resolverInstance)); - - // Remove resolver (we don't need it anymore) - unset($resolverInstance); + $resolverInstance = ObjectFactory::createObjectByConfiguredName( + $resolverConfigEntry, + array( + $controllerName, + $this->getApplicationInstance() + ) + ); + $controllerInstance = ObjectFactory::createObjectByName( + $this->getClassName(), + array($resolverInstance) + ); // Return the result return $controllerInstance;