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

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_NewFunctionsSniff.
4
 *
5
 * @category  PHP
6
 * @package   PHPCompatibility
7
 * @author    Wim Godden <[email protected]>
8
 */
9
10
/**
11
 * PHPCompatibility_Sniffs_PHP_newFunctionsSniff.
12
 *
13
 * @category  PHP
14
 * @package   PHPCompatibility
15
 * @author    Wim Godden <[email protected]>
16
 */
17
class PHPCompatibility_Sniffs_PHP_NewFunctionsSniff
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...
18
    extends PHPCompatibility_AbstractNewFeatureSniff
0 ignored issues
show
Coding Style introduced by
The extends keyword must be on the same line as the class name
Loading history...
19
{
20
    /**
21
     * A list of new functions, not present in older versions.
22
     *
23
     * The array lists : version number with false (not present) or true (present).
24
     * If's sufficient to list the first version where the function appears.
25
     *
26
     * @var array(string => array(string => int|string|null))
27
     */
28
    protected $newFunctions = array(
29
                                        'array_fill_keys' => array(
30
                                            '5.1' => false,
31
                                            '5.2' => true
32
                                        ),
33
                                        'error_get_last' => array(
34
                                            '5.1' => false,
35
                                            '5.2' => true
36
                                        ),
37
                                        'image_type_to_extension' => array(
38
                                            '5.1' => false,
39
                                            '5.2' => true
40
                                        ),
41
                                        'memory_get_peak_usage' => array(
42
                                            '5.1' => false,
43
                                            '5.2' => true
44
                                        ),
45
                                        'sys_get_temp_dir' => array(
46
                                            '5.1' => false,
47
                                            '5.2' => true
48
                                        ),
49
                                        'timezone_abbreviations_list' => array(
50
                                            '5.1' => false,
51
                                            '5.2' => true
52
                                        ),
53
                                        'timezone_identifiers_list' => array(
54
                                            '5.1' => false,
55
                                            '5.2' => true
56
                                        ),
57
                                        'timezone_name_from_abbr' => array(
58
                                            '5.1' => false,
59
                                            '5.2' => true
60
                                        ),
61
                                        'stream_socket_shutdown' => array(
62
                                            '5.1' => false,
63
                                            '5.2' => true
64
                                        ),
65
                                        'imagegrabscreen' => array(
66
                                            '5.1' => false,
67
                                            '5.2' => true
68
                                        ),
69
                                        'imagegrabwindow' => array(
70
                                            '5.1' => false,
71
                                            '5.2' => true
72
                                        ),
73
                                        'libxml_disable_entity_loader' => array(
74
                                            '5.1' => false,
75
                                            '5.2' => true
76
                                        ),
77
                                        'mb_stripos' => array(
78
                                            '5.1' => false,
79
                                            '5.2' => true
80
                                        ),
81
                                        'mb_stristr' => array(
82
                                            '5.1' => false,
83
                                            '5.2' => true
84
                                        ),
85
                                        'mb_strrchr' => array(
86
                                            '5.1' => false,
87
                                            '5.2' => true
88
                                        ),
89
                                        'mb_strrichr' => array(
90
                                            '5.1' => false,
91
                                            '5.2' => true
92
                                        ),
93
                                        'mb_strripos' => array(
94
                                            '5.1' => false,
95
                                            '5.2' => true
96
                                        ),
97
                                        'ming_setSWFCompression' => array(
98
                                            '5.1' => false,
99
                                            '5.2' => true
100
                                        ),
101
                                        'openssl_csr_get_public_key' => array(
102
                                            '5.1' => false,
103
                                            '5.2' => true
104
                                        ),
105
                                        'openssl_csr_get_subject' => array(
106
                                            '5.1' => false,
107
                                            '5.2' => true
108
                                        ),
109
                                        'openssl_pkey_get_details' => array(
110
                                            '5.1' => false,
111
                                            '5.2' => true
112
                                        ),
113
                                        'spl_object_hash' => array(
114
                                            '5.1' => false,
115
                                            '5.2' => true
116
                                        ),
117
                                        'iterator_apply' => array(
118
                                            '5.1' => false,
119
                                            '5.2' => true
120
                                        ),
121
                                        'preg_last_error' => array(
122
                                            '5.1' => false,
123
                                            '5.2' => true
124
                                        ),
125
                                        'pg_field_table' => array(
126
                                            '5.1' => false,
127
                                            '5.2' => true
128
                                        ),
129
                                        'posix_initgroups' => array(
130
                                            '5.1' => false,
131
                                            '5.2' => true
132
                                        ),
133
                                        'gmp_nextprime' => array(
134
                                            '5.1' => false,
135
                                            '5.2' => true
136
                                        ),
137
                                        'xmlwriter_full_end_element' => array(
138
                                            '5.1' => false,
139
                                            '5.2' => true
140
                                        ),
141
                                        'xmlwriter_write_raw' => array(
142
                                            '5.1' => false,
143
                                            '5.2' => true
144
                                        ),
145
                                        'xmlwriter_start_dtd_entity' => array(
146
                                            '5.1' => false,
147
                                            '5.2' => true
148
                                        ),
149
                                        'xmlwriter_end_dtd_entity' => array(
150
                                            '5.1' => false,
151
                                            '5.2' => true
152
                                        ),
153
                                        'xmlwriter_write_dtd_entity' => array(
154
                                            '5.1' => false,
155
                                            '5.2' => true
156
                                        ),
157
                                        'filter_has_var' => array(
158
                                            '5.1' => false,
159
                                            '5.2' => true
160
                                        ),
161
                                        'filter_id' => array(
162
                                            '5.1' => false,
163
                                            '5.2' => true
164
                                        ),
165
                                        'filter_input_array' => array(
166
                                            '5.1' => false,
167
                                            '5.2' => true
168
                                        ),
169
                                        'filter_input' => array(
170
                                            '5.1' => false,
171
                                            '5.2' => true
172
                                        ),
173
                                        'filter_list' => array(
174
                                            '5.1' => false,
175
                                            '5.2' => true
176
                                        ),
177
                                        'filter_var_array' => array(
178
                                            '5.1' => false,
179
                                            '5.2' => true
180
                                        ),
181
                                        'filter_var' => array(
182
                                            '5.1' => false,
183
                                            '5.2' => true
184
                                        ),
185
                                        'json_decode' => array(
186
                                            '5.1' => false,
187
                                            '5.2' => true
188
                                        ),
189
                                        'json_encode' => array(
190
                                            '5.1' => false,
191
                                            '5.2' => true
192
                                        ),
193
                                        'zip_close' => array(
194
                                            '5.1' => false,
195
                                            '5.2' => true
196
                                        ),
197
                                        'zip_entry_close' => array(
198
                                            '5.1' => false,
199
                                            '5.2' => true
200
                                        ),
201
                                        'zip_entry_compressedsize' => array(
202
                                            '5.1' => false,
203
                                            '5.2' => true
204
                                        ),
205
                                        'zip_entry_compressionmethod' => array(
206
                                            '5.1' => false,
207
                                            '5.2' => true
208
                                        ),
209
                                        'zip_entry_filesize' => array(
210
                                            '5.1' => false,
211
                                            '5.2' => true
212
                                        ),
213
                                        'zip_entry_name' => array(
214
                                            '5.1' => false,
215
                                            '5.2' => true
216
                                        ),
217
                                        'zip_entry_open' => array(
218
                                            '5.1' => false,
219
                                            '5.2' => true
220
                                        ),
221
                                        'zip_entry_read' => array(
222
                                            '5.1' => false,
223
                                            '5.2' => true
224
                                        ),
225
                                        'zip_open' => array(
226
                                            '5.1' => false,
227
                                            '5.2' => true
228
                                        ),
229
                                        'zip_read' => array(
230
                                            '5.1' => false,
231
                                            '5.2' => true
232
                                        ),
233
234
                                        'array_replace' => array(
235
                                            '5.2' => false,
236
                                            '5.3' => true
237
                                        ),
238
                                        'array_replace_recursive' => array(
239
                                            '5.2' => false,
240
                                            '5.3' => true
241
                                        ),
242
                                        'class_alias' => array(
243
                                            '5.2' => false,
244
                                            '5.3' => true
245
                                        ),
246
                                        'forward_static_call' => array(
247
                                            '5.2' => false,
248
                                            '5.3' => true
249
                                        ),
250
                                        'forward_static_call_array' => array(
251
                                            '5.2' => false,
252
                                            '5.3' => true
253
                                        ),
254
                                        'gc_collect_cycles' => array(
255
                                            '5.2' => false,
256
                                            '5.3' => true
257
                                        ),
258
                                        'gc_disable' => array(
259
                                            '5.2' => false,
260
                                            '5.3' => true
261
                                        ),
262
                                        'gc_enable' => array(
263
                                            '5.2' => false,
264
                                            '5.3' => true
265
                                        ),
266
                                        'gc_enabled' => array(
267
                                            '5.2' => false,
268
                                            '5.3' => true
269
                                        ),
270
                                        'get_called_class' => array(
271
                                            '5.2' => false,
272
                                            '5.3' => true
273
                                        ),
274
                                        'gethostname' => array(
275
                                            '5.2' => false,
276
                                            '5.3' => true
277
                                        ),
278
                                        'header_remove' => array(
279
                                            '5.2' => false,
280
                                            '5.3' => true
281
                                        ),
282
                                        'lcfirst' => array(
283
                                            '5.2' => false,
284
                                            '5.3' => true
285
                                        ),
286
                                        'parse_ini_string' => array(
287
                                            '5.2' => false,
288
                                            '5.3' => true
289
                                        ),
290
                                        'quoted_printable_encode' => array(
291
                                            '5.2' => false,
292
                                            '5.3' => true
293
                                        ),
294
                                        'str_getcsv' => array(
295
                                            '5.2' => false,
296
                                            '5.3' => true
297
                                        ),
298
                                        'stream_context_set_default' => array(
299
                                            '5.2' => false,
300
                                            '5.3' => true
301
                                        ),
302
                                        'stream_supports_lock' => array(
303
                                            '5.2' => false,
304
                                            '5.3' => true
305
                                        ),
306
                                        'stream_context_get_params' => array(
307
                                            '5.2' => false,
308
                                            '5.3' => true
309
                                        ),
310
                                        'date_add' => array(
311
                                            '5.2' => false,
312
                                            '5.3' => true
313
                                        ),
314
                                        'date_create_from_format' => array(
315
                                            '5.2' => false,
316
                                            '5.3' => true
317
                                        ),
318
                                        'date_diff' => array(
319
                                            '5.2' => false,
320
                                            '5.3' => true
321
                                        ),
322
                                        'date_get_last_errors' => array(
323
                                            '5.2' => false,
324
                                            '5.3' => true
325
                                        ),
326
                                        'date_parse_from_format' => array(
327
                                            '5.2' => false,
328
                                            '5.3' => true
329
                                        ),
330
                                        'date_sub' => array(
331
                                            '5.2' => false,
332
                                            '5.3' => true
333
                                        ),
334
                                        'timezone_version_get' => array(
335
                                            '5.2' => false,
336
                                            '5.3' => true
337
                                        ),
338
                                        'gmp_testbit' => array(
339
                                            '5.2' => false,
340
                                            '5.3' => true
341
                                        ),
342
                                        'hash_copy' => array(
343
                                            '5.2' => false,
344
                                            '5.3' => true
345
                                        ),
346
                                        'imap_gc' => array(
347
                                            '5.2' => false,
348
                                            '5.3' => true
349
                                        ),
350
                                        'imap_utf8_to_mutf7' => array(
351
                                            '5.2' => false,
352
                                            '5.3' => true
353
                                        ),
354
                                        'imap_mutf7_to_utf8' => array(
355
                                            '5.2' => false,
356
                                            '5.3' => true
357
                                        ),
358
                                        'json_last_error' => array(
359
                                            '5.2' => false,
360
                                            '5.3' => true
361
                                        ),
362
                                        'mysqli_get_cache_stats' => array(
363
                                            '5.2' => false,
364
                                            '5.3' => true
365
                                        ),
366
                                        'mysqli_fetch_all' => array(
367
                                            '5.2' => false,
368
                                            '5.3' => true
369
                                        ),
370
                                        'mysqli_get_connection_status' => array(
371
                                            '5.2' => false,
372
                                            '5.3' => true
373
                                        ),
374
                                        'mysqli_poll' => array(
375
                                            '5.2' => false,
376
                                            '5.3' => true
377
                                        ),
378
                                        'mysqli_read_async_query' => array(
379
                                            '5.2' => false,
380
                                            '5.3' => true
381
                                        ),
382
                                        'openssl_random_pseudo_bytes' => array(
383
                                            '5.2' => false,
384
                                            '5.3' => true
385
                                        ),
386
                                        'pcntl_signal_dispatch' => array(
387
                                            '5.2' => false,
388
                                            '5.3' => true
389
                                        ),
390
                                        'pcntl_sigprocmask' => array(
391
                                            '5.2' => false,
392
                                            '5.3' => true
393
                                        ),
394
                                        'pcntl_sigtimedwait' => array(
395
                                            '5.2' => false,
396
                                            '5.3' => true
397
                                        ),
398
                                        'pcntl_sigwaitinfo' => array(
399
                                            '5.2' => false,
400
                                            '5.3' => true
401
                                        ),
402
                                        'preg_filter' => array(
403
                                            '5.2' => false,
404
                                            '5.3' => true
405
                                        ),
406
                                        'msg_queue_exists' => array(
407
                                            '5.2' => false,
408
                                            '5.3' => true
409
                                        ),
410
                                        'shm_has_vars' => array(
411
                                            '5.2' => false,
412
                                            '5.3' => true
413
                                        ),
414
                                        'acosh' => array(
415
                                            '5.2' => false,
416
                                            '5.3' => true
417
                                        ),
418
                                        'asinh' => array(
419
                                            '5.2' => false,
420
                                            '5.3' => true
421
                                        ),
422
                                        'atanh' => array(
423
                                            '5.2' => false,
424
                                            '5.3' => true
425
                                        ),
426
                                        'expm1' => array(
427
                                            '5.2' => false,
428
                                            '5.3' => true
429
                                        ),
430
                                        'log1p' => array(
431
                                            '5.2' => false,
432
                                            '5.3' => true
433
                                        ),
434
                                        'enchant_broker_describe' => array(
435
                                            '5.2' => false,
436
                                            '5.3' => true
437
                                        ),
438
                                        'enchant_broker_dict_exists' => array(
439
                                            '5.2' => false,
440
                                            '5.3' => true
441
                                        ),
442
                                        'enchant_broker_free_dict' => array(
443
                                            '5.2' => false,
444
                                            '5.3' => true
445
                                        ),
446
                                        'enchant_broker_free' => array(
447
                                            '5.2' => false,
448
                                            '5.3' => true
449
                                        ),
450
                                        'enchant_broker_get_error' => array(
451
                                            '5.2' => false,
452
                                            '5.3' => true
453
                                        ),
454
                                        'enchant_broker_init' => array(
455
                                            '5.2' => false,
456
                                            '5.3' => true
457
                                        ),
458
                                        'enchant_broker_list_dicts' => array(
459
                                            '5.2' => false,
460
                                            '5.3' => true
461
                                        ),
462
                                        'enchant_broker_request_dict' => array(
463
                                            '5.2' => false,
464
                                            '5.3' => true
465
                                        ),
466
                                        'enchant_broker_request_pwl_dict' => array(
467
                                            '5.2' => false,
468
                                            '5.3' => true
469
                                        ),
470
                                        'enchant_broker_set_ordering' => array(
471
                                            '5.2' => false,
472
                                            '5.3' => true
473
                                        ),
474
                                        'enchant_dict_add_to_personal' => array(
475
                                            '5.2' => false,
476
                                            '5.3' => true
477
                                        ),
478
                                        'enchant_dict_add_to_session' => array(
479
                                            '5.2' => false,
480
                                            '5.3' => true
481
                                        ),
482
                                        'enchant_dict_check' => array(
483
                                            '5.2' => false,
484
                                            '5.3' => true
485
                                        ),
486
                                        'enchant_dict_describe' => array(
487
                                            '5.2' => false,
488
                                            '5.3' => true
489
                                        ),
490
                                        'enchant_dict_get_error' => array(
491
                                            '5.2' => false,
492
                                            '5.3' => true
493
                                        ),
494
                                        'enchant_dict_is_in_session' => array(
495
                                            '5.2' => false,
496
                                            '5.3' => true
497
                                        ),
498
                                        'enchant_dict_quick_check' => array(
499
                                            '5.2' => false,
500
                                            '5.3' => true
501
                                        ),
502
                                        'enchant_dict_store_replacement' => array(
503
                                            '5.2' => false,
504
                                            '5.3' => true
505
                                        ),
506
                                        'enchant_dict_suggest' => array(
507
                                            '5.2' => false,
508
                                            '5.3' => true
509
                                        ),
510
                                        'finfo_buffer' => array(
511
                                            '5.2' => false,
512
                                            '5.3' => true
513
                                        ),
514
                                        'finfo_close' => array(
515
                                            '5.2' => false,
516
                                            '5.3' => true
517
                                        ),
518
                                        'finfo_file' => array(
519
                                            '5.2' => false,
520
                                            '5.3' => true
521
                                        ),
522
                                        'finfo_open' => array(
523
                                            '5.2' => false,
524
                                            '5.3' => true
525
                                        ),
526
                                        'finfo_set_flags' => array(
527
                                            '5.2' => false,
528
                                            '5.3' => true
529
                                        ),
530
                                        'intl_error_name' => array(
531
                                            '5.2' => false,
532
                                            '5.3' => true
533
                                        ),
534
                                        'intl_get_error_code' => array(
535
                                            '5.2' => false,
536
                                            '5.3' => true
537
                                        ),
538
                                        'intl_get_error_message' => array(
539
                                            '5.2' => false,
540
                                            '5.3' => true
541
                                        ),
542
                                        'intl_is_failure' => array(
543
                                            '5.2' => false,
544
                                            '5.3' => true
545
                                        ),
546
547
                                        'hex2bin' => array(
548
                                            '5.3' => false,
549
                                            '5.4' => true
550
                                        ),
551
                                        'http_response_code' => array(
552
                                            '5.3' => false,
553
                                            '5.4' => true
554
                                        ),
555
                                        'get_declared_traits' => array(
556
                                            '5.3' => false,
557
                                            '5.4' => true
558
                                        ),
559
                                        'getimagesizefromstring' => array(
560
                                            '5.3' => false,
561
                                            '5.4' => true
562
                                        ),
563
                                        'stream_set_chunk_size' => array(
564
                                            '5.3' => false,
565
                                            '5.4' => true
566
                                        ),
567
                                        'socket_import_stream' => array(
568
                                            '5.3' => false,
569
                                            '5.4' => true
570
                                        ),
571
                                        'trait_exists' => array(
572
                                            '5.3' => false,
573
                                            '5.4' => true
574
                                        ),
575
                                        'header_register_callback' => array(
576
                                            '5.3' => false,
577
                                            '5.4' => true
578
                                        ),
579
                                        'class_uses' => array(
580
                                            '5.3' => false,
581
                                            '5.4' => true
582
                                        ),
583
                                        'session_status' => array(
584
                                            '5.3' => false,
585
                                            '5.4' => true
586
                                        ),
587
                                        'session_register_shutdown' => array(
588
                                            '5.3' => false,
589
                                            '5.4' => true
590
                                        ),
591
                                        'mysqli_error_list' => array(
592
                                            '5.3' => false,
593
                                            '5.4' => true
594
                                        ),
595
                                        'mysqli_stmt_error_list' => array(
596
                                            '5.3' => false,
597
                                            '5.4' => true
598
                                        ),
599
                                        'libxml_set_external_entity_loader' => array(
600
                                            '5.3' => false,
601
                                            '5.4' => true
602
                                        ),
603
                                        'ldap_control_paged_result' => array(
604
                                            '5.3' => false,
605
                                            '5.4' => true
606
                                        ),
607
                                        'ldap_control_paged_result_response' => array(
608
                                            '5.3' => false,
609
                                            '5.4' => true
610
                                        ),
611
                                        'transliteral_create' => array(
612
                                            '5.3' => false,
613
                                            '5.4' => true
614
                                        ),
615
                                        'transliteral_create_from_rules' => array(
616
                                            '5.3' => false,
617
                                            '5.4' => true
618
                                        ),
619
                                        'transliteral_create_inverse' => array(
620
                                            '5.3' => false,
621
                                            '5.4' => true
622
                                        ),
623
                                        'transliteral_get_error_code' => array(
624
                                            '5.3' => false,
625
                                            '5.4' => true
626
                                        ),
627
                                        'transliteral_get_error_message' => array(
628
                                            '5.3' => false,
629
                                            '5.4' => true
630
                                        ),
631
                                        'transliteral_list_ids' => array(
632
                                            '5.3' => false,
633
                                            '5.4' => true
634
                                        ),
635
                                        'transliteral_transliterate' => array(
636
                                            '5.3' => false,
637
                                            '5.4' => true
638
                                        ),
639
                                        'zlib_decode' => array(
640
                                            '5.3' => false,
641
                                            '5.4' => true
642
                                        ),
643
                                        'zlib_encode' => array(
644
                                            '5.3' => false,
645
                                            '5.4' => true
646
                                        ),
647
648
                                        'array_column' => array(
649
                                            '5.4' => false,
650
                                            '5.5' => true
651
                                        ),
652
                                        'boolval' => array(
653
                                            '5.4' => false,
654
                                            '5.5' => true
655
                                        ),
656
                                        'json_last_error_msg' => array(
657
                                            '5.4' => false,
658
                                            '5.5' => true
659
                                        ),
660
                                        'password_get_info' => array(
661
                                            '5.4' => false,
662
                                            '5.5' => true
663
                                        ),
664
                                        'password_hash' => array(
665
                                            '5.4' => false,
666
                                            '5.5' => true
667
                                        ),
668
                                        'password_needs_rehash' => array(
669
                                            '5.4' => false,
670
                                            '5.5' => true
671
                                        ),
672
                                        'password_verify' => array(
673
                                            '5.4' => false,
674
                                            '5.5' => true
675
                                        ),
676
                                        'hash_pbkdf2' => array(
677
                                            '5.4' => false,
678
                                            '5.5' => true
679
                                        ),
680
                                        'openssl_pbkdf2' => array(
681
                                            '5.4' => false,
682
                                            '5.5' => true
683
                                        ),
684
                                        'curl_escape' => array(
685
                                            '5.4' => false,
686
                                            '5.5' => true
687
                                        ),
688
                                        'curl_file_create' => array(
689
                                            '5.4' => false,
690
                                            '5.5' => true
691
                                        ),
692
                                        'curl_multi_setopt' => array(
693
                                            '5.4' => false,
694
                                            '5.5' => true
695
                                        ),
696
                                        'curl_multi_strerror' => array(
697
                                            '5.4' => false,
698
                                            '5.5' => true
699
                                        ),
700
                                        'curl_pause' => array(
701
                                            '5.4' => false,
702
                                            '5.5' => true
703
                                        ),
704
                                        'curl_reset' => array(
705
                                            '5.4' => false,
706
                                            '5.5' => true
707
                                        ),
708
                                        'curl_share_close' => array(
709
                                            '5.4' => false,
710
                                            '5.5' => true
711
                                        ),
712
                                        'curl_share_init' => array(
713
                                            '5.4' => false,
714
                                            '5.5' => true
715
                                        ),
716
                                        'curl_share_setopt' => array(
717
                                            '5.4' => false,
718
                                            '5.5' => true
719
                                        ),
720
                                        'curl_strerror' => array(
721
                                            '5.4' => false,
722
                                            '5.5' => true
723
                                        ),
724
                                        'curl_unescape' => array(
725
                                            '5.4' => false,
726
                                            '5.5' => true
727
                                        ),
728
                                        'imageaffinematrixconcat' => array(
729
                                            '5.4' => false,
730
                                            '5.5' => true
731
                                        ),
732
                                        'imageaffinematrixget' => array(
733
                                            '5.4' => false,
734
                                            '5.5' => true
735
                                        ),
736
                                        'imagecrop' => array(
737
                                            '5.4' => false,
738
                                            '5.5' => true
739
                                        ),
740
                                        'imagecropauto' => array(
741
                                            '5.4' => false,
742
                                            '5.5' => true
743
                                        ),
744
                                        'imageflip' => array(
745
                                            '5.4' => false,
746
                                            '5.5' => true
747
                                        ),
748
                                        'imagepalettetotruecolor' => array(
749
                                            '5.4' => false,
750
                                            '5.5' => true
751
                                        ),
752
                                        'imagescale' => array(
753
                                            '5.4' => false,
754
                                            '5.5' => true
755
                                        ),
756
                                        'mysqli_begin_transaction' => array(
757
                                            '5.4' => false,
758
                                            '5.5' => true
759
                                        ),
760
                                        'mysqli_release_savepoint' => array(
761
                                            '5.4' => false,
762
                                            '5.5' => true
763
                                        ),
764
                                        'mysqli_savepoint' => array(
765
                                            '5.4' => false,
766
                                            '5.5' => true
767
                                        ),
768
                                        'pg_escape_literal' => array(
769
                                            '5.4' => false,
770
                                            '5.5' => true
771
                                        ),
772
                                        'pg_escape_identifier' => array(
773
                                            '5.4' => false,
774
                                            '5.5' => true
775
                                        ),
776
                                        'socket_sendmsg' => array(
777
                                            '5.4' => false,
778
                                            '5.5' => true
779
                                        ),
780
                                        'socket_recvmsg' => array(
781
                                            '5.4' => false,
782
                                            '5.5' => true
783
                                        ),
784
                                        'socket_cmsg_space' => array(
785
                                            '5.4' => false,
786
                                            '5.5' => true
787
                                        ),
788
                                        'cli_get_process_title' => array(
789
                                            '5.4' => false,
790
                                            '5.5' => true
791
                                        ),
792
                                        'cli_set_process_title' => array(
793
                                            '5.4' => false,
794
                                            '5.5' => true
795
                                        ),
796
                                        'datefmt_format_object' => array(
797
                                            '5.4' => false,
798
                                            '5.5' => true
799
                                        ),
800
                                        'datefmt_get_calendar_object' => array(
801
                                            '5.4' => false,
802
                                            '5.5' => true
803
                                        ),
804
                                        'datefmt_get_timezone' => array(
805
                                            '5.4' => false,
806
                                            '5.5' => true
807
                                        ),
808
                                        'datefmt_set_timezone' => array(
809
                                            '5.4' => false,
810
                                            '5.5' => true
811
                                        ),
812
                                        'datefmt_get_calendar_object' => array(
813
                                            '5.4' => false,
814
                                            '5.5' => true
815
                                        ),
816
                                        'intlcal_create_instance' => array(
817
                                            '5.4' => false,
818
                                            '5.5' => true
819
                                        ),
820
                                        'intlcal_get_keyword_values_for_locale' => array(
821
                                            '5.4' => false,
822
                                            '5.5' => true
823
                                        ),
824
                                        'intlcal_get_now' => array(
825
                                            '5.4' => false,
826
                                            '5.5' => true
827
                                        ),
828
                                        'intlcal_get_available_locales' => array(
829
                                            '5.4' => false,
830
                                            '5.5' => true
831
                                        ),
832
                                        'intlcal_get' => array(
833
                                            '5.4' => false,
834
                                            '5.5' => true
835
                                        ),
836
                                        'intlcal_get_time' => array(
837
                                            '5.4' => false,
838
                                            '5.5' => true
839
                                        ),
840
                                        'intlcal_set_time' => array(
841
                                            '5.4' => false,
842
                                            '5.5' => true
843
                                        ),
844
                                        'intlcal_add' => array(
845
                                            '5.4' => false,
846
                                            '5.5' => true
847
                                        ),
848
                                        'intlcal_set_time_zone' => array(
849
                                            '5.4' => false,
850
                                            '5.5' => true
851
                                        ),
852
                                        'intlcal_after' => array(
853
                                            '5.4' => false,
854
                                            '5.5' => true
855
                                        ),
856
                                        'intlcal_before' => array(
857
                                            '5.4' => false,
858
                                            '5.5' => true
859
                                        ),
860
                                        'intlcal_set' => array(
861
                                            '5.4' => false,
862
                                            '5.5' => true
863
                                        ),
864
                                        'intlcal_roll' => array(
865
                                            '5.4' => false,
866
                                            '5.5' => true
867
                                        ),
868
                                        'intlcal_clear' => array(
869
                                            '5.4' => false,
870
                                            '5.5' => true
871
                                        ),
872
                                        'intlcal_field_difference' => array(
873
                                            '5.4' => false,
874
                                            '5.5' => true
875
                                        ),
876
                                        'intlcal_get_actual_maximum' => array(
877
                                            '5.4' => false,
878
                                            '5.5' => true
879
                                        ),
880
                                        'intlcal_get_actual_minumum' => array(
881
                                            '5.4' => false,
882
                                            '5.5' => true
883
                                        ),
884
                                        'intlcal_get_day_of_week_type' => array(
885
                                            '5.4' => false,
886
                                            '5.5' => true
887
                                        ),
888
                                        'intlcal_get_first_day_of_week' => array(
889
                                            '5.4' => false,
890
                                            '5.5' => true
891
                                        ),
892
                                        'intlcal_get_greatest_minimum' => array(
893
                                            '5.4' => false,
894
                                            '5.5' => true
895
                                        ),
896
                                        'intlcal_get_least_maximum' => array(
897
                                            '5.4' => false,
898
                                            '5.5' => true
899
                                        ),
900
                                        'intlcal_get_locale' => array(
901
                                            '5.4' => false,
902
                                            '5.5' => true
903
                                        ),
904
                                        'intlcal_get_maximum' => array(
905
                                            '5.4' => false,
906
                                            '5.5' => true
907
                                        ),
908
                                        'intlcal_get_minimal_days_in_first_week' => array(
909
                                            '5.4' => false,
910
                                            '5.5' => true
911
                                        ),
912
                                        'intlcal_get_minimum' => array(
913
                                            '5.4' => false,
914
                                            '5.5' => true
915
                                        ),
916
                                        'intlcal_get_time_zone' => array(
917
                                            '5.4' => false,
918
                                            '5.5' => true
919
                                        ),
920
                                        'intlcal_get_type' => array(
921
                                            '5.4' => false,
922
                                            '5.5' => true
923
                                        ),
924
                                        'intlcal_get_weekend_transition' => array(
925
                                            '5.4' => false,
926
                                            '5.5' => true
927
                                        ),
928
                                        'intlcal_in_daylight_time' => array(
929
                                            '5.4' => false,
930
                                            '5.5' => true
931
                                        ),
932
                                        'intlcal_is_equivalent_to' => array(
933
                                            '5.4' => false,
934
                                            '5.5' => true
935
                                        ),
936
                                        'intlcal_is_lenient' => array(
937
                                            '5.4' => false,
938
                                            '5.5' => true
939
                                        ),
940
                                        'intlcal_equals' => array(
941
                                            '5.4' => false,
942
                                            '5.5' => true
943
                                        ),
944
                                        'intlcal_get_repeated_wall_time_option' => array(
945
                                            '5.4' => false,
946
                                            '5.5' => true
947
                                        ),
948
                                        'intlcal_get_skipped_wall_time_option' => array(
949
                                            '5.4' => false,
950
                                            '5.5' => true
951
                                        ),
952
                                        'intlcal_set_repeated_wall_time_option' => array(
953
                                            '5.4' => false,
954
                                            '5.5' => true
955
                                        ),
956
                                        'intlcal_set_skipped_wall_time_option' => array(
957
                                            '5.4' => false,
958
                                            '5.5' => true
959
                                        ),
960
                                        'intlcal_from_date_time' => array(
961
                                            '5.4' => false,
962
                                            '5.5' => true
963
                                        ),
964
                                        'intlcal_to_date_time' => array(
965
                                            '5.4' => false,
966
                                            '5.5' => true
967
                                        ),
968
                                        'intlcal_get_error_code' => array(
969
                                            '5.4' => false,
970
                                            '5.5' => true
971
                                        ),
972
                                        'intlcal_get_error_message' => array(
973
                                            '5.4' => false,
974
                                            '5.5' => true
975
                                        ),
976
                                        'intlgregcal_create_instance' => array(
977
                                            '5.4' => false,
978
                                            '5.5' => true
979
                                        ),
980
                                        'intlgregcal_set_gregorian_change' => array(
981
                                            '5.4' => false,
982
                                            '5.5' => true
983
                                        ),
984
                                        'intlgregcal_get_gregorian_change' => array(
985
                                            '5.4' => false,
986
                                            '5.5' => true
987
                                        ),
988
                                        'intlgregcal_is_leap_year' => array(
989
                                            '5.4' => false,
990
                                            '5.5' => true
991
                                        ),
992
                                        'intlz_create_time_zone' => array(
993
                                            '5.4' => false,
994
                                            '5.5' => true
995
                                        ),
996
                                        'intlz_create_default' => array(
997
                                            '5.4' => false,
998
                                            '5.5' => true
999
                                        ),
1000
                                        'intlz_get_id' => array(
1001
                                            '5.4' => false,
1002
                                            '5.5' => true
1003
                                        ),
1004
                                        'intlz_get_gmt' => array(
1005
                                            '5.4' => false,
1006
                                            '5.5' => true
1007
                                        ),
1008
                                        'intlz_get_unknown' => array(
1009
                                            '5.4' => false,
1010
                                            '5.5' => true
1011
                                        ),
1012
                                        'intlz_create_enumeration' => array(
1013
                                            '5.4' => false,
1014
                                            '5.5' => true
1015
                                        ),
1016
                                        'intlz_count_equivalent_ids' => array(
1017
                                            '5.4' => false,
1018
                                            '5.5' => true
1019
                                        ),
1020
                                        'intlz_create_time_zone_id_enumeration' => array(
1021
                                            '5.4' => false,
1022
                                            '5.5' => true
1023
                                        ),
1024
                                        'intlz_get_canonical_id' => array(
1025
                                            '5.4' => false,
1026
                                            '5.5' => true
1027
                                        ),
1028
                                        'intlz_get_region' => array(
1029
                                            '5.4' => false,
1030
                                            '5.5' => true
1031
                                        ),
1032
                                        'intlz_get_tz_data_version' => array(
1033
                                            '5.4' => false,
1034
                                            '5.5' => true
1035
                                        ),
1036
                                        'intlz_get_equivalent_id' => array(
1037
                                            '5.4' => false,
1038
                                            '5.5' => true
1039
                                        ),
1040
                                        'intlz_use_daylight_time' => array(
1041
                                            '5.4' => false,
1042
                                            '5.5' => true
1043
                                        ),
1044
                                        'intlz_get_offset' => array(
1045
                                            '5.4' => false,
1046
                                            '5.5' => true
1047
                                        ),
1048
                                        'intlz_get_raw_offset' => array(
1049
                                            '5.4' => false,
1050
                                            '5.5' => true
1051
                                        ),
1052
                                        'intlz_has_same_rules' => array(
1053
                                            '5.4' => false,
1054
                                            '5.5' => true
1055
                                        ),
1056
                                        'intlz_get_display_name' => array(
1057
                                            '5.4' => false,
1058
                                            '5.5' => true
1059
                                        ),
1060
                                        'intlz_get_dst_savings' => array(
1061
                                            '5.4' => false,
1062
                                            '5.5' => true
1063
                                        ),
1064
                                        'intlz_from_date_time_zone' => array(
1065
                                            '5.4' => false,
1066
                                            '5.5' => true
1067
                                        ),
1068
                                        'intlz_to_date_time_zone' => array(
1069
                                            '5.4' => false,
1070
                                            '5.5' => true
1071
                                        ),
1072
                                        'intlz_get_error_code' => array(
1073
                                            '5.4' => false,
1074
                                            '5.5' => true
1075
                                        ),
1076
                                        'intlz_get_error_message' => array(
1077
                                            '5.4' => false,
1078
                                            '5.5' => true
1079
                                        ),
1080
1081
                                        'gmp_root' => array(
1082
                                            '5.5' => false,
1083
                                            '5.6' => true
1084
                                        ),
1085
                                        'gmp_rootrem' => array(
1086
                                            '5.5' => false,
1087
                                            '5.6' => true
1088
                                        ),
1089
                                        'hash_equals' => array(
1090
                                            '5.5' => false,
1091
                                            '5.6' => true
1092
                                        ),
1093
                                        'ldap_escape' => array(
1094
                                            '5.5' => false,
1095
                                            '5.6' => true
1096
                                        ),
1097
                                        'ldap_modify_batch' => array(
1098
                                            '5.4.25' => false,
1099
                                            '5.5.9' => false,
1100
                                            '5.4.26' => true,
1101
                                            '5.5.10' => true,
1102
                                            '5.6.0' => true,
1103
                                        ),
1104
                                        'mysqli_get_links_stats' => array(
1105
                                            '5.5' => false,
1106
                                            '5.6' => true
1107
                                        ),
1108
                                        'openssl_get_cert_locations' => array(
1109
                                            '5.5' => false,
1110
                                            '5.6' => true
1111
                                        ),
1112
                                        'openssl_x509_fingerprint' => array(
1113
                                            '5.5' => false,
1114
                                            '5.6' => true
1115
                                        ),
1116
                                        'openssl_spki_new' => array(
1117
                                            '5.5' => false,
1118
                                            '5.6' => true
1119
                                        ),
1120
                                        'openssl_spki_verify' => array(
1121
                                            '5.5' => false,
1122
                                            '5.6' => true
1123
                                        ),
1124
                                        'openssl_spki_export_challenge' => array(
1125
                                            '5.5' => false,
1126
                                            '5.6' => true
1127
                                        ),
1128
                                        'openssl_spki_export' => array(
1129
                                            '5.5' => false,
1130
                                            '5.6' => true
1131
                                        ),
1132
                                        'pg_connect_poll' => array(
1133
                                            '5.5' => false,
1134
                                            '5.6' => true
1135
                                        ),
1136
                                        'pg_consume_input' => array(
1137
                                            '5.5' => false,
1138
                                            '5.6' => true
1139
                                        ),
1140
                                        'pg_flush' => array(
1141
                                            '5.5' => false,
1142
                                            '5.6' => true
1143
                                        ),
1144
                                        'pg_socket' => array(
1145
                                            '5.5' => false,
1146
                                            '5.6' => true
1147
                                        ),
1148
                                        'session_abort' => array(
1149
                                            '5.5' => false,
1150
                                            '5.6' => true
1151
                                        ),
1152
                                        'session_reset' => array(
1153
                                            '5.5' => false,
1154
                                            '5.6' => true
1155
                                        ),
1156
1157
                                        'random_bytes' => array(
1158
                                            '5.6' => false,
1159
                                            '7.0' => true
1160
                                        ),
1161
                                        'random_int' => array(
1162
                                            '5.6' => false,
1163
                                            '7.0' => true
1164
                                        ),
1165
                                        'error_clear_last' => array(
1166
                                            '5.6' => false,
1167
                                            '7.0' => true
1168
                                        ),
1169
                                        'gmp_random_seed' => array(
1170
                                            '5.6' => false,
1171
                                            '7.0' => true
1172
                                        ),
1173
                                        'intdiv' => array(
1174
                                            '5.6' => false,
1175
                                            '7.0' => true
1176
                                        ),
1177
                                        'preg_replace_callback_array' => array(
1178
                                            '5.6' => false,
1179
                                            '7.0' => true
1180
                                        ),
1181
                                        'gc_mem_caches' => array(
1182
                                            '5.6' => false,
1183
                                            '7.0' => true
1184
                                        ),
1185
                                        'get_resources' => array(
1186
                                            '5.6' => false,
1187
                                            '7.0' => true
1188
                                        ),
1189
                                        'posix_setrlimit' => array(
1190
                                            '5.6' => false,
1191
                                            '7.0' => true
1192
                                        ),
1193
                                        'inflate_add' => array(
1194
                                            '5.6' => false,
1195
                                            '7.0' => true
1196
                                        ),
1197
                                        'deflate_add' => array(
1198
                                            '5.6' => false,
1199
                                            '7.0' => true
1200
                                        ),
1201
                                        'inflate_init' => array(
1202
                                            '5.6' => false,
1203
                                            '7.0' => true
1204
                                        ),
1205
                                        'deflate_init' => array(
1206
                                            '5.6' => false,
1207
                                            '7.0' => true
1208
                                        ),
1209
1210
                                        'socket_export_stream' => array(
1211
                                            '7.0.6' => false,
1212
                                            '7.0.7' => true
1213
                                        ),
1214
1215
                                        'curl_multi_errno' => array(
1216
                                            '7.0' => false,
1217
                                            '7.1' => true
1218
                                        ),
1219
                                        'curl_share_errno' => array(
1220
                                            '7.0' => false,
1221
                                            '7.1' => true
1222
                                        ),
1223
                                        'curl_share_strerror' => array(
1224
                                            '7.0' => false,
1225
                                            '7.1' => true
1226
                                        ),
1227
                                        'is_iterable' => array(
1228
                                            '7.0' => false,
1229
                                            '7.1' => true
1230
                                        ),
1231
                                        'pcntl_async_signals' => array(
1232
                                            '7.0' => false,
1233
                                            '7.1' => true
1234
                                        ),
1235
                                        'session_create_id' => array(
1236
                                            '7.0' => false,
1237
                                            '7.1' => true
1238
                                        ),
1239
                                        'session_gc' => array(
1240
                                            '7.0' => false,
1241
                                            '7.1' => true
1242
                                        ),
1243
                                    );
1244
1245
1246
    /**
1247
     * Returns an array of tokens this test wants to listen for.
1248
     *
1249
     * @return array
1250
     */
1251
    public function register()
1252
    {
1253
        // Handle case-insensitivity of function names.
1254
        $this->newFunctions = $this->arrayKeysToLowercase($this->newFunctions);
1255
1256
        return array(T_STRING);
1257
1258
    }//end register()
1259
1260
    /**
1261
     * Processes this test, when one of its tokens is encountered.
1262
     *
1263
     * @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
1264
     * @param int                  $stackPtr  The position of the current token in
1265
     *                                        the stack passed in $tokens.
1266
     *
1267
     * @return void
1268
     */
1269
    public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
1270
    {
1271
        $tokens = $phpcsFile->getTokens();
1272
1273
        $ignore = array(
1274
                T_DOUBLE_COLON,
1275
                T_OBJECT_OPERATOR,
1276
                T_FUNCTION,
1277
                T_CONST,
1278
        );
1279
1280
        $prevToken = $phpcsFile->findPrevious(T_WHITESPACE, ($stackPtr - 1), null, true);
1281
        if (in_array($tokens[$prevToken]['code'], $ignore) === true) {
1282
            // Not a call to a PHP function.
1283
            return;
1284
        }
1285
        else if($tokens[$prevToken]['code'] === T_NS_SEPARATOR && $tokens[$prevToken - 1]['code'] === T_STRING) {
1286
            // Namespaced function.
1287
            return;
1288
        }
1289
1290
        $function   = $tokens[$stackPtr]['content'];
1291
        $functionLc = strtolower($function);
1292
1293
        if (isset($this->newFunctions[$functionLc]) === false) {
1294
            return;
1295
        }
1296
1297
        $itemInfo = array(
1298
            'name'   => $function,
1299
            'nameLc' => $functionLc,
1300
        );
1301
        $this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
1302
1303
    }//end process()
1304
1305
1306
    /**
1307
     * Get the relevant sub-array for a specific item from a multi-dimensional array.
1308
     *
1309
     * @param array $itemInfo Base information about the item.
1310
     *
1311
     * @return array Version and other information about the item.
1312
     */
1313
    public function getItemArray(array $itemInfo)
1314
    {
1315
        return $this->newFunctions[$itemInfo['nameLc']];
1316
    }
1317
1318
1319
    /**
1320
     * Get the error message template for this sniff.
1321
     *
1322
     * @return string
1323
     */
1324
    protected function getErrorMsgTemplate()
1325
    {
1326
        return 'The function %s() is not present in PHP version %s or earlier';
1327
    }
1328
1329
1330
}//end class
1331