Code Duplication    Length = 230-230 lines in 3 locations

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

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