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/PacketActionsCommonLogic.php +14 -24 1.6.12.1 View file →
@@ -9,15 +9,13 @@
9 9
10 10 namespace Packetery\Module\Order;
11 11
12 12 use Packetery\Core\Entity;
13 -use Packetery\Module\Exception\InvalidCarrierException;
14 -use Packetery\Module\Helper;
15 13 use Packetery\Module\MessageManager;
14 +use Packetery\Module\ModuleHelper;
16 15 use Packetery\Module\Plugin;
17 16 use Packetery\Nette\Http\Request;
18 17
19 -
20 18 /**
21 19 * Class PacketActionsBrain
22 20 *
23 21 * @package Packetery\Module\Order
@@ -82,23 +80,19 @@
82 80 */
83 81 public function checkAction( string $action, Entity\Order $order ): void {
84 82 $redirectTo = $this->request->getQuery( self::PARAM_REDIRECT_TO );
85 83
86 - if ( 1 !== wp_verify_nonce( $this->request->getQuery( Plugin::PARAM_NONCE ), self::createNonceAction( $action, $order->getNumber() ) ) ) {
84 + if ( wp_verify_nonce( $this->request->getQuery( Plugin::PARAM_NONCE ), self::createNonceAction( $action, $order->getNumber() ) ) !== 1 ) {
87 85 $this->messageManager->flash_message( __( 'Link has expired. Please try again.', 'packeta' ), MessageManager::TYPE_ERROR );
88 86 $this->redirectTo( $redirectTo, $order );
89 87 }
90 88 }
91 89
92 - /**
93 - * Creates nonce action name.
94 - *
95 - * @param string $action Action.
96 - * @param string $orderNumber Order number.
97 - *
98 - * @return string
99 - */
100 - public static function createNonceAction( string $action, string $orderNumber ): string {
90 + public static function createNonceAction( string $action, ?string $orderNumber ): string {
91 + if ( $orderNumber === null ) {
92 + return '';
93 + }
94 +
101 95 return $action . '_' . $orderNumber;
102 96 }
103 97
104 98 /**
@@ -109,21 +103,21 @@
109 103 *
110 104 * @return void
111 105 */
112 106 public function redirectTo( string $redirectTo, ?Entity\Order $order = null ): void {
113 - if ( self::REDIRECT_TO_ORDER_GRID === $redirectTo ) {
107 + if ( $redirectTo === self::REDIRECT_TO_ORDER_GRID ) {
114 108 $queryVars = [];
115 109 parse_str( $this->request->getQuery( self::PARAM_ORDER_GRID_PARAMS ) ?? '', $queryVars );
116 110
117 - if ( wp_safe_redirect( Helper::getOrderGridUrl( $queryVars ) ) ) {
111 + if ( wp_safe_redirect( ModuleHelper::getOrderGridUrl( $queryVars ) ) ) {
118 112 exit;
119 113 }
120 114 }
121 115
122 116 if (
123 - self::REDIRECT_TO_ORDER_DETAIL === $redirectTo &&
124 - null !== $order &&
125 - wp_safe_redirect( Helper::getOrderDetailUrl( (int) $order->getNumber() ) )
117 + $redirectTo === self::REDIRECT_TO_ORDER_DETAIL &&
118 + $order !== null &&
119 + wp_safe_redirect( ModuleHelper::getOrderDetailUrl( (int) $order->getNumber() ) )
126 120 ) {
127 121 exit;
128 122 }
129 123 }
@@ -148,14 +142,10 @@
148 142 * @return Entity\Order|null
149 143 */
150 144 public function getOrder(): ?Entity\Order {
151 145 $orderId = $this->getOrderId();
152 - if ( null !== $orderId ) {
153 - try {
154 - return $this->orderRepository->getById( $orderId );
155 - } catch ( InvalidCarrierException $exception ) {
156 - return null;
157 - }
146 + if ( $orderId !== null ) {
147 + return $this->orderRepository->getByIdWithValidCarrier( $orderId );
158 148 }
159 149
160 150 return null;
161 151 }