Index: branches/5.0.x/core/kernel/db/db_event_handler.php =================================================================== diff -u -r12117 -r12193 --- branches/5.0.x/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 12117) +++ branches/5.0.x/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 12193) @@ -1,6 +1,6 @@ getEventParam('ids'); if (isset($direct_ids) || ($ids !== false)) { - // save ids directly if they given - $this->Application->StoreVar($session_name, implode(',', $direct_ids ? $direct_ids : $ids)); - return $direct_ids ? $direct_ids : $ids; + // save ids directly if they given + reset array indexes + $resulting_ids = $direct_ids ? array_values($direct_ids) : ($ids ? array_values($ids) : false); + if ($resulting_ids) { + $this->Application->SetVar($event->getPrefixSpecial() . '_selected_ids', implode(',', $resulting_ids)); + $this->Application->LinkVar($event->getPrefixSpecial() . '_selected_ids', $session_name); + $this->Application->SetVar($event->getPrefixSpecial() . '_id', $resulting_ids[0]); + + return $resulting_ids; + } + + return Array (); } $ret = Array();