Code Duplication    Length = 12-13 lines in 4 locations

src/Eccube/Controller/Admin/Product/CsvImportController.php 4 locations

@@ 366-377 (lines=12) @@
363
                        if ($ProductClasses->count() < 1) {
364
                            // 規格分類1(ID)がセットされていると規格なし商品、規格あり商品を作成
365
                            $ProductClassOrg = $this->createProductClass($row, $Product, $data, $headerByKey);
366
                            if ($this->BaseInfo->isOptionProductDeliveryFee()) {
367
                                if (isset($row[$headerByKey['delivery_fee']]) && StringUtil::isNotBlank($row[$headerByKey['delivery_fee']])) {
368
                                    $deliveryFee = str_replace(',', '', $row[$headerByKey['delivery_fee']]);
369
                                    $errors = $this->validator->validate($deliveryFee, new GreaterThanOrEqual(['value' => 0]));
370
                                    if ($errors->count() === 0) {
371
                                        $ProductClassOrg->setDeliveryFee($deliveryFee);
372
                                    } else {
373
                                        $message = trans('admin.common.csv_invalid_greater_than_zero', ['%line%' => $line, '%name%' => $headerByKey['delivery_fee']]);
374
                                        $this->addErrors($message);
375
                                    }
376
                                }
377
                            }
378
379
                            // 商品別税率機能が有効の場合に税率を更新
380
                            if ($this->BaseInfo->isOptionProductTaxRule()) {
@@ 491-502 (lines=12) @@
488
                                ) {
489
                                    $this->updateProductClass($row, $Product, $pc, $data, $headerByKey);
490
491
                                    if ($this->BaseInfo->isOptionProductDeliveryFee()) {
492
                                        if (isset($row[$headerByKey['delivery_fee']]) && StringUtil::isNotBlank($row[$headerByKey['delivery_fee']])) {
493
                                            $deliveryFee = str_replace(',', '', $row[$headerByKey['delivery_fee']]);
494
                                            $errors = $this->validator->validate($deliveryFee, new GreaterThanOrEqual(['value' => 0]));
495
                                            if ($errors->count() === 0) {
496
                                                $pc->setDeliveryFee($deliveryFee);
497
                                            } else {
498
                                                $message = trans('admin.common.csv_invalid_greater_than_zero', ['%line%' => $line, '%name%' => $headerByKey['delivery_fee']]);
499
                                                $this->addErrors($message);
500
                                            }
501
                                        }
502
                                    }
503
504
                                    // 商品別税率機能が有効の場合に税率を更新
505
                                    if ($this->BaseInfo->isOptionProductTaxRule()) {
@@ 609-620 (lines=12) @@
606
                                    }
607
                                    $ProductClass = $this->createProductClass($row, $Product, $data, $headerByKey, $ClassCategory1, $ClassCategory2);
608
609
                                    if ($this->BaseInfo->isOptionProductDeliveryFee()) {
610
                                        if (isset($row[$headerByKey['delivery_fee']]) && StringUtil::isNotBlank($row[$headerByKey['delivery_fee']])) {
611
                                            $deliveryFee = str_replace(',', '', $row[$headerByKey['delivery_fee']]);
612
                                            $errors = $this->validator->validate($deliveryFee, new GreaterThanOrEqual(['value' => 0]));
613
                                            if ($errors->count() === 0) {
614
                                                $ProductClass->setDeliveryFee($deliveryFee);
615
                                            } else {
616
                                                $message = trans('admin.common.csv_invalid_greater_than_zero', ['%line%' => $line, '%name%' => $headerByKey['delivery_fee']]);
617
                                                $this->addErrors($message);
618
                                            }
619
                                        }
620
                                    }
621
622
                                    // 商品別税率機能が有効の場合に税率を更新
623
                                    if ($this->BaseInfo->isOptionProductTaxRule()) {
@@ 1199-1211 (lines=13) @@
1196
            $this->addErrors($message);
1197
        }
1198
1199
        if ($this->BaseInfo->isOptionProductDeliveryFee()) {
1200
            if (isset($row[$headerByKey['delivery_fee']]) && StringUtil::isNotBlank($row[$headerByKey['delivery_fee']])) {
1201
                $delivery_fee = str_replace(',', '', $row[$headerByKey['delivery_fee']]);
1202
                $errors = $this->validator->validate($delivery_fee, new GreaterThanOrEqual(['value' => 0]));
1203
                if ($errors->count() === 0) {
1204
                    $ProductClass->setDeliveryFee($delivery_fee);
1205
                } else {
1206
                    $message = trans('admin.common.csv_invalid_greater_than_zero',
1207
                        ['%line%' => $line, '%name%' => $headerByKey['delivery_fee']]);
1208
                    $this->addErrors($message);
1209
                }
1210
            }
1211
        }
1212
1213
        $Product->addProductClass($ProductClass);
1214
        $ProductStock = new ProductStock();