| @@ 327-344 (lines=18) @@ | ||
| 324 | ||
| 325 | log_info('受注登録完了', [$TargetOrder->getId()]); |
|
| 326 | ||
| 327 | if ($returnLink = $form->get('return_link')->getData()) { |
|
| 328 | try { |
|
| 329 | // $returnLinkはpathの形式で渡される. pathが存在するかをルータでチェックする. |
|
| 330 | $pattern = '/^'.preg_quote($request->getBasePath(), '/').'/'; |
|
| 331 | $returnLink = preg_replace($pattern, '', $returnLink); |
|
| 332 | $result = $router->match($returnLink); |
|
| 333 | // パラメータのみ抽出 |
|
| 334 | $params = array_filter($result, function ($key) { |
|
| 335 | return 0 !== \strpos($key, '_'); |
|
| 336 | }, ARRAY_FILTER_USE_KEY); |
|
| 337 | ||
| 338 | // pathからurlを再構築してリダイレクト. |
|
| 339 | return $this->redirectToRoute($result['_route'], $params); |
|
| 340 | } catch (\Exception $e) { |
|
| 341 | // マッチしない場合はログ出力してスキップ. |
|
| 342 | log_warning('URLの形式が不正です。'); |
|
| 343 | } |
|
| 344 | } |
|
| 345 | ||
| 346 | return $this->redirectToRoute('admin_order_edit', ['id' => $TargetOrder->getId()]); |
|
| 347 | } |
|
| @@ 666-683 (lines=18) @@ | ||
| 663 | ||
| 664 | $this->addSuccess('admin.common.save_complete', 'admin'); |
|
| 665 | ||
| 666 | if ($returnLink = $form->get('return_link')->getData()) { |
|
| 667 | try { |
|
| 668 | // $returnLinkはpathの形式で渡される. pathが存在するかをルータでチェックする. |
|
| 669 | $pattern = '/^'.preg_quote($request->getBasePath(), '/').'/'; |
|
| 670 | $returnLink = preg_replace($pattern, '', $returnLink); |
|
| 671 | $result = $router->match($returnLink); |
|
| 672 | // パラメータのみ抽出 |
|
| 673 | $params = array_filter($result, function ($key) { |
|
| 674 | return 0 !== \strpos($key, '_'); |
|
| 675 | }, ARRAY_FILTER_USE_KEY); |
|
| 676 | ||
| 677 | // pathからurlを再構築してリダイレクト. |
|
| 678 | return $this->redirectToRoute($result['_route'], $params); |
|
| 679 | } catch (\Exception $e) { |
|
| 680 | // マッチしない場合はログ出力してスキップ. |
|
| 681 | log_warning('URLの形式が不正です。'); |
|
| 682 | } |
|
| 683 | } |
|
| 684 | ||
| 685 | $cacheUtil->clearDoctrineCache(); |
|
| 686 | ||