Index: branches/5.2.x/units/product_option_combinations/product_option_combinations_event_handler.php =================================================================== diff -u -N -r13845 -r14099 --- branches/5.2.x/units/product_option_combinations/product_option_combinations_event_handler.php (.../product_option_combinations_event_handler.php) (revision 13845) +++ branches/5.2.x/units/product_option_combinations/product_option_combinations_event_handler.php (.../product_option_combinations_event_handler.php) (revision 14099) @@ -1,6 +1,6 @@ getObject(); + /* @var $object kDBItem */ $salt = $fields['Combination']; ksort($salt); $object->Load(crc32(serialize($salt)), 'CombinationCRC'); $object->SetFieldsFromHash($fields); $this->customProcessing($event,'before'); - if ($object->Loaded) { // Update if such combination already exists + if ( $object->isLoaded() ) { // Update if such combination already exists if( $object->Update() ) { $this->customProcessing($event,'after'); - $event->status=erSUCCESS; + $event->status=kEvent::erSUCCESS; } } else { if( $object->Create($event->getEventParam('ForceCreateId')) ) { $this->customProcessing($event,'after'); - $event->status=erSUCCESS; + $event->status=kEvent::erSUCCESS; } } } @@ -127,12 +128,14 @@ if (!$recursed) { $object =& $event->getObject(); + /* @var $object kDBItem */ + $edit_id = $object->GetId(); $salt = $fields['Combination']; ksort($salt); // try to load combination by salt - if loaded, it will update the combination $object->Load(crc32(serialize($salt)), 'CombinationCRC'); - if (!$object->Loaded) { + if ( !$object->isLoaded() ) { $object->Load($edit_id); } $object->SetFieldsFromHash($fields); @@ -141,11 +144,16 @@ if( $object->Update() ) { $this->customProcessing($event,'after'); - $event->status=erSUCCESS; + $event->status=kEvent::erSUCCESS; } } } + /** + * Enter description here... + * + * @param kEvent $event + */ function OnCreate(&$event) { $object =& $event->getObject( Array('skip_autoload' => true) ); @@ -156,9 +164,9 @@ list($id,$field_values) = each($items_info); $object->SetFieldsFromHash($field_values); if (!$object->Validate()) { - $event->status = erFAIL; + $event->status = kEvent::erFAIL; $event->redirect = false; - $this->Application->SetVar($event->Prefix_Special.'_SaveEvent','OnCreate'); + $this->Application->SetVar($event->getPrefixSpecial().'_SaveEvent','OnCreate'); $object->setID($id); return; } @@ -180,7 +188,7 @@ $object->SetFieldsFromHash($field_values); if (!$object->Validate()) { - $event->status = erFAIL; + $event->status = kEvent::erFAIL; $event->redirect = false; return; } @@ -190,11 +198,11 @@ if( $object->Update($id) ) { $this->customProcessing($event, 'after'); - $event->status=erSUCCESS; + $event->status=kEvent::erSUCCESS; } else { - $event->status=erFAIL; + $event->status=kEvent::erFAIL; $event->redirect=false; break; }*/ @@ -225,9 +233,9 @@ if($auto_load && !$skip_autload) $this->LoadItem($event); $actions =& $this->Application->recallObject('kActions'); - $actions->Set($event->Prefix_Special.'_GoTab', ''); + $actions->Set($event->getPrefixSpecial().'_GoTab', ''); - $actions->Set($event->Prefix_Special.'_GoId', ''); + $actions->Set($event->getPrefixSpecial().'_GoId', ''); } function LoadItem(&$event) @@ -241,7 +249,7 @@ if ($object->Load($id) ) { $actions =& $this->Application->recallObject('kActions'); - $actions->Set($event->Prefix_Special.'_id', $object->GetId() ); + $actions->Set($event->getPrefixSpecial().'_id', $object->GetId() ); } else { @@ -315,14 +323,18 @@ if ($this->Conn->GetOne($sql) == 2) { $live_object =& $this->Application->recallObject($event->Prefix.'.itemlive', null, Array('skip_autoload' => true)); + /* @var $live_object kDBItem */ + $live_object->SwitchToLive(); $live_object->Load($id); $temp_object =& $this->Application->recallObject($event->Prefix.'.itemtemp', null, Array('skip_autoload' => true)); + /* @var $temp_object kDBItem */ + $temp_object->SwitchToTemp(); $temp_object->Load($id); - $temp_object->SetDBFieldsFromHash($live_object->FieldValues, Array('QtyInStock','QtyReserved','QtyBackOrdered','QtyOnOrder')); + $temp_object->SetDBFieldsFromHash($live_object->GetFieldValues(), Array('QtyInStock','QtyReserved','QtyBackOrdered','QtyOnOrder')); $temp_object->Update(); } }