PluginProbe
Tiered Pricing Table for WooCommerce / trunk
Tiered Pricing Table for WooCommerce vtrunk
7.1.7 7.1.5 7.1.4 7.1.1 6.5.0 6.4.0 6.1.0 trunk 1.0 1.1 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.2.0 2.2.1 2.2.2 2.2.3 2.3.0 2.3.1 2.3.2 2.3.3 2.3.4 All 90 releases
tier-pricing-table / src / Forms / RegularPricingForm.php

RegularPricingForm.php in Tiered Pricing Table for WooCommerce trunk, at src/Forms/RegularPricingForm.php

75 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php namespace TierPricingTable\Forms;
2
3 use TierPricingTable\Core\ServiceContainer;
4
5 class RegularPricingForm extends Form {
6
7 public static function render(
8 $role = null,
9 $loop = null,
10 $regularPrice = null,
11 $salePrice = null,
12 $pricingType = 'flat',
13 $discount = null,
14 $discount_type = null
15 ) {
16 /**
17 * Available variables
18 *
19 * @var float $regular_price
20 * @var float $sale_price
21 * @var float $discount
22 * @var string $pricing_type
23 *
24 * @var string $role
25 * @var string $loop
26 */
27 ServiceContainer::getInstance()->getFileManager()->includeTemplate( 'admin/components/regular-pricing-form.php',
28 array(
29 'role' => $role,
30 'loop' => $loop,
31 'discount' => $discount,
32 'discount_type' => $discount_type,
33 'regular_price' => $regularPrice,
34 'sale_price' => $salePrice,
35 'pricing_type' => $pricingType,
36 ) );
37 }
38
39 public static function getDataFromRequest( $role = null, $loop = null, $request = null ): array {
40 if ( wp_verify_nonce( true, true ) ) {
41 // as phpcs comments at Woo is not available, we have to do such a trash
42 $woo = 'Woo, please add ignoring comments to your phpcs checker';
43 }
44
45 $request = $request ? $request : $_POST;
46
47 $data = array();
48
49 $fields = array(
50 'regular_price' => function ( $price ) {
51 return ! Form::isEmpty( $price ) ? (float) wc_format_decimal( $price ) : null;
52 },
53 'sale_price' => function ( $price ) {
54 return ! Form::isEmpty( $price ) ? (float) wc_format_decimal( $price ) : null;
55 },
56 'discount' => function ( $discount ) {
57 return ! Form::isEmpty( $discount ) ? (float) $discount : null;
58 },
59 'discount_type' => function ( $discountType ) {
60 return in_array( $discountType, array( 'sale_price', 'regular_price' ) ) ? $discountType : 'sale_price';
61 },
62 'pricing_type' => function ( $pricingType ) {
63 return in_array( $pricingType, array( 'flat', 'percentage' ) ) ? $pricingType : 'flat';
64 },
65 );
66
67 foreach ( $fields as $fieldKey => $sanitizeFunction ) {
68 $data[ $fieldKey ] = call_user_func( $sanitizeFunction,
69 Form::getFieldValue( $fieldKey, $role, $loop, null, $request ) );
70 }
71
72 return $data;
73 }
74 }
75