1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-02 22:02:07 +02:00

[feature/controller] Don't allow a kernel listener to be added with no method

PHPBB3-10864
This commit is contained in:
David King 2012-10-20 17:16:14 -04:00
parent 067a770730
commit 5c86a1660d
2 changed files with 2 additions and 4 deletions

View File

@ -44,10 +44,7 @@ class phpbb_event_kernel_compiler_pass implements CompilerPassInterface
if (!isset($event['method']))
{
$event['method'] = 'on'.preg_replace(array(
'/(?<=\b)[a-z]/ie',
'/[^a-z0-9]/i'
), array('strtoupper("\\0")', ''), $event['event']);
throw new InvalidArgumentException($user->lang('NO_METHOD_ATTRIBUTE', $id));
}
$definition->addMethodCall('addListenerService', array($event['event'], array($id, $event['method']), $priority));

View File

@ -49,6 +49,7 @@ $lang = array_merge($lang, array(
// Event Listener/Subscriber error messages
'NO_EVENT_ATTRIBUTE' => 'Service "%1$s" must define the "event" attribute on "kernel.event_listener" tags.',
'NO_METHOD_ATTRIBUTE' => 'Service "%1$s" must define the "method" attribute on "kernel.event_listener" tags.',
'SUBSCRIBER_WRONG_TYPE' => 'Service "%1$s" must implement interface "%2$s".',
// Core error controller messages