/home/techb158/balacoffee.com/wp-content/plugins/woocommerce/includes
NameSizeModeActions
abstracts/-0755rm
admin/-0755rm
blocks/-0755rm
cli/-0755rm
customizer/-0755rm
data-stores/-0755rm
emails/-0755rm
export/-0755rm
gateways/-0755rm
import/-0755rm
integrations/-0755rm
interfaces/-0755rm
legacy/-0755rm
libraries/-0755rm
log-handlers/-0755rm
payment-tokens/-0755rm
product-usage/-0755rm
queue/-0755rm
react-admin/-0755rm
rest-api/-0755rm
shipping/-0755rm
shortcodes/-0755rm
theme-support/-0755rm
tracks/-0755rm
traits/-0755rm
walkers/-0755rm
wccom-site/-0755rm
widgets/-0755rm
class-wc-ajax.php1345980644editdlrm
class-wc-auth.php129950644editdlrm
class-wc-autoloader.php53940644editdlrm
class-wc-background-emailer.php46850644editdlrm
class-wc-background-updater.php35350644editdlrm
class-wc-brands-brand-settings-manager.php18260644editdlrm
class-wc-brands-coupons.php70590644editdlrm
class-wc-brands.php356350644editdlrm
class-wc-breadcrumb.php106600644editdlrm
class-wc-cache-helper.php129980644editdlrm
class-wc-cart-fees.php34480644editdlrm
class-wc-cart-session.php259750644editdlrm
class-wc-cart-totals.php291630644editdlrm
class-wc-cart.php773860644editdlrm
class-wc-checkout.php513490644editdlrm
class-wc-cli.php34190644editdlrm
class-wc-comments.php236310644editdlrm
class-wc-countries.php518810644editdlrm
class-wc-coupon.php449200644editdlrm
class-wc-customer-download-log.php34520644editdlrm
class-wc-customer-download.php105870644editdlrm
class-wc-customer.php340000644editdlrm
class-wc-data-exception.php13210644editdlrm
class-wc-data-store.php67520644editdlrm
class-wc-datetime.php23100644editdlrm
class-wc-deprecated-action-hooks.php67460644editdlrm
class-wc-deprecated-filter-hooks.php75180644editdlrm
class-wc-discounts.php375230644editdlrm
class-wc-download-handler.php290530644editdlrm
class-wc-emails.php402440644editdlrm
class-wc-embed.php43420644editdlrm
class-wc-form-handler.php493270644editdlrm
class-wc-frontend-scripts.php351850644editdlrm
class-wc-geo-ip.php311590644editdlrm
class-wc-geolite-integration.php20360644editdlrm
class-wc-geolocation.php116150644editdlrm
class-wc-https.php44390644editdlrm
class-wc-install.php1190170644editdlrm
class-wc-integrations.php13080644editdlrm
class-wc-log-levels.php39920644editdlrm
class-wc-logger.php96390644editdlrm
class-wc-meta-data.php22600644editdlrm
class-wc-order-factory.php89510644editdlrm
class-wc-order-item-coupon.php41750644editdlrm
class-wc-order-item-fee.php102280644editdlrm
class-wc-order-item-meta.php59420644editdlrm
class-wc-order-item-product.php179620644editdlrm
class-wc-order-item-shipping.php98150644editdlrm
class-wc-order-item-tax.php66440644editdlrm
class-wc-order-item.php219070644editdlrm
class-wc-order-query.php26130644editdlrm
class-wc-order-refund.php61350644editdlrm
class-wc-order.php794230644editdlrm
class-wc-payment-gateways.php146010644editdlrm
class-wc-payment-tokens.php63900644editdlrm
class-wc-post-data.php396170644editdlrm
class-wc-post-types.php336800644editdlrm
class-wc-privacy-background-process.php18330644editdlrm
class-wc-privacy-erasers.php139410644editdlrm
class-wc-privacy-exporters.php150440644editdlrm
class-wc-privacy.php176290644editdlrm
class-wc-product-attribute.php80570644editdlrm
class-wc-product-download.php134940644editdlrm
class-wc-product-external.php51040644editdlrm
class-wc-product-factory.php46980644editdlrm
class-wc-product-grouped.php69740644editdlrm
class-wc-product-query.php23280644editdlrm
class-wc-product-simple.php27650644editdlrm
class-wc-product-variable.php243340644editdlrm
class-wc-product-variation.php206610644editdlrm
class-wc-query.php342990644editdlrm
class-wc-rate-limiter.php41000644editdlrm
class-wc-regenerate-images-request.php79230644editdlrm
class-wc-regenerate-images.php158060644editdlrm
class-wc-register-wp-admin-settings.php51710644editdlrm
class-wc-rest-authentication.php220680644editdlrm
class-wc-rest-exception.php2760644editdlrm
class-wc-session-handler.php251620644editdlrm
class-wc-shipping-rate.php95660644editdlrm
class-wc-shipping-zone.php133920644editdlrm
class-wc-shipping-zones.php51150644editdlrm
class-wc-shipping.php133710644editdlrm
class-wc-shortcodes.php192740644editdlrm
class-wc-structured-data.php250110644editdlrm
class-wc-tax.php406940644editdlrm
class-wc-template-loader.php209110644editdlrm
class-wc-tracker.php527310644editdlrm
class-wc-validation.php59290644editdlrm
class-wc-webhook.php308070644editdlrm
class-woocommerce.php638140644editdlrm
wc-account-functions.php144850644editdlrm
wc-attribute-functions.php223770644editdlrm
wc-brands-functions.php42700644editdlrm
wc-cart-functions.php213080644editdlrm
wc-conditional-functions.php159020644editdlrm
wc-core-functions.php806030644editdlrm
wc-coupon-functions.php56980644editdlrm
wc-deprecated-functions.php407310644editdlrm
wc-formatting-functions.php510930644editdlrm
wc-interactivity-api-functions.php22190644editdlrm
wc-notice-functions.php86960644editdlrm
wc-order-functions.php450650644editdlrm
wc-order-item-functions.php51530644editdlrm
wc-order-step-logger-functions.php61140644editdlrm
wc-page-functions.php96570644editdlrm
wc-product-functions.php689920644editdlrm
wc-rest-functions.php142680644editdlrm
wc-stock-functions.php178510644editdlrm
wc-template-functions.php1454760644editdlrm
wc-template-hooks.php131510644editdlrm
wc-term-functions.php251580644editdlrm
wc-update-functions.php1048370644editdlrm
wc-user-functions.php361970644editdlrm
wc-webhook-functions.php59050644editdlrm
wc-widget-functions.php20630644editdlrm
Edit: /home/techb158/balacoffee.com/wp-content/plugins/woocommerce/includes/wc-coupon-functions.php (5698B)
__( 'Percentage discount', 'woocommerce' ), 'fixed_cart' => __( 'Fixed cart discount', 'woocommerce' ), 'fixed_product' => __( 'Fixed product discount', 'woocommerce' ), ) ); } /** * Get a coupon type's name. * * @param string $type Coupon type. * @return string */ function wc_get_coupon_type( $type = '' ) { $types = wc_get_coupon_types(); return isset( $types[ $type ] ) ? $types[ $type ] : ''; } /** * Coupon types that apply to individual products. Controls which validation rules will apply. * * @since 2.5.0 * @return array */ function wc_get_product_coupon_types() { return (array) apply_filters( 'woocommerce_product_coupon_types', array( 'fixed_product', 'percent' ) ); } /** * Coupon types that apply to the cart as a whole. Controls which validation rules will apply. * * @since 2.5.0 * @return array */ function wc_get_cart_coupon_types() { return (array) apply_filters( 'woocommerce_cart_coupon_types', array( 'fixed_cart' ) ); } /** * Check if coupons are enabled. * Filterable. * * @since 2.5.0 * * @return bool */ function wc_coupons_enabled() { return apply_filters( 'woocommerce_coupons_enabled', 'yes' === get_option( 'woocommerce_enable_coupons' ) ); } /** * Check if two coupon codes are the same. * Lowercasing to ensure case-insensitive comparison. * * @since 9.9.0 * * @param string $coupon_1 Coupon code 1. * @param string $coupon_2 Coupon code 2. * @return bool */ function wc_is_same_coupon( $coupon_1, $coupon_2 ) { return wc_strtolower( $coupon_1 ) === wc_strtolower( $coupon_2 ); } /** * Get coupon code by ID. * * @since 3.0.0 * @param int $id Coupon ID. * @return string */ function wc_get_coupon_code_by_id( $id ) { $data_store = WC_Data_Store::load( 'coupon' ); return empty( $id ) ? '' : (string) $data_store->get_code_by_id( $id ); } /** * Get coupon ID by code. * * @since 3.0.0 * @param string $code Coupon code. * @param int $exclude Used to exclude an ID from the check if you're checking existence. * @return int */ function wc_get_coupon_id_by_code( $code, $exclude = 0 ) { if ( StringUtil::is_null_or_whitespace( $code ) ) { return 0; } $data_store = WC_Data_Store::load( 'coupon' ); // Coupon code allows spaces, which doesn't work well with some cache engines (e.g. memcached). $hashed_code = md5( wc_strtolower( $code ) ); $cache_key = WC_Cache_Helper::get_cache_prefix( 'coupons' ) . 'coupon_id_from_code_' . $hashed_code; $ids = wp_cache_get( $cache_key, 'coupons' ); if ( false === $ids ) { $ids = $data_store->get_ids_by_code( $code ); if ( $ids ) { wp_cache_set( $cache_key, $ids, 'coupons' ); } } $ids = array_diff( array_filter( array_map( 'absint', (array) $ids ) ), array( $exclude ) ); return apply_filters( 'woocommerce_get_coupon_id_from_code', absint( current( $ids ) ), $code, $exclude ); } /** * Repair coupon lookup entries with zero discount_amount. A bug in WC 9.9 (fixed in 10.0) * caused discount_amount to be set to zero when a coupon code was used with * different case (e.g. "10-off" vs "10-OFF"). * * @since 10.1.0 * @return array Array with 'success' boolean and 'message' string. */ function wc_repair_zero_discount_coupons_lookup_table() { global $wpdb; $table_name = $wpdb->prefix . 'wc_order_coupon_lookup'; // Check if table exists. // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared if ( $wpdb->get_var( "SHOW TABLES LIKE '$table_name'" ) !== $table_name ) { return array( 'success' => false, 'message' => __( 'Coupons lookup table does not exist.', 'woocommerce' ), ); } // Get entries with zero discount_amount. $zero_discount_entries = $wpdb->get_results( $wpdb->prepare( // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared "SELECT order_id, coupon_id FROM $table_name WHERE discount_amount = %f", 0.0 ), ARRAY_A ); if ( empty( $zero_discount_entries ) ) { return array( 'success' => true, 'message' => __( 'No entries with zero discount amount found. Coupons lookup table is up to date.', 'woocommerce' ), ); } $processed_count = 0; $error_count = 0; foreach ( $zero_discount_entries as $entry ) { try { $result = CouponsDataStore::sync_order_coupons( $entry['order_id'] ); if ( false !== $result ) { ++$processed_count; } else { ++$error_count; } } catch ( Exception $e ) { ++$error_count; $logger = wc_get_logger(); $logger->error( sprintf( 'Error fixing coupon lookup entry for order %d: %s', $entry['order_id'], $e->getMessage() ), array( 'source' => 'coupons-lookup-fix', 'order_id' => $entry['order_id'], 'error' => $e, ) ); } } // Clear any related caches. wp_cache_flush_group( 'coupons' ); WC_Cache_Helper::get_transient_version( 'woocommerce_reports', true ); $message = sprintf( /* translators: %1$d: number of entries processed, %2$d: number of errors */ __( 'Coupons lookup table entries with zero discount amount repaired successfully. Processed %1$d entries with %2$d errors.', 'woocommerce' ), $processed_count, $error_count ); return array( 'success' => true, 'message' => $message, ); }