Code Duplication    Length = 38-40 lines in 2 locations

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

@@ 265-302 (lines=38) @@
262
263
            // データ行の出力.
264
            $app['eccube.service.csv.export']->setExportQueryBuilder($qb);
265
            $app['eccube.service.csv.export']->exportData(function ($entity, $csvService) use ($app, $request) {
266
267
                $Csvs = $csvService->getCsvs();
268
269
                $Order = $entity;
270
                $OrderDetails = $Order->getOrderDetails();
271
272
                foreach ($OrderDetails as $OrderDetail) {
273
                    $ExportCsvRow = new \Eccube\Entity\ExportCsvRow();
274
275
                    // CSV出力項目と合致するデータを取得.
276
                    foreach ($Csvs as $Csv) {
277
                        // 受注データを検索.
278
                        $ExportCsvRow->setData($csvService->getData($Csv, $Order));
279
                        if ($ExportCsvRow->isDataNull()) {
280
                            // 受注データにない場合は, 受注明細を検索.
281
                            $ExportCsvRow->setData($csvService->getData($Csv, $OrderDetail));
282
                        }
283
284
                        $event = new EventArgs(
285
                            array(
286
                                'csvService' => $csvService,
287
                                'Csv' => $Csv,
288
                                'OrderDetail' => $OrderDetail,
289
                                'ExportCsvRow' => $ExportCsvRow,
290
                            ),
291
                            $request
292
                        );
293
                        $app['eccube.event.dispatcher']->dispatch(EccubeEvents::ADMIN_ORDER_CSV_EXPORT_ORDER, $event);
294
295
                        $ExportCsvRow->pushData();
296
                    }
297
298
                    //$row[] = number_format(memory_get_usage(true));
299
                    // 出力.
300
                    $csvService->fputcsv($ExportCsvRow->getRow());
301
                }
302
            });
303
        });
304
305
        $now = new \DateTime();

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

@@ 770-809 (lines=40) @@
767
            // データ行の出力.
768
            $app['eccube.service.csv.export']->setExportQueryBuilder($qb);
769
770
            $app['eccube.service.csv.export']->exportData(function ($entity, CsvExportService $csvService) use ($app, $request) {
771
                $Csvs = $csvService->getCsvs();
772
773
                /** @var $Product \Eccube\Entity\Product */
774
                $Product = $entity;
775
776
                /** @var $ProductClassess \Eccube\Entity\ProductClass[] */
777
                $ProductClassess = $Product->getProductClasses();
778
779
                foreach ($ProductClassess as $ProductClass) {
780
                    $ExportCsvRow = new \Eccube\Entity\ExportCsvRow();
781
782
                    // CSV出力項目と合致するデータを取得.
783
                    foreach ($Csvs as $Csv) {
784
                        // 商品データを検索.
785
                        $ExportCsvRow->setData($csvService->getData($Csv, $Product));
786
                        if ($ExportCsvRow->isDataNull()) {
787
                            // 商品規格情報を検索.
788
                            $ExportCsvRow->setData($csvService->getData($Csv, $ProductClass));
789
                        }
790
791
                        $event = new EventArgs(
792
                            array(
793
                                'csvService' => $csvService,
794
                                'Csv' => $Csv,
795
                                'ProductClass' => $ProductClass,
796
                                'ExportCsvRow' => $ExportCsvRow,
797
                            ),
798
                            $request
799
                        );
800
                        $app['eccube.event.dispatcher']->dispatch(EccubeEvents::ADMIN_PRODUCT_CSV_EXPORT, $event);
801
802
                        $ExportCsvRow->pushData();
803
                    }
804
805
                    // $row[] = number_format(memory_get_usage(true));
806
                    // 出力.
807
                    $csvService->fputcsv($ExportCsvRow->getRow());
808
                }
809
            });
810
        });
811
812
        $now = new \DateTime();