Index: branches/5.2.x/core/kernel/kbase.php =================================================================== diff -u -N -r15137 -r15144 --- branches/5.2.x/core/kernel/kbase.php (.../kbase.php) (revision 15137) +++ branches/5.2.x/core/kernel/kbase.php (.../kbase.php) (revision 15144) @@ -1,6 +1,6 @@ parentEvent =& $event; + $this->parentEvent = $event; } /** Index: branches/5.2.x/core/kernel/db/dbitem.php =================================================================== diff -u -N -r15137 -r15144 --- branches/5.2.x/core/kernel/db/dbitem.php (.../dbitem.php) (revision 15137) +++ branches/5.2.x/core/kernel/db/dbitem.php (.../dbitem.php) (revision 15144) @@ -1,6 +1,6 @@ getPrefixSpecial() . ':' . $name, $additional_params); if ( is_object($this->parentEvent) ) { - $event->MasterEvent =& $this->parentEvent; + $event->MasterEvent = $this->parentEvent; } $this->Application->HandleEvent($event); Index: branches/5.2.x/core/kernel/utility/event.php =================================================================== diff -u -N -r15137 -r15144 --- branches/5.2.x/core/kernel/utility/event.php (.../event.php) (revision 15137) +++ branches/5.2.x/core/kernel/utility/event.php (.../event.php) (revision 15144) @@ -1,6 +1,6 @@ Application->hasObject($this->prefixSpecial) ) { - $top_event =& $this; + $top_event = $this; // when OnSave calls OnPreSave in first line, then this would make sure OnSave is used while ( is_object($top_event->MasterEvent) ) { - $top_event =& $top_event->MasterEvent; + $top_event = $top_event->MasterEvent; } - $params['parent_event'] =& $top_event; + $params['parent_event'] = $top_event; } $object = $this->Application->recallObject($this->prefixSpecial, $this->pseudoClass, $params); @@ -294,6 +294,7 @@ * * @param string $name name of callable event (optionally could contain prefix_special as well) * @see kEvent::MasterEvent + * @todo Will overwrite master event data with called event data, which makes 'parent_event' useless in most cases */ public function CallSubEvent($name) { Index: branches/5.2.x/core/kernel/utility/temp_handler.php =================================================================== diff -u -N -r15137 -r15144 --- branches/5.2.x/core/kernel/utility/temp_handler.php (.../temp_handler.php) (revision 15137) +++ branches/5.2.x/core/kernel/utility/temp_handler.php (.../temp_handler.php) (revision 15144) @@ -1,6 +1,6 @@ parentEvent =& $event; + $this->parentEvent = $event; } function SetTables($tables) @@ -275,7 +275,7 @@ $special .= '-item'; } - $object = $this->Application->recallObject($prefix.'.'.$special, $prefix, Array('skip_autoload' => true, 'parent_event' => &$this->parentEvent)); + $object = $this->Application->recallObject($prefix.'.'.$special, $prefix, Array('skip_autoload' => true, 'parent_event' => $this->parentEvent)); /* @var $object kCatDBItem */ $object->PopulateMultiLangFields(); @@ -388,7 +388,7 @@ //recalling by different name, because we may get kDBList, if we recall just by prefix $recall_prefix = $prefix_special . ($special ? '' : '.') . '-item'; - $object = $this->Application->recallObject($recall_prefix, $prefix, Array ('skip_autoload' => true, 'parent_event' => &$this->parentEvent)); + $object = $this->Application->recallObject($recall_prefix, $prefix, Array ('skip_autoload' => true, 'parent_event' => $this->parentEvent)); /* @var $object kDBItem */ foreach ($ids as $id) {