Completed
Pull Request — master (#291)
by Juliette
02:26
created

DeprecatedFunctionsSniff::getErrorMsgTemplate()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
/**
3
 * PHPCompatibility_Sniffs_PHP_DeprecatedFunctionsSniff.
4
 *
5
 * PHP version 7.0
6
 *
7
 * @category  PHP
8
 * @package   PHPCompatibility
9
 * @author    Wim Godden <[email protected]>
10
 */
11
12
/**
13
 * PHPCompatibility_Sniffs_PHP_DeprecatedFunctionsSniff.
14
 *
15
 * @category  PHP
16
 * @package   PHPCompatibility
17
 * @author    Wim Godden <[email protected]>
18
 */
19
class PHPCompatibility_Sniffs_PHP_DeprecatedFunctionsSniff
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
20
    extends PHPCompatibility_AbstractRemovedFeatureSniff
0 ignored issues
show
Coding Style introduced by
The extends keyword must be on the same line as the class name
Loading history...
21
{
22
    /**
23
     * A list of deprecated and removed functions with their alternatives.
24
     *
25
     * The array lists : version number with false (deprecated) or true (removed) and an alternative function.
26
     * If no alternative exists, it is NULL, i.e, the function should just not be used.
27
     *
28
     * @var array(string => array(string => bool|string|null))
29
     */
30
    protected $removedFunctions = array(
31
                                        'php_check_syntax' => array(
32
                                            '5.0.5' => true,
33
                                            'alternative' => null
34
                                        ),
35
                                        'call_user_method' => array(
36
                                            '5.3' => false,
37
                                            '5.4' => false,
38
                                            '5.5' => false,
39
                                            '5.6' => false,
40
                                            '7.0' => true,
41
                                            'alternative' => 'call_user_func'
42
                                        ),
43
                                        'call_user_method_array' => array(
44
                                            '5.3' => false,
45
                                            '5.4' => false,
46
                                            '5.5' => false,
47
                                            '5.6' => false,
48
                                            '7.0' => true,
49
                                            'alternative' => 'call_user_func_array'
50
                                        ),
51
                                        'define_syslog_variables' => array(
52
                                            '5.3' => false,
53
                                            '5.4' => true,
54
                                            '5.5' => true,
55
                                            '5.6' => true,
56
                                            'alternative' => null
57
                                        ),
58
                                        'dl' => array(
59
                                            '5.3' => false,
60
                                            '5.4' => false,
61
                                            '5.5' => false,
62
                                            '5.6' => false,
63
                                            'alternative' => null
64
                                        ),
65
                                        'ereg' => array(
66
                                            '5.3' => false,
67
                                            '5.4' => false,
68
                                            '5.5' => false,
69
                                            '5.6' => false,
70
                                            '7.0' => true,
71
                                            'alternative' => 'preg_match'
72
                                        ),
73
                                        'ereg_replace' => array(
74
                                            '5.3' => false,
75
                                            '5.4' => false,
76
                                            '5.5' => false,
77
                                            '5.6' => false,
78
                                            '7.0' => true,
79
                                            'alternative' => 'preg_replace'
80
                                        ),
81
                                        'eregi' => array(
82
                                            '5.3' => false,
83
                                            '5.4' => false,
84
                                            '5.5' => false,
85
                                            '5.6' => false,
86
                                            '7.0' => true,
87
                                            'alternative' => 'preg_match'
88
                                        ),
89
                                        'eregi_replace' => array(
90
                                            '5.3' => false,
91
                                            '5.4' => false,
92
                                            '5.5' => false,
93
                                            '5.6' => false,
94
                                            '7.0' => true,
95
                                            'alternative' => 'preg_replace'
96
                                        ),
97
                                        'imagepsbbox' => array(
98
                                            '7.0' => true,
99
                                            'alternative' => null
100
                                        ),
101
                                        'imagepsencodefont' => array(
102
                                            '7.0' => true,
103
                                            'alternative' => null
104
                                        ),
105
                                        'imagepsextendfont' => array(
106
                                            '7.0' => true,
107
                                            'alternative' => null
108
                                        ),
109
                                        'imagepsfreefont' => array(
110
                                            '7.0' => true,
111
                                            'alternative' => null
112
                                        ),
113
                                        'imagepsloadfont' => array(
114
                                            '7.0' => true,
115
                                            'alternative' => null
116
                                        ),
117
                                        'imagepsslantfont' => array(
118
                                            '7.0' => true,
119
                                            'alternative' => null
120
                                        ),
121
                                        'imagepstext' => array(
122
                                            '7.0' => true,
123
                                            'alternative' => null
124
                                        ),
125
                                        'import_request_variables' => array(
126
                                            '5.3' => false,
127
                                            '5.4' => true,
128
                                            'alternative' => null
129
                                        ),
130
                                        'ldap_sort' => array(
131
                                            '7.0' => false,
132
                                            'alternative' => null
133
                                        ),
134
                                        'mcrypt_generic_end' => array(
135
                                            '5.4' => false,
136
                                            '5.5' => false,
137
                                            '5.6' => false,
138
                                            '7.0' => true,
139
                                            'alternative' => 'mcrypt_generic_deinit'
140
                                        ),
141
                                        'mysql_db_query' => array(
142
                                            '5.3' => false,
143
                                            '5.4' => false,
144
                                            '5.5' => false,
145
                                            '5.6' => false,
146
                                            '7.0' => true,
147
                                            'alternative' => 'mysqli_select_db and mysqli_query'
148
                                        ),
149
                                        'mysql_escape_string' => array(
150
                                            '5.3' => false,
151
                                            '5.4' => false,
152
                                            '5.5' => false,
153
                                            '5.6' => false,
154
                                            '7.0' => true,
155
                                            'alternative' => 'mysqli_real_escape_string'
156
                                        ),
157
                                        'mysql_list_dbs' => array(
158
                                            '5.4' => false,
159
                                            '5.5' => false,
160
                                            '5.6' => false,
161
                                            '7.0' => true,
162
                                            'alternative' => null
163
                                        ),
164
                                        'mysqli_bind_param' => array(
165
                                            '5.3' => false,
166
                                            '5.4' => true,
167
                                            '5.5' => true,
168
                                            '5.6' => true,
169
                                            'alternative' => 'mysqli_stmt_bind_param'
170
                                        ),
171
                                        'mysqli_bind_result' => array(
172
                                            '5.3' => false,
173
                                            '5.4' => true,
174
                                            '5.5' => true,
175
                                            '5.6' => true,
176
                                            'alternative' => 'mysqli_stmt_bind_result'
177
                                        ),
178
                                        'mysqli_client_encoding' => array(
179
                                            '5.3' => false,
180
                                            '5.4' => true,
181
                                            '5.5' => true,
182
                                            '5.6' => true,
183
                                            'alternative' => 'mysqli_character_set_name'
184
                                        ),
185
                                        'mysqli_fetch' => array(
186
                                            '5.3' => false,
187
                                            '5.4' => true,
188
                                            '5.5' => true,
189
                                            '5.6' => true,
190
                                            'alternative' => 'mysqli_stmt_fetch'
191
                                        ),
192
                                        'mysqli_param_count' => array(
193
                                            '5.3' => false,
194
                                            '5.4' => true,
195
                                            '5.5' => true,
196
                                            '5.6' => true,
197
                                            'alternative' => 'mysqli_stmt_param_count'
198
                                        ),
199
                                        'mysqli_get_metadata' => array(
200
                                            '5.3' => false,
201
                                            '5.4' => true,
202
                                            '5.5' => true,
203
                                            '5.6' => true,
204
                                            'alternative' => 'mysqli_stmt_result_metadata'
205
                                        ),
206
                                        'mysqli_send_long_data' => array(
207
                                            '5.3' => false,
208
                                            '5.4' => true,
209
                                            '5.5' => true,
210
                                            '5.6' => true,
211
                                            'alternative' => 'mysqli_stmt_send_long_data'
212
                                        ),
213
                                        'magic_quotes_runtime' => array(
214
                                            '5.3' => false,
215
                                            '5.4' => false,
216
                                            '5.5' => false,
217
                                            '5.6' => false,
218
                                            '7.0' => true,
219
                                            'alternative' => null
220
                                        ),
221
                                        'session_register' => array(
222
                                            '5.3' => false,
223
                                            '5.4' => true,
224
                                            '5.5' => true,
225
                                            '5.6' => true,
226
                                            'alternative' => '$_SESSION'
227
                                        ),
228
                                        'session_unregister' => array(
229
                                            '5.3' => false,
230
                                            '5.4' => true,
231
                                            '5.5' => true,
232
                                            '5.6' => true,
233
                                            'alternative' => '$_SESSION'
234
                                        ),
235
                                        'session_is_registered' => array(
236
                                            '5.3' => false,
237
                                            '5.4' => true,
238
                                            '5.5' => true,
239
                                            '5.6' => true,
240
                                            'alternative' => '$_SESSION'
241
                                        ),
242
                                        'set_magic_quotes_runtime' => array(
243
                                            '5.3' => false,
244
                                            '5.4' => false,
245
                                            '5.5' => false,
246
                                            '5.6' => false,
247
                                            '7.0' => true,
248
                                            'alternative' => null
249
                                        ),
250
                                        'set_socket_blocking' => array(
251
                                            '5.3' => false,
252
                                            '5.4' => false,
253
                                            '5.5' => false,
254
                                            '5.6' => false,
255
                                            '7.0' => true,
256
                                            'alternative' => 'stream_set_blocking'
257
                                        ),
258
                                        'split' => array(
259
                                            '5.3' => false,
260
                                            '5.4' => false,
261
                                            '5.5' => false,
262
                                            '5.6' => false,
263
                                            '7.0' => true,
264
                                            'alternative' => 'preg_split'
265
                                        ),
266
                                        'spliti' => array(
267
                                            '5.3' => false,
268
                                            '5.4' => false,
269
                                            '5.5' => false,
270
                                            '5.6' => false,
271
                                            '7.0' => true,
272
                                            'alternative' => 'preg_split'
273
                                        ),
274
                                        'sql_regcase' => array(
275
                                            '5.3' => false,
276
                                            '5.4' => false,
277
                                            '5.5' => false,
278
                                            '5.6' => false,
279
                                            '7.0' => true,
280
                                            'alternative' => null
281
                                        ),
282
                                        'php_logo_guid' => array(
283
                                            '5.5' => true,
284
                                            '5.6' => true,
285
                                            'alternative' => null
286
                                        ),
287
                                        'php_egg_logo_guid' => array(
288
                                            '5.5' => true,
289
                                            '5.6' => true,
290
                                            'alternative' => null
291
                                        ),
292
                                        'php_real_logo_guid' => array(
293
                                            '5.5' => true,
294
                                            '5.6' => true,
295
                                            'alternative' => null
296
                                        ),
297
                                        'zend_logo_guid' => array(
298
                                            '5.5' => true,
299
                                            '5.6' => true,
300
                                            'alternative' => null
301
                                        ),
302
                                        'datefmt_set_timezone_id' => array(
303
                                            '5.5' => false,
304
                                            '5.6' => false,
305
                                            '7.0' => true,
306
                                            'alternative' => 'datefmt_set_timezone'
307
                                        ),
308
                                        'mcrypt_ecb' => array(
309
                                            '5.5' => false,
310
                                            '5.6' => false,
311
                                            '7.0' => true,
312
                                            'alternative' => null
313
                                        ),
314
                                        'mcrypt_cbc' => array(
315
                                            '5.5' => false,
316
                                            '5.6' => false,
317
                                            '7.0' => true,
318
                                            'alternative' => null
319
                                        ),
320
                                        'mcrypt_cfb' => array(
321
                                            '5.5' => false,
322
                                            '5.6' => false,
323
                                            '7.0' => true,
324
                                            'alternative' => null
325
                                        ),
326
                                        'mcrypt_ofb' => array(
327
                                            '5.5' => false,
328
                                            '5.6' => false,
329
                                            '7.0' => true,
330
                                            'alternative' => null
331
                                        ),
332
                                        'ocibindbyname' => array(
333
                                            '5.4' => false,
334
                                            '5.5' => false,
335
                                            '5.6' => false,
336
                                            'alternative' => 'oci_bind_by_name'
337
                                        ),
338
                                        'ocicancel' => array(
339
                                            '5.4' => false,
340
                                            '5.5' => false,
341
                                            '5.6' => false,
342
                                            'alternative' => 'oci_cancel'
343
                                        ),
344
                                        'ocicloselob' => array(
345
                                            '5.4' => false,
346
                                            '5.5' => false,
347
                                            '5.6' => false,
348
                                            'alternative' => 'OCI-Lob::close'
349
                                        ),
350
                                        'ocicollappend' => array(
351
                                            '5.4' => false,
352
                                            '5.5' => false,
353
                                            '5.6' => false,
354
                                            'alternative' => 'OCI-Collection::append'
355
                                        ),
356
                                        'ocicollassign' => array(
357
                                            '5.4' => false,
358
                                            '5.5' => false,
359
                                            '5.6' => false,
360
                                            'alternative' => 'OCI-Collection::assign'
361
                                        ),
362
                                        'ocicollassignelem' => array(
363
                                            '5.4' => false,
364
                                            '5.5' => false,
365
                                            '5.6' => false,
366
                                            'alternative' => 'OCI-Collection::assignElem'
367
                                        ),
368
                                        'ocicollgetelem' => array(
369
                                            '5.4' => false,
370
                                            '5.5' => false,
371
                                            '5.6' => false,
372
                                            'alternative' => 'OCI-Collection::getElem'
373
                                        ),
374
                                        'ocicollmax' => array(
375
                                            '5.4' => false,
376
                                            '5.5' => false,
377
                                            '5.6' => false,
378
                                            'alternative' => 'OCI-Collection::max'
379
                                        ),
380
                                        'ocicollsize' => array(
381
                                            '5.4' => false,
382
                                            '5.5' => false,
383
                                            '5.6' => false,
384
                                            'alternative' => 'OCI-Collection::size'
385
                                        ),
386
                                        'ocicolltrim' => array(
387
                                            '5.4' => false,
388
                                            '5.5' => false,
389
                                            '5.6' => false,
390
                                            'alternative' => 'OCI-Collection::trim'
391
                                        ),
392
                                        'ocicolumnisnull' => array(
393
                                            '5.4' => false,
394
                                            '5.5' => false,
395
                                            '5.6' => false,
396
                                            'alternative' => 'oci_field_is_null'
397
                                        ),
398
                                        'ocicolumnname' => array(
399
                                            '5.4' => false,
400
                                            '5.5' => false,
401
                                            '5.6' => false,
402
                                            'alternative' => 'oci_field_name'
403
                                        ),
404
                                        'ocicolumnprecision' => array(
405
                                            '5.4' => false,
406
                                            '5.5' => false,
407
                                            '5.6' => false,
408
                                            'alternative' => 'oci_field_precision'
409
                                        ),
410
                                        'ocicolumnscale' => array(
411
                                            '5.4' => false,
412
                                            '5.5' => false,
413
                                            '5.6' => false,
414
                                            'alternative' => 'oci_field_scale'
415
                                        ),
416
                                        'ocicolumnsize' => array(
417
                                            '5.4' => false,
418
                                            '5.5' => false,
419
                                            '5.6' => false,
420
                                            'alternative' => 'oci_field_size'
421
                                        ),
422
                                        'ocicolumntype' => array(
423
                                            '5.4' => false,
424
                                            '5.5' => false,
425
                                            '5.6' => false,
426
                                            'alternative' => 'oci_field_type'
427
                                        ),
428
                                        'ocicolumntyperaw' => array(
429
                                            '5.4' => false,
430
                                            '5.5' => false,
431
                                            '5.6' => false,
432
                                            'alternative' => 'oci_field_type_raw'
433
                                        ),
434
                                        'ocicommit' => array(
435
                                            '5.4' => false,
436
                                            '5.5' => false,
437
                                            '5.6' => false,
438
                                            'alternative' => 'oci_commit'
439
                                        ),
440
                                        'ocidefinebyname' => array(
441
                                            '5.4' => false,
442
                                            '5.5' => false,
443
                                            '5.6' => false,
444
                                            'alternative' => 'oci_define_by_name'
445
                                        ),
446
                                        'ocierror' => array(
447
                                            '5.4' => false,
448
                                            '5.5' => false,
449
                                            '5.6' => false,
450
                                            'alternative' => 'oci_error'
451
                                        ),
452
                                        'ociexecute' => array(
453
                                            '5.4' => false,
454
                                            '5.5' => false,
455
                                            '5.6' => false,
456
                                            'alternative' => 'oci_execute'
457
                                        ),
458
                                        'ocifetch' => array(
459
                                            '5.4' => false,
460
                                            '5.5' => false,
461
                                            '5.6' => false,
462
                                            'alternative' => 'oci_fetch'
463
                                        ),
464
                                        'ocifetchinto' => array(
465
                                            '5.4' => false,
466
                                            '5.5' => false,
467
                                            '5.6' => false,
468
                                            'alternative' => null
469
                                        ),
470
                                        'ocifetchstatement' => array(
471
                                            '5.4' => false,
472
                                            '5.5' => false,
473
                                            '5.6' => false,
474
                                            'alternative' => 'oci_fetch_all'
475
                                        ),
476
                                        'ocifreecollection' => array(
477
                                            '5.4' => false,
478
                                            '5.5' => false,
479
                                            '5.6' => false,
480
                                            'alternative' => 'OCI-Collection::free'
481
                                        ),
482
                                        'ocifreecursor' => array(
483
                                            '5.4' => false,
484
                                            '5.5' => false,
485
                                            '5.6' => false,
486
                                            'alternative' => 'oci_free_statement'
487
                                        ),
488
                                        'ocifreedesc' => array(
489
                                            '5.4' => false,
490
                                            '5.5' => false,
491
                                            '5.6' => false,
492
                                            'alternative' => 'OCI-Lob::free'
493
                                        ),
494
                                        'ocifreestatement' => array(
495
                                            '5.4' => false,
496
                                            '5.5' => false,
497
                                            '5.6' => false,
498
                                            'alternative' => 'oci_free_statement'
499
                                        ),
500
                                        'ociinternaldebug' => array(
501
                                            '5.4' => false,
502
                                            '5.5' => false,
503
                                            '5.6' => false,
504
                                            'alternative' => 'oci_internal_debug'
505
                                        ),
506
                                        'ociloadlob' => array(
507
                                            '5.4' => false,
508
                                            '5.5' => false,
509
                                            '5.6' => false,
510
                                            'alternative' => 'OCI-Lob::load'
511
                                        ),
512
                                        'ocilogoff' => array(
513
                                            '5.4' => false,
514
                                            '5.5' => false,
515
                                            '5.6' => false,
516
                                            'alternative' => 'oci_close'
517
                                        ),
518
                                        'ocilogon' => array(
519
                                            '5.4' => false,
520
                                            '5.5' => false,
521
                                            '5.6' => false,
522
                                            'alternative' => 'oci_connect'
523
                                        ),
524
                                        'ocinewcollection' => array(
525
                                            '5.4' => false,
526
                                            '5.5' => false,
527
                                            '5.6' => false,
528
                                            'alternative' => 'oci_new_collection'
529
                                        ),
530
                                        'ocinewcursor' => array(
531
                                            '5.4' => false,
532
                                            '5.5' => false,
533
                                            '5.6' => false,
534
                                            'alternative' => 'oci_new_cursor'
535
                                        ),
536
                                        'ocinewdescriptor' => array(
537
                                            '5.4' => false,
538
                                            '5.5' => false,
539
                                            '5.6' => false,
540
                                            'alternative' => 'oci_new_descriptor'
541
                                        ),
542
                                        'ocinlogon' => array(
543
                                            '5.4' => false,
544
                                            '5.5' => false,
545
                                            '5.6' => false,
546
                                            'alternative' => 'oci_new_connect'
547
                                        ),
548
                                        'ocinumcols' => array(
549
                                            '5.4' => false,
550
                                            '5.5' => false,
551
                                            '5.6' => false,
552
                                            'alternative' => 'oci_num_fields'
553
                                        ),
554
                                        'ociparse' => array(
555
                                            '5.4' => false,
556
                                            '5.5' => false,
557
                                            '5.6' => false,
558
                                            'alternative' => 'oci_parse'
559
                                        ),
560
                                        'ociplogon' => array(
561
                                            '5.4' => false,
562
                                            '5.5' => false,
563
                                            '5.6' => false,
564
                                            'alternative' => 'oci_pconnect'
565
                                        ),
566
                                        'ociresult' => array(
567
                                            '5.4' => false,
568
                                            '5.5' => false,
569
                                            '5.6' => false,
570
                                            'alternative' => 'oci_result'
571
                                        ),
572
                                        'ocirollback' => array(
573
                                            '5.4' => false,
574
                                            '5.5' => false,
575
                                            '5.6' => false,
576
                                            'alternative' => 'oci_rollback'
577
                                        ),
578
                                        'ocirowcount' => array(
579
                                            '5.4' => false,
580
                                            '5.5' => false,
581
                                            '5.6' => false,
582
                                            'alternative' => 'oci_num_rows'
583
                                        ),
584
                                        'ocisavelob' => array(
585
                                            '5.4' => false,
586
                                            '5.5' => false,
587
                                            '5.6' => false,
588
                                            'alternative' => 'OCI-Lob::save'
589
                                        ),
590
                                        'ocisavelobfile' => array(
591
                                            '5.4' => false,
592
                                            '5.5' => false,
593
                                            '5.6' => false,
594
                                            'alternative' => 'OCI-Lob::import'
595
                                        ),
596
                                        'ociserverversion' => array(
597
                                            '5.4' => false,
598
                                            '5.5' => false,
599
                                            '5.6' => false,
600
                                            'alternative' => 'oci_server_version'
601
                                        ),
602
                                        'ocisetprefetch' => array(
603
                                            '5.4' => false,
604
                                            '5.5' => false,
605
                                            '5.6' => false,
606
                                            'alternative' => 'oci_set_prefetch'
607
                                        ),
608
                                        'ocistatementtype' => array(
609
                                            '5.4' => false,
610
                                            '5.5' => false,
611
                                            '5.6' => false,
612
                                            'alternative' => 'oci_statement_type'
613
                                        ),
614
                                        'ociwritelobtofile' => array(
615
                                            '5.4' => false,
616
                                            '5.5' => false,
617
                                            '5.6' => false,
618
                                            'alternative' => 'OCI-Lob::export'
619
                                        ),
620
                                        'ociwritetemporarylob' => array(
621
                                            '5.4' => false,
622
                                            '5.5' => false,
623
                                            '5.6' => false,
624
                                            'alternative' => 'OCI-Lob::writeTemporary'
625
                                        ),
626
                                        'mysqli_get_cache_stats' => array(
627
                                            '5.4' => true,
628
                                            'alternative' => null
629
                                        ),
630
631
                                        'mcrypt_create_iv' => array(
632
                                            '7.1' => false,
633
                                            'alternative' => 'OpenSSL'
634
                                        ),
635
                                        'mcrypt_decrypt' => array(
636
                                            '7.1' => false,
637
                                            'alternative' => 'OpenSSL'
638
                                        ),
639
                                        'mcrypt_enc_get_algorithms_name' => array(
640
                                            '7.1' => false,
641
                                            'alternative' => 'OpenSSL'
642
                                        ),
643
                                        'mcrypt_enc_get_block_size' => array(
644
                                            '7.1' => false,
645
                                            'alternative' => 'OpenSSL'
646
                                        ),
647
                                        'mcrypt_enc_get_iv_size' => array(
648
                                            '7.1' => false,
649
                                            'alternative' => 'OpenSSL'
650
                                        ),
651
                                        'mcrypt_enc_get_key_size' => array(
652
                                            '7.1' => false,
653
                                            'alternative' => 'OpenSSL'
654
                                        ),
655
                                        'mcrypt_enc_get_modes_name' => array(
656
                                            '7.1' => false,
657
                                            'alternative' => 'OpenSSL'
658
                                        ),
659
                                        'mcrypt_enc_get_supported_key_sizes' => array(
660
                                            '7.1' => false,
661
                                            'alternative' => 'OpenSSL'
662
                                        ),
663
                                        'mcrypt_enc_is_block_algorithm_mode' => array(
664
                                            '7.1' => false,
665
                                            'alternative' => 'OpenSSL'
666
                                        ),
667
                                        'mcrypt_enc_is_block_algorithm' => array(
668
                                            '7.1' => false,
669
                                            'alternative' => 'OpenSSL'
670
                                        ),
671
                                        'mcrypt_enc_is_block_mode' => array(
672
                                            '7.1' => false,
673
                                            'alternative' => 'OpenSSL'
674
                                        ),
675
                                        'mcrypt_enc_self_test' => array(
676
                                            '7.1' => false,
677
                                            'alternative' => 'OpenSSL'
678
                                        ),
679
                                        'mcrypt_encrypt' => array(
680
                                            '7.1' => false,
681
                                            'alternative' => 'OpenSSL'
682
                                        ),
683
                                        'mcrypt_generic_deinit' => array(
684
                                            '7.1' => false,
685
                                            'alternative' => 'OpenSSL'
686
                                        ),
687
                                        'mcrypt_generic_init' => array(
688
                                            '7.1' => false,
689
                                            'alternative' => 'OpenSSL'
690
                                        ),
691
                                        'mcrypt_generic' => array(
692
                                            '7.1' => false,
693
                                            'alternative' => 'OpenSSL'
694
                                        ),
695
                                        'mcrypt_get_block_size' => array(
696
                                            '7.1' => false,
697
                                            'alternative' => 'OpenSSL'
698
                                        ),
699
                                        'mcrypt_get_cipher_name' => array(
700
                                            '7.1' => false,
701
                                            'alternative' => 'OpenSSL'
702
                                        ),
703
                                        'mcrypt_get_iv_size' => array(
704
                                            '7.1' => false,
705
                                            'alternative' => 'OpenSSL'
706
                                        ),
707
                                        'mcrypt_get_key_size' => array(
708
                                            '7.1' => false,
709
                                            'alternative' => 'OpenSSL'
710
                                        ),
711
                                        'mcrypt_list_algorithms' => array(
712
                                            '7.1' => false,
713
                                            'alternative' => 'OpenSSL'
714
                                        ),
715
                                        'mcrypt_list_modes' => array(
716
                                            '7.1' => false,
717
                                            'alternative' => 'OpenSSL'
718
                                        ),
719
                                        'mcrypt_module_close' => array(
720
                                            '7.1' => false,
721
                                            'alternative' => 'OpenSSL'
722
                                        ),
723
                                        'mcrypt_module_get_algo_block_size' => array(
724
                                            '7.1' => false,
725
                                            'alternative' => 'OpenSSL'
726
                                        ),
727
                                        'mcrypt_module_get_algo_key_size' => array(
728
                                            '7.1' => false,
729
                                            'alternative' => 'OpenSSL'
730
                                        ),
731
                                        'mcrypt_module_get_supported_key_sizes' => array(
732
                                            '7.1' => false,
733
                                            'alternative' => 'OpenSSL'
734
                                        ),
735
                                        'mcrypt_module_is_block_algorithm_mode' => array(
736
                                            '7.1' => false,
737
                                            'alternative' => 'OpenSSL'
738
                                        ),
739
                                        'mcrypt_module_is_block_algorithm' => array(
740
                                            '7.1' => false,
741
                                            'alternative' => 'OpenSSL'
742
                                        ),
743
                                        'mcrypt_module_is_block_mode' => array(
744
                                            '7.1' => false,
745
                                            'alternative' => 'OpenSSL'
746
                                        ),
747
                                        'mcrypt_module_open' => array(
748
                                            '7.1' => false,
749
                                            'alternative' => 'OpenSSL'
750
                                        ),
751
                                        'mcrypt_module_self_test' => array(
752
                                            '7.1' => false,
753
                                            'alternative' => 'OpenSSL'
754
                                        ),
755
                                        'mdecrypt_generic' => array(
756
                                            '7.1' => false,
757
                                            'alternative' => 'OpenSSL'
758
                                        ),
759
                                    );
760
761
762
    /**
763
     * Returns an array of tokens this test wants to listen for.
764
     *
765
     * @return array
766
     */
767
    public function register()
768
    {
769
        // Handle case-insensitivity of function names.
770
        $this->removedFunctions = $this->arrayKeysToLowercase($this->removedFunctions);
771
772
        return array(T_STRING);
773
774
    }//end register()
775
776
777
    /**
778
     * Processes this test, when one of its tokens is encountered.
779
     *
780
     * @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
781
     * @param int                  $stackPtr  The position of the current token in
782
     *                                        the stack passed in $tokens.
783
     *
784
     * @return void
785
     */
786
    public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
787
    {
788
        $tokens = $phpcsFile->getTokens();
789
790
        $ignore = array(
791
                T_DOUBLE_COLON,
792
                T_OBJECT_OPERATOR,
793
                T_FUNCTION,
794
                T_CONST,
795
                T_USE,
796
                T_NS_SEPARATOR,
797
        );
798
799
        $prevToken = $phpcsFile->findPrevious(T_WHITESPACE, ($stackPtr - 1), null, true);
800
        if (in_array($tokens[$prevToken]['code'], $ignore) === true) {
801
            // Not a call to a PHP function.
802
            return;
803
        }
804
805
        $function   = $tokens[$stackPtr]['content'];
806
        $functionLc = strtolower($function);
807
808
        if (isset($this->removedFunctions[$functionLc]) === false) {
809
            return;
810
        }
811
812
        $itemInfo = array(
813
            'name'   => $function,
814
            'nameLc' => $functionLc,
815
        );
816
        $this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
817
818
    }//end process()
819
820
821
    /**
822
     * Get the relevant sub-array for a specific item from a multi-dimensional array.
823
     *
824
     * @param array $itemInfo Base information about the item.
825
     *
826
     * @return array Version and other information about the item.
827
     */
828
    public function getItemArray(array $itemInfo)
829
    {
830
        return $this->removedFunctions[$itemInfo['nameLc']];
831
    }
832
833
834
    /**
835
     * Get the error message template for this sniff.
836
     *
837
     * @return string
838
     */
839
    protected function getErrorMsgTemplate()
840
    {
841
        return 'Function %s() is ';
842
    }
843
844
845
}//end class
846