Code Duplication    Length = 26-28 lines in 3 locations

src/Eccube/Controller/Admin/Customer/CustomerController.php 1 location

@@ 66-92 (lines=27) @@
63
64
            $searchForm->handleRequest($request);
65
66
            if ($searchForm->isValid()) {
67
                $searchData = $searchForm->getData();
68
69
                // paginator
70
                $qb = $app['eccube.repository.customer']->getQueryBuilderBySearchData($searchData);
71
                $page_no = 1;
72
73
                $event = new EventArgs(
74
                    array(
75
                        'form' => $searchForm,
76
                        'qb' => $qb,
77
                    ),
78
                    $request
79
                );
80
                $app['eccube.event.dispatcher']->dispatch(EccubeEvents::ADMIN_CUSTOMER_INDEX_SEARCH, $event);
81
82
                $pagination = $app['paginator']()->paginate(
83
                    $qb,
84
                    $page_no,
85
                    $page_count
86
                );
87
88
                // sessionに検索条件を保持.
89
                $viewData = \Eccube\Util\FormUtil::getViewData($searchForm);
90
                $session->set('eccube.admin.customer.search', $viewData);
91
                $session->set('eccube.admin.customer.search.page_no', $page_no);
92
            }
93
        } else {
94
            if (is_null($page_no) && $request->get('resume') != Constant::ENABLED) {
95
                // sessionを削除

src/Eccube/Controller/Admin/Order/OrderController.php 1 location

@@ 69-94 (lines=26) @@
66
67
            $searchForm->handleRequest($request);
68
69
            if ($searchForm->isValid()) {
70
                $searchData = $searchForm->getData();
71
72
                // paginator
73
                $qb = $app['eccube.repository.order']->getQueryBuilderBySearchDataForAdmin($searchData);
74
75
                $event = new EventArgs(
76
                    array(
77
                        'form' => $searchForm,
78
                        'qb' => $qb,
79
                    ),
80
                    $request
81
                );
82
                $app['eccube.event.dispatcher']->dispatch(EccubeEvents::ADMIN_ORDER_INDEX_SEARCH, $event);
83
84
                $page_no = 1;
85
                $pagination = $app['paginator']()->paginate(
86
                    $qb,
87
                    $page_no,
88
                    $page_count
89
                );
90
91
                // sessionのデータ保持
92
                $session->set('eccube.admin.order.search', $searchData);
93
                $session->set('eccube.admin.order.search.page_no', $page_no);
94
            }
95
        } else {
96
            if (is_null($page_no) && $request->get('resume') != Constant::ENABLED) {
97
                // sessionを削除

src/Eccube/Controller/Admin/Product/ProductController.php 1 location

@@ 74-101 (lines=28) @@
71
72
            $searchForm->handleRequest($request);
73
74
            if ($searchForm->isValid()) {
75
                $searchData = $searchForm->getData();
76
77
                // paginator
78
                $qb = $app['eccube.repository.product']->getQueryBuilderBySearchDataForAdmin($searchData);
79
                $page_no = 1;
80
81
                $event = new EventArgs(
82
                    array(
83
                        'qb' => $qb,
84
                        'searchData' => $searchData,
85
                    ),
86
                    $request
87
                );
88
                $app['eccube.event.dispatcher']->dispatch(EccubeEvents::ADMIN_PRODUCT_INDEX_SEARCH, $event);
89
                $searchData = $event->getArgument('searchData');
90
91
                $pagination = $app['paginator']()->paginate(
92
                    $qb,
93
                    $page_no,
94
                    $page_count,
95
                    array('wrap-queries' => true)
96
                );
97
98
                // sessionのデータ保持
99
                $session->set('eccube.admin.product.search', $searchData);
100
                $session->set('eccube.admin.product.search.page_no', $page_no);
101
            }
102
        } else {
103
            if (is_null($page_no) && $request->get('resume') != Constant::ENABLED) {
104
                // sessionを削除