Index: branches/5.2.x/core/kernel/event_handler.php
===================================================================
diff -u -r15137 -r15250
--- branches/5.2.x/core/kernel/event_handler.php (.../event_handler.php) (revision 15137)
+++ branches/5.2.x/core/kernel/event_handler.php (.../event_handler.php) (revision 15250)
@@ -1,6 +1,6 @@
getEventMethod($event);
+
+ $this->$event_name($event);
+ }
+
+ /**
+ * Returns method name, that should called to process given event.
+ * When no such method exists and exception is thrown.
+ *
+ * @param kEvent $event
+ * @return string
+ * @throws Exception
+ */
+ public function getEventMethod(kEvent $event)
+ {
$event_name = $event->Name;
if ( array_key_exists($event_name, $this->eventMethods) ) {
$event_name = $this->eventMethods[$event_name];
}
if ( method_exists($this, $event_name) ) {
- $this->$event_name($event);
+ return $event_name;
}
- else {
- throw new Exception('Event ' . $event->Name . ' not implemented in class ' . get_class($this) . '');
- }
+
+ throw new Exception('Event "' . $event->Name . '" not implemented in class "' . get_class($this) . '"');
}
/**