Index: branches/unlabeled/unlabeled-1.68.2/core/units/general/cat_event_handler.php =================================================================== diff -u -r6842 -r6878 --- branches/unlabeled/unlabeled-1.68.2/core/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 6842) +++ branches/unlabeled/unlabeled-1.68.2/core/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 6878) @@ -55,7 +55,7 @@ $selected_ids = implode(',', $this->StoreSelectedIDs($event)); } else { - $selected_ids = $this->Application->RecallVar($event->getPrefixSpecial().'_selected_ids'); + $selected_ids = implode(',', $this->getSelectedIDs($event, true)); } $id_field = $this->Application->getUnitOption($event->Prefix, 'IDField'); @@ -1341,8 +1341,7 @@ $selected_ids = $this->Application->GetVar($selector_name); } else { - $this->StoreSelectedIDs($event); - $selected_ids = $this->getSelectedIDs($event); + $selected_ids = $this->StoreSelectedIDs($event); if (implode(',', $selected_ids) == '') { // K4 fix when no ids found bad selected ids array is formed @@ -1605,9 +1604,10 @@ // 5. substitute id of item being cloned with clone id $this->Application->SetVar($event->getPrefixSpecial().'_id', $cloned_ids[0]); - $selected_ids = explode(',', $this->Application->RecallVar($event->getPrefixSpecial().'_selected_ids')); + + $selected_ids = $this->getSelectedIDs($event, true); $selected_ids[ array_search($object->GetID(), $selected_ids) ] = $cloned_ids[0]; - $this->Application->StoreVar($event->getPrefixSpecial().'_selected_ids', implode(',', $selected_ids)); + $this->StoreSelectedIDs($event, $selected_ids); // 6. delete original item from temp table $temp_handler->DeleteItems($event->Prefix, $event->Special, Array($object->GetID()));