Completed
Push — master ( a32632...c637b7 )
by Juliette
9s
created

DeprecatedFunctionsSniff::addError()   D

Complexity

Conditions 9
Paths 30

Size

Total Lines 38
Code Lines 24

Duplication

Lines 16
Ratio 42.11 %

Importance

Changes 0
Metric Value
dl 16
loc 38
rs 4.909
c 0
b 0
f 0
cc 9
eloc 24
nc 30
nop 3

1 Method

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