private function init() { $this->init_form_fields(); $this->init_settings(); $this->enabled = $this->get_option('enabled'); $this->name = $this->get_option('name'); $this->title = $this->get_option('title'); $this->{'type'} = 'order'; $this->tax_status = $this->get_option('tax_status'); $this->availability = $this->get_option('availability'); $this->countries = $this->get_option('countries'); $this->weight = $this->getRangeOption('weight'); $this->subtotal = $this->getRangeOption('subtotal'); $this->subtotalWithTax = $this->get_option('subtotal_with_tax') === 'yes'; $this->fee = (double) $this->get_option('fee'); $this->settings['fee'] = $this->formatFloat($this->fee); $this->weightRate = WbsProgressiveRate::fromArray($this->get_option('weight_rate', array())); if (empty($this->countries)) { $this->availability = $this->settings['availability'] = 'all'; } $this->shippingClassRates = $this->get_option('shipping_class_rates', new WbsBucketRates()); $this->priceClamp = $this->getRangeOption('price_clamp'); }
public function validateShippingClasses($key) { $rates = new WbsBucketRates(); $rows = (array) @$_POST[$this->getPostKey($key)]; foreach ($rows as $i => $row) { $rates->add(new WbsBucketRate(@$row['class'], self::receiveDecimal(@$row['fee']), WbsProgressiveRate::fromArray(self::receiveWeightRate(@$row['weight_rate'])))); } return $rates; }