Bug #71585
closedWrong condition at resolving of controller action name
0%
Description
It seems for me like the name of a controller Action written in lowerCamelCase like "SomeSuperDesignedAction" will not be resolved, because of the check in this function.
If the controller action is called without arguments, there's no problem. Otherwise the method argument validation can not be mapped.
I think the it should be if ($controllerObjectName !== '' && $this->controllerActionName !== strtolower($this->controllerActionName)){...}
/** * Returns the name of the action the controller is supposed to execute. * * @return string Action name * @api */ public function getControllerActionName() { $controllerObjectName = $this->getControllerObjectName(); if ($controllerObjectName !== '' && $this->controllerActionName === strtolower($this->controllerActionName)) { $actionMethodName = $this->controllerActionName . 'Action'; $classMethods = get_class_methods($controllerObjectName); if (is_array($classMethods)) { foreach ($classMethods as $existingMethodName) { if (strtolower($existingMethodName) === strtolower($actionMethodName)) { $this->controllerActionName = substr($existingMethodName, 0, -6); break; } } } } return $this->controllerActionName; }
Files
Updated by Wouter Wolters almost 8 years ago
- Status changed from New to Needs Feedback
The code you mention is already in place. Is this still an issue?
Updated by Wouter Wolters almost 8 years ago
- Status changed from Needs Feedback to Closed
No feedback within the last 90 days => closing this issue.
If you think that this is the wrong decision or experience this issue again, then please write to the mailing list typo3.teams.bugs with issue number and an explanation or open a new ticket and add a relation to this ticket number.