Index: branches/5.2.x/core/kernel/db/db_event_handler.php =================================================================== diff -u -N -r14856 -r14870 --- branches/5.2.x/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 14856) +++ branches/5.2.x/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 14870) @@ -1,6 +1,6 @@ _update($event); + + $event->SetRedirectParam('opener', 'u'); + } + + /** + * Updates data in database based on request + * + * @param kEvent $event + * @return void + * @access protected + */ + protected function _update(kEvent &$event) + { $object =& $event->getObject(Array ('skip_autoload' => true)); /* @var $object kDBItem */ @@ -1469,8 +1483,6 @@ } } } - - $event->SetRedirectParam('opener', 'u'); } /** @@ -1860,27 +1872,8 @@ return ; } - $object =& $event->getObject( Array ('skip_autoload' => true) ); - /* @var $object kDBItem */ - - $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) ); - if ( $items_info ) { - foreach ($items_info as $id => $field_values) { - $object->Load($id); - $object->SetFieldsFromHash($field_values); - $this->customProcessing($event, 'before'); - - if ( $object->Update($id) ) { - $this->customProcessing($event, 'after'); - $event->status = kEvent::erSUCCESS; - } - else { - $event->status = kEvent::erFAIL; - $event->redirect = false; - break; - } - } - } + // don't just call OnUpdate event here, since it maybe overwritten to Front-End specific behavior + $this->_update($event); } /**