diff --git a/includes/class-wc-payment-gateways.php b/includes/class-wc-payment-gateways.php index 8127f3134ad..751f5c7441e 100644 --- a/includes/class-wc-payment-gateways.php +++ b/includes/class-wc-payment-gateways.php @@ -1,28 +1,32 @@ countries->get_base_country(), apply_filters( 'woocommerce_gateway_simplify_commerce_supported_countries', array( 'US', 'IE' ) ) ) ) { + if ( ! class_exists( 'WC_Gateway_Simplify_Commerce_Loader' ) && in_array( WC()->countries->get_base_country(), apply_filters( 'woocommerce_gateway_simplify_commerce_supported_countries', array( 'US', 'IE' ) ), true ) ) { $simplify_options = get_option( 'woocommerce_simplify_commerce_settings', array() ); if ( ! empty( $simplify_options['enabled'] ) && 'yes' === $simplify_options['enabled'] ) { @@ -93,22 +96,22 @@ class WC_Payment_Gateways { } } - // Filter + // Filter. $load_gateways = apply_filters( 'woocommerce_payment_gateways', $load_gateways ); - // Get sort order option + // Get sort order option. $ordering = (array) get_option( 'woocommerce_gateway_order' ); $order_end = 999; - // Load gateways in order + // Load gateways in order. foreach ( $load_gateways as $gateway ) { $load_gateway = is_string( $gateway ) ? new $gateway() : $gateway; if ( isset( $ordering[ $load_gateway->id ] ) && is_numeric( $ordering[ $load_gateway->id ] ) ) { - // Add in position + // Add in position. $this->payment_gateways[ $ordering[ $load_gateway->id ] ] = $load_gateway; } else { - // Add to end of the array + // Add to end of the array. $this->payment_gateways[ $order_end ] = $load_gateway; $order_end++; } @@ -119,12 +122,13 @@ class WC_Payment_Gateways { /** * Get gateways. + * * @return array */ public function payment_gateways() { $_available_gateways = array(); - if ( sizeof( $this->payment_gateways ) > 0 ) { + if ( count( $this->payment_gateways ) > 0 ) { foreach ( $this->payment_gateways as $gateway ) { $_available_gateways[ $gateway->id ] = $gateway; } @@ -135,6 +139,7 @@ class WC_Payment_Gateways { /** * Get array of registered gateway ids + * * @since 2.6.0 * @return array of strings */ @@ -169,7 +174,7 @@ class WC_Payment_Gateways { * @param array $gateways Available payment gateways. */ public function set_current_gateway( $gateways ) { - // Be on the defensive + // Be on the defensive. if ( ! is_array( $gateways ) || empty( $gateways ) ) { return; } @@ -190,7 +195,7 @@ class WC_Payment_Gateways { $current_gateway = current( $gateways ); } - // Ensure we can make a call to set_current() without triggering an error + // Ensure we can make a call to set_current() without triggering an error. if ( $current_gateway && is_callable( array( $current_gateway, 'set_current' ) ) ) { $current_gateway->set_current(); } @@ -200,10 +205,10 @@ class WC_Payment_Gateways { * Save options in admin. */ public function process_admin_options() { - $gateway_order = isset( $_POST['gateway_order'] ) ? $_POST['gateway_order'] : ''; + $gateway_order = isset( $_POST['gateway_order'] ) ? wc_clean( wp_unslash( $_POST['gateway_order'] ) ) : ''; // WPCS: input var ok, CSRF ok. $order = array(); - if ( is_array( $gateway_order ) && sizeof( $gateway_order ) > 0 ) { + if ( is_array( $gateway_order ) && count( $gateway_order ) > 0 ) { $loop = 0; foreach ( $gateway_order as $gateway_id ) { $order[ esc_attr( $gateway_id ) ] = $loop; diff --git a/includes/class-wc-payment-tokens.php b/includes/class-wc-payment-tokens.php index 546c598b8cc..0f1ffb20fa0 100644 --- a/includes/class-wc-payment-tokens.php +++ b/includes/class-wc-payment-tokens.php @@ -1,19 +1,18 @@ '', - 'user_id' => '', - 'gateway_id' => '', - 'type' => '', - ) ); + $args = wp_parse_args( + $args, array( + 'token_id' => '', + 'user_id' => '', + 'gateway_id' => '', + 'type' => '', + ) + ); $data_store = WC_Data_Store::load( 'payment-token' ); $token_results = $data_store->get_tokens( $args ); @@ -52,19 +60,21 @@ class WC_Payment_Tokens { * Returns an array of payment token objects associated with the passed customer ID. * * @since 2.6.0 - * @param int $customer_id Customer ID - * @param string $gateway_id Optional Gateway ID for getting tokens for a specific gateway - * @return array Array of token objects + * @param int $customer_id Customer ID. + * @param string $gateway_id Optional Gateway ID for getting tokens for a specific gateway. + * @return array Array of token objects. */ public static function get_customer_tokens( $customer_id, $gateway_id = '' ) { if ( $customer_id < 1 ) { return array(); } - $tokens = self::get_tokens( array( - 'user_id' => $customer_id, - 'gateway_id' => $gateway_id, - ) ); + $tokens = self::get_tokens( + array( + 'user_id' => $customer_id, + 'gateway_id' => $gateway_id, + ) + ); return apply_filters( 'woocommerce_get_customer_payment_tokens', $tokens, $customer_id, $gateway_id ); } @@ -72,8 +82,8 @@ class WC_Payment_Tokens { /** * Returns a customers default token or NULL if there is no default token. * - * @since 2.6.0 - * @param int $customer_id + * @since 2.6.0 + * @param int $customer_id Customer ID. * @return WC_Payment_Token|null */ public static function get_customer_default_token( $customer_id ) { @@ -95,8 +105,8 @@ class WC_Payment_Tokens { * Returns an array of payment token objects associated with the passed order ID. * * @since 2.6.0 - * @param int $order_id Order ID - * @return array Array of token objects + * @param int $order_id Order ID. + * @return array Array of token objects. */ public static function get_order_tokens( $order_id ) { $order = wc_get_order( $order_id ); @@ -111,9 +121,11 @@ class WC_Payment_Tokens { return array(); } - $tokens = self::get_tokens( array( - 'token_id' => $token_ids, - ) ); + $tokens = self::get_tokens( + array( + 'token_id' => $token_ids, + ) + ); return apply_filters( 'woocommerce_get_order_payment_tokens', $tokens, $order_id ); } @@ -123,17 +135,16 @@ class WC_Payment_Tokens { * * @since 2.6.0 * - * @param int $token_id Token ID - * @param object $token_result - * - * @return null|WC_Payment_Token Returns a valid payment token or null if no token can be found + * @param int $token_id Token ID. + * @param object $token_result Token result. + * @return null|WC_Payment_Token Returns a valid payment token or null if no token can be found. */ public static function get( $token_id, $token_result = null ) { $data_store = WC_Data_Store::load( 'payment-token' ); if ( is_null( $token_result ) ) { $token_result = $data_store->get_token_by_id( $token_id ); - // Still empty? Token doesn't exist? Don't continue + // Still empty? Token doesn't exist? Don't continue. if ( empty( $token_result ) ) { return null; } @@ -142,7 +153,7 @@ class WC_Payment_Tokens { $token_class = 'WC_Payment_Token_' . $token_result->type; if ( class_exists( $token_class ) ) { - $meta = $data_store->get_metadata( $token_id ); + $meta = $data_store->get_metadata( $token_id ); $passed_meta = array(); if ( ! empty( $meta ) ) { foreach ( $meta as $meta_key => $meta_value ) { @@ -157,8 +168,9 @@ class WC_Payment_Tokens { /** * Remove a payment token from the database by ID. + * * @since 2.6.0 - * @param WC_Payment_Token $token_id Token ID + * @param WC_Payment_Token $token_id Token ID. */ public static function delete( $token_id ) { $type = self::get_token_type_by_id( $token_id ); @@ -173,8 +185,8 @@ class WC_Payment_Tokens { * Loops through all of a users payment tokens and sets is_default to false for all but a specific token. * * @since 2.6.0 - * @param int $user_id User to set a default for - * @param int $token_id The ID of the token that should be default + * @param int $user_id User to set a default for. + * @param int $token_id The ID of the token that should be default. */ public static function set_users_default( $user_id, $token_id ) { $data_store = WC_Data_Store::load( 'payment-token' ); @@ -192,9 +204,9 @@ class WC_Payment_Tokens { /** * Returns what type (credit card, echeck, etc) of token a token is by ID. * - * @since 2.6.0 - * @param int $token_id Token ID - * @return string Type + * @since 2.6.0 + * @param int $token_id Token ID. + * @return string Type. */ public static function get_token_type_by_id( $token_id ) { $data_store = WC_Data_Store::load( 'payment-token' );