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);
}
}