public function adapt(array $newProperty) { if (!isset($newProperty['TYPE'])) { return $newProperty; } if (is_array($newProperty)) { foreach ($newProperty as $k => $v) { if (isset($this->fieldProxy[$k])) { unset($newProperty[$k]); $newProperty[$this->fieldProxy[$k]] = $v; } } } $oldProperty = CSaleOrderPropsAdapter::convertNewToOld($newProperty); $oldProperty['VALUE'] = CSaleOrderPropsAdapter::getOldValue($newProperty['VALUE'], $newProperty['TYPE']); $oldProperty['PROP_TYPE'] = $oldProperty['TYPE']; $oldProperty['PROP_SIZE1'] = $oldProperty['SIZE1']; $oldProperty['PROP_SIZE2'] = $oldProperty['SIZE2']; return array_intersect_key($oldProperty, $this->select); }