Code Duplication    Length = 38-40 lines in 2 locations

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

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

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

@@ 900-939 (lines=40) @@
897
            // データ行の出力.
898
            $this->csvExportService->setExportQueryBuilder($qb);
899
900
            $this->csvExportService->exportData(function ($entity, CsvExportService $csvService) use ($app, $request) {
901
                $Csvs = $csvService->getCsvs();
902
903
                /** @var $Product \Eccube\Entity\Product */
904
                $Product = $entity;
905
906
                /** @var $ProductClassess \Eccube\Entity\ProductClass[] */
907
                $ProductClassess = $Product->getProductClasses();
908
909
                foreach ($ProductClassess as $ProductClass) {
910
                    $ExportCsvRow = new \Eccube\Entity\ExportCsvRow();
911
912
                    // CSV出力項目と合致するデータを取得.
913
                    foreach ($Csvs as $Csv) {
914
                        // 商品データを検索.
915
                        $ExportCsvRow->setData($csvService->getData($Csv, $Product));
916
                        if ($ExportCsvRow->isDataNull()) {
917
                            // 商品規格情報を検索.
918
                            $ExportCsvRow->setData($csvService->getData($Csv, $ProductClass));
919
                        }
920
921
                        $event = new EventArgs(
922
                            array(
923
                                'csvService' => $csvService,
924
                                'Csv' => $Csv,
925
                                'ProductClass' => $ProductClass,
926
                                'ExportCsvRow' => $ExportCsvRow,
927
                            ),
928
                            $request
929
                        );
930
                        $this->eventDispatcher->dispatch(EccubeEvents::ADMIN_PRODUCT_CSV_EXPORT, $event);
931
932
                        $ExportCsvRow->pushData();
933
                    }
934
935
                    // $row[] = number_format(memory_get_usage(true));
936
                    // 出力.
937
                    $csvService->fputcsv($ExportCsvRow->getRow());
938
                }
939
            });
940
        });
941
942
        $now = new \DateTime();