| @@ 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 | } |
|
| @@ 609-626 (lines=18) @@ | ||
| 606 | ||
| 607 | $this->addSuccess('admin.common.save_complete', 'admin'); |
|
| 608 | ||
| 609 | if ($returnLink = $form->get('return_link')->getData()) { |
|
| 610 | try { |
|
| 611 | // $returnLinkはpathの形式で渡される. pathが存在するかをルータでチェックする. |
|
| 612 | $pattern = '/^'.preg_quote($request->getBasePath(), '/').'/'; |
|
| 613 | $returnLink = preg_replace($pattern, '', $returnLink); |
|
| 614 | $result = $router->match($returnLink); |
|
| 615 | // パラメータのみ抽出 |
|
| 616 | $params = array_filter($result, function ($key) { |
|
| 617 | return 0 !== \strpos($key, '_'); |
|
| 618 | }, ARRAY_FILTER_USE_KEY); |
|
| 619 | ||
| 620 | // pathからurlを再構築してリダイレクト. |
|
| 621 | return $this->redirectToRoute($result['_route'], $params); |
|
| 622 | } catch (\Exception $e) { |
|
| 623 | // マッチしない場合はログ出力してスキップ. |
|
| 624 | log_warning('URLの形式が不正です。'); |
|
| 625 | } |
|
| 626 | } |
|
| 627 | ||
| 628 | $cacheUtil->clearDoctrineCache(); |
|
| 629 | ||