📁 File Manager Pro
v10.0.2 | PHP: 8.1.34
Server: LiteSpeed
2026-06-26 15:35:39
📂
/
/
home
/
pallabnv
/
public_html
/
wp-content__3bb9dea
/
plugins
/
woocommerce
/
src
/
Api
/
Utils
/
Coupons
✏️
Editing: CouponMapper.php
<?php declare(strict_types=1); namespace Automattic\WooCommerce\Api\Utils\Coupons; use Automattic\WooCommerce\Api\Enums\Coupons\CouponStatus; use Automattic\WooCommerce\Api\Enums\Coupons\DiscountType; use Automattic\WooCommerce\Api\Types\Coupons\Coupon; /** * Maps a WC_Coupon to the Coupon DTO. */ class CouponMapper { /** * Map a WC_Coupon to the Coupon DTO. * * @param \WC_Coupon $wc_coupon The WooCommerce coupon object. * @return Coupon */ public static function from_wc_coupon( \WC_Coupon $wc_coupon ): Coupon { $coupon = new Coupon(); $raw_discount_type = (string) $wc_coupon->get_discount_type(); $raw_status = (string) $wc_coupon->get_status(); $coupon->id = $wc_coupon->get_id(); $coupon->code = $wc_coupon->get_code(); $coupon->description = $wc_coupon->get_description(); $coupon->discount_type = DiscountType::tryFrom( $raw_discount_type ) ?? DiscountType::Other; $coupon->raw_discount_type = $raw_discount_type; $coupon->amount = (float) $wc_coupon->get_amount(); $coupon->status = '' === $raw_status ? CouponStatus::Draft : ( CouponStatus::tryFrom( $raw_status ) ?? CouponStatus::Other ); $coupon->raw_status = $raw_status; $coupon->date_created = $wc_coupon->get_date_created()?->format( \DateTimeInterface::ATOM ); $coupon->date_modified = $wc_coupon->get_date_modified()?->format( \DateTimeInterface::ATOM ); $coupon->date_expires = $wc_coupon->get_date_expires()?->format( \DateTimeInterface::ATOM ); $coupon->usage_count = $wc_coupon->get_usage_count(); $coupon->individual_use = $wc_coupon->get_individual_use(); $coupon->product_ids = $wc_coupon->get_product_ids(); $coupon->excluded_product_ids = $wc_coupon->get_excluded_product_ids(); $coupon->usage_limit = $wc_coupon->get_usage_limit(); $coupon->usage_limit_per_user = $wc_coupon->get_usage_limit_per_user(); $coupon->limit_usage_to_x_items = $wc_coupon->get_limit_usage_to_x_items(); $coupon->free_shipping = $wc_coupon->get_free_shipping(); $coupon->product_categories = $wc_coupon->get_product_categories(); $coupon->excluded_product_categories = $wc_coupon->get_excluded_product_categories(); $coupon->exclude_sale_items = $wc_coupon->get_exclude_sale_items(); $coupon->minimum_amount = (float) $wc_coupon->get_minimum_amount(); $coupon->maximum_amount = (float) $wc_coupon->get_maximum_amount(); $coupon->email_restrictions = $wc_coupon->get_email_restrictions(); $coupon->used_by = $wc_coupon->get_used_by(); return $coupon; } }
💾 Save Changes
❌ Cancel