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