Code Duplication    Length = 17-18 lines in 5 locations

src/plugins/onTick/notifications.php 5 locations

@@ 176-192 (lines=17) @@
173
                        case 4: // alliance bill
174
                            $msg = 'skip';
175
                            break;
176
                        case 5: // War Declared
177
                            preg_match('/(?<=againstID: )\S+/i', $notificationString, $defAllianceID);
178
                            $defAllianceName = allianceName($defAllianceID[0]);
179
                            if ($defAllianceName === '' || ' ' || null) {
180
                                $defAllianceName = corpName($defAllianceID[0]);
181
                            }
182
                            preg_match('/(?<=declaredByID: )\S+/i', $notificationString, $aggAllianceID);
183
                            $aggAllianceName = allianceName($aggAllianceID[0]);
184
                            if ($aggAllianceName === '' || ' ' || null) {
185
                                $aggAllianceName = corpName($aggAllianceID[0]);
186
                            }
187
                            if ($aggAllianceName === null || '' || $defAllianceName === null || '') {
188
                                $msg = '@everyone | War declared. Fighting begins in roughly 24 hours.';
189
                            } else {
190
                                $msg = "@everyone | War declared by {$aggAllianceName} against {$defAllianceName}. Fighting begins in roughly 24 hours.";
191
                            }
192
                            break;
193
                        case 6: // Corp joins war (Not enough info in api to say who the 3rd party is)
194
                            $defAllianceID = trim(explode(': ', $notificationArray[0])[1]);
195
                            $aggAllianceID = trim(explode(': ', $notificationArray[2])[1]);
@@ 207-223 (lines=17) @@
204
                            $aggCorpName = corpName($aggCorpID);
205
                            $msg = "@everyone | War declared by {$aggCorpName} against {$defCorpName}. Fighting begins in roughly 24 hours.";
206
                            break;
207
                        case 8: // Alliance war invalidated by CONCORD
208
                            preg_match('/(?<=againstID: )\S+/i', $notificationString, $defAllianceID);
209
                            $defAllianceName = allianceName($defAllianceID[0]);
210
                            if ($defAllianceName === 'Unknown' || '' || ' ' || null) {
211
                                $defAllianceName = corpName($defAllianceID[0]);
212
                            }
213
                            preg_match('/(?<=declaredByID: )\S+/i', $notificationString, $aggAllianceID);
214
                            $aggAllianceName = allianceName($aggAllianceID[0]);
215
                            if ($aggAllianceName === 'Unknown' || '' || ' ' || null) {
216
                                $aggAllianceName = corpName($aggAllianceID[0]);
217
                            }
218
                            if ($aggAllianceName === null || '' || $defAllianceName === null || '') {
219
                                $msg = 'The war has been invalidated. Fighting ends in roughly 24 hours.';
220
                            } else {
221
                                $msg = "The war between {$aggAllianceName} and {$defAllianceName} has been invalidated. Fighting ends in roughly 24 hours.";
222
                            }
223
                            break;
224
                        case 9: // Pilot bill
225
                            $msg = 'skip';
226
                            break;
@@ 279-296 (lines=18) @@
276
                        case 25: // corp vote
277
                            $msg = 'skip';
278
                            break;
279
                        case 27: // Corp declares war
280
                            preg_match('/(?<=againstID: )\S+/i', $notificationString, $defAllianceID);
281
                            $defAllianceName = allianceName($defAllianceID[0]);
282
                            if ($defAllianceName === '' || ' ' || null) {
283
                                $defAllianceName = corpName($defAllianceID[0]);
284
                            }
285
                            preg_match('/(?<=declaredByID: )\S+/i', $notificationString, $aggAllianceID);
286
                            $aggAllianceName = allianceName($aggAllianceID[0]);
287
                            if ($aggAllianceName === '' || ' ' || null) {
288
                                $aggAllianceName = corpName($aggAllianceID[0]);
289
                            }
290
                            if ($aggAllianceName === null || '' || $defAllianceName === null || '') {
291
                                $msg = '@everyone | War declared. Fighting begins in roughly 24 hours.';
292
                            } else {
293
                                $msg = "**{$aggAllianceName}** has declared war on **{$defAllianceName}**.
294
Within 24 hours fighting can legally occur between those involved. If war is due to a corporation at war joining or leaving an alliance, then the war starts immediately instead.";
295
                            }
296
                            break;
297
                        case 29: // War Surrender
298
                            preg_match('/(?<=againstID: )\S+/i', $notificationString, $defCorpID);
299
                            $defCorpName = allianceName($defCorpID[0]);
@@ 297-313 (lines=17) @@
294
Within 24 hours fighting can legally occur between those involved. If war is due to a corporation at war joining or leaving an alliance, then the war starts immediately instead.";
295
                            }
296
                            break;
297
                        case 29: // War Surrender
298
                            preg_match('/(?<=againstID: )\S+/i', $notificationString, $defCorpID);
299
                            $defCorpName = allianceName($defCorpID[0]);
300
                            if ($defCorpName === '' || ' ' || null) {
301
                                $defCorpName = corpName($defCorpID[0]);
302
                            }
303
                            preg_match('/(?<=declaredByID: )\S+/i', $notificationString, $aggCorpID);
304
                            $aggCorpName = allianceName($aggCorpID[0]);
305
                            if ($aggCorpName === '' || ' ' || null) {
306
                                $aggCorpName = corpName($aggCorpID[0]);
307
                            }
308
                            if ($aggCorpName === null || '' || $defCorpName === null || '') {
309
                                $msg = 'A war has ended. Fighting ends in roughly 24 hours.';
310
                            } else {
311
                                $msg = "The war between **{$aggCorpName}** and **{$defCorpName}** has ended. Fighting ends in roughly 24 hours.";
312
                            }
313
                            break;
314
                        case 30: // Corp retracts war
315
                            preg_match('/(?<=againstID: )\S+/i', $notificationString, $defAllianceID);
316
                            $defAllianceName = allianceName($defAllianceID[0]);
@@ 314-330 (lines=17) @@
311
                                $msg = "The war between **{$aggCorpName}** and **{$defCorpName}** has ended. Fighting ends in roughly 24 hours.";
312
                            }
313
                            break;
314
                        case 30: // Corp retracts war
315
                            preg_match('/(?<=againstID: )\S+/i', $notificationString, $defAllianceID);
316
                            $defAllianceName = allianceName($defAllianceID[0]);
317
                            if ($defAllianceName === '' || ' ' || null) {
318
                                $defAllianceName = corpName($defAllianceID[0]);
319
                            }
320
                            preg_match('/(?<=declaredByID: )\S+/i', $notificationString, $aggAllianceID);
321
                            $aggAllianceName = allianceName($aggAllianceID[0]);
322
                            if ($aggAllianceName === '' || ' ' || null) {
323
                                $aggAllianceName = corpName($aggAllianceID[0]);
324
                            }
325
                            if ($aggAllianceName === null || '' || $defAllianceName === null || '') {
326
                                $msg = '@everyone | War has been retracted.  Fighting ends in roughly 24 hours.';
327
                            } else {
328
                                $msg = "The war between **{$aggAllianceName}** and **{$defAllianceName}** is coming to an end. **{$aggAllianceName}** has retracted the war against **{$defAllianceName}**. The war will be declared as being over after approximately 24 hours.";
329
                            }
330
                            break;
331
                        case 31: // Alliance war invalidated by CONCORD
332
                            $aggAllianceID = trim(explode(': ', $notificationArray[2])[1]);
333
                            $aggAllianceName = allianceName($aggAllianceID);