File "class-wc-order-item-tax.php"

Full path: /home/kosmetik/public_html/wp-content/plugins/woocommerce/includes/class-wc-order-item-tax.php
File size: 3.62 B
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor   Back

<?php

defined('ABSPATH') || exit;
class WC_Order_Item_Tax extends WC_Order_Item
{
    protected $extra_data = array('rate_code' => '', 'rate_id' => 0, 'label' => '', 'compound' => false, 'tax_total' => 0, 'shipping_tax_total' => 0, 'rate_percent' => null);
    public function set_name($value)
    {
        $this->set_rate_code($value);
    }
    public function set_rate_code($value)
    {
        $this->set_prop('rate_code', wc_clean($value));
    }
    public function set_label($value)
    {
        $this->set_prop('label', wc_clean($value));
    }
    public function set_rate_id($value)
    {
        $this->set_prop('rate_id', absint($value));
    }
    public function set_tax_total($value)
    {
        $this->set_prop('tax_total', $value ? wc_format_decimal($value) : 0);
    }
    public function set_shipping_tax_total($value)
    {
        $this->set_prop('shipping_tax_total', $value ? wc_format_decimal($value) : 0);
    }
    public function set_compound($value)
    {
        $this->set_prop('compound', (bool) $value);
    }
    public function set_rate_percent($value)
    {
        $this->set_prop('rate_percent', (float) $value);
    }
    public function set_rate($tax_rate_id)
    {
        $tax_rate = WC_Tax::_get_tax_rate($tax_rate_id, OBJECT);
        $this->set_rate_id($tax_rate_id);
        $this->set_rate_code(WC_Tax::get_rate_code($tax_rate));
        $this->set_label(WC_Tax::get_rate_label($tax_rate));
        $this->set_compound(WC_Tax::is_compound($tax_rate));
        $this->set_rate_percent(WC_Tax::get_rate_percent_value($tax_rate));
    }
    public function get_type()
    {
        return 'tax';
    }
    public function get_name($context = 'view')
    {
        return $this->get_rate_code($context);
    }
    public function get_rate_code($context = 'view')
    {
        return $this->get_prop('rate_code', $context);
    }
    public function get_label($context = 'view')
    {
        $label = $this->get_prop('label', $context);
        if ('view' === $context) {
            return $label ? $label : __('Tax', 'woocommerce');
        } else {
            return $label;
        }
    }
    public function get_rate_id($context = 'view')
    {
        return $this->get_prop('rate_id', $context);
    }
    public function get_tax_total($context = 'view')
    {
        return $this->get_prop('tax_total', $context);
    }
    public function get_shipping_tax_total($context = 'view')
    {
        return $this->get_prop('shipping_tax_total', $context);
    }
    public function get_compound($context = 'view')
    {
        return $this->get_prop('compound', $context);
    }
    public function is_compound()
    {
        return $this->get_compound();
    }
    public function get_rate_percent($context = 'view')
    {
        return $this->get_prop('rate_percent', $context);
    }
    public function offsetGet($offset)
    {
        if ('tax_amount' === $offset) {
            $offset = 'tax_total';
        } elseif ('shipping_tax_amount' === $offset) {
            $offset = 'shipping_tax_total';
        }
        return parent::offsetGet($offset);
    }
    public function offsetSet($offset, $value)
    {
        wc_deprecated_function('WC_Order_Item_Tax::offsetSet', '4.4.0', '');
        if ('tax_amount' === $offset) {
            $offset = 'tax_total';
        } elseif ('shipping_tax_amount' === $offset) {
            $offset = 'shipping_tax_total';
        }
        parent::offsetSet($offset, $value);
    }
    public function offsetExists($offset)
    {
        if (in_array($offset, array('tax_amount', 'shipping_tax_amount'), true)) {
            return true;
        }
        return parent::offsetExists($offset);
    }
}