Index: branches/unlabeled/unlabeled-1.73.2/core/kernel/db/db_event_handler.php =================================================================== diff -u -r5795 -r5856 --- branches/unlabeled/unlabeled-1.73.2/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 5795) +++ branches/unlabeled/unlabeled-1.73.2/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 5856) @@ -291,12 +291,13 @@ * @param kEvent $event * @access private */ - function dbBuild(&$object,&$event) + function dbBuild(&$object, &$event) { $object->Configure(); $this->PrepareObject($object, $event); - $live_table = $event->getEventParam('live_table'); + // force live table if specified or is original item + $live_table = $event->getEventParam('live_table') || $event->Special == 'original'; if( $this->UseTempTables($event) && !$live_table ) { @@ -376,6 +377,11 @@ return $this->UseTempTables($event) ? $this->Application->GetTempTablePrefix().TABLE_PREFIX : TABLE_PREFIX; } + /** + * Load item if id is available + * + * @param kEvent $event + */ function LoadItem(&$event) { $object =& $event->getObject(); @@ -384,6 +390,11 @@ { $actions =& $this->Application->recallObject('kActions'); $actions->Set($event->Prefix_Special.'_id', $object->GetID() ); + + $use_pending_editing = $this->Application->getUnitOption($event->Prefix, 'UsePendingEditing'); + if ($use_pending_editing && $event->Special != 'original') { + $this->Application->SetVar($event->Prefix.'.original_id', $object->GetDBField('OrgId')); + } } else {