Code Duplication    Length = 44-44 lines in 4 locations

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

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