// 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
// 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');
// 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);
}
}