Index: branches/5.2.x/units/pricing/pricing_event_handler.php =================================================================== diff -u -N -r14625 -r14677 --- branches/5.2.x/units/pricing/pricing_event_handler.php (.../pricing_event_handler.php) (revision 14625) +++ branches/5.2.x/units/pricing/pricing_event_handler.php (.../pricing_event_handler.php) (revision 14677) @@ -1,6 +1,6 @@ Application->SetVar($event->getPrefixSpecial(true), $temp); $event->CallSubEvent('OnPreSaveBrackets'); break; - - case 'OnDeleteBrackets': + + case 'OnDeleteBrackets': if ($group_id) { $temp = ''; // delete all pricings from "pr_tang" var - - $sql = 'DELETE FROM ' . $bracket->TableName . ' + + $sql = 'DELETE FROM ' . $bracket->TableName . ' WHERE ProductId = ' . $this->Application->GetVar('p_id') . ' AND GroupId = ' . $group_id; $this->Conn->Query($sql); - } - break; + } + break; default: } @@ -172,27 +172,27 @@ function OnPreSaveBrackets(&$event) { if( $this->Application->GetVar('pr_tang') ) { - + $object =& $event->GetObject(); /* @var $object kDBItem */ $product_id = $this->Application->GetVar('p_id'); $group_id = $this->Application->getVar('group_id'); $sql = 'SELECT PriceId - FROM ' . $object->TableName . ' + FROM ' . $object->TableName . ' WHERE ProductId = ' . $product_id . ' ' . ($group_id? 'AND GroupId = ' . $group_id : ''); $stored_ids = $this->Conn->GetCol($sql); - + $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) ); // get pr_tang var uasort($items_info, 'pr_bracket_comp'); - + foreach ($items_info as $item_id => $values) { if (in_array($item_id, $stored_ids)) { //if it's already exist $object->Load($item_id); $object->SetFieldsFromHash($values); - + if (!$object->Validate()) { unset($stored_ids[array_search($item_id, $stored_ids)]); $event->redirect = false;