Code Duplication    Length = 44-44 lines in 4 locations

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

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