diff --git a/inc/events.php b/inc/events.php index 09f3f3c0c7a6c5a6dcca1f2a3f5215785cef64c3..4e81f85c8a0783b87bb7a51d9f86380c86ad06f1 100644 --- a/inc/events.php +++ b/inc/events.php @@ -158,8 +158,7 @@ class Doku_Event_Handler { $evt_name = $event->name . ($advise ? '_'.$advise : '_BEFORE'); if (!empty($this->_hooks[$evt_name])) { - $hook = reset($this->_hooks[$evt_name]); - do { + foreach ($this->_hooks[$evt_name] as $hook) { // list($obj, $method, $param) = $hook; $obj =& $hook[0]; $method = $hook[1]; @@ -171,7 +170,8 @@ class Doku_Event_Handler { $obj->$method($event, $param); } - } while ($event->_continue && $hook = next($this->_hooks[$evt_name])); + if (!$event->_continue) break; + } } } }