Submit
Path:
~
/
home
/
getwphos
/
public_html
/
almajd14
/
wp-content
/
plugins
/
woocommerce
/
includes
/
File Content:
class-wc-shipping-rate.php
<?php /** * WooCommerce Shipping Rate * * Simple Class for storing rates. * * @package WooCommerce\Classes\Shipping * @since 2.6.0 */ declare( strict_types=1 ); defined( 'ABSPATH' ) || exit; use Automattic\WooCommerce\Enums\ProductTaxStatus; /** * Shipping rate class. */ class WC_Shipping_Rate implements JsonSerializable { /** * Stores data for this rate. * * @since 9.2.0 Added description and delivery_time. * @var array */ protected $data = array( 'id' => '', 'method_id' => '', 'instance_id' => 0, 'label' => '', 'cost' => 0, 'taxes' => array(), 'tax_status' => ProductTaxStatus::TAXABLE, 'description' => '', 'delivery_time' => '', ); /** * Stores meta data for this rate. * * @var array */ protected $meta_data = array(); /** * Constructor. * * @param string $id Shipping rate ID. * @param string $label Shipping rate label. * @param integer $cost Cost. * @param array $taxes Taxes applied to shipping rate. * @param string $method_id Shipping method ID. * @param int $instance_id Shipping instance ID. * @param string $tax_status Tax status. * @param string $description Shipping rate description. * @param string $delivery_time Shipping rate delivery time. */ public function __construct( $id = '', $label = '', $cost = 0, $taxes = array(), $method_id = '', $instance_id = 0, $tax_status = ProductTaxStatus::TAXABLE, $description = '', $delivery_time = '' ) { $this->set_id( $id ); $this->set_label( $label ); $this->set_cost( $cost ); $this->set_taxes( $taxes ); $this->set_method_id( $method_id ); $this->set_instance_id( $instance_id ); $this->set_tax_status( $tax_status ); $this->set_description( $description ); $this->set_delivery_time( $delivery_time ); } /** * Magic method to support direct access to data prop. * * @param string $key Key. * @return bool */ public function __isset( $key ) { return isset( $this->data[ $key ] ); } /** * Magic methods to support direct access to props. * * @param string $key Key. * @return mixed */ public function __get( $key ) { if ( is_callable( array( $this, "get_{$key}" ) ) ) { return $this->{"get_{$key}"}(); } if ( isset( $this->data[ $key ] ) ) { return $this->data[ $key ]; } return ''; } /** * Magic methods to support direct access to props. * * @since 3.2.0 * @param string $key Key. * @param mixed $value Value. */ public function __set( $key, $value ) { if ( is_callable( array( $this, "set_{$key}" ) ) ) { $this->{"set_{$key}"}( $value ); } else { $this->data[ $key ] = $value; } } /** * When converted to JSON. * * @return object|array */ #[\ReturnTypeWillChange] public function jsonSerialize() { return array( 'data' => $this->data, 'meta_data' => $this->meta_data, ); } /** * Set ID for the rate. This is usually a combination of the method and instance IDs. * * @since 3.2.0 * @param string $id Shipping rate ID. */ public function set_id( $id ) { $this->data['id'] = (string) $id; } /** * Set shipping method ID the rate belongs to. * * @since 3.2.0 * @param string $method_id Shipping method ID. */ public function set_method_id( $method_id ) { $this->data['method_id'] = (string) $method_id; } /** * Set instance ID the rate belongs to. * * @since 3.2.0 * @param int $instance_id Instance ID. */ public function set_instance_id( $instance_id ) { $this->data['instance_id'] = absint( $instance_id ); } /** * Set rate label. * * @since 3.2.0 * @param string $label Shipping rate label. */ public function set_label( $label ) { $this->data['label'] = (string) $label; } /** * Set rate cost. * * @todo 4.0 Prevent negative value being set. #19293 * @since 3.2.0 * @param string $cost Shipping rate cost. */ public function set_cost( $cost ) { $this->data['cost'] = $cost; } /** * Set rate taxes. * * @since 3.2.0 * @param array $taxes List of taxes applied to shipping rate. */ public function set_taxes( $taxes ) { $this->data['taxes'] = ! empty( $taxes ) && is_array( $taxes ) ? $taxes : array(); } /** * Set tax status. * * @since 9.6.0 * @param string $value Tax status. */ public function set_tax_status( $value ) { if ( in_array( $value, array( ProductTaxStatus::TAXABLE, ProductTaxStatus::NONE ), true ) ) { $this->data['tax_status'] = $value; } } /** * Set rate description. * * @since 9.2.0 * @param string $description Shipping rate description. */ public function set_description( $description ) { $this->data['description'] = (string) $description; } /** * Set rate delivery time. * * @since 9.2.0 * @param string $delivery_time Shipping rate delivery time. */ public function set_delivery_time( $delivery_time ) { $this->data['delivery_time'] = (string) $delivery_time; } /** * Get ID for the rate. This is usually a combination of the method and instance IDs. * * @since 3.2.0 * @return string */ public function get_id() { /** * Filter the shipping rate ID. * * @since 3.2.0 * @param string $id The shipping rate ID. * @param WC_Shipping_Rate $this The shipping rate object. */ return apply_filters( 'woocommerce_shipping_rate_id', $this->data['id'], $this ); } /** * Get shipping method ID the rate belongs to. * * @since 3.2.0 * @return string */ public function get_method_id() { /** * Filter the shipping method ID. * * @since 3.2.0 * @param string $method_id The shipping method ID. * @param WC_Shipping_Rate $this The shipping rate object. */ return apply_filters( 'woocommerce_shipping_rate_method_id', $this->data['method_id'], $this ); } /** * Get instance ID the rate belongs to. * * @since 3.2.0 * @return int */ public function get_instance_id() { /** * Filter the shipping rate instance ID. * * @since 3.2.0 * @param int $instance_id The shipping rate instance ID. * @param WC_Shipping_Rate $this The shipping rate object. */ return apply_filters( 'woocommerce_shipping_rate_instance_id', $this->data['instance_id'], $this ); } /** * Get rate label. * * @return string */ public function get_label() { /** * Filter the shipping rate label. * * @since 3.2.0 * @param string $label The shipping rate label. * @param WC_Shipping_Rate $this The shipping rate object. */ return apply_filters( 'woocommerce_shipping_rate_label', $this->data['label'], $this ); } /** * Get rate cost. * * @since 3.2.0 * @return string */ public function get_cost() { /** * Filter the shipping rate cost. * * @since 3.2.0 * @param string $cost The shipping rate cost. * @param WC_Shipping_Rate $this The shipping rate object. */ return apply_filters( 'woocommerce_shipping_rate_cost', $this->data['cost'], $this ); } /** * Get rate taxes. * * @since 3.2.0 * @return array */ public function get_taxes() { /** * Filter the shipping rate taxes. * * @since 3.2.0 * @param array $taxes The shipping rate taxes. * @param WC_Shipping_Rate $this The shipping rate object. */ return apply_filters( 'woocommerce_shipping_rate_taxes', $this->data['taxes'], $this ); } /** * Get shipping tax. * * @return float */ public function get_shipping_tax() { $taxes = $this->get_taxes(); /** * Filter the shipping rate taxes. * * @since 3.2.0 * @param array $taxes The shipping rate taxes. * @param WC_Shipping_Rate $this The shipping rate object. */ return apply_filters( 'woocommerce_get_shipping_tax', count( $taxes ) > 0 && ! WC()->customer->get_is_vat_exempt() ? (float) array_sum( $taxes ) : 0.0, $this ); } /** * Get tax status. * * @return string */ public function get_tax_status() { /** * Filter to allow tax status to be overridden for a shipping rate. * * @since 9.9.0 * @param string $tax_status Tax status. * @param WC_Shipping_Rate $this Shipping rate object. */ return apply_filters( 'woocommerce_shipping_rate_tax_status', $this->data['tax_status'], $this ); } /** * Get rate description. * * @since 9.2.0 * @return string */ public function get_description() { /** * Filter the shipping rate description. * * @since 9.2.0 * * @param string $description The current description. * @param WC_Shipping_Rate $this The shipping rate. */ return apply_filters( 'woocommerce_shipping_rate_description', $this->data['description'], $this ); } /** * Get rate delivery time. * * @since 9.2.0 * @return string */ public function get_delivery_time() { /** * Filter the shipping rate delivery time. * * @since 9.2.0 * * @param string $delivery_time The current description. * @param WC_Shipping_Rate $this The shipping rate. */ return apply_filters( 'woocommerce_shipping_rate_delivery_time', $this->data['delivery_time'], $this ); } /** * Add some meta data for this rate. * * @since 2.6.0 * @param string $key Key. * @param string $value Value. */ public function add_meta_data( $key, $value ) { $this->meta_data[ wc_clean( $key ) ] = wc_clean( $value ); } /** * Get all meta data for this rate. * * @since 2.6.0 * @return array */ public function get_meta_data() { return $this->meta_data; } }
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
abstracts
---
0755
admin
---
0755
blocks
---
0755
cli
---
0755
customizer
---
0755
data-stores
---
0755
emails
---
0755
export
---
0755
gateways
---
0755
import
---
0755
integrations
---
0755
interfaces
---
0755
legacy
---
0755
libraries
---
0755
log-handlers
---
0755
payment-tokens
---
0755
product-usage
---
0755
queue
---
0755
react-admin
---
0755
rest-api
---
0755
shipping
---
0755
shortcodes
---
0755
theme-support
---
0755
tracks
---
0755
traits
---
0755
walkers
---
0755
wccom-site
---
0755
widgets
---
0755
class-wc-ajax.php
122617 bytes
0644
class-wc-auth.php
12995 bytes
0644
class-wc-autoloader.php
3401 bytes
0644
class-wc-background-emailer.php
4685 bytes
0644
class-wc-background-updater.php
3535 bytes
0644
class-wc-brands-brand-settings-manager.php
1826 bytes
0644
class-wc-brands-coupons.php
7059 bytes
0644
class-wc-brands.php
33719 bytes
0644
class-wc-breadcrumb.php
9722 bytes
0644
class-wc-cache-helper.php
12952 bytes
0644
class-wc-cart-session.php
21687 bytes
0644
class-wc-cart-totals.php
29163 bytes
0644
class-wc-cart.php
72935 bytes
0644
class-wc-cli.php
3419 bytes
0644
class-wc-comments.php
23174 bytes
0644
class-wc-countries.php
50342 bytes
0644
class-wc-coupon.php
40886 bytes
0644
class-wc-customer-download-log.php
3452 bytes
0644
class-wc-customer-download.php
10587 bytes
0644
class-wc-customer.php
33318 bytes
0644
class-wc-data-exception.php
1321 bytes
0644
class-wc-datetime.php
2310 bytes
0644
class-wc-deprecated-action-hooks.php
6746 bytes
0644
class-wc-deprecated-filter-hooks.php
7518 bytes
0644
class-wc-discounts.php
37523 bytes
0644
class-wc-download-handler.php
29053 bytes
0644
class-wc-emails.php
39069 bytes
0644
class-wc-form-handler.php
46988 bytes
0644
class-wc-frontend-scripts.php
30478 bytes
0644
class-wc-geo-ip.php
31139 bytes
0644
class-wc-geolite-integration.php
2036 bytes
0644
class-wc-geolocation.php
11594 bytes
0644
class-wc-https.php
4439 bytes
0644
class-wc-install.php
110845 bytes
0644
class-wc-integrations.php
1308 bytes
0644
class-wc-meta-data.php
2260 bytes
0644
class-wc-order-factory.php
8728 bytes
0644
class-wc-order-item-coupon.php
4175 bytes
0644
class-wc-order-item-meta.php
5942 bytes
0644
class-wc-order-item-shipping.php
9013 bytes
0644
class-wc-order-query.php
2615 bytes
0644
class-wc-order-refund.php
6135 bytes
0644
class-wc-order.php
77201 bytes
0644
class-wc-payment-gateways.php
16109 bytes
0644
class-wc-payment-tokens.php
6390 bytes
0644
class-wc-post-data.php
35382 bytes
0644
class-wc-post-types.php
32771 bytes
0644
class-wc-privacy-background-process.php
1833 bytes
0644
class-wc-privacy-erasers.php
13941 bytes
0644
class-wc-privacy-exporters.php
15044 bytes
0644
class-wc-privacy.php
17629 bytes
0644
class-wc-product-download.php
12547 bytes
0644
class-wc-query.php
34161 bytes
0644
class-wc-rate-limiter.php
4100 bytes
0644
class-wc-regenerate-images-request.php
7923 bytes
0644
class-wc-regenerate-images.php
15806 bytes
0644
class-wc-rest-authentication.php
22068 bytes
0644
class-wc-rest-exception.php
276 bytes
0644
class-wc-session-handler.php
23077 bytes
0644
class-wc-shipping-rate.php
9566 bytes
0644
class-wc-shipping-zone.php
13392 bytes
0644
class-wc-shipping-zones.php
4106 bytes
0644
class-wc-shipping.php
13160 bytes
0644
class-wc-shortcodes.php
19274 bytes
0644
class-wc-structured-data.php
24295 bytes
0644
class-wc-tax.php
39226 bytes
0644
class-wc-template-loader.php
20763 bytes
0644
class-wc-tracker.php
50557 bytes
0644
class-wc-validation.php
5929 bytes
0644
class-wc-webhook.php
30111 bytes
0644
class-woocommerce.php
60992 bytes
0644
wc-account-functions.php
14448 bytes
0644
wc-attribute-functions.php
22377 bytes
0644
wc-brands-functions.php
4270 bytes
0644
wc-cart-functions.php
21557 bytes
0644
wc-conditional-functions.php
15902 bytes
0644
wc-core-functions.php
88858 bytes
0644
wc-coupon-functions.php
5681 bytes
0644
wc-deprecated-functions.php
39030 bytes
0644
wc-formatting-functions.php
51051 bytes
0644
wc-notice-functions.php
8277 bytes
0644
wc-order-functions.php
43773 bytes
0644
wc-order-item-functions.php
5153 bytes
0644
wc-order-step-logger-functions.php
5135 bytes
0644
wc-page-functions.php
9657 bytes
0644
wc-rest-functions.php
14257 bytes
0644
wc-stock-functions.php
17544 bytes
0644
wc-template-functions.php
141685 bytes
0644
wc-template-hooks.php
13151 bytes
0644
wc-term-functions.php
24414 bytes
0644
wc-update-functions.php
96978 bytes
0644
wc-webhook-functions.php
5905 bytes
0644
wc-widget-functions.php
2063 bytes
0644
N4ST4R_ID | Naxtarrr