| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286 |
- <?php
- if ( ! defined( 'ABSPATH' ) ) {
- exit;
- }
- /**
- * Legacy Customer.
- *
- * @version 3.0.0
- * @package WooCommerce/Classes
- * @category Class
- * @author WooThemes
- */
- abstract class WC_Legacy_Customer extends WC_Data {
- /**
- * __isset legacy.
- * @param mixed $key
- * @return bool
- */
- public function __isset( $key ) {
- $legacy_keys = array(
- 'id',
- 'country',
- 'state',
- 'postcode',
- 'city',
- 'address_1',
- 'address',
- 'address_2',
- 'shipping_country',
- 'shipping_state',
- 'shipping_postcode',
- 'shipping_city',
- 'shipping_address_1',
- 'shipping_address',
- 'shipping_address_2',
- 'is_vat_exempt',
- 'calculated_shipping',
- );
- $key = $this->filter_legacy_key( $key );
- return in_array( $key, $legacy_keys );
- }
- /**
- * __get function.
- * @param string $key
- * @return string
- */
- public function __get( $key ) {
- wc_doing_it_wrong( $key, 'Customer properties should not be accessed directly.', '3.0' );
- $key = $this->filter_legacy_key( $key );
- if ( in_array( $key, array( 'country', 'state', 'postcode', 'city', 'address_1', 'address', 'address_2' ) ) ) {
- $key = 'billing_' . $key;
- }
- return is_callable( array( $this, "get_{$key}" ) ) ? $this->{"get_{$key}"}() : '';
- }
- /**
- * __set function.
- *
- * @param string $key
- * @param mixed $value
- */
- public function __set( $key, $value ) {
- wc_doing_it_wrong( $key, 'Customer properties should not be set directly.', '3.0' );
- $key = $this->filter_legacy_key( $key );
- if ( is_callable( array( $this, "set_{$key}" ) ) ) {
- $this->{"set_{$key}"}( $value );
- }
- }
- /**
- * Address and shipping_address are aliased, so we want to get the 'real' key name.
- * For all other keys, we can just return it.
- * @since 3.0.0
- * @param string $key
- * @return string
- */
- private function filter_legacy_key( $key ) {
- if ( 'address' === $key ) {
- $key = 'address_1';
- }
- if ( 'shipping_address' === $key ) {
- $key = 'shipping_address_1';
- }
- return $key;
- }
- /**
- * Sets session data for the location.
- *
- * @param string $country
- * @param string $state
- * @param string $postcode (default: '')
- * @param string $city (default: '')
- */
- public function set_location( $country, $state, $postcode = '', $city = '' ) {
- $this->set_billing_location( $country, $state, $postcode, $city );
- $this->set_shipping_location( $country, $state, $postcode, $city );
- }
- /**
- * Get default country for a customer.
- * @return string
- */
- public function get_default_country() {
- wc_deprecated_function( 'WC_Customer::get_default_country', '3.0', 'wc_get_customer_default_location' );
- $default = wc_get_customer_default_location();
- return $default['country'];
- }
- /**
- * Get default state for a customer.
- * @return string
- */
- public function get_default_state() {
- wc_deprecated_function( 'WC_Customer::get_default_state', '3.0', 'wc_get_customer_default_location' );
- $default = wc_get_customer_default_location();
- return $default['state'];
- }
- /**
- * Set customer address to match shop base address.
- */
- public function set_to_base() {
- wc_deprecated_function( 'WC_Customer::set_to_base', '3.0', 'WC_Customer::set_billing_address_to_base' );
- $this->set_billing_address_to_base();
- }
- /**
- * Set customer shipping address to base address.
- */
- public function set_shipping_to_base() {
- wc_deprecated_function( 'WC_Customer::set_shipping_to_base', '3.0', 'WC_Customer::set_shipping_address_to_base' );
- $this->set_shipping_address_to_base();
- }
- /**
- * Calculated shipping.
- * @param boolean $calculated
- */
- public function calculated_shipping( $calculated = true ) {
- wc_deprecated_function( 'WC_Customer::calculated_shipping', '3.0', 'WC_Customer::set_calculated_shipping' );
- $this->set_calculated_shipping( $calculated );
- }
- /**
- * Set default data for a customer.
- */
- public function set_default_data() {
- wc_deprecated_function( 'WC_Customer::set_default_data', '3.0' );
- }
- /**
- * Save data function.
- */
- public function save_data() {
- $this->save();
- }
- /**
- * Is the user a paying customer?
- *
- * @param int $user_id
- *
- * @return bool
- */
- function is_paying_customer( $user_id = '' ) {
- wc_deprecated_function( 'WC_Customer::is_paying_customer', '3.0', 'WC_Customer::get_is_paying_customer' );
- if ( ! empty( $user_id ) ) {
- $user_id = get_current_user_id();
- }
- return '1' === get_user_meta( $user_id, 'paying_customer', true );
- }
- /**
- * Legacy get address.
- */
- function get_address() {
- wc_deprecated_function( 'WC_Customer::get_address', '3.0', 'WC_Customer::get_billing_address_1' );
- return $this->get_billing_address_1();
- }
- /**
- * Legacy get address 2.
- */
- function get_address_2() {
- wc_deprecated_function( 'WC_Customer::get_address_2', '3.0', 'WC_Customer::get_billing_address_2' );
- return $this->get_billing_address_2();
- }
- /**
- * Legacy get country.
- */
- function get_country() {
- wc_deprecated_function( 'WC_Customer::get_country', '3.0', 'WC_Customer::get_billing_country' );
- return $this->get_billing_country();
- }
- /**
- * Legacy get state.
- */
- function get_state() {
- wc_deprecated_function( 'WC_Customer::get_state', '3.0', 'WC_Customer::get_billing_state' );
- return $this->get_billing_state();
- }
- /**
- * Legacy get postcode.
- */
- function get_postcode() {
- wc_deprecated_function( 'WC_Customer::get_postcode', '3.0', 'WC_Customer::get_billing_postcode' );
- return $this->get_billing_postcode();
- }
- /**
- * Legacy get city.
- */
- function get_city() {
- wc_deprecated_function( 'WC_Customer::get_city', '3.0', 'WC_Customer::get_billing_city' );
- return $this->get_billing_city();
- }
- /**
- * Legacy set country.
- *
- * @param string $country
- */
- function set_country( $country ) {
- wc_deprecated_function( 'WC_Customer::set_country', '3.0', 'WC_Customer::set_billing_country' );
- $this->set_billing_country( $country );
- }
- /**
- * Legacy set state.
- *
- * @param string $state
- */
- function set_state( $state ) {
- wc_deprecated_function( 'WC_Customer::set_state', '3.0', 'WC_Customer::set_billing_state' );
- $this->set_billing_state( $state );
- }
- /**
- * Legacy set postcode.
- *
- * @param string $postcode
- */
- function set_postcode( $postcode ) {
- wc_deprecated_function( 'WC_Customer::set_postcode', '3.0', 'WC_Customer::set_billing_postcode' );
- $this->set_billing_postcode( $postcode );
- }
- /**
- * Legacy set city.
- *
- * @param string $city
- */
- function set_city( $city ) {
- wc_deprecated_function( 'WC_Customer::set_city', '3.0', 'WC_Customer::set_billing_city' );
- $this->set_billing_city( $city );
- }
- /**
- * Legacy set address.
- *
- * @param string $address
- */
- function set_address( $address ) {
- wc_deprecated_function( 'WC_Customer::set_address', '3.0', 'WC_Customer::set_billing_address' );
- $this->set_billing_address( $address );
- }
- /**
- * Legacy set address.
- *
- * @param string $address
- */
- function set_address_2( $address ) {
- wc_deprecated_function( 'WC_Customer::set_address_2', '3.0', 'WC_Customer::set_billing_address_2' );
- $this->set_billing_address_2( $address );
- }
- }
|