Code Duplication    Length = 44-44 lines in 4 locations

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

@@ 3570-3613 (lines=44) @@
3567
                    $blockLineStyle |= 0x0D;
3568
                    break;
3569
            }
3570
            switch ($conditional->getStyle()->getBorders()->getRight()->getBorderStyle()) {
3571
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_NONE:
3572
                    $blockLineStyle |= 0x00 << 4;
3573
                    break;
3574
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN:
3575
                    $blockLineStyle |= 0x01 << 4;
3576
                    break;
3577
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUM:
3578
                    $blockLineStyle |= 0x02 << 4;
3579
                    break;
3580
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHED:
3581
                    $blockLineStyle |= 0x03 << 4;
3582
                    break;
3583
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DOTTED:
3584
                    $blockLineStyle |= 0x04 << 4;
3585
                    break;
3586
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THICK:
3587
                    $blockLineStyle |= 0x05 << 4;
3588
                    break;
3589
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DOUBLE:
3590
                    $blockLineStyle |= 0x06 << 4;
3591
                    break;
3592
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_HAIR:
3593
                    $blockLineStyle |= 0x07 << 4;
3594
                    break;
3595
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHED:
3596
                    $blockLineStyle |= 0x08 << 4;
3597
                    break;
3598
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHDOT:
3599
                    $blockLineStyle |= 0x09 << 4;
3600
                    break;
3601
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOT:
3602
                    $blockLineStyle |= 0x0A << 4;
3603
                    break;
3604
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHDOTDOT:
3605
                    $blockLineStyle |= 0x0B << 4;
3606
                    break;
3607
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOTDOT:
3608
                    $blockLineStyle |= 0x0C << 4;
3609
                    break;
3610
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_SLANTDASHDOT:
3611
                    $blockLineStyle |= 0x0D << 4;
3612
                    break;
3613
            }
3614
            switch ($conditional->getStyle()->getBorders()->getTop()->getBorderStyle()) {
3615
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_NONE:
3616
                    $blockLineStyle |= 0x00 << 8;
@@ 3614-3657 (lines=44) @@
3611
                    $blockLineStyle |= 0x0D << 4;
3612
                    break;
3613
            }
3614
            switch ($conditional->getStyle()->getBorders()->getTop()->getBorderStyle()) {
3615
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_NONE:
3616
                    $blockLineStyle |= 0x00 << 8;
3617
                    break;
3618
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN:
3619
                    $blockLineStyle |= 0x01 << 8;
3620
                    break;
3621
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUM:
3622
                    $blockLineStyle |= 0x02 << 8;
3623
                    break;
3624
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHED:
3625
                    $blockLineStyle |= 0x03 << 8;
3626
                    break;
3627
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DOTTED:
3628
                    $blockLineStyle |= 0x04 << 8;
3629
                    break;
3630
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THICK:
3631
                    $blockLineStyle |= 0x05 << 8;
3632
                    break;
3633
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DOUBLE:
3634
                    $blockLineStyle |= 0x06 << 8;
3635
                    break;
3636
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_HAIR:
3637
                    $blockLineStyle |= 0x07 << 8;
3638
                    break;
3639
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHED:
3640
                    $blockLineStyle |= 0x08 << 8;
3641
                    break;
3642
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHDOT:
3643
                    $blockLineStyle |= 0x09 << 8;
3644
                    break;
3645
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOT:
3646
                    $blockLineStyle |= 0x0A << 8;
3647
                    break;
3648
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHDOTDOT:
3649
                    $blockLineStyle |= 0x0B << 8;
3650
                    break;
3651
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOTDOT:
3652
                    $blockLineStyle |= 0x0C << 8;
3653
                    break;
3654
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_SLANTDASHDOT:
3655
                    $blockLineStyle |= 0x0D << 8;
3656
                    break;
3657
            }
3658
            switch ($conditional->getStyle()->getBorders()->getBottom()->getBorderStyle()) {
3659
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_NONE:
3660
                    $blockLineStyle |= 0x00 << 12;
@@ 3658-3701 (lines=44) @@
3655
                    $blockLineStyle |= 0x0D << 8;
3656
                    break;
3657
            }
3658
            switch ($conditional->getStyle()->getBorders()->getBottom()->getBorderStyle()) {
3659
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_NONE:
3660
                    $blockLineStyle |= 0x00 << 12;
3661
                    break;
3662
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN:
3663
                    $blockLineStyle |= 0x01 << 12;
3664
                    break;
3665
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUM:
3666
                    $blockLineStyle |= 0x02 << 12;
3667
                    break;
3668
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHED:
3669
                    $blockLineStyle |= 0x03 << 12;
3670
                    break;
3671
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DOTTED:
3672
                    $blockLineStyle |= 0x04 << 12;
3673
                    break;
3674
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THICK:
3675
                    $blockLineStyle |= 0x05 << 12;
3676
                    break;
3677
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DOUBLE:
3678
                    $blockLineStyle |= 0x06 << 12;
3679
                    break;
3680
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_HAIR:
3681
                    $blockLineStyle |= 0x07 << 12;
3682
                    break;
3683
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHED:
3684
                    $blockLineStyle |= 0x08 << 12;
3685
                    break;
3686
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHDOT:
3687
                    $blockLineStyle |= 0x09 << 12;
3688
                    break;
3689
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOT:
3690
                    $blockLineStyle |= 0x0A << 12;
3691
                    break;
3692
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHDOTDOT:
3693
                    $blockLineStyle |= 0x0B << 12;
3694
                    break;
3695
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOTDOT:
3696
                    $blockLineStyle |= 0x0C << 12;
3697
                    break;
3698
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_SLANTDASHDOT:
3699
                    $blockLineStyle |= 0x0D << 12;
3700
                    break;
3701
            }
3702
            //@todo writeCFRule() => $blockLineStyle => Index Color for left line
3703
            //@todo writeCFRule() => $blockLineStyle => Index Color for right line
3704
            //@todo writeCFRule() => $blockLineStyle => Top-left to bottom-right on/off
@@ 3710-3753 (lines=44) @@
3707
            //@todo writeCFRule() => $blockColor => Index Color for top line
3708
            //@todo writeCFRule() => $blockColor => Index Color for bottom line
3709
            //@todo writeCFRule() => $blockColor => Index Color for diagonal line
3710
            switch ($conditional->getStyle()->getBorders()->getDiagonal()->getBorderStyle()) {
3711
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_NONE:
3712
                    $blockColor |= 0x00 << 21;
3713
                    break;
3714
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN:
3715
                    $blockColor |= 0x01 << 21;
3716
                    break;
3717
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUM:
3718
                    $blockColor |= 0x02 << 21;
3719
                    break;
3720
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHED:
3721
                    $blockColor |= 0x03 << 21;
3722
                    break;
3723
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DOTTED:
3724
                    $blockColor |= 0x04 << 21;
3725
                    break;
3726
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THICK:
3727
                    $blockColor |= 0x05 << 21;
3728
                    break;
3729
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DOUBLE:
3730
                    $blockColor |= 0x06 << 21;
3731
                    break;
3732
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_HAIR:
3733
                    $blockColor |= 0x07 << 21;
3734
                    break;
3735
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHED:
3736
                    $blockColor |= 0x08 << 21;
3737
                    break;
3738
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHDOT:
3739
                    $blockColor |= 0x09 << 21;
3740
                    break;
3741
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOT:
3742
                    $blockColor |= 0x0A << 21;
3743
                    break;
3744
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_DASHDOTDOT:
3745
                    $blockColor |= 0x0B << 21;
3746
                    break;
3747
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_MEDIUMDASHDOTDOT:
3748
                    $blockColor |= 0x0C << 21;
3749
                    break;
3750
                case \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_SLANTDASHDOT:
3751
                    $blockColor |= 0x0D << 21;
3752
                    break;
3753
            }
3754
            $dataBlockBorder = pack('vv', $blockLineStyle, $blockColor);
3755
        }
3756
        if ($bFormatFill == 1) {