Code Duplication    Length = 230-230 lines in 3 locations

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

@@ 3173-3402 (lines=230) @@
3170
            // Not used (3)
3171
            $dataBlockFont .= pack('vC', 0x0000, 0x00);
3172
            // Font color index
3173
            switch ($conditional->getStyle()->getFont()->getColor()->getRGB()) {
3174
                case '000000':
3175
                    $colorIdx = 0x08;
3176
3177
                    break;
3178
                case 'FFFFFF':
3179
                    $colorIdx = 0x09;
3180
3181
                    break;
3182
                case 'FF0000':
3183
                    $colorIdx = 0x0A;
3184
3185
                    break;
3186
                case '00FF00':
3187
                    $colorIdx = 0x0B;
3188
3189
                    break;
3190
                case '0000FF':
3191
                    $colorIdx = 0x0C;
3192
3193
                    break;
3194
                case 'FFFF00':
3195
                    $colorIdx = 0x0D;
3196
3197
                    break;
3198
                case 'FF00FF':
3199
                    $colorIdx = 0x0E;
3200
3201
                    break;
3202
                case '00FFFF':
3203
                    $colorIdx = 0x0F;
3204
3205
                    break;
3206
                case '800000':
3207
                    $colorIdx = 0x10;
3208
3209
                    break;
3210
                case '008000':
3211
                    $colorIdx = 0x11;
3212
3213
                    break;
3214
                case '000080':
3215
                    $colorIdx = 0x12;
3216
3217
                    break;
3218
                case '808000':
3219
                    $colorIdx = 0x13;
3220
3221
                    break;
3222
                case '800080':
3223
                    $colorIdx = 0x14;
3224
3225
                    break;
3226
                case '008080':
3227
                    $colorIdx = 0x15;
3228
3229
                    break;
3230
                case 'C0C0C0':
3231
                    $colorIdx = 0x16;
3232
3233
                    break;
3234
                case '808080':
3235
                    $colorIdx = 0x17;
3236
3237
                    break;
3238
                case '9999FF':
3239
                    $colorIdx = 0x18;
3240
3241
                    break;
3242
                case '993366':
3243
                    $colorIdx = 0x19;
3244
3245
                    break;
3246
                case 'FFFFCC':
3247
                    $colorIdx = 0x1A;
3248
3249
                    break;
3250
                case 'CCFFFF':
3251
                    $colorIdx = 0x1B;
3252
3253
                    break;
3254
                case '660066':
3255
                    $colorIdx = 0x1C;
3256
3257
                    break;
3258
                case 'FF8080':
3259
                    $colorIdx = 0x1D;
3260
3261
                    break;
3262
                case '0066CC':
3263
                    $colorIdx = 0x1E;
3264
3265
                    break;
3266
                case 'CCCCFF':
3267
                    $colorIdx = 0x1F;
3268
3269
                    break;
3270
                case '000080':
3271
                    $colorIdx = 0x20;
3272
3273
                    break;
3274
                case 'FF00FF':
3275
                    $colorIdx = 0x21;
3276
3277
                    break;
3278
                case 'FFFF00':
3279
                    $colorIdx = 0x22;
3280
3281
                    break;
3282
                case '00FFFF':
3283
                    $colorIdx = 0x23;
3284
3285
                    break;
3286
                case '800080':
3287
                    $colorIdx = 0x24;
3288
3289
                    break;
3290
                case '800000':
3291
                    $colorIdx = 0x25;
3292
3293
                    break;
3294
                case '008080':
3295
                    $colorIdx = 0x26;
3296
3297
                    break;
3298
                case '0000FF':
3299
                    $colorIdx = 0x27;
3300
3301
                    break;
3302
                case '00CCFF':
3303
                    $colorIdx = 0x28;
3304
3305
                    break;
3306
                case 'CCFFFF':
3307
                    $colorIdx = 0x29;
3308
3309
                    break;
3310
                case 'CCFFCC':
3311
                    $colorIdx = 0x2A;
3312
3313
                    break;
3314
                case 'FFFF99':
3315
                    $colorIdx = 0x2B;
3316
3317
                    break;
3318
                case '99CCFF':
3319
                    $colorIdx = 0x2C;
3320
3321
                    break;
3322
                case 'FF99CC':
3323
                    $colorIdx = 0x2D;
3324
3325
                    break;
3326
                case 'CC99FF':
3327
                    $colorIdx = 0x2E;
3328
3329
                    break;
3330
                case 'FFCC99':
3331
                    $colorIdx = 0x2F;
3332
3333
                    break;
3334
                case '3366FF':
3335
                    $colorIdx = 0x30;
3336
3337
                    break;
3338
                case '33CCCC':
3339
                    $colorIdx = 0x31;
3340
3341
                    break;
3342
                case '99CC00':
3343
                    $colorIdx = 0x32;
3344
3345
                    break;
3346
                case 'FFCC00':
3347
                    $colorIdx = 0x33;
3348
3349
                    break;
3350
                case 'FF9900':
3351
                    $colorIdx = 0x34;
3352
3353
                    break;
3354
                case 'FF6600':
3355
                    $colorIdx = 0x35;
3356
3357
                    break;
3358
                case '666699':
3359
                    $colorIdx = 0x36;
3360
3361
                    break;
3362
                case '969696':
3363
                    $colorIdx = 0x37;
3364
3365
                    break;
3366
                case '003366':
3367
                    $colorIdx = 0x38;
3368
3369
                    break;
3370
                case '339966':
3371
                    $colorIdx = 0x39;
3372
3373
                    break;
3374
                case '003300':
3375
                    $colorIdx = 0x3A;
3376
3377
                    break;
3378
                case '333300':
3379
                    $colorIdx = 0x3B;
3380
3381
                    break;
3382
                case '993300':
3383
                    $colorIdx = 0x3C;
3384
3385
                    break;
3386
                case '993366':
3387
                    $colorIdx = 0x3D;
3388
3389
                    break;
3390
                case '333399':
3391
                    $colorIdx = 0x3E;
3392
3393
                    break;
3394
                case '333333':
3395
                    $colorIdx = 0x3F;
3396
3397
                    break;
3398
                default:
3399
                    $colorIdx = 0x00;
3400
3401
                    break;
3402
            }
3403
            $dataBlockFont .= pack('V', $colorIdx);
3404
            // Not used (4)
3405
            $dataBlockFont .= pack('V', 0x00000000);
@@ 3895-4124 (lines=230) @@
3892
                    break;
3893
            }
3894
            // Color
3895
            switch ($conditional->getStyle()->getFill()->getStartColor()->getRGB()) {
3896
                case '000000':
3897
                    $colorIdxBg = 0x08;
3898
3899
                    break;
3900
                case 'FFFFFF':
3901
                    $colorIdxBg = 0x09;
3902
3903
                    break;
3904
                case 'FF0000':
3905
                    $colorIdxBg = 0x0A;
3906
3907
                    break;
3908
                case '00FF00':
3909
                    $colorIdxBg = 0x0B;
3910
3911
                    break;
3912
                case '0000FF':
3913
                    $colorIdxBg = 0x0C;
3914
3915
                    break;
3916
                case 'FFFF00':
3917
                    $colorIdxBg = 0x0D;
3918
3919
                    break;
3920
                case 'FF00FF':
3921
                    $colorIdxBg = 0x0E;
3922
3923
                    break;
3924
                case '00FFFF':
3925
                    $colorIdxBg = 0x0F;
3926
3927
                    break;
3928
                case '800000':
3929
                    $colorIdxBg = 0x10;
3930
3931
                    break;
3932
                case '008000':
3933
                    $colorIdxBg = 0x11;
3934
3935
                    break;
3936
                case '000080':
3937
                    $colorIdxBg = 0x12;
3938
3939
                    break;
3940
                case '808000':
3941
                    $colorIdxBg = 0x13;
3942
3943
                    break;
3944
                case '800080':
3945
                    $colorIdxBg = 0x14;
3946
3947
                    break;
3948
                case '008080':
3949
                    $colorIdxBg = 0x15;
3950
3951
                    break;
3952
                case 'C0C0C0':
3953
                    $colorIdxBg = 0x16;
3954
3955
                    break;
3956
                case '808080':
3957
                    $colorIdxBg = 0x17;
3958
3959
                    break;
3960
                case '9999FF':
3961
                    $colorIdxBg = 0x18;
3962
3963
                    break;
3964
                case '993366':
3965
                    $colorIdxBg = 0x19;
3966
3967
                    break;
3968
                case 'FFFFCC':
3969
                    $colorIdxBg = 0x1A;
3970
3971
                    break;
3972
                case 'CCFFFF':
3973
                    $colorIdxBg = 0x1B;
3974
3975
                    break;
3976
                case '660066':
3977
                    $colorIdxBg = 0x1C;
3978
3979
                    break;
3980
                case 'FF8080':
3981
                    $colorIdxBg = 0x1D;
3982
3983
                    break;
3984
                case '0066CC':
3985
                    $colorIdxBg = 0x1E;
3986
3987
                    break;
3988
                case 'CCCCFF':
3989
                    $colorIdxBg = 0x1F;
3990
3991
                    break;
3992
                case '000080':
3993
                    $colorIdxBg = 0x20;
3994
3995
                    break;
3996
                case 'FF00FF':
3997
                    $colorIdxBg = 0x21;
3998
3999
                    break;
4000
                case 'FFFF00':
4001
                    $colorIdxBg = 0x22;
4002
4003
                    break;
4004
                case '00FFFF':
4005
                    $colorIdxBg = 0x23;
4006
4007
                    break;
4008
                case '800080':
4009
                    $colorIdxBg = 0x24;
4010
4011
                    break;
4012
                case '800000':
4013
                    $colorIdxBg = 0x25;
4014
4015
                    break;
4016
                case '008080':
4017
                    $colorIdxBg = 0x26;
4018
4019
                    break;
4020
                case '0000FF':
4021
                    $colorIdxBg = 0x27;
4022
4023
                    break;
4024
                case '00CCFF':
4025
                    $colorIdxBg = 0x28;
4026
4027
                    break;
4028
                case 'CCFFFF':
4029
                    $colorIdxBg = 0x29;
4030
4031
                    break;
4032
                case 'CCFFCC':
4033
                    $colorIdxBg = 0x2A;
4034
4035
                    break;
4036
                case 'FFFF99':
4037
                    $colorIdxBg = 0x2B;
4038
4039
                    break;
4040
                case '99CCFF':
4041
                    $colorIdxBg = 0x2C;
4042
4043
                    break;
4044
                case 'FF99CC':
4045
                    $colorIdxBg = 0x2D;
4046
4047
                    break;
4048
                case 'CC99FF':
4049
                    $colorIdxBg = 0x2E;
4050
4051
                    break;
4052
                case 'FFCC99':
4053
                    $colorIdxBg = 0x2F;
4054
4055
                    break;
4056
                case '3366FF':
4057
                    $colorIdxBg = 0x30;
4058
4059
                    break;
4060
                case '33CCCC':
4061
                    $colorIdxBg = 0x31;
4062
4063
                    break;
4064
                case '99CC00':
4065
                    $colorIdxBg = 0x32;
4066
4067
                    break;
4068
                case 'FFCC00':
4069
                    $colorIdxBg = 0x33;
4070
4071
                    break;
4072
                case 'FF9900':
4073
                    $colorIdxBg = 0x34;
4074
4075
                    break;
4076
                case 'FF6600':
4077
                    $colorIdxBg = 0x35;
4078
4079
                    break;
4080
                case '666699':
4081
                    $colorIdxBg = 0x36;
4082
4083
                    break;
4084
                case '969696':
4085
                    $colorIdxBg = 0x37;
4086
4087
                    break;
4088
                case '003366':
4089
                    $colorIdxBg = 0x38;
4090
4091
                    break;
4092
                case '339966':
4093
                    $colorIdxBg = 0x39;
4094
4095
                    break;
4096
                case '003300':
4097
                    $colorIdxBg = 0x3A;
4098
4099
                    break;
4100
                case '333300':
4101
                    $colorIdxBg = 0x3B;
4102
4103
                    break;
4104
                case '993300':
4105
                    $colorIdxBg = 0x3C;
4106
4107
                    break;
4108
                case '993366':
4109
                    $colorIdxBg = 0x3D;
4110
4111
                    break;
4112
                case '333399':
4113
                    $colorIdxBg = 0x3E;
4114
4115
                    break;
4116
                case '333333':
4117
                    $colorIdxBg = 0x3F;
4118
4119
                    break;
4120
                default:
4121
                          $colorIdxBg = 0x41;
4122
4123
                    break;
4124
            }
4125
            // Fg Color
4126
            switch ($conditional->getStyle()->getFill()->getEndColor()->getRGB()) {
4127
                case '000000':
@@ 4126-4355 (lines=230) @@
4123
                    break;
4124
            }
4125
            // Fg Color
4126
            switch ($conditional->getStyle()->getFill()->getEndColor()->getRGB()) {
4127
                case '000000':
4128
                    $colorIdxFg = 0x08;
4129
4130
                    break;
4131
                case 'FFFFFF':
4132
                    $colorIdxFg = 0x09;
4133
4134
                    break;
4135
                case 'FF0000':
4136
                    $colorIdxFg = 0x0A;
4137
4138
                    break;
4139
                case '00FF00':
4140
                    $colorIdxFg = 0x0B;
4141
4142
                    break;
4143
                case '0000FF':
4144
                    $colorIdxFg = 0x0C;
4145
4146
                    break;
4147
                case 'FFFF00':
4148
                    $colorIdxFg = 0x0D;
4149
4150
                    break;
4151
                case 'FF00FF':
4152
                    $colorIdxFg = 0x0E;
4153
4154
                    break;
4155
                case '00FFFF':
4156
                    $colorIdxFg = 0x0F;
4157
4158
                    break;
4159
                case '800000':
4160
                    $colorIdxFg = 0x10;
4161
4162
                    break;
4163
                case '008000':
4164
                    $colorIdxFg = 0x11;
4165
4166
                    break;
4167
                case '000080':
4168
                    $colorIdxFg = 0x12;
4169
4170
                    break;
4171
                case '808000':
4172
                    $colorIdxFg = 0x13;
4173
4174
                    break;
4175
                case '800080':
4176
                    $colorIdxFg = 0x14;
4177
4178
                    break;
4179
                case '008080':
4180
                    $colorIdxFg = 0x15;
4181
4182
                    break;
4183
                case 'C0C0C0':
4184
                    $colorIdxFg = 0x16;
4185
4186
                    break;
4187
                case '808080':
4188
                    $colorIdxFg = 0x17;
4189
4190
                    break;
4191
                case '9999FF':
4192
                    $colorIdxFg = 0x18;
4193
4194
                    break;
4195
                case '993366':
4196
                    $colorIdxFg = 0x19;
4197
4198
                    break;
4199
                case 'FFFFCC':
4200
                    $colorIdxFg = 0x1A;
4201
4202
                    break;
4203
                case 'CCFFFF':
4204
                    $colorIdxFg = 0x1B;
4205
4206
                    break;
4207
                case '660066':
4208
                    $colorIdxFg = 0x1C;
4209
4210
                    break;
4211
                case 'FF8080':
4212
                    $colorIdxFg = 0x1D;
4213
4214
                    break;
4215
                case '0066CC':
4216
                    $colorIdxFg = 0x1E;
4217
4218
                    break;
4219
                case 'CCCCFF':
4220
                    $colorIdxFg = 0x1F;
4221
4222
                    break;
4223
                case '000080':
4224
                    $colorIdxFg = 0x20;
4225
4226
                    break;
4227
                case 'FF00FF':
4228
                    $colorIdxFg = 0x21;
4229
4230
                    break;
4231
                case 'FFFF00':
4232
                    $colorIdxFg = 0x22;
4233
4234
                    break;
4235
                case '00FFFF':
4236
                    $colorIdxFg = 0x23;
4237
4238
                    break;
4239
                case '800080':
4240
                    $colorIdxFg = 0x24;
4241
4242
                    break;
4243
                case '800000':
4244
                    $colorIdxFg = 0x25;
4245
4246
                    break;
4247
                case '008080':
4248
                    $colorIdxFg = 0x26;
4249
4250
                    break;
4251
                case '0000FF':
4252
                    $colorIdxFg = 0x27;
4253
4254
                    break;
4255
                case '00CCFF':
4256
                    $colorIdxFg = 0x28;
4257
4258
                    break;
4259
                case 'CCFFFF':
4260
                    $colorIdxFg = 0x29;
4261
4262
                    break;
4263
                case 'CCFFCC':
4264
                    $colorIdxFg = 0x2A;
4265
4266
                    break;
4267
                case 'FFFF99':
4268
                    $colorIdxFg = 0x2B;
4269
4270
                    break;
4271
                case '99CCFF':
4272
                    $colorIdxFg = 0x2C;
4273
4274
                    break;
4275
                case 'FF99CC':
4276
                    $colorIdxFg = 0x2D;
4277
4278
                    break;
4279
                case 'CC99FF':
4280
                    $colorIdxFg = 0x2E;
4281
4282
                    break;
4283
                case 'FFCC99':
4284
                    $colorIdxFg = 0x2F;
4285
4286
                    break;
4287
                case '3366FF':
4288
                    $colorIdxFg = 0x30;
4289
4290
                    break;
4291
                case '33CCCC':
4292
                    $colorIdxFg = 0x31;
4293
4294
                    break;
4295
                case '99CC00':
4296
                    $colorIdxFg = 0x32;
4297
4298
                    break;
4299
                case 'FFCC00':
4300
                    $colorIdxFg = 0x33;
4301
4302
                    break;
4303
                case 'FF9900':
4304
                    $colorIdxFg = 0x34;
4305
4306
                    break;
4307
                case 'FF6600':
4308
                    $colorIdxFg = 0x35;
4309
4310
                    break;
4311
                case '666699':
4312
                    $colorIdxFg = 0x36;
4313
4314
                    break;
4315
                case '969696':
4316
                    $colorIdxFg = 0x37;
4317
4318
                    break;
4319
                case '003366':
4320
                    $colorIdxFg = 0x38;
4321
4322
                    break;
4323
                case '339966':
4324
                    $colorIdxFg = 0x39;
4325
4326
                    break;
4327
                case '003300':
4328
                    $colorIdxFg = 0x3A;
4329
4330
                    break;
4331
                case '333300':
4332
                    $colorIdxFg = 0x3B;
4333
4334
                    break;
4335
                case '993300':
4336
                    $colorIdxFg = 0x3C;
4337
4338
                    break;
4339
                case '993366':
4340
                    $colorIdxFg = 0x3D;
4341
4342
                    break;
4343
                case '333399':
4344
                    $colorIdxFg = 0x3E;
4345
4346
                    break;
4347
                case '333333':
4348
                    $colorIdxFg = 0x3F;
4349
4350
                    break;
4351
                default:
4352
                          $colorIdxFg = 0x40;
4353
4354
                    break;
4355
            }
4356
            $dataBlockFill = pack('v', $blockFillPatternStyle);
4357
            $dataBlockFill .= pack('v', $colorIdxFg | ($colorIdxBg << 7));
4358
        }