X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fclasses%2Fmain%2Fcommands%2Fweb%2Fclass_WebLoginAreaCommand.php;h=749de17491a02c983d10bdf7ae17423844da1b83;hb=5bf79580029c4f6ee71e6c9e7890169e4b344def;hp=a9d37b2b829cf22a80c10b064a64a635704aacba;hpb=d527a312ec4b2983fc0ecda2179ce335c1a5a1f9;p=shipsimu.git diff --git a/inc/classes/main/commands/web/class_WebLoginAreaCommand.php b/inc/classes/main/commands/web/class_WebLoginAreaCommand.php index a9d37b2..749de17 100644 --- a/inc/classes/main/commands/web/class_WebLoginAreaCommand.php +++ b/inc/classes/main/commands/web/class_WebLoginAreaCommand.php @@ -35,15 +35,6 @@ class WebLoginAreaCommand extends BaseCommand implements Commandable { protected function __construct () { // Call parent constructor parent::__construct(__CLASS__); - - // Set special description - $this->setObjectDescription("Command for the "login area" page"); - - // Create unique ID number - $this->generateUniqueId(); - - // Clean up a little - $this->removeSystemArray(); } /** @@ -96,7 +87,7 @@ class WebLoginAreaCommand extends BaseCommand implements Commandable { $appInstance = $this->getResolverInstance()->getApplicationInstance(); // Prepare a template instance - $templateInstance = $this->prepareTemplateEngine($appInstance); + $templateInstance = $this->prepareTemplateInstance($appInstance); // Assign base URL $templateInstance->assignConfigVariable('base_url'); @@ -122,11 +113,11 @@ class WebLoginAreaCommand extends BaseCommand implements Commandable { $templateInstance->assignTemplateWithVariable('footer', 'footer'); // Load the matching template - $templateInstance->loadCodeTemplate($this->actionName); + $templateInstance->loadCodeTemplate('action_' . $this->actionName); // Assign the template with the master template as a content ... ;) $templateInstance->compileTemplate(); - $templateInstance->assignTemplateWithVariable($this->actionName, "login_content"); + $templateInstance->assignTemplateWithVariable('action_' . $this->actionName, 'login_content'); // Load main template $templateInstance->loadCodeTemplate('login_main'); @@ -146,12 +137,12 @@ class WebLoginAreaCommand extends BaseCommand implements Commandable { // these two calls to cache compiled templates. $templateInstance->compileVariables(); - // Get the content back from the template engine and put it in the response class + // Get the content back from the template engine and put it in response class $templateInstance->transferToResponse($responseInstance); } /** - * Adds extra filters to the given controller instance + * Adds extra filters to the given controller instance. An corresponding action class must now exist! * * @param $controllerInstance A controller instance * @param $requestInstance An instance of a class with an Requestable interface @@ -161,8 +152,17 @@ class WebLoginAreaCommand extends BaseCommand implements Commandable { // Default is no action $actionInstance = null; + // Get registry + $registryInstance = Registry::getRegistry(); + + // Get our application instance from the registry + $appInstance = $registryInstance->getInstance('application'); + // Default action is the one from configuration - $this->actionName = sprintf("login_%s", $this->getConfigInstance()->readConfig('login_default_action')); + $this->actionName = sprintf("%s_login_%s", + str_replace("-", "_", $appInstance->getAppShortName()), + $this->getConfigInstance()->readConfig('login_default_action') + ); // Get "action" from request $actReq = $requestInstance->getRequestElement('action'); @@ -170,28 +170,26 @@ class WebLoginAreaCommand extends BaseCommand implements Commandable { // Do we have a "action" parameter set? if ((is_string($actReq)) && (!empty($actReq))) { // Then use it with prefix - $this->actionName = sprintf("login_%s", $actReq); + $this->actionName = sprintf("%s_login_%s", + str_replace("-", "_", $appInstance->getAppShortName()), + $actReq + ); } // END - if // Get application instance $applicationInstance = $this->getResolverInstance()->getApplicationInstance(); - // Try to get an action resolver for the given action - try { - // Get a resolver - $actionResolver = WebActionResolver::createWebActionResolver($this->actionName, $applicationInstance); + // Get a resolver + $actionResolver = WebActionResolver::createWebActionResolver($this->actionName, $applicationInstance); - // Resolve the action - $actionInstance = $actionResolver->resolveAction(); + // Resolve the action + $actionInstance = $actionResolver->resolveAction(); - // Add more action-specific filters - $actionInstance->addExtraFilters($controllerInstance, $requestInstance); + // Add more action-specific filters + $actionInstance->addExtraFilters($controllerInstance, $requestInstance); - // Remember this action in registry - Registry::getRegistry()->addInstance('action', $actionInstance); - } catch (InvalidActionException $e) { - // Silently ignored because no special action was found - } + // Remember this action in registry + Registry::getRegistry()->addInstance('action', $actionInstance); } }