Code Duplication    Length = 38-40 lines in 2 locations

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

@@ 379-416 (lines=38) @@
376
377
            // データ行の出力.
378
            $this->csvExportService->setExportQueryBuilder($qb);
379
            $this->csvExportService->exportData(function ($entity, $csvService) use ($app, $request) {
380
381
                $Csvs = $csvService->getCsvs();
382
383
                $Order = $entity;
384
                $OrderDetails = $Order->getOrderDetails();
385
386
                foreach ($OrderDetails as $OrderDetail) {
387
                    $ExportCsvRow = new \Eccube\Entity\ExportCsvRow();
388
389
                    // CSV出力項目と合致するデータを取得.
390
                    foreach ($Csvs as $Csv) {
391
                        // 受注データを検索.
392
                        $ExportCsvRow->setData($csvService->getData($Csv, $Order));
393
                        if ($ExportCsvRow->isDataNull()) {
394
                            // 受注データにない場合は, 受注明細を検索.
395
                            $ExportCsvRow->setData($csvService->getData($Csv, $OrderDetail));
396
                        }
397
398
                        $event = new EventArgs(
399
                            array(
400
                                'csvService' => $csvService,
401
                                'Csv' => $Csv,
402
                                'OrderDetail' => $OrderDetail,
403
                                'ExportCsvRow' => $ExportCsvRow,
404
                            ),
405
                            $request
406
                        );
407
                        $this->eventDispatcher->dispatch(EccubeEvents::ADMIN_ORDER_CSV_EXPORT_ORDER, $event);
408
409
                        $ExportCsvRow->pushData();
410
                    }
411
412
                    //$row[] = number_format(memory_get_usage(true));
413
                    // 出力.
414
                    $csvService->fputcsv($ExportCsvRow->getRow());
415
                }
416
            });
417
        });
418
419
        $now = new \DateTime();

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

@@ 869-908 (lines=40) @@
866
            // データ行の出力.
867
            $this->csvExportService->setExportQueryBuilder($qb);
868
869
            $this->csvExportService->exportData(function ($entity, CsvExportService $csvService) use ($app, $request) {
870
                $Csvs = $csvService->getCsvs();
871
872
                /** @var $Product \Eccube\Entity\Product */
873
                $Product = $entity;
874
875
                /** @var $ProductClassess \Eccube\Entity\ProductClass[] */
876
                $ProductClassess = $Product->getProductClasses();
877
878
                foreach ($ProductClassess as $ProductClass) {
879
                    $ExportCsvRow = new \Eccube\Entity\ExportCsvRow();
880
881
                    // CSV出力項目と合致するデータを取得.
882
                    foreach ($Csvs as $Csv) {
883
                        // 商品データを検索.
884
                        $ExportCsvRow->setData($csvService->getData($Csv, $Product));
885
                        if ($ExportCsvRow->isDataNull()) {
886
                            // 商品規格情報を検索.
887
                            $ExportCsvRow->setData($csvService->getData($Csv, $ProductClass));
888
                        }
889
890
                        $event = new EventArgs(
891
                            array(
892
                                'csvService' => $csvService,
893
                                'Csv' => $Csv,
894
                                'ProductClass' => $ProductClass,
895
                                'ExportCsvRow' => $ExportCsvRow,
896
                            ),
897
                            $request
898
                        );
899
                        $this->eventDispatcher->dispatch(EccubeEvents::ADMIN_PRODUCT_CSV_EXPORT, $event);
900
901
                        $ExportCsvRow->pushData();
902
                    }
903
904
                    // $row[] = number_format(memory_get_usage(true));
905
                    // 出力.
906
                    $csvService->fputcsv($ExportCsvRow->getRow());
907
                }
908
            });
909
        });
910
911
        $now = new \DateTime();