Index: trunk/core/kernel/db/db_event_handler.php =================================================================== diff -u -N -r5340 -r5431 --- trunk/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 5340) +++ trunk/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 5431) @@ -787,8 +787,7 @@ */ function OnCreate(&$event) { - $this->Application->setUnitOption($event->Prefix,'AutoLoad',false); - $object =& $event->getObject(); + $object =& $event->getObject( Array('skip_autoload' => true) ); $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) ); if($items_info) @@ -824,8 +823,7 @@ */ function OnUpdate(&$event) { - $this->Application->setUnitOption($event->Prefix,'AutoLoad',false); - $object =& $event->getObject(); + $object =& $event->getObject( Array('skip_autoload' => true) ); $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) ); if($items_info) @@ -859,8 +857,7 @@ */ function OnDelete(&$event) { - $this->Application->setUnitOption($event->Prefix,'AutoLoad',false); - $object =& $event->getObject(); + $object =& $event->getObject( Array('skip_autoload' => true) ); $object->ID = $this->getPassedID($event); if( $object->Delete() ) { @@ -881,15 +878,13 @@ */ function OnNew(&$event) { - $this->Application->setUnitOption($event->Prefix,'AutoLoad',false); - $object =& $event->getObject(); + $object =& $event->getObject( Array('skip_autoload' => true) ); $object->setID(0); $this->Application->SetVar($event->Prefix_Special.'_SaveEvent','OnCreate'); $table_info = $object->getLinkedInfo(); $object->SetDBField($table_info['ForeignKey'], $table_info['ParentId']); - - $this->Application->setUnitOption($event->Prefix,'AutoLoad',true); + $event->redirect = false; } @@ -1046,10 +1041,9 @@ } return; } + + $object =& $event->getObject( Array('skip_autoload' => true) ); - $this->Application->setUnitOption($event->Prefix,'AutoLoad',false); - $object =& $event->getObject(); - $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) ); if ($items_info) { foreach ($items_info as $id => $field_values) { @@ -1125,10 +1119,8 @@ function OnPreCreate(&$event) { $this->clearSelectedIDs($event); + $object =& $event->getObject( Array('skip_autoload' => true) ); - $this->Application->setUnitOption($event->Prefix,'AutoLoad',false); - $object =& $event->getObject(); - $temp =& $this->Application->recallObject($event->Prefix.'_TempHandler', 'kTempTablesHandler'); $temp->PrepareEdit(); @@ -1145,12 +1137,10 @@ */ function OnPreSaveCreated(&$event) { - $this->Application->setUnitOption($event->Prefix,'AutoLoad',false); - $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) ); if($items_info) $field_values = array_shift($items_info); - $object =& $event->getObject(); + $object =& $event->getObject( Array('skip_autoload' => true) ); $object->SetFieldsFromHash($field_values); $this->customProcessing($event, 'before');