Code Duplication    Length = 44-44 lines in 4 locations

src/PhpSpreadsheet/Writer/Excel5/Worksheet.php 4 locations

@@ 3520-3563 (lines=44) @@
3517
                    $blockLineStyle |= 0x0D;
3518
                    break;
3519
            }
3520
            switch ($conditional->getStyle()->getBorders()->getRight()->getBorderStyle()) {
3521
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_NONE:
3522
                    $blockLineStyle |= 0x00 << 4;
3523
                    break;
3524
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN:
3525
                    $blockLineStyle |= 0x01 << 4;
3526
                    break;
3527
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUM:
3528
                    $blockLineStyle |= 0x02 << 4;
3529
                    break;
3530
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHED:
3531
                    $blockLineStyle |= 0x03 << 4;
3532
                    break;
3533
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DOTTED:
3534
                    $blockLineStyle |= 0x04 << 4;
3535
                    break;
3536
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THICK:
3537
                    $blockLineStyle |= 0x05 << 4;
3538
                    break;
3539
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DOUBLE:
3540
                    $blockLineStyle |= 0x06 << 4;
3541
                    break;
3542
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_HAIR:
3543
                    $blockLineStyle |= 0x07 << 4;
3544
                    break;
3545
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHED:
3546
                    $blockLineStyle |= 0x08 << 4;
3547
                    break;
3548
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHDOT:
3549
                    $blockLineStyle |= 0x09 << 4;
3550
                    break;
3551
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOT:
3552
                    $blockLineStyle |= 0x0A << 4;
3553
                    break;
3554
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHDOTDOT:
3555
                    $blockLineStyle |= 0x0B << 4;
3556
                    break;
3557
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOTDOT:
3558
                    $blockLineStyle |= 0x0C << 4;
3559
                    break;
3560
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_SLANTDASHDOT:
3561
                    $blockLineStyle |= 0x0D << 4;
3562
                    break;
3563
            }
3564
            switch ($conditional->getStyle()->getBorders()->getTop()->getBorderStyle()) {
3565
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_NONE:
3566
                    $blockLineStyle |= 0x00 << 8;
@@ 3564-3607 (lines=44) @@
3561
                    $blockLineStyle |= 0x0D << 4;
3562
                    break;
3563
            }
3564
            switch ($conditional->getStyle()->getBorders()->getTop()->getBorderStyle()) {
3565
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_NONE:
3566
                    $blockLineStyle |= 0x00 << 8;
3567
                    break;
3568
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN:
3569
                    $blockLineStyle |= 0x01 << 8;
3570
                    break;
3571
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUM:
3572
                    $blockLineStyle |= 0x02 << 8;
3573
                    break;
3574
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHED:
3575
                    $blockLineStyle |= 0x03 << 8;
3576
                    break;
3577
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DOTTED:
3578
                    $blockLineStyle |= 0x04 << 8;
3579
                    break;
3580
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THICK:
3581
                    $blockLineStyle |= 0x05 << 8;
3582
                    break;
3583
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DOUBLE:
3584
                    $blockLineStyle |= 0x06 << 8;
3585
                    break;
3586
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_HAIR:
3587
                    $blockLineStyle |= 0x07 << 8;
3588
                    break;
3589
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHED:
3590
                    $blockLineStyle |= 0x08 << 8;
3591
                    break;
3592
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHDOT:
3593
                    $blockLineStyle |= 0x09 << 8;
3594
                    break;
3595
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOT:
3596
                    $blockLineStyle |= 0x0A << 8;
3597
                    break;
3598
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHDOTDOT:
3599
                    $blockLineStyle |= 0x0B << 8;
3600
                    break;
3601
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOTDOT:
3602
                    $blockLineStyle |= 0x0C << 8;
3603
                    break;
3604
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_SLANTDASHDOT:
3605
                    $blockLineStyle |= 0x0D << 8;
3606
                    break;
3607
            }
3608
            switch ($conditional->getStyle()->getBorders()->getBottom()->getBorderStyle()) {
3609
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_NONE:
3610
                    $blockLineStyle |= 0x00 << 12;
@@ 3608-3651 (lines=44) @@
3605
                    $blockLineStyle |= 0x0D << 8;
3606
                    break;
3607
            }
3608
            switch ($conditional->getStyle()->getBorders()->getBottom()->getBorderStyle()) {
3609
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_NONE:
3610
                    $blockLineStyle |= 0x00 << 12;
3611
                    break;
3612
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN:
3613
                    $blockLineStyle |= 0x01 << 12;
3614
                    break;
3615
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUM:
3616
                    $blockLineStyle |= 0x02 << 12;
3617
                    break;
3618
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHED:
3619
                    $blockLineStyle |= 0x03 << 12;
3620
                    break;
3621
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DOTTED:
3622
                    $blockLineStyle |= 0x04 << 12;
3623
                    break;
3624
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THICK:
3625
                    $blockLineStyle |= 0x05 << 12;
3626
                    break;
3627
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DOUBLE:
3628
                    $blockLineStyle |= 0x06 << 12;
3629
                    break;
3630
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_HAIR:
3631
                    $blockLineStyle |= 0x07 << 12;
3632
                    break;
3633
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHED:
3634
                    $blockLineStyle |= 0x08 << 12;
3635
                    break;
3636
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHDOT:
3637
                    $blockLineStyle |= 0x09 << 12;
3638
                    break;
3639
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOT:
3640
                    $blockLineStyle |= 0x0A << 12;
3641
                    break;
3642
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHDOTDOT:
3643
                    $blockLineStyle |= 0x0B << 12;
3644
                    break;
3645
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOTDOT:
3646
                    $blockLineStyle |= 0x0C << 12;
3647
                    break;
3648
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_SLANTDASHDOT:
3649
                    $blockLineStyle |= 0x0D << 12;
3650
                    break;
3651
            }
3652
            //@todo writeCFRule() => $blockLineStyle => Index Color for left line
3653
            //@todo writeCFRule() => $blockLineStyle => Index Color for right line
3654
            //@todo writeCFRule() => $blockLineStyle => Top-left to bottom-right on/off
@@ 3660-3703 (lines=44) @@
3657
            //@todo writeCFRule() => $blockColor => Index Color for top line
3658
            //@todo writeCFRule() => $blockColor => Index Color for bottom line
3659
            //@todo writeCFRule() => $blockColor => Index Color for diagonal line
3660
            switch ($conditional->getStyle()->getBorders()->getDiagonal()->getBorderStyle()) {
3661
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_NONE:
3662
                    $blockColor |= 0x00 << 21;
3663
                    break;
3664
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN:
3665
                    $blockColor |= 0x01 << 21;
3666
                    break;
3667
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUM:
3668
                    $blockColor |= 0x02 << 21;
3669
                    break;
3670
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHED:
3671
                    $blockColor |= 0x03 << 21;
3672
                    break;
3673
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DOTTED:
3674
                    $blockColor |= 0x04 << 21;
3675
                    break;
3676
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THICK:
3677
                    $blockColor |= 0x05 << 21;
3678
                    break;
3679
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DOUBLE:
3680
                    $blockColor |= 0x06 << 21;
3681
                    break;
3682
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_HAIR:
3683
                    $blockColor |= 0x07 << 21;
3684
                    break;
3685
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHED:
3686
                    $blockColor |= 0x08 << 21;
3687
                    break;
3688
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHDOT:
3689
                    $blockColor |= 0x09 << 21;
3690
                    break;
3691
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOT:
3692
                    $blockColor |= 0x0A << 21;
3693
                    break;
3694
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHDOTDOT:
3695
                    $blockColor |= 0x0B << 21;
3696
                    break;
3697
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOTDOT:
3698
                    $blockColor |= 0x0C << 21;
3699
                    break;
3700
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_SLANTDASHDOT:
3701
                    $blockColor |= 0x0D << 21;
3702
                    break;
3703
            }
3704
            $dataBlockBorder = pack('vv', $blockLineStyle, $blockColor);
3705
        }
3706
        if ($bFormatFill == 1) {