Code Duplication    Length = 173-173 lines in 3 locations

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

@@ 3265-3437 (lines=173) @@
3262
            // Not used (3)
3263
            $dataBlockFont .= pack('vC', 0x0000, 0x00);
3264
            // Font color index
3265
            switch ($conditional->getStyle()->getFont()->getColor()->getRGB()) {
3266
                case '000000':
3267
                    $colorIdx = 0x08;
3268
                    break;
3269
                case 'FFFFFF':
3270
                    $colorIdx = 0x09;
3271
                    break;
3272
                case 'FF0000':
3273
                    $colorIdx = 0x0A;
3274
                    break;
3275
                case '00FF00':
3276
                    $colorIdx = 0x0B;
3277
                    break;
3278
                case '0000FF':
3279
                    $colorIdx = 0x0C;
3280
                    break;
3281
                case 'FFFF00':
3282
                    $colorIdx = 0x0D;
3283
                    break;
3284
                case 'FF00FF':
3285
                    $colorIdx = 0x0E;
3286
                    break;
3287
                case '00FFFF':
3288
                    $colorIdx = 0x0F;
3289
                    break;
3290
                case '800000':
3291
                    $colorIdx = 0x10;
3292
                    break;
3293
                case '008000':
3294
                    $colorIdx = 0x11;
3295
                    break;
3296
                case '000080':
3297
                    $colorIdx = 0x12;
3298
                    break;
3299
                case '808000':
3300
                    $colorIdx = 0x13;
3301
                    break;
3302
                case '800080':
3303
                    $colorIdx = 0x14;
3304
                    break;
3305
                case '008080':
3306
                    $colorIdx = 0x15;
3307
                    break;
3308
                case 'C0C0C0':
3309
                    $colorIdx = 0x16;
3310
                    break;
3311
                case '808080':
3312
                    $colorIdx = 0x17;
3313
                    break;
3314
                case '9999FF':
3315
                    $colorIdx = 0x18;
3316
                    break;
3317
                case '993366':
3318
                    $colorIdx = 0x19;
3319
                    break;
3320
                case 'FFFFCC':
3321
                    $colorIdx = 0x1A;
3322
                    break;
3323
                case 'CCFFFF':
3324
                    $colorIdx = 0x1B;
3325
                    break;
3326
                case '660066':
3327
                    $colorIdx = 0x1C;
3328
                    break;
3329
                case 'FF8080':
3330
                    $colorIdx = 0x1D;
3331
                    break;
3332
                case '0066CC':
3333
                    $colorIdx = 0x1E;
3334
                    break;
3335
                case 'CCCCFF':
3336
                    $colorIdx = 0x1F;
3337
                    break;
3338
                case '000080':
3339
                    $colorIdx = 0x20;
3340
                    break;
3341
                case 'FF00FF':
3342
                    $colorIdx = 0x21;
3343
                    break;
3344
                case 'FFFF00':
3345
                    $colorIdx = 0x22;
3346
                    break;
3347
                case '00FFFF':
3348
                    $colorIdx = 0x23;
3349
                    break;
3350
                case '800080':
3351
                    $colorIdx = 0x24;
3352
                    break;
3353
                case '800000':
3354
                    $colorIdx = 0x25;
3355
                    break;
3356
                case '008080':
3357
                    $colorIdx = 0x26;
3358
                    break;
3359
                case '0000FF':
3360
                    $colorIdx = 0x27;
3361
                    break;
3362
                case '00CCFF':
3363
                    $colorIdx = 0x28;
3364
                    break;
3365
                case 'CCFFFF':
3366
                    $colorIdx = 0x29;
3367
                    break;
3368
                case 'CCFFCC':
3369
                    $colorIdx = 0x2A;
3370
                    break;
3371
                case 'FFFF99':
3372
                    $colorIdx = 0x2B;
3373
                    break;
3374
                case '99CCFF':
3375
                    $colorIdx = 0x2C;
3376
                    break;
3377
                case 'FF99CC':
3378
                    $colorIdx = 0x2D;
3379
                    break;
3380
                case 'CC99FF':
3381
                    $colorIdx = 0x2E;
3382
                    break;
3383
                case 'FFCC99':
3384
                    $colorIdx = 0x2F;
3385
                    break;
3386
                case '3366FF':
3387
                    $colorIdx = 0x30;
3388
                    break;
3389
                case '33CCCC':
3390
                    $colorIdx = 0x31;
3391
                    break;
3392
                case '99CC00':
3393
                    $colorIdx = 0x32;
3394
                    break;
3395
                case 'FFCC00':
3396
                    $colorIdx = 0x33;
3397
                    break;
3398
                case 'FF9900':
3399
                    $colorIdx = 0x34;
3400
                    break;
3401
                case 'FF6600':
3402
                    $colorIdx = 0x35;
3403
                    break;
3404
                case '666699':
3405
                    $colorIdx = 0x36;
3406
                    break;
3407
                case '969696':
3408
                    $colorIdx = 0x37;
3409
                    break;
3410
                case '003366':
3411
                    $colorIdx = 0x38;
3412
                    break;
3413
                case '339966':
3414
                    $colorIdx = 0x39;
3415
                    break;
3416
                case '003300':
3417
                    $colorIdx = 0x3A;
3418
                    break;
3419
                case '333300':
3420
                    $colorIdx = 0x3B;
3421
                    break;
3422
                case '993300':
3423
                    $colorIdx = 0x3C;
3424
                    break;
3425
                case '993366':
3426
                    $colorIdx = 0x3D;
3427
                    break;
3428
                case '333399':
3429
                    $colorIdx = 0x3E;
3430
                    break;
3431
                case '333333':
3432
                    $colorIdx = 0x3F;
3433
                    break;
3434
                default:
3435
                    $colorIdx = 0x00;
3436
                    break;
3437
            }
3438
            $dataBlockFont .= pack('V', $colorIdx);
3439
            // Not used (4)
3440
            $dataBlockFont .= pack('V', 0x00000000);
@@ 3828-4000 (lines=173) @@
3825
                    break;
3826
            }
3827
            // Color
3828
            switch ($conditional->getStyle()->getFill()->getStartColor()->getRGB()) {
3829
                case '000000':
3830
                    $colorIdxBg = 0x08;
3831
                    break;
3832
                case 'FFFFFF':
3833
                    $colorIdxBg = 0x09;
3834
                    break;
3835
                case 'FF0000':
3836
                    $colorIdxBg = 0x0A;
3837
                    break;
3838
                case '00FF00':
3839
                    $colorIdxBg = 0x0B;
3840
                    break;
3841
                case '0000FF':
3842
                    $colorIdxBg = 0x0C;
3843
                    break;
3844
                case 'FFFF00':
3845
                    $colorIdxBg = 0x0D;
3846
                    break;
3847
                case 'FF00FF':
3848
                    $colorIdxBg = 0x0E;
3849
                    break;
3850
                case '00FFFF':
3851
                    $colorIdxBg = 0x0F;
3852
                    break;
3853
                case '800000':
3854
                    $colorIdxBg = 0x10;
3855
                    break;
3856
                case '008000':
3857
                    $colorIdxBg = 0x11;
3858
                    break;
3859
                case '000080':
3860
                    $colorIdxBg = 0x12;
3861
                    break;
3862
                case '808000':
3863
                    $colorIdxBg = 0x13;
3864
                    break;
3865
                case '800080':
3866
                    $colorIdxBg = 0x14;
3867
                    break;
3868
                case '008080':
3869
                    $colorIdxBg = 0x15;
3870
                    break;
3871
                case 'C0C0C0':
3872
                    $colorIdxBg = 0x16;
3873
                    break;
3874
                case '808080':
3875
                    $colorIdxBg = 0x17;
3876
                    break;
3877
                case '9999FF':
3878
                    $colorIdxBg = 0x18;
3879
                    break;
3880
                case '993366':
3881
                    $colorIdxBg = 0x19;
3882
                    break;
3883
                case 'FFFFCC':
3884
                    $colorIdxBg = 0x1A;
3885
                    break;
3886
                case 'CCFFFF':
3887
                    $colorIdxBg = 0x1B;
3888
                    break;
3889
                case '660066':
3890
                    $colorIdxBg = 0x1C;
3891
                    break;
3892
                case 'FF8080':
3893
                    $colorIdxBg = 0x1D;
3894
                    break;
3895
                case '0066CC':
3896
                    $colorIdxBg = 0x1E;
3897
                    break;
3898
                case 'CCCCFF':
3899
                    $colorIdxBg = 0x1F;
3900
                    break;
3901
                case '000080':
3902
                    $colorIdxBg = 0x20;
3903
                    break;
3904
                case 'FF00FF':
3905
                    $colorIdxBg = 0x21;
3906
                    break;
3907
                case 'FFFF00':
3908
                    $colorIdxBg = 0x22;
3909
                    break;
3910
                case '00FFFF':
3911
                    $colorIdxBg = 0x23;
3912
                    break;
3913
                case '800080':
3914
                    $colorIdxBg = 0x24;
3915
                    break;
3916
                case '800000':
3917
                    $colorIdxBg = 0x25;
3918
                    break;
3919
                case '008080':
3920
                    $colorIdxBg = 0x26;
3921
                    break;
3922
                case '0000FF':
3923
                    $colorIdxBg = 0x27;
3924
                    break;
3925
                case '00CCFF':
3926
                    $colorIdxBg = 0x28;
3927
                    break;
3928
                case 'CCFFFF':
3929
                    $colorIdxBg = 0x29;
3930
                    break;
3931
                case 'CCFFCC':
3932
                    $colorIdxBg = 0x2A;
3933
                    break;
3934
                case 'FFFF99':
3935
                    $colorIdxBg = 0x2B;
3936
                    break;
3937
                case '99CCFF':
3938
                    $colorIdxBg = 0x2C;
3939
                    break;
3940
                case 'FF99CC':
3941
                    $colorIdxBg = 0x2D;
3942
                    break;
3943
                case 'CC99FF':
3944
                    $colorIdxBg = 0x2E;
3945
                    break;
3946
                case 'FFCC99':
3947
                    $colorIdxBg = 0x2F;
3948
                    break;
3949
                case '3366FF':
3950
                    $colorIdxBg = 0x30;
3951
                    break;
3952
                case '33CCCC':
3953
                    $colorIdxBg = 0x31;
3954
                    break;
3955
                case '99CC00':
3956
                    $colorIdxBg = 0x32;
3957
                    break;
3958
                case 'FFCC00':
3959
                    $colorIdxBg = 0x33;
3960
                    break;
3961
                case 'FF9900':
3962
                    $colorIdxBg = 0x34;
3963
                    break;
3964
                case 'FF6600':
3965
                    $colorIdxBg = 0x35;
3966
                    break;
3967
                case '666699':
3968
                    $colorIdxBg = 0x36;
3969
                    break;
3970
                case '969696':
3971
                    $colorIdxBg = 0x37;
3972
                    break;
3973
                case '003366':
3974
                    $colorIdxBg = 0x38;
3975
                    break;
3976
                case '339966':
3977
                    $colorIdxBg = 0x39;
3978
                    break;
3979
                case '003300':
3980
                    $colorIdxBg = 0x3A;
3981
                    break;
3982
                case '333300':
3983
                    $colorIdxBg = 0x3B;
3984
                    break;
3985
                case '993300':
3986
                    $colorIdxBg = 0x3C;
3987
                    break;
3988
                case '993366':
3989
                    $colorIdxBg = 0x3D;
3990
                    break;
3991
                case '333399':
3992
                    $colorIdxBg = 0x3E;
3993
                    break;
3994
                case '333333':
3995
                    $colorIdxBg = 0x3F;
3996
                    break;
3997
                default:
3998
                          $colorIdxBg = 0x41;
3999
                    break;
4000
            }
4001
            // Fg Color
4002
            switch ($conditional->getStyle()->getFill()->getEndColor()->getRGB()) {
4003
                case '000000':
@@ 4002-4174 (lines=173) @@
3999
                    break;
4000
            }
4001
            // Fg Color
4002
            switch ($conditional->getStyle()->getFill()->getEndColor()->getRGB()) {
4003
                case '000000':
4004
                    $colorIdxFg = 0x08;
4005
                    break;
4006
                case 'FFFFFF':
4007
                    $colorIdxFg = 0x09;
4008
                    break;
4009
                case 'FF0000':
4010
                    $colorIdxFg = 0x0A;
4011
                    break;
4012
                case '00FF00':
4013
                    $colorIdxFg = 0x0B;
4014
                    break;
4015
                case '0000FF':
4016
                    $colorIdxFg = 0x0C;
4017
                    break;
4018
                case 'FFFF00':
4019
                    $colorIdxFg = 0x0D;
4020
                    break;
4021
                case 'FF00FF':
4022
                    $colorIdxFg = 0x0E;
4023
                    break;
4024
                case '00FFFF':
4025
                    $colorIdxFg = 0x0F;
4026
                    break;
4027
                case '800000':
4028
                    $colorIdxFg = 0x10;
4029
                    break;
4030
                case '008000':
4031
                    $colorIdxFg = 0x11;
4032
                    break;
4033
                case '000080':
4034
                    $colorIdxFg = 0x12;
4035
                    break;
4036
                case '808000':
4037
                    $colorIdxFg = 0x13;
4038
                    break;
4039
                case '800080':
4040
                    $colorIdxFg = 0x14;
4041
                    break;
4042
                case '008080':
4043
                    $colorIdxFg = 0x15;
4044
                    break;
4045
                case 'C0C0C0':
4046
                    $colorIdxFg = 0x16;
4047
                    break;
4048
                case '808080':
4049
                    $colorIdxFg = 0x17;
4050
                    break;
4051
                case '9999FF':
4052
                    $colorIdxFg = 0x18;
4053
                    break;
4054
                case '993366':
4055
                    $colorIdxFg = 0x19;
4056
                    break;
4057
                case 'FFFFCC':
4058
                    $colorIdxFg = 0x1A;
4059
                    break;
4060
                case 'CCFFFF':
4061
                    $colorIdxFg = 0x1B;
4062
                    break;
4063
                case '660066':
4064
                    $colorIdxFg = 0x1C;
4065
                    break;
4066
                case 'FF8080':
4067
                    $colorIdxFg = 0x1D;
4068
                    break;
4069
                case '0066CC':
4070
                    $colorIdxFg = 0x1E;
4071
                    break;
4072
                case 'CCCCFF':
4073
                    $colorIdxFg = 0x1F;
4074
                    break;
4075
                case '000080':
4076
                    $colorIdxFg = 0x20;
4077
                    break;
4078
                case 'FF00FF':
4079
                    $colorIdxFg = 0x21;
4080
                    break;
4081
                case 'FFFF00':
4082
                    $colorIdxFg = 0x22;
4083
                    break;
4084
                case '00FFFF':
4085
                    $colorIdxFg = 0x23;
4086
                    break;
4087
                case '800080':
4088
                    $colorIdxFg = 0x24;
4089
                    break;
4090
                case '800000':
4091
                    $colorIdxFg = 0x25;
4092
                    break;
4093
                case '008080':
4094
                    $colorIdxFg = 0x26;
4095
                    break;
4096
                case '0000FF':
4097
                    $colorIdxFg = 0x27;
4098
                    break;
4099
                case '00CCFF':
4100
                    $colorIdxFg = 0x28;
4101
                    break;
4102
                case 'CCFFFF':
4103
                    $colorIdxFg = 0x29;
4104
                    break;
4105
                case 'CCFFCC':
4106
                    $colorIdxFg = 0x2A;
4107
                    break;
4108
                case 'FFFF99':
4109
                    $colorIdxFg = 0x2B;
4110
                    break;
4111
                case '99CCFF':
4112
                    $colorIdxFg = 0x2C;
4113
                    break;
4114
                case 'FF99CC':
4115
                    $colorIdxFg = 0x2D;
4116
                    break;
4117
                case 'CC99FF':
4118
                    $colorIdxFg = 0x2E;
4119
                    break;
4120
                case 'FFCC99':
4121
                    $colorIdxFg = 0x2F;
4122
                    break;
4123
                case '3366FF':
4124
                    $colorIdxFg = 0x30;
4125
                    break;
4126
                case '33CCCC':
4127
                    $colorIdxFg = 0x31;
4128
                    break;
4129
                case '99CC00':
4130
                    $colorIdxFg = 0x32;
4131
                    break;
4132
                case 'FFCC00':
4133
                    $colorIdxFg = 0x33;
4134
                    break;
4135
                case 'FF9900':
4136
                    $colorIdxFg = 0x34;
4137
                    break;
4138
                case 'FF6600':
4139
                    $colorIdxFg = 0x35;
4140
                    break;
4141
                case '666699':
4142
                    $colorIdxFg = 0x36;
4143
                    break;
4144
                case '969696':
4145
                    $colorIdxFg = 0x37;
4146
                    break;
4147
                case '003366':
4148
                    $colorIdxFg = 0x38;
4149
                    break;
4150
                case '339966':
4151
                    $colorIdxFg = 0x39;
4152
                    break;
4153
                case '003300':
4154
                    $colorIdxFg = 0x3A;
4155
                    break;
4156
                case '333300':
4157
                    $colorIdxFg = 0x3B;
4158
                    break;
4159
                case '993300':
4160
                    $colorIdxFg = 0x3C;
4161
                    break;
4162
                case '993366':
4163
                    $colorIdxFg = 0x3D;
4164
                    break;
4165
                case '333399':
4166
                    $colorIdxFg = 0x3E;
4167
                    break;
4168
                case '333333':
4169
                    $colorIdxFg = 0x3F;
4170
                    break;
4171
                default:
4172
                          $colorIdxFg = 0x40;
4173
                    break;
4174
            }
4175
            $dataBlockFill = pack('v', $blockFillPatternStyle);
4176
            $dataBlockFill .= pack('v', $colorIdxFg | ($colorIdxBg << 7));
4177
        }