← All changes
|
src/Packetery/Module/Order/PacketActionsCommonLogic.php
+14
-24
1.6.1
→
2.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 | } |