PluginProbe
Packeta / 2.1
Packeta v2.1
2.3.2 2.3.1 trunk 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3.0 1.3.1 1.3.2 1.4 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 All 56 releases
← All changes | src/Packetery/Module/Order/PacketAutoSubmitter.php +22 -38 1.6.12.1 View file →
@@ -8,9 +8,9 @@
8 8 declare( strict_types=1 );
9 9
10 10 namespace Packetery\Module\Order;
11 11
12 -use Packetery\Module;
12 +use Packetery\Module\Options\OptionsProvider;
13 13 use Packetery\Module\PaymentGatewayHelper;
14 14 use WC_Payment_Gateway;
15 15
16 16 /**
@@ -28,9 +28,9 @@
28 28
29 29 /**
30 30 * Options provider.
31 31 *
32 - * @var Module\Options\Provider
32 + * @var OptionsProvider
33 33 */
34 34 private $optionsProvider;
35 35
36 36 /**
@@ -49,14 +49,14 @@
49 49
50 50 /**
51 51 * Constructor.
52 52 *
53 - * @param Module\Options\Provider $optionsProvider Options provider.
54 - * @param PacketSubmitter $packetSubmitter Packet submitter.
55 - * @param Repository $orderRepository Order repository.
53 + * @param OptionsProvider $optionsProvider Options provider.
54 + * @param PacketSubmitter $packetSubmitter Packet submitter.
55 + * @param Repository $orderRepository Order repository.
56 56 */
57 57 public function __construct(
58 - Module\Options\Provider $optionsProvider,
58 + OptionsProvider $optionsProvider,
59 59 PacketSubmitter $packetSubmitter,
60 60 Repository $orderRepository
61 61 ) {
62 62 $this->optionsProvider = $optionsProvider;
@@ -69,31 +69,32 @@
69 69 *
70 70 * @return void
71 71 */
72 72 public function register(): void {
73 - if ( false === $this->optionsProvider->isPacketAutoSubmissionEnabled() ) {
73 + if ( $this->optionsProvider->isPacketAutoSubmissionEnabled() === false ) {
74 74 return;
75 75 }
76 76
77 - add_action( self::HOOK_NAME_HANDLE_EVENT, [ $this, 'handleEvent' ], 10, 3 );
77 + add_action( self::HOOK_NAME_HANDLE_EVENT, [ $this, 'handleEvent' ], 10, 2 );
78 78
79 79 $mappedEvents = $this->optionsProvider->getPacketAutoSubmissionMappedUniqueEvents();
80 80 foreach ( $mappedEvents as $mappedEvent ) {
81 - if ( self::EVENT_ON_ORDER_COMPLETED === $mappedEvent ) {
81 + if ( $mappedEvent === self::EVENT_ON_ORDER_COMPLETED ) {
82 82 add_action(
83 83 'woocommerce_order_status_completed',
84 84 function ( int $orderId ): void {
85 - $this->handleEvent( self::EVENT_ON_ORDER_COMPLETED, $orderId, is_admin() === false );
85 + $this->handleEvent( self::EVENT_ON_ORDER_COMPLETED, $orderId );
86 86 }
87 87 );
88 +
88 89 continue;
89 90 }
90 91
91 - if ( self::EVENT_ON_ORDER_PROCESSING === $mappedEvent ) {
92 + if ( $mappedEvent === self::EVENT_ON_ORDER_PROCESSING ) {
92 93 add_action(
93 94 'woocommerce_order_status_processing',
94 95 function ( int $orderId ): void {
95 - $this->handleEvent( self::EVENT_ON_ORDER_PROCESSING, $orderId, is_admin() === false );
96 + $this->handleEvent( self::EVENT_ON_ORDER_PROCESSING, $orderId );
96 97 }
97 98 );
98 99 }
99 100 }
@@ -101,26 +102,25 @@
101 102
102 103 /**
103 104 * Handle event.
104 105 *
105 - * @param string $event Event.
106 - * @param int $orderId WC Order.
107 - * @param bool|null $triggeredByFrontend Tells if event is triggered by frontend logic. NULL is passed when data from previous versions are being processed.
106 + * @param string $event Event.
107 + * @param int $orderId WC Order.
108 108 *
109 109 * @return void
110 110 */
111 - public function handleEvent( string $event, int $orderId, ?bool $triggeredByFrontend = null ): void {
112 - if ( false === $this->optionsProvider->isPacketAutoSubmissionEnabled() ) {
111 + public function handleEvent( string $event, int $orderId ): void {
112 + if ( $this->optionsProvider->isPacketAutoSubmissionEnabled() === false ) {
113 113 return;
114 114 }
115 115
116 116 $wcOrder = $this->orderRepository->getWcOrderById( $orderId );
117 - assert( null !== $wcOrder, 'WC order has to be present' );
117 + assert( $wcOrder !== null, 'WC order has to be present' );
118 118
119 119 $paymentGateway = wc_get_payment_gateway_by_order( $wcOrder );
120 120 if (
121 121 ! $paymentGateway instanceof WC_Payment_Gateway ||
122 - false === array_key_exists( $paymentGateway->id, PaymentGatewayHelper::getAvailablePaymentGateways() )
122 + array_key_exists( $paymentGateway->id, PaymentGatewayHelper::getAvailablePaymentGateways() ) === false
123 123 ) {
124 124 return;
125 125 }
126 126
@@ -126,31 +126,16 @@
126 126
127 127 $mappingEventForGateway = $this->optionsProvider->getPacketAutoSubmissionEventForPaymentGateway(
128 128 $this->optionsProvider->sanitizePaymentGatewayId( $paymentGateway->id )
129 129 );
130 - if ( null === $mappingEventForGateway || $mappingEventForGateway !== $event ) {
130 + if ( $mappingEventForGateway === null || $mappingEventForGateway !== $event ) {
131 131 return;
132 132 }
133 133
134 - $this->packetSubmitter->submitPacket(
135 - $wcOrder,
136 - $this->shouldUpdateOrderStatus( $triggeredByFrontend )
137 - );
134 + $this->packetSubmitter->submitPacket( $wcOrder );
138 135 }
139 136
140 137 /**
141 - * Tells if WC order status should be updated.
142 - *
143 - * @param bool|null $triggeredByFrontend Tells if submission is triggered by frontend action.
144 - *
145 - * @return bool
146 - */
147 - private function shouldUpdateOrderStatus( ?bool $triggeredByFrontend ): bool {
148 - return ( false === $triggeredByFrontend && $this->optionsProvider->isOrderStatusAutoChangeEnabled() ) ||
149 - ( true === $triggeredByFrontend && $this->optionsProvider->isOrderStatusAutoChangeForAutoSubmitAtFrontendEnabled() );
150 - }
151 -
152 - /**
153 138 * Handles event async.
154 139 *
155 140 * @param string $event Event.
156 141 * @param int $orderId Order ID.
@@ -157,11 +142,10 @@
157 142 *
158 143 * @return void
159 144 */
160 145 public function handleEventAsync( string $event, int $orderId ): void {
161 - if ( false === $this->optionsProvider->isPacketAutoSubmissionEnabled() ) {
146 + if ( $this->optionsProvider->isPacketAutoSubmissionEnabled() === false ) {
162 147 return;
163 148 }
164 149 as_schedule_single_action( time(), self::HOOK_NAME_HANDLE_EVENT, [ $event, $orderId, is_admin() === false ] );
165 150 }
166 -
167 151 }