Completed
Pull Request — develop (#1492)
by Zack
28:58 queued 09:00
created
PHPCompatibility/Sniffs/FunctionUse/ArgumentFunctionsUsageSniff.php 4 patches
Indentation   +116 added lines, -116 removed lines patch added patch discarded remove patch
@@ -35,130 +35,130 @@
 block discarded – undo
35 35
 class ArgumentFunctionsUsageSniff extends Sniff
36 36
 {
37 37
 
38
-    /**
39
-     * The target functions for this sniff.
40
-     *
41
-     * @var array
42
-     */
43
-    protected $targetFunctions = array(
44
-        'func_get_args' => true,
45
-        'func_get_arg'  => true,
46
-        'func_num_args' => true,
47
-    );
48
-
49
-
50
-    /**
51
-     * Returns an array of tokens this test wants to listen for.
52
-     *
53
-     * @return array
54
-     */
55
-    public function register()
56
-    {
57
-        return array(\T_STRING);
58
-    }
59
-
60
-
61
-    /**
62
-     * Processes this test, when one of its tokens is encountered.
63
-     *
64
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
65
-     * @param int                   $stackPtr  The position of the current token in the
66
-     *                                         stack passed in $tokens.
67
-     *
68
-     * @return void
69
-     */
70
-    public function process(File $phpcsFile, $stackPtr)
71
-    {
72
-        $tokens     = $phpcsFile->getTokens();
73
-        $functionLc = strtolower($tokens[$stackPtr]['content']);
74
-        if (isset($this->targetFunctions[$functionLc]) === false) {
75
-            return;
76
-        }
77
-
78
-        // Next non-empty token should be the open parenthesis.
79
-        $nextNonEmpty = $phpcsFile->findNext(Tokens::$emptyTokens, ($stackPtr + 1), null, true, null, true);
80
-        if ($nextNonEmpty === false || $tokens[$nextNonEmpty]['code'] !== \T_OPEN_PARENTHESIS) {
81
-            return;
82
-        }
83
-
84
-        $ignore = array(
85
-            \T_DOUBLE_COLON    => true,
86
-            \T_OBJECT_OPERATOR => true,
87
-            \T_FUNCTION        => true,
88
-            \T_NEW             => true,
89
-        );
90
-
91
-        $prevNonEmpty = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($stackPtr - 1), null, true);
92
-        if (isset($ignore[$tokens[$prevNonEmpty]['code']]) === true) {
93
-            // Not a call to a PHP function.
94
-            return;
95
-        } elseif ($tokens[$prevNonEmpty]['code'] === \T_NS_SEPARATOR && $tokens[$prevNonEmpty - 1]['code'] === \T_STRING) {
96
-            // Namespaced function.
97
-            return;
98
-        }
99
-
100
-        $data = $tokens[$stackPtr]['content'];
101
-
102
-        /*
38
+	/**
39
+	 * The target functions for this sniff.
40
+	 *
41
+	 * @var array
42
+	 */
43
+	protected $targetFunctions = array(
44
+		'func_get_args' => true,
45
+		'func_get_arg'  => true,
46
+		'func_num_args' => true,
47
+	);
48
+
49
+
50
+	/**
51
+	 * Returns an array of tokens this test wants to listen for.
52
+	 *
53
+	 * @return array
54
+	 */
55
+	public function register()
56
+	{
57
+		return array(\T_STRING);
58
+	}
59
+
60
+
61
+	/**
62
+	 * Processes this test, when one of its tokens is encountered.
63
+	 *
64
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
65
+	 * @param int                   $stackPtr  The position of the current token in the
66
+	 *                                         stack passed in $tokens.
67
+	 *
68
+	 * @return void
69
+	 */
70
+	public function process(File $phpcsFile, $stackPtr)
71
+	{
72
+		$tokens     = $phpcsFile->getTokens();
73
+		$functionLc = strtolower($tokens[$stackPtr]['content']);
74
+		if (isset($this->targetFunctions[$functionLc]) === false) {
75
+			return;
76
+		}
77
+
78
+		// Next non-empty token should be the open parenthesis.
79
+		$nextNonEmpty = $phpcsFile->findNext(Tokens::$emptyTokens, ($stackPtr + 1), null, true, null, true);
80
+		if ($nextNonEmpty === false || $tokens[$nextNonEmpty]['code'] !== \T_OPEN_PARENTHESIS) {
81
+			return;
82
+		}
83
+
84
+		$ignore = array(
85
+			\T_DOUBLE_COLON    => true,
86
+			\T_OBJECT_OPERATOR => true,
87
+			\T_FUNCTION        => true,
88
+			\T_NEW             => true,
89
+		);
90
+
91
+		$prevNonEmpty = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($stackPtr - 1), null, true);
92
+		if (isset($ignore[$tokens[$prevNonEmpty]['code']]) === true) {
93
+			// Not a call to a PHP function.
94
+			return;
95
+		} elseif ($tokens[$prevNonEmpty]['code'] === \T_NS_SEPARATOR && $tokens[$prevNonEmpty - 1]['code'] === \T_STRING) {
96
+			// Namespaced function.
97
+			return;
98
+		}
99
+
100
+		$data = $tokens[$stackPtr]['content'];
101
+
102
+		/*
103 103
          * Check for usage of the functions in the global scope.
104 104
          *
105 105
          * As PHPCS can not determine whether a file is included from within a function in
106 106
          * another file, so always throw a warning/error.
107 107
          */
108
-        if ($phpcsFile->hasCondition($stackPtr, array(\T_FUNCTION, \T_CLOSURE)) === false) {
109
-            $isError = false;
110
-            $message = 'Use of %s() outside of a user-defined function is only supported if the file is included from within a user-defined function in another file prior to PHP 5.3.';
108
+		if ($phpcsFile->hasCondition($stackPtr, array(\T_FUNCTION, \T_CLOSURE)) === false) {
109
+			$isError = false;
110
+			$message = 'Use of %s() outside of a user-defined function is only supported if the file is included from within a user-defined function in another file prior to PHP 5.3.';
111 111
 
112
-            if ($this->supportsAbove('5.3') === true) {
113
-                $isError  = true;
114
-                $message .= ' As of PHP 5.3, it is no longer supported at all.';
115
-            }
112
+			if ($this->supportsAbove('5.3') === true) {
113
+				$isError  = true;
114
+				$message .= ' As of PHP 5.3, it is no longer supported at all.';
115
+			}
116 116
 
117
-            $this->addMessage($phpcsFile, $message, $stackPtr, $isError, 'OutsideFunctionScope', $data);
118
-        }
117
+			$this->addMessage($phpcsFile, $message, $stackPtr, $isError, 'OutsideFunctionScope', $data);
118
+		}
119 119
 
120
-        /*
120
+		/*
121 121
          * Check for usage of the functions as a parameter in a function call.
122 122
          */
123
-        if ($this->supportsBelow('5.2') === false) {
124
-            return;
125
-        }
126
-
127
-        if (isset($tokens[$stackPtr]['nested_parenthesis']) === false) {
128
-            return;
129
-        }
130
-
131
-        $throwError = false;
132
-
133
-        $closer = end($tokens[$stackPtr]['nested_parenthesis']);
134
-        if (isset($tokens[$closer]['parenthesis_owner'])
135
-            && $tokens[$tokens[$closer]['parenthesis_owner']]['type'] === 'T_CLOSURE'
136
-        ) {
137
-            $throwError = true;
138
-        } else {
139
-            $opener       = key($tokens[$stackPtr]['nested_parenthesis']);
140
-            $prevNonEmpty = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($opener - 1), null, true);
141
-            if ($tokens[$prevNonEmpty]['code'] !== \T_STRING) {
142
-                return;
143
-            }
144
-
145
-            $prevPrevNonEmpty = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($prevNonEmpty - 1), null, true);
146
-            if ($tokens[$prevPrevNonEmpty]['code'] === \T_FUNCTION) {
147
-                return;
148
-            }
149
-
150
-            $throwError = true;
151
-        }
152
-
153
-        if ($throwError === false) {
154
-            return;
155
-        }
156
-
157
-        $phpcsFile->addError(
158
-            '%s() could not be used in parameter lists prior to PHP 5.3.',
159
-            $stackPtr,
160
-            'InParameterList',
161
-            $data
162
-        );
163
-    }
123
+		if ($this->supportsBelow('5.2') === false) {
124
+			return;
125
+		}
126
+
127
+		if (isset($tokens[$stackPtr]['nested_parenthesis']) === false) {
128
+			return;
129
+		}
130
+
131
+		$throwError = false;
132
+
133
+		$closer = end($tokens[$stackPtr]['nested_parenthesis']);
134
+		if (isset($tokens[$closer]['parenthesis_owner'])
135
+			&& $tokens[$tokens[$closer]['parenthesis_owner']]['type'] === 'T_CLOSURE'
136
+		) {
137
+			$throwError = true;
138
+		} else {
139
+			$opener       = key($tokens[$stackPtr]['nested_parenthesis']);
140
+			$prevNonEmpty = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($opener - 1), null, true);
141
+			if ($tokens[$prevNonEmpty]['code'] !== \T_STRING) {
142
+				return;
143
+			}
144
+
145
+			$prevPrevNonEmpty = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($prevNonEmpty - 1), null, true);
146
+			if ($tokens[$prevPrevNonEmpty]['code'] === \T_FUNCTION) {
147
+				return;
148
+			}
149
+
150
+			$throwError = true;
151
+		}
152
+
153
+		if ($throwError === false) {
154
+			return;
155
+		}
156
+
157
+		$phpcsFile->addError(
158
+			'%s() could not be used in parameter lists prior to PHP 5.3.',
159
+			$stackPtr,
160
+			'InParameterList',
161
+			$data
162
+		);
163
+	}
164 164
 }
Please login to merge, or discard this patch.
Spacing   +24 added lines, -24 removed lines patch added patch discarded remove patch
@@ -54,7 +54,7 @@  discard block
 block discarded – undo
54 54
      */
55 55
     public function register()
56 56
     {
57
-        return array(\T_STRING);
57
+        return array( \T_STRING );
58 58
     }
59 59
 
60 60
 
@@ -67,17 +67,17 @@  discard block
 block discarded – undo
67 67
      *
68 68
      * @return void
69 69
      */
70
-    public function process(File $phpcsFile, $stackPtr)
70
+    public function process( File $phpcsFile, $stackPtr )
71 71
     {
72 72
         $tokens     = $phpcsFile->getTokens();
73
-        $functionLc = strtolower($tokens[$stackPtr]['content']);
74
-        if (isset($this->targetFunctions[$functionLc]) === false) {
73
+        $functionLc = strtolower( $tokens[ $stackPtr ][ 'content' ] );
74
+        if ( isset( $this->targetFunctions[ $functionLc ] ) === false ) {
75 75
             return;
76 76
         }
77 77
 
78 78
         // Next non-empty token should be the open parenthesis.
79
-        $nextNonEmpty = $phpcsFile->findNext(Tokens::$emptyTokens, ($stackPtr + 1), null, true, null, true);
80
-        if ($nextNonEmpty === false || $tokens[$nextNonEmpty]['code'] !== \T_OPEN_PARENTHESIS) {
79
+        $nextNonEmpty = $phpcsFile->findNext( Tokens::$emptyTokens, ( $stackPtr + 1 ), null, true, null, true );
80
+        if ( $nextNonEmpty === false || $tokens[ $nextNonEmpty ][ 'code' ] !== \T_OPEN_PARENTHESIS ) {
81 81
             return;
82 82
         }
83 83
 
@@ -88,16 +88,16 @@  discard block
 block discarded – undo
88 88
             \T_NEW             => true,
89 89
         );
90 90
 
91
-        $prevNonEmpty = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($stackPtr - 1), null, true);
92
-        if (isset($ignore[$tokens[$prevNonEmpty]['code']]) === true) {
91
+        $prevNonEmpty = $phpcsFile->findPrevious( Tokens::$emptyTokens, ( $stackPtr - 1 ), null, true );
92
+        if ( isset( $ignore[ $tokens[ $prevNonEmpty ][ 'code' ] ] ) === true ) {
93 93
             // Not a call to a PHP function.
94 94
             return;
95
-        } elseif ($tokens[$prevNonEmpty]['code'] === \T_NS_SEPARATOR && $tokens[$prevNonEmpty - 1]['code'] === \T_STRING) {
95
+        } elseif ( $tokens[ $prevNonEmpty ][ 'code' ] === \T_NS_SEPARATOR && $tokens[ $prevNonEmpty - 1 ][ 'code' ] === \T_STRING ) {
96 96
             // Namespaced function.
97 97
             return;
98 98
         }
99 99
 
100
-        $data = $tokens[$stackPtr]['content'];
100
+        $data = $tokens[ $stackPtr ][ 'content' ];
101 101
 
102 102
         /*
103 103
          * Check for usage of the functions in the global scope.
@@ -105,52 +105,52 @@  discard block
 block discarded – undo
105 105
          * As PHPCS can not determine whether a file is included from within a function in
106 106
          * another file, so always throw a warning/error.
107 107
          */
108
-        if ($phpcsFile->hasCondition($stackPtr, array(\T_FUNCTION, \T_CLOSURE)) === false) {
108
+        if ( $phpcsFile->hasCondition( $stackPtr, array( \T_FUNCTION, \T_CLOSURE ) ) === false ) {
109 109
             $isError = false;
110 110
             $message = 'Use of %s() outside of a user-defined function is only supported if the file is included from within a user-defined function in another file prior to PHP 5.3.';
111 111
 
112
-            if ($this->supportsAbove('5.3') === true) {
112
+            if ( $this->supportsAbove( '5.3' ) === true ) {
113 113
                 $isError  = true;
114 114
                 $message .= ' As of PHP 5.3, it is no longer supported at all.';
115 115
             }
116 116
 
117
-            $this->addMessage($phpcsFile, $message, $stackPtr, $isError, 'OutsideFunctionScope', $data);
117
+            $this->addMessage( $phpcsFile, $message, $stackPtr, $isError, 'OutsideFunctionScope', $data );
118 118
         }
119 119
 
120 120
         /*
121 121
          * Check for usage of the functions as a parameter in a function call.
122 122
          */
123
-        if ($this->supportsBelow('5.2') === false) {
123
+        if ( $this->supportsBelow( '5.2' ) === false ) {
124 124
             return;
125 125
         }
126 126
 
127
-        if (isset($tokens[$stackPtr]['nested_parenthesis']) === false) {
127
+        if ( isset( $tokens[ $stackPtr ][ 'nested_parenthesis' ] ) === false ) {
128 128
             return;
129 129
         }
130 130
 
131 131
         $throwError = false;
132 132
 
133
-        $closer = end($tokens[$stackPtr]['nested_parenthesis']);
134
-        if (isset($tokens[$closer]['parenthesis_owner'])
135
-            && $tokens[$tokens[$closer]['parenthesis_owner']]['type'] === 'T_CLOSURE'
133
+        $closer = end( $tokens[ $stackPtr ][ 'nested_parenthesis' ] );
134
+        if ( isset( $tokens[ $closer ][ 'parenthesis_owner' ] )
135
+            && $tokens[ $tokens[ $closer ][ 'parenthesis_owner' ] ][ 'type' ] === 'T_CLOSURE'
136 136
         ) {
137 137
             $throwError = true;
138 138
         } else {
139
-            $opener       = key($tokens[$stackPtr]['nested_parenthesis']);
140
-            $prevNonEmpty = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($opener - 1), null, true);
141
-            if ($tokens[$prevNonEmpty]['code'] !== \T_STRING) {
139
+            $opener       = key( $tokens[ $stackPtr ][ 'nested_parenthesis' ] );
140
+            $prevNonEmpty = $phpcsFile->findPrevious( Tokens::$emptyTokens, ( $opener - 1 ), null, true );
141
+            if ( $tokens[ $prevNonEmpty ][ 'code' ] !== \T_STRING ) {
142 142
                 return;
143 143
             }
144 144
 
145
-            $prevPrevNonEmpty = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($prevNonEmpty - 1), null, true);
146
-            if ($tokens[$prevPrevNonEmpty]['code'] === \T_FUNCTION) {
145
+            $prevPrevNonEmpty = $phpcsFile->findPrevious( Tokens::$emptyTokens, ( $prevNonEmpty - 1 ), null, true );
146
+            if ( $tokens[ $prevPrevNonEmpty ][ 'code' ] === \T_FUNCTION ) {
147 147
                 return;
148 148
             }
149 149
 
150 150
             $throwError = true;
151 151
         }
152 152
 
153
-        if ($throwError === false) {
153
+        if ( $throwError === false ) {
154 154
             return;
155 155
         }
156 156
 
Please login to merge, or discard this patch.
Braces   +3 added lines, -6 removed lines patch added patch discarded remove patch
@@ -32,8 +32,7 @@  discard block
 block discarded – undo
32 32
  * @package  PHPCompatibility
33 33
  * @author   Juliette Reinders Folmer <[email protected]>
34 34
  */
35
-class ArgumentFunctionsUsageSniff extends Sniff
36
-{
35
+class ArgumentFunctionsUsageSniff extends Sniff {
37 36
 
38 37
     /**
39 38
      * The target functions for this sniff.
@@ -52,8 +51,7 @@  discard block
 block discarded – undo
52 51
      *
53 52
      * @return array
54 53
      */
55
-    public function register()
56
-    {
54
+    public function register() {
57 55
         return array(\T_STRING);
58 56
     }
59 57
 
@@ -67,8 +65,7 @@  discard block
 block discarded – undo
67 65
      *
68 66
      * @return void
69 67
      */
70
-    public function process(File $phpcsFile, $stackPtr)
71
-    {
68
+    public function process(File $phpcsFile, $stackPtr) {
72 69
         $tokens     = $phpcsFile->getTokens();
73 70
         $functionLc = strtolower($tokens[$stackPtr]['content']);
74 71
         if (isset($this->targetFunctions[$functionLc]) === false) {
Please login to merge, or discard this patch.
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -65,7 +65,7 @@
 block discarded – undo
65 65
     /**
66 66
      * Returns an array of tokens this test wants to listen for.
67 67
      *
68
-     * @return array
68
+     * @return integer[]
69 69
      */
70 70
     public function register()
71 71
     {
Please login to merge, or discard this patch.
PHPCompatibility/Sniffs/FunctionUse/RemovedFunctionsSniff.php 4 patches
Indentation   +995 added lines, -995 removed lines patch added patch discarded remove patch
@@ -21,1018 +21,1018 @@
 block discarded – undo
21 21
  */
22 22
 class RemovedFunctionsSniff extends AbstractRemovedFeatureSniff
23 23
 {
24
-    /**
25
-     * A list of deprecated and removed functions with their alternatives.
26
-     *
27
-     * The array lists : version number with false (deprecated) or true (removed) and an alternative function.
28
-     * If no alternative exists, it is NULL, i.e, the function should just not be used.
29
-     *
30
-     * @var array(string => array(string => bool|string|null))
31
-     */
32
-    protected $removedFunctions = array(
33
-        'php_check_syntax' => array(
34
-            '5.0.5' => true,
35
-            'alternative' => null,
36
-        ),
24
+	/**
25
+	 * A list of deprecated and removed functions with their alternatives.
26
+	 *
27
+	 * The array lists : version number with false (deprecated) or true (removed) and an alternative function.
28
+	 * If no alternative exists, it is NULL, i.e, the function should just not be used.
29
+	 *
30
+	 * @var array(string => array(string => bool|string|null))
31
+	 */
32
+	protected $removedFunctions = array(
33
+		'php_check_syntax' => array(
34
+			'5.0.5' => true,
35
+			'alternative' => null,
36
+		),
37 37
 
38
-        'pfpro_cleanup' => array(
39
-            '5.1' => true,
40
-            'alternative' => null,
41
-        ),
42
-        'pfpro_init' => array(
43
-            '5.1' => true,
44
-            'alternative' => null,
45
-        ),
46
-        'pfpro_process_raw' => array(
47
-            '5.1' => true,
48
-            'alternative' => null,
49
-        ),
50
-        'pfpro_process' => array(
51
-            '5.1' => true,
52
-            'alternative' => null,
53
-        ),
54
-        'pfpro_version' => array(
55
-            '5.1' => true,
56
-            'alternative' => null,
57
-        ),
38
+		'pfpro_cleanup' => array(
39
+			'5.1' => true,
40
+			'alternative' => null,
41
+		),
42
+		'pfpro_init' => array(
43
+			'5.1' => true,
44
+			'alternative' => null,
45
+		),
46
+		'pfpro_process_raw' => array(
47
+			'5.1' => true,
48
+			'alternative' => null,
49
+		),
50
+		'pfpro_process' => array(
51
+			'5.1' => true,
52
+			'alternative' => null,
53
+		),
54
+		'pfpro_version' => array(
55
+			'5.1' => true,
56
+			'alternative' => null,
57
+		),
58 58
 
59
-        'call_user_method' => array(
60
-            '5.3' => false,
61
-            '7.0' => true,
62
-            'alternative' => 'call_user_func()',
63
-        ),
64
-        'call_user_method_array' => array(
65
-            '5.3' => false,
66
-            '7.0' => true,
67
-            'alternative' => 'call_user_func_array()',
68
-        ),
69
-        'define_syslog_variables' => array(
70
-            '5.3' => false,
71
-            '5.4' => true,
72
-            'alternative' => null,
73
-        ),
74
-        'dl' => array(
75
-            '5.3' => false,
76
-            'alternative' => null,
77
-        ),
78
-        'ereg' => array(
79
-            '5.3' => false,
80
-            '7.0' => true,
81
-            'alternative' => 'preg_match()',
82
-        ),
83
-        'ereg_replace' => array(
84
-            '5.3' => false,
85
-            '7.0' => true,
86
-            'alternative' => 'preg_replace()',
87
-        ),
88
-        'eregi' => array(
89
-            '5.3' => false,
90
-            '7.0' => true,
91
-            'alternative' => 'preg_match()',
92
-        ),
93
-        'eregi_replace' => array(
94
-            '5.3' => false,
95
-            '7.0' => true,
96
-            'alternative' => 'preg_replace()',
97
-        ),
98
-        'imagepsbbox' => array(
99
-            '7.0' => true,
100
-            'alternative' => null,
101
-        ),
102
-        'imagepsencodefont' => array(
103
-            '7.0' => true,
104
-            'alternative' => null,
105
-        ),
106
-        'imagepsextendfont' => array(
107
-            '7.0' => true,
108
-            'alternative' => null,
109
-        ),
110
-        'imagepsfreefont' => array(
111
-            '7.0' => true,
112
-            'alternative' => null,
113
-        ),
114
-        'imagepsloadfont' => array(
115
-            '7.0' => true,
116
-            'alternative' => null,
117
-        ),
118
-        'imagepsslantfont' => array(
119
-            '7.0' => true,
120
-            'alternative' => null,
121
-        ),
122
-        'imagepstext' => array(
123
-            '7.0' => true,
124
-            'alternative' => null,
125
-        ),
126
-        'import_request_variables' => array(
127
-            '5.3' => false,
128
-            '5.4' => true,
129
-            'alternative' => null,
130
-        ),
131
-        'ldap_sort' => array(
132
-            '7.0' => false,
133
-            'alternative' => null,
134
-        ),
135
-        'mcrypt_generic_end' => array(
136
-            '5.3' => false,
137
-            '7.0' => true,
138
-            'alternative' => 'mcrypt_generic_deinit()',
139
-        ),
140
-        'mysql_db_query' => array(
141
-            '5.3' => false,
142
-            '7.0' => true,
143
-            'alternative' => 'mysqli::select_db() and mysqli::query()',
144
-        ),
145
-        'mysql_escape_string' => array(
146
-            '5.3' => false,
147
-            '7.0' => true,
148
-            'alternative' => 'mysqli::real_escape_string()',
149
-        ),
150
-        'mysql_list_dbs' => array(
151
-            '5.4' => false,
152
-            '7.0' => true,
153
-            'alternative' => null,
154
-        ),
155
-        'mysqli_bind_param' => array(
156
-            '5.3' => false,
157
-            '5.4' => true,
158
-            'alternative' => 'mysqli_stmt::bind_param()',
159
-        ),
160
-        'mysqli_bind_result' => array(
161
-            '5.3' => false,
162
-            '5.4' => true,
163
-            'alternative' => 'mysqli_stmt::bind_result()',
164
-        ),
165
-        'mysqli_client_encoding' => array(
166
-            '5.3' => false,
167
-            '5.4' => true,
168
-            'alternative' => 'mysqli::character_set_name()',
169
-        ),
170
-        'mysqli_fetch' => array(
171
-            '5.3' => false,
172
-            '5.4' => true,
173
-            'alternative' => 'mysqli_stmt::fetch()',
174
-        ),
175
-        'mysqli_param_count' => array(
176
-            '5.3' => false,
177
-            '5.4' => true,
178
-            'alternative' => 'mysqli_stmt_param_count()',
179
-        ),
180
-        'mysqli_get_metadata' => array(
181
-            '5.3' => false,
182
-            '5.4' => true,
183
-            'alternative' => 'mysqli_stmt::result_metadata()',
184
-        ),
185
-        'mysqli_send_long_data' => array(
186
-            '5.3' => false,
187
-            '5.4' => true,
188
-            'alternative' => 'mysqli_stmt::send_long_data()',
189
-        ),
190
-        'magic_quotes_runtime' => array(
191
-            '5.3' => false,
192
-            '7.0' => true,
193
-            'alternative' => null,
194
-        ),
195
-        'session_register' => array(
196
-            '5.3' => false,
197
-            '5.4' => true,
198
-            'alternative' => '$_SESSION',
199
-        ),
200
-        'session_unregister' => array(
201
-            '5.3' => false,
202
-            '5.4' => true,
203
-            'alternative' => '$_SESSION',
204
-        ),
205
-        'session_is_registered' => array(
206
-            '5.3' => false,
207
-            '5.4' => true,
208
-            'alternative' => '$_SESSION',
209
-        ),
210
-        'set_magic_quotes_runtime' => array(
211
-            '5.3' => false,
212
-            '7.0' => true,
213
-            'alternative' => null,
214
-        ),
215
-        'set_socket_blocking' => array(
216
-            '5.3' => false,
217
-            '7.0' => true,
218
-            'alternative' => 'stream_set_blocking()',
219
-        ),
220
-        'split' => array(
221
-            '5.3' => false,
222
-            '7.0' => true,
223
-            'alternative' => 'preg_split()',
224
-        ),
225
-        'spliti' => array(
226
-            '5.3' => false,
227
-            '7.0' => true,
228
-            'alternative' => 'preg_split()',
229
-        ),
230
-        'sql_regcase' => array(
231
-            '5.3' => false,
232
-            '7.0' => true,
233
-            'alternative' => null,
234
-        ),
235
-        'php_logo_guid' => array(
236
-            '5.5' => true,
237
-            'alternative' => null,
238
-        ),
239
-        'php_egg_logo_guid' => array(
240
-            '5.5' => true,
241
-            'alternative' => null,
242
-        ),
243
-        'php_real_logo_guid' => array(
244
-            '5.5' => true,
245
-            'alternative' => null,
246
-        ),
247
-        'zend_logo_guid' => array(
248
-            '5.5' => true,
249
-            'alternative' => null,
250
-        ),
251
-        'datefmt_set_timezone_id' => array(
252
-            '5.5' => false,
253
-            '7.0' => true,
254
-            'alternative' => 'IntlDateFormatter::setTimeZone()',
255
-        ),
256
-        'mcrypt_ecb' => array(
257
-            '5.5' => false,
258
-            '7.0' => true,
259
-            'alternative' => null,
260
-        ),
261
-        'mcrypt_cbc' => array(
262
-            '5.5' => false,
263
-            '7.0' => true,
264
-            'alternative' => null,
265
-        ),
266
-        'mcrypt_cfb' => array(
267
-            '5.5' => false,
268
-            '7.0' => true,
269
-            'alternative' => null,
270
-        ),
271
-        'mcrypt_ofb' => array(
272
-            '5.5' => false,
273
-            '7.0' => true,
274
-            'alternative' => null,
275
-        ),
276
-        'ocibindbyname' => array(
277
-            '5.4' => false,
278
-            'alternative' => 'oci_bind_by_name()',
279
-        ),
280
-        'ocicancel' => array(
281
-            '5.4' => false,
282
-            'alternative' => 'oci_cancel()',
283
-        ),
284
-        'ocicloselob' => array(
285
-            '5.4' => false,
286
-            'alternative' => 'OCI-Lob::close()',
287
-        ),
288
-        'ocicollappend' => array(
289
-            '5.4' => false,
290
-            'alternative' => 'OCI-Collection::append()',
291
-        ),
292
-        'ocicollassign' => array(
293
-            '5.4' => false,
294
-            'alternative' => 'OCI-Collection::assign()',
295
-        ),
296
-        'ocicollassignelem' => array(
297
-            '5.4' => false,
298
-            'alternative' => 'OCI-Collection::assignElem()',
299
-        ),
300
-        'ocicollgetelem' => array(
301
-            '5.4' => false,
302
-            'alternative' => 'OCI-Collection::getElem()',
303
-        ),
304
-        'ocicollmax' => array(
305
-            '5.4' => false,
306
-            'alternative' => 'OCI-Collection::max()',
307
-        ),
308
-        'ocicollsize' => array(
309
-            '5.4' => false,
310
-            'alternative' => 'OCI-Collection::size()',
311
-        ),
312
-        'ocicolltrim' => array(
313
-            '5.4' => false,
314
-            'alternative' => 'OCI-Collection::trim()',
315
-        ),
316
-        'ocicolumnisnull' => array(
317
-            '5.4' => false,
318
-            'alternative' => 'oci_field_is_null()',
319
-        ),
320
-        'ocicolumnname' => array(
321
-            '5.4' => false,
322
-            'alternative' => 'oci_field_name()',
323
-        ),
324
-        'ocicolumnprecision' => array(
325
-            '5.4' => false,
326
-            'alternative' => 'oci_field_precision()',
327
-        ),
328
-        'ocicolumnscale' => array(
329
-            '5.4' => false,
330
-            'alternative' => 'oci_field_scale()',
331
-        ),
332
-        'ocicolumnsize' => array(
333
-            '5.4' => false,
334
-            'alternative' => 'oci_field_size()',
335
-        ),
336
-        'ocicolumntype' => array(
337
-            '5.4' => false,
338
-            'alternative' => 'oci_field_type()',
339
-        ),
340
-        'ocicolumntyperaw' => array(
341
-            '5.4' => false,
342
-            'alternative' => 'oci_field_type_raw()',
343
-        ),
344
-        'ocicommit' => array(
345
-            '5.4' => false,
346
-            'alternative' => 'oci_commit()',
347
-        ),
348
-        'ocidefinebyname' => array(
349
-            '5.4' => false,
350
-            'alternative' => 'oci_define_by_name()',
351
-        ),
352
-        'ocierror' => array(
353
-            '5.4' => false,
354
-            'alternative' => 'oci_error()',
355
-        ),
356
-        'ociexecute' => array(
357
-            '5.4' => false,
358
-            'alternative' => 'oci_execute()',
359
-        ),
360
-        'ocifetch' => array(
361
-            '5.4' => false,
362
-            'alternative' => 'oci_fetch()',
363
-        ),
364
-        'ocifetchinto' => array(
365
-            '5.4' => false,
366
-            'alternative' => null,
367
-        ),
368
-        'ocifetchstatement' => array(
369
-            '5.4' => false,
370
-            'alternative' => 'oci_fetch_all()',
371
-        ),
372
-        'ocifreecollection' => array(
373
-            '5.4' => false,
374
-            'alternative' => 'OCI-Collection::free()',
375
-        ),
376
-        'ocifreecursor' => array(
377
-            '5.4' => false,
378
-            'alternative' => 'oci_free_statement()',
379
-        ),
380
-        'ocifreedesc' => array(
381
-            '5.4' => false,
382
-            'alternative' => 'OCI-Lob::free()',
383
-        ),
384
-        'ocifreestatement' => array(
385
-            '5.4' => false,
386
-            'alternative' => 'oci_free_statement()',
387
-        ),
388
-        'ociinternaldebug' => array(
389
-            '5.4' => false,
390
-            'alternative' => 'oci_internal_debug()',
391
-        ),
392
-        'ociloadlob' => array(
393
-            '5.4' => false,
394
-            'alternative' => 'OCI-Lob::load()',
395
-        ),
396
-        'ocilogoff' => array(
397
-            '5.4' => false,
398
-            'alternative' => 'oci_close()',
399
-        ),
400
-        'ocilogon' => array(
401
-            '5.4' => false,
402
-            'alternative' => 'oci_connect()',
403
-        ),
404
-        'ocinewcollection' => array(
405
-            '5.4' => false,
406
-            'alternative' => 'oci_new_collection()',
407
-        ),
408
-        'ocinewcursor' => array(
409
-            '5.4' => false,
410
-            'alternative' => 'oci_new_cursor()',
411
-        ),
412
-        'ocinewdescriptor' => array(
413
-            '5.4' => false,
414
-            'alternative' => 'oci_new_descriptor()',
415
-        ),
416
-        'ocinlogon' => array(
417
-            '5.4' => false,
418
-            'alternative' => 'oci_new_connect()',
419
-        ),
420
-        'ocinumcols' => array(
421
-            '5.4' => false,
422
-            'alternative' => 'oci_num_fields()',
423
-        ),
424
-        'ociparse' => array(
425
-            '5.4' => false,
426
-            'alternative' => 'oci_parse()',
427
-        ),
428
-        'ociplogon' => array(
429
-            '5.4' => false,
430
-            'alternative' => 'oci_pconnect()',
431
-        ),
432
-        'ociresult' => array(
433
-            '5.4' => false,
434
-            'alternative' => 'oci_result()',
435
-        ),
436
-        'ocirollback' => array(
437
-            '5.4' => false,
438
-            'alternative' => 'oci_rollback()',
439
-        ),
440
-        'ocirowcount' => array(
441
-            '5.4' => false,
442
-            'alternative' => 'oci_num_rows()',
443
-        ),
444
-        'ocisavelob' => array(
445
-            '5.4' => false,
446
-            'alternative' => 'OCI-Lob::save()',
447
-        ),
448
-        'ocisavelobfile' => array(
449
-            '5.4' => false,
450
-            'alternative' => 'OCI-Lob::import()',
451
-        ),
452
-        'ociserverversion' => array(
453
-            '5.4' => false,
454
-            'alternative' => 'oci_server_version()',
455
-        ),
456
-        'ocisetprefetch' => array(
457
-            '5.4' => false,
458
-            'alternative' => 'oci_set_prefetch()',
459
-        ),
460
-        'ocistatementtype' => array(
461
-            '5.4' => false,
462
-            'alternative' => 'oci_statement_type()',
463
-        ),
464
-        'ociwritelobtofile' => array(
465
-            '5.4' => false,
466
-            'alternative' => 'OCI-Lob::export()',
467
-        ),
468
-        'ociwritetemporarylob' => array(
469
-            '5.4' => false,
470
-            'alternative' => 'OCI-Lob::writeTemporary()',
471
-        ),
472
-        'mysqli_get_cache_stats' => array(
473
-            '5.4' => true,
474
-            'alternative' => null,
475
-        ),
59
+		'call_user_method' => array(
60
+			'5.3' => false,
61
+			'7.0' => true,
62
+			'alternative' => 'call_user_func()',
63
+		),
64
+		'call_user_method_array' => array(
65
+			'5.3' => false,
66
+			'7.0' => true,
67
+			'alternative' => 'call_user_func_array()',
68
+		),
69
+		'define_syslog_variables' => array(
70
+			'5.3' => false,
71
+			'5.4' => true,
72
+			'alternative' => null,
73
+		),
74
+		'dl' => array(
75
+			'5.3' => false,
76
+			'alternative' => null,
77
+		),
78
+		'ereg' => array(
79
+			'5.3' => false,
80
+			'7.0' => true,
81
+			'alternative' => 'preg_match()',
82
+		),
83
+		'ereg_replace' => array(
84
+			'5.3' => false,
85
+			'7.0' => true,
86
+			'alternative' => 'preg_replace()',
87
+		),
88
+		'eregi' => array(
89
+			'5.3' => false,
90
+			'7.0' => true,
91
+			'alternative' => 'preg_match()',
92
+		),
93
+		'eregi_replace' => array(
94
+			'5.3' => false,
95
+			'7.0' => true,
96
+			'alternative' => 'preg_replace()',
97
+		),
98
+		'imagepsbbox' => array(
99
+			'7.0' => true,
100
+			'alternative' => null,
101
+		),
102
+		'imagepsencodefont' => array(
103
+			'7.0' => true,
104
+			'alternative' => null,
105
+		),
106
+		'imagepsextendfont' => array(
107
+			'7.0' => true,
108
+			'alternative' => null,
109
+		),
110
+		'imagepsfreefont' => array(
111
+			'7.0' => true,
112
+			'alternative' => null,
113
+		),
114
+		'imagepsloadfont' => array(
115
+			'7.0' => true,
116
+			'alternative' => null,
117
+		),
118
+		'imagepsslantfont' => array(
119
+			'7.0' => true,
120
+			'alternative' => null,
121
+		),
122
+		'imagepstext' => array(
123
+			'7.0' => true,
124
+			'alternative' => null,
125
+		),
126
+		'import_request_variables' => array(
127
+			'5.3' => false,
128
+			'5.4' => true,
129
+			'alternative' => null,
130
+		),
131
+		'ldap_sort' => array(
132
+			'7.0' => false,
133
+			'alternative' => null,
134
+		),
135
+		'mcrypt_generic_end' => array(
136
+			'5.3' => false,
137
+			'7.0' => true,
138
+			'alternative' => 'mcrypt_generic_deinit()',
139
+		),
140
+		'mysql_db_query' => array(
141
+			'5.3' => false,
142
+			'7.0' => true,
143
+			'alternative' => 'mysqli::select_db() and mysqli::query()',
144
+		),
145
+		'mysql_escape_string' => array(
146
+			'5.3' => false,
147
+			'7.0' => true,
148
+			'alternative' => 'mysqli::real_escape_string()',
149
+		),
150
+		'mysql_list_dbs' => array(
151
+			'5.4' => false,
152
+			'7.0' => true,
153
+			'alternative' => null,
154
+		),
155
+		'mysqli_bind_param' => array(
156
+			'5.3' => false,
157
+			'5.4' => true,
158
+			'alternative' => 'mysqli_stmt::bind_param()',
159
+		),
160
+		'mysqli_bind_result' => array(
161
+			'5.3' => false,
162
+			'5.4' => true,
163
+			'alternative' => 'mysqli_stmt::bind_result()',
164
+		),
165
+		'mysqli_client_encoding' => array(
166
+			'5.3' => false,
167
+			'5.4' => true,
168
+			'alternative' => 'mysqli::character_set_name()',
169
+		),
170
+		'mysqli_fetch' => array(
171
+			'5.3' => false,
172
+			'5.4' => true,
173
+			'alternative' => 'mysqli_stmt::fetch()',
174
+		),
175
+		'mysqli_param_count' => array(
176
+			'5.3' => false,
177
+			'5.4' => true,
178
+			'alternative' => 'mysqli_stmt_param_count()',
179
+		),
180
+		'mysqli_get_metadata' => array(
181
+			'5.3' => false,
182
+			'5.4' => true,
183
+			'alternative' => 'mysqli_stmt::result_metadata()',
184
+		),
185
+		'mysqli_send_long_data' => array(
186
+			'5.3' => false,
187
+			'5.4' => true,
188
+			'alternative' => 'mysqli_stmt::send_long_data()',
189
+		),
190
+		'magic_quotes_runtime' => array(
191
+			'5.3' => false,
192
+			'7.0' => true,
193
+			'alternative' => null,
194
+		),
195
+		'session_register' => array(
196
+			'5.3' => false,
197
+			'5.4' => true,
198
+			'alternative' => '$_SESSION',
199
+		),
200
+		'session_unregister' => array(
201
+			'5.3' => false,
202
+			'5.4' => true,
203
+			'alternative' => '$_SESSION',
204
+		),
205
+		'session_is_registered' => array(
206
+			'5.3' => false,
207
+			'5.4' => true,
208
+			'alternative' => '$_SESSION',
209
+		),
210
+		'set_magic_quotes_runtime' => array(
211
+			'5.3' => false,
212
+			'7.0' => true,
213
+			'alternative' => null,
214
+		),
215
+		'set_socket_blocking' => array(
216
+			'5.3' => false,
217
+			'7.0' => true,
218
+			'alternative' => 'stream_set_blocking()',
219
+		),
220
+		'split' => array(
221
+			'5.3' => false,
222
+			'7.0' => true,
223
+			'alternative' => 'preg_split()',
224
+		),
225
+		'spliti' => array(
226
+			'5.3' => false,
227
+			'7.0' => true,
228
+			'alternative' => 'preg_split()',
229
+		),
230
+		'sql_regcase' => array(
231
+			'5.3' => false,
232
+			'7.0' => true,
233
+			'alternative' => null,
234
+		),
235
+		'php_logo_guid' => array(
236
+			'5.5' => true,
237
+			'alternative' => null,
238
+		),
239
+		'php_egg_logo_guid' => array(
240
+			'5.5' => true,
241
+			'alternative' => null,
242
+		),
243
+		'php_real_logo_guid' => array(
244
+			'5.5' => true,
245
+			'alternative' => null,
246
+		),
247
+		'zend_logo_guid' => array(
248
+			'5.5' => true,
249
+			'alternative' => null,
250
+		),
251
+		'datefmt_set_timezone_id' => array(
252
+			'5.5' => false,
253
+			'7.0' => true,
254
+			'alternative' => 'IntlDateFormatter::setTimeZone()',
255
+		),
256
+		'mcrypt_ecb' => array(
257
+			'5.5' => false,
258
+			'7.0' => true,
259
+			'alternative' => null,
260
+		),
261
+		'mcrypt_cbc' => array(
262
+			'5.5' => false,
263
+			'7.0' => true,
264
+			'alternative' => null,
265
+		),
266
+		'mcrypt_cfb' => array(
267
+			'5.5' => false,
268
+			'7.0' => true,
269
+			'alternative' => null,
270
+		),
271
+		'mcrypt_ofb' => array(
272
+			'5.5' => false,
273
+			'7.0' => true,
274
+			'alternative' => null,
275
+		),
276
+		'ocibindbyname' => array(
277
+			'5.4' => false,
278
+			'alternative' => 'oci_bind_by_name()',
279
+		),
280
+		'ocicancel' => array(
281
+			'5.4' => false,
282
+			'alternative' => 'oci_cancel()',
283
+		),
284
+		'ocicloselob' => array(
285
+			'5.4' => false,
286
+			'alternative' => 'OCI-Lob::close()',
287
+		),
288
+		'ocicollappend' => array(
289
+			'5.4' => false,
290
+			'alternative' => 'OCI-Collection::append()',
291
+		),
292
+		'ocicollassign' => array(
293
+			'5.4' => false,
294
+			'alternative' => 'OCI-Collection::assign()',
295
+		),
296
+		'ocicollassignelem' => array(
297
+			'5.4' => false,
298
+			'alternative' => 'OCI-Collection::assignElem()',
299
+		),
300
+		'ocicollgetelem' => array(
301
+			'5.4' => false,
302
+			'alternative' => 'OCI-Collection::getElem()',
303
+		),
304
+		'ocicollmax' => array(
305
+			'5.4' => false,
306
+			'alternative' => 'OCI-Collection::max()',
307
+		),
308
+		'ocicollsize' => array(
309
+			'5.4' => false,
310
+			'alternative' => 'OCI-Collection::size()',
311
+		),
312
+		'ocicolltrim' => array(
313
+			'5.4' => false,
314
+			'alternative' => 'OCI-Collection::trim()',
315
+		),
316
+		'ocicolumnisnull' => array(
317
+			'5.4' => false,
318
+			'alternative' => 'oci_field_is_null()',
319
+		),
320
+		'ocicolumnname' => array(
321
+			'5.4' => false,
322
+			'alternative' => 'oci_field_name()',
323
+		),
324
+		'ocicolumnprecision' => array(
325
+			'5.4' => false,
326
+			'alternative' => 'oci_field_precision()',
327
+		),
328
+		'ocicolumnscale' => array(
329
+			'5.4' => false,
330
+			'alternative' => 'oci_field_scale()',
331
+		),
332
+		'ocicolumnsize' => array(
333
+			'5.4' => false,
334
+			'alternative' => 'oci_field_size()',
335
+		),
336
+		'ocicolumntype' => array(
337
+			'5.4' => false,
338
+			'alternative' => 'oci_field_type()',
339
+		),
340
+		'ocicolumntyperaw' => array(
341
+			'5.4' => false,
342
+			'alternative' => 'oci_field_type_raw()',
343
+		),
344
+		'ocicommit' => array(
345
+			'5.4' => false,
346
+			'alternative' => 'oci_commit()',
347
+		),
348
+		'ocidefinebyname' => array(
349
+			'5.4' => false,
350
+			'alternative' => 'oci_define_by_name()',
351
+		),
352
+		'ocierror' => array(
353
+			'5.4' => false,
354
+			'alternative' => 'oci_error()',
355
+		),
356
+		'ociexecute' => array(
357
+			'5.4' => false,
358
+			'alternative' => 'oci_execute()',
359
+		),
360
+		'ocifetch' => array(
361
+			'5.4' => false,
362
+			'alternative' => 'oci_fetch()',
363
+		),
364
+		'ocifetchinto' => array(
365
+			'5.4' => false,
366
+			'alternative' => null,
367
+		),
368
+		'ocifetchstatement' => array(
369
+			'5.4' => false,
370
+			'alternative' => 'oci_fetch_all()',
371
+		),
372
+		'ocifreecollection' => array(
373
+			'5.4' => false,
374
+			'alternative' => 'OCI-Collection::free()',
375
+		),
376
+		'ocifreecursor' => array(
377
+			'5.4' => false,
378
+			'alternative' => 'oci_free_statement()',
379
+		),
380
+		'ocifreedesc' => array(
381
+			'5.4' => false,
382
+			'alternative' => 'OCI-Lob::free()',
383
+		),
384
+		'ocifreestatement' => array(
385
+			'5.4' => false,
386
+			'alternative' => 'oci_free_statement()',
387
+		),
388
+		'ociinternaldebug' => array(
389
+			'5.4' => false,
390
+			'alternative' => 'oci_internal_debug()',
391
+		),
392
+		'ociloadlob' => array(
393
+			'5.4' => false,
394
+			'alternative' => 'OCI-Lob::load()',
395
+		),
396
+		'ocilogoff' => array(
397
+			'5.4' => false,
398
+			'alternative' => 'oci_close()',
399
+		),
400
+		'ocilogon' => array(
401
+			'5.4' => false,
402
+			'alternative' => 'oci_connect()',
403
+		),
404
+		'ocinewcollection' => array(
405
+			'5.4' => false,
406
+			'alternative' => 'oci_new_collection()',
407
+		),
408
+		'ocinewcursor' => array(
409
+			'5.4' => false,
410
+			'alternative' => 'oci_new_cursor()',
411
+		),
412
+		'ocinewdescriptor' => array(
413
+			'5.4' => false,
414
+			'alternative' => 'oci_new_descriptor()',
415
+		),
416
+		'ocinlogon' => array(
417
+			'5.4' => false,
418
+			'alternative' => 'oci_new_connect()',
419
+		),
420
+		'ocinumcols' => array(
421
+			'5.4' => false,
422
+			'alternative' => 'oci_num_fields()',
423
+		),
424
+		'ociparse' => array(
425
+			'5.4' => false,
426
+			'alternative' => 'oci_parse()',
427
+		),
428
+		'ociplogon' => array(
429
+			'5.4' => false,
430
+			'alternative' => 'oci_pconnect()',
431
+		),
432
+		'ociresult' => array(
433
+			'5.4' => false,
434
+			'alternative' => 'oci_result()',
435
+		),
436
+		'ocirollback' => array(
437
+			'5.4' => false,
438
+			'alternative' => 'oci_rollback()',
439
+		),
440
+		'ocirowcount' => array(
441
+			'5.4' => false,
442
+			'alternative' => 'oci_num_rows()',
443
+		),
444
+		'ocisavelob' => array(
445
+			'5.4' => false,
446
+			'alternative' => 'OCI-Lob::save()',
447
+		),
448
+		'ocisavelobfile' => array(
449
+			'5.4' => false,
450
+			'alternative' => 'OCI-Lob::import()',
451
+		),
452
+		'ociserverversion' => array(
453
+			'5.4' => false,
454
+			'alternative' => 'oci_server_version()',
455
+		),
456
+		'ocisetprefetch' => array(
457
+			'5.4' => false,
458
+			'alternative' => 'oci_set_prefetch()',
459
+		),
460
+		'ocistatementtype' => array(
461
+			'5.4' => false,
462
+			'alternative' => 'oci_statement_type()',
463
+		),
464
+		'ociwritelobtofile' => array(
465
+			'5.4' => false,
466
+			'alternative' => 'OCI-Lob::export()',
467
+		),
468
+		'ociwritetemporarylob' => array(
469
+			'5.4' => false,
470
+			'alternative' => 'OCI-Lob::writeTemporary()',
471
+		),
472
+		'mysqli_get_cache_stats' => array(
473
+			'5.4' => true,
474
+			'alternative' => null,
475
+		),
476 476
 
477
-        'mcrypt_create_iv' => array(
478
-            '7.1' => false,
479
-            '7.2' => true,
480
-            'alternative' => 'random_bytes() or OpenSSL',
481
-        ),
482
-        'mcrypt_decrypt' => array(
483
-            '7.1' => false,
484
-            '7.2' => true,
485
-            'alternative' => 'OpenSSL',
486
-        ),
487
-        'mcrypt_enc_get_algorithms_name' => array(
488
-            '7.1' => false,
489
-            '7.2' => true,
490
-            'alternative' => 'OpenSSL',
491
-        ),
492
-        'mcrypt_enc_get_block_size' => array(
493
-            '7.1' => false,
494
-            '7.2' => true,
495
-            'alternative' => 'OpenSSL',
496
-        ),
497
-        'mcrypt_enc_get_iv_size' => array(
498
-            '7.1' => false,
499
-            '7.2' => true,
500
-            'alternative' => 'OpenSSL',
501
-        ),
502
-        'mcrypt_enc_get_key_size' => array(
503
-            '7.1' => false,
504
-            '7.2' => true,
505
-            'alternative' => 'OpenSSL',
506
-        ),
507
-        'mcrypt_enc_get_modes_name' => array(
508
-            '7.1' => false,
509
-            '7.2' => true,
510
-            'alternative' => 'OpenSSL',
511
-        ),
512
-        'mcrypt_enc_get_supported_key_sizes' => array(
513
-            '7.1' => false,
514
-            '7.2' => true,
515
-            'alternative' => 'OpenSSL',
516
-        ),
517
-        'mcrypt_enc_is_block_algorithm_mode' => array(
518
-            '7.1' => false,
519
-            '7.2' => true,
520
-            'alternative' => 'OpenSSL',
521
-        ),
522
-        'mcrypt_enc_is_block_algorithm' => array(
523
-            '7.1' => false,
524
-            '7.2' => true,
525
-            'alternative' => 'OpenSSL',
526
-        ),
527
-        'mcrypt_enc_is_block_mode' => array(
528
-            '7.1' => false,
529
-            '7.2' => true,
530
-            'alternative' => 'OpenSSL',
531
-        ),
532
-        'mcrypt_enc_self_test' => array(
533
-            '7.1' => false,
534
-            '7.2' => true,
535
-            'alternative' => 'OpenSSL',
536
-        ),
537
-        'mcrypt_encrypt' => array(
538
-            '7.1' => false,
539
-            '7.2' => true,
540
-            'alternative' => 'OpenSSL',
541
-        ),
542
-        'mcrypt_generic_deinit' => array(
543
-            '7.1' => false,
544
-            '7.2' => true,
545
-            'alternative' => 'OpenSSL',
546
-        ),
547
-        'mcrypt_generic_init' => array(
548
-            '7.1' => false,
549
-            '7.2' => true,
550
-            'alternative' => 'OpenSSL',
551
-        ),
552
-        'mcrypt_generic' => array(
553
-            '7.1' => false,
554
-            '7.2' => true,
555
-            'alternative' => 'OpenSSL',
556
-        ),
557
-        'mcrypt_get_block_size' => array(
558
-            '7.1' => false,
559
-            '7.2' => true,
560
-            'alternative' => 'OpenSSL',
561
-        ),
562
-        'mcrypt_get_cipher_name' => array(
563
-            '7.1' => false,
564
-            '7.2' => true,
565
-            'alternative' => 'OpenSSL',
566
-        ),
567
-        'mcrypt_get_iv_size' => array(
568
-            '7.1' => false,
569
-            '7.2' => true,
570
-            'alternative' => 'OpenSSL',
571
-        ),
572
-        'mcrypt_get_key_size' => array(
573
-            '7.1' => false,
574
-            '7.2' => true,
575
-            'alternative' => 'OpenSSL',
576
-        ),
577
-        'mcrypt_list_algorithms' => array(
578
-            '7.1' => false,
579
-            '7.2' => true,
580
-            'alternative' => 'OpenSSL',
581
-        ),
582
-        'mcrypt_list_modes' => array(
583
-            '7.1' => false,
584
-            '7.2' => true,
585
-            'alternative' => 'OpenSSL',
586
-        ),
587
-        'mcrypt_module_close' => array(
588
-            '7.1' => false,
589
-            '7.2' => true,
590
-            'alternative' => 'OpenSSL',
591
-        ),
592
-        'mcrypt_module_get_algo_block_size' => array(
593
-            '7.1' => false,
594
-            '7.2' => true,
595
-            'alternative' => 'OpenSSL',
596
-        ),
597
-        'mcrypt_module_get_algo_key_size' => array(
598
-            '7.1' => false,
599
-            '7.2' => true,
600
-            'alternative' => 'OpenSSL',
601
-        ),
602
-        'mcrypt_module_get_supported_key_sizes' => array(
603
-            '7.1' => false,
604
-            '7.2' => true,
605
-            'alternative' => 'OpenSSL',
606
-        ),
607
-        'mcrypt_module_is_block_algorithm_mode' => array(
608
-            '7.1' => false,
609
-            '7.2' => true,
610
-            'alternative' => 'OpenSSL',
611
-        ),
612
-        'mcrypt_module_is_block_algorithm' => array(
613
-            '7.1' => false,
614
-            '7.2' => true,
615
-            'alternative' => 'OpenSSL',
616
-        ),
617
-        'mcrypt_module_is_block_mode' => array(
618
-            '7.1' => false,
619
-            '7.2' => true,
620
-            'alternative' => 'OpenSSL',
621
-        ),
622
-        'mcrypt_module_open' => array(
623
-            '7.1' => false,
624
-            '7.2' => true,
625
-            'alternative' => 'OpenSSL',
626
-        ),
627
-        'mcrypt_module_self_test' => array(
628
-            '7.1' => false,
629
-            '7.2' => true,
630
-            'alternative' => 'OpenSSL',
631
-        ),
632
-        'mdecrypt_generic' => array(
633
-            '7.1' => false,
634
-            '7.2' => true,
635
-            'alternative' => 'OpenSSL',
636
-        ),
637
-        'jpeg2wbmp' => array(
638
-            '7.2' => false,
639
-            'alternative' => 'imagecreatefromjpeg() and imagewbmp()',
640
-        ),
641
-        'png2wbmp' => array(
642
-            '7.2' => false,
643
-            'alternative' => 'imagecreatefrompng() or imagewbmp()',
644
-        ),
645
-        'create_function' => array(
646
-            '7.2' => false,
647
-            'alternative' => 'an anonymous function',
648
-        ),
649
-        'each' => array(
650
-            '7.2' => false,
651
-            'alternative' => 'a foreach loop',
652
-        ),
653
-        'gmp_random' => array(
654
-            '7.2' => false,
655
-            'alternative' => 'gmp_random_bits() or gmp_random_range()',
656
-        ),
657
-        'read_exif_data' => array(
658
-            '7.2' => false,
659
-            'alternative' => 'exif_read_data()',
660
-        ),
477
+		'mcrypt_create_iv' => array(
478
+			'7.1' => false,
479
+			'7.2' => true,
480
+			'alternative' => 'random_bytes() or OpenSSL',
481
+		),
482
+		'mcrypt_decrypt' => array(
483
+			'7.1' => false,
484
+			'7.2' => true,
485
+			'alternative' => 'OpenSSL',
486
+		),
487
+		'mcrypt_enc_get_algorithms_name' => array(
488
+			'7.1' => false,
489
+			'7.2' => true,
490
+			'alternative' => 'OpenSSL',
491
+		),
492
+		'mcrypt_enc_get_block_size' => array(
493
+			'7.1' => false,
494
+			'7.2' => true,
495
+			'alternative' => 'OpenSSL',
496
+		),
497
+		'mcrypt_enc_get_iv_size' => array(
498
+			'7.1' => false,
499
+			'7.2' => true,
500
+			'alternative' => 'OpenSSL',
501
+		),
502
+		'mcrypt_enc_get_key_size' => array(
503
+			'7.1' => false,
504
+			'7.2' => true,
505
+			'alternative' => 'OpenSSL',
506
+		),
507
+		'mcrypt_enc_get_modes_name' => array(
508
+			'7.1' => false,
509
+			'7.2' => true,
510
+			'alternative' => 'OpenSSL',
511
+		),
512
+		'mcrypt_enc_get_supported_key_sizes' => array(
513
+			'7.1' => false,
514
+			'7.2' => true,
515
+			'alternative' => 'OpenSSL',
516
+		),
517
+		'mcrypt_enc_is_block_algorithm_mode' => array(
518
+			'7.1' => false,
519
+			'7.2' => true,
520
+			'alternative' => 'OpenSSL',
521
+		),
522
+		'mcrypt_enc_is_block_algorithm' => array(
523
+			'7.1' => false,
524
+			'7.2' => true,
525
+			'alternative' => 'OpenSSL',
526
+		),
527
+		'mcrypt_enc_is_block_mode' => array(
528
+			'7.1' => false,
529
+			'7.2' => true,
530
+			'alternative' => 'OpenSSL',
531
+		),
532
+		'mcrypt_enc_self_test' => array(
533
+			'7.1' => false,
534
+			'7.2' => true,
535
+			'alternative' => 'OpenSSL',
536
+		),
537
+		'mcrypt_encrypt' => array(
538
+			'7.1' => false,
539
+			'7.2' => true,
540
+			'alternative' => 'OpenSSL',
541
+		),
542
+		'mcrypt_generic_deinit' => array(
543
+			'7.1' => false,
544
+			'7.2' => true,
545
+			'alternative' => 'OpenSSL',
546
+		),
547
+		'mcrypt_generic_init' => array(
548
+			'7.1' => false,
549
+			'7.2' => true,
550
+			'alternative' => 'OpenSSL',
551
+		),
552
+		'mcrypt_generic' => array(
553
+			'7.1' => false,
554
+			'7.2' => true,
555
+			'alternative' => 'OpenSSL',
556
+		),
557
+		'mcrypt_get_block_size' => array(
558
+			'7.1' => false,
559
+			'7.2' => true,
560
+			'alternative' => 'OpenSSL',
561
+		),
562
+		'mcrypt_get_cipher_name' => array(
563
+			'7.1' => false,
564
+			'7.2' => true,
565
+			'alternative' => 'OpenSSL',
566
+		),
567
+		'mcrypt_get_iv_size' => array(
568
+			'7.1' => false,
569
+			'7.2' => true,
570
+			'alternative' => 'OpenSSL',
571
+		),
572
+		'mcrypt_get_key_size' => array(
573
+			'7.1' => false,
574
+			'7.2' => true,
575
+			'alternative' => 'OpenSSL',
576
+		),
577
+		'mcrypt_list_algorithms' => array(
578
+			'7.1' => false,
579
+			'7.2' => true,
580
+			'alternative' => 'OpenSSL',
581
+		),
582
+		'mcrypt_list_modes' => array(
583
+			'7.1' => false,
584
+			'7.2' => true,
585
+			'alternative' => 'OpenSSL',
586
+		),
587
+		'mcrypt_module_close' => array(
588
+			'7.1' => false,
589
+			'7.2' => true,
590
+			'alternative' => 'OpenSSL',
591
+		),
592
+		'mcrypt_module_get_algo_block_size' => array(
593
+			'7.1' => false,
594
+			'7.2' => true,
595
+			'alternative' => 'OpenSSL',
596
+		),
597
+		'mcrypt_module_get_algo_key_size' => array(
598
+			'7.1' => false,
599
+			'7.2' => true,
600
+			'alternative' => 'OpenSSL',
601
+		),
602
+		'mcrypt_module_get_supported_key_sizes' => array(
603
+			'7.1' => false,
604
+			'7.2' => true,
605
+			'alternative' => 'OpenSSL',
606
+		),
607
+		'mcrypt_module_is_block_algorithm_mode' => array(
608
+			'7.1' => false,
609
+			'7.2' => true,
610
+			'alternative' => 'OpenSSL',
611
+		),
612
+		'mcrypt_module_is_block_algorithm' => array(
613
+			'7.1' => false,
614
+			'7.2' => true,
615
+			'alternative' => 'OpenSSL',
616
+		),
617
+		'mcrypt_module_is_block_mode' => array(
618
+			'7.1' => false,
619
+			'7.2' => true,
620
+			'alternative' => 'OpenSSL',
621
+		),
622
+		'mcrypt_module_open' => array(
623
+			'7.1' => false,
624
+			'7.2' => true,
625
+			'alternative' => 'OpenSSL',
626
+		),
627
+		'mcrypt_module_self_test' => array(
628
+			'7.1' => false,
629
+			'7.2' => true,
630
+			'alternative' => 'OpenSSL',
631
+		),
632
+		'mdecrypt_generic' => array(
633
+			'7.1' => false,
634
+			'7.2' => true,
635
+			'alternative' => 'OpenSSL',
636
+		),
637
+		'jpeg2wbmp' => array(
638
+			'7.2' => false,
639
+			'alternative' => 'imagecreatefromjpeg() and imagewbmp()',
640
+		),
641
+		'png2wbmp' => array(
642
+			'7.2' => false,
643
+			'alternative' => 'imagecreatefrompng() or imagewbmp()',
644
+		),
645
+		'create_function' => array(
646
+			'7.2' => false,
647
+			'alternative' => 'an anonymous function',
648
+		),
649
+		'each' => array(
650
+			'7.2' => false,
651
+			'alternative' => 'a foreach loop',
652
+		),
653
+		'gmp_random' => array(
654
+			'7.2' => false,
655
+			'alternative' => 'gmp_random_bits() or gmp_random_range()',
656
+		),
657
+		'read_exif_data' => array(
658
+			'7.2' => false,
659
+			'alternative' => 'exif_read_data()',
660
+		),
661 661
 
662
-        'image2wbmp' => array(
663
-            '7.3' => false,
664
-            'alternative' => 'imagewbmp()',
665
-        ),
666
-        'mbregex_encoding' => array(
667
-            '7.3' => false,
668
-            'alternative' => 'mb_regex_encoding()',
669
-        ),
670
-        'mbereg' => array(
671
-            '7.3' => false,
672
-            'alternative' => 'mb_ereg()',
673
-        ),
674
-        'mberegi' => array(
675
-            '7.3' => false,
676
-            'alternative' => 'mb_eregi()',
677
-        ),
678
-        'mbereg_replace' => array(
679
-            '7.3' => false,
680
-            'alternative' => 'mb_ereg_replace()',
681
-        ),
682
-        'mberegi_replace' => array(
683
-            '7.3' => false,
684
-            'alternative' => 'mb_eregi_replace()',
685
-        ),
686
-        'mbsplit' => array(
687
-            '7.3' => false,
688
-            'alternative' => 'mb_split()',
689
-        ),
690
-        'mbereg_match' => array(
691
-            '7.3' => false,
692
-            'alternative' => 'mb_ereg_match()',
693
-        ),
694
-        'mbereg_search' => array(
695
-            '7.3' => false,
696
-            'alternative' => 'mb_ereg_search()',
697
-        ),
698
-        'mbereg_search_pos' => array(
699
-            '7.3' => false,
700
-            'alternative' => 'mb_ereg_search_pos()',
701
-        ),
702
-        'mbereg_search_regs' => array(
703
-            '7.3' => false,
704
-            'alternative' => 'mb_ereg_search_regs()',
705
-        ),
706
-        'mbereg_search_init' => array(
707
-            '7.3' => false,
708
-            'alternative' => 'mb_ereg_search_init()',
709
-        ),
710
-        'mbereg_search_getregs' => array(
711
-            '7.3' => false,
712
-            'alternative' => 'mb_ereg_search_getregs()',
713
-        ),
714
-        'mbereg_search_getpos' => array(
715
-            '7.3' => false,
716
-            'alternative' => 'mb_ereg_search_getpos()',
717
-        ),
718
-        'mbereg_search_setpos' => array(
719
-            '7.3' => false,
720
-            'alternative' => 'mb_ereg_search_setpos()',
721
-        ),
722
-        'fgetss' => array(
723
-            '7.3' => false,
724
-            'alternative' => null,
725
-        ),
726
-        'gzgetss' => array(
727
-            '7.3' => false,
728
-            'alternative' => null,
729
-        ),
662
+		'image2wbmp' => array(
663
+			'7.3' => false,
664
+			'alternative' => 'imagewbmp()',
665
+		),
666
+		'mbregex_encoding' => array(
667
+			'7.3' => false,
668
+			'alternative' => 'mb_regex_encoding()',
669
+		),
670
+		'mbereg' => array(
671
+			'7.3' => false,
672
+			'alternative' => 'mb_ereg()',
673
+		),
674
+		'mberegi' => array(
675
+			'7.3' => false,
676
+			'alternative' => 'mb_eregi()',
677
+		),
678
+		'mbereg_replace' => array(
679
+			'7.3' => false,
680
+			'alternative' => 'mb_ereg_replace()',
681
+		),
682
+		'mberegi_replace' => array(
683
+			'7.3' => false,
684
+			'alternative' => 'mb_eregi_replace()',
685
+		),
686
+		'mbsplit' => array(
687
+			'7.3' => false,
688
+			'alternative' => 'mb_split()',
689
+		),
690
+		'mbereg_match' => array(
691
+			'7.3' => false,
692
+			'alternative' => 'mb_ereg_match()',
693
+		),
694
+		'mbereg_search' => array(
695
+			'7.3' => false,
696
+			'alternative' => 'mb_ereg_search()',
697
+		),
698
+		'mbereg_search_pos' => array(
699
+			'7.3' => false,
700
+			'alternative' => 'mb_ereg_search_pos()',
701
+		),
702
+		'mbereg_search_regs' => array(
703
+			'7.3' => false,
704
+			'alternative' => 'mb_ereg_search_regs()',
705
+		),
706
+		'mbereg_search_init' => array(
707
+			'7.3' => false,
708
+			'alternative' => 'mb_ereg_search_init()',
709
+		),
710
+		'mbereg_search_getregs' => array(
711
+			'7.3' => false,
712
+			'alternative' => 'mb_ereg_search_getregs()',
713
+		),
714
+		'mbereg_search_getpos' => array(
715
+			'7.3' => false,
716
+			'alternative' => 'mb_ereg_search_getpos()',
717
+		),
718
+		'mbereg_search_setpos' => array(
719
+			'7.3' => false,
720
+			'alternative' => 'mb_ereg_search_setpos()',
721
+		),
722
+		'fgetss' => array(
723
+			'7.3' => false,
724
+			'alternative' => null,
725
+		),
726
+		'gzgetss' => array(
727
+			'7.3' => false,
728
+			'alternative' => null,
729
+		),
730 730
 
731
-        'ibase_add_user' => array(
732
-            '7.4' => true,
733
-            'alternative' => null,
734
-        ),
735
-        'ibase_affected_rows' => array(
736
-            '7.4' => true,
737
-            'alternative' => null,
738
-        ),
739
-        'ibase_backup' => array(
740
-            '7.4' => true,
741
-            'alternative' => null,
742
-        ),
743
-        'ibase_blob_add' => array(
744
-            '7.4' => true,
745
-            'alternative' => null,
746
-        ),
747
-        'ibase_blob_cancel' => array(
748
-            '7.4' => true,
749
-            'alternative' => null,
750
-        ),
751
-        'ibase_blob_close' => array(
752
-            '7.4' => true,
753
-            'alternative' => null,
754
-        ),
755
-        'ibase_blob_create' => array(
756
-            '7.4' => true,
757
-            'alternative' => null,
758
-        ),
759
-        'ibase_blob_echo' => array(
760
-            '7.4' => true,
761
-            'alternative' => null,
762
-        ),
763
-        'ibase_blob_get' => array(
764
-            '7.4' => true,
765
-            'alternative' => null,
766
-        ),
767
-        'ibase_blob_import' => array(
768
-            '7.4' => true,
769
-            'alternative' => null,
770
-        ),
771
-        'ibase_blob_info' => array(
772
-            '7.4' => true,
773
-            'alternative' => null,
774
-        ),
775
-        'ibase_blob_open' => array(
776
-            '7.4' => true,
777
-            'alternative' => null,
778
-        ),
779
-        'ibase_close' => array(
780
-            '7.4' => true,
781
-            'alternative' => null,
782
-        ),
783
-        'ibase_commit_ret' => array(
784
-            '7.4' => true,
785
-            'alternative' => null,
786
-        ),
787
-        'ibase_commit' => array(
788
-            '7.4' => true,
789
-            'alternative' => null,
790
-        ),
791
-        'ibase_connect' => array(
792
-            '7.4' => true,
793
-            'alternative' => null,
794
-        ),
795
-        'ibase_db_info' => array(
796
-            '7.4' => true,
797
-            'alternative' => null,
798
-        ),
799
-        'ibase_delete_user' => array(
800
-            '7.4' => true,
801
-            'alternative' => null,
802
-        ),
803
-        'ibase_drop_db' => array(
804
-            '7.4' => true,
805
-            'alternative' => null,
806
-        ),
807
-        'ibase_errcode' => array(
808
-            '7.4' => true,
809
-            'alternative' => null,
810
-        ),
811
-        'ibase_errmsg' => array(
812
-            '7.4' => true,
813
-            'alternative' => null,
814
-        ),
815
-        'ibase_execute' => array(
816
-            '7.4' => true,
817
-            'alternative' => null,
818
-        ),
819
-        'ibase_fetch_assoc' => array(
820
-            '7.4' => true,
821
-            'alternative' => null,
822
-        ),
823
-        'ibase_fetch_object' => array(
824
-            '7.4' => true,
825
-            'alternative' => null,
826
-        ),
827
-        'ibase_fetch_row' => array(
828
-            '7.4' => true,
829
-            'alternative' => null,
830
-        ),
831
-        'ibase_field_info' => array(
832
-            '7.4' => true,
833
-            'alternative' => null,
834
-        ),
835
-        'ibase_free_event_handler' => array(
836
-            '7.4' => true,
837
-            'alternative' => null,
838
-        ),
839
-        'ibase_free_query' => array(
840
-            '7.4' => true,
841
-            'alternative' => null,
842
-        ),
843
-        'ibase_free_result' => array(
844
-            '7.4' => true,
845
-            'alternative' => null,
846
-        ),
847
-        'ibase_gen_id' => array(
848
-            '7.4' => true,
849
-            'alternative' => null,
850
-        ),
851
-        'ibase_maintain_db' => array(
852
-            '7.4' => true,
853
-            'alternative' => null,
854
-        ),
855
-        'ibase_modify_user' => array(
856
-            '7.4' => true,
857
-            'alternative' => null,
858
-        ),
859
-        'ibase_name_result' => array(
860
-            '7.4' => true,
861
-            'alternative' => null,
862
-        ),
863
-        'ibase_num_fields' => array(
864
-            '7.4' => true,
865
-            'alternative' => null,
866
-        ),
867
-        'ibase_num_params' => array(
868
-            '7.4' => true,
869
-            'alternative' => null,
870
-        ),
871
-        'ibase_param_info' => array(
872
-            '7.4' => true,
873
-            'alternative' => null,
874
-        ),
875
-        'ibase_pconnect' => array(
876
-            '7.4' => true,
877
-            'alternative' => null,
878
-        ),
879
-        'ibase_prepare' => array(
880
-            '7.4' => true,
881
-            'alternative' => null,
882
-        ),
883
-        'ibase_query' => array(
884
-            '7.4' => true,
885
-            'alternative' => null,
886
-        ),
887
-        'ibase_restore' => array(
888
-            '7.4' => true,
889
-            'alternative' => null,
890
-        ),
891
-        'ibase_rollback_ret' => array(
892
-            '7.4' => true,
893
-            'alternative' => null,
894
-        ),
895
-        'ibase_rollback' => array(
896
-            '7.4' => true,
897
-            'alternative' => null,
898
-        ),
899
-        'ibase_server_info' => array(
900
-            '7.4' => true,
901
-            'alternative' => null,
902
-        ),
903
-        'ibase_service_attach' => array(
904
-            '7.4' => true,
905
-            'alternative' => null,
906
-        ),
907
-        'ibase_service_detach' => array(
908
-            '7.4' => true,
909
-            'alternative' => null,
910
-        ),
911
-        'ibase_set_event_handler' => array(
912
-            '7.4' => true,
913
-            'alternative' => null,
914
-        ),
915
-        'ibase_trans' => array(
916
-            '7.4' => true,
917
-            'alternative' => null,
918
-        ),
919
-        'ibase_wait_event' => array(
920
-            '7.4' => true,
921
-            'alternative' => null,
922
-        ),
923
-        'ldap_control_paged_result_response' => array(
924
-            '7.4' => false,
925
-            'alternative' => 'ldap_search()',
926
-        ),
927
-        'ldap_control_paged_result' => array(
928
-            '7.4' => false,
929
-            'alternative' => 'ldap_search()',
930
-        ),
931
-        'wddx_add_vars' => array(
932
-            '7.4' => true,
933
-            'alternative' => null,
934
-        ),
935
-        'wddx_deserialize' => array(
936
-            '7.4' => true,
937
-            'alternative' => null,
938
-        ),
939
-        'wddx_packet_end' => array(
940
-            '7.4' => true,
941
-            'alternative' => null,
942
-        ),
943
-        'wddx_packet_start' => array(
944
-            '7.4' => true,
945
-            'alternative' => null,
946
-        ),
947
-        'wddx_serialize_value' => array(
948
-            '7.4' => true,
949
-            'alternative' => null,
950
-        ),
951
-        'wddx_serialize_vars' => array(
952
-            '7.4' => true,
953
-            'alternative' => null,
954
-        ),
955
-    );
731
+		'ibase_add_user' => array(
732
+			'7.4' => true,
733
+			'alternative' => null,
734
+		),
735
+		'ibase_affected_rows' => array(
736
+			'7.4' => true,
737
+			'alternative' => null,
738
+		),
739
+		'ibase_backup' => array(
740
+			'7.4' => true,
741
+			'alternative' => null,
742
+		),
743
+		'ibase_blob_add' => array(
744
+			'7.4' => true,
745
+			'alternative' => null,
746
+		),
747
+		'ibase_blob_cancel' => array(
748
+			'7.4' => true,
749
+			'alternative' => null,
750
+		),
751
+		'ibase_blob_close' => array(
752
+			'7.4' => true,
753
+			'alternative' => null,
754
+		),
755
+		'ibase_blob_create' => array(
756
+			'7.4' => true,
757
+			'alternative' => null,
758
+		),
759
+		'ibase_blob_echo' => array(
760
+			'7.4' => true,
761
+			'alternative' => null,
762
+		),
763
+		'ibase_blob_get' => array(
764
+			'7.4' => true,
765
+			'alternative' => null,
766
+		),
767
+		'ibase_blob_import' => array(
768
+			'7.4' => true,
769
+			'alternative' => null,
770
+		),
771
+		'ibase_blob_info' => array(
772
+			'7.4' => true,
773
+			'alternative' => null,
774
+		),
775
+		'ibase_blob_open' => array(
776
+			'7.4' => true,
777
+			'alternative' => null,
778
+		),
779
+		'ibase_close' => array(
780
+			'7.4' => true,
781
+			'alternative' => null,
782
+		),
783
+		'ibase_commit_ret' => array(
784
+			'7.4' => true,
785
+			'alternative' => null,
786
+		),
787
+		'ibase_commit' => array(
788
+			'7.4' => true,
789
+			'alternative' => null,
790
+		),
791
+		'ibase_connect' => array(
792
+			'7.4' => true,
793
+			'alternative' => null,
794
+		),
795
+		'ibase_db_info' => array(
796
+			'7.4' => true,
797
+			'alternative' => null,
798
+		),
799
+		'ibase_delete_user' => array(
800
+			'7.4' => true,
801
+			'alternative' => null,
802
+		),
803
+		'ibase_drop_db' => array(
804
+			'7.4' => true,
805
+			'alternative' => null,
806
+		),
807
+		'ibase_errcode' => array(
808
+			'7.4' => true,
809
+			'alternative' => null,
810
+		),
811
+		'ibase_errmsg' => array(
812
+			'7.4' => true,
813
+			'alternative' => null,
814
+		),
815
+		'ibase_execute' => array(
816
+			'7.4' => true,
817
+			'alternative' => null,
818
+		),
819
+		'ibase_fetch_assoc' => array(
820
+			'7.4' => true,
821
+			'alternative' => null,
822
+		),
823
+		'ibase_fetch_object' => array(
824
+			'7.4' => true,
825
+			'alternative' => null,
826
+		),
827
+		'ibase_fetch_row' => array(
828
+			'7.4' => true,
829
+			'alternative' => null,
830
+		),
831
+		'ibase_field_info' => array(
832
+			'7.4' => true,
833
+			'alternative' => null,
834
+		),
835
+		'ibase_free_event_handler' => array(
836
+			'7.4' => true,
837
+			'alternative' => null,
838
+		),
839
+		'ibase_free_query' => array(
840
+			'7.4' => true,
841
+			'alternative' => null,
842
+		),
843
+		'ibase_free_result' => array(
844
+			'7.4' => true,
845
+			'alternative' => null,
846
+		),
847
+		'ibase_gen_id' => array(
848
+			'7.4' => true,
849
+			'alternative' => null,
850
+		),
851
+		'ibase_maintain_db' => array(
852
+			'7.4' => true,
853
+			'alternative' => null,
854
+		),
855
+		'ibase_modify_user' => array(
856
+			'7.4' => true,
857
+			'alternative' => null,
858
+		),
859
+		'ibase_name_result' => array(
860
+			'7.4' => true,
861
+			'alternative' => null,
862
+		),
863
+		'ibase_num_fields' => array(
864
+			'7.4' => true,
865
+			'alternative' => null,
866
+		),
867
+		'ibase_num_params' => array(
868
+			'7.4' => true,
869
+			'alternative' => null,
870
+		),
871
+		'ibase_param_info' => array(
872
+			'7.4' => true,
873
+			'alternative' => null,
874
+		),
875
+		'ibase_pconnect' => array(
876
+			'7.4' => true,
877
+			'alternative' => null,
878
+		),
879
+		'ibase_prepare' => array(
880
+			'7.4' => true,
881
+			'alternative' => null,
882
+		),
883
+		'ibase_query' => array(
884
+			'7.4' => true,
885
+			'alternative' => null,
886
+		),
887
+		'ibase_restore' => array(
888
+			'7.4' => true,
889
+			'alternative' => null,
890
+		),
891
+		'ibase_rollback_ret' => array(
892
+			'7.4' => true,
893
+			'alternative' => null,
894
+		),
895
+		'ibase_rollback' => array(
896
+			'7.4' => true,
897
+			'alternative' => null,
898
+		),
899
+		'ibase_server_info' => array(
900
+			'7.4' => true,
901
+			'alternative' => null,
902
+		),
903
+		'ibase_service_attach' => array(
904
+			'7.4' => true,
905
+			'alternative' => null,
906
+		),
907
+		'ibase_service_detach' => array(
908
+			'7.4' => true,
909
+			'alternative' => null,
910
+		),
911
+		'ibase_set_event_handler' => array(
912
+			'7.4' => true,
913
+			'alternative' => null,
914
+		),
915
+		'ibase_trans' => array(
916
+			'7.4' => true,
917
+			'alternative' => null,
918
+		),
919
+		'ibase_wait_event' => array(
920
+			'7.4' => true,
921
+			'alternative' => null,
922
+		),
923
+		'ldap_control_paged_result_response' => array(
924
+			'7.4' => false,
925
+			'alternative' => 'ldap_search()',
926
+		),
927
+		'ldap_control_paged_result' => array(
928
+			'7.4' => false,
929
+			'alternative' => 'ldap_search()',
930
+		),
931
+		'wddx_add_vars' => array(
932
+			'7.4' => true,
933
+			'alternative' => null,
934
+		),
935
+		'wddx_deserialize' => array(
936
+			'7.4' => true,
937
+			'alternative' => null,
938
+		),
939
+		'wddx_packet_end' => array(
940
+			'7.4' => true,
941
+			'alternative' => null,
942
+		),
943
+		'wddx_packet_start' => array(
944
+			'7.4' => true,
945
+			'alternative' => null,
946
+		),
947
+		'wddx_serialize_value' => array(
948
+			'7.4' => true,
949
+			'alternative' => null,
950
+		),
951
+		'wddx_serialize_vars' => array(
952
+			'7.4' => true,
953
+			'alternative' => null,
954
+		),
955
+	);
956 956
 
957 957
 
958
-    /**
959
-     * Returns an array of tokens this test wants to listen for.
960
-     *
961
-     * @return array
962
-     */
963
-    public function register()
964
-    {
965
-        // Handle case-insensitivity of function names.
966
-        $this->removedFunctions = $this->arrayKeysToLowercase($this->removedFunctions);
958
+	/**
959
+	 * Returns an array of tokens this test wants to listen for.
960
+	 *
961
+	 * @return array
962
+	 */
963
+	public function register()
964
+	{
965
+		// Handle case-insensitivity of function names.
966
+		$this->removedFunctions = $this->arrayKeysToLowercase($this->removedFunctions);
967 967
 
968
-        return array(\T_STRING);
969
-    }
968
+		return array(\T_STRING);
969
+	}
970 970
 
971 971
 
972
-    /**
973
-     * Processes this test, when one of its tokens is encountered.
974
-     *
975
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
976
-     * @param int                   $stackPtr  The position of the current token in
977
-     *                                         the stack passed in $tokens.
978
-     *
979
-     * @return void
980
-     */
981
-    public function process(File $phpcsFile, $stackPtr)
982
-    {
983
-        $tokens = $phpcsFile->getTokens();
972
+	/**
973
+	 * Processes this test, when one of its tokens is encountered.
974
+	 *
975
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
976
+	 * @param int                   $stackPtr  The position of the current token in
977
+	 *                                         the stack passed in $tokens.
978
+	 *
979
+	 * @return void
980
+	 */
981
+	public function process(File $phpcsFile, $stackPtr)
982
+	{
983
+		$tokens = $phpcsFile->getTokens();
984 984
 
985
-        $ignore = array(
986
-            \T_DOUBLE_COLON    => true,
987
-            \T_OBJECT_OPERATOR => true,
988
-            \T_FUNCTION        => true,
989
-            \T_CLASS           => true,
990
-            \T_CONST           => true,
991
-            \T_USE             => true,
992
-            \T_NS_SEPARATOR    => true,
993
-        );
985
+		$ignore = array(
986
+			\T_DOUBLE_COLON    => true,
987
+			\T_OBJECT_OPERATOR => true,
988
+			\T_FUNCTION        => true,
989
+			\T_CLASS           => true,
990
+			\T_CONST           => true,
991
+			\T_USE             => true,
992
+			\T_NS_SEPARATOR    => true,
993
+		);
994 994
 
995
-        $prevToken = $phpcsFile->findPrevious(\T_WHITESPACE, ($stackPtr - 1), null, true);
996
-        if (isset($ignore[$tokens[$prevToken]['code']]) === true) {
997
-            // Not a call to a PHP function.
998
-            return;
999
-        }
995
+		$prevToken = $phpcsFile->findPrevious(\T_WHITESPACE, ($stackPtr - 1), null, true);
996
+		if (isset($ignore[$tokens[$prevToken]['code']]) === true) {
997
+			// Not a call to a PHP function.
998
+			return;
999
+		}
1000 1000
 
1001
-        $function   = $tokens[$stackPtr]['content'];
1002
-        $functionLc = strtolower($function);
1001
+		$function   = $tokens[$stackPtr]['content'];
1002
+		$functionLc = strtolower($function);
1003 1003
 
1004
-        if (isset($this->removedFunctions[$functionLc]) === false) {
1005
-            return;
1006
-        }
1004
+		if (isset($this->removedFunctions[$functionLc]) === false) {
1005
+			return;
1006
+		}
1007 1007
 
1008
-        $itemInfo = array(
1009
-            'name'   => $function,
1010
-            'nameLc' => $functionLc,
1011
-        );
1012
-        $this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
1013
-    }
1008
+		$itemInfo = array(
1009
+			'name'   => $function,
1010
+			'nameLc' => $functionLc,
1011
+		);
1012
+		$this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
1013
+	}
1014 1014
 
1015 1015
 
1016
-    /**
1017
-     * Get the relevant sub-array for a specific item from a multi-dimensional array.
1018
-     *
1019
-     * @param array $itemInfo Base information about the item.
1020
-     *
1021
-     * @return array Version and other information about the item.
1022
-     */
1023
-    public function getItemArray(array $itemInfo)
1024
-    {
1025
-        return $this->removedFunctions[$itemInfo['nameLc']];
1026
-    }
1016
+	/**
1017
+	 * Get the relevant sub-array for a specific item from a multi-dimensional array.
1018
+	 *
1019
+	 * @param array $itemInfo Base information about the item.
1020
+	 *
1021
+	 * @return array Version and other information about the item.
1022
+	 */
1023
+	public function getItemArray(array $itemInfo)
1024
+	{
1025
+		return $this->removedFunctions[$itemInfo['nameLc']];
1026
+	}
1027 1027
 
1028 1028
 
1029
-    /**
1030
-     * Get the error message template for this sniff.
1031
-     *
1032
-     * @return string
1033
-     */
1034
-    protected function getErrorMsgTemplate()
1035
-    {
1036
-        return 'Function %s() is ';
1037
-    }
1029
+	/**
1030
+	 * Get the error message template for this sniff.
1031
+	 *
1032
+	 * @return string
1033
+	 */
1034
+	protected function getErrorMsgTemplate()
1035
+	{
1036
+		return 'Function %s() is ';
1037
+	}
1038 1038
 }
Please login to merge, or discard this patch.
Spacing   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -963,9 +963,9 @@  discard block
 block discarded – undo
963 963
     public function register()
964 964
     {
965 965
         // Handle case-insensitivity of function names.
966
-        $this->removedFunctions = $this->arrayKeysToLowercase($this->removedFunctions);
966
+        $this->removedFunctions = $this->arrayKeysToLowercase( $this->removedFunctions );
967 967
 
968
-        return array(\T_STRING);
968
+        return array( \T_STRING );
969 969
     }
970 970
 
971 971
 
@@ -978,7 +978,7 @@  discard block
 block discarded – undo
978 978
      *
979 979
      * @return void
980 980
      */
981
-    public function process(File $phpcsFile, $stackPtr)
981
+    public function process( File $phpcsFile, $stackPtr )
982 982
     {
983 983
         $tokens = $phpcsFile->getTokens();
984 984
 
@@ -992,16 +992,16 @@  discard block
 block discarded – undo
992 992
             \T_NS_SEPARATOR    => true,
993 993
         );
994 994
 
995
-        $prevToken = $phpcsFile->findPrevious(\T_WHITESPACE, ($stackPtr - 1), null, true);
996
-        if (isset($ignore[$tokens[$prevToken]['code']]) === true) {
995
+        $prevToken = $phpcsFile->findPrevious( \T_WHITESPACE, ( $stackPtr - 1 ), null, true );
996
+        if ( isset( $ignore[ $tokens[ $prevToken ][ 'code' ] ] ) === true ) {
997 997
             // Not a call to a PHP function.
998 998
             return;
999 999
         }
1000 1000
 
1001
-        $function   = $tokens[$stackPtr]['content'];
1002
-        $functionLc = strtolower($function);
1001
+        $function   = $tokens[ $stackPtr ][ 'content' ];
1002
+        $functionLc = strtolower( $function );
1003 1003
 
1004
-        if (isset($this->removedFunctions[$functionLc]) === false) {
1004
+        if ( isset( $this->removedFunctions[ $functionLc ] ) === false ) {
1005 1005
             return;
1006 1006
         }
1007 1007
 
@@ -1009,7 +1009,7 @@  discard block
 block discarded – undo
1009 1009
             'name'   => $function,
1010 1010
             'nameLc' => $functionLc,
1011 1011
         );
1012
-        $this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
1012
+        $this->handleFeature( $phpcsFile, $stackPtr, $itemInfo );
1013 1013
     }
1014 1014
 
1015 1015
 
@@ -1020,9 +1020,9 @@  discard block
 block discarded – undo
1020 1020
      *
1021 1021
      * @return array Version and other information about the item.
1022 1022
      */
1023
-    public function getItemArray(array $itemInfo)
1023
+    public function getItemArray( array $itemInfo )
1024 1024
     {
1025
-        return $this->removedFunctions[$itemInfo['nameLc']];
1025
+        return $this->removedFunctions[ $itemInfo[ 'nameLc' ] ];
1026 1026
     }
1027 1027
 
1028 1028
 
Please login to merge, or discard this patch.
Braces   +5 added lines, -10 removed lines patch added patch discarded remove patch
@@ -19,8 +19,7 @@  discard block
 block discarded – undo
19 19
  * @package  PHPCompatibility
20 20
  * @author   Wim Godden <[email protected]>
21 21
  */
22
-class RemovedFunctionsSniff extends AbstractRemovedFeatureSniff
23
-{
22
+class RemovedFunctionsSniff extends AbstractRemovedFeatureSniff {
24 23
     /**
25 24
      * A list of deprecated and removed functions with their alternatives.
26 25
      *
@@ -960,8 +959,7 @@  discard block
 block discarded – undo
960 959
      *
961 960
      * @return array
962 961
      */
963
-    public function register()
964
-    {
962
+    public function register() {
965 963
         // Handle case-insensitivity of function names.
966 964
         $this->removedFunctions = $this->arrayKeysToLowercase($this->removedFunctions);
967 965
 
@@ -978,8 +976,7 @@  discard block
 block discarded – undo
978 976
      *
979 977
      * @return void
980 978
      */
981
-    public function process(File $phpcsFile, $stackPtr)
982
-    {
979
+    public function process(File $phpcsFile, $stackPtr) {
983 980
         $tokens = $phpcsFile->getTokens();
984 981
 
985 982
         $ignore = array(
@@ -1020,8 +1017,7 @@  discard block
 block discarded – undo
1020 1017
      *
1021 1018
      * @return array Version and other information about the item.
1022 1019
      */
1023
-    public function getItemArray(array $itemInfo)
1024
-    {
1020
+    public function getItemArray(array $itemInfo) {
1025 1021
         return $this->removedFunctions[$itemInfo['nameLc']];
1026 1022
     }
1027 1023
 
@@ -1031,8 +1027,7 @@  discard block
 block discarded – undo
1031 1027
      *
1032 1028
      * @return string
1033 1029
      */
1034
-    protected function getErrorMsgTemplate()
1035
-    {
1030
+    protected function getErrorMsgTemplate() {
1036 1031
         return 'Function %s() is ';
1037 1032
     }
1038 1033
 }
Please login to merge, or discard this patch.
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -65,7 +65,7 @@
 block discarded – undo
65 65
     /**
66 66
      * Returns an array of tokens this test wants to listen for.
67 67
      *
68
-     * @return array
68
+     * @return integer[]
69 69
      */
70 70
     public function register()
71 71
     {
Please login to merge, or discard this patch.
PHPCompatibility/Sniffs/FunctionUse/RemovedFunctionParametersSniff.php 4 patches
Indentation   +194 added lines, -194 removed lines patch added patch discarded remove patch
@@ -22,198 +22,198 @@
 block discarded – undo
22 22
  */
23 23
 class RemovedFunctionParametersSniff extends AbstractRemovedFeatureSniff
24 24
 {
25
-    /**
26
-     * A list of removed function parameters, which were present in older versions.
27
-     *
28
-     * The array lists : version number with false (deprecated) and true (removed).
29
-     * The index is the location of the parameter in the parameter list, starting at 0 !
30
-     * If's sufficient to list the first version where the function parameter was deprecated/removed.
31
-     *
32
-     * @var array
33
-     */
34
-    protected $removedFunctionParameters = array(
35
-        'define' => array(
36
-            2 => array(
37
-                'name' => 'case_insensitive',
38
-                '7.3'  => false, // Slated for removal in PHP 8.0.0.
39
-            ),
40
-        ),
41
-        'gmmktime' => array(
42
-            6 => array(
43
-                'name' => 'is_dst',
44
-                '5.1'  => false,
45
-                '7.0'  => true,
46
-            ),
47
-        ),
48
-        'ldap_first_attribute' => array(
49
-            2 => array(
50
-                'name'  => 'ber_identifier',
51
-                '5.2.4' => true,
52
-            ),
53
-        ),
54
-        'ldap_next_attribute' => array(
55
-            2 => array(
56
-                'name'  => 'ber_identifier',
57
-                '5.2.4' => true,
58
-            ),
59
-        ),
60
-        'mktime' => array(
61
-            6 => array(
62
-                'name' => 'is_dst',
63
-                '5.1'  => false,
64
-                '7.0'  => true,
65
-            ),
66
-        ),
67
-    );
68
-
69
-
70
-    /**
71
-     * Returns an array of tokens this test wants to listen for.
72
-     *
73
-     * @return array
74
-     */
75
-    public function register()
76
-    {
77
-        // Handle case-insensitivity of function names.
78
-        $this->removedFunctionParameters = $this->arrayKeysToLowercase($this->removedFunctionParameters);
79
-
80
-        return array(\T_STRING);
81
-    }
82
-
83
-    /**
84
-     * Processes this test, when one of its tokens is encountered.
85
-     *
86
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
87
-     * @param int                   $stackPtr  The position of the current token in
88
-     *                                         the stack passed in $tokens.
89
-     *
90
-     * @return void
91
-     */
92
-    public function process(File $phpcsFile, $stackPtr)
93
-    {
94
-        $tokens = $phpcsFile->getTokens();
95
-
96
-        $ignore = array(
97
-            \T_DOUBLE_COLON    => true,
98
-            \T_OBJECT_OPERATOR => true,
99
-            \T_FUNCTION        => true,
100
-            \T_CONST           => true,
101
-        );
102
-
103
-        $prevToken = $phpcsFile->findPrevious(\T_WHITESPACE, ($stackPtr - 1), null, true);
104
-        if (isset($ignore[$tokens[$prevToken]['code']]) === true) {
105
-            // Not a call to a PHP function.
106
-            return;
107
-        }
108
-
109
-        $function   = $tokens[$stackPtr]['content'];
110
-        $functionLc = strtolower($function);
111
-
112
-        if (isset($this->removedFunctionParameters[$functionLc]) === false) {
113
-            return;
114
-        }
115
-
116
-        $parameterCount = $this->getFunctionCallParameterCount($phpcsFile, $stackPtr);
117
-        if ($parameterCount === 0) {
118
-            return;
119
-        }
120
-
121
-        // If the parameter count returned > 0, we know there will be valid open parenthesis.
122
-        $openParenthesis      = $phpcsFile->findNext(Tokens::$emptyTokens, $stackPtr + 1, null, true, null, true);
123
-        $parameterOffsetFound = $parameterCount - 1;
124
-
125
-        foreach ($this->removedFunctionParameters[$functionLc] as $offset => $parameterDetails) {
126
-            if ($offset <= $parameterOffsetFound) {
127
-                $itemInfo = array(
128
-                    'name'   => $function,
129
-                    'nameLc' => $functionLc,
130
-                    'offset' => $offset,
131
-                );
132
-                $this->handleFeature($phpcsFile, $openParenthesis, $itemInfo);
133
-            }
134
-        }
135
-    }
136
-
137
-
138
-    /**
139
-     * Get the relevant sub-array for a specific item from a multi-dimensional array.
140
-     *
141
-     * @param array $itemInfo Base information about the item.
142
-     *
143
-     * @return array Version and other information about the item.
144
-     */
145
-    public function getItemArray(array $itemInfo)
146
-    {
147
-        return $this->removedFunctionParameters[$itemInfo['nameLc']][$itemInfo['offset']];
148
-    }
149
-
150
-
151
-    /**
152
-     * Get an array of the non-PHP-version array keys used in a sub-array.
153
-     *
154
-     * @return array
155
-     */
156
-    protected function getNonVersionArrayKeys()
157
-    {
158
-        return array('name');
159
-    }
160
-
161
-
162
-    /**
163
-     * Retrieve the relevant detail (version) information for use in an error message.
164
-     *
165
-     * @param array $itemArray Version and other information about the item.
166
-     * @param array $itemInfo  Base information about the item.
167
-     *
168
-     * @return array
169
-     */
170
-    public function getErrorInfo(array $itemArray, array $itemInfo)
171
-    {
172
-        $errorInfo              = parent::getErrorInfo($itemArray, $itemInfo);
173
-        $errorInfo['paramName'] = $itemArray['name'];
174
-
175
-        return $errorInfo;
176
-    }
177
-
178
-
179
-    /**
180
-     * Get the item name to be used for the creation of the error code.
181
-     *
182
-     * @param array $itemInfo  Base information about the item.
183
-     * @param array $errorInfo Detail information about an item.
184
-     *
185
-     * @return string
186
-     */
187
-    protected function getItemName(array $itemInfo, array $errorInfo)
188
-    {
189
-        return $itemInfo['name'] . '_' . $errorInfo['paramName'];
190
-    }
191
-
192
-
193
-    /**
194
-     * Get the error message template for this sniff.
195
-     *
196
-     * @return string
197
-     */
198
-    protected function getErrorMsgTemplate()
199
-    {
200
-        return 'The "%s" parameter for function %s() is ';
201
-    }
202
-
203
-
204
-    /**
205
-     * Filter the error data before it's passed to PHPCS.
206
-     *
207
-     * @param array $data      The error data array which was created.
208
-     * @param array $itemInfo  Base information about the item this error message applies to.
209
-     * @param array $errorInfo Detail information about an item this error message applies to.
210
-     *
211
-     * @return array
212
-     */
213
-    protected function filterErrorData(array $data, array $itemInfo, array $errorInfo)
214
-    {
215
-        array_shift($data);
216
-        array_unshift($data, $errorInfo['paramName'], $itemInfo['name']);
217
-        return $data;
218
-    }
25
+	/**
26
+	 * A list of removed function parameters, which were present in older versions.
27
+	 *
28
+	 * The array lists : version number with false (deprecated) and true (removed).
29
+	 * The index is the location of the parameter in the parameter list, starting at 0 !
30
+	 * If's sufficient to list the first version where the function parameter was deprecated/removed.
31
+	 *
32
+	 * @var array
33
+	 */
34
+	protected $removedFunctionParameters = array(
35
+		'define' => array(
36
+			2 => array(
37
+				'name' => 'case_insensitive',
38
+				'7.3'  => false, // Slated for removal in PHP 8.0.0.
39
+			),
40
+		),
41
+		'gmmktime' => array(
42
+			6 => array(
43
+				'name' => 'is_dst',
44
+				'5.1'  => false,
45
+				'7.0'  => true,
46
+			),
47
+		),
48
+		'ldap_first_attribute' => array(
49
+			2 => array(
50
+				'name'  => 'ber_identifier',
51
+				'5.2.4' => true,
52
+			),
53
+		),
54
+		'ldap_next_attribute' => array(
55
+			2 => array(
56
+				'name'  => 'ber_identifier',
57
+				'5.2.4' => true,
58
+			),
59
+		),
60
+		'mktime' => array(
61
+			6 => array(
62
+				'name' => 'is_dst',
63
+				'5.1'  => false,
64
+				'7.0'  => true,
65
+			),
66
+		),
67
+	);
68
+
69
+
70
+	/**
71
+	 * Returns an array of tokens this test wants to listen for.
72
+	 *
73
+	 * @return array
74
+	 */
75
+	public function register()
76
+	{
77
+		// Handle case-insensitivity of function names.
78
+		$this->removedFunctionParameters = $this->arrayKeysToLowercase($this->removedFunctionParameters);
79
+
80
+		return array(\T_STRING);
81
+	}
82
+
83
+	/**
84
+	 * Processes this test, when one of its tokens is encountered.
85
+	 *
86
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
87
+	 * @param int                   $stackPtr  The position of the current token in
88
+	 *                                         the stack passed in $tokens.
89
+	 *
90
+	 * @return void
91
+	 */
92
+	public function process(File $phpcsFile, $stackPtr)
93
+	{
94
+		$tokens = $phpcsFile->getTokens();
95
+
96
+		$ignore = array(
97
+			\T_DOUBLE_COLON    => true,
98
+			\T_OBJECT_OPERATOR => true,
99
+			\T_FUNCTION        => true,
100
+			\T_CONST           => true,
101
+		);
102
+
103
+		$prevToken = $phpcsFile->findPrevious(\T_WHITESPACE, ($stackPtr - 1), null, true);
104
+		if (isset($ignore[$tokens[$prevToken]['code']]) === true) {
105
+			// Not a call to a PHP function.
106
+			return;
107
+		}
108
+
109
+		$function   = $tokens[$stackPtr]['content'];
110
+		$functionLc = strtolower($function);
111
+
112
+		if (isset($this->removedFunctionParameters[$functionLc]) === false) {
113
+			return;
114
+		}
115
+
116
+		$parameterCount = $this->getFunctionCallParameterCount($phpcsFile, $stackPtr);
117
+		if ($parameterCount === 0) {
118
+			return;
119
+		}
120
+
121
+		// If the parameter count returned > 0, we know there will be valid open parenthesis.
122
+		$openParenthesis      = $phpcsFile->findNext(Tokens::$emptyTokens, $stackPtr + 1, null, true, null, true);
123
+		$parameterOffsetFound = $parameterCount - 1;
124
+
125
+		foreach ($this->removedFunctionParameters[$functionLc] as $offset => $parameterDetails) {
126
+			if ($offset <= $parameterOffsetFound) {
127
+				$itemInfo = array(
128
+					'name'   => $function,
129
+					'nameLc' => $functionLc,
130
+					'offset' => $offset,
131
+				);
132
+				$this->handleFeature($phpcsFile, $openParenthesis, $itemInfo);
133
+			}
134
+		}
135
+	}
136
+
137
+
138
+	/**
139
+	 * Get the relevant sub-array for a specific item from a multi-dimensional array.
140
+	 *
141
+	 * @param array $itemInfo Base information about the item.
142
+	 *
143
+	 * @return array Version and other information about the item.
144
+	 */
145
+	public function getItemArray(array $itemInfo)
146
+	{
147
+		return $this->removedFunctionParameters[$itemInfo['nameLc']][$itemInfo['offset']];
148
+	}
149
+
150
+
151
+	/**
152
+	 * Get an array of the non-PHP-version array keys used in a sub-array.
153
+	 *
154
+	 * @return array
155
+	 */
156
+	protected function getNonVersionArrayKeys()
157
+	{
158
+		return array('name');
159
+	}
160
+
161
+
162
+	/**
163
+	 * Retrieve the relevant detail (version) information for use in an error message.
164
+	 *
165
+	 * @param array $itemArray Version and other information about the item.
166
+	 * @param array $itemInfo  Base information about the item.
167
+	 *
168
+	 * @return array
169
+	 */
170
+	public function getErrorInfo(array $itemArray, array $itemInfo)
171
+	{
172
+		$errorInfo              = parent::getErrorInfo($itemArray, $itemInfo);
173
+		$errorInfo['paramName'] = $itemArray['name'];
174
+
175
+		return $errorInfo;
176
+	}
177
+
178
+
179
+	/**
180
+	 * Get the item name to be used for the creation of the error code.
181
+	 *
182
+	 * @param array $itemInfo  Base information about the item.
183
+	 * @param array $errorInfo Detail information about an item.
184
+	 *
185
+	 * @return string
186
+	 */
187
+	protected function getItemName(array $itemInfo, array $errorInfo)
188
+	{
189
+		return $itemInfo['name'] . '_' . $errorInfo['paramName'];
190
+	}
191
+
192
+
193
+	/**
194
+	 * Get the error message template for this sniff.
195
+	 *
196
+	 * @return string
197
+	 */
198
+	protected function getErrorMsgTemplate()
199
+	{
200
+		return 'The "%s" parameter for function %s() is ';
201
+	}
202
+
203
+
204
+	/**
205
+	 * Filter the error data before it's passed to PHPCS.
206
+	 *
207
+	 * @param array $data      The error data array which was created.
208
+	 * @param array $itemInfo  Base information about the item this error message applies to.
209
+	 * @param array $errorInfo Detail information about an item this error message applies to.
210
+	 *
211
+	 * @return array
212
+	 */
213
+	protected function filterErrorData(array $data, array $itemInfo, array $errorInfo)
214
+	{
215
+		array_shift($data);
216
+		array_unshift($data, $errorInfo['paramName'], $itemInfo['name']);
217
+		return $data;
218
+	}
219 219
 }
Please login to merge, or discard this patch.
Spacing   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -75,9 +75,9 @@  discard block
 block discarded – undo
75 75
     public function register()
76 76
     {
77 77
         // Handle case-insensitivity of function names.
78
-        $this->removedFunctionParameters = $this->arrayKeysToLowercase($this->removedFunctionParameters);
78
+        $this->removedFunctionParameters = $this->arrayKeysToLowercase( $this->removedFunctionParameters );
79 79
 
80
-        return array(\T_STRING);
80
+        return array( \T_STRING );
81 81
     }
82 82
 
83 83
     /**
@@ -89,7 +89,7 @@  discard block
 block discarded – undo
89 89
      *
90 90
      * @return void
91 91
      */
92
-    public function process(File $phpcsFile, $stackPtr)
92
+    public function process( File $phpcsFile, $stackPtr )
93 93
     {
94 94
         $tokens = $phpcsFile->getTokens();
95 95
 
@@ -100,36 +100,36 @@  discard block
 block discarded – undo
100 100
             \T_CONST           => true,
101 101
         );
102 102
 
103
-        $prevToken = $phpcsFile->findPrevious(\T_WHITESPACE, ($stackPtr - 1), null, true);
104
-        if (isset($ignore[$tokens[$prevToken]['code']]) === true) {
103
+        $prevToken = $phpcsFile->findPrevious( \T_WHITESPACE, ( $stackPtr - 1 ), null, true );
104
+        if ( isset( $ignore[ $tokens[ $prevToken ][ 'code' ] ] ) === true ) {
105 105
             // Not a call to a PHP function.
106 106
             return;
107 107
         }
108 108
 
109
-        $function   = $tokens[$stackPtr]['content'];
110
-        $functionLc = strtolower($function);
109
+        $function   = $tokens[ $stackPtr ][ 'content' ];
110
+        $functionLc = strtolower( $function );
111 111
 
112
-        if (isset($this->removedFunctionParameters[$functionLc]) === false) {
112
+        if ( isset( $this->removedFunctionParameters[ $functionLc ] ) === false ) {
113 113
             return;
114 114
         }
115 115
 
116
-        $parameterCount = $this->getFunctionCallParameterCount($phpcsFile, $stackPtr);
117
-        if ($parameterCount === 0) {
116
+        $parameterCount = $this->getFunctionCallParameterCount( $phpcsFile, $stackPtr );
117
+        if ( $parameterCount === 0 ) {
118 118
             return;
119 119
         }
120 120
 
121 121
         // If the parameter count returned > 0, we know there will be valid open parenthesis.
122
-        $openParenthesis      = $phpcsFile->findNext(Tokens::$emptyTokens, $stackPtr + 1, null, true, null, true);
122
+        $openParenthesis      = $phpcsFile->findNext( Tokens::$emptyTokens, $stackPtr + 1, null, true, null, true );
123 123
         $parameterOffsetFound = $parameterCount - 1;
124 124
 
125
-        foreach ($this->removedFunctionParameters[$functionLc] as $offset => $parameterDetails) {
126
-            if ($offset <= $parameterOffsetFound) {
125
+        foreach ( $this->removedFunctionParameters[ $functionLc ] as $offset => $parameterDetails ) {
126
+            if ( $offset <= $parameterOffsetFound ) {
127 127
                 $itemInfo = array(
128 128
                     'name'   => $function,
129 129
                     'nameLc' => $functionLc,
130 130
                     'offset' => $offset,
131 131
                 );
132
-                $this->handleFeature($phpcsFile, $openParenthesis, $itemInfo);
132
+                $this->handleFeature( $phpcsFile, $openParenthesis, $itemInfo );
133 133
             }
134 134
         }
135 135
     }
@@ -142,9 +142,9 @@  discard block
 block discarded – undo
142 142
      *
143 143
      * @return array Version and other information about the item.
144 144
      */
145
-    public function getItemArray(array $itemInfo)
145
+    public function getItemArray( array $itemInfo )
146 146
     {
147
-        return $this->removedFunctionParameters[$itemInfo['nameLc']][$itemInfo['offset']];
147
+        return $this->removedFunctionParameters[ $itemInfo[ 'nameLc' ] ][ $itemInfo[ 'offset' ] ];
148 148
     }
149 149
 
150 150
 
@@ -155,7 +155,7 @@  discard block
 block discarded – undo
155 155
      */
156 156
     protected function getNonVersionArrayKeys()
157 157
     {
158
-        return array('name');
158
+        return array( 'name' );
159 159
     }
160 160
 
161 161
 
@@ -167,10 +167,10 @@  discard block
 block discarded – undo
167 167
      *
168 168
      * @return array
169 169
      */
170
-    public function getErrorInfo(array $itemArray, array $itemInfo)
170
+    public function getErrorInfo( array $itemArray, array $itemInfo )
171 171
     {
172
-        $errorInfo              = parent::getErrorInfo($itemArray, $itemInfo);
173
-        $errorInfo['paramName'] = $itemArray['name'];
172
+        $errorInfo              = parent::getErrorInfo( $itemArray, $itemInfo );
173
+        $errorInfo[ 'paramName' ] = $itemArray[ 'name' ];
174 174
 
175 175
         return $errorInfo;
176 176
     }
@@ -184,9 +184,9 @@  discard block
 block discarded – undo
184 184
      *
185 185
      * @return string
186 186
      */
187
-    protected function getItemName(array $itemInfo, array $errorInfo)
187
+    protected function getItemName( array $itemInfo, array $errorInfo )
188 188
     {
189
-        return $itemInfo['name'] . '_' . $errorInfo['paramName'];
189
+        return $itemInfo[ 'name' ] . '_' . $errorInfo[ 'paramName' ];
190 190
     }
191 191
 
192 192
 
@@ -210,10 +210,10 @@  discard block
 block discarded – undo
210 210
      *
211 211
      * @return array
212 212
      */
213
-    protected function filterErrorData(array $data, array $itemInfo, array $errorInfo)
213
+    protected function filterErrorData( array $data, array $itemInfo, array $errorInfo )
214 214
     {
215
-        array_shift($data);
216
-        array_unshift($data, $errorInfo['paramName'], $itemInfo['name']);
215
+        array_shift( $data );
216
+        array_unshift( $data, $errorInfo[ 'paramName' ], $itemInfo[ 'name' ] );
217 217
         return $data;
218 218
     }
219 219
 }
Please login to merge, or discard this patch.
Braces   +9 added lines, -18 removed lines patch added patch discarded remove patch
@@ -20,8 +20,7 @@  discard block
 block discarded – undo
20 20
  * @package  PHPCompatibility
21 21
  * @author   Wim Godden <[email protected]>
22 22
  */
23
-class RemovedFunctionParametersSniff extends AbstractRemovedFeatureSniff
24
-{
23
+class RemovedFunctionParametersSniff extends AbstractRemovedFeatureSniff {
25 24
     /**
26 25
      * A list of removed function parameters, which were present in older versions.
27 26
      *
@@ -72,8 +71,7 @@  discard block
 block discarded – undo
72 71
      *
73 72
      * @return array
74 73
      */
75
-    public function register()
76
-    {
74
+    public function register() {
77 75
         // Handle case-insensitivity of function names.
78 76
         $this->removedFunctionParameters = $this->arrayKeysToLowercase($this->removedFunctionParameters);
79 77
 
@@ -89,8 +87,7 @@  discard block
 block discarded – undo
89 87
      *
90 88
      * @return void
91 89
      */
92
-    public function process(File $phpcsFile, $stackPtr)
93
-    {
90
+    public function process(File $phpcsFile, $stackPtr) {
94 91
         $tokens = $phpcsFile->getTokens();
95 92
 
96 93
         $ignore = array(
@@ -142,8 +139,7 @@  discard block
 block discarded – undo
142 139
      *
143 140
      * @return array Version and other information about the item.
144 141
      */
145
-    public function getItemArray(array $itemInfo)
146
-    {
142
+    public function getItemArray(array $itemInfo) {
147 143
         return $this->removedFunctionParameters[$itemInfo['nameLc']][$itemInfo['offset']];
148 144
     }
149 145
 
@@ -153,8 +149,7 @@  discard block
 block discarded – undo
153 149
      *
154 150
      * @return array
155 151
      */
156
-    protected function getNonVersionArrayKeys()
157
-    {
152
+    protected function getNonVersionArrayKeys() {
158 153
         return array('name');
159 154
     }
160 155
 
@@ -167,8 +162,7 @@  discard block
 block discarded – undo
167 162
      *
168 163
      * @return array
169 164
      */
170
-    public function getErrorInfo(array $itemArray, array $itemInfo)
171
-    {
165
+    public function getErrorInfo(array $itemArray, array $itemInfo) {
172 166
         $errorInfo              = parent::getErrorInfo($itemArray, $itemInfo);
173 167
         $errorInfo['paramName'] = $itemArray['name'];
174 168
 
@@ -184,8 +178,7 @@  discard block
 block discarded – undo
184 178
      *
185 179
      * @return string
186 180
      */
187
-    protected function getItemName(array $itemInfo, array $errorInfo)
188
-    {
181
+    protected function getItemName(array $itemInfo, array $errorInfo) {
189 182
         return $itemInfo['name'] . '_' . $errorInfo['paramName'];
190 183
     }
191 184
 
@@ -195,8 +188,7 @@  discard block
 block discarded – undo
195 188
      *
196 189
      * @return string
197 190
      */
198
-    protected function getErrorMsgTemplate()
199
-    {
191
+    protected function getErrorMsgTemplate() {
200 192
         return 'The "%s" parameter for function %s() is ';
201 193
     }
202 194
 
@@ -210,8 +202,7 @@  discard block
 block discarded – undo
210 202
      *
211 203
      * @return array
212 204
      */
213
-    protected function filterErrorData(array $data, array $itemInfo, array $errorInfo)
214
-    {
205
+    protected function filterErrorData(array $data, array $itemInfo, array $errorInfo) {
215 206
         array_shift($data);
216 207
         array_unshift($data, $errorInfo['paramName'], $itemInfo['name']);
217 208
         return $data;
Please login to merge, or discard this patch.
Doc Comments   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -64,7 +64,7 @@  discard block
 block discarded – undo
64 64
     /**
65 65
      * Returns an array of tokens this test wants to listen for.
66 66
      *
67
-     * @return array
67
+     * @return integer[]
68 68
      */
69 69
     public function register()
70 70
     {
@@ -167,7 +167,7 @@  discard block
 block discarded – undo
167 167
     /**
168 168
      * Get an array of the non-PHP-version array keys used in a sub-array.
169 169
      *
170
-     * @return array
170
+     * @return string[]
171 171
      */
172 172
     protected function getNonVersionArrayKeys()
173 173
     {
Please login to merge, or discard this patch.
Sniffs/FunctionUse/OptionalToRequiredFunctionParametersSniff.php 3 patches
Indentation   +134 added lines, -134 removed lines patch added patch discarded remove patch
@@ -22,138 +22,138 @@
 block discarded – undo
22 22
 class OptionalToRequiredFunctionParametersSniff extends RequiredToOptionalFunctionParametersSniff
23 23
 {
24 24
 
25
-    /**
26
-     * A list of function parameters, which were optional in older versions and became required later on.
27
-     *
28
-     * The array lists : version number with true (required) and false (optional use deprecated).
29
-     *
30
-     * The index is the location of the parameter in the parameter list, starting at 0 !
31
-     * If's sufficient to list the last version in which the parameter was not yet required.
32
-     *
33
-     * @var array
34
-     */
35
-    protected $functionParameters = array(
36
-        // Special case, the optional nature is not deprecated, but usage is recommended
37
-        // and leaving the parameter out will throw an E_NOTICE.
38
-        'crypt' => array(
39
-            1 => array(
40
-                'name' => 'salt',
41
-                '5.6'  => 'recommended',
42
-            ),
43
-        ),
44
-        'parse_str' => array(
45
-            1 => array(
46
-                'name' => 'result',
47
-                '7.2'  => false,
48
-            ),
49
-        ),
50
-    );
51
-
52
-
53
-    /**
54
-     * Determine whether an error/warning should be thrown for an item based on collected information.
55
-     *
56
-     * @param array $errorInfo Detail information about an item.
57
-     *
58
-     * @return bool
59
-     */
60
-    protected function shouldThrowError(array $errorInfo)
61
-    {
62
-        return ($errorInfo['optionalDeprecated'] !== ''
63
-            || $errorInfo['optionalRemoved'] !== ''
64
-            || $errorInfo['optionalRecommended'] !== '');
65
-    }
66
-
67
-
68
-    /**
69
-     * Retrieve the relevant detail (version) information for use in an error message.
70
-     *
71
-     * @param array $itemArray Version and other information about the item.
72
-     * @param array $itemInfo  Base information about the item.
73
-     *
74
-     * @return array
75
-     */
76
-    public function getErrorInfo(array $itemArray, array $itemInfo)
77
-    {
78
-        $errorInfo = array(
79
-            'paramName'           => '',
80
-            'optionalRecommended' => '',
81
-            'optionalDeprecated'  => '',
82
-            'optionalRemoved'     => '',
83
-            'error'               => false,
84
-        );
85
-
86
-        $versionArray = $this->getVersionArray($itemArray);
87
-
88
-        if (empty($versionArray) === false) {
89
-            foreach ($versionArray as $version => $required) {
90
-                if ($this->supportsAbove($version) === true) {
91
-                    if ($required === true && $errorInfo['optionalRemoved'] === '') {
92
-                        $errorInfo['optionalRemoved'] = $version;
93
-                        $errorInfo['error']           = true;
94
-                    } elseif ($required === 'recommended' && $errorInfo['optionalRecommended'] === '') {
95
-                        $errorInfo['optionalRecommended'] = $version;
96
-                    } elseif ($errorInfo['optionalDeprecated'] === '') {
97
-                        $errorInfo['optionalDeprecated'] = $version;
98
-                    }
99
-                }
100
-            }
101
-        }
102
-
103
-        $errorInfo['paramName'] = $itemArray['name'];
104
-
105
-        return $errorInfo;
106
-    }
107
-
108
-
109
-    /**
110
-     * Generates the error or warning for this item.
111
-     *
112
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
113
-     * @param int                   $stackPtr  The position of the relevant token in
114
-     *                                         the stack.
115
-     * @param array                 $itemInfo  Base information about the item.
116
-     * @param array                 $errorInfo Array with detail (version) information
117
-     *                                         relevant to the item.
118
-     *
119
-     * @return void
120
-     */
121
-    public function addError(File $phpcsFile, $stackPtr, array $itemInfo, array $errorInfo)
122
-    {
123
-        $error = 'The "%s" parameter for function %s() is missing. Passing this parameter is ';
124
-        if ($errorInfo['optionalRecommended'] === '') {
125
-            $error .= 'no longer optional. The optional nature of the parameter is ';
126
-        } else {
127
-            $error .= 'strongly recommended ';
128
-        }
129
-
130
-        $errorCode = $this->stringToErrorCode($itemInfo['name'] . '_' . $errorInfo['paramName']);
131
-        $data      = array(
132
-            $errorInfo['paramName'],
133
-            $itemInfo['name'],
134
-        );
135
-
136
-        if ($errorInfo['optionalRecommended'] !== '') {
137
-            $error     .= 'since PHP %s ';
138
-            $errorCode .= 'SoftRecommended';
139
-            $data[]     = $errorInfo['optionalRecommended'];
140
-        } else {
141
-            if ($errorInfo['optionalDeprecated'] !== '') {
142
-                $error     .= 'deprecated since PHP %s and ';
143
-                $errorCode .= 'SoftRequired';
144
-                $data[]     = $errorInfo['optionalDeprecated'];
145
-            }
146
-
147
-            if ($errorInfo['optionalRemoved'] !== '') {
148
-                $error     .= 'removed since PHP %s and ';
149
-                $errorCode .= 'HardRequired';
150
-                $data[]     = $errorInfo['optionalRemoved'];
151
-            }
152
-
153
-            // Remove the last 'and' from the message.
154
-            $error = substr($error, 0, (\strlen($error) - 5));
155
-        }
156
-
157
-        $this->addMessage($phpcsFile, $error, $stackPtr, $errorInfo['error'], $errorCode, $data);
158
-    }
25
+	/**
26
+	 * A list of function parameters, which were optional in older versions and became required later on.
27
+	 *
28
+	 * The array lists : version number with true (required) and false (optional use deprecated).
29
+	 *
30
+	 * The index is the location of the parameter in the parameter list, starting at 0 !
31
+	 * If's sufficient to list the last version in which the parameter was not yet required.
32
+	 *
33
+	 * @var array
34
+	 */
35
+	protected $functionParameters = array(
36
+		// Special case, the optional nature is not deprecated, but usage is recommended
37
+		// and leaving the parameter out will throw an E_NOTICE.
38
+		'crypt' => array(
39
+			1 => array(
40
+				'name' => 'salt',
41
+				'5.6'  => 'recommended',
42
+			),
43
+		),
44
+		'parse_str' => array(
45
+			1 => array(
46
+				'name' => 'result',
47
+				'7.2'  => false,
48
+			),
49
+		),
50
+	);
51
+
52
+
53
+	/**
54
+	 * Determine whether an error/warning should be thrown for an item based on collected information.
55
+	 *
56
+	 * @param array $errorInfo Detail information about an item.
57
+	 *
58
+	 * @return bool
59
+	 */
60
+	protected function shouldThrowError(array $errorInfo)
61
+	{
62
+		return ($errorInfo['optionalDeprecated'] !== ''
63
+			|| $errorInfo['optionalRemoved'] !== ''
64
+			|| $errorInfo['optionalRecommended'] !== '');
65
+	}
66
+
67
+
68
+	/**
69
+	 * Retrieve the relevant detail (version) information for use in an error message.
70
+	 *
71
+	 * @param array $itemArray Version and other information about the item.
72
+	 * @param array $itemInfo  Base information about the item.
73
+	 *
74
+	 * @return array
75
+	 */
76
+	public function getErrorInfo(array $itemArray, array $itemInfo)
77
+	{
78
+		$errorInfo = array(
79
+			'paramName'           => '',
80
+			'optionalRecommended' => '',
81
+			'optionalDeprecated'  => '',
82
+			'optionalRemoved'     => '',
83
+			'error'               => false,
84
+		);
85
+
86
+		$versionArray = $this->getVersionArray($itemArray);
87
+
88
+		if (empty($versionArray) === false) {
89
+			foreach ($versionArray as $version => $required) {
90
+				if ($this->supportsAbove($version) === true) {
91
+					if ($required === true && $errorInfo['optionalRemoved'] === '') {
92
+						$errorInfo['optionalRemoved'] = $version;
93
+						$errorInfo['error']           = true;
94
+					} elseif ($required === 'recommended' && $errorInfo['optionalRecommended'] === '') {
95
+						$errorInfo['optionalRecommended'] = $version;
96
+					} elseif ($errorInfo['optionalDeprecated'] === '') {
97
+						$errorInfo['optionalDeprecated'] = $version;
98
+					}
99
+				}
100
+			}
101
+		}
102
+
103
+		$errorInfo['paramName'] = $itemArray['name'];
104
+
105
+		return $errorInfo;
106
+	}
107
+
108
+
109
+	/**
110
+	 * Generates the error or warning for this item.
111
+	 *
112
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
113
+	 * @param int                   $stackPtr  The position of the relevant token in
114
+	 *                                         the stack.
115
+	 * @param array                 $itemInfo  Base information about the item.
116
+	 * @param array                 $errorInfo Array with detail (version) information
117
+	 *                                         relevant to the item.
118
+	 *
119
+	 * @return void
120
+	 */
121
+	public function addError(File $phpcsFile, $stackPtr, array $itemInfo, array $errorInfo)
122
+	{
123
+		$error = 'The "%s" parameter for function %s() is missing. Passing this parameter is ';
124
+		if ($errorInfo['optionalRecommended'] === '') {
125
+			$error .= 'no longer optional. The optional nature of the parameter is ';
126
+		} else {
127
+			$error .= 'strongly recommended ';
128
+		}
129
+
130
+		$errorCode = $this->stringToErrorCode($itemInfo['name'] . '_' . $errorInfo['paramName']);
131
+		$data      = array(
132
+			$errorInfo['paramName'],
133
+			$itemInfo['name'],
134
+		);
135
+
136
+		if ($errorInfo['optionalRecommended'] !== '') {
137
+			$error     .= 'since PHP %s ';
138
+			$errorCode .= 'SoftRecommended';
139
+			$data[]     = $errorInfo['optionalRecommended'];
140
+		} else {
141
+			if ($errorInfo['optionalDeprecated'] !== '') {
142
+				$error     .= 'deprecated since PHP %s and ';
143
+				$errorCode .= 'SoftRequired';
144
+				$data[]     = $errorInfo['optionalDeprecated'];
145
+			}
146
+
147
+			if ($errorInfo['optionalRemoved'] !== '') {
148
+				$error     .= 'removed since PHP %s and ';
149
+				$errorCode .= 'HardRequired';
150
+				$data[]     = $errorInfo['optionalRemoved'];
151
+			}
152
+
153
+			// Remove the last 'and' from the message.
154
+			$error = substr($error, 0, (\strlen($error) - 5));
155
+		}
156
+
157
+		$this->addMessage($phpcsFile, $error, $stackPtr, $errorInfo['error'], $errorCode, $data);
158
+	}
159 159
 }
Please login to merge, or discard this patch.
Spacing   +31 added lines, -31 removed lines patch added patch discarded remove patch
@@ -57,11 +57,11 @@  discard block
 block discarded – undo
57 57
      *
58 58
      * @return bool
59 59
      */
60
-    protected function shouldThrowError(array $errorInfo)
60
+    protected function shouldThrowError( array $errorInfo )
61 61
     {
62
-        return ($errorInfo['optionalDeprecated'] !== ''
63
-            || $errorInfo['optionalRemoved'] !== ''
64
-            || $errorInfo['optionalRecommended'] !== '');
62
+        return ( $errorInfo[ 'optionalDeprecated' ] !== ''
63
+            || $errorInfo[ 'optionalRemoved' ] !== ''
64
+            || $errorInfo[ 'optionalRecommended' ] !== '' );
65 65
     }
66 66
 
67 67
 
@@ -73,7 +73,7 @@  discard block
 block discarded – undo
73 73
      *
74 74
      * @return array
75 75
      */
76
-    public function getErrorInfo(array $itemArray, array $itemInfo)
76
+    public function getErrorInfo( array $itemArray, array $itemInfo )
77 77
     {
78 78
         $errorInfo = array(
79 79
             'paramName'           => '',
@@ -83,24 +83,24 @@  discard block
 block discarded – undo
83 83
             'error'               => false,
84 84
         );
85 85
 
86
-        $versionArray = $this->getVersionArray($itemArray);
87
-
88
-        if (empty($versionArray) === false) {
89
-            foreach ($versionArray as $version => $required) {
90
-                if ($this->supportsAbove($version) === true) {
91
-                    if ($required === true && $errorInfo['optionalRemoved'] === '') {
92
-                        $errorInfo['optionalRemoved'] = $version;
93
-                        $errorInfo['error']           = true;
94
-                    } elseif ($required === 'recommended' && $errorInfo['optionalRecommended'] === '') {
95
-                        $errorInfo['optionalRecommended'] = $version;
96
-                    } elseif ($errorInfo['optionalDeprecated'] === '') {
97
-                        $errorInfo['optionalDeprecated'] = $version;
86
+        $versionArray = $this->getVersionArray( $itemArray );
87
+
88
+        if ( empty( $versionArray ) === false ) {
89
+            foreach ( $versionArray as $version => $required ) {
90
+                if ( $this->supportsAbove( $version ) === true ) {
91
+                    if ( $required === true && $errorInfo[ 'optionalRemoved' ] === '' ) {
92
+                        $errorInfo[ 'optionalRemoved' ] = $version;
93
+                        $errorInfo[ 'error' ]           = true;
94
+                    } elseif ( $required === 'recommended' && $errorInfo[ 'optionalRecommended' ] === '' ) {
95
+                        $errorInfo[ 'optionalRecommended' ] = $version;
96
+                    } elseif ( $errorInfo[ 'optionalDeprecated' ] === '' ) {
97
+                        $errorInfo[ 'optionalDeprecated' ] = $version;
98 98
                     }
99 99
                 }
100 100
             }
101 101
         }
102 102
 
103
-        $errorInfo['paramName'] = $itemArray['name'];
103
+        $errorInfo[ 'paramName' ] = $itemArray[ 'name' ];
104 104
 
105 105
         return $errorInfo;
106 106
     }
@@ -118,42 +118,42 @@  discard block
 block discarded – undo
118 118
      *
119 119
      * @return void
120 120
      */
121
-    public function addError(File $phpcsFile, $stackPtr, array $itemInfo, array $errorInfo)
121
+    public function addError( File $phpcsFile, $stackPtr, array $itemInfo, array $errorInfo )
122 122
     {
123 123
         $error = 'The "%s" parameter for function %s() is missing. Passing this parameter is ';
124
-        if ($errorInfo['optionalRecommended'] === '') {
124
+        if ( $errorInfo[ 'optionalRecommended' ] === '' ) {
125 125
             $error .= 'no longer optional. The optional nature of the parameter is ';
126 126
         } else {
127 127
             $error .= 'strongly recommended ';
128 128
         }
129 129
 
130
-        $errorCode = $this->stringToErrorCode($itemInfo['name'] . '_' . $errorInfo['paramName']);
130
+        $errorCode = $this->stringToErrorCode( $itemInfo[ 'name' ] . '_' . $errorInfo[ 'paramName' ] );
131 131
         $data      = array(
132
-            $errorInfo['paramName'],
133
-            $itemInfo['name'],
132
+            $errorInfo[ 'paramName' ],
133
+            $itemInfo[ 'name' ],
134 134
         );
135 135
 
136
-        if ($errorInfo['optionalRecommended'] !== '') {
136
+        if ( $errorInfo[ 'optionalRecommended' ] !== '' ) {
137 137
             $error     .= 'since PHP %s ';
138 138
             $errorCode .= 'SoftRecommended';
139
-            $data[]     = $errorInfo['optionalRecommended'];
139
+            $data[ ]     = $errorInfo[ 'optionalRecommended' ];
140 140
         } else {
141
-            if ($errorInfo['optionalDeprecated'] !== '') {
141
+            if ( $errorInfo[ 'optionalDeprecated' ] !== '' ) {
142 142
                 $error     .= 'deprecated since PHP %s and ';
143 143
                 $errorCode .= 'SoftRequired';
144
-                $data[]     = $errorInfo['optionalDeprecated'];
144
+                $data[ ]     = $errorInfo[ 'optionalDeprecated' ];
145 145
             }
146 146
 
147
-            if ($errorInfo['optionalRemoved'] !== '') {
147
+            if ( $errorInfo[ 'optionalRemoved' ] !== '' ) {
148 148
                 $error     .= 'removed since PHP %s and ';
149 149
                 $errorCode .= 'HardRequired';
150
-                $data[]     = $errorInfo['optionalRemoved'];
150
+                $data[ ]     = $errorInfo[ 'optionalRemoved' ];
151 151
             }
152 152
 
153 153
             // Remove the last 'and' from the message.
154
-            $error = substr($error, 0, (\strlen($error) - 5));
154
+            $error = substr( $error, 0, ( \strlen( $error ) - 5 ) );
155 155
         }
156 156
 
157
-        $this->addMessage($phpcsFile, $error, $stackPtr, $errorInfo['error'], $errorCode, $data);
157
+        $this->addMessage( $phpcsFile, $error, $stackPtr, $errorInfo[ 'error' ], $errorCode, $data );
158 158
     }
159 159
 }
Please login to merge, or discard this patch.
Braces   +4 added lines, -8 removed lines patch added patch discarded remove patch
@@ -19,8 +19,7 @@  discard block
 block discarded – undo
19 19
  * @package  PHPCompatibility
20 20
  * @author   Juliette Reinders Folmer <[email protected]>
21 21
  */
22
-class OptionalToRequiredFunctionParametersSniff extends RequiredToOptionalFunctionParametersSniff
23
-{
22
+class OptionalToRequiredFunctionParametersSniff extends RequiredToOptionalFunctionParametersSniff {
24 23
 
25 24
     /**
26 25
      * A list of function parameters, which were optional in older versions and became required later on.
@@ -57,8 +56,7 @@  discard block
 block discarded – undo
57 56
      *
58 57
      * @return bool
59 58
      */
60
-    protected function shouldThrowError(array $errorInfo)
61
-    {
59
+    protected function shouldThrowError(array $errorInfo) {
62 60
         return ($errorInfo['optionalDeprecated'] !== ''
63 61
             || $errorInfo['optionalRemoved'] !== ''
64 62
             || $errorInfo['optionalRecommended'] !== '');
@@ -73,8 +71,7 @@  discard block
 block discarded – undo
73 71
      *
74 72
      * @return array
75 73
      */
76
-    public function getErrorInfo(array $itemArray, array $itemInfo)
77
-    {
74
+    public function getErrorInfo(array $itemArray, array $itemInfo) {
78 75
         $errorInfo = array(
79 76
             'paramName'           => '',
80 77
             'optionalRecommended' => '',
@@ -118,8 +115,7 @@  discard block
 block discarded – undo
118 115
      *
119 116
      * @return void
120 117
      */
121
-    public function addError(File $phpcsFile, $stackPtr, array $itemInfo, array $errorInfo)
122
-    {
118
+    public function addError(File $phpcsFile, $stackPtr, array $itemInfo, array $errorInfo) {
123 119
         $error = 'The "%s" parameter for function %s() is missing. Passing this parameter is ';
124 120
         if ($errorInfo['optionalRecommended'] === '') {
125 121
             $error .= 'no longer optional. The optional nature of the parameter is ';
Please login to merge, or discard this patch.
php-compatibility/PHPCompatibility/Sniffs/FunctionUse/NewFunctionsSniff.php 4 patches
Indentation   +1915 added lines, -1915 removed lines patch added patch discarded remove patch
@@ -21,1944 +21,1944 @@
 block discarded – undo
21 21
  */
22 22
 class NewFunctionsSniff extends AbstractNewFeatureSniff
23 23
 {
24
-    /**
25
-     * A list of new functions, not present in older versions.
26
-     *
27
-     * The array lists : version number with false (not present) or true (present).
28
-     * If's sufficient to list the first version where the function appears.
29
-     *
30
-     * @var array(string => array(string => int|string|null))
31
-     */
32
-    protected $newFunctions = array(
33
-        'iterator_count' => array(
34
-            '5.0' => false,
35
-            '5.1' => true,
36
-        ),
37
-        'iterator_to_array' => array(
38
-            '5.0' => false,
39
-            '5.1' => true,
40
-        ),
41
-        'spl_autoload_call' => array(
42
-            '5.0' => false,
43
-            '5.1' => true,
44
-        ),
45
-        'spl_autoload_extensions' => array(
46
-            '5.0' => false,
47
-            '5.1' => true,
48
-        ),
49
-        'spl_autoload_functions' => array(
50
-            '5.0' => false,
51
-            '5.1' => true,
52
-        ),
53
-        'spl_autoload_register' => array(
54
-            '5.0' => false,
55
-            '5.1' => true,
56
-        ),
57
-        'spl_autoload_unregister' => array(
58
-            '5.0' => false,
59
-            '5.1' => true,
60
-        ),
61
-        'spl_autoload' => array(
62
-            '5.0' => false,
63
-            '5.1' => true,
64
-        ),
65
-        'hash_hmac' => array(
66
-            '5.1.1' => false,
67
-            '5.1.2' => true,
68
-        ),
69
-        'array_fill_keys' => array(
70
-            '5.1' => false,
71
-            '5.2' => true,
72
-        ),
73
-        'error_get_last' => array(
74
-            '5.1' => false,
75
-            '5.2' => true,
76
-        ),
77
-        'image_type_to_extension' => array(
78
-            '5.1' => false,
79
-            '5.2' => true,
80
-        ),
81
-        'memory_get_peak_usage' => array(
82
-            '5.1' => false,
83
-            '5.2' => true,
84
-        ),
85
-        'sys_get_temp_dir' => array(
86
-            '5.1' => false,
87
-            '5.2' => true,
88
-        ),
89
-        'timezone_abbreviations_list' => array(
90
-            '5.1' => false,
91
-            '5.2' => true,
92
-        ),
93
-        'timezone_identifiers_list' => array(
94
-            '5.1' => false,
95
-            '5.2' => true,
96
-        ),
97
-        'timezone_name_from_abbr' => array(
98
-            '5.1' => false,
99
-            '5.2' => true,
100
-        ),
101
-        'stream_socket_shutdown' => array(
102
-            '5.1' => false,
103
-            '5.2' => true,
104
-        ),
105
-        'imagegrabscreen' => array(
106
-            '5.1' => false,
107
-            '5.2' => true,
108
-        ),
109
-        'imagegrabwindow' => array(
110
-            '5.1' => false,
111
-            '5.2' => true,
112
-        ),
113
-        'libxml_disable_entity_loader' => array(
114
-            '5.1' => false,
115
-            '5.2' => true,
116
-        ),
117
-        'mb_stripos' => array(
118
-            '5.1' => false,
119
-            '5.2' => true,
120
-        ),
121
-        'mb_stristr' => array(
122
-            '5.1' => false,
123
-            '5.2' => true,
124
-        ),
125
-        'mb_strrchr' => array(
126
-            '5.1' => false,
127
-            '5.2' => true,
128
-        ),
129
-        'mb_strrichr' => array(
130
-            '5.1' => false,
131
-            '5.2' => true,
132
-        ),
133
-        'mb_strripos' => array(
134
-            '5.1' => false,
135
-            '5.2' => true,
136
-        ),
137
-        'ming_setSWFCompression' => array(
138
-            '5.1' => false,
139
-            '5.2' => true,
140
-        ),
141
-        'openssl_csr_get_public_key' => array(
142
-            '5.1' => false,
143
-            '5.2' => true,
144
-        ),
145
-        'openssl_csr_get_subject' => array(
146
-            '5.1' => false,
147
-            '5.2' => true,
148
-        ),
149
-        'openssl_pkey_get_details' => array(
150
-            '5.1' => false,
151
-            '5.2' => true,
152
-        ),
153
-        'spl_object_hash' => array(
154
-            '5.1' => false,
155
-            '5.2' => true,
156
-        ),
157
-        'iterator_apply' => array(
158
-            '5.1' => false,
159
-            '5.2' => true,
160
-        ),
161
-        'preg_last_error' => array(
162
-            '5.1' => false,
163
-            '5.2' => true,
164
-        ),
165
-        'pg_field_table' => array(
166
-            '5.1' => false,
167
-            '5.2' => true,
168
-        ),
169
-        'posix_initgroups' => array(
170
-            '5.1' => false,
171
-            '5.2' => true,
172
-        ),
173
-        'gmp_nextprime' => array(
174
-            '5.1' => false,
175
-            '5.2' => true,
176
-        ),
177
-        'xmlwriter_full_end_element' => array(
178
-            '5.1' => false,
179
-            '5.2' => true,
180
-        ),
181
-        'xmlwriter_write_raw' => array(
182
-            '5.1' => false,
183
-            '5.2' => true,
184
-        ),
185
-        'xmlwriter_start_dtd_entity' => array(
186
-            '5.1' => false,
187
-            '5.2' => true,
188
-        ),
189
-        'xmlwriter_end_dtd_entity' => array(
190
-            '5.1' => false,
191
-            '5.2' => true,
192
-        ),
193
-        'xmlwriter_write_dtd_entity' => array(
194
-            '5.1' => false,
195
-            '5.2' => true,
196
-        ),
197
-        'filter_has_var' => array(
198
-            '5.1' => false,
199
-            '5.2' => true,
200
-        ),
201
-        'filter_id' => array(
202
-            '5.1' => false,
203
-            '5.2' => true,
204
-        ),
205
-        'filter_input_array' => array(
206
-            '5.1' => false,
207
-            '5.2' => true,
208
-        ),
209
-        'filter_input' => array(
210
-            '5.1' => false,
211
-            '5.2' => true,
212
-        ),
213
-        'filter_list' => array(
214
-            '5.1' => false,
215
-            '5.2' => true,
216
-        ),
217
-        'filter_var_array' => array(
218
-            '5.1' => false,
219
-            '5.2' => true,
220
-        ),
221
-        'filter_var' => array(
222
-            '5.1' => false,
223
-            '5.2' => true,
224
-        ),
225
-        'json_decode' => array(
226
-            '5.1' => false,
227
-            '5.2' => true,
228
-        ),
229
-        'json_encode' => array(
230
-            '5.1' => false,
231
-            '5.2' => true,
232
-        ),
233
-        'zip_close' => array(
234
-            '5.1' => false,
235
-            '5.2' => true,
236
-        ),
237
-        'zip_entry_close' => array(
238
-            '5.1' => false,
239
-            '5.2' => true,
240
-        ),
241
-        'zip_entry_compressedsize' => array(
242
-            '5.1' => false,
243
-            '5.2' => true,
244
-        ),
245
-        'zip_entry_compressionmethod' => array(
246
-            '5.1' => false,
247
-            '5.2' => true,
248
-        ),
249
-        'zip_entry_filesize' => array(
250
-            '5.1' => false,
251
-            '5.2' => true,
252
-        ),
253
-        'zip_entry_name' => array(
254
-            '5.1' => false,
255
-            '5.2' => true,
256
-        ),
257
-        'zip_entry_open' => array(
258
-            '5.1' => false,
259
-            '5.2' => true,
260
-        ),
261
-        'zip_entry_read' => array(
262
-            '5.1' => false,
263
-            '5.2' => true,
264
-        ),
265
-        'zip_open' => array(
266
-            '5.1' => false,
267
-            '5.2' => true,
268
-        ),
269
-        'zip_read' => array(
270
-            '5.1' => false,
271
-            '5.2' => true,
272
-        ),
24
+	/**
25
+	 * A list of new functions, not present in older versions.
26
+	 *
27
+	 * The array lists : version number with false (not present) or true (present).
28
+	 * If's sufficient to list the first version where the function appears.
29
+	 *
30
+	 * @var array(string => array(string => int|string|null))
31
+	 */
32
+	protected $newFunctions = array(
33
+		'iterator_count' => array(
34
+			'5.0' => false,
35
+			'5.1' => true,
36
+		),
37
+		'iterator_to_array' => array(
38
+			'5.0' => false,
39
+			'5.1' => true,
40
+		),
41
+		'spl_autoload_call' => array(
42
+			'5.0' => false,
43
+			'5.1' => true,
44
+		),
45
+		'spl_autoload_extensions' => array(
46
+			'5.0' => false,
47
+			'5.1' => true,
48
+		),
49
+		'spl_autoload_functions' => array(
50
+			'5.0' => false,
51
+			'5.1' => true,
52
+		),
53
+		'spl_autoload_register' => array(
54
+			'5.0' => false,
55
+			'5.1' => true,
56
+		),
57
+		'spl_autoload_unregister' => array(
58
+			'5.0' => false,
59
+			'5.1' => true,
60
+		),
61
+		'spl_autoload' => array(
62
+			'5.0' => false,
63
+			'5.1' => true,
64
+		),
65
+		'hash_hmac' => array(
66
+			'5.1.1' => false,
67
+			'5.1.2' => true,
68
+		),
69
+		'array_fill_keys' => array(
70
+			'5.1' => false,
71
+			'5.2' => true,
72
+		),
73
+		'error_get_last' => array(
74
+			'5.1' => false,
75
+			'5.2' => true,
76
+		),
77
+		'image_type_to_extension' => array(
78
+			'5.1' => false,
79
+			'5.2' => true,
80
+		),
81
+		'memory_get_peak_usage' => array(
82
+			'5.1' => false,
83
+			'5.2' => true,
84
+		),
85
+		'sys_get_temp_dir' => array(
86
+			'5.1' => false,
87
+			'5.2' => true,
88
+		),
89
+		'timezone_abbreviations_list' => array(
90
+			'5.1' => false,
91
+			'5.2' => true,
92
+		),
93
+		'timezone_identifiers_list' => array(
94
+			'5.1' => false,
95
+			'5.2' => true,
96
+		),
97
+		'timezone_name_from_abbr' => array(
98
+			'5.1' => false,
99
+			'5.2' => true,
100
+		),
101
+		'stream_socket_shutdown' => array(
102
+			'5.1' => false,
103
+			'5.2' => true,
104
+		),
105
+		'imagegrabscreen' => array(
106
+			'5.1' => false,
107
+			'5.2' => true,
108
+		),
109
+		'imagegrabwindow' => array(
110
+			'5.1' => false,
111
+			'5.2' => true,
112
+		),
113
+		'libxml_disable_entity_loader' => array(
114
+			'5.1' => false,
115
+			'5.2' => true,
116
+		),
117
+		'mb_stripos' => array(
118
+			'5.1' => false,
119
+			'5.2' => true,
120
+		),
121
+		'mb_stristr' => array(
122
+			'5.1' => false,
123
+			'5.2' => true,
124
+		),
125
+		'mb_strrchr' => array(
126
+			'5.1' => false,
127
+			'5.2' => true,
128
+		),
129
+		'mb_strrichr' => array(
130
+			'5.1' => false,
131
+			'5.2' => true,
132
+		),
133
+		'mb_strripos' => array(
134
+			'5.1' => false,
135
+			'5.2' => true,
136
+		),
137
+		'ming_setSWFCompression' => array(
138
+			'5.1' => false,
139
+			'5.2' => true,
140
+		),
141
+		'openssl_csr_get_public_key' => array(
142
+			'5.1' => false,
143
+			'5.2' => true,
144
+		),
145
+		'openssl_csr_get_subject' => array(
146
+			'5.1' => false,
147
+			'5.2' => true,
148
+		),
149
+		'openssl_pkey_get_details' => array(
150
+			'5.1' => false,
151
+			'5.2' => true,
152
+		),
153
+		'spl_object_hash' => array(
154
+			'5.1' => false,
155
+			'5.2' => true,
156
+		),
157
+		'iterator_apply' => array(
158
+			'5.1' => false,
159
+			'5.2' => true,
160
+		),
161
+		'preg_last_error' => array(
162
+			'5.1' => false,
163
+			'5.2' => true,
164
+		),
165
+		'pg_field_table' => array(
166
+			'5.1' => false,
167
+			'5.2' => true,
168
+		),
169
+		'posix_initgroups' => array(
170
+			'5.1' => false,
171
+			'5.2' => true,
172
+		),
173
+		'gmp_nextprime' => array(
174
+			'5.1' => false,
175
+			'5.2' => true,
176
+		),
177
+		'xmlwriter_full_end_element' => array(
178
+			'5.1' => false,
179
+			'5.2' => true,
180
+		),
181
+		'xmlwriter_write_raw' => array(
182
+			'5.1' => false,
183
+			'5.2' => true,
184
+		),
185
+		'xmlwriter_start_dtd_entity' => array(
186
+			'5.1' => false,
187
+			'5.2' => true,
188
+		),
189
+		'xmlwriter_end_dtd_entity' => array(
190
+			'5.1' => false,
191
+			'5.2' => true,
192
+		),
193
+		'xmlwriter_write_dtd_entity' => array(
194
+			'5.1' => false,
195
+			'5.2' => true,
196
+		),
197
+		'filter_has_var' => array(
198
+			'5.1' => false,
199
+			'5.2' => true,
200
+		),
201
+		'filter_id' => array(
202
+			'5.1' => false,
203
+			'5.2' => true,
204
+		),
205
+		'filter_input_array' => array(
206
+			'5.1' => false,
207
+			'5.2' => true,
208
+		),
209
+		'filter_input' => array(
210
+			'5.1' => false,
211
+			'5.2' => true,
212
+		),
213
+		'filter_list' => array(
214
+			'5.1' => false,
215
+			'5.2' => true,
216
+		),
217
+		'filter_var_array' => array(
218
+			'5.1' => false,
219
+			'5.2' => true,
220
+		),
221
+		'filter_var' => array(
222
+			'5.1' => false,
223
+			'5.2' => true,
224
+		),
225
+		'json_decode' => array(
226
+			'5.1' => false,
227
+			'5.2' => true,
228
+		),
229
+		'json_encode' => array(
230
+			'5.1' => false,
231
+			'5.2' => true,
232
+		),
233
+		'zip_close' => array(
234
+			'5.1' => false,
235
+			'5.2' => true,
236
+		),
237
+		'zip_entry_close' => array(
238
+			'5.1' => false,
239
+			'5.2' => true,
240
+		),
241
+		'zip_entry_compressedsize' => array(
242
+			'5.1' => false,
243
+			'5.2' => true,
244
+		),
245
+		'zip_entry_compressionmethod' => array(
246
+			'5.1' => false,
247
+			'5.2' => true,
248
+		),
249
+		'zip_entry_filesize' => array(
250
+			'5.1' => false,
251
+			'5.2' => true,
252
+		),
253
+		'zip_entry_name' => array(
254
+			'5.1' => false,
255
+			'5.2' => true,
256
+		),
257
+		'zip_entry_open' => array(
258
+			'5.1' => false,
259
+			'5.2' => true,
260
+		),
261
+		'zip_entry_read' => array(
262
+			'5.1' => false,
263
+			'5.2' => true,
264
+		),
265
+		'zip_open' => array(
266
+			'5.1' => false,
267
+			'5.2' => true,
268
+		),
269
+		'zip_read' => array(
270
+			'5.1' => false,
271
+			'5.2' => true,
272
+		),
273 273
 
274
-        'array_replace' => array(
275
-            '5.2' => false,
276
-            '5.3' => true,
277
-        ),
278
-        'array_replace_recursive' => array(
279
-            '5.2' => false,
280
-            '5.3' => true,
281
-        ),
282
-        'class_alias' => array(
283
-            '5.2' => false,
284
-            '5.3' => true,
285
-        ),
286
-        'forward_static_call' => array(
287
-            '5.2' => false,
288
-            '5.3' => true,
289
-        ),
290
-        'forward_static_call_array' => array(
291
-            '5.2' => false,
292
-            '5.3' => true,
293
-        ),
294
-        'gc_collect_cycles' => array(
295
-            '5.2' => false,
296
-            '5.3' => true,
297
-        ),
298
-        'gc_disable' => array(
299
-            '5.2' => false,
300
-            '5.3' => true,
301
-        ),
302
-        'gc_enable' => array(
303
-            '5.2' => false,
304
-            '5.3' => true,
305
-        ),
306
-        'gc_enabled' => array(
307
-            '5.2' => false,
308
-            '5.3' => true,
309
-        ),
310
-        'get_called_class' => array(
311
-            '5.2' => false,
312
-            '5.3' => true,
313
-        ),
314
-        'gethostname' => array(
315
-            '5.2' => false,
316
-            '5.3' => true,
317
-        ),
318
-        'header_remove' => array(
319
-            '5.2' => false,
320
-            '5.3' => true,
321
-        ),
322
-        'lcfirst' => array(
323
-            '5.2' => false,
324
-            '5.3' => true,
325
-        ),
326
-        'parse_ini_string' => array(
327
-            '5.2' => false,
328
-            '5.3' => true,
329
-        ),
330
-        'quoted_printable_encode' => array(
331
-            '5.2' => false,
332
-            '5.3' => true,
333
-        ),
334
-        'str_getcsv' => array(
335
-            '5.2' => false,
336
-            '5.3' => true,
337
-        ),
338
-        'stream_context_set_default' => array(
339
-            '5.2' => false,
340
-            '5.3' => true,
341
-        ),
342
-        'stream_supports_lock' => array(
343
-            '5.2' => false,
344
-            '5.3' => true,
345
-        ),
346
-        'stream_context_get_params' => array(
347
-            '5.2' => false,
348
-            '5.3' => true,
349
-        ),
350
-        'date_add' => array(
351
-            '5.2' => false,
352
-            '5.3' => true,
353
-        ),
354
-        'date_create_from_format' => array(
355
-            '5.2' => false,
356
-            '5.3' => true,
357
-        ),
358
-        'date_diff' => array(
359
-            '5.2' => false,
360
-            '5.3' => true,
361
-        ),
362
-        'date_get_last_errors' => array(
363
-            '5.2' => false,
364
-            '5.3' => true,
365
-        ),
366
-        'date_parse_from_format' => array(
367
-            '5.2' => false,
368
-            '5.3' => true,
369
-        ),
370
-        'date_sub' => array(
371
-            '5.2' => false,
372
-            '5.3' => true,
373
-        ),
374
-        'timezone_version_get' => array(
375
-            '5.2' => false,
376
-            '5.3' => true,
377
-        ),
378
-        'gmp_testbit' => array(
379
-            '5.2' => false,
380
-            '5.3' => true,
381
-        ),
382
-        'hash_copy' => array(
383
-            '5.2' => false,
384
-            '5.3' => true,
385
-        ),
386
-        'imap_gc' => array(
387
-            '5.2' => false,
388
-            '5.3' => true,
389
-        ),
390
-        'imap_utf8_to_mutf7' => array(
391
-            '5.2' => false,
392
-            '5.3' => true,
393
-        ),
394
-        'imap_mutf7_to_utf8' => array(
395
-            '5.2' => false,
396
-            '5.3' => true,
397
-        ),
398
-        'json_last_error' => array(
399
-            '5.2' => false,
400
-            '5.3' => true,
401
-        ),
402
-        'mysqli_get_cache_stats' => array(
403
-            '5.2' => false,
404
-            '5.3' => true,
405
-        ),
406
-        'mysqli_fetch_all' => array(
407
-            '5.2' => false,
408
-            '5.3' => true,
409
-        ),
410
-        'mysqli_get_connection_status' => array(
411
-            '5.2' => false,
412
-            '5.3' => true,
413
-        ),
414
-        'mysqli_poll' => array(
415
-            '5.2' => false,
416
-            '5.3' => true,
417
-        ),
418
-        'mysqli_read_async_query' => array(
419
-            '5.2' => false,
420
-            '5.3' => true,
421
-        ),
422
-        'openssl_random_pseudo_bytes' => array(
423
-            '5.2' => false,
424
-            '5.3' => true,
425
-        ),
426
-        'pcntl_signal_dispatch' => array(
427
-            '5.2' => false,
428
-            '5.3' => true,
429
-        ),
430
-        'pcntl_sigprocmask' => array(
431
-            '5.2' => false,
432
-            '5.3' => true,
433
-        ),
434
-        'pcntl_sigtimedwait' => array(
435
-            '5.2' => false,
436
-            '5.3' => true,
437
-        ),
438
-        'pcntl_sigwaitinfo' => array(
439
-            '5.2' => false,
440
-            '5.3' => true,
441
-        ),
442
-        'preg_filter' => array(
443
-            '5.2' => false,
444
-            '5.3' => true,
445
-        ),
446
-        'msg_queue_exists' => array(
447
-            '5.2' => false,
448
-            '5.3' => true,
449
-        ),
450
-        'shm_has_vars' => array(
451
-            '5.2' => false,
452
-            '5.3' => true,
453
-        ),
454
-        'acosh' => array(
455
-            '5.2' => false,
456
-            '5.3' => true,
457
-        ),
458
-        'asinh' => array(
459
-            '5.2' => false,
460
-            '5.3' => true,
461
-        ),
462
-        'atanh' => array(
463
-            '5.2' => false,
464
-            '5.3' => true,
465
-        ),
466
-        'expm1' => array(
467
-            '5.2' => false,
468
-            '5.3' => true,
469
-        ),
470
-        'log1p' => array(
471
-            '5.2' => false,
472
-            '5.3' => true,
473
-        ),
474
-        'enchant_broker_describe' => array(
475
-            '5.2' => false,
476
-            '5.3' => true,
477
-        ),
478
-        'enchant_broker_dict_exists' => array(
479
-            '5.2' => false,
480
-            '5.3' => true,
481
-        ),
482
-        'enchant_broker_free_dict' => array(
483
-            '5.2' => false,
484
-            '5.3' => true,
485
-        ),
486
-        'enchant_broker_free' => array(
487
-            '5.2' => false,
488
-            '5.3' => true,
489
-        ),
490
-        'enchant_broker_get_error' => array(
491
-            '5.2' => false,
492
-            '5.3' => true,
493
-        ),
494
-        'enchant_broker_init' => array(
495
-            '5.2' => false,
496
-            '5.3' => true,
497
-        ),
498
-        'enchant_broker_list_dicts' => array(
499
-            '5.2' => false,
500
-            '5.3' => true,
501
-        ),
502
-        'enchant_broker_request_dict' => array(
503
-            '5.2' => false,
504
-            '5.3' => true,
505
-        ),
506
-        'enchant_broker_request_pwl_dict' => array(
507
-            '5.2' => false,
508
-            '5.3' => true,
509
-        ),
510
-        'enchant_broker_set_ordering' => array(
511
-            '5.2' => false,
512
-            '5.3' => true,
513
-        ),
514
-        'enchant_dict_add_to_personal' => array(
515
-            '5.2' => false,
516
-            '5.3' => true,
517
-        ),
518
-        'enchant_dict_add_to_session' => array(
519
-            '5.2' => false,
520
-            '5.3' => true,
521
-        ),
522
-        'enchant_dict_check' => array(
523
-            '5.2' => false,
524
-            '5.3' => true,
525
-        ),
526
-        'enchant_dict_describe' => array(
527
-            '5.2' => false,
528
-            '5.3' => true,
529
-        ),
530
-        'enchant_dict_get_error' => array(
531
-            '5.2' => false,
532
-            '5.3' => true,
533
-        ),
534
-        'enchant_dict_is_in_session' => array(
535
-            '5.2' => false,
536
-            '5.3' => true,
537
-        ),
538
-        'enchant_dict_quick_check' => array(
539
-            '5.2' => false,
540
-            '5.3' => true,
541
-        ),
542
-        'enchant_dict_store_replacement' => array(
543
-            '5.2' => false,
544
-            '5.3' => true,
545
-        ),
546
-        'enchant_dict_suggest' => array(
547
-            '5.2' => false,
548
-            '5.3' => true,
549
-        ),
550
-        'finfo_buffer' => array(
551
-            '5.2' => false,
552
-            '5.3' => true,
553
-        ),
554
-        'finfo_close' => array(
555
-            '5.2' => false,
556
-            '5.3' => true,
557
-        ),
558
-        'finfo_file' => array(
559
-            '5.2' => false,
560
-            '5.3' => true,
561
-        ),
562
-        'finfo_open' => array(
563
-            '5.2' => false,
564
-            '5.3' => true,
565
-        ),
566
-        'finfo_set_flags' => array(
567
-            '5.2' => false,
568
-            '5.3' => true,
569
-        ),
570
-        'intl_error_name' => array(
571
-            '5.2' => false,
572
-            '5.3' => true,
573
-        ),
574
-        'intl_get_error_code' => array(
575
-            '5.2' => false,
576
-            '5.3' => true,
577
-        ),
578
-        'intl_get_error_message' => array(
579
-            '5.2' => false,
580
-            '5.3' => true,
581
-        ),
582
-        'intl_is_failure' => array(
583
-            '5.2' => false,
584
-            '5.3' => true,
585
-        ),
274
+		'array_replace' => array(
275
+			'5.2' => false,
276
+			'5.3' => true,
277
+		),
278
+		'array_replace_recursive' => array(
279
+			'5.2' => false,
280
+			'5.3' => true,
281
+		),
282
+		'class_alias' => array(
283
+			'5.2' => false,
284
+			'5.3' => true,
285
+		),
286
+		'forward_static_call' => array(
287
+			'5.2' => false,
288
+			'5.3' => true,
289
+		),
290
+		'forward_static_call_array' => array(
291
+			'5.2' => false,
292
+			'5.3' => true,
293
+		),
294
+		'gc_collect_cycles' => array(
295
+			'5.2' => false,
296
+			'5.3' => true,
297
+		),
298
+		'gc_disable' => array(
299
+			'5.2' => false,
300
+			'5.3' => true,
301
+		),
302
+		'gc_enable' => array(
303
+			'5.2' => false,
304
+			'5.3' => true,
305
+		),
306
+		'gc_enabled' => array(
307
+			'5.2' => false,
308
+			'5.3' => true,
309
+		),
310
+		'get_called_class' => array(
311
+			'5.2' => false,
312
+			'5.3' => true,
313
+		),
314
+		'gethostname' => array(
315
+			'5.2' => false,
316
+			'5.3' => true,
317
+		),
318
+		'header_remove' => array(
319
+			'5.2' => false,
320
+			'5.3' => true,
321
+		),
322
+		'lcfirst' => array(
323
+			'5.2' => false,
324
+			'5.3' => true,
325
+		),
326
+		'parse_ini_string' => array(
327
+			'5.2' => false,
328
+			'5.3' => true,
329
+		),
330
+		'quoted_printable_encode' => array(
331
+			'5.2' => false,
332
+			'5.3' => true,
333
+		),
334
+		'str_getcsv' => array(
335
+			'5.2' => false,
336
+			'5.3' => true,
337
+		),
338
+		'stream_context_set_default' => array(
339
+			'5.2' => false,
340
+			'5.3' => true,
341
+		),
342
+		'stream_supports_lock' => array(
343
+			'5.2' => false,
344
+			'5.3' => true,
345
+		),
346
+		'stream_context_get_params' => array(
347
+			'5.2' => false,
348
+			'5.3' => true,
349
+		),
350
+		'date_add' => array(
351
+			'5.2' => false,
352
+			'5.3' => true,
353
+		),
354
+		'date_create_from_format' => array(
355
+			'5.2' => false,
356
+			'5.3' => true,
357
+		),
358
+		'date_diff' => array(
359
+			'5.2' => false,
360
+			'5.3' => true,
361
+		),
362
+		'date_get_last_errors' => array(
363
+			'5.2' => false,
364
+			'5.3' => true,
365
+		),
366
+		'date_parse_from_format' => array(
367
+			'5.2' => false,
368
+			'5.3' => true,
369
+		),
370
+		'date_sub' => array(
371
+			'5.2' => false,
372
+			'5.3' => true,
373
+		),
374
+		'timezone_version_get' => array(
375
+			'5.2' => false,
376
+			'5.3' => true,
377
+		),
378
+		'gmp_testbit' => array(
379
+			'5.2' => false,
380
+			'5.3' => true,
381
+		),
382
+		'hash_copy' => array(
383
+			'5.2' => false,
384
+			'5.3' => true,
385
+		),
386
+		'imap_gc' => array(
387
+			'5.2' => false,
388
+			'5.3' => true,
389
+		),
390
+		'imap_utf8_to_mutf7' => array(
391
+			'5.2' => false,
392
+			'5.3' => true,
393
+		),
394
+		'imap_mutf7_to_utf8' => array(
395
+			'5.2' => false,
396
+			'5.3' => true,
397
+		),
398
+		'json_last_error' => array(
399
+			'5.2' => false,
400
+			'5.3' => true,
401
+		),
402
+		'mysqli_get_cache_stats' => array(
403
+			'5.2' => false,
404
+			'5.3' => true,
405
+		),
406
+		'mysqli_fetch_all' => array(
407
+			'5.2' => false,
408
+			'5.3' => true,
409
+		),
410
+		'mysqli_get_connection_status' => array(
411
+			'5.2' => false,
412
+			'5.3' => true,
413
+		),
414
+		'mysqli_poll' => array(
415
+			'5.2' => false,
416
+			'5.3' => true,
417
+		),
418
+		'mysqli_read_async_query' => array(
419
+			'5.2' => false,
420
+			'5.3' => true,
421
+		),
422
+		'openssl_random_pseudo_bytes' => array(
423
+			'5.2' => false,
424
+			'5.3' => true,
425
+		),
426
+		'pcntl_signal_dispatch' => array(
427
+			'5.2' => false,
428
+			'5.3' => true,
429
+		),
430
+		'pcntl_sigprocmask' => array(
431
+			'5.2' => false,
432
+			'5.3' => true,
433
+		),
434
+		'pcntl_sigtimedwait' => array(
435
+			'5.2' => false,
436
+			'5.3' => true,
437
+		),
438
+		'pcntl_sigwaitinfo' => array(
439
+			'5.2' => false,
440
+			'5.3' => true,
441
+		),
442
+		'preg_filter' => array(
443
+			'5.2' => false,
444
+			'5.3' => true,
445
+		),
446
+		'msg_queue_exists' => array(
447
+			'5.2' => false,
448
+			'5.3' => true,
449
+		),
450
+		'shm_has_vars' => array(
451
+			'5.2' => false,
452
+			'5.3' => true,
453
+		),
454
+		'acosh' => array(
455
+			'5.2' => false,
456
+			'5.3' => true,
457
+		),
458
+		'asinh' => array(
459
+			'5.2' => false,
460
+			'5.3' => true,
461
+		),
462
+		'atanh' => array(
463
+			'5.2' => false,
464
+			'5.3' => true,
465
+		),
466
+		'expm1' => array(
467
+			'5.2' => false,
468
+			'5.3' => true,
469
+		),
470
+		'log1p' => array(
471
+			'5.2' => false,
472
+			'5.3' => true,
473
+		),
474
+		'enchant_broker_describe' => array(
475
+			'5.2' => false,
476
+			'5.3' => true,
477
+		),
478
+		'enchant_broker_dict_exists' => array(
479
+			'5.2' => false,
480
+			'5.3' => true,
481
+		),
482
+		'enchant_broker_free_dict' => array(
483
+			'5.2' => false,
484
+			'5.3' => true,
485
+		),
486
+		'enchant_broker_free' => array(
487
+			'5.2' => false,
488
+			'5.3' => true,
489
+		),
490
+		'enchant_broker_get_error' => array(
491
+			'5.2' => false,
492
+			'5.3' => true,
493
+		),
494
+		'enchant_broker_init' => array(
495
+			'5.2' => false,
496
+			'5.3' => true,
497
+		),
498
+		'enchant_broker_list_dicts' => array(
499
+			'5.2' => false,
500
+			'5.3' => true,
501
+		),
502
+		'enchant_broker_request_dict' => array(
503
+			'5.2' => false,
504
+			'5.3' => true,
505
+		),
506
+		'enchant_broker_request_pwl_dict' => array(
507
+			'5.2' => false,
508
+			'5.3' => true,
509
+		),
510
+		'enchant_broker_set_ordering' => array(
511
+			'5.2' => false,
512
+			'5.3' => true,
513
+		),
514
+		'enchant_dict_add_to_personal' => array(
515
+			'5.2' => false,
516
+			'5.3' => true,
517
+		),
518
+		'enchant_dict_add_to_session' => array(
519
+			'5.2' => false,
520
+			'5.3' => true,
521
+		),
522
+		'enchant_dict_check' => array(
523
+			'5.2' => false,
524
+			'5.3' => true,
525
+		),
526
+		'enchant_dict_describe' => array(
527
+			'5.2' => false,
528
+			'5.3' => true,
529
+		),
530
+		'enchant_dict_get_error' => array(
531
+			'5.2' => false,
532
+			'5.3' => true,
533
+		),
534
+		'enchant_dict_is_in_session' => array(
535
+			'5.2' => false,
536
+			'5.3' => true,
537
+		),
538
+		'enchant_dict_quick_check' => array(
539
+			'5.2' => false,
540
+			'5.3' => true,
541
+		),
542
+		'enchant_dict_store_replacement' => array(
543
+			'5.2' => false,
544
+			'5.3' => true,
545
+		),
546
+		'enchant_dict_suggest' => array(
547
+			'5.2' => false,
548
+			'5.3' => true,
549
+		),
550
+		'finfo_buffer' => array(
551
+			'5.2' => false,
552
+			'5.3' => true,
553
+		),
554
+		'finfo_close' => array(
555
+			'5.2' => false,
556
+			'5.3' => true,
557
+		),
558
+		'finfo_file' => array(
559
+			'5.2' => false,
560
+			'5.3' => true,
561
+		),
562
+		'finfo_open' => array(
563
+			'5.2' => false,
564
+			'5.3' => true,
565
+		),
566
+		'finfo_set_flags' => array(
567
+			'5.2' => false,
568
+			'5.3' => true,
569
+		),
570
+		'intl_error_name' => array(
571
+			'5.2' => false,
572
+			'5.3' => true,
573
+		),
574
+		'intl_get_error_code' => array(
575
+			'5.2' => false,
576
+			'5.3' => true,
577
+		),
578
+		'intl_get_error_message' => array(
579
+			'5.2' => false,
580
+			'5.3' => true,
581
+		),
582
+		'intl_is_failure' => array(
583
+			'5.2' => false,
584
+			'5.3' => true,
585
+		),
586 586
 
587
-        'hex2bin' => array(
588
-            '5.3' => false,
589
-            '5.4' => true,
590
-        ),
591
-        'http_response_code' => array(
592
-            '5.3' => false,
593
-            '5.4' => true,
594
-        ),
595
-        'get_declared_traits' => array(
596
-            '5.3' => false,
597
-            '5.4' => true,
598
-        ),
599
-        'getimagesizefromstring' => array(
600
-            '5.3' => false,
601
-            '5.4' => true,
602
-        ),
603
-        'stream_set_chunk_size' => array(
604
-            '5.3' => false,
605
-            '5.4' => true,
606
-        ),
607
-        'socket_import_stream' => array(
608
-            '5.3' => false,
609
-            '5.4' => true,
610
-        ),
611
-        'trait_exists' => array(
612
-            '5.3' => false,
613
-            '5.4' => true,
614
-        ),
615
-        'header_register_callback' => array(
616
-            '5.3' => false,
617
-            '5.4' => true,
618
-        ),
619
-        'class_uses' => array(
620
-            '5.3' => false,
621
-            '5.4' => true,
622
-        ),
623
-        'session_status' => array(
624
-            '5.3' => false,
625
-            '5.4' => true,
626
-        ),
627
-        'session_register_shutdown' => array(
628
-            '5.3' => false,
629
-            '5.4' => true,
630
-        ),
631
-        'mysqli_error_list' => array(
632
-            '5.3' => false,
633
-            '5.4' => true,
634
-        ),
635
-        'mysqli_stmt_error_list' => array(
636
-            '5.3' => false,
637
-            '5.4' => true,
638
-        ),
639
-        'libxml_set_external_entity_loader' => array(
640
-            '5.3' => false,
641
-            '5.4' => true,
642
-        ),
643
-        'ldap_control_paged_result' => array(
644
-            '5.3' => false,
645
-            '5.4' => true,
646
-        ),
647
-        'ldap_control_paged_result_response' => array(
648
-            '5.3' => false,
649
-            '5.4' => true,
650
-        ),
651
-        'transliteral_create' => array(
652
-            '5.3' => false,
653
-            '5.4' => true,
654
-        ),
655
-        'transliteral_create_from_rules' => array(
656
-            '5.3' => false,
657
-            '5.4' => true,
658
-        ),
659
-        'transliteral_create_inverse' => array(
660
-            '5.3' => false,
661
-            '5.4' => true,
662
-        ),
663
-        'transliteral_get_error_code' => array(
664
-            '5.3' => false,
665
-            '5.4' => true,
666
-        ),
667
-        'transliteral_get_error_message' => array(
668
-            '5.3' => false,
669
-            '5.4' => true,
670
-        ),
671
-        'transliteral_list_ids' => array(
672
-            '5.3' => false,
673
-            '5.4' => true,
674
-        ),
675
-        'transliteral_transliterate' => array(
676
-            '5.3' => false,
677
-            '5.4' => true,
678
-        ),
679
-        'zlib_decode' => array(
680
-            '5.3' => false,
681
-            '5.4' => true,
682
-        ),
683
-        'zlib_encode' => array(
684
-            '5.3' => false,
685
-            '5.4' => true,
686
-        ),
587
+		'hex2bin' => array(
588
+			'5.3' => false,
589
+			'5.4' => true,
590
+		),
591
+		'http_response_code' => array(
592
+			'5.3' => false,
593
+			'5.4' => true,
594
+		),
595
+		'get_declared_traits' => array(
596
+			'5.3' => false,
597
+			'5.4' => true,
598
+		),
599
+		'getimagesizefromstring' => array(
600
+			'5.3' => false,
601
+			'5.4' => true,
602
+		),
603
+		'stream_set_chunk_size' => array(
604
+			'5.3' => false,
605
+			'5.4' => true,
606
+		),
607
+		'socket_import_stream' => array(
608
+			'5.3' => false,
609
+			'5.4' => true,
610
+		),
611
+		'trait_exists' => array(
612
+			'5.3' => false,
613
+			'5.4' => true,
614
+		),
615
+		'header_register_callback' => array(
616
+			'5.3' => false,
617
+			'5.4' => true,
618
+		),
619
+		'class_uses' => array(
620
+			'5.3' => false,
621
+			'5.4' => true,
622
+		),
623
+		'session_status' => array(
624
+			'5.3' => false,
625
+			'5.4' => true,
626
+		),
627
+		'session_register_shutdown' => array(
628
+			'5.3' => false,
629
+			'5.4' => true,
630
+		),
631
+		'mysqli_error_list' => array(
632
+			'5.3' => false,
633
+			'5.4' => true,
634
+		),
635
+		'mysqli_stmt_error_list' => array(
636
+			'5.3' => false,
637
+			'5.4' => true,
638
+		),
639
+		'libxml_set_external_entity_loader' => array(
640
+			'5.3' => false,
641
+			'5.4' => true,
642
+		),
643
+		'ldap_control_paged_result' => array(
644
+			'5.3' => false,
645
+			'5.4' => true,
646
+		),
647
+		'ldap_control_paged_result_response' => array(
648
+			'5.3' => false,
649
+			'5.4' => true,
650
+		),
651
+		'transliteral_create' => array(
652
+			'5.3' => false,
653
+			'5.4' => true,
654
+		),
655
+		'transliteral_create_from_rules' => array(
656
+			'5.3' => false,
657
+			'5.4' => true,
658
+		),
659
+		'transliteral_create_inverse' => array(
660
+			'5.3' => false,
661
+			'5.4' => true,
662
+		),
663
+		'transliteral_get_error_code' => array(
664
+			'5.3' => false,
665
+			'5.4' => true,
666
+		),
667
+		'transliteral_get_error_message' => array(
668
+			'5.3' => false,
669
+			'5.4' => true,
670
+		),
671
+		'transliteral_list_ids' => array(
672
+			'5.3' => false,
673
+			'5.4' => true,
674
+		),
675
+		'transliteral_transliterate' => array(
676
+			'5.3' => false,
677
+			'5.4' => true,
678
+		),
679
+		'zlib_decode' => array(
680
+			'5.3' => false,
681
+			'5.4' => true,
682
+		),
683
+		'zlib_encode' => array(
684
+			'5.3' => false,
685
+			'5.4' => true,
686
+		),
687 687
 
688
-        'array_column' => array(
689
-            '5.4' => false,
690
-            '5.5' => true,
691
-        ),
692
-        'boolval' => array(
693
-            '5.4' => false,
694
-            '5.5' => true,
695
-        ),
696
-        'json_last_error_msg' => array(
697
-            '5.4' => false,
698
-            '5.5' => true,
699
-        ),
700
-        'password_get_info' => array(
701
-            '5.4' => false,
702
-            '5.5' => true,
703
-        ),
704
-        'password_hash' => array(
705
-            '5.4' => false,
706
-            '5.5' => true,
707
-        ),
708
-        'password_needs_rehash' => array(
709
-            '5.4' => false,
710
-            '5.5' => true,
711
-        ),
712
-        'password_verify' => array(
713
-            '5.4' => false,
714
-            '5.5' => true,
715
-        ),
716
-        'hash_pbkdf2' => array(
717
-            '5.4' => false,
718
-            '5.5' => true,
719
-        ),
720
-        'openssl_pbkdf2' => array(
721
-            '5.4' => false,
722
-            '5.5' => true,
723
-        ),
724
-        'curl_escape' => array(
725
-            '5.4' => false,
726
-            '5.5' => true,
727
-        ),
728
-        'curl_file_create' => array(
729
-            '5.4' => false,
730
-            '5.5' => true,
731
-        ),
732
-        'curl_multi_setopt' => array(
733
-            '5.4' => false,
734
-            '5.5' => true,
735
-        ),
736
-        'curl_multi_strerror' => array(
737
-            '5.4' => false,
738
-            '5.5' => true,
739
-        ),
740
-        'curl_pause' => array(
741
-            '5.4' => false,
742
-            '5.5' => true,
743
-        ),
744
-        'curl_reset' => array(
745
-            '5.4' => false,
746
-            '5.5' => true,
747
-        ),
748
-        'curl_share_close' => array(
749
-            '5.4' => false,
750
-            '5.5' => true,
751
-        ),
752
-        'curl_share_init' => array(
753
-            '5.4' => false,
754
-            '5.5' => true,
755
-        ),
756
-        'curl_share_setopt' => array(
757
-            '5.4' => false,
758
-            '5.5' => true,
759
-        ),
760
-        'curl_strerror' => array(
761
-            '5.4' => false,
762
-            '5.5' => true,
763
-        ),
764
-        'curl_unescape' => array(
765
-            '5.4' => false,
766
-            '5.5' => true,
767
-        ),
768
-        'imageaffinematrixconcat' => array(
769
-            '5.4' => false,
770
-            '5.5' => true,
771
-        ),
772
-        'imageaffinematrixget' => array(
773
-            '5.4' => false,
774
-            '5.5' => true,
775
-        ),
776
-        'imagecrop' => array(
777
-            '5.4' => false,
778
-            '5.5' => true,
779
-        ),
780
-        'imagecropauto' => array(
781
-            '5.4' => false,
782
-            '5.5' => true,
783
-        ),
784
-        'imageflip' => array(
785
-            '5.4' => false,
786
-            '5.5' => true,
787
-        ),
788
-        'imagepalettetotruecolor' => array(
789
-            '5.4' => false,
790
-            '5.5' => true,
791
-        ),
792
-        'imagescale' => array(
793
-            '5.4' => false,
794
-            '5.5' => true,
795
-        ),
796
-        'mysqli_begin_transaction' => array(
797
-            '5.4' => false,
798
-            '5.5' => true,
799
-        ),
800
-        'mysqli_release_savepoint' => array(
801
-            '5.4' => false,
802
-            '5.5' => true,
803
-        ),
804
-        'mysqli_savepoint' => array(
805
-            '5.4' => false,
806
-            '5.5' => true,
807
-        ),
808
-        'pg_escape_literal' => array(
809
-            '5.4' => false,
810
-            '5.5' => true,
811
-        ),
812
-        'pg_escape_identifier' => array(
813
-            '5.4' => false,
814
-            '5.5' => true,
815
-        ),
816
-        'socket_sendmsg' => array(
817
-            '5.4' => false,
818
-            '5.5' => true,
819
-        ),
820
-        'socket_recvmsg' => array(
821
-            '5.4' => false,
822
-            '5.5' => true,
823
-        ),
824
-        'socket_cmsg_space' => array(
825
-            '5.4' => false,
826
-            '5.5' => true,
827
-        ),
828
-        'cli_get_process_title' => array(
829
-            '5.4' => false,
830
-            '5.5' => true,
831
-        ),
832
-        'cli_set_process_title' => array(
833
-            '5.4' => false,
834
-            '5.5' => true,
835
-        ),
836
-        'datefmt_format_object' => array(
837
-            '5.4' => false,
838
-            '5.5' => true,
839
-        ),
840
-        'datefmt_get_calendar_object' => array(
841
-            '5.4' => false,
842
-            '5.5' => true,
843
-        ),
844
-        'datefmt_get_timezone' => array(
845
-            '5.4' => false,
846
-            '5.5' => true,
847
-        ),
848
-        'datefmt_set_timezone' => array(
849
-            '5.4' => false,
850
-            '5.5' => true,
851
-        ),
852
-        'datefmt_get_calendar_object' => array(
853
-            '5.4' => false,
854
-            '5.5' => true,
855
-        ),
856
-        'intlcal_create_instance' => array(
857
-            '5.4' => false,
858
-            '5.5' => true,
859
-        ),
860
-        'intlcal_get_keyword_values_for_locale' => array(
861
-            '5.4' => false,
862
-            '5.5' => true,
863
-        ),
864
-        'intlcal_get_now' => array(
865
-            '5.4' => false,
866
-            '5.5' => true,
867
-        ),
868
-        'intlcal_get_available_locales' => array(
869
-            '5.4' => false,
870
-            '5.5' => true,
871
-        ),
872
-        'intlcal_get' => array(
873
-            '5.4' => false,
874
-            '5.5' => true,
875
-        ),
876
-        'intlcal_get_time' => array(
877
-            '5.4' => false,
878
-            '5.5' => true,
879
-        ),
880
-        'intlcal_set_time' => array(
881
-            '5.4' => false,
882
-            '5.5' => true,
883
-        ),
884
-        'intlcal_add' => array(
885
-            '5.4' => false,
886
-            '5.5' => true,
887
-        ),
888
-        'intlcal_set_time_zone' => array(
889
-            '5.4' => false,
890
-            '5.5' => true,
891
-        ),
892
-        'intlcal_after' => array(
893
-            '5.4' => false,
894
-            '5.5' => true,
895
-        ),
896
-        'intlcal_before' => array(
897
-            '5.4' => false,
898
-            '5.5' => true,
899
-        ),
900
-        'intlcal_set' => array(
901
-            '5.4' => false,
902
-            '5.5' => true,
903
-        ),
904
-        'intlcal_roll' => array(
905
-            '5.4' => false,
906
-            '5.5' => true,
907
-        ),
908
-        'intlcal_clear' => array(
909
-            '5.4' => false,
910
-            '5.5' => true,
911
-        ),
912
-        'intlcal_field_difference' => array(
913
-            '5.4' => false,
914
-            '5.5' => true,
915
-        ),
916
-        'intlcal_get_actual_maximum' => array(
917
-            '5.4' => false,
918
-            '5.5' => true,
919
-        ),
920
-        'intlcal_get_actual_minumum' => array(
921
-            '5.4' => false,
922
-            '5.5' => true,
923
-        ),
924
-        'intlcal_get_day_of_week_type' => array(
925
-            '5.4' => false,
926
-            '5.5' => true,
927
-        ),
928
-        'intlcal_get_first_day_of_week' => array(
929
-            '5.4' => false,
930
-            '5.5' => true,
931
-        ),
932
-        'intlcal_get_greatest_minimum' => array(
933
-            '5.4' => false,
934
-            '5.5' => true,
935
-        ),
936
-        'intlcal_get_least_maximum' => array(
937
-            '5.4' => false,
938
-            '5.5' => true,
939
-        ),
940
-        'intlcal_get_locale' => array(
941
-            '5.4' => false,
942
-            '5.5' => true,
943
-        ),
944
-        'intlcal_get_maximum' => array(
945
-            '5.4' => false,
946
-            '5.5' => true,
947
-        ),
948
-        'intlcal_get_minimal_days_in_first_week' => array(
949
-            '5.4' => false,
950
-            '5.5' => true,
951
-        ),
952
-        'intlcal_get_minimum' => array(
953
-            '5.4' => false,
954
-            '5.5' => true,
955
-        ),
956
-        'intlcal_get_time_zone' => array(
957
-            '5.4' => false,
958
-            '5.5' => true,
959
-        ),
960
-        'intlcal_get_type' => array(
961
-            '5.4' => false,
962
-            '5.5' => true,
963
-        ),
964
-        'intlcal_get_weekend_transition' => array(
965
-            '5.4' => false,
966
-            '5.5' => true,
967
-        ),
968
-        'intlcal_in_daylight_time' => array(
969
-            '5.4' => false,
970
-            '5.5' => true,
971
-        ),
972
-        'intlcal_is_equivalent_to' => array(
973
-            '5.4' => false,
974
-            '5.5' => true,
975
-        ),
976
-        'intlcal_is_lenient' => array(
977
-            '5.4' => false,
978
-            '5.5' => true,
979
-        ),
980
-        'intlcal_equals' => array(
981
-            '5.4' => false,
982
-            '5.5' => true,
983
-        ),
984
-        'intlcal_get_repeated_wall_time_option' => array(
985
-            '5.4' => false,
986
-            '5.5' => true,
987
-        ),
988
-        'intlcal_get_skipped_wall_time_option' => array(
989
-            '5.4' => false,
990
-            '5.5' => true,
991
-        ),
992
-        'intlcal_set_repeated_wall_time_option' => array(
993
-            '5.4' => false,
994
-            '5.5' => true,
995
-        ),
996
-        'intlcal_set_skipped_wall_time_option' => array(
997
-            '5.4' => false,
998
-            '5.5' => true,
999
-        ),
1000
-        'intlcal_from_date_time' => array(
1001
-            '5.4' => false,
1002
-            '5.5' => true,
1003
-        ),
1004
-        'intlcal_to_date_time' => array(
1005
-            '5.4' => false,
1006
-            '5.5' => true,
1007
-        ),
1008
-        'intlcal_get_error_code' => array(
1009
-            '5.4' => false,
1010
-            '5.5' => true,
1011
-        ),
1012
-        'intlcal_get_error_message' => array(
1013
-            '5.4' => false,
1014
-            '5.5' => true,
1015
-        ),
1016
-        'intlgregcal_create_instance' => array(
1017
-            '5.4' => false,
1018
-            '5.5' => true,
1019
-        ),
1020
-        'intlgregcal_set_gregorian_change' => array(
1021
-            '5.4' => false,
1022
-            '5.5' => true,
1023
-        ),
1024
-        'intlgregcal_get_gregorian_change' => array(
1025
-            '5.4' => false,
1026
-            '5.5' => true,
1027
-        ),
1028
-        'intlgregcal_is_leap_year' => array(
1029
-            '5.4' => false,
1030
-            '5.5' => true,
1031
-        ),
1032
-        'intlz_create_time_zone' => array(
1033
-            '5.4' => false,
1034
-            '5.5' => true,
1035
-        ),
1036
-        'intlz_create_default' => array(
1037
-            '5.4' => false,
1038
-            '5.5' => true,
1039
-        ),
1040
-        'intlz_get_id' => array(
1041
-            '5.4' => false,
1042
-            '5.5' => true,
1043
-        ),
1044
-        'intlz_get_gmt' => array(
1045
-            '5.4' => false,
1046
-            '5.5' => true,
1047
-        ),
1048
-        'intlz_get_unknown' => array(
1049
-            '5.4' => false,
1050
-            '5.5' => true,
1051
-        ),
1052
-        'intlz_create_enumeration' => array(
1053
-            '5.4' => false,
1054
-            '5.5' => true,
1055
-        ),
1056
-        'intlz_count_equivalent_ids' => array(
1057
-            '5.4' => false,
1058
-            '5.5' => true,
1059
-        ),
1060
-        'intlz_create_time_zone_id_enumeration' => array(
1061
-            '5.4' => false,
1062
-            '5.5' => true,
1063
-        ),
1064
-        'intlz_get_canonical_id' => array(
1065
-            '5.4' => false,
1066
-            '5.5' => true,
1067
-        ),
1068
-        'intlz_get_region' => array(
1069
-            '5.4' => false,
1070
-            '5.5' => true,
1071
-        ),
1072
-        'intlz_get_tz_data_version' => array(
1073
-            '5.4' => false,
1074
-            '5.5' => true,
1075
-        ),
1076
-        'intlz_get_equivalent_id' => array(
1077
-            '5.4' => false,
1078
-            '5.5' => true,
1079
-        ),
1080
-        'intlz_use_daylight_time' => array(
1081
-            '5.4' => false,
1082
-            '5.5' => true,
1083
-        ),
1084
-        'intlz_get_offset' => array(
1085
-            '5.4' => false,
1086
-            '5.5' => true,
1087
-        ),
1088
-        'intlz_get_raw_offset' => array(
1089
-            '5.4' => false,
1090
-            '5.5' => true,
1091
-        ),
1092
-        'intlz_has_same_rules' => array(
1093
-            '5.4' => false,
1094
-            '5.5' => true,
1095
-        ),
1096
-        'intlz_get_display_name' => array(
1097
-            '5.4' => false,
1098
-            '5.5' => true,
1099
-        ),
1100
-        'intlz_get_dst_savings' => array(
1101
-            '5.4' => false,
1102
-            '5.5' => true,
1103
-        ),
1104
-        'intlz_from_date_time_zone' => array(
1105
-            '5.4' => false,
1106
-            '5.5' => true,
1107
-        ),
1108
-        'intlz_to_date_time_zone' => array(
1109
-            '5.4' => false,
1110
-            '5.5' => true,
1111
-        ),
1112
-        'intlz_get_error_code' => array(
1113
-            '5.4' => false,
1114
-            '5.5' => true,
1115
-        ),
1116
-        'intlz_get_error_message' => array(
1117
-            '5.4' => false,
1118
-            '5.5' => true,
1119
-        ),
688
+		'array_column' => array(
689
+			'5.4' => false,
690
+			'5.5' => true,
691
+		),
692
+		'boolval' => array(
693
+			'5.4' => false,
694
+			'5.5' => true,
695
+		),
696
+		'json_last_error_msg' => array(
697
+			'5.4' => false,
698
+			'5.5' => true,
699
+		),
700
+		'password_get_info' => array(
701
+			'5.4' => false,
702
+			'5.5' => true,
703
+		),
704
+		'password_hash' => array(
705
+			'5.4' => false,
706
+			'5.5' => true,
707
+		),
708
+		'password_needs_rehash' => array(
709
+			'5.4' => false,
710
+			'5.5' => true,
711
+		),
712
+		'password_verify' => array(
713
+			'5.4' => false,
714
+			'5.5' => true,
715
+		),
716
+		'hash_pbkdf2' => array(
717
+			'5.4' => false,
718
+			'5.5' => true,
719
+		),
720
+		'openssl_pbkdf2' => array(
721
+			'5.4' => false,
722
+			'5.5' => true,
723
+		),
724
+		'curl_escape' => array(
725
+			'5.4' => false,
726
+			'5.5' => true,
727
+		),
728
+		'curl_file_create' => array(
729
+			'5.4' => false,
730
+			'5.5' => true,
731
+		),
732
+		'curl_multi_setopt' => array(
733
+			'5.4' => false,
734
+			'5.5' => true,
735
+		),
736
+		'curl_multi_strerror' => array(
737
+			'5.4' => false,
738
+			'5.5' => true,
739
+		),
740
+		'curl_pause' => array(
741
+			'5.4' => false,
742
+			'5.5' => true,
743
+		),
744
+		'curl_reset' => array(
745
+			'5.4' => false,
746
+			'5.5' => true,
747
+		),
748
+		'curl_share_close' => array(
749
+			'5.4' => false,
750
+			'5.5' => true,
751
+		),
752
+		'curl_share_init' => array(
753
+			'5.4' => false,
754
+			'5.5' => true,
755
+		),
756
+		'curl_share_setopt' => array(
757
+			'5.4' => false,
758
+			'5.5' => true,
759
+		),
760
+		'curl_strerror' => array(
761
+			'5.4' => false,
762
+			'5.5' => true,
763
+		),
764
+		'curl_unescape' => array(
765
+			'5.4' => false,
766
+			'5.5' => true,
767
+		),
768
+		'imageaffinematrixconcat' => array(
769
+			'5.4' => false,
770
+			'5.5' => true,
771
+		),
772
+		'imageaffinematrixget' => array(
773
+			'5.4' => false,
774
+			'5.5' => true,
775
+		),
776
+		'imagecrop' => array(
777
+			'5.4' => false,
778
+			'5.5' => true,
779
+		),
780
+		'imagecropauto' => array(
781
+			'5.4' => false,
782
+			'5.5' => true,
783
+		),
784
+		'imageflip' => array(
785
+			'5.4' => false,
786
+			'5.5' => true,
787
+		),
788
+		'imagepalettetotruecolor' => array(
789
+			'5.4' => false,
790
+			'5.5' => true,
791
+		),
792
+		'imagescale' => array(
793
+			'5.4' => false,
794
+			'5.5' => true,
795
+		),
796
+		'mysqli_begin_transaction' => array(
797
+			'5.4' => false,
798
+			'5.5' => true,
799
+		),
800
+		'mysqli_release_savepoint' => array(
801
+			'5.4' => false,
802
+			'5.5' => true,
803
+		),
804
+		'mysqli_savepoint' => array(
805
+			'5.4' => false,
806
+			'5.5' => true,
807
+		),
808
+		'pg_escape_literal' => array(
809
+			'5.4' => false,
810
+			'5.5' => true,
811
+		),
812
+		'pg_escape_identifier' => array(
813
+			'5.4' => false,
814
+			'5.5' => true,
815
+		),
816
+		'socket_sendmsg' => array(
817
+			'5.4' => false,
818
+			'5.5' => true,
819
+		),
820
+		'socket_recvmsg' => array(
821
+			'5.4' => false,
822
+			'5.5' => true,
823
+		),
824
+		'socket_cmsg_space' => array(
825
+			'5.4' => false,
826
+			'5.5' => true,
827
+		),
828
+		'cli_get_process_title' => array(
829
+			'5.4' => false,
830
+			'5.5' => true,
831
+		),
832
+		'cli_set_process_title' => array(
833
+			'5.4' => false,
834
+			'5.5' => true,
835
+		),
836
+		'datefmt_format_object' => array(
837
+			'5.4' => false,
838
+			'5.5' => true,
839
+		),
840
+		'datefmt_get_calendar_object' => array(
841
+			'5.4' => false,
842
+			'5.5' => true,
843
+		),
844
+		'datefmt_get_timezone' => array(
845
+			'5.4' => false,
846
+			'5.5' => true,
847
+		),
848
+		'datefmt_set_timezone' => array(
849
+			'5.4' => false,
850
+			'5.5' => true,
851
+		),
852
+		'datefmt_get_calendar_object' => array(
853
+			'5.4' => false,
854
+			'5.5' => true,
855
+		),
856
+		'intlcal_create_instance' => array(
857
+			'5.4' => false,
858
+			'5.5' => true,
859
+		),
860
+		'intlcal_get_keyword_values_for_locale' => array(
861
+			'5.4' => false,
862
+			'5.5' => true,
863
+		),
864
+		'intlcal_get_now' => array(
865
+			'5.4' => false,
866
+			'5.5' => true,
867
+		),
868
+		'intlcal_get_available_locales' => array(
869
+			'5.4' => false,
870
+			'5.5' => true,
871
+		),
872
+		'intlcal_get' => array(
873
+			'5.4' => false,
874
+			'5.5' => true,
875
+		),
876
+		'intlcal_get_time' => array(
877
+			'5.4' => false,
878
+			'5.5' => true,
879
+		),
880
+		'intlcal_set_time' => array(
881
+			'5.4' => false,
882
+			'5.5' => true,
883
+		),
884
+		'intlcal_add' => array(
885
+			'5.4' => false,
886
+			'5.5' => true,
887
+		),
888
+		'intlcal_set_time_zone' => array(
889
+			'5.4' => false,
890
+			'5.5' => true,
891
+		),
892
+		'intlcal_after' => array(
893
+			'5.4' => false,
894
+			'5.5' => true,
895
+		),
896
+		'intlcal_before' => array(
897
+			'5.4' => false,
898
+			'5.5' => true,
899
+		),
900
+		'intlcal_set' => array(
901
+			'5.4' => false,
902
+			'5.5' => true,
903
+		),
904
+		'intlcal_roll' => array(
905
+			'5.4' => false,
906
+			'5.5' => true,
907
+		),
908
+		'intlcal_clear' => array(
909
+			'5.4' => false,
910
+			'5.5' => true,
911
+		),
912
+		'intlcal_field_difference' => array(
913
+			'5.4' => false,
914
+			'5.5' => true,
915
+		),
916
+		'intlcal_get_actual_maximum' => array(
917
+			'5.4' => false,
918
+			'5.5' => true,
919
+		),
920
+		'intlcal_get_actual_minumum' => array(
921
+			'5.4' => false,
922
+			'5.5' => true,
923
+		),
924
+		'intlcal_get_day_of_week_type' => array(
925
+			'5.4' => false,
926
+			'5.5' => true,
927
+		),
928
+		'intlcal_get_first_day_of_week' => array(
929
+			'5.4' => false,
930
+			'5.5' => true,
931
+		),
932
+		'intlcal_get_greatest_minimum' => array(
933
+			'5.4' => false,
934
+			'5.5' => true,
935
+		),
936
+		'intlcal_get_least_maximum' => array(
937
+			'5.4' => false,
938
+			'5.5' => true,
939
+		),
940
+		'intlcal_get_locale' => array(
941
+			'5.4' => false,
942
+			'5.5' => true,
943
+		),
944
+		'intlcal_get_maximum' => array(
945
+			'5.4' => false,
946
+			'5.5' => true,
947
+		),
948
+		'intlcal_get_minimal_days_in_first_week' => array(
949
+			'5.4' => false,
950
+			'5.5' => true,
951
+		),
952
+		'intlcal_get_minimum' => array(
953
+			'5.4' => false,
954
+			'5.5' => true,
955
+		),
956
+		'intlcal_get_time_zone' => array(
957
+			'5.4' => false,
958
+			'5.5' => true,
959
+		),
960
+		'intlcal_get_type' => array(
961
+			'5.4' => false,
962
+			'5.5' => true,
963
+		),
964
+		'intlcal_get_weekend_transition' => array(
965
+			'5.4' => false,
966
+			'5.5' => true,
967
+		),
968
+		'intlcal_in_daylight_time' => array(
969
+			'5.4' => false,
970
+			'5.5' => true,
971
+		),
972
+		'intlcal_is_equivalent_to' => array(
973
+			'5.4' => false,
974
+			'5.5' => true,
975
+		),
976
+		'intlcal_is_lenient' => array(
977
+			'5.4' => false,
978
+			'5.5' => true,
979
+		),
980
+		'intlcal_equals' => array(
981
+			'5.4' => false,
982
+			'5.5' => true,
983
+		),
984
+		'intlcal_get_repeated_wall_time_option' => array(
985
+			'5.4' => false,
986
+			'5.5' => true,
987
+		),
988
+		'intlcal_get_skipped_wall_time_option' => array(
989
+			'5.4' => false,
990
+			'5.5' => true,
991
+		),
992
+		'intlcal_set_repeated_wall_time_option' => array(
993
+			'5.4' => false,
994
+			'5.5' => true,
995
+		),
996
+		'intlcal_set_skipped_wall_time_option' => array(
997
+			'5.4' => false,
998
+			'5.5' => true,
999
+		),
1000
+		'intlcal_from_date_time' => array(
1001
+			'5.4' => false,
1002
+			'5.5' => true,
1003
+		),
1004
+		'intlcal_to_date_time' => array(
1005
+			'5.4' => false,
1006
+			'5.5' => true,
1007
+		),
1008
+		'intlcal_get_error_code' => array(
1009
+			'5.4' => false,
1010
+			'5.5' => true,
1011
+		),
1012
+		'intlcal_get_error_message' => array(
1013
+			'5.4' => false,
1014
+			'5.5' => true,
1015
+		),
1016
+		'intlgregcal_create_instance' => array(
1017
+			'5.4' => false,
1018
+			'5.5' => true,
1019
+		),
1020
+		'intlgregcal_set_gregorian_change' => array(
1021
+			'5.4' => false,
1022
+			'5.5' => true,
1023
+		),
1024
+		'intlgregcal_get_gregorian_change' => array(
1025
+			'5.4' => false,
1026
+			'5.5' => true,
1027
+		),
1028
+		'intlgregcal_is_leap_year' => array(
1029
+			'5.4' => false,
1030
+			'5.5' => true,
1031
+		),
1032
+		'intlz_create_time_zone' => array(
1033
+			'5.4' => false,
1034
+			'5.5' => true,
1035
+		),
1036
+		'intlz_create_default' => array(
1037
+			'5.4' => false,
1038
+			'5.5' => true,
1039
+		),
1040
+		'intlz_get_id' => array(
1041
+			'5.4' => false,
1042
+			'5.5' => true,
1043
+		),
1044
+		'intlz_get_gmt' => array(
1045
+			'5.4' => false,
1046
+			'5.5' => true,
1047
+		),
1048
+		'intlz_get_unknown' => array(
1049
+			'5.4' => false,
1050
+			'5.5' => true,
1051
+		),
1052
+		'intlz_create_enumeration' => array(
1053
+			'5.4' => false,
1054
+			'5.5' => true,
1055
+		),
1056
+		'intlz_count_equivalent_ids' => array(
1057
+			'5.4' => false,
1058
+			'5.5' => true,
1059
+		),
1060
+		'intlz_create_time_zone_id_enumeration' => array(
1061
+			'5.4' => false,
1062
+			'5.5' => true,
1063
+		),
1064
+		'intlz_get_canonical_id' => array(
1065
+			'5.4' => false,
1066
+			'5.5' => true,
1067
+		),
1068
+		'intlz_get_region' => array(
1069
+			'5.4' => false,
1070
+			'5.5' => true,
1071
+		),
1072
+		'intlz_get_tz_data_version' => array(
1073
+			'5.4' => false,
1074
+			'5.5' => true,
1075
+		),
1076
+		'intlz_get_equivalent_id' => array(
1077
+			'5.4' => false,
1078
+			'5.5' => true,
1079
+		),
1080
+		'intlz_use_daylight_time' => array(
1081
+			'5.4' => false,
1082
+			'5.5' => true,
1083
+		),
1084
+		'intlz_get_offset' => array(
1085
+			'5.4' => false,
1086
+			'5.5' => true,
1087
+		),
1088
+		'intlz_get_raw_offset' => array(
1089
+			'5.4' => false,
1090
+			'5.5' => true,
1091
+		),
1092
+		'intlz_has_same_rules' => array(
1093
+			'5.4' => false,
1094
+			'5.5' => true,
1095
+		),
1096
+		'intlz_get_display_name' => array(
1097
+			'5.4' => false,
1098
+			'5.5' => true,
1099
+		),
1100
+		'intlz_get_dst_savings' => array(
1101
+			'5.4' => false,
1102
+			'5.5' => true,
1103
+		),
1104
+		'intlz_from_date_time_zone' => array(
1105
+			'5.4' => false,
1106
+			'5.5' => true,
1107
+		),
1108
+		'intlz_to_date_time_zone' => array(
1109
+			'5.4' => false,
1110
+			'5.5' => true,
1111
+		),
1112
+		'intlz_get_error_code' => array(
1113
+			'5.4' => false,
1114
+			'5.5' => true,
1115
+		),
1116
+		'intlz_get_error_message' => array(
1117
+			'5.4' => false,
1118
+			'5.5' => true,
1119
+		),
1120 1120
 
1121
-        'gmp_root' => array(
1122
-            '5.5' => false,
1123
-            '5.6' => true,
1124
-        ),
1125
-        'gmp_rootrem' => array(
1126
-            '5.5' => false,
1127
-            '5.6' => true,
1128
-        ),
1129
-        'hash_equals' => array(
1130
-            '5.5' => false,
1131
-            '5.6' => true,
1132
-        ),
1133
-        'ldap_escape' => array(
1134
-            '5.5' => false,
1135
-            '5.6' => true,
1136
-        ),
1137
-        'ldap_modify_batch' => array(
1138
-            '5.4.25' => false,
1139
-            '5.5.9'  => false,
1140
-            '5.4.26' => true,
1141
-            '5.5.10' => true,
1142
-            '5.6.0'  => true,
1143
-        ),
1144
-        'mysqli_get_links_stats' => array(
1145
-            '5.5' => false,
1146
-            '5.6' => true,
1147
-        ),
1148
-        'openssl_get_cert_locations' => array(
1149
-            '5.5' => false,
1150
-            '5.6' => true,
1151
-        ),
1152
-        'openssl_x509_fingerprint' => array(
1153
-            '5.5' => false,
1154
-            '5.6' => true,
1155
-        ),
1156
-        'openssl_spki_new' => array(
1157
-            '5.5' => false,
1158
-            '5.6' => true,
1159
-        ),
1160
-        'openssl_spki_verify' => array(
1161
-            '5.5' => false,
1162
-            '5.6' => true,
1163
-        ),
1164
-        'openssl_spki_export_challenge' => array(
1165
-            '5.5' => false,
1166
-            '5.6' => true,
1167
-        ),
1168
-        'openssl_spki_export' => array(
1169
-            '5.5' => false,
1170
-            '5.6' => true,
1171
-        ),
1172
-        'pg_connect_poll' => array(
1173
-            '5.5' => false,
1174
-            '5.6' => true,
1175
-        ),
1176
-        'pg_consume_input' => array(
1177
-            '5.5' => false,
1178
-            '5.6' => true,
1179
-        ),
1180
-        'pg_flush' => array(
1181
-            '5.5' => false,
1182
-            '5.6' => true,
1183
-        ),
1184
-        'pg_lo_truncate' => array(
1185
-            '5.5' => false,
1186
-            '5.6' => true,
1187
-        ),
1188
-        'pg_socket' => array(
1189
-            '5.5' => false,
1190
-            '5.6' => true,
1191
-        ),
1192
-        'session_abort' => array(
1193
-            '5.5' => false,
1194
-            '5.6' => true,
1195
-        ),
1196
-        'session_reset' => array(
1197
-            '5.5' => false,
1198
-            '5.6' => true,
1199
-        ),
1121
+		'gmp_root' => array(
1122
+			'5.5' => false,
1123
+			'5.6' => true,
1124
+		),
1125
+		'gmp_rootrem' => array(
1126
+			'5.5' => false,
1127
+			'5.6' => true,
1128
+		),
1129
+		'hash_equals' => array(
1130
+			'5.5' => false,
1131
+			'5.6' => true,
1132
+		),
1133
+		'ldap_escape' => array(
1134
+			'5.5' => false,
1135
+			'5.6' => true,
1136
+		),
1137
+		'ldap_modify_batch' => array(
1138
+			'5.4.25' => false,
1139
+			'5.5.9'  => false,
1140
+			'5.4.26' => true,
1141
+			'5.5.10' => true,
1142
+			'5.6.0'  => true,
1143
+		),
1144
+		'mysqli_get_links_stats' => array(
1145
+			'5.5' => false,
1146
+			'5.6' => true,
1147
+		),
1148
+		'openssl_get_cert_locations' => array(
1149
+			'5.5' => false,
1150
+			'5.6' => true,
1151
+		),
1152
+		'openssl_x509_fingerprint' => array(
1153
+			'5.5' => false,
1154
+			'5.6' => true,
1155
+		),
1156
+		'openssl_spki_new' => array(
1157
+			'5.5' => false,
1158
+			'5.6' => true,
1159
+		),
1160
+		'openssl_spki_verify' => array(
1161
+			'5.5' => false,
1162
+			'5.6' => true,
1163
+		),
1164
+		'openssl_spki_export_challenge' => array(
1165
+			'5.5' => false,
1166
+			'5.6' => true,
1167
+		),
1168
+		'openssl_spki_export' => array(
1169
+			'5.5' => false,
1170
+			'5.6' => true,
1171
+		),
1172
+		'pg_connect_poll' => array(
1173
+			'5.5' => false,
1174
+			'5.6' => true,
1175
+		),
1176
+		'pg_consume_input' => array(
1177
+			'5.5' => false,
1178
+			'5.6' => true,
1179
+		),
1180
+		'pg_flush' => array(
1181
+			'5.5' => false,
1182
+			'5.6' => true,
1183
+		),
1184
+		'pg_lo_truncate' => array(
1185
+			'5.5' => false,
1186
+			'5.6' => true,
1187
+		),
1188
+		'pg_socket' => array(
1189
+			'5.5' => false,
1190
+			'5.6' => true,
1191
+		),
1192
+		'session_abort' => array(
1193
+			'5.5' => false,
1194
+			'5.6' => true,
1195
+		),
1196
+		'session_reset' => array(
1197
+			'5.5' => false,
1198
+			'5.6' => true,
1199
+		),
1200 1200
 
1201
-        'random_bytes' => array(
1202
-            '5.6' => false,
1203
-            '7.0' => true,
1204
-        ),
1205
-        'random_int' => array(
1206
-            '5.6' => false,
1207
-            '7.0' => true,
1208
-        ),
1209
-        'error_clear_last' => array(
1210
-            '5.6' => false,
1211
-            '7.0' => true,
1212
-        ),
1213
-        'gmp_random_seed' => array(
1214
-            '5.6' => false,
1215
-            '7.0' => true,
1216
-        ),
1217
-        'intdiv' => array(
1218
-            '5.6' => false,
1219
-            '7.0' => true,
1220
-        ),
1221
-        'preg_replace_callback_array' => array(
1222
-            '5.6' => false,
1223
-            '7.0' => true,
1224
-        ),
1225
-        'gc_mem_caches' => array(
1226
-            '5.6' => false,
1227
-            '7.0' => true,
1228
-        ),
1229
-        'get_resources' => array(
1230
-            '5.6' => false,
1231
-            '7.0' => true,
1232
-        ),
1233
-        'posix_setrlimit' => array(
1234
-            '5.6' => false,
1235
-            '7.0' => true,
1236
-        ),
1237
-        'inflate_add' => array(
1238
-            '5.6' => false,
1239
-            '7.0' => true,
1240
-        ),
1241
-        'deflate_add' => array(
1242
-            '5.6' => false,
1243
-            '7.0' => true,
1244
-        ),
1245
-        'inflate_init' => array(
1246
-            '5.6' => false,
1247
-            '7.0' => true,
1248
-        ),
1249
-        'deflate_init' => array(
1250
-            '5.6' => false,
1251
-            '7.0' => true,
1252
-        ),
1201
+		'random_bytes' => array(
1202
+			'5.6' => false,
1203
+			'7.0' => true,
1204
+		),
1205
+		'random_int' => array(
1206
+			'5.6' => false,
1207
+			'7.0' => true,
1208
+		),
1209
+		'error_clear_last' => array(
1210
+			'5.6' => false,
1211
+			'7.0' => true,
1212
+		),
1213
+		'gmp_random_seed' => array(
1214
+			'5.6' => false,
1215
+			'7.0' => true,
1216
+		),
1217
+		'intdiv' => array(
1218
+			'5.6' => false,
1219
+			'7.0' => true,
1220
+		),
1221
+		'preg_replace_callback_array' => array(
1222
+			'5.6' => false,
1223
+			'7.0' => true,
1224
+		),
1225
+		'gc_mem_caches' => array(
1226
+			'5.6' => false,
1227
+			'7.0' => true,
1228
+		),
1229
+		'get_resources' => array(
1230
+			'5.6' => false,
1231
+			'7.0' => true,
1232
+		),
1233
+		'posix_setrlimit' => array(
1234
+			'5.6' => false,
1235
+			'7.0' => true,
1236
+		),
1237
+		'inflate_add' => array(
1238
+			'5.6' => false,
1239
+			'7.0' => true,
1240
+		),
1241
+		'deflate_add' => array(
1242
+			'5.6' => false,
1243
+			'7.0' => true,
1244
+		),
1245
+		'inflate_init' => array(
1246
+			'5.6' => false,
1247
+			'7.0' => true,
1248
+		),
1249
+		'deflate_init' => array(
1250
+			'5.6' => false,
1251
+			'7.0' => true,
1252
+		),
1253 1253
 
1254
-        'socket_export_stream' => array(
1255
-            '7.0.6' => false,
1256
-            '7.0.7' => true,
1257
-        ),
1254
+		'socket_export_stream' => array(
1255
+			'7.0.6' => false,
1256
+			'7.0.7' => true,
1257
+		),
1258 1258
 
1259
-        'curl_multi_errno' => array(
1260
-            '7.0' => false,
1261
-            '7.1' => true,
1262
-        ),
1263
-        'curl_share_errno' => array(
1264
-            '7.0' => false,
1265
-            '7.1' => true,
1266
-        ),
1267
-        'curl_share_strerror' => array(
1268
-            '7.0' => false,
1269
-            '7.1' => true,
1270
-        ),
1271
-        'is_iterable' => array(
1272
-            '7.0' => false,
1273
-            '7.1' => true,
1274
-        ),
1275
-        'pcntl_async_signals' => array(
1276
-            '7.0' => false,
1277
-            '7.1' => true,
1278
-        ),
1279
-        'pcntl_signal_get_handler' => array(
1280
-            '7.0' => false,
1281
-            '7.1' => true,
1282
-        ),
1283
-        'session_create_id' => array(
1284
-            '7.0' => false,
1285
-            '7.1' => true,
1286
-        ),
1287
-        'session_gc' => array(
1288
-            '7.0' => false,
1289
-            '7.1' => true,
1290
-        ),
1291
-        'sapi_windows_cp_set' => array(
1292
-            '7.0' => false,
1293
-            '7.1' => true,
1294
-        ),
1295
-        'sapi_windows_cp_get' => array(
1296
-            '7.0' => false,
1297
-            '7.1' => true,
1298
-        ),
1299
-        'sapi_windows_cp_is_utf8' => array(
1300
-            '7.0' => false,
1301
-            '7.1' => true,
1302
-        ),
1303
-        'sapi_windows_cp_conv' => array(
1304
-            '7.0' => false,
1305
-            '7.1' => true,
1306
-        ),
1259
+		'curl_multi_errno' => array(
1260
+			'7.0' => false,
1261
+			'7.1' => true,
1262
+		),
1263
+		'curl_share_errno' => array(
1264
+			'7.0' => false,
1265
+			'7.1' => true,
1266
+		),
1267
+		'curl_share_strerror' => array(
1268
+			'7.0' => false,
1269
+			'7.1' => true,
1270
+		),
1271
+		'is_iterable' => array(
1272
+			'7.0' => false,
1273
+			'7.1' => true,
1274
+		),
1275
+		'pcntl_async_signals' => array(
1276
+			'7.0' => false,
1277
+			'7.1' => true,
1278
+		),
1279
+		'pcntl_signal_get_handler' => array(
1280
+			'7.0' => false,
1281
+			'7.1' => true,
1282
+		),
1283
+		'session_create_id' => array(
1284
+			'7.0' => false,
1285
+			'7.1' => true,
1286
+		),
1287
+		'session_gc' => array(
1288
+			'7.0' => false,
1289
+			'7.1' => true,
1290
+		),
1291
+		'sapi_windows_cp_set' => array(
1292
+			'7.0' => false,
1293
+			'7.1' => true,
1294
+		),
1295
+		'sapi_windows_cp_get' => array(
1296
+			'7.0' => false,
1297
+			'7.1' => true,
1298
+		),
1299
+		'sapi_windows_cp_is_utf8' => array(
1300
+			'7.0' => false,
1301
+			'7.1' => true,
1302
+		),
1303
+		'sapi_windows_cp_conv' => array(
1304
+			'7.0' => false,
1305
+			'7.1' => true,
1306
+		),
1307 1307
 
1308
-        'hash_hkdf' => array(
1309
-            '7.1.1' => false,
1310
-            '7.1.2' => true,
1311
-        ),
1312
-        'oci_register_taf_callback' => array(
1313
-            '7.1.6' => false,
1314
-            '7.1.7' => true,
1315
-        ),
1316
-        'oci_unregister_taf_callback' => array(
1317
-            '7.1.8' => false,
1318
-            '7.1.9' => true,
1319
-        ),
1308
+		'hash_hkdf' => array(
1309
+			'7.1.1' => false,
1310
+			'7.1.2' => true,
1311
+		),
1312
+		'oci_register_taf_callback' => array(
1313
+			'7.1.6' => false,
1314
+			'7.1.7' => true,
1315
+		),
1316
+		'oci_unregister_taf_callback' => array(
1317
+			'7.1.8' => false,
1318
+			'7.1.9' => true,
1319
+		),
1320 1320
 
1321
-        'stream_isatty' => array(
1322
-            '7.1' => false,
1323
-            '7.2' => true,
1324
-        ),
1325
-        'sapi_windows_vt100_support' => array(
1326
-            '7.1' => false,
1327
-            '7.2' => true,
1328
-        ),
1329
-        'ftp_append' => array(
1330
-            '7.1' => false,
1331
-            '7.2' => true,
1332
-        ),
1333
-        'hash_hmac_algos' => array(
1334
-            '7.1' => false,
1335
-            '7.2' => true,
1336
-        ),
1337
-        'imagebmp' => array(
1338
-            '7.1' => false,
1339
-            '7.2' => true,
1340
-        ),
1341
-        'imagecreatefrombmp' => array(
1342
-            '7.1' => false,
1343
-            '7.2' => true,
1344
-        ),
1345
-        'imagegetclip' => array(
1346
-            '7.1' => false,
1347
-            '7.2' => true,
1348
-        ),
1349
-        'imageopenpolygon' => array(
1350
-            '7.1' => false,
1351
-            '7.2' => true,
1352
-        ),
1353
-        'imageresolution' => array(
1354
-            '7.1' => false,
1355
-            '7.2' => true,
1356
-        ),
1357
-        'imagesetclip' => array(
1358
-            '7.1' => false,
1359
-            '7.2' => true,
1360
-        ),
1361
-        'ldap_exop' => array(
1362
-            '7.1' => false,
1363
-            '7.2' => true,
1364
-        ),
1365
-        'ldap_exop_passwd' => array(
1366
-            '7.1' => false,
1367
-            '7.2' => true,
1368
-        ),
1369
-        'ldap_exop_whoami' => array(
1370
-            '7.1' => false,
1371
-            '7.2' => true,
1372
-        ),
1373
-        'ldap_parse_exop' => array(
1374
-            '7.1' => false,
1375
-            '7.2' => true,
1376
-        ),
1377
-        'mb_chr' => array(
1378
-            '7.1' => false,
1379
-            '7.2' => true,
1380
-        ),
1381
-        'mb_ord' => array(
1382
-            '7.1' => false,
1383
-            '7.2' => true,
1384
-        ),
1385
-        'mb_scrub' => array(
1386
-            '7.1' => false,
1387
-            '7.2' => true,
1388
-        ),
1389
-        'socket_addrinfo_lookup' => array(
1390
-            '7.1' => false,
1391
-            '7.2' => true,
1392
-        ),
1393
-        'socket_addrinfo_connect' => array(
1394
-            '7.1' => false,
1395
-            '7.2' => true,
1396
-        ),
1397
-        'socket_addrinfo_bind' => array(
1398
-            '7.1' => false,
1399
-            '7.2' => true,
1400
-        ),
1401
-        'socket_addrinfo_explain' => array(
1402
-            '7.1' => false,
1403
-            '7.2' => true,
1404
-        ),
1405
-        'spl_object_id' => array(
1406
-            '7.1' => false,
1407
-            '7.2' => true,
1408
-        ),
1409
-        'sodium_add' => array(
1410
-            '7.1' => false,
1411
-            '7.2' => true,
1412
-        ),
1413
-        'sodium_base642bin' => array(
1414
-            '7.1' => false,
1415
-            '7.2' => true,
1416
-        ),
1417
-        'sodium_bin2base64' => array(
1418
-            '7.1' => false,
1419
-            '7.2' => true,
1420
-        ),
1421
-        'sodium_bin2hex' => array(
1422
-            '7.1' => false,
1423
-            '7.2' => true,
1424
-        ),
1425
-        'sodium_compare' => array(
1426
-            '7.1' => false,
1427
-            '7.2' => true,
1428
-        ),
1429
-        'sodium_crypto_aead_aes256gcm_decrypt' => array(
1430
-            '7.1' => false,
1431
-            '7.2' => true,
1432
-        ),
1433
-        'sodium_crypto_aead_aes256gcm_encrypt' => array(
1434
-            '7.1' => false,
1435
-            '7.2' => true,
1436
-        ),
1437
-        'sodium_crypto_aead_aes256gcm_is_available' => array(
1438
-            '7.1' => false,
1439
-            '7.2' => true,
1440
-        ),
1441
-        'sodium_crypto_aead_aes256gcm_keygen' => array(
1442
-            '7.1' => false,
1443
-            '7.2' => true,
1444
-        ),
1445
-        'sodium_crypto_aead_chacha20poly1305_decrypt' => array(
1446
-            '7.1' => false,
1447
-            '7.2' => true,
1448
-        ),
1449
-        'sodium_crypto_aead_chacha20poly1305_encrypt' => array(
1450
-            '7.1' => false,
1451
-            '7.2' => true,
1452
-        ),
1453
-        'sodium_crypto_aead_chacha20poly1305_ietf_decrypt' => array(
1454
-            '7.1' => false,
1455
-            '7.2' => true,
1456
-        ),
1457
-        'sodium_crypto_aead_chacha20poly1305_ietf_encrypt' => array(
1458
-            '7.1' => false,
1459
-            '7.2' => true,
1460
-        ),
1461
-        'sodium_crypto_aead_chacha20poly1305_ietf_keygen' => array(
1462
-            '7.1' => false,
1463
-            '7.2' => true,
1464
-        ),
1465
-        'sodium_crypto_aead_chacha20poly1305_keygen' => array(
1466
-            '7.1' => false,
1467
-            '7.2' => true,
1468
-        ),
1469
-        'sodium_crypto_aead_xchacha20poly1305_ietf_decrypt' => array(
1470
-            '7.1' => false,
1471
-            '7.2' => true,
1472
-        ),
1473
-        'sodium_crypto_aead_xchacha20poly1305_ietf_encrypt' => array(
1474
-            '7.1' => false,
1475
-            '7.2' => true,
1476
-        ),
1477
-        'sodium_crypto_aead_xchacha20poly1305_ietf_keygen' => array(
1478
-            '7.1' => false,
1479
-            '7.2' => true,
1480
-        ),
1481
-        'sodium_crypto_auth_keygen' => array(
1482
-            '7.1' => false,
1483
-            '7.2' => true,
1484
-        ),
1485
-        'sodium_crypto_auth_verify' => array(
1486
-            '7.1' => false,
1487
-            '7.2' => true,
1488
-        ),
1489
-        'sodium_crypto_auth' => array(
1490
-            '7.1' => false,
1491
-            '7.2' => true,
1492
-        ),
1493
-        'sodium_crypto_box_keypair_from_secretkey_and_publickey' => array(
1494
-            '7.1' => false,
1495
-            '7.2' => true,
1496
-        ),
1497
-        'sodium_crypto_box_keypair' => array(
1498
-            '7.1' => false,
1499
-            '7.2' => true,
1500
-        ),
1501
-        'sodium_crypto_box_open' => array(
1502
-            '7.1' => false,
1503
-            '7.2' => true,
1504
-        ),
1505
-        'sodium_crypto_box_publickey_from_secretkey' => array(
1506
-            '7.1' => false,
1507
-            '7.2' => true,
1508
-        ),
1509
-        'sodium_crypto_box_publickey' => array(
1510
-            '7.1' => false,
1511
-            '7.2' => true,
1512
-        ),
1513
-        'sodium_crypto_box_seal_open' => array(
1514
-            '7.1' => false,
1515
-            '7.2' => true,
1516
-        ),
1517
-        'sodium_crypto_box_seal' => array(
1518
-            '7.1' => false,
1519
-            '7.2' => true,
1520
-        ),
1521
-        'sodium_crypto_box_secretkey' => array(
1522
-            '7.1' => false,
1523
-            '7.2' => true,
1524
-        ),
1525
-        'sodium_crypto_box_seed_keypair' => array(
1526
-            '7.1' => false,
1527
-            '7.2' => true,
1528
-        ),
1529
-        'sodium_crypto_box' => array(
1530
-            '7.1' => false,
1531
-            '7.2' => true,
1532
-        ),
1533
-        'sodium_crypto_generichash_final' => array(
1534
-            '7.1' => false,
1535
-            '7.2' => true,
1536
-        ),
1537
-        'sodium_crypto_generichash_init' => array(
1538
-            '7.1' => false,
1539
-            '7.2' => true,
1540
-        ),
1541
-        'sodium_crypto_generichash_keygen' => array(
1542
-            '7.1' => false,
1543
-            '7.2' => true,
1544
-        ),
1545
-        'sodium_crypto_generichash_update' => array(
1546
-            '7.1' => false,
1547
-            '7.2' => true,
1548
-        ),
1549
-        'sodium_crypto_generichash' => array(
1550
-            '7.1' => false,
1551
-            '7.2' => true,
1552
-        ),
1553
-        'sodium_crypto_kdf_derive_from_key' => array(
1554
-            '7.1' => false,
1555
-            '7.2' => true,
1556
-        ),
1557
-        'sodium_crypto_kdf_keygen' => array(
1558
-            '7.1' => false,
1559
-            '7.2' => true,
1560
-        ),
1561
-        'sodium_crypto_kx_client_session_keys' => array(
1562
-            '7.1' => false,
1563
-            '7.2' => true,
1564
-        ),
1565
-        'sodium_crypto_kx_keypair' => array(
1566
-            '7.1' => false,
1567
-            '7.2' => true,
1568
-        ),
1569
-        'sodium_crypto_kx_publickey' => array(
1570
-            '7.1' => false,
1571
-            '7.2' => true,
1572
-        ),
1573
-        'sodium_crypto_kx_secretkey' => array(
1574
-            '7.1' => false,
1575
-            '7.2' => true,
1576
-        ),
1577
-        'sodium_crypto_kx_seed_keypair' => array(
1578
-            '7.1' => false,
1579
-            '7.2' => true,
1580
-        ),
1581
-        'sodium_crypto_kx_server_session_keys' => array(
1582
-            '7.1' => false,
1583
-            '7.2' => true,
1584
-        ),
1585
-        'sodium_crypto_pwhash_scryptsalsa208sha256_str_verify' => array(
1586
-            '7.1' => false,
1587
-            '7.2' => true,
1588
-        ),
1589
-        'sodium_crypto_pwhash_scryptsalsa208sha256_str' => array(
1590
-            '7.1' => false,
1591
-            '7.2' => true,
1592
-        ),
1593
-        'sodium_crypto_pwhash_scryptsalsa208sha256' => array(
1594
-            '7.1' => false,
1595
-            '7.2' => true,
1596
-        ),
1597
-        'sodium_crypto_pwhash_str_needs_rehash' => array(
1598
-            '7.1' => false,
1599
-            '7.2' => true,
1600
-        ),
1601
-        'sodium_crypto_pwhash_str_verify' => array(
1602
-            '7.1' => false,
1603
-            '7.2' => true,
1604
-        ),
1605
-        'sodium_crypto_pwhash_str' => array(
1606
-            '7.1' => false,
1607
-            '7.2' => true,
1608
-        ),
1609
-        'sodium_crypto_pwhash' => array(
1610
-            '7.1' => false,
1611
-            '7.2' => true,
1612
-        ),
1613
-        'sodium_crypto_scalarmult_base' => array(
1614
-            '7.1' => false,
1615
-            '7.2' => true,
1616
-        ),
1617
-        'sodium_crypto_scalarmult' => array(
1618
-            '7.1' => false,
1619
-            '7.2' => true,
1620
-        ),
1621
-        'sodium_crypto_secretbox_keygen' => array(
1622
-            '7.1' => false,
1623
-            '7.2' => true,
1624
-        ),
1625
-        'sodium_crypto_secretbox_open' => array(
1626
-            '7.1' => false,
1627
-            '7.2' => true,
1628
-        ),
1629
-        'sodium_crypto_secretbox' => array(
1630
-            '7.1' => false,
1631
-            '7.2' => true,
1632
-        ),
1633
-        'sodium_crypto_secretstream_xchacha20poly1305_init_pull' => array(
1634
-            '7.1' => false,
1635
-            '7.2' => true,
1636
-        ),
1637
-        'sodium_crypto_secretstream_xchacha20poly1305_init_push' => array(
1638
-            '7.1' => false,
1639
-            '7.2' => true,
1640
-        ),
1641
-        'sodium_crypto_secretstream_xchacha20poly1305_keygen' => array(
1642
-            '7.1' => false,
1643
-            '7.2' => true,
1644
-        ),
1645
-        'sodium_crypto_secretstream_xchacha20poly1305_pull' => array(
1646
-            '7.1' => false,
1647
-            '7.2' => true,
1648
-        ),
1649
-        'sodium_crypto_secretstream_xchacha20poly1305_push' => array(
1650
-            '7.1' => false,
1651
-            '7.2' => true,
1652
-        ),
1653
-        'sodium_crypto_secretstream_xchacha20poly1305_rekey' => array(
1654
-            '7.1' => false,
1655
-            '7.2' => true,
1656
-        ),
1657
-        'sodium_crypto_shorthash_keygen' => array(
1658
-            '7.1' => false,
1659
-            '7.2' => true,
1660
-        ),
1661
-        'sodium_crypto_shorthash' => array(
1662
-            '7.1' => false,
1663
-            '7.2' => true,
1664
-        ),
1665
-        'sodium_crypto_sign_detached' => array(
1666
-            '7.1' => false,
1667
-            '7.2' => true,
1668
-        ),
1669
-        'sodium_crypto_sign_ed25519_pk_to_curve25519' => array(
1670
-            '7.1' => false,
1671
-            '7.2' => true,
1672
-        ),
1673
-        'sodium_crypto_sign_ed25519_sk_to_curve25519' => array(
1674
-            '7.1' => false,
1675
-            '7.2' => true,
1676
-        ),
1677
-        'sodium_crypto_sign_keypair_from_secretkey_and_publickey' => array(
1678
-            '7.1' => false,
1679
-            '7.2' => true,
1680
-        ),
1681
-        'sodium_crypto_sign_keypair' => array(
1682
-            '7.1' => false,
1683
-            '7.2' => true,
1684
-        ),
1685
-        'sodium_crypto_sign_open' => array(
1686
-            '7.1' => false,
1687
-            '7.2' => true,
1688
-        ),
1689
-        'sodium_crypto_sign_publickey_from_secretkey' => array(
1690
-            '7.1' => false,
1691
-            '7.2' => true,
1692
-        ),
1693
-        'sodium_crypto_sign_publickey' => array(
1694
-            '7.1' => false,
1695
-            '7.2' => true,
1696
-        ),
1697
-        'sodium_crypto_sign_secretkey' => array(
1698
-            '7.1' => false,
1699
-            '7.2' => true,
1700
-        ),
1701
-        'sodium_crypto_sign_seed_keypair' => array(
1702
-            '7.1' => false,
1703
-            '7.2' => true,
1704
-        ),
1705
-        'sodium_crypto_sign_verify_detached' => array(
1706
-            '7.1' => false,
1707
-            '7.2' => true,
1708
-        ),
1709
-        'sodium_crypto_sign' => array(
1710
-            '7.1' => false,
1711
-            '7.2' => true,
1712
-        ),
1713
-        'sodium_crypto_stream_keygen' => array(
1714
-            '7.1' => false,
1715
-            '7.2' => true,
1716
-        ),
1717
-        'sodium_crypto_stream_xor' => array(
1718
-            '7.1' => false,
1719
-            '7.2' => true,
1720
-        ),
1721
-        'sodium_crypto_stream' => array(
1722
-            '7.1' => false,
1723
-            '7.2' => true,
1724
-        ),
1725
-        'sodium_hex2bin' => array(
1726
-            '7.1' => false,
1727
-            '7.2' => true,
1728
-        ),
1729
-        'sodium_increment' => array(
1730
-            '7.1' => false,
1731
-            '7.2' => true,
1732
-        ),
1733
-        'sodium_memcmp' => array(
1734
-            '7.1' => false,
1735
-            '7.2' => true,
1736
-        ),
1737
-        'sodium_memzero' => array(
1738
-            '7.1' => false,
1739
-            '7.2' => true,
1740
-        ),
1741
-        'sodium_pad' => array(
1742
-            '7.1' => false,
1743
-            '7.2' => true,
1744
-        ),
1745
-        'sodium_unpad' => array(
1746
-            '7.1' => false,
1747
-            '7.2' => true,
1748
-        ),
1749
-        // Introduced in 7.2.14 and 7.3.1 similtanously.
1750
-        'oci_set_call_timeout' => array(
1751
-            '7.2.13' => false,
1752
-            '7.2.14' => true,
1753
-        ),
1754
-        // Introduced in 7.2.14 and 7.3.1 similtanously.
1755
-        'oci_set_db_operation' => array(
1756
-            '7.2.13' => false,
1757
-            '7.2.14' => true,
1758
-        ),
1321
+		'stream_isatty' => array(
1322
+			'7.1' => false,
1323
+			'7.2' => true,
1324
+		),
1325
+		'sapi_windows_vt100_support' => array(
1326
+			'7.1' => false,
1327
+			'7.2' => true,
1328
+		),
1329
+		'ftp_append' => array(
1330
+			'7.1' => false,
1331
+			'7.2' => true,
1332
+		),
1333
+		'hash_hmac_algos' => array(
1334
+			'7.1' => false,
1335
+			'7.2' => true,
1336
+		),
1337
+		'imagebmp' => array(
1338
+			'7.1' => false,
1339
+			'7.2' => true,
1340
+		),
1341
+		'imagecreatefrombmp' => array(
1342
+			'7.1' => false,
1343
+			'7.2' => true,
1344
+		),
1345
+		'imagegetclip' => array(
1346
+			'7.1' => false,
1347
+			'7.2' => true,
1348
+		),
1349
+		'imageopenpolygon' => array(
1350
+			'7.1' => false,
1351
+			'7.2' => true,
1352
+		),
1353
+		'imageresolution' => array(
1354
+			'7.1' => false,
1355
+			'7.2' => true,
1356
+		),
1357
+		'imagesetclip' => array(
1358
+			'7.1' => false,
1359
+			'7.2' => true,
1360
+		),
1361
+		'ldap_exop' => array(
1362
+			'7.1' => false,
1363
+			'7.2' => true,
1364
+		),
1365
+		'ldap_exop_passwd' => array(
1366
+			'7.1' => false,
1367
+			'7.2' => true,
1368
+		),
1369
+		'ldap_exop_whoami' => array(
1370
+			'7.1' => false,
1371
+			'7.2' => true,
1372
+		),
1373
+		'ldap_parse_exop' => array(
1374
+			'7.1' => false,
1375
+			'7.2' => true,
1376
+		),
1377
+		'mb_chr' => array(
1378
+			'7.1' => false,
1379
+			'7.2' => true,
1380
+		),
1381
+		'mb_ord' => array(
1382
+			'7.1' => false,
1383
+			'7.2' => true,
1384
+		),
1385
+		'mb_scrub' => array(
1386
+			'7.1' => false,
1387
+			'7.2' => true,
1388
+		),
1389
+		'socket_addrinfo_lookup' => array(
1390
+			'7.1' => false,
1391
+			'7.2' => true,
1392
+		),
1393
+		'socket_addrinfo_connect' => array(
1394
+			'7.1' => false,
1395
+			'7.2' => true,
1396
+		),
1397
+		'socket_addrinfo_bind' => array(
1398
+			'7.1' => false,
1399
+			'7.2' => true,
1400
+		),
1401
+		'socket_addrinfo_explain' => array(
1402
+			'7.1' => false,
1403
+			'7.2' => true,
1404
+		),
1405
+		'spl_object_id' => array(
1406
+			'7.1' => false,
1407
+			'7.2' => true,
1408
+		),
1409
+		'sodium_add' => array(
1410
+			'7.1' => false,
1411
+			'7.2' => true,
1412
+		),
1413
+		'sodium_base642bin' => array(
1414
+			'7.1' => false,
1415
+			'7.2' => true,
1416
+		),
1417
+		'sodium_bin2base64' => array(
1418
+			'7.1' => false,
1419
+			'7.2' => true,
1420
+		),
1421
+		'sodium_bin2hex' => array(
1422
+			'7.1' => false,
1423
+			'7.2' => true,
1424
+		),
1425
+		'sodium_compare' => array(
1426
+			'7.1' => false,
1427
+			'7.2' => true,
1428
+		),
1429
+		'sodium_crypto_aead_aes256gcm_decrypt' => array(
1430
+			'7.1' => false,
1431
+			'7.2' => true,
1432
+		),
1433
+		'sodium_crypto_aead_aes256gcm_encrypt' => array(
1434
+			'7.1' => false,
1435
+			'7.2' => true,
1436
+		),
1437
+		'sodium_crypto_aead_aes256gcm_is_available' => array(
1438
+			'7.1' => false,
1439
+			'7.2' => true,
1440
+		),
1441
+		'sodium_crypto_aead_aes256gcm_keygen' => array(
1442
+			'7.1' => false,
1443
+			'7.2' => true,
1444
+		),
1445
+		'sodium_crypto_aead_chacha20poly1305_decrypt' => array(
1446
+			'7.1' => false,
1447
+			'7.2' => true,
1448
+		),
1449
+		'sodium_crypto_aead_chacha20poly1305_encrypt' => array(
1450
+			'7.1' => false,
1451
+			'7.2' => true,
1452
+		),
1453
+		'sodium_crypto_aead_chacha20poly1305_ietf_decrypt' => array(
1454
+			'7.1' => false,
1455
+			'7.2' => true,
1456
+		),
1457
+		'sodium_crypto_aead_chacha20poly1305_ietf_encrypt' => array(
1458
+			'7.1' => false,
1459
+			'7.2' => true,
1460
+		),
1461
+		'sodium_crypto_aead_chacha20poly1305_ietf_keygen' => array(
1462
+			'7.1' => false,
1463
+			'7.2' => true,
1464
+		),
1465
+		'sodium_crypto_aead_chacha20poly1305_keygen' => array(
1466
+			'7.1' => false,
1467
+			'7.2' => true,
1468
+		),
1469
+		'sodium_crypto_aead_xchacha20poly1305_ietf_decrypt' => array(
1470
+			'7.1' => false,
1471
+			'7.2' => true,
1472
+		),
1473
+		'sodium_crypto_aead_xchacha20poly1305_ietf_encrypt' => array(
1474
+			'7.1' => false,
1475
+			'7.2' => true,
1476
+		),
1477
+		'sodium_crypto_aead_xchacha20poly1305_ietf_keygen' => array(
1478
+			'7.1' => false,
1479
+			'7.2' => true,
1480
+		),
1481
+		'sodium_crypto_auth_keygen' => array(
1482
+			'7.1' => false,
1483
+			'7.2' => true,
1484
+		),
1485
+		'sodium_crypto_auth_verify' => array(
1486
+			'7.1' => false,
1487
+			'7.2' => true,
1488
+		),
1489
+		'sodium_crypto_auth' => array(
1490
+			'7.1' => false,
1491
+			'7.2' => true,
1492
+		),
1493
+		'sodium_crypto_box_keypair_from_secretkey_and_publickey' => array(
1494
+			'7.1' => false,
1495
+			'7.2' => true,
1496
+		),
1497
+		'sodium_crypto_box_keypair' => array(
1498
+			'7.1' => false,
1499
+			'7.2' => true,
1500
+		),
1501
+		'sodium_crypto_box_open' => array(
1502
+			'7.1' => false,
1503
+			'7.2' => true,
1504
+		),
1505
+		'sodium_crypto_box_publickey_from_secretkey' => array(
1506
+			'7.1' => false,
1507
+			'7.2' => true,
1508
+		),
1509
+		'sodium_crypto_box_publickey' => array(
1510
+			'7.1' => false,
1511
+			'7.2' => true,
1512
+		),
1513
+		'sodium_crypto_box_seal_open' => array(
1514
+			'7.1' => false,
1515
+			'7.2' => true,
1516
+		),
1517
+		'sodium_crypto_box_seal' => array(
1518
+			'7.1' => false,
1519
+			'7.2' => true,
1520
+		),
1521
+		'sodium_crypto_box_secretkey' => array(
1522
+			'7.1' => false,
1523
+			'7.2' => true,
1524
+		),
1525
+		'sodium_crypto_box_seed_keypair' => array(
1526
+			'7.1' => false,
1527
+			'7.2' => true,
1528
+		),
1529
+		'sodium_crypto_box' => array(
1530
+			'7.1' => false,
1531
+			'7.2' => true,
1532
+		),
1533
+		'sodium_crypto_generichash_final' => array(
1534
+			'7.1' => false,
1535
+			'7.2' => true,
1536
+		),
1537
+		'sodium_crypto_generichash_init' => array(
1538
+			'7.1' => false,
1539
+			'7.2' => true,
1540
+		),
1541
+		'sodium_crypto_generichash_keygen' => array(
1542
+			'7.1' => false,
1543
+			'7.2' => true,
1544
+		),
1545
+		'sodium_crypto_generichash_update' => array(
1546
+			'7.1' => false,
1547
+			'7.2' => true,
1548
+		),
1549
+		'sodium_crypto_generichash' => array(
1550
+			'7.1' => false,
1551
+			'7.2' => true,
1552
+		),
1553
+		'sodium_crypto_kdf_derive_from_key' => array(
1554
+			'7.1' => false,
1555
+			'7.2' => true,
1556
+		),
1557
+		'sodium_crypto_kdf_keygen' => array(
1558
+			'7.1' => false,
1559
+			'7.2' => true,
1560
+		),
1561
+		'sodium_crypto_kx_client_session_keys' => array(
1562
+			'7.1' => false,
1563
+			'7.2' => true,
1564
+		),
1565
+		'sodium_crypto_kx_keypair' => array(
1566
+			'7.1' => false,
1567
+			'7.2' => true,
1568
+		),
1569
+		'sodium_crypto_kx_publickey' => array(
1570
+			'7.1' => false,
1571
+			'7.2' => true,
1572
+		),
1573
+		'sodium_crypto_kx_secretkey' => array(
1574
+			'7.1' => false,
1575
+			'7.2' => true,
1576
+		),
1577
+		'sodium_crypto_kx_seed_keypair' => array(
1578
+			'7.1' => false,
1579
+			'7.2' => true,
1580
+		),
1581
+		'sodium_crypto_kx_server_session_keys' => array(
1582
+			'7.1' => false,
1583
+			'7.2' => true,
1584
+		),
1585
+		'sodium_crypto_pwhash_scryptsalsa208sha256_str_verify' => array(
1586
+			'7.1' => false,
1587
+			'7.2' => true,
1588
+		),
1589
+		'sodium_crypto_pwhash_scryptsalsa208sha256_str' => array(
1590
+			'7.1' => false,
1591
+			'7.2' => true,
1592
+		),
1593
+		'sodium_crypto_pwhash_scryptsalsa208sha256' => array(
1594
+			'7.1' => false,
1595
+			'7.2' => true,
1596
+		),
1597
+		'sodium_crypto_pwhash_str_needs_rehash' => array(
1598
+			'7.1' => false,
1599
+			'7.2' => true,
1600
+		),
1601
+		'sodium_crypto_pwhash_str_verify' => array(
1602
+			'7.1' => false,
1603
+			'7.2' => true,
1604
+		),
1605
+		'sodium_crypto_pwhash_str' => array(
1606
+			'7.1' => false,
1607
+			'7.2' => true,
1608
+		),
1609
+		'sodium_crypto_pwhash' => array(
1610
+			'7.1' => false,
1611
+			'7.2' => true,
1612
+		),
1613
+		'sodium_crypto_scalarmult_base' => array(
1614
+			'7.1' => false,
1615
+			'7.2' => true,
1616
+		),
1617
+		'sodium_crypto_scalarmult' => array(
1618
+			'7.1' => false,
1619
+			'7.2' => true,
1620
+		),
1621
+		'sodium_crypto_secretbox_keygen' => array(
1622
+			'7.1' => false,
1623
+			'7.2' => true,
1624
+		),
1625
+		'sodium_crypto_secretbox_open' => array(
1626
+			'7.1' => false,
1627
+			'7.2' => true,
1628
+		),
1629
+		'sodium_crypto_secretbox' => array(
1630
+			'7.1' => false,
1631
+			'7.2' => true,
1632
+		),
1633
+		'sodium_crypto_secretstream_xchacha20poly1305_init_pull' => array(
1634
+			'7.1' => false,
1635
+			'7.2' => true,
1636
+		),
1637
+		'sodium_crypto_secretstream_xchacha20poly1305_init_push' => array(
1638
+			'7.1' => false,
1639
+			'7.2' => true,
1640
+		),
1641
+		'sodium_crypto_secretstream_xchacha20poly1305_keygen' => array(
1642
+			'7.1' => false,
1643
+			'7.2' => true,
1644
+		),
1645
+		'sodium_crypto_secretstream_xchacha20poly1305_pull' => array(
1646
+			'7.1' => false,
1647
+			'7.2' => true,
1648
+		),
1649
+		'sodium_crypto_secretstream_xchacha20poly1305_push' => array(
1650
+			'7.1' => false,
1651
+			'7.2' => true,
1652
+		),
1653
+		'sodium_crypto_secretstream_xchacha20poly1305_rekey' => array(
1654
+			'7.1' => false,
1655
+			'7.2' => true,
1656
+		),
1657
+		'sodium_crypto_shorthash_keygen' => array(
1658
+			'7.1' => false,
1659
+			'7.2' => true,
1660
+		),
1661
+		'sodium_crypto_shorthash' => array(
1662
+			'7.1' => false,
1663
+			'7.2' => true,
1664
+		),
1665
+		'sodium_crypto_sign_detached' => array(
1666
+			'7.1' => false,
1667
+			'7.2' => true,
1668
+		),
1669
+		'sodium_crypto_sign_ed25519_pk_to_curve25519' => array(
1670
+			'7.1' => false,
1671
+			'7.2' => true,
1672
+		),
1673
+		'sodium_crypto_sign_ed25519_sk_to_curve25519' => array(
1674
+			'7.1' => false,
1675
+			'7.2' => true,
1676
+		),
1677
+		'sodium_crypto_sign_keypair_from_secretkey_and_publickey' => array(
1678
+			'7.1' => false,
1679
+			'7.2' => true,
1680
+		),
1681
+		'sodium_crypto_sign_keypair' => array(
1682
+			'7.1' => false,
1683
+			'7.2' => true,
1684
+		),
1685
+		'sodium_crypto_sign_open' => array(
1686
+			'7.1' => false,
1687
+			'7.2' => true,
1688
+		),
1689
+		'sodium_crypto_sign_publickey_from_secretkey' => array(
1690
+			'7.1' => false,
1691
+			'7.2' => true,
1692
+		),
1693
+		'sodium_crypto_sign_publickey' => array(
1694
+			'7.1' => false,
1695
+			'7.2' => true,
1696
+		),
1697
+		'sodium_crypto_sign_secretkey' => array(
1698
+			'7.1' => false,
1699
+			'7.2' => true,
1700
+		),
1701
+		'sodium_crypto_sign_seed_keypair' => array(
1702
+			'7.1' => false,
1703
+			'7.2' => true,
1704
+		),
1705
+		'sodium_crypto_sign_verify_detached' => array(
1706
+			'7.1' => false,
1707
+			'7.2' => true,
1708
+		),
1709
+		'sodium_crypto_sign' => array(
1710
+			'7.1' => false,
1711
+			'7.2' => true,
1712
+		),
1713
+		'sodium_crypto_stream_keygen' => array(
1714
+			'7.1' => false,
1715
+			'7.2' => true,
1716
+		),
1717
+		'sodium_crypto_stream_xor' => array(
1718
+			'7.1' => false,
1719
+			'7.2' => true,
1720
+		),
1721
+		'sodium_crypto_stream' => array(
1722
+			'7.1' => false,
1723
+			'7.2' => true,
1724
+		),
1725
+		'sodium_hex2bin' => array(
1726
+			'7.1' => false,
1727
+			'7.2' => true,
1728
+		),
1729
+		'sodium_increment' => array(
1730
+			'7.1' => false,
1731
+			'7.2' => true,
1732
+		),
1733
+		'sodium_memcmp' => array(
1734
+			'7.1' => false,
1735
+			'7.2' => true,
1736
+		),
1737
+		'sodium_memzero' => array(
1738
+			'7.1' => false,
1739
+			'7.2' => true,
1740
+		),
1741
+		'sodium_pad' => array(
1742
+			'7.1' => false,
1743
+			'7.2' => true,
1744
+		),
1745
+		'sodium_unpad' => array(
1746
+			'7.1' => false,
1747
+			'7.2' => true,
1748
+		),
1749
+		// Introduced in 7.2.14 and 7.3.1 similtanously.
1750
+		'oci_set_call_timeout' => array(
1751
+			'7.2.13' => false,
1752
+			'7.2.14' => true,
1753
+		),
1754
+		// Introduced in 7.2.14 and 7.3.1 similtanously.
1755
+		'oci_set_db_operation' => array(
1756
+			'7.2.13' => false,
1757
+			'7.2.14' => true,
1758
+		),
1759 1759
 
1760
-        'hrtime' => array(
1761
-            '7.2' => false,
1762
-            '7.3' => true,
1763
-        ),
1764
-        'is_countable' => array(
1765
-            '7.2' => false,
1766
-            '7.3' => true,
1767
-        ),
1768
-        'array_key_first' => array(
1769
-            '7.2' => false,
1770
-            '7.3' => true,
1771
-        ),
1772
-        'array_key_last' => array(
1773
-            '7.2' => false,
1774
-            '7.3' => true,
1775
-        ),
1776
-        'fpm_get_status' => array(
1777
-            '7.2' => false,
1778
-            '7.3' => true,
1779
-        ),
1780
-        'net_get_interfaces' => array(
1781
-            '7.2' => false,
1782
-            '7.3' => true,
1783
-        ),
1784
-        'gmp_binomial' => array(
1785
-            '7.2' => false,
1786
-            '7.3' => true,
1787
-        ),
1788
-        'gmp_lcm' => array(
1789
-            '7.2' => false,
1790
-            '7.3' => true,
1791
-        ),
1792
-        'gmp_perfect_power' => array(
1793
-            '7.2' => false,
1794
-            '7.3' => true,
1795
-        ),
1796
-        'gmp_kronecker' => array(
1797
-            '7.2' => false,
1798
-            '7.3' => true,
1799
-        ),
1800
-        'ldap_add_ext' => array(
1801
-            '7.2' => false,
1802
-            '7.3' => true,
1803
-        ),
1804
-        'ldap_bind_ext' => array(
1805
-            '7.2' => false,
1806
-            '7.3' => true,
1807
-        ),
1808
-        'ldap_delete_ext' => array(
1809
-            '7.2' => false,
1810
-            '7.3' => true,
1811
-        ),
1812
-        'ldap_exop_refresh' => array(
1813
-            '7.2' => false,
1814
-            '7.3' => true,
1815
-        ),
1816
-        'ldap_mod_add_ext' => array(
1817
-            '7.2' => false,
1818
-            '7.3' => true,
1819
-        ),
1820
-        'ldap_mod_replace_ext' => array(
1821
-            '7.2' => false,
1822
-            '7.3' => true,
1823
-        ),
1824
-        'ldap_mod_del_ext' => array(
1825
-            '7.2' => false,
1826
-            '7.3' => true,
1827
-        ),
1828
-        'ldap_rename_ext' => array(
1829
-            '7.2' => false,
1830
-            '7.3' => true,
1831
-        ),
1832
-        'normalizer_get_raw_decomposition' => array(
1833
-            '7.2' => false,
1834
-            '7.3' => true,
1835
-        ),
1836
-        'openssl_pkey_derive' => array(
1837
-            '7.2' => false,
1838
-            '7.3' => true,
1839
-        ),
1840
-        'socket_wsaprotocol_info_export' => array(
1841
-            '7.2' => false,
1842
-            '7.3' => true,
1843
-        ),
1844
-        'socket_wsaprotocol_info_import' => array(
1845
-            '7.2' => false,
1846
-            '7.3' => true,
1847
-        ),
1848
-        'socket_wsaprotocol_info_release' => array(
1849
-            '7.2' => false,
1850
-            '7.3' => true,
1851
-        ),
1760
+		'hrtime' => array(
1761
+			'7.2' => false,
1762
+			'7.3' => true,
1763
+		),
1764
+		'is_countable' => array(
1765
+			'7.2' => false,
1766
+			'7.3' => true,
1767
+		),
1768
+		'array_key_first' => array(
1769
+			'7.2' => false,
1770
+			'7.3' => true,
1771
+		),
1772
+		'array_key_last' => array(
1773
+			'7.2' => false,
1774
+			'7.3' => true,
1775
+		),
1776
+		'fpm_get_status' => array(
1777
+			'7.2' => false,
1778
+			'7.3' => true,
1779
+		),
1780
+		'net_get_interfaces' => array(
1781
+			'7.2' => false,
1782
+			'7.3' => true,
1783
+		),
1784
+		'gmp_binomial' => array(
1785
+			'7.2' => false,
1786
+			'7.3' => true,
1787
+		),
1788
+		'gmp_lcm' => array(
1789
+			'7.2' => false,
1790
+			'7.3' => true,
1791
+		),
1792
+		'gmp_perfect_power' => array(
1793
+			'7.2' => false,
1794
+			'7.3' => true,
1795
+		),
1796
+		'gmp_kronecker' => array(
1797
+			'7.2' => false,
1798
+			'7.3' => true,
1799
+		),
1800
+		'ldap_add_ext' => array(
1801
+			'7.2' => false,
1802
+			'7.3' => true,
1803
+		),
1804
+		'ldap_bind_ext' => array(
1805
+			'7.2' => false,
1806
+			'7.3' => true,
1807
+		),
1808
+		'ldap_delete_ext' => array(
1809
+			'7.2' => false,
1810
+			'7.3' => true,
1811
+		),
1812
+		'ldap_exop_refresh' => array(
1813
+			'7.2' => false,
1814
+			'7.3' => true,
1815
+		),
1816
+		'ldap_mod_add_ext' => array(
1817
+			'7.2' => false,
1818
+			'7.3' => true,
1819
+		),
1820
+		'ldap_mod_replace_ext' => array(
1821
+			'7.2' => false,
1822
+			'7.3' => true,
1823
+		),
1824
+		'ldap_mod_del_ext' => array(
1825
+			'7.2' => false,
1826
+			'7.3' => true,
1827
+		),
1828
+		'ldap_rename_ext' => array(
1829
+			'7.2' => false,
1830
+			'7.3' => true,
1831
+		),
1832
+		'normalizer_get_raw_decomposition' => array(
1833
+			'7.2' => false,
1834
+			'7.3' => true,
1835
+		),
1836
+		'openssl_pkey_derive' => array(
1837
+			'7.2' => false,
1838
+			'7.3' => true,
1839
+		),
1840
+		'socket_wsaprotocol_info_export' => array(
1841
+			'7.2' => false,
1842
+			'7.3' => true,
1843
+		),
1844
+		'socket_wsaprotocol_info_import' => array(
1845
+			'7.2' => false,
1846
+			'7.3' => true,
1847
+		),
1848
+		'socket_wsaprotocol_info_release' => array(
1849
+			'7.2' => false,
1850
+			'7.3' => true,
1851
+		),
1852 1852
 
1853
-        'get_mangled_object_vars' => array(
1854
-            '7.3' => false,
1855
-            '7.4' => true,
1856
-        ),
1857
-        'mb_str_split' => array(
1858
-            '7.3' => false,
1859
-            '7.4' => true,
1860
-        ),
1861
-        'openssl_x509_verify' => array(
1862
-            '7.3' => false,
1863
-            '7.4' => true,
1864
-        ),
1865
-        'password_algos' => array(
1866
-            '7.3' => false,
1867
-            '7.4' => true,
1868
-        ),
1869
-        'pcntl_unshare' => array(
1870
-            '7.3' => false,
1871
-            '7.4' => true,
1872
-        ),
1873
-        'sapi_windows_set_ctrl_handler' => array(
1874
-            '7.3' => false,
1875
-            '7.4' => true,
1876
-        ),
1877
-        'sapi_windows_generate_ctrl_event' => array(
1878
-            '7.3' => false,
1879
-            '7.4' => true,
1880
-        ),
1881
-    );
1853
+		'get_mangled_object_vars' => array(
1854
+			'7.3' => false,
1855
+			'7.4' => true,
1856
+		),
1857
+		'mb_str_split' => array(
1858
+			'7.3' => false,
1859
+			'7.4' => true,
1860
+		),
1861
+		'openssl_x509_verify' => array(
1862
+			'7.3' => false,
1863
+			'7.4' => true,
1864
+		),
1865
+		'password_algos' => array(
1866
+			'7.3' => false,
1867
+			'7.4' => true,
1868
+		),
1869
+		'pcntl_unshare' => array(
1870
+			'7.3' => false,
1871
+			'7.4' => true,
1872
+		),
1873
+		'sapi_windows_set_ctrl_handler' => array(
1874
+			'7.3' => false,
1875
+			'7.4' => true,
1876
+		),
1877
+		'sapi_windows_generate_ctrl_event' => array(
1878
+			'7.3' => false,
1879
+			'7.4' => true,
1880
+		),
1881
+	);
1882 1882
 
1883 1883
 
1884
-    /**
1885
-     * Returns an array of tokens this test wants to listen for.
1886
-     *
1887
-     * @return array
1888
-     */
1889
-    public function register()
1890
-    {
1891
-        // Handle case-insensitivity of function names.
1892
-        $this->newFunctions = $this->arrayKeysToLowercase($this->newFunctions);
1884
+	/**
1885
+	 * Returns an array of tokens this test wants to listen for.
1886
+	 *
1887
+	 * @return array
1888
+	 */
1889
+	public function register()
1890
+	{
1891
+		// Handle case-insensitivity of function names.
1892
+		$this->newFunctions = $this->arrayKeysToLowercase($this->newFunctions);
1893 1893
 
1894
-        return array(\T_STRING);
1895
-    }
1894
+		return array(\T_STRING);
1895
+	}
1896 1896
 
1897
-    /**
1898
-     * Processes this test, when one of its tokens is encountered.
1899
-     *
1900
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
1901
-     * @param int                   $stackPtr  The position of the current token in
1902
-     *                                         the stack passed in $tokens.
1903
-     *
1904
-     * @return void
1905
-     */
1906
-    public function process(File $phpcsFile, $stackPtr)
1907
-    {
1908
-        $tokens = $phpcsFile->getTokens();
1897
+	/**
1898
+	 * Processes this test, when one of its tokens is encountered.
1899
+	 *
1900
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
1901
+	 * @param int                   $stackPtr  The position of the current token in
1902
+	 *                                         the stack passed in $tokens.
1903
+	 *
1904
+	 * @return void
1905
+	 */
1906
+	public function process(File $phpcsFile, $stackPtr)
1907
+	{
1908
+		$tokens = $phpcsFile->getTokens();
1909 1909
 
1910
-        $ignore = array(
1911
-            \T_DOUBLE_COLON    => true,
1912
-            \T_OBJECT_OPERATOR => true,
1913
-            \T_FUNCTION        => true,
1914
-            \T_CONST           => true,
1915
-        );
1910
+		$ignore = array(
1911
+			\T_DOUBLE_COLON    => true,
1912
+			\T_OBJECT_OPERATOR => true,
1913
+			\T_FUNCTION        => true,
1914
+			\T_CONST           => true,
1915
+		);
1916 1916
 
1917
-        $prevToken = $phpcsFile->findPrevious(\T_WHITESPACE, ($stackPtr - 1), null, true);
1918
-        if (isset($ignore[$tokens[$prevToken]['code']]) === true) {
1919
-            // Not a call to a PHP function.
1920
-            return;
1917
+		$prevToken = $phpcsFile->findPrevious(\T_WHITESPACE, ($stackPtr - 1), null, true);
1918
+		if (isset($ignore[$tokens[$prevToken]['code']]) === true) {
1919
+			// Not a call to a PHP function.
1920
+			return;
1921 1921
 
1922
-        } elseif ($tokens[$prevToken]['code'] === \T_NS_SEPARATOR && $tokens[$prevToken - 1]['code'] === \T_STRING) {
1923
-            // Namespaced function.
1924
-            return;
1925
-        }
1922
+		} elseif ($tokens[$prevToken]['code'] === \T_NS_SEPARATOR && $tokens[$prevToken - 1]['code'] === \T_STRING) {
1923
+			// Namespaced function.
1924
+			return;
1925
+		}
1926 1926
 
1927
-        $function   = $tokens[$stackPtr]['content'];
1928
-        $functionLc = strtolower($function);
1927
+		$function   = $tokens[$stackPtr]['content'];
1928
+		$functionLc = strtolower($function);
1929 1929
 
1930
-        if (isset($this->newFunctions[$functionLc]) === false) {
1931
-            return;
1932
-        }
1930
+		if (isset($this->newFunctions[$functionLc]) === false) {
1931
+			return;
1932
+		}
1933 1933
 
1934
-        $itemInfo = array(
1935
-            'name'   => $function,
1936
-            'nameLc' => $functionLc,
1937
-        );
1938
-        $this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
1939
-    }
1934
+		$itemInfo = array(
1935
+			'name'   => $function,
1936
+			'nameLc' => $functionLc,
1937
+		);
1938
+		$this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
1939
+	}
1940 1940
 
1941 1941
 
1942
-    /**
1943
-     * Get the relevant sub-array for a specific item from a multi-dimensional array.
1944
-     *
1945
-     * @param array $itemInfo Base information about the item.
1946
-     *
1947
-     * @return array Version and other information about the item.
1948
-     */
1949
-    public function getItemArray(array $itemInfo)
1950
-    {
1951
-        return $this->newFunctions[$itemInfo['nameLc']];
1952
-    }
1942
+	/**
1943
+	 * Get the relevant sub-array for a specific item from a multi-dimensional array.
1944
+	 *
1945
+	 * @param array $itemInfo Base information about the item.
1946
+	 *
1947
+	 * @return array Version and other information about the item.
1948
+	 */
1949
+	public function getItemArray(array $itemInfo)
1950
+	{
1951
+		return $this->newFunctions[$itemInfo['nameLc']];
1952
+	}
1953 1953
 
1954 1954
 
1955
-    /**
1956
-     * Get the error message template for this sniff.
1957
-     *
1958
-     * @return string
1959
-     */
1960
-    protected function getErrorMsgTemplate()
1961
-    {
1962
-        return 'The function %s() is not present in PHP version %s or earlier';
1963
-    }
1955
+	/**
1956
+	 * Get the error message template for this sniff.
1957
+	 *
1958
+	 * @return string
1959
+	 */
1960
+	protected function getErrorMsgTemplate()
1961
+	{
1962
+		return 'The function %s() is not present in PHP version %s or earlier';
1963
+	}
1964 1964
 }
Please login to merge, or discard this patch.
Spacing   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -1889,9 +1889,9 @@  discard block
 block discarded – undo
1889 1889
     public function register()
1890 1890
     {
1891 1891
         // Handle case-insensitivity of function names.
1892
-        $this->newFunctions = $this->arrayKeysToLowercase($this->newFunctions);
1892
+        $this->newFunctions = $this->arrayKeysToLowercase( $this->newFunctions );
1893 1893
 
1894
-        return array(\T_STRING);
1894
+        return array( \T_STRING );
1895 1895
     }
1896 1896
 
1897 1897
     /**
@@ -1903,7 +1903,7 @@  discard block
 block discarded – undo
1903 1903
      *
1904 1904
      * @return void
1905 1905
      */
1906
-    public function process(File $phpcsFile, $stackPtr)
1906
+    public function process( File $phpcsFile, $stackPtr )
1907 1907
     {
1908 1908
         $tokens = $phpcsFile->getTokens();
1909 1909
 
@@ -1914,20 +1914,20 @@  discard block
 block discarded – undo
1914 1914
             \T_CONST           => true,
1915 1915
         );
1916 1916
 
1917
-        $prevToken = $phpcsFile->findPrevious(\T_WHITESPACE, ($stackPtr - 1), null, true);
1918
-        if (isset($ignore[$tokens[$prevToken]['code']]) === true) {
1917
+        $prevToken = $phpcsFile->findPrevious( \T_WHITESPACE, ( $stackPtr - 1 ), null, true );
1918
+        if ( isset( $ignore[ $tokens[ $prevToken ][ 'code' ] ] ) === true ) {
1919 1919
             // Not a call to a PHP function.
1920 1920
             return;
1921 1921
 
1922
-        } elseif ($tokens[$prevToken]['code'] === \T_NS_SEPARATOR && $tokens[$prevToken - 1]['code'] === \T_STRING) {
1922
+        } elseif ( $tokens[ $prevToken ][ 'code' ] === \T_NS_SEPARATOR && $tokens[ $prevToken - 1 ][ 'code' ] === \T_STRING ) {
1923 1923
             // Namespaced function.
1924 1924
             return;
1925 1925
         }
1926 1926
 
1927
-        $function   = $tokens[$stackPtr]['content'];
1928
-        $functionLc = strtolower($function);
1927
+        $function   = $tokens[ $stackPtr ][ 'content' ];
1928
+        $functionLc = strtolower( $function );
1929 1929
 
1930
-        if (isset($this->newFunctions[$functionLc]) === false) {
1930
+        if ( isset( $this->newFunctions[ $functionLc ] ) === false ) {
1931 1931
             return;
1932 1932
         }
1933 1933
 
@@ -1935,7 +1935,7 @@  discard block
 block discarded – undo
1935 1935
             'name'   => $function,
1936 1936
             'nameLc' => $functionLc,
1937 1937
         );
1938
-        $this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
1938
+        $this->handleFeature( $phpcsFile, $stackPtr, $itemInfo );
1939 1939
     }
1940 1940
 
1941 1941
 
@@ -1946,9 +1946,9 @@  discard block
 block discarded – undo
1946 1946
      *
1947 1947
      * @return array Version and other information about the item.
1948 1948
      */
1949
-    public function getItemArray(array $itemInfo)
1949
+    public function getItemArray( array $itemInfo )
1950 1950
     {
1951
-        return $this->newFunctions[$itemInfo['nameLc']];
1951
+        return $this->newFunctions[ $itemInfo[ 'nameLc' ] ];
1952 1952
     }
1953 1953
 
1954 1954
 
Please login to merge, or discard this patch.
Braces   +5 added lines, -10 removed lines patch added patch discarded remove patch
@@ -19,8 +19,7 @@  discard block
 block discarded – undo
19 19
  * @package  PHPCompatibility
20 20
  * @author   Wim Godden <[email protected]>
21 21
  */
22
-class NewFunctionsSniff extends AbstractNewFeatureSniff
23
-{
22
+class NewFunctionsSniff extends AbstractNewFeatureSniff {
24 23
     /**
25 24
      * A list of new functions, not present in older versions.
26 25
      *
@@ -1886,8 +1885,7 @@  discard block
 block discarded – undo
1886 1885
      *
1887 1886
      * @return array
1888 1887
      */
1889
-    public function register()
1890
-    {
1888
+    public function register() {
1891 1889
         // Handle case-insensitivity of function names.
1892 1890
         $this->newFunctions = $this->arrayKeysToLowercase($this->newFunctions);
1893 1891
 
@@ -1903,8 +1901,7 @@  discard block
 block discarded – undo
1903 1901
      *
1904 1902
      * @return void
1905 1903
      */
1906
-    public function process(File $phpcsFile, $stackPtr)
1907
-    {
1904
+    public function process(File $phpcsFile, $stackPtr) {
1908 1905
         $tokens = $phpcsFile->getTokens();
1909 1906
 
1910 1907
         $ignore = array(
@@ -1946,8 +1943,7 @@  discard block
 block discarded – undo
1946 1943
      *
1947 1944
      * @return array Version and other information about the item.
1948 1945
      */
1949
-    public function getItemArray(array $itemInfo)
1950
-    {
1946
+    public function getItemArray(array $itemInfo) {
1951 1947
         return $this->newFunctions[$itemInfo['nameLc']];
1952 1948
     }
1953 1949
 
@@ -1957,8 +1953,7 @@  discard block
 block discarded – undo
1957 1953
      *
1958 1954
      * @return string
1959 1955
      */
1960
-    protected function getErrorMsgTemplate()
1961
-    {
1956
+    protected function getErrorMsgTemplate() {
1962 1957
         return 'The function %s() is not present in PHP version %s or earlier';
1963 1958
     }
1964 1959
 }
Please login to merge, or discard this patch.
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -65,7 +65,7 @@
 block discarded – undo
65 65
     /**
66 66
      * Returns an array of tokens this test wants to listen for.
67 67
      *
68
-     * @return array
68
+     * @return integer[]
69 69
      */
70 70
     public function register()
71 71
     {
Please login to merge, or discard this patch.
PHPCompatibility/Sniffs/FunctionUse/NewFunctionParametersSniff.php 4 patches
Indentation   +1032 added lines, -1032 removed lines patch added patch discarded remove patch
@@ -22,1065 +22,1065 @@
 block discarded – undo
22 22
  */
23 23
 class NewFunctionParametersSniff extends AbstractNewFeatureSniff
24 24
 {
25
-    /**
26
-     * A list of new functions, not present in older versions.
27
-     *
28
-     * The array lists : version number with false (not present) or true (present).
29
-     * The index is the location of the parameter in the parameter list, starting at 0 !
30
-     * If's sufficient to list the first version where the function appears.
31
-     *
32
-     * @var array
33
-     */
34
-    protected $newFunctionParameters = array(
35
-        'array_filter' => array(
36
-            2 => array(
37
-                'name' => 'flag',
38
-                '5.5'  => false,
39
-                '5.6'  => true,
40
-            ),
41
-        ),
42
-        'array_slice' => array(
43
-            1 => array(
44
-                'name'  => 'preserve_keys',
45
-                '5.0.1' => false,
46
-                '5.0.2' => true,
47
-            ),
48
-        ),
49
-        'array_unique' => array(
50
-            1 => array(
51
-                'name'  => 'sort_flags',
52
-                '5.2.8' => false,
53
-                '5.2.9' => true,
54
-            ),
55
-        ),
56
-        'assert' => array(
57
-            1 => array(
58
-                'name'  => 'description',
59
-                '5.4.7' => false,
60
-                '5.4.8' => true,
61
-            ),
62
-        ),
63
-        'base64_decode' => array(
64
-            1 => array(
65
-                'name' => 'strict',
66
-                '5.1'  => false,
67
-                '5.2'  => true,
68
-            ),
69
-        ),
70
-        'bcmod' => array(
71
-            2 => array(
72
-                'name' => 'scale',
73
-                '7.1'  => false,
74
-                '7.2'  => true,
75
-            ),
76
-        ),
77
-        'class_implements' => array(
78
-            1 => array(
79
-                'name' => 'autoload',
80
-                '5.0'  => false,
81
-                '5.1'  => true,
82
-            ),
83
-        ),
84
-        'class_parents' => array(
85
-            1 => array(
86
-                'name' => 'autoload',
87
-                '5.0'  => false,
88
-                '5.1'  => true,
89
-            ),
90
-        ),
91
-        'clearstatcache' => array(
92
-            0 => array(
93
-                'name' => 'clear_realpath_cache',
94
-                '5.2'  => false,
95
-                '5.3'  => true,
96
-            ),
97
-            1 => array(
98
-                'name' => 'filename',
99
-                '5.2'  => false,
100
-                '5.3'  => true,
101
-            ),
102
-        ),
103
-        'copy' => array(
104
-            2 => array(
105
-                'name' => 'context',
106
-                '5.2'  => false,
107
-                '5.3'  => true,
108
-            ),
109
-        ),
110
-        'curl_multi_info_read' => array(
111
-            1 => array(
112
-                'name' => 'msgs_in_queue',
113
-                '5.1'  => false,
114
-                '5.2'  => true,
115
-            ),
116
-        ),
117
-        'debug_backtrace' => array(
118
-            0 => array(
119
-                'name'  => 'options',
120
-                '5.2.4' => false,
121
-                '5.2.5' => true,
122
-            ),
123
-            1 => array(
124
-                'name' => 'limit',
125
-                '5.3'  => false,
126
-                '5.4'  => true,
127
-            ),
128
-        ),
129
-        'debug_print_backtrace' => array(
130
-            0 => array(
131
-                'name'  => 'options',
132
-                '5.3.5' => false,
133
-                '5.3.6' => true,
134
-            ),
135
-            1 => array(
136
-                'name' => 'limit',
137
-                '5.3'  => false,
138
-                '5.4'  => true,
139
-            ),
140
-        ),
141
-        'dirname' => array(
142
-            1 => array(
143
-                'name' => 'levels',
144
-                '5.6'  => false,
145
-                '7.0'  => true,
146
-            ),
147
-        ),
148
-        'dns_get_record' => array(
149
-            4 => array(
150
-                'name' => 'raw',
151
-                '5.3'  => false,
152
-                '5.4'  => true,
153
-            ),
154
-        ),
155
-        'fgetcsv' => array(
156
-            4 => array(
157
-                'name' => 'escape',
158
-                '5.2'  => false,
159
-                '5.3'  => true,
160
-            ),
161
-        ),
162
-        'fputcsv' => array(
163
-            4 => array(
164
-                'name'  => 'escape_char',
165
-                '5.5.3' => false,
166
-                '5.5.4' => true,
167
-            ),
168
-        ),
169
-        'file_get_contents' => array(
170
-            3 => array(
171
-                'name' => 'offset',
172
-                '5.0'  => false,
173
-                '5.1'  => true,
174
-            ),
175
-            4 => array(
176
-                'name' => 'maxlen',
177
-                '5.0'  => false,
178
-                '5.1'  => true,
179
-            ),
180
-        ),
181
-        'filter_input_array' => array(
182
-            2 => array(
183
-                'name' => 'add_empty',
184
-                '5.3'  => false,
185
-                '5.4'  => true,
186
-            ),
187
-        ),
188
-        'filter_var_array' => array(
189
-            2 => array(
190
-                'name' => 'add_empty',
191
-                '5.3'  => false,
192
-                '5.4'  => true,
193
-            ),
194
-        ),
195
-        'getenv' => array(
196
-            1 => array(
197
-                'name'   => 'local_only',
198
-                '5.5.37' => false,
199
-                '5.5.38' => true, // Also introduced in PHP 5.6.24 and 7.0.9.
200
-            ),
201
-        ),
202
-        'getopt' => array(
203
-            2 => array(
204
-                'name' => 'optind',
205
-                '7.0'  => false,
206
-                '7.1'  => true,
207
-            ),
208
-        ),
209
-        'gettimeofday' => array(
210
-            0 => array(
211
-                'name' => 'return_float',
212
-                '5.0'  => false,
213
-                '5.1'  => true,
214
-            ),
215
-        ),
216
-        'get_defined_functions' => array(
217
-            0 => array(
218
-                'name'   => 'exclude_disabled',
219
-                '7.0.14' => false,
220
-                '7.0.15' => true,
221
-            ),
222
-        ),
223
-        'get_headers' => array(
224
-            2 => array(
225
-                'name' => 'context',
226
-                '7.0'  => false,
227
-                '7.1'  => true,
228
-            ),
229
-        ),
230
-        'get_html_translation_table' => array(
231
-            2 => array(
232
-                'name'  => 'encoding',
233
-                '5.3.3' => false,
234
-                '5.3.4' => true,
235
-            ),
236
-        ),
237
-        'get_loaded_extensions' => array(
238
-            0 => array(
239
-                'name'  => 'zend_extensions',
240
-                '5.2.3' => false,
241
-                '5.2.4' => true,
242
-            ),
243
-        ),
244
-        'gzcompress' => array(
245
-            2 => array(
246
-                'name' => 'encoding',
247
-                '5.3'  => false,
248
-                '5.4'  => true,
249
-            ),
250
-        ),
251
-        'gzdeflate' => array(
252
-            2 => array(
253
-                'name' => 'encoding',
254
-                '5.3'  => false,
255
-                '5.4'  => true,
256
-            ),
257
-        ),
258
-        'htmlentities' => array(
259
-            3 => array(
260
-                'name'  => 'double_encode',
261
-                '5.2.2' => false,
262
-                '5.2.3' => true,
263
-            ),
264
-        ),
265
-        'htmlspecialchars' => array(
266
-            3 => array(
267
-                'name'  => 'double_encode',
268
-                '5.2.2' => false,
269
-                '5.2.3' => true,
270
-            ),
271
-        ),
272
-        'http_build_query' => array(
273
-            2 => array(
274
-                'name'  => 'arg_separator',
275
-                '5.1.1' => false,
276
-                '5.1.2' => true,
277
-            ),
278
-            3 => array(
279
-                'name' => 'enc_type',
280
-                '5.3'  => false,
281
-                '5.4'  => true,
282
-            ),
283
-        ),
284
-        'idn_to_ascii' => array(
285
-            2 => array(
286
-                'name' => 'variant',
287
-                '5.3'  => false,
288
-                '5.4'  => true,
289
-            ),
290
-            3 => array(
291
-                'name' => 'idna_info',
292
-                '5.3'  => false,
293
-                '5.4'  => true,
294
-            ),
295
-        ),
296
-        'idn_to_utf8' => array(
297
-            2 => array(
298
-                'name' => 'variant',
299
-                '5.3'  => false,
300
-                '5.4'  => true,
301
-            ),
302
-            3 => array(
303
-                'name' => 'idna_info',
304
-                '5.3'  => false,
305
-                '5.4'  => true,
306
-            ),
307
-        ),
308
-        'imagecolorset' => array(
309
-            5 => array(
310
-                'name' => 'alpha',
311
-                '5.3'  => false,
312
-                '5.4'  => true,
313
-            ),
314
-        ),
315
-        'imagepng' => array(
316
-            2 => array(
317
-                'name'  => 'quality',
318
-                '5.1.1' => false,
319
-                '5.1.2' => true,
320
-            ),
321
-            3 => array(
322
-                'name'  => 'filters',
323
-                '5.1.2' => false,
324
-                '5.1.3' => true,
325
-            ),
326
-        ),
327
-        'imagerotate' => array(
328
-            3 => array(
329
-                'name' => 'ignore_transparent',
330
-                '5.0'  => false,
331
-                '5.1'  => true,
332
-            ),
333
-        ),
334
-        'imap_open' => array(
335
-            4 => array(
336
-                'name' => 'n_retries',
337
-                '5.1'  => false,
338
-                '5.2'  => true,
339
-            ),
340
-            5 => array(
341
-                'name'  => 'params',
342
-                '5.3.1' => false,
343
-                '5.3.2' => true,
344
-            ),
345
-        ),
346
-        'imap_reopen' => array(
347
-            3 => array(
348
-                'name' => 'n_retries',
349
-                '5.1'  => false,
350
-                '5.2'  => true,
351
-            ),
352
-        ),
353
-        'ini_get_all' => array(
354
-            1 => array(
355
-                'name' => 'details',
356
-                '5.2'  => false,
357
-                '5.3'  => true,
358
-            ),
359
-        ),
360
-        'is_a' => array(
361
-            2 => array(
362
-                'name'  => 'allow_string',
363
-                '5.3.8' => false,
364
-                '5.3.9' => true,
365
-            ),
366
-        ),
367
-        'is_subclass_of' => array(
368
-            2 => array(
369
-                'name'  => 'allow_string',
370
-                '5.3.8' => false,
371
-                '5.3.9' => true,
372
-            ),
373
-        ),
374
-        'iterator_to_array' => array(
375
-            1 => array(
376
-                'name'  => 'use_keys',
377
-                '5.2.0' => false,
378
-                '5.2.1' => true,
379
-            ),
380
-        ),
381
-        'json_decode' => array(
382
-            2 => array(
383
-                'name' => 'depth',
384
-                '5.2'  => false,
385
-                '5.3'  => true,
386
-            ),
387
-            3 => array(
388
-                'name' => 'options',
389
-                '5.3'  => false,
390
-                '5.4'  => true,
391
-            ),
392
-        ),
393
-        'json_encode' => array(
394
-            1 => array(
395
-                'name' => 'options',
396
-                '5.2'  => false,
397
-                '5.3'  => true,
398
-            ),
399
-            2 => array(
400
-                'name' => 'depth',
401
-                '5.4'  => false,
402
-                '5.5'  => true,
403
-            ),
404
-        ),
405
-        'ldap_add' => array(
406
-            3 => array(
407
-                'name' => 'serverctrls',
408
-                '7.2'  => false,
409
-                '7.3'  => true,
410
-            ),
411
-        ),
412
-        'ldap_compare' => array(
413
-            4 => array(
414
-                'name' => 'serverctrls',
415
-                '7.2'  => false,
416
-                '7.3'  => true,
417
-            ),
418
-        ),
419
-        'ldap_delete' => array(
420
-            2 => array(
421
-                'name' => 'serverctrls',
422
-                '7.2'  => false,
423
-                '7.3'  => true,
424
-            ),
425
-        ),
426
-        'ldap_list' => array(
427
-            8 => array(
428
-                'name' => 'serverctrls',
429
-                '7.2'  => false,
430
-                '7.3'  => true,
431
-            ),
432
-        ),
433
-        'ldap_mod_add' => array(
434
-            3 => array(
435
-                'name' => 'serverctrls',
436
-                '7.2'  => false,
437
-                '7.3'  => true,
438
-            ),
439
-        ),
440
-        'ldap_mod_del' => array(
441
-            3 => array(
442
-                'name' => 'serverctrls',
443
-                '7.2'  => false,
444
-                '7.3'  => true,
445
-            ),
446
-        ),
447
-        'ldap_mod_replace' => array(
448
-            3 => array(
449
-                'name' => 'serverctrls',
450
-                '7.2'  => false,
451
-                '7.3'  => true,
452
-            ),
453
-        ),
454
-        'ldap_modify_batch' => array(
455
-            3 => array(
456
-                'name' => 'serverctrls',
457
-                '7.2'  => false,
458
-                '7.3'  => true,
459
-            ),
460
-        ),
461
-        'ldap_parse_result' => array(
462
-            6 => array(
463
-                'name' => 'serverctrls',
464
-                '7.2'  => false,
465
-                '7.3'  => true,
466
-            ),
467
-        ),
468
-        'ldap_read' => array(
469
-            8 => array(
470
-                'name' => 'serverctrls',
471
-                '7.2'  => false,
472
-                '7.3'  => true,
473
-            ),
474
-        ),
475
-        'ldap_rename' => array(
476
-            5 => array(
477
-                'name' => 'serverctrls',
478
-                '7.2'  => false,
479
-                '7.3'  => true,
480
-            ),
481
-        ),
482
-        'ldap_search' => array(
483
-            8 => array(
484
-                'name' => 'serverctrls',
485
-                '7.2'  => false,
486
-                '7.3'  => true,
487
-            ),
488
-        ),
489
-        'memory_get_peak_usage' => array(
490
-            0 => array(
491
-                'name' => 'real_usage',
492
-                '5.1'  => false,
493
-                '5.2'  => true,
494
-            ),
495
-        ),
496
-        'memory_get_usage' => array(
497
-            0 => array(
498
-                'name' => 'real_usage',
499
-                '5.1'  => false,
500
-                '5.2'  => true,
501
-            ),
502
-        ),
503
-        'mb_encode_numericentity' => array(
504
-            3 => array(
505
-                'name' => 'is_hex',
506
-                '5.3'  => false,
507
-                '5.4'  => true,
508
-            ),
509
-        ),
510
-        'mb_strrpos' => array(
511
-            /*
25
+	/**
26
+	 * A list of new functions, not present in older versions.
27
+	 *
28
+	 * The array lists : version number with false (not present) or true (present).
29
+	 * The index is the location of the parameter in the parameter list, starting at 0 !
30
+	 * If's sufficient to list the first version where the function appears.
31
+	 *
32
+	 * @var array
33
+	 */
34
+	protected $newFunctionParameters = array(
35
+		'array_filter' => array(
36
+			2 => array(
37
+				'name' => 'flag',
38
+				'5.5'  => false,
39
+				'5.6'  => true,
40
+			),
41
+		),
42
+		'array_slice' => array(
43
+			1 => array(
44
+				'name'  => 'preserve_keys',
45
+				'5.0.1' => false,
46
+				'5.0.2' => true,
47
+			),
48
+		),
49
+		'array_unique' => array(
50
+			1 => array(
51
+				'name'  => 'sort_flags',
52
+				'5.2.8' => false,
53
+				'5.2.9' => true,
54
+			),
55
+		),
56
+		'assert' => array(
57
+			1 => array(
58
+				'name'  => 'description',
59
+				'5.4.7' => false,
60
+				'5.4.8' => true,
61
+			),
62
+		),
63
+		'base64_decode' => array(
64
+			1 => array(
65
+				'name' => 'strict',
66
+				'5.1'  => false,
67
+				'5.2'  => true,
68
+			),
69
+		),
70
+		'bcmod' => array(
71
+			2 => array(
72
+				'name' => 'scale',
73
+				'7.1'  => false,
74
+				'7.2'  => true,
75
+			),
76
+		),
77
+		'class_implements' => array(
78
+			1 => array(
79
+				'name' => 'autoload',
80
+				'5.0'  => false,
81
+				'5.1'  => true,
82
+			),
83
+		),
84
+		'class_parents' => array(
85
+			1 => array(
86
+				'name' => 'autoload',
87
+				'5.0'  => false,
88
+				'5.1'  => true,
89
+			),
90
+		),
91
+		'clearstatcache' => array(
92
+			0 => array(
93
+				'name' => 'clear_realpath_cache',
94
+				'5.2'  => false,
95
+				'5.3'  => true,
96
+			),
97
+			1 => array(
98
+				'name' => 'filename',
99
+				'5.2'  => false,
100
+				'5.3'  => true,
101
+			),
102
+		),
103
+		'copy' => array(
104
+			2 => array(
105
+				'name' => 'context',
106
+				'5.2'  => false,
107
+				'5.3'  => true,
108
+			),
109
+		),
110
+		'curl_multi_info_read' => array(
111
+			1 => array(
112
+				'name' => 'msgs_in_queue',
113
+				'5.1'  => false,
114
+				'5.2'  => true,
115
+			),
116
+		),
117
+		'debug_backtrace' => array(
118
+			0 => array(
119
+				'name'  => 'options',
120
+				'5.2.4' => false,
121
+				'5.2.5' => true,
122
+			),
123
+			1 => array(
124
+				'name' => 'limit',
125
+				'5.3'  => false,
126
+				'5.4'  => true,
127
+			),
128
+		),
129
+		'debug_print_backtrace' => array(
130
+			0 => array(
131
+				'name'  => 'options',
132
+				'5.3.5' => false,
133
+				'5.3.6' => true,
134
+			),
135
+			1 => array(
136
+				'name' => 'limit',
137
+				'5.3'  => false,
138
+				'5.4'  => true,
139
+			),
140
+		),
141
+		'dirname' => array(
142
+			1 => array(
143
+				'name' => 'levels',
144
+				'5.6'  => false,
145
+				'7.0'  => true,
146
+			),
147
+		),
148
+		'dns_get_record' => array(
149
+			4 => array(
150
+				'name' => 'raw',
151
+				'5.3'  => false,
152
+				'5.4'  => true,
153
+			),
154
+		),
155
+		'fgetcsv' => array(
156
+			4 => array(
157
+				'name' => 'escape',
158
+				'5.2'  => false,
159
+				'5.3'  => true,
160
+			),
161
+		),
162
+		'fputcsv' => array(
163
+			4 => array(
164
+				'name'  => 'escape_char',
165
+				'5.5.3' => false,
166
+				'5.5.4' => true,
167
+			),
168
+		),
169
+		'file_get_contents' => array(
170
+			3 => array(
171
+				'name' => 'offset',
172
+				'5.0'  => false,
173
+				'5.1'  => true,
174
+			),
175
+			4 => array(
176
+				'name' => 'maxlen',
177
+				'5.0'  => false,
178
+				'5.1'  => true,
179
+			),
180
+		),
181
+		'filter_input_array' => array(
182
+			2 => array(
183
+				'name' => 'add_empty',
184
+				'5.3'  => false,
185
+				'5.4'  => true,
186
+			),
187
+		),
188
+		'filter_var_array' => array(
189
+			2 => array(
190
+				'name' => 'add_empty',
191
+				'5.3'  => false,
192
+				'5.4'  => true,
193
+			),
194
+		),
195
+		'getenv' => array(
196
+			1 => array(
197
+				'name'   => 'local_only',
198
+				'5.5.37' => false,
199
+				'5.5.38' => true, // Also introduced in PHP 5.6.24 and 7.0.9.
200
+			),
201
+		),
202
+		'getopt' => array(
203
+			2 => array(
204
+				'name' => 'optind',
205
+				'7.0'  => false,
206
+				'7.1'  => true,
207
+			),
208
+		),
209
+		'gettimeofday' => array(
210
+			0 => array(
211
+				'name' => 'return_float',
212
+				'5.0'  => false,
213
+				'5.1'  => true,
214
+			),
215
+		),
216
+		'get_defined_functions' => array(
217
+			0 => array(
218
+				'name'   => 'exclude_disabled',
219
+				'7.0.14' => false,
220
+				'7.0.15' => true,
221
+			),
222
+		),
223
+		'get_headers' => array(
224
+			2 => array(
225
+				'name' => 'context',
226
+				'7.0'  => false,
227
+				'7.1'  => true,
228
+			),
229
+		),
230
+		'get_html_translation_table' => array(
231
+			2 => array(
232
+				'name'  => 'encoding',
233
+				'5.3.3' => false,
234
+				'5.3.4' => true,
235
+			),
236
+		),
237
+		'get_loaded_extensions' => array(
238
+			0 => array(
239
+				'name'  => 'zend_extensions',
240
+				'5.2.3' => false,
241
+				'5.2.4' => true,
242
+			),
243
+		),
244
+		'gzcompress' => array(
245
+			2 => array(
246
+				'name' => 'encoding',
247
+				'5.3'  => false,
248
+				'5.4'  => true,
249
+			),
250
+		),
251
+		'gzdeflate' => array(
252
+			2 => array(
253
+				'name' => 'encoding',
254
+				'5.3'  => false,
255
+				'5.4'  => true,
256
+			),
257
+		),
258
+		'htmlentities' => array(
259
+			3 => array(
260
+				'name'  => 'double_encode',
261
+				'5.2.2' => false,
262
+				'5.2.3' => true,
263
+			),
264
+		),
265
+		'htmlspecialchars' => array(
266
+			3 => array(
267
+				'name'  => 'double_encode',
268
+				'5.2.2' => false,
269
+				'5.2.3' => true,
270
+			),
271
+		),
272
+		'http_build_query' => array(
273
+			2 => array(
274
+				'name'  => 'arg_separator',
275
+				'5.1.1' => false,
276
+				'5.1.2' => true,
277
+			),
278
+			3 => array(
279
+				'name' => 'enc_type',
280
+				'5.3'  => false,
281
+				'5.4'  => true,
282
+			),
283
+		),
284
+		'idn_to_ascii' => array(
285
+			2 => array(
286
+				'name' => 'variant',
287
+				'5.3'  => false,
288
+				'5.4'  => true,
289
+			),
290
+			3 => array(
291
+				'name' => 'idna_info',
292
+				'5.3'  => false,
293
+				'5.4'  => true,
294
+			),
295
+		),
296
+		'idn_to_utf8' => array(
297
+			2 => array(
298
+				'name' => 'variant',
299
+				'5.3'  => false,
300
+				'5.4'  => true,
301
+			),
302
+			3 => array(
303
+				'name' => 'idna_info',
304
+				'5.3'  => false,
305
+				'5.4'  => true,
306
+			),
307
+		),
308
+		'imagecolorset' => array(
309
+			5 => array(
310
+				'name' => 'alpha',
311
+				'5.3'  => false,
312
+				'5.4'  => true,
313
+			),
314
+		),
315
+		'imagepng' => array(
316
+			2 => array(
317
+				'name'  => 'quality',
318
+				'5.1.1' => false,
319
+				'5.1.2' => true,
320
+			),
321
+			3 => array(
322
+				'name'  => 'filters',
323
+				'5.1.2' => false,
324
+				'5.1.3' => true,
325
+			),
326
+		),
327
+		'imagerotate' => array(
328
+			3 => array(
329
+				'name' => 'ignore_transparent',
330
+				'5.0'  => false,
331
+				'5.1'  => true,
332
+			),
333
+		),
334
+		'imap_open' => array(
335
+			4 => array(
336
+				'name' => 'n_retries',
337
+				'5.1'  => false,
338
+				'5.2'  => true,
339
+			),
340
+			5 => array(
341
+				'name'  => 'params',
342
+				'5.3.1' => false,
343
+				'5.3.2' => true,
344
+			),
345
+		),
346
+		'imap_reopen' => array(
347
+			3 => array(
348
+				'name' => 'n_retries',
349
+				'5.1'  => false,
350
+				'5.2'  => true,
351
+			),
352
+		),
353
+		'ini_get_all' => array(
354
+			1 => array(
355
+				'name' => 'details',
356
+				'5.2'  => false,
357
+				'5.3'  => true,
358
+			),
359
+		),
360
+		'is_a' => array(
361
+			2 => array(
362
+				'name'  => 'allow_string',
363
+				'5.3.8' => false,
364
+				'5.3.9' => true,
365
+			),
366
+		),
367
+		'is_subclass_of' => array(
368
+			2 => array(
369
+				'name'  => 'allow_string',
370
+				'5.3.8' => false,
371
+				'5.3.9' => true,
372
+			),
373
+		),
374
+		'iterator_to_array' => array(
375
+			1 => array(
376
+				'name'  => 'use_keys',
377
+				'5.2.0' => false,
378
+				'5.2.1' => true,
379
+			),
380
+		),
381
+		'json_decode' => array(
382
+			2 => array(
383
+				'name' => 'depth',
384
+				'5.2'  => false,
385
+				'5.3'  => true,
386
+			),
387
+			3 => array(
388
+				'name' => 'options',
389
+				'5.3'  => false,
390
+				'5.4'  => true,
391
+			),
392
+		),
393
+		'json_encode' => array(
394
+			1 => array(
395
+				'name' => 'options',
396
+				'5.2'  => false,
397
+				'5.3'  => true,
398
+			),
399
+			2 => array(
400
+				'name' => 'depth',
401
+				'5.4'  => false,
402
+				'5.5'  => true,
403
+			),
404
+		),
405
+		'ldap_add' => array(
406
+			3 => array(
407
+				'name' => 'serverctrls',
408
+				'7.2'  => false,
409
+				'7.3'  => true,
410
+			),
411
+		),
412
+		'ldap_compare' => array(
413
+			4 => array(
414
+				'name' => 'serverctrls',
415
+				'7.2'  => false,
416
+				'7.3'  => true,
417
+			),
418
+		),
419
+		'ldap_delete' => array(
420
+			2 => array(
421
+				'name' => 'serverctrls',
422
+				'7.2'  => false,
423
+				'7.3'  => true,
424
+			),
425
+		),
426
+		'ldap_list' => array(
427
+			8 => array(
428
+				'name' => 'serverctrls',
429
+				'7.2'  => false,
430
+				'7.3'  => true,
431
+			),
432
+		),
433
+		'ldap_mod_add' => array(
434
+			3 => array(
435
+				'name' => 'serverctrls',
436
+				'7.2'  => false,
437
+				'7.3'  => true,
438
+			),
439
+		),
440
+		'ldap_mod_del' => array(
441
+			3 => array(
442
+				'name' => 'serverctrls',
443
+				'7.2'  => false,
444
+				'7.3'  => true,
445
+			),
446
+		),
447
+		'ldap_mod_replace' => array(
448
+			3 => array(
449
+				'name' => 'serverctrls',
450
+				'7.2'  => false,
451
+				'7.3'  => true,
452
+			),
453
+		),
454
+		'ldap_modify_batch' => array(
455
+			3 => array(
456
+				'name' => 'serverctrls',
457
+				'7.2'  => false,
458
+				'7.3'  => true,
459
+			),
460
+		),
461
+		'ldap_parse_result' => array(
462
+			6 => array(
463
+				'name' => 'serverctrls',
464
+				'7.2'  => false,
465
+				'7.3'  => true,
466
+			),
467
+		),
468
+		'ldap_read' => array(
469
+			8 => array(
470
+				'name' => 'serverctrls',
471
+				'7.2'  => false,
472
+				'7.3'  => true,
473
+			),
474
+		),
475
+		'ldap_rename' => array(
476
+			5 => array(
477
+				'name' => 'serverctrls',
478
+				'7.2'  => false,
479
+				'7.3'  => true,
480
+			),
481
+		),
482
+		'ldap_search' => array(
483
+			8 => array(
484
+				'name' => 'serverctrls',
485
+				'7.2'  => false,
486
+				'7.3'  => true,
487
+			),
488
+		),
489
+		'memory_get_peak_usage' => array(
490
+			0 => array(
491
+				'name' => 'real_usage',
492
+				'5.1'  => false,
493
+				'5.2'  => true,
494
+			),
495
+		),
496
+		'memory_get_usage' => array(
497
+			0 => array(
498
+				'name' => 'real_usage',
499
+				'5.1'  => false,
500
+				'5.2'  => true,
501
+			),
502
+		),
503
+		'mb_encode_numericentity' => array(
504
+			3 => array(
505
+				'name' => 'is_hex',
506
+				'5.3'  => false,
507
+				'5.4'  => true,
508
+			),
509
+		),
510
+		'mb_strrpos' => array(
511
+			/*
512 512
              * Note: the actual position is 2, but the original 3rd
513 513
              * parameter 'encoding' was moved to the 4th position.
514 514
              * So the only way to detect if offset is used is when
515 515
              * both offset and encoding are set.
516 516
              */
517
-            3 => array(
518
-                'name' => 'offset',
519
-                '5.1'  => false,
520
-                '5.2'  => true,
521
-            ),
522
-        ),
523
-        'mssql_connect' => array(
524
-            3 => array(
525
-                'name' => 'new_link',
526
-                '5.0'  => false,
527
-                '5.1'  => true,
528
-            ),
529
-        ),
530
-        'mysqli_commit' => array(
531
-            1 => array(
532
-                'name' => 'flags',
533
-                '5.4'  => false,
534
-                '5.5'  => true,
535
-            ),
536
-            2 => array(
537
-                'name' => 'name',
538
-                '5.4'  => false,
539
-                '5.5'  => true,
540
-            ),
541
-        ),
542
-        'mysqli_rollback' => array(
543
-            1 => array(
544
-                'name' => 'flags',
545
-                '5.4'  => false,
546
-                '5.5'  => true,
547
-            ),
548
-            2 => array(
549
-                'name' => 'name',
550
-                '5.4'  => false,
551
-                '5.5'  => true,
552
-            ),
553
-        ),
554
-        'nl2br' => array(
555
-            1 => array(
556
-                'name' => 'is_xhtml',
557
-                '5.2'  => false,
558
-                '5.3'  => true,
559
-            ),
560
-        ),
561
-        'openssl_decrypt' => array(
562
-            4 => array(
563
-                'name'  => 'iv',
564
-                '5.3.2' => false,
565
-                '5.3.3' => true,
566
-            ),
567
-            5 => array(
568
-                'name' => 'tag',
569
-                '7.0'  => false,
570
-                '7.1'  => true,
571
-            ),
572
-            6 => array(
573
-                'name' => 'aad',
574
-                '7.0'  => false,
575
-                '7.1'  => true,
576
-            ),
577
-        ),
578
-        'openssl_encrypt' => array(
579
-            4 => array(
580
-                'name'  => 'iv',
581
-                '5.3.2' => false,
582
-                '5.3.3' => true,
583
-            ),
584
-            5 => array(
585
-                'name' => 'tag',
586
-                '7.0'  => false,
587
-                '7.1'  => true,
588
-            ),
589
-            6 => array(
590
-                'name' => 'aad',
591
-                '7.0'  => false,
592
-                '7.1'  => true,
593
-            ),
594
-            7 => array(
595
-                'name' => 'tag_length',
596
-                '7.0'  => false,
597
-                '7.1'  => true,
598
-            ),
599
-        ),
600
-        'openssl_open' => array(
601
-            4 => array(
602
-                'name' => 'method',
603
-                '5.2'  => false,
604
-                '5.3'  => true,
605
-            ),
606
-            5 => array(
607
-                'name' => 'iv',
608
-                '5.6'  => false,
609
-                '7.0'  => true,
610
-            ),
611
-        ),
612
-        'openssl_pkcs7_verify' => array(
613
-            5 => array(
614
-                'name' => 'content',
615
-                '5.0'  => false,
616
-                '5.1'  => true,
617
-            ),
618
-            6 => array(
619
-                'name' => 'p7bfilename',
620
-                '7.1'  => false,
621
-                '7.2'  => true,
622
-            ),
623
-        ),
624
-        'openssl_seal' => array(
625
-            4 => array(
626
-                'name' => 'method',
627
-                '5.2'  => false,
628
-                '5.3'  => true,
629
-            ),
630
-            5 => array(
631
-                'name' => 'iv',
632
-                '5.6'  => false,
633
-                '7.0'  => true,
634
-            ),
635
-        ),
636
-        'openssl_verify' => array(
637
-            3 => array(
638
-                'name' => 'signature_alg',
639
-                '5.1'  => false,
640
-                '5.2'  => true,
641
-            ),
642
-        ),
643
-        'parse_ini_file' => array(
644
-            2 => array(
645
-                'name' => 'scanner_mode',
646
-                '5.2'  => false,
647
-                '5.3'  => true,
648
-            ),
649
-        ),
650
-        'parse_url' => array(
651
-            1 => array(
652
-                'name'  => 'component',
653
-                '5.1.1' => false,
654
-                '5.1.2' => true,
655
-            ),
656
-        ),
657
-        'pg_fetch_all' => array(
658
-            1 => array(
659
-                'name' => 'result_type',
660
-                '7.0'  => false,
661
-                '7.1'  => true,
662
-            ),
663
-        ),
664
-        'pg_last_notice' => array(
665
-            1 => array(
666
-                'name' => 'option',
667
-                '7.0'  => false,
668
-                '7.1'  => true,
669
-            ),
670
-        ),
671
-        'pg_lo_create' => array(
672
-            1 => array(
673
-                'name' => 'object_id',
674
-                '5.2'  => false,
675
-                '5.3'  => true,
676
-            ),
677
-        ),
678
-        'pg_lo_import' => array(
679
-            2 => array(
680
-                'name' => 'object_id',
681
-                '5.2'  => false,
682
-                '5.3'  => true,
683
-            ),
684
-        ),
685
-        'pg_select' => array(
686
-            4 => array(
687
-                'name' => 'result_type',
688
-                '7.0'  => false,
689
-                '7.1'  => true,
690
-            ),
691
-        ),
692
-        'php_uname' => array(
693
-            0 => array(
694
-                'name' => 'mode',
695
-                '4.2'  => false,
696
-                '4.3'  => true,
697
-            ),
698
-        ),
699
-        'preg_replace' => array(
700
-            4 => array(
701
-                'name' => 'count',
702
-                '5.0'  => false,
703
-                '5.1'  => true,
704
-            ),
705
-        ),
706
-        'preg_replace_callback' => array(
707
-            4 => array(
708
-                'name' => 'count',
709
-                '5.0'  => false,
710
-                '5.1'  => true,
711
-            ),
712
-            5 => array(
713
-                'name' => 'flags',
714
-                '7.3'  => false,
715
-                '7.4'  => true,
716
-            ),
717
-        ),
718
-        'preg_replace_callback_array' => array(
719
-            4 => array(
720
-                'name' => 'flags',
721
-                '7.3'  => false,
722
-                '7.4'  => true,
723
-            ),
724
-        ),
725
-        'round' => array(
726
-            2 => array(
727
-                'name' => 'mode',
728
-                '5.2'  => false,
729
-                '5.3'  => true,
730
-            ),
731
-        ),
732
-        'sem_acquire' => array(
733
-            1 => array(
734
-                'name'  => 'nowait',
735
-                '5.6'   => false,
736
-                '5.6.1' => true,
737
-            ),
738
-        ),
739
-        'session_regenerate_id' => array(
740
-            0 => array(
741
-                'name' => 'delete_old_session',
742
-                '5.0'  => false,
743
-                '5.1'  => true,
744
-            ),
745
-        ),
746
-        'session_set_cookie_params' => array(
747
-            4 => array(
748
-                'name' => 'httponly',
749
-                '5.1'  => false,
750
-                '5.2'  => true,
751
-            ),
752
-        ),
753
-        'session_set_save_handler' => array(
754
-            6 => array(
755
-                'name'  => 'create_sid',
756
-                '5.5.0' => false,
757
-                '5.5.1' => true,
758
-            ),
759
-            7 => array(
760
-                'name' => 'validate_sid',
761
-                '5.6'  => false,
762
-                '7.0'  => true,
763
-            ),
764
-            8 => array(
765
-                'name' => 'update_timestamp',
766
-                '5.6'  => false,
767
-                '7.0'  => true,
768
-            ),
769
-        ),
770
-        'session_start' => array(
771
-            0 => array(
772
-                'name' => 'options',
773
-                '5.6'  => false,
774
-                '7.0'  => true,
775
-            ),
776
-        ),
777
-        'setcookie' => array(
778
-            6 => array(
779
-                'name' => 'httponly',
780
-                '5.1'  => false,
781
-                '5.2'  => true,
782
-            ),
783
-        ),
784
-        'setrawcookie' => array(
785
-            6 => array(
786
-                'name' => 'httponly',
787
-                '5.1'  => false,
788
-                '5.2'  => true,
789
-            ),
790
-        ),
791
-        'simplexml_load_file' => array(
792
-            4 => array(
793
-                'name' => 'is_prefix',
794
-                '5.1'  => false,
795
-                '5.2'  => true,
796
-            ),
797
-        ),
798
-        'simplexml_load_string' => array(
799
-            4 => array(
800
-                'name' => 'is_prefix',
801
-                '5.1'  => false,
802
-                '5.2'  => true,
803
-            ),
804
-        ),
805
-        'spl_autoload_register' => array(
806
-            2 => array(
807
-                'name' => 'prepend',
808
-                '5.2'  => false,
809
-                '5.3'  => true,
810
-            ),
811
-        ),
812
-        'stream_context_create' => array(
813
-            1 => array(
814
-                'name' => 'params',
815
-                '5.2'  => false,
816
-                '5.3'  => true,
817
-            ),
818
-        ),
819
-        'stream_copy_to_stream' => array(
820
-            3 => array(
821
-                'name' => 'offset',
822
-                '5.0'  => false,
823
-                '5.1'  => true,
824
-            ),
825
-        ),
826
-        'stream_get_contents' => array(
827
-            2 => array(
828
-                'name' => 'offset',
829
-                '5.0'  => false,
830
-                '5.1'  => true,
831
-            ),
832
-        ),
833
-        'stream_wrapper_register' => array(
834
-            2 => array(
835
-                'name'  => 'flags',
836
-                '5.2.3' => false,
837
-                '5.2.4' => true,
838
-            ),
839
-        ),
840
-        'stristr' => array(
841
-            2 => array(
842
-                'name' => 'before_needle',
843
-                '5.2'  => false,
844
-                '5.3'  => true,
845
-            ),
846
-        ),
847
-        'strstr' => array(
848
-            2 => array(
849
-                'name' => 'before_needle',
850
-                '5.2'  => false,
851
-                '5.3'  => true,
852
-            ),
853
-        ),
854
-        'str_word_count' => array(
855
-            2 => array(
856
-                'name' => 'charlist',
857
-                '5.0'  => false,
858
-                '5.1'  => true,
859
-            ),
860
-        ),
861
-        'substr_count' => array(
862
-            2 => array(
863
-                'name' => 'offset',
864
-                '5.0'  => false,
865
-                '5.1'  => true,
866
-            ),
867
-            3 => array(
868
-                'name' => 'length',
869
-                '5.0'  => false,
870
-                '5.1'  => true,
871
-            ),
872
-        ),
873
-        'sybase_connect' => array(
874
-            5 => array(
875
-                'name' => 'new',
876
-                '5.2'  => false,
877
-                '5.3'  => true,
878
-            ),
879
-        ),
880
-        'timezone_transitions_get' => array(
881
-            1 => array(
882
-                'name' => 'timestamp_begin',
883
-                '5.2'  => false,
884
-                '5.3'  => true,
885
-            ),
886
-            2 => array(
887
-                'name' => 'timestamp_end',
888
-                '5.2'  => false,
889
-                '5.3'  => true,
890
-            ),
891
-        ),
892
-        'timezone_identifiers_list' => array(
893
-            0 => array(
894
-                'name' => 'what',
895
-                '5.2'  => false,
896
-                '5.3'  => true,
897
-            ),
898
-            1 => array(
899
-                'name' => 'country',
900
-                '5.2'  => false,
901
-                '5.3'  => true,
902
-            ),
903
-        ),
904
-        'token_get_all' => array(
905
-            1 => array(
906
-                'name' => 'flags',
907
-                '5.6'  => false,
908
-                '7.0'  => true,
909
-            ),
910
-        ),
911
-        'ucwords' => array(
912
-            1 => array(
913
-                'name'   => 'delimiters',
914
-                '5.4.31' => false,
915
-                '5.5.15' => false,
916
-                '5.4.32' => true,
917
-                '5.5.16' => true,
918
-            ),
919
-        ),
920
-        'unpack' => array(
921
-            2 => array(
922
-                'name' => 'offset',
923
-                '7.0'  => false,
924
-                '7.1'  => true,
925
-            ),
926
-        ),
927
-        'unserialize' => array(
928
-            1 => array(
929
-                'name' => 'options',
930
-                '5.6'  => false,
931
-                '7.0'  => true,
932
-            ),
933
-        ),
934
-    );
517
+			3 => array(
518
+				'name' => 'offset',
519
+				'5.1'  => false,
520
+				'5.2'  => true,
521
+			),
522
+		),
523
+		'mssql_connect' => array(
524
+			3 => array(
525
+				'name' => 'new_link',
526
+				'5.0'  => false,
527
+				'5.1'  => true,
528
+			),
529
+		),
530
+		'mysqli_commit' => array(
531
+			1 => array(
532
+				'name' => 'flags',
533
+				'5.4'  => false,
534
+				'5.5'  => true,
535
+			),
536
+			2 => array(
537
+				'name' => 'name',
538
+				'5.4'  => false,
539
+				'5.5'  => true,
540
+			),
541
+		),
542
+		'mysqli_rollback' => array(
543
+			1 => array(
544
+				'name' => 'flags',
545
+				'5.4'  => false,
546
+				'5.5'  => true,
547
+			),
548
+			2 => array(
549
+				'name' => 'name',
550
+				'5.4'  => false,
551
+				'5.5'  => true,
552
+			),
553
+		),
554
+		'nl2br' => array(
555
+			1 => array(
556
+				'name' => 'is_xhtml',
557
+				'5.2'  => false,
558
+				'5.3'  => true,
559
+			),
560
+		),
561
+		'openssl_decrypt' => array(
562
+			4 => array(
563
+				'name'  => 'iv',
564
+				'5.3.2' => false,
565
+				'5.3.3' => true,
566
+			),
567
+			5 => array(
568
+				'name' => 'tag',
569
+				'7.0'  => false,
570
+				'7.1'  => true,
571
+			),
572
+			6 => array(
573
+				'name' => 'aad',
574
+				'7.0'  => false,
575
+				'7.1'  => true,
576
+			),
577
+		),
578
+		'openssl_encrypt' => array(
579
+			4 => array(
580
+				'name'  => 'iv',
581
+				'5.3.2' => false,
582
+				'5.3.3' => true,
583
+			),
584
+			5 => array(
585
+				'name' => 'tag',
586
+				'7.0'  => false,
587
+				'7.1'  => true,
588
+			),
589
+			6 => array(
590
+				'name' => 'aad',
591
+				'7.0'  => false,
592
+				'7.1'  => true,
593
+			),
594
+			7 => array(
595
+				'name' => 'tag_length',
596
+				'7.0'  => false,
597
+				'7.1'  => true,
598
+			),
599
+		),
600
+		'openssl_open' => array(
601
+			4 => array(
602
+				'name' => 'method',
603
+				'5.2'  => false,
604
+				'5.3'  => true,
605
+			),
606
+			5 => array(
607
+				'name' => 'iv',
608
+				'5.6'  => false,
609
+				'7.0'  => true,
610
+			),
611
+		),
612
+		'openssl_pkcs7_verify' => array(
613
+			5 => array(
614
+				'name' => 'content',
615
+				'5.0'  => false,
616
+				'5.1'  => true,
617
+			),
618
+			6 => array(
619
+				'name' => 'p7bfilename',
620
+				'7.1'  => false,
621
+				'7.2'  => true,
622
+			),
623
+		),
624
+		'openssl_seal' => array(
625
+			4 => array(
626
+				'name' => 'method',
627
+				'5.2'  => false,
628
+				'5.3'  => true,
629
+			),
630
+			5 => array(
631
+				'name' => 'iv',
632
+				'5.6'  => false,
633
+				'7.0'  => true,
634
+			),
635
+		),
636
+		'openssl_verify' => array(
637
+			3 => array(
638
+				'name' => 'signature_alg',
639
+				'5.1'  => false,
640
+				'5.2'  => true,
641
+			),
642
+		),
643
+		'parse_ini_file' => array(
644
+			2 => array(
645
+				'name' => 'scanner_mode',
646
+				'5.2'  => false,
647
+				'5.3'  => true,
648
+			),
649
+		),
650
+		'parse_url' => array(
651
+			1 => array(
652
+				'name'  => 'component',
653
+				'5.1.1' => false,
654
+				'5.1.2' => true,
655
+			),
656
+		),
657
+		'pg_fetch_all' => array(
658
+			1 => array(
659
+				'name' => 'result_type',
660
+				'7.0'  => false,
661
+				'7.1'  => true,
662
+			),
663
+		),
664
+		'pg_last_notice' => array(
665
+			1 => array(
666
+				'name' => 'option',
667
+				'7.0'  => false,
668
+				'7.1'  => true,
669
+			),
670
+		),
671
+		'pg_lo_create' => array(
672
+			1 => array(
673
+				'name' => 'object_id',
674
+				'5.2'  => false,
675
+				'5.3'  => true,
676
+			),
677
+		),
678
+		'pg_lo_import' => array(
679
+			2 => array(
680
+				'name' => 'object_id',
681
+				'5.2'  => false,
682
+				'5.3'  => true,
683
+			),
684
+		),
685
+		'pg_select' => array(
686
+			4 => array(
687
+				'name' => 'result_type',
688
+				'7.0'  => false,
689
+				'7.1'  => true,
690
+			),
691
+		),
692
+		'php_uname' => array(
693
+			0 => array(
694
+				'name' => 'mode',
695
+				'4.2'  => false,
696
+				'4.3'  => true,
697
+			),
698
+		),
699
+		'preg_replace' => array(
700
+			4 => array(
701
+				'name' => 'count',
702
+				'5.0'  => false,
703
+				'5.1'  => true,
704
+			),
705
+		),
706
+		'preg_replace_callback' => array(
707
+			4 => array(
708
+				'name' => 'count',
709
+				'5.0'  => false,
710
+				'5.1'  => true,
711
+			),
712
+			5 => array(
713
+				'name' => 'flags',
714
+				'7.3'  => false,
715
+				'7.4'  => true,
716
+			),
717
+		),
718
+		'preg_replace_callback_array' => array(
719
+			4 => array(
720
+				'name' => 'flags',
721
+				'7.3'  => false,
722
+				'7.4'  => true,
723
+			),
724
+		),
725
+		'round' => array(
726
+			2 => array(
727
+				'name' => 'mode',
728
+				'5.2'  => false,
729
+				'5.3'  => true,
730
+			),
731
+		),
732
+		'sem_acquire' => array(
733
+			1 => array(
734
+				'name'  => 'nowait',
735
+				'5.6'   => false,
736
+				'5.6.1' => true,
737
+			),
738
+		),
739
+		'session_regenerate_id' => array(
740
+			0 => array(
741
+				'name' => 'delete_old_session',
742
+				'5.0'  => false,
743
+				'5.1'  => true,
744
+			),
745
+		),
746
+		'session_set_cookie_params' => array(
747
+			4 => array(
748
+				'name' => 'httponly',
749
+				'5.1'  => false,
750
+				'5.2'  => true,
751
+			),
752
+		),
753
+		'session_set_save_handler' => array(
754
+			6 => array(
755
+				'name'  => 'create_sid',
756
+				'5.5.0' => false,
757
+				'5.5.1' => true,
758
+			),
759
+			7 => array(
760
+				'name' => 'validate_sid',
761
+				'5.6'  => false,
762
+				'7.0'  => true,
763
+			),
764
+			8 => array(
765
+				'name' => 'update_timestamp',
766
+				'5.6'  => false,
767
+				'7.0'  => true,
768
+			),
769
+		),
770
+		'session_start' => array(
771
+			0 => array(
772
+				'name' => 'options',
773
+				'5.6'  => false,
774
+				'7.0'  => true,
775
+			),
776
+		),
777
+		'setcookie' => array(
778
+			6 => array(
779
+				'name' => 'httponly',
780
+				'5.1'  => false,
781
+				'5.2'  => true,
782
+			),
783
+		),
784
+		'setrawcookie' => array(
785
+			6 => array(
786
+				'name' => 'httponly',
787
+				'5.1'  => false,
788
+				'5.2'  => true,
789
+			),
790
+		),
791
+		'simplexml_load_file' => array(
792
+			4 => array(
793
+				'name' => 'is_prefix',
794
+				'5.1'  => false,
795
+				'5.2'  => true,
796
+			),
797
+		),
798
+		'simplexml_load_string' => array(
799
+			4 => array(
800
+				'name' => 'is_prefix',
801
+				'5.1'  => false,
802
+				'5.2'  => true,
803
+			),
804
+		),
805
+		'spl_autoload_register' => array(
806
+			2 => array(
807
+				'name' => 'prepend',
808
+				'5.2'  => false,
809
+				'5.3'  => true,
810
+			),
811
+		),
812
+		'stream_context_create' => array(
813
+			1 => array(
814
+				'name' => 'params',
815
+				'5.2'  => false,
816
+				'5.3'  => true,
817
+			),
818
+		),
819
+		'stream_copy_to_stream' => array(
820
+			3 => array(
821
+				'name' => 'offset',
822
+				'5.0'  => false,
823
+				'5.1'  => true,
824
+			),
825
+		),
826
+		'stream_get_contents' => array(
827
+			2 => array(
828
+				'name' => 'offset',
829
+				'5.0'  => false,
830
+				'5.1'  => true,
831
+			),
832
+		),
833
+		'stream_wrapper_register' => array(
834
+			2 => array(
835
+				'name'  => 'flags',
836
+				'5.2.3' => false,
837
+				'5.2.4' => true,
838
+			),
839
+		),
840
+		'stristr' => array(
841
+			2 => array(
842
+				'name' => 'before_needle',
843
+				'5.2'  => false,
844
+				'5.3'  => true,
845
+			),
846
+		),
847
+		'strstr' => array(
848
+			2 => array(
849
+				'name' => 'before_needle',
850
+				'5.2'  => false,
851
+				'5.3'  => true,
852
+			),
853
+		),
854
+		'str_word_count' => array(
855
+			2 => array(
856
+				'name' => 'charlist',
857
+				'5.0'  => false,
858
+				'5.1'  => true,
859
+			),
860
+		),
861
+		'substr_count' => array(
862
+			2 => array(
863
+				'name' => 'offset',
864
+				'5.0'  => false,
865
+				'5.1'  => true,
866
+			),
867
+			3 => array(
868
+				'name' => 'length',
869
+				'5.0'  => false,
870
+				'5.1'  => true,
871
+			),
872
+		),
873
+		'sybase_connect' => array(
874
+			5 => array(
875
+				'name' => 'new',
876
+				'5.2'  => false,
877
+				'5.3'  => true,
878
+			),
879
+		),
880
+		'timezone_transitions_get' => array(
881
+			1 => array(
882
+				'name' => 'timestamp_begin',
883
+				'5.2'  => false,
884
+				'5.3'  => true,
885
+			),
886
+			2 => array(
887
+				'name' => 'timestamp_end',
888
+				'5.2'  => false,
889
+				'5.3'  => true,
890
+			),
891
+		),
892
+		'timezone_identifiers_list' => array(
893
+			0 => array(
894
+				'name' => 'what',
895
+				'5.2'  => false,
896
+				'5.3'  => true,
897
+			),
898
+			1 => array(
899
+				'name' => 'country',
900
+				'5.2'  => false,
901
+				'5.3'  => true,
902
+			),
903
+		),
904
+		'token_get_all' => array(
905
+			1 => array(
906
+				'name' => 'flags',
907
+				'5.6'  => false,
908
+				'7.0'  => true,
909
+			),
910
+		),
911
+		'ucwords' => array(
912
+			1 => array(
913
+				'name'   => 'delimiters',
914
+				'5.4.31' => false,
915
+				'5.5.15' => false,
916
+				'5.4.32' => true,
917
+				'5.5.16' => true,
918
+			),
919
+		),
920
+		'unpack' => array(
921
+			2 => array(
922
+				'name' => 'offset',
923
+				'7.0'  => false,
924
+				'7.1'  => true,
925
+			),
926
+		),
927
+		'unserialize' => array(
928
+			1 => array(
929
+				'name' => 'options',
930
+				'5.6'  => false,
931
+				'7.0'  => true,
932
+			),
933
+		),
934
+	);
935 935
 
936 936
 
937
-    /**
938
-     * Returns an array of tokens this test wants to listen for.
939
-     *
940
-     * @return array
941
-     */
942
-    public function register()
943
-    {
944
-        // Handle case-insensitivity of function names.
945
-        $this->newFunctionParameters = $this->arrayKeysToLowercase($this->newFunctionParameters);
937
+	/**
938
+	 * Returns an array of tokens this test wants to listen for.
939
+	 *
940
+	 * @return array
941
+	 */
942
+	public function register()
943
+	{
944
+		// Handle case-insensitivity of function names.
945
+		$this->newFunctionParameters = $this->arrayKeysToLowercase($this->newFunctionParameters);
946 946
 
947
-        return array(\T_STRING);
948
-    }
947
+		return array(\T_STRING);
948
+	}
949 949
 
950
-    /**
951
-     * Processes this test, when one of its tokens is encountered.
952
-     *
953
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
954
-     * @param int                   $stackPtr  The position of the current token in
955
-     *                                         the stack passed in $tokens.
956
-     *
957
-     * @return void
958
-     */
959
-    public function process(File $phpcsFile, $stackPtr)
960
-    {
961
-        $tokens = $phpcsFile->getTokens();
950
+	/**
951
+	 * Processes this test, when one of its tokens is encountered.
952
+	 *
953
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
954
+	 * @param int                   $stackPtr  The position of the current token in
955
+	 *                                         the stack passed in $tokens.
956
+	 *
957
+	 * @return void
958
+	 */
959
+	public function process(File $phpcsFile, $stackPtr)
960
+	{
961
+		$tokens = $phpcsFile->getTokens();
962 962
 
963
-        $ignore = array(
964
-            \T_DOUBLE_COLON    => true,
965
-            \T_OBJECT_OPERATOR => true,
966
-            \T_FUNCTION        => true,
967
-            \T_CONST           => true,
968
-        );
963
+		$ignore = array(
964
+			\T_DOUBLE_COLON    => true,
965
+			\T_OBJECT_OPERATOR => true,
966
+			\T_FUNCTION        => true,
967
+			\T_CONST           => true,
968
+		);
969 969
 
970
-        $prevToken = $phpcsFile->findPrevious(\T_WHITESPACE, ($stackPtr - 1), null, true);
971
-        if (isset($ignore[$tokens[$prevToken]['code']]) === true) {
972
-            // Not a call to a PHP function.
973
-            return;
974
-        }
970
+		$prevToken = $phpcsFile->findPrevious(\T_WHITESPACE, ($stackPtr - 1), null, true);
971
+		if (isset($ignore[$tokens[$prevToken]['code']]) === true) {
972
+			// Not a call to a PHP function.
973
+			return;
974
+		}
975 975
 
976
-        $function   = $tokens[$stackPtr]['content'];
977
-        $functionLc = strtolower($function);
976
+		$function   = $tokens[$stackPtr]['content'];
977
+		$functionLc = strtolower($function);
978 978
 
979
-        if (isset($this->newFunctionParameters[$functionLc]) === false) {
980
-            return;
981
-        }
979
+		if (isset($this->newFunctionParameters[$functionLc]) === false) {
980
+			return;
981
+		}
982 982
 
983
-        $parameterCount = $this->getFunctionCallParameterCount($phpcsFile, $stackPtr);
984
-        if ($parameterCount === 0) {
985
-            return;
986
-        }
983
+		$parameterCount = $this->getFunctionCallParameterCount($phpcsFile, $stackPtr);
984
+		if ($parameterCount === 0) {
985
+			return;
986
+		}
987 987
 
988
-        // If the parameter count returned > 0, we know there will be valid open parenthesis.
989
-        $openParenthesis      = $phpcsFile->findNext(Tokens::$emptyTokens, $stackPtr + 1, null, true, null, true);
990
-        $parameterOffsetFound = $parameterCount - 1;
988
+		// If the parameter count returned > 0, we know there will be valid open parenthesis.
989
+		$openParenthesis      = $phpcsFile->findNext(Tokens::$emptyTokens, $stackPtr + 1, null, true, null, true);
990
+		$parameterOffsetFound = $parameterCount - 1;
991 991
 
992
-        foreach ($this->newFunctionParameters[$functionLc] as $offset => $parameterDetails) {
993
-            if ($offset <= $parameterOffsetFound) {
994
-                $itemInfo = array(
995
-                    'name'   => $function,
996
-                    'nameLc' => $functionLc,
997
-                    'offset' => $offset,
998
-                );
999
-                $this->handleFeature($phpcsFile, $openParenthesis, $itemInfo);
1000
-            }
1001
-        }
1002
-    }
992
+		foreach ($this->newFunctionParameters[$functionLc] as $offset => $parameterDetails) {
993
+			if ($offset <= $parameterOffsetFound) {
994
+				$itemInfo = array(
995
+					'name'   => $function,
996
+					'nameLc' => $functionLc,
997
+					'offset' => $offset,
998
+				);
999
+				$this->handleFeature($phpcsFile, $openParenthesis, $itemInfo);
1000
+			}
1001
+		}
1002
+	}
1003 1003
 
1004 1004
 
1005
-    /**
1006
-     * Get the relevant sub-array for a specific item from a multi-dimensional array.
1007
-     *
1008
-     * @param array $itemInfo Base information about the item.
1009
-     *
1010
-     * @return array Version and other information about the item.
1011
-     */
1012
-    public function getItemArray(array $itemInfo)
1013
-    {
1014
-        return $this->newFunctionParameters[$itemInfo['nameLc']][$itemInfo['offset']];
1015
-    }
1005
+	/**
1006
+	 * Get the relevant sub-array for a specific item from a multi-dimensional array.
1007
+	 *
1008
+	 * @param array $itemInfo Base information about the item.
1009
+	 *
1010
+	 * @return array Version and other information about the item.
1011
+	 */
1012
+	public function getItemArray(array $itemInfo)
1013
+	{
1014
+		return $this->newFunctionParameters[$itemInfo['nameLc']][$itemInfo['offset']];
1015
+	}
1016 1016
 
1017 1017
 
1018
-    /**
1019
-     * Get an array of the non-PHP-version array keys used in a sub-array.
1020
-     *
1021
-     * @return array
1022
-     */
1023
-    protected function getNonVersionArrayKeys()
1024
-    {
1025
-        return array('name');
1026
-    }
1018
+	/**
1019
+	 * Get an array of the non-PHP-version array keys used in a sub-array.
1020
+	 *
1021
+	 * @return array
1022
+	 */
1023
+	protected function getNonVersionArrayKeys()
1024
+	{
1025
+		return array('name');
1026
+	}
1027 1027
 
1028 1028
 
1029
-    /**
1030
-     * Retrieve the relevant detail (version) information for use in an error message.
1031
-     *
1032
-     * @param array $itemArray Version and other information about the item.
1033
-     * @param array $itemInfo  Base information about the item.
1034
-     *
1035
-     * @return array
1036
-     */
1037
-    public function getErrorInfo(array $itemArray, array $itemInfo)
1038
-    {
1039
-        $errorInfo              = parent::getErrorInfo($itemArray, $itemInfo);
1040
-        $errorInfo['paramName'] = $itemArray['name'];
1029
+	/**
1030
+	 * Retrieve the relevant detail (version) information for use in an error message.
1031
+	 *
1032
+	 * @param array $itemArray Version and other information about the item.
1033
+	 * @param array $itemInfo  Base information about the item.
1034
+	 *
1035
+	 * @return array
1036
+	 */
1037
+	public function getErrorInfo(array $itemArray, array $itemInfo)
1038
+	{
1039
+		$errorInfo              = parent::getErrorInfo($itemArray, $itemInfo);
1040
+		$errorInfo['paramName'] = $itemArray['name'];
1041 1041
 
1042
-        return $errorInfo;
1043
-    }
1042
+		return $errorInfo;
1043
+	}
1044 1044
 
1045 1045
 
1046
-    /**
1047
-     * Get the item name to be used for the creation of the error code.
1048
-     *
1049
-     * @param array $itemInfo  Base information about the item.
1050
-     * @param array $errorInfo Detail information about an item.
1051
-     *
1052
-     * @return string
1053
-     */
1054
-    protected function getItemName(array $itemInfo, array $errorInfo)
1055
-    {
1056
-        return $itemInfo['name'] . '_' . $errorInfo['paramName'];
1057
-    }
1046
+	/**
1047
+	 * Get the item name to be used for the creation of the error code.
1048
+	 *
1049
+	 * @param array $itemInfo  Base information about the item.
1050
+	 * @param array $errorInfo Detail information about an item.
1051
+	 *
1052
+	 * @return string
1053
+	 */
1054
+	protected function getItemName(array $itemInfo, array $errorInfo)
1055
+	{
1056
+		return $itemInfo['name'] . '_' . $errorInfo['paramName'];
1057
+	}
1058 1058
 
1059 1059
 
1060
-    /**
1061
-     * Get the error message template for this sniff.
1062
-     *
1063
-     * @return string
1064
-     */
1065
-    protected function getErrorMsgTemplate()
1066
-    {
1067
-        return 'The function %s() does not have a parameter "%s" in PHP version %s or earlier';
1068
-    }
1060
+	/**
1061
+	 * Get the error message template for this sniff.
1062
+	 *
1063
+	 * @return string
1064
+	 */
1065
+	protected function getErrorMsgTemplate()
1066
+	{
1067
+		return 'The function %s() does not have a parameter "%s" in PHP version %s or earlier';
1068
+	}
1069 1069
 
1070 1070
 
1071
-    /**
1072
-     * Allow for concrete child classes to filter the error data before it's passed to PHPCS.
1073
-     *
1074
-     * @param array $data      The error data array which was created.
1075
-     * @param array $itemInfo  Base information about the item this error message applies to.
1076
-     * @param array $errorInfo Detail information about an item this error message applies to.
1077
-     *
1078
-     * @return array
1079
-     */
1080
-    protected function filterErrorData(array $data, array $itemInfo, array $errorInfo)
1081
-    {
1082
-        array_shift($data);
1083
-        array_unshift($data, $itemInfo['name'], $errorInfo['paramName']);
1084
-        return $data;
1085
-    }
1071
+	/**
1072
+	 * Allow for concrete child classes to filter the error data before it's passed to PHPCS.
1073
+	 *
1074
+	 * @param array $data      The error data array which was created.
1075
+	 * @param array $itemInfo  Base information about the item this error message applies to.
1076
+	 * @param array $errorInfo Detail information about an item this error message applies to.
1077
+	 *
1078
+	 * @return array
1079
+	 */
1080
+	protected function filterErrorData(array $data, array $itemInfo, array $errorInfo)
1081
+	{
1082
+		array_shift($data);
1083
+		array_unshift($data, $itemInfo['name'], $errorInfo['paramName']);
1084
+		return $data;
1085
+	}
1086 1086
 }
Please login to merge, or discard this patch.
Spacing   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -942,9 +942,9 @@  discard block
 block discarded – undo
942 942
     public function register()
943 943
     {
944 944
         // Handle case-insensitivity of function names.
945
-        $this->newFunctionParameters = $this->arrayKeysToLowercase($this->newFunctionParameters);
945
+        $this->newFunctionParameters = $this->arrayKeysToLowercase( $this->newFunctionParameters );
946 946
 
947
-        return array(\T_STRING);
947
+        return array( \T_STRING );
948 948
     }
949 949
 
950 950
     /**
@@ -956,7 +956,7 @@  discard block
 block discarded – undo
956 956
      *
957 957
      * @return void
958 958
      */
959
-    public function process(File $phpcsFile, $stackPtr)
959
+    public function process( File $phpcsFile, $stackPtr )
960 960
     {
961 961
         $tokens = $phpcsFile->getTokens();
962 962
 
@@ -967,36 +967,36 @@  discard block
 block discarded – undo
967 967
             \T_CONST           => true,
968 968
         );
969 969
 
970
-        $prevToken = $phpcsFile->findPrevious(\T_WHITESPACE, ($stackPtr - 1), null, true);
971
-        if (isset($ignore[$tokens[$prevToken]['code']]) === true) {
970
+        $prevToken = $phpcsFile->findPrevious( \T_WHITESPACE, ( $stackPtr - 1 ), null, true );
971
+        if ( isset( $ignore[ $tokens[ $prevToken ][ 'code' ] ] ) === true ) {
972 972
             // Not a call to a PHP function.
973 973
             return;
974 974
         }
975 975
 
976
-        $function   = $tokens[$stackPtr]['content'];
977
-        $functionLc = strtolower($function);
976
+        $function   = $tokens[ $stackPtr ][ 'content' ];
977
+        $functionLc = strtolower( $function );
978 978
 
979
-        if (isset($this->newFunctionParameters[$functionLc]) === false) {
979
+        if ( isset( $this->newFunctionParameters[ $functionLc ] ) === false ) {
980 980
             return;
981 981
         }
982 982
 
983
-        $parameterCount = $this->getFunctionCallParameterCount($phpcsFile, $stackPtr);
984
-        if ($parameterCount === 0) {
983
+        $parameterCount = $this->getFunctionCallParameterCount( $phpcsFile, $stackPtr );
984
+        if ( $parameterCount === 0 ) {
985 985
             return;
986 986
         }
987 987
 
988 988
         // If the parameter count returned > 0, we know there will be valid open parenthesis.
989
-        $openParenthesis      = $phpcsFile->findNext(Tokens::$emptyTokens, $stackPtr + 1, null, true, null, true);
989
+        $openParenthesis      = $phpcsFile->findNext( Tokens::$emptyTokens, $stackPtr + 1, null, true, null, true );
990 990
         $parameterOffsetFound = $parameterCount - 1;
991 991
 
992
-        foreach ($this->newFunctionParameters[$functionLc] as $offset => $parameterDetails) {
993
-            if ($offset <= $parameterOffsetFound) {
992
+        foreach ( $this->newFunctionParameters[ $functionLc ] as $offset => $parameterDetails ) {
993
+            if ( $offset <= $parameterOffsetFound ) {
994 994
                 $itemInfo = array(
995 995
                     'name'   => $function,
996 996
                     'nameLc' => $functionLc,
997 997
                     'offset' => $offset,
998 998
                 );
999
-                $this->handleFeature($phpcsFile, $openParenthesis, $itemInfo);
999
+                $this->handleFeature( $phpcsFile, $openParenthesis, $itemInfo );
1000 1000
             }
1001 1001
         }
1002 1002
     }
@@ -1009,9 +1009,9 @@  discard block
 block discarded – undo
1009 1009
      *
1010 1010
      * @return array Version and other information about the item.
1011 1011
      */
1012
-    public function getItemArray(array $itemInfo)
1012
+    public function getItemArray( array $itemInfo )
1013 1013
     {
1014
-        return $this->newFunctionParameters[$itemInfo['nameLc']][$itemInfo['offset']];
1014
+        return $this->newFunctionParameters[ $itemInfo[ 'nameLc' ] ][ $itemInfo[ 'offset' ] ];
1015 1015
     }
1016 1016
 
1017 1017
 
@@ -1022,7 +1022,7 @@  discard block
 block discarded – undo
1022 1022
      */
1023 1023
     protected function getNonVersionArrayKeys()
1024 1024
     {
1025
-        return array('name');
1025
+        return array( 'name' );
1026 1026
     }
1027 1027
 
1028 1028
 
@@ -1034,10 +1034,10 @@  discard block
 block discarded – undo
1034 1034
      *
1035 1035
      * @return array
1036 1036
      */
1037
-    public function getErrorInfo(array $itemArray, array $itemInfo)
1037
+    public function getErrorInfo( array $itemArray, array $itemInfo )
1038 1038
     {
1039
-        $errorInfo              = parent::getErrorInfo($itemArray, $itemInfo);
1040
-        $errorInfo['paramName'] = $itemArray['name'];
1039
+        $errorInfo              = parent::getErrorInfo( $itemArray, $itemInfo );
1040
+        $errorInfo[ 'paramName' ] = $itemArray[ 'name' ];
1041 1041
 
1042 1042
         return $errorInfo;
1043 1043
     }
@@ -1051,9 +1051,9 @@  discard block
 block discarded – undo
1051 1051
      *
1052 1052
      * @return string
1053 1053
      */
1054
-    protected function getItemName(array $itemInfo, array $errorInfo)
1054
+    protected function getItemName( array $itemInfo, array $errorInfo )
1055 1055
     {
1056
-        return $itemInfo['name'] . '_' . $errorInfo['paramName'];
1056
+        return $itemInfo[ 'name' ] . '_' . $errorInfo[ 'paramName' ];
1057 1057
     }
1058 1058
 
1059 1059
 
@@ -1077,10 +1077,10 @@  discard block
 block discarded – undo
1077 1077
      *
1078 1078
      * @return array
1079 1079
      */
1080
-    protected function filterErrorData(array $data, array $itemInfo, array $errorInfo)
1080
+    protected function filterErrorData( array $data, array $itemInfo, array $errorInfo )
1081 1081
     {
1082
-        array_shift($data);
1083
-        array_unshift($data, $itemInfo['name'], $errorInfo['paramName']);
1082
+        array_shift( $data );
1083
+        array_unshift( $data, $itemInfo[ 'name' ], $errorInfo[ 'paramName' ] );
1084 1084
         return $data;
1085 1085
     }
1086 1086
 }
Please login to merge, or discard this patch.
Braces   +9 added lines, -18 removed lines patch added patch discarded remove patch
@@ -20,8 +20,7 @@  discard block
 block discarded – undo
20 20
  * @package  PHPCompatibility
21 21
  * @author   Wim Godden <[email protected]>
22 22
  */
23
-class NewFunctionParametersSniff extends AbstractNewFeatureSniff
24
-{
23
+class NewFunctionParametersSniff extends AbstractNewFeatureSniff {
25 24
     /**
26 25
      * A list of new functions, not present in older versions.
27 26
      *
@@ -939,8 +938,7 @@  discard block
 block discarded – undo
939 938
      *
940 939
      * @return array
941 940
      */
942
-    public function register()
943
-    {
941
+    public function register() {
944 942
         // Handle case-insensitivity of function names.
945 943
         $this->newFunctionParameters = $this->arrayKeysToLowercase($this->newFunctionParameters);
946 944
 
@@ -956,8 +954,7 @@  discard block
 block discarded – undo
956 954
      *
957 955
      * @return void
958 956
      */
959
-    public function process(File $phpcsFile, $stackPtr)
960
-    {
957
+    public function process(File $phpcsFile, $stackPtr) {
961 958
         $tokens = $phpcsFile->getTokens();
962 959
 
963 960
         $ignore = array(
@@ -1009,8 +1006,7 @@  discard block
 block discarded – undo
1009 1006
      *
1010 1007
      * @return array Version and other information about the item.
1011 1008
      */
1012
-    public function getItemArray(array $itemInfo)
1013
-    {
1009
+    public function getItemArray(array $itemInfo) {
1014 1010
         return $this->newFunctionParameters[$itemInfo['nameLc']][$itemInfo['offset']];
1015 1011
     }
1016 1012
 
@@ -1020,8 +1016,7 @@  discard block
 block discarded – undo
1020 1016
      *
1021 1017
      * @return array
1022 1018
      */
1023
-    protected function getNonVersionArrayKeys()
1024
-    {
1019
+    protected function getNonVersionArrayKeys() {
1025 1020
         return array('name');
1026 1021
     }
1027 1022
 
@@ -1034,8 +1029,7 @@  discard block
 block discarded – undo
1034 1029
      *
1035 1030
      * @return array
1036 1031
      */
1037
-    public function getErrorInfo(array $itemArray, array $itemInfo)
1038
-    {
1032
+    public function getErrorInfo(array $itemArray, array $itemInfo) {
1039 1033
         $errorInfo              = parent::getErrorInfo($itemArray, $itemInfo);
1040 1034
         $errorInfo['paramName'] = $itemArray['name'];
1041 1035
 
@@ -1051,8 +1045,7 @@  discard block
 block discarded – undo
1051 1045
      *
1052 1046
      * @return string
1053 1047
      */
1054
-    protected function getItemName(array $itemInfo, array $errorInfo)
1055
-    {
1048
+    protected function getItemName(array $itemInfo, array $errorInfo) {
1056 1049
         return $itemInfo['name'] . '_' . $errorInfo['paramName'];
1057 1050
     }
1058 1051
 
@@ -1062,8 +1055,7 @@  discard block
 block discarded – undo
1062 1055
      *
1063 1056
      * @return string
1064 1057
      */
1065
-    protected function getErrorMsgTemplate()
1066
-    {
1058
+    protected function getErrorMsgTemplate() {
1067 1059
         return 'The function %s() does not have a parameter "%s" in PHP version %s or earlier';
1068 1060
     }
1069 1061
 
@@ -1077,8 +1069,7 @@  discard block
 block discarded – undo
1077 1069
      *
1078 1070
      * @return array
1079 1071
      */
1080
-    protected function filterErrorData(array $data, array $itemInfo, array $errorInfo)
1081
-    {
1072
+    protected function filterErrorData(array $data, array $itemInfo, array $errorInfo) {
1082 1073
         array_shift($data);
1083 1074
         array_unshift($data, $itemInfo['name'], $errorInfo['paramName']);
1084 1075
         return $data;
Please login to merge, or discard this patch.
Doc Comments   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -64,7 +64,7 @@  discard block
 block discarded – undo
64 64
     /**
65 65
      * Returns an array of tokens this test wants to listen for.
66 66
      *
67
-     * @return array
67
+     * @return integer[]
68 68
      */
69 69
     public function register()
70 70
     {
@@ -167,7 +167,7 @@  discard block
 block discarded – undo
167 167
     /**
168 168
      * Get an array of the non-PHP-version array keys used in a sub-array.
169 169
      *
170
-     * @return array
170
+     * @return string[]
171 171
      */
172 172
     protected function getNonVersionArrayKeys()
173 173
     {
Please login to merge, or discard this patch.
PHPCompatibility/Sniffs/Keywords/ForbiddenNamesAsInvokedFunctionsSniff.php 3 patches
Indentation   +140 added lines, -140 removed lines patch added patch discarded remove patch
@@ -27,155 +27,155 @@
 block discarded – undo
27 27
 class ForbiddenNamesAsInvokedFunctionsSniff extends Sniff
28 28
 {
29 29
 
30
-    /**
31
-     * List of tokens to register.
32
-     *
33
-     * @var array
34
-     */
35
-    protected $targetedTokens = array(
36
-        \T_ABSTRACT   => '5.0',
37
-        \T_CALLABLE   => '5.4',
38
-        \T_CATCH      => '5.0',
39
-        \T_FINAL      => '5.0',
40
-        \T_FINALLY    => '5.5',
41
-        \T_GOTO       => '5.3',
42
-        \T_IMPLEMENTS => '5.0',
43
-        \T_INTERFACE  => '5.0',
44
-        \T_INSTANCEOF => '5.0',
45
-        \T_INSTEADOF  => '5.4',
46
-        \T_NAMESPACE  => '5.3',
47
-        \T_PRIVATE    => '5.0',
48
-        \T_PROTECTED  => '5.0',
49
-        \T_PUBLIC     => '5.0',
50
-        \T_TRAIT      => '5.4',
51
-        \T_TRY        => '5.0',
52
-
53
-    );
54
-
55
-    /**
56
-     * T_STRING keywords to recognize as targetted tokens.
57
-     *
58
-     * Compatibility for PHP versions where the keyword is not yet recognized
59
-     * as its own token and for PHPCS versions which change the token to
60
-     * T_STRING when used in a method call.
61
-     *
62
-     * @var array
63
-     */
64
-    protected $targetedStringTokens = array(
65
-        'abstract'   => '5.0',
66
-        'callable'   => '5.4',
67
-        'catch'      => '5.0',
68
-        'final'      => '5.0',
69
-        'finally'    => '5.5',
70
-        'goto'       => '5.3',
71
-        'implements' => '5.0',
72
-        'interface'  => '5.0',
73
-        'instanceof' => '5.0',
74
-        'insteadof'  => '5.4',
75
-        'namespace'  => '5.3',
76
-        'private'    => '5.0',
77
-        'protected'  => '5.0',
78
-        'public'     => '5.0',
79
-        'trait'      => '5.4',
80
-        'try'        => '5.0',
81
-    );
82
-
83
-    /**
84
-     * Returns an array of tokens this test wants to listen for.
85
-     *
86
-     * @return array
87
-     */
88
-    public function register()
89
-    {
90
-        $tokens   = array_keys($this->targetedTokens);
91
-        $tokens[] = \T_STRING;
92
-
93
-        return $tokens;
94
-    }
95
-
96
-    /**
97
-     * Processes this test, when one of its tokens is encountered.
98
-     *
99
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
100
-     * @param int                   $stackPtr  The position of the current token in the
101
-     *                                         stack passed in $tokens.
102
-     *
103
-     * @return void
104
-     */
105
-    public function process(File $phpcsFile, $stackPtr)
106
-    {
107
-        $tokens         = $phpcsFile->getTokens();
108
-        $tokenCode      = $tokens[$stackPtr]['code'];
109
-        $tokenContentLc = strtolower($tokens[$stackPtr]['content']);
110
-        $isString       = false;
111
-
112
-        /*
30
+	/**
31
+	 * List of tokens to register.
32
+	 *
33
+	 * @var array
34
+	 */
35
+	protected $targetedTokens = array(
36
+		\T_ABSTRACT   => '5.0',
37
+		\T_CALLABLE   => '5.4',
38
+		\T_CATCH      => '5.0',
39
+		\T_FINAL      => '5.0',
40
+		\T_FINALLY    => '5.5',
41
+		\T_GOTO       => '5.3',
42
+		\T_IMPLEMENTS => '5.0',
43
+		\T_INTERFACE  => '5.0',
44
+		\T_INSTANCEOF => '5.0',
45
+		\T_INSTEADOF  => '5.4',
46
+		\T_NAMESPACE  => '5.3',
47
+		\T_PRIVATE    => '5.0',
48
+		\T_PROTECTED  => '5.0',
49
+		\T_PUBLIC     => '5.0',
50
+		\T_TRAIT      => '5.4',
51
+		\T_TRY        => '5.0',
52
+
53
+	);
54
+
55
+	/**
56
+	 * T_STRING keywords to recognize as targetted tokens.
57
+	 *
58
+	 * Compatibility for PHP versions where the keyword is not yet recognized
59
+	 * as its own token and for PHPCS versions which change the token to
60
+	 * T_STRING when used in a method call.
61
+	 *
62
+	 * @var array
63
+	 */
64
+	protected $targetedStringTokens = array(
65
+		'abstract'   => '5.0',
66
+		'callable'   => '5.4',
67
+		'catch'      => '5.0',
68
+		'final'      => '5.0',
69
+		'finally'    => '5.5',
70
+		'goto'       => '5.3',
71
+		'implements' => '5.0',
72
+		'interface'  => '5.0',
73
+		'instanceof' => '5.0',
74
+		'insteadof'  => '5.4',
75
+		'namespace'  => '5.3',
76
+		'private'    => '5.0',
77
+		'protected'  => '5.0',
78
+		'public'     => '5.0',
79
+		'trait'      => '5.4',
80
+		'try'        => '5.0',
81
+	);
82
+
83
+	/**
84
+	 * Returns an array of tokens this test wants to listen for.
85
+	 *
86
+	 * @return array
87
+	 */
88
+	public function register()
89
+	{
90
+		$tokens   = array_keys($this->targetedTokens);
91
+		$tokens[] = \T_STRING;
92
+
93
+		return $tokens;
94
+	}
95
+
96
+	/**
97
+	 * Processes this test, when one of its tokens is encountered.
98
+	 *
99
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
100
+	 * @param int                   $stackPtr  The position of the current token in the
101
+	 *                                         stack passed in $tokens.
102
+	 *
103
+	 * @return void
104
+	 */
105
+	public function process(File $phpcsFile, $stackPtr)
106
+	{
107
+		$tokens         = $phpcsFile->getTokens();
108
+		$tokenCode      = $tokens[$stackPtr]['code'];
109
+		$tokenContentLc = strtolower($tokens[$stackPtr]['content']);
110
+		$isString       = false;
111
+
112
+		/*
113 113
          * For string tokens we only care if the string is a reserved word used
114 114
          * as a function. This only happens in older versions of PHP where the
115 115
          * token doesn't exist yet for that keyword or in later versions when the
116 116
          * token is used in a method invocation.
117 117
          */
118
-        if ($tokenCode === \T_STRING
119
-            && (isset($this->targetedStringTokens[$tokenContentLc]) === false)
120
-        ) {
121
-            return;
122
-        }
123
-
124
-        if ($tokenCode === \T_STRING) {
125
-            $isString = true;
126
-        }
127
-
128
-        // Make sure this is a function call.
129
-        $next = $phpcsFile->findNext(Tokens::$emptyTokens, ($stackPtr + 1), null, true);
130
-        if ($next === false || $tokens[$next]['code'] !== \T_OPEN_PARENTHESIS) {
131
-            // Not a function call.
132
-            return;
133
-        }
134
-
135
-        // This sniff isn't concerned about function declarations.
136
-        $prev = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($stackPtr - 1), null, true);
137
-        if ($prev !== false && $tokens[$prev]['code'] === \T_FUNCTION) {
138
-            return;
139
-        }
140
-
141
-        /*
118
+		if ($tokenCode === \T_STRING
119
+			&& (isset($this->targetedStringTokens[$tokenContentLc]) === false)
120
+		) {
121
+			return;
122
+		}
123
+
124
+		if ($tokenCode === \T_STRING) {
125
+			$isString = true;
126
+		}
127
+
128
+		// Make sure this is a function call.
129
+		$next = $phpcsFile->findNext(Tokens::$emptyTokens, ($stackPtr + 1), null, true);
130
+		if ($next === false || $tokens[$next]['code'] !== \T_OPEN_PARENTHESIS) {
131
+			// Not a function call.
132
+			return;
133
+		}
134
+
135
+		// This sniff isn't concerned about function declarations.
136
+		$prev = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($stackPtr - 1), null, true);
137
+		if ($prev !== false && $tokens[$prev]['code'] === \T_FUNCTION) {
138
+			return;
139
+		}
140
+
141
+		/*
142 142
          * Deal with PHP 7 relaxing the rules.
143 143
          * "As of PHP 7.0.0 these keywords are allowed as property, constant, and method names
144 144
          * of classes, interfaces and traits...", i.e. they can be invoked as a method call.
145 145
          *
146 146
          * Only needed for those keywords which we sniff out via T_STRING.
147 147
          */
148
-        if (($tokens[$prev]['code'] === \T_OBJECT_OPERATOR || $tokens[$prev]['code'] === \T_DOUBLE_COLON)
149
-            && $this->supportsBelow('5.6') === false
150
-        ) {
151
-            return;
152
-        }
153
-
154
-        // For the word catch, it is valid to have an open parenthesis
155
-        // after it, but only if it is preceded by a right curly brace.
156
-        if ($tokenCode === \T_CATCH) {
157
-            if ($prev !== false && $tokens[$prev]['code'] === \T_CLOSE_CURLY_BRACKET) {
158
-                // Ok, it's fine.
159
-                return;
160
-            }
161
-        }
162
-
163
-        if ($isString === true) {
164
-            $version = $this->targetedStringTokens[$tokenContentLc];
165
-        } else {
166
-            $version = $this->targetedTokens[$tokenCode];
167
-        }
168
-
169
-        if ($this->supportsAbove($version)) {
170
-            $error     = "'%s' is a reserved keyword introduced in PHP version %s and cannot be invoked as a function (%s)";
171
-            $errorCode = $this->stringToErrorCode($tokenContentLc) . 'Found';
172
-            $data      = array(
173
-                $tokenContentLc,
174
-                $version,
175
-                $tokens[$stackPtr]['type'],
176
-            );
177
-
178
-            $phpcsFile->addError($error, $stackPtr, $errorCode, $data);
179
-        }
180
-    }
148
+		if (($tokens[$prev]['code'] === \T_OBJECT_OPERATOR || $tokens[$prev]['code'] === \T_DOUBLE_COLON)
149
+			&& $this->supportsBelow('5.6') === false
150
+		) {
151
+			return;
152
+		}
153
+
154
+		// For the word catch, it is valid to have an open parenthesis
155
+		// after it, but only if it is preceded by a right curly brace.
156
+		if ($tokenCode === \T_CATCH) {
157
+			if ($prev !== false && $tokens[$prev]['code'] === \T_CLOSE_CURLY_BRACKET) {
158
+				// Ok, it's fine.
159
+				return;
160
+			}
161
+		}
162
+
163
+		if ($isString === true) {
164
+			$version = $this->targetedStringTokens[$tokenContentLc];
165
+		} else {
166
+			$version = $this->targetedTokens[$tokenCode];
167
+		}
168
+
169
+		if ($this->supportsAbove($version)) {
170
+			$error     = "'%s' is a reserved keyword introduced in PHP version %s and cannot be invoked as a function (%s)";
171
+			$errorCode = $this->stringToErrorCode($tokenContentLc) . 'Found';
172
+			$data      = array(
173
+				$tokenContentLc,
174
+				$version,
175
+				$tokens[$stackPtr]['type'],
176
+			);
177
+
178
+			$phpcsFile->addError($error, $stackPtr, $errorCode, $data);
179
+		}
180
+	}
181 181
 }
Please login to merge, or discard this patch.
Spacing   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -87,8 +87,8 @@  discard block
 block discarded – undo
87 87
      */
88 88
     public function register()
89 89
     {
90
-        $tokens   = array_keys($this->targetedTokens);
91
-        $tokens[] = \T_STRING;
90
+        $tokens   = array_keys( $this->targetedTokens );
91
+        $tokens[ ] = \T_STRING;
92 92
 
93 93
         return $tokens;
94 94
     }
@@ -102,11 +102,11 @@  discard block
 block discarded – undo
102 102
      *
103 103
      * @return void
104 104
      */
105
-    public function process(File $phpcsFile, $stackPtr)
105
+    public function process( File $phpcsFile, $stackPtr )
106 106
     {
107 107
         $tokens         = $phpcsFile->getTokens();
108
-        $tokenCode      = $tokens[$stackPtr]['code'];
109
-        $tokenContentLc = strtolower($tokens[$stackPtr]['content']);
108
+        $tokenCode      = $tokens[ $stackPtr ][ 'code' ];
109
+        $tokenContentLc = strtolower( $tokens[ $stackPtr ][ 'content' ] );
110 110
         $isString       = false;
111 111
 
112 112
         /*
@@ -115,26 +115,26 @@  discard block
 block discarded – undo
115 115
          * token doesn't exist yet for that keyword or in later versions when the
116 116
          * token is used in a method invocation.
117 117
          */
118
-        if ($tokenCode === \T_STRING
119
-            && (isset($this->targetedStringTokens[$tokenContentLc]) === false)
118
+        if ( $tokenCode === \T_STRING
119
+            && ( isset( $this->targetedStringTokens[ $tokenContentLc ] ) === false )
120 120
         ) {
121 121
             return;
122 122
         }
123 123
 
124
-        if ($tokenCode === \T_STRING) {
124
+        if ( $tokenCode === \T_STRING ) {
125 125
             $isString = true;
126 126
         }
127 127
 
128 128
         // Make sure this is a function call.
129
-        $next = $phpcsFile->findNext(Tokens::$emptyTokens, ($stackPtr + 1), null, true);
130
-        if ($next === false || $tokens[$next]['code'] !== \T_OPEN_PARENTHESIS) {
129
+        $next = $phpcsFile->findNext( Tokens::$emptyTokens, ( $stackPtr + 1 ), null, true );
130
+        if ( $next === false || $tokens[ $next ][ 'code' ] !== \T_OPEN_PARENTHESIS ) {
131 131
             // Not a function call.
132 132
             return;
133 133
         }
134 134
 
135 135
         // This sniff isn't concerned about function declarations.
136
-        $prev = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($stackPtr - 1), null, true);
137
-        if ($prev !== false && $tokens[$prev]['code'] === \T_FUNCTION) {
136
+        $prev = $phpcsFile->findPrevious( Tokens::$emptyTokens, ( $stackPtr - 1 ), null, true );
137
+        if ( $prev !== false && $tokens[ $prev ][ 'code' ] === \T_FUNCTION ) {
138 138
             return;
139 139
         }
140 140
 
@@ -145,37 +145,37 @@  discard block
 block discarded – undo
145 145
          *
146 146
          * Only needed for those keywords which we sniff out via T_STRING.
147 147
          */
148
-        if (($tokens[$prev]['code'] === \T_OBJECT_OPERATOR || $tokens[$prev]['code'] === \T_DOUBLE_COLON)
149
-            && $this->supportsBelow('5.6') === false
148
+        if ( ( $tokens[ $prev ][ 'code' ] === \T_OBJECT_OPERATOR || $tokens[ $prev ][ 'code' ] === \T_DOUBLE_COLON )
149
+            && $this->supportsBelow( '5.6' ) === false
150 150
         ) {
151 151
             return;
152 152
         }
153 153
 
154 154
         // For the word catch, it is valid to have an open parenthesis
155 155
         // after it, but only if it is preceded by a right curly brace.
156
-        if ($tokenCode === \T_CATCH) {
157
-            if ($prev !== false && $tokens[$prev]['code'] === \T_CLOSE_CURLY_BRACKET) {
156
+        if ( $tokenCode === \T_CATCH ) {
157
+            if ( $prev !== false && $tokens[ $prev ][ 'code' ] === \T_CLOSE_CURLY_BRACKET ) {
158 158
                 // Ok, it's fine.
159 159
                 return;
160 160
             }
161 161
         }
162 162
 
163
-        if ($isString === true) {
164
-            $version = $this->targetedStringTokens[$tokenContentLc];
163
+        if ( $isString === true ) {
164
+            $version = $this->targetedStringTokens[ $tokenContentLc ];
165 165
         } else {
166
-            $version = $this->targetedTokens[$tokenCode];
166
+            $version = $this->targetedTokens[ $tokenCode ];
167 167
         }
168 168
 
169
-        if ($this->supportsAbove($version)) {
169
+        if ( $this->supportsAbove( $version ) ) {
170 170
             $error     = "'%s' is a reserved keyword introduced in PHP version %s and cannot be invoked as a function (%s)";
171
-            $errorCode = $this->stringToErrorCode($tokenContentLc) . 'Found';
171
+            $errorCode = $this->stringToErrorCode( $tokenContentLc ) . 'Found';
172 172
             $data      = array(
173 173
                 $tokenContentLc,
174 174
                 $version,
175
-                $tokens[$stackPtr]['type'],
175
+                $tokens[ $stackPtr ][ 'type' ],
176 176
             );
177 177
 
178
-            $phpcsFile->addError($error, $stackPtr, $errorCode, $data);
178
+            $phpcsFile->addError( $error, $stackPtr, $errorCode, $data );
179 179
         }
180 180
     }
181 181
 }
Please login to merge, or discard this patch.
Braces   +3 added lines, -6 removed lines patch added patch discarded remove patch
@@ -24,8 +24,7 @@  discard block
 block discarded – undo
24 24
  * @author    Jansen Price <[email protected]>
25 25
  * @copyright 2012 Cu.be Solutions bvba
26 26
  */
27
-class ForbiddenNamesAsInvokedFunctionsSniff extends Sniff
28
-{
27
+class ForbiddenNamesAsInvokedFunctionsSniff extends Sniff {
29 28
 
30 29
     /**
31 30
      * List of tokens to register.
@@ -85,8 +84,7 @@  discard block
 block discarded – undo
85 84
      *
86 85
      * @return array
87 86
      */
88
-    public function register()
89
-    {
87
+    public function register() {
90 88
         $tokens   = array_keys($this->targetedTokens);
91 89
         $tokens[] = \T_STRING;
92 90
 
@@ -102,8 +100,7 @@  discard block
 block discarded – undo
102 100
      *
103 101
      * @return void
104 102
      */
105
-    public function process(File $phpcsFile, $stackPtr)
106
-    {
103
+    public function process(File $phpcsFile, $stackPtr) {
107 104
         $tokens         = $phpcsFile->getTokens();
108 105
         $tokenCode      = $tokens[$stackPtr]['code'];
109 106
         $tokenContentLc = strtolower($tokens[$stackPtr]['content']);
Please login to merge, or discard this patch.
PHPCompatibility/Sniffs/Keywords/ForbiddenNamesAsDeclaredSniff.php 4 patches
Indentation   +213 added lines, -213 removed lines patch added patch discarded remove patch
@@ -32,217 +32,217 @@
 block discarded – undo
32 32
 class ForbiddenNamesAsDeclaredSniff extends Sniff
33 33
 {
34 34
 
35
-    /**
36
-     * List of tokens which can not be used as class, interface, trait names or as part of a namespace.
37
-     *
38
-     * @var array
39
-     */
40
-    protected $forbiddenTokens = array(
41
-        \T_NULL  => '7.0',
42
-        \T_TRUE  => '7.0',
43
-        \T_FALSE => '7.0',
44
-    );
45
-
46
-    /**
47
-     * T_STRING keywords to recognize as forbidden names.
48
-     *
49
-     * @var array
50
-     */
51
-    protected $forbiddenNames = array(
52
-        'null'     => '7.0',
53
-        'true'     => '7.0',
54
-        'false'    => '7.0',
55
-        'bool'     => '7.0',
56
-        'int'      => '7.0',
57
-        'float'    => '7.0',
58
-        'string'   => '7.0',
59
-        'iterable' => '7.1',
60
-        'void'     => '7.1',
61
-        'object'   => '7.2',
62
-    );
63
-
64
-    /**
65
-     * T_STRING keywords to recognize as soft reserved names.
66
-     *
67
-     * Using any of these keywords to name a class, interface, trait or namespace
68
-     * is highly discouraged since they may be used in future versions of PHP.
69
-     *
70
-     * @var array
71
-     */
72
-    protected $softReservedNames = array(
73
-        'resource' => '7.0',
74
-        'object'   => '7.0',
75
-        'mixed'    => '7.0',
76
-        'numeric'  => '7.0',
77
-    );
78
-
79
-    /**
80
-     * Combined list of the two lists above.
81
-     *
82
-     * Used for quick check whether or not something is a reserved
83
-     * word.
84
-     * Set from the `register()` method.
85
-     *
86
-     * @var array
87
-     */
88
-    private $allForbiddenNames = array();
89
-
90
-
91
-    /**
92
-     * Returns an array of tokens this test wants to listen for.
93
-     *
94
-     * @return array
95
-     */
96
-    public function register()
97
-    {
98
-        // Do the list merge only once.
99
-        $this->allForbiddenNames = array_merge($this->forbiddenNames, $this->softReservedNames);
100
-
101
-        $targets = array(
102
-            \T_CLASS,
103
-            \T_INTERFACE,
104
-            \T_TRAIT,
105
-            \T_NAMESPACE,
106
-            \T_STRING, // Compat for PHPCS < 2.4.0 and PHP < 5.3.
107
-        );
108
-
109
-        return $targets;
110
-    }
111
-
112
-
113
-    /**
114
-     * Processes this test, when one of its tokens is encountered.
115
-     *
116
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
117
-     * @param int                   $stackPtr  The position of the current token in the
118
-     *                                         stack passed in $tokens.
119
-     *
120
-     * @return void
121
-     */
122
-    public function process(File $phpcsFile, $stackPtr)
123
-    {
124
-        if ($this->supportsAbove('7.0') === false) {
125
-            return;
126
-        }
127
-
128
-        $tokens         = $phpcsFile->getTokens();
129
-        $tokenCode      = $tokens[$stackPtr]['code'];
130
-        $tokenType      = $tokens[$stackPtr]['type'];
131
-        $tokenContentLc = strtolower($tokens[$stackPtr]['content']);
132
-
133
-        // For string tokens we only care about 'trait' as that is the only one
134
-        // which may not be correctly recognized as it's own token.
135
-        // This only happens in older versions of PHP where the token doesn't exist yet as a keyword.
136
-        if ($tokenCode === \T_STRING && $tokenContentLc !== 'trait') {
137
-            return;
138
-        }
139
-
140
-        if (\in_array($tokenType, array('T_CLASS', 'T_INTERFACE', 'T_TRAIT'), true)) {
141
-            // Check for the declared name being a name which is not tokenized as T_STRING.
142
-            $nextNonEmpty = $phpcsFile->findNext(Tokens::$emptyTokens, ($stackPtr + 1), null, true);
143
-            if ($nextNonEmpty !== false && isset($this->forbiddenTokens[$tokens[$nextNonEmpty]['code']]) === true) {
144
-                $name = $tokens[$nextNonEmpty]['content'];
145
-            } else {
146
-                // Get the declared name if it's a T_STRING.
147
-                $name = $phpcsFile->getDeclarationName($stackPtr);
148
-            }
149
-            unset($nextNonEmpty);
150
-
151
-            if (isset($name) === false || \is_string($name) === false || $name === '') {
152
-                return;
153
-            }
154
-
155
-            $nameLc = strtolower($name);
156
-            if (isset($this->allForbiddenNames[$nameLc]) === false) {
157
-                return;
158
-            }
159
-
160
-        } elseif ($tokenCode === \T_NAMESPACE) {
161
-            $namespaceName = $this->getDeclaredNamespaceName($phpcsFile, $stackPtr);
162
-
163
-            if ($namespaceName === false || $namespaceName === '') {
164
-                return;
165
-            }
166
-
167
-            $namespaceParts = explode('\\', $namespaceName);
168
-            foreach ($namespaceParts as $namespacePart) {
169
-                $partLc = strtolower($namespacePart);
170
-                if (isset($this->allForbiddenNames[$partLc]) === true) {
171
-                    $name   = $namespacePart;
172
-                    $nameLc = $partLc;
173
-                    break;
174
-                }
175
-            }
176
-        } elseif ($tokenCode === \T_STRING) {
177
-            // Traits which are not yet tokenized as T_TRAIT.
178
-            $nextNonEmpty = $phpcsFile->findNext(Tokens::$emptyTokens, ($stackPtr + 1), null, true);
179
-            if ($nextNonEmpty === false) {
180
-                return;
181
-            }
182
-
183
-            $nextNonEmptyCode = $tokens[$nextNonEmpty]['code'];
184
-
185
-            if ($nextNonEmptyCode !== \T_STRING && isset($this->forbiddenTokens[$nextNonEmptyCode]) === true) {
186
-                $name   = $tokens[$nextNonEmpty]['content'];
187
-                $nameLc = strtolower($tokens[$nextNonEmpty]['content']);
188
-            } elseif ($nextNonEmptyCode === \T_STRING) {
189
-                $endOfStatement = $phpcsFile->findNext(array(\T_SEMICOLON, \T_OPEN_CURLY_BRACKET), ($stackPtr + 1));
190
-                if ($endOfStatement === false) {
191
-                    return;
192
-                }
193
-
194
-                do {
195
-                    $nextNonEmptyLc = strtolower($tokens[$nextNonEmpty]['content']);
196
-
197
-                    if (isset($this->allForbiddenNames[$nextNonEmptyLc]) === true) {
198
-                        $name   = $tokens[$nextNonEmpty]['content'];
199
-                        $nameLc = $nextNonEmptyLc;
200
-                        break;
201
-                    }
202
-
203
-                    $nextNonEmpty = $phpcsFile->findNext(Tokens::$emptyTokens, ($nextNonEmpty + 1), $endOfStatement, true);
204
-                } while ($nextNonEmpty !== false);
205
-            }
206
-            unset($nextNonEmptyCode, $nextNonEmptyLc, $endOfStatement);
207
-        }
208
-
209
-        if (isset($name, $nameLc) === false) {
210
-            return;
211
-        }
212
-
213
-        // Still here, so this is one of the reserved words.
214
-        // Build up the error message.
215
-        $error     = "'%s' is a";
216
-        $isError   = null;
217
-        $errorCode = $this->stringToErrorCode($nameLc) . 'Found';
218
-        $data      = array(
219
-            $nameLc,
220
-        );
221
-
222
-        if (isset($this->softReservedNames[$nameLc]) === true
223
-            && $this->supportsAbove($this->softReservedNames[$nameLc]) === true
224
-        ) {
225
-            $error  .= ' soft reserved keyword as of PHP version %s';
226
-            $isError = false;
227
-            $data[]  = $this->softReservedNames[$nameLc];
228
-        }
229
-
230
-        if (isset($this->forbiddenNames[$nameLc]) === true
231
-            && $this->supportsAbove($this->forbiddenNames[$nameLc]) === true
232
-        ) {
233
-            if (isset($isError) === true) {
234
-                $error .= ' and a';
235
-            }
236
-            $error  .= ' reserved keyword as of PHP version %s';
237
-            $isError = true;
238
-            $data[]  = $this->forbiddenNames[$nameLc];
239
-        }
240
-
241
-        if (isset($isError) === true) {
242
-            $error .= ' and should not be used to name a class, interface or trait or as part of a namespace (%s)';
243
-            $data[] = $tokens[$stackPtr]['type'];
244
-
245
-            $this->addMessage($phpcsFile, $error, $stackPtr, $isError, $errorCode, $data);
246
-        }
247
-    }
35
+	/**
36
+	 * List of tokens which can not be used as class, interface, trait names or as part of a namespace.
37
+	 *
38
+	 * @var array
39
+	 */
40
+	protected $forbiddenTokens = array(
41
+		\T_NULL  => '7.0',
42
+		\T_TRUE  => '7.0',
43
+		\T_FALSE => '7.0',
44
+	);
45
+
46
+	/**
47
+	 * T_STRING keywords to recognize as forbidden names.
48
+	 *
49
+	 * @var array
50
+	 */
51
+	protected $forbiddenNames = array(
52
+		'null'     => '7.0',
53
+		'true'     => '7.0',
54
+		'false'    => '7.0',
55
+		'bool'     => '7.0',
56
+		'int'      => '7.0',
57
+		'float'    => '7.0',
58
+		'string'   => '7.0',
59
+		'iterable' => '7.1',
60
+		'void'     => '7.1',
61
+		'object'   => '7.2',
62
+	);
63
+
64
+	/**
65
+	 * T_STRING keywords to recognize as soft reserved names.
66
+	 *
67
+	 * Using any of these keywords to name a class, interface, trait or namespace
68
+	 * is highly discouraged since they may be used in future versions of PHP.
69
+	 *
70
+	 * @var array
71
+	 */
72
+	protected $softReservedNames = array(
73
+		'resource' => '7.0',
74
+		'object'   => '7.0',
75
+		'mixed'    => '7.0',
76
+		'numeric'  => '7.0',
77
+	);
78
+
79
+	/**
80
+	 * Combined list of the two lists above.
81
+	 *
82
+	 * Used for quick check whether or not something is a reserved
83
+	 * word.
84
+	 * Set from the `register()` method.
85
+	 *
86
+	 * @var array
87
+	 */
88
+	private $allForbiddenNames = array();
89
+
90
+
91
+	/**
92
+	 * Returns an array of tokens this test wants to listen for.
93
+	 *
94
+	 * @return array
95
+	 */
96
+	public function register()
97
+	{
98
+		// Do the list merge only once.
99
+		$this->allForbiddenNames = array_merge($this->forbiddenNames, $this->softReservedNames);
100
+
101
+		$targets = array(
102
+			\T_CLASS,
103
+			\T_INTERFACE,
104
+			\T_TRAIT,
105
+			\T_NAMESPACE,
106
+			\T_STRING, // Compat for PHPCS < 2.4.0 and PHP < 5.3.
107
+		);
108
+
109
+		return $targets;
110
+	}
111
+
112
+
113
+	/**
114
+	 * Processes this test, when one of its tokens is encountered.
115
+	 *
116
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
117
+	 * @param int                   $stackPtr  The position of the current token in the
118
+	 *                                         stack passed in $tokens.
119
+	 *
120
+	 * @return void
121
+	 */
122
+	public function process(File $phpcsFile, $stackPtr)
123
+	{
124
+		if ($this->supportsAbove('7.0') === false) {
125
+			return;
126
+		}
127
+
128
+		$tokens         = $phpcsFile->getTokens();
129
+		$tokenCode      = $tokens[$stackPtr]['code'];
130
+		$tokenType      = $tokens[$stackPtr]['type'];
131
+		$tokenContentLc = strtolower($tokens[$stackPtr]['content']);
132
+
133
+		// For string tokens we only care about 'trait' as that is the only one
134
+		// which may not be correctly recognized as it's own token.
135
+		// This only happens in older versions of PHP where the token doesn't exist yet as a keyword.
136
+		if ($tokenCode === \T_STRING && $tokenContentLc !== 'trait') {
137
+			return;
138
+		}
139
+
140
+		if (\in_array($tokenType, array('T_CLASS', 'T_INTERFACE', 'T_TRAIT'), true)) {
141
+			// Check for the declared name being a name which is not tokenized as T_STRING.
142
+			$nextNonEmpty = $phpcsFile->findNext(Tokens::$emptyTokens, ($stackPtr + 1), null, true);
143
+			if ($nextNonEmpty !== false && isset($this->forbiddenTokens[$tokens[$nextNonEmpty]['code']]) === true) {
144
+				$name = $tokens[$nextNonEmpty]['content'];
145
+			} else {
146
+				// Get the declared name if it's a T_STRING.
147
+				$name = $phpcsFile->getDeclarationName($stackPtr);
148
+			}
149
+			unset($nextNonEmpty);
150
+
151
+			if (isset($name) === false || \is_string($name) === false || $name === '') {
152
+				return;
153
+			}
154
+
155
+			$nameLc = strtolower($name);
156
+			if (isset($this->allForbiddenNames[$nameLc]) === false) {
157
+				return;
158
+			}
159
+
160
+		} elseif ($tokenCode === \T_NAMESPACE) {
161
+			$namespaceName = $this->getDeclaredNamespaceName($phpcsFile, $stackPtr);
162
+
163
+			if ($namespaceName === false || $namespaceName === '') {
164
+				return;
165
+			}
166
+
167
+			$namespaceParts = explode('\\', $namespaceName);
168
+			foreach ($namespaceParts as $namespacePart) {
169
+				$partLc = strtolower($namespacePart);
170
+				if (isset($this->allForbiddenNames[$partLc]) === true) {
171
+					$name   = $namespacePart;
172
+					$nameLc = $partLc;
173
+					break;
174
+				}
175
+			}
176
+		} elseif ($tokenCode === \T_STRING) {
177
+			// Traits which are not yet tokenized as T_TRAIT.
178
+			$nextNonEmpty = $phpcsFile->findNext(Tokens::$emptyTokens, ($stackPtr + 1), null, true);
179
+			if ($nextNonEmpty === false) {
180
+				return;
181
+			}
182
+
183
+			$nextNonEmptyCode = $tokens[$nextNonEmpty]['code'];
184
+
185
+			if ($nextNonEmptyCode !== \T_STRING && isset($this->forbiddenTokens[$nextNonEmptyCode]) === true) {
186
+				$name   = $tokens[$nextNonEmpty]['content'];
187
+				$nameLc = strtolower($tokens[$nextNonEmpty]['content']);
188
+			} elseif ($nextNonEmptyCode === \T_STRING) {
189
+				$endOfStatement = $phpcsFile->findNext(array(\T_SEMICOLON, \T_OPEN_CURLY_BRACKET), ($stackPtr + 1));
190
+				if ($endOfStatement === false) {
191
+					return;
192
+				}
193
+
194
+				do {
195
+					$nextNonEmptyLc = strtolower($tokens[$nextNonEmpty]['content']);
196
+
197
+					if (isset($this->allForbiddenNames[$nextNonEmptyLc]) === true) {
198
+						$name   = $tokens[$nextNonEmpty]['content'];
199
+						$nameLc = $nextNonEmptyLc;
200
+						break;
201
+					}
202
+
203
+					$nextNonEmpty = $phpcsFile->findNext(Tokens::$emptyTokens, ($nextNonEmpty + 1), $endOfStatement, true);
204
+				} while ($nextNonEmpty !== false);
205
+			}
206
+			unset($nextNonEmptyCode, $nextNonEmptyLc, $endOfStatement);
207
+		}
208
+
209
+		if (isset($name, $nameLc) === false) {
210
+			return;
211
+		}
212
+
213
+		// Still here, so this is one of the reserved words.
214
+		// Build up the error message.
215
+		$error     = "'%s' is a";
216
+		$isError   = null;
217
+		$errorCode = $this->stringToErrorCode($nameLc) . 'Found';
218
+		$data      = array(
219
+			$nameLc,
220
+		);
221
+
222
+		if (isset($this->softReservedNames[$nameLc]) === true
223
+			&& $this->supportsAbove($this->softReservedNames[$nameLc]) === true
224
+		) {
225
+			$error  .= ' soft reserved keyword as of PHP version %s';
226
+			$isError = false;
227
+			$data[]  = $this->softReservedNames[$nameLc];
228
+		}
229
+
230
+		if (isset($this->forbiddenNames[$nameLc]) === true
231
+			&& $this->supportsAbove($this->forbiddenNames[$nameLc]) === true
232
+		) {
233
+			if (isset($isError) === true) {
234
+				$error .= ' and a';
235
+			}
236
+			$error  .= ' reserved keyword as of PHP version %s';
237
+			$isError = true;
238
+			$data[]  = $this->forbiddenNames[$nameLc];
239
+		}
240
+
241
+		if (isset($isError) === true) {
242
+			$error .= ' and should not be used to name a class, interface or trait or as part of a namespace (%s)';
243
+			$data[] = $tokens[$stackPtr]['type'];
244
+
245
+			$this->addMessage($phpcsFile, $error, $stackPtr, $isError, $errorCode, $data);
246
+		}
247
+	}
248 248
 }
Please login to merge, or discard this patch.
Spacing   +51 added lines, -51 removed lines patch added patch discarded remove patch
@@ -96,7 +96,7 @@  discard block
 block discarded – undo
96 96
     public function register()
97 97
     {
98 98
         // Do the list merge only once.
99
-        $this->allForbiddenNames = array_merge($this->forbiddenNames, $this->softReservedNames);
99
+        $this->allForbiddenNames = array_merge( $this->forbiddenNames, $this->softReservedNames );
100 100
 
101 101
         $targets = array(
102 102
             \T_CLASS,
@@ -119,94 +119,94 @@  discard block
 block discarded – undo
119 119
      *
120 120
      * @return void
121 121
      */
122
-    public function process(File $phpcsFile, $stackPtr)
122
+    public function process( File $phpcsFile, $stackPtr )
123 123
     {
124
-        if ($this->supportsAbove('7.0') === false) {
124
+        if ( $this->supportsAbove( '7.0' ) === false ) {
125 125
             return;
126 126
         }
127 127
 
128 128
         $tokens         = $phpcsFile->getTokens();
129
-        $tokenCode      = $tokens[$stackPtr]['code'];
130
-        $tokenType      = $tokens[$stackPtr]['type'];
131
-        $tokenContentLc = strtolower($tokens[$stackPtr]['content']);
129
+        $tokenCode      = $tokens[ $stackPtr ][ 'code' ];
130
+        $tokenType      = $tokens[ $stackPtr ][ 'type' ];
131
+        $tokenContentLc = strtolower( $tokens[ $stackPtr ][ 'content' ] );
132 132
 
133 133
         // For string tokens we only care about 'trait' as that is the only one
134 134
         // which may not be correctly recognized as it's own token.
135 135
         // This only happens in older versions of PHP where the token doesn't exist yet as a keyword.
136
-        if ($tokenCode === \T_STRING && $tokenContentLc !== 'trait') {
136
+        if ( $tokenCode === \T_STRING && $tokenContentLc !== 'trait' ) {
137 137
             return;
138 138
         }
139 139
 
140
-        if (\in_array($tokenType, array('T_CLASS', 'T_INTERFACE', 'T_TRAIT'), true)) {
140
+        if ( \in_array( $tokenType, array( 'T_CLASS', 'T_INTERFACE', 'T_TRAIT' ), true ) ) {
141 141
             // Check for the declared name being a name which is not tokenized as T_STRING.
142
-            $nextNonEmpty = $phpcsFile->findNext(Tokens::$emptyTokens, ($stackPtr + 1), null, true);
143
-            if ($nextNonEmpty !== false && isset($this->forbiddenTokens[$tokens[$nextNonEmpty]['code']]) === true) {
144
-                $name = $tokens[$nextNonEmpty]['content'];
142
+            $nextNonEmpty = $phpcsFile->findNext( Tokens::$emptyTokens, ( $stackPtr + 1 ), null, true );
143
+            if ( $nextNonEmpty !== false && isset( $this->forbiddenTokens[ $tokens[ $nextNonEmpty ][ 'code' ] ] ) === true ) {
144
+                $name = $tokens[ $nextNonEmpty ][ 'content' ];
145 145
             } else {
146 146
                 // Get the declared name if it's a T_STRING.
147
-                $name = $phpcsFile->getDeclarationName($stackPtr);
147
+                $name = $phpcsFile->getDeclarationName( $stackPtr );
148 148
             }
149
-            unset($nextNonEmpty);
149
+            unset( $nextNonEmpty );
150 150
 
151
-            if (isset($name) === false || \is_string($name) === false || $name === '') {
151
+            if ( isset( $name ) === false || \is_string( $name ) === false || $name === '' ) {
152 152
                 return;
153 153
             }
154 154
 
155
-            $nameLc = strtolower($name);
156
-            if (isset($this->allForbiddenNames[$nameLc]) === false) {
155
+            $nameLc = strtolower( $name );
156
+            if ( isset( $this->allForbiddenNames[ $nameLc ] ) === false ) {
157 157
                 return;
158 158
             }
159 159
 
160
-        } elseif ($tokenCode === \T_NAMESPACE) {
161
-            $namespaceName = $this->getDeclaredNamespaceName($phpcsFile, $stackPtr);
160
+        } elseif ( $tokenCode === \T_NAMESPACE ) {
161
+            $namespaceName = $this->getDeclaredNamespaceName( $phpcsFile, $stackPtr );
162 162
 
163
-            if ($namespaceName === false || $namespaceName === '') {
163
+            if ( $namespaceName === false || $namespaceName === '' ) {
164 164
                 return;
165 165
             }
166 166
 
167
-            $namespaceParts = explode('\\', $namespaceName);
168
-            foreach ($namespaceParts as $namespacePart) {
169
-                $partLc = strtolower($namespacePart);
170
-                if (isset($this->allForbiddenNames[$partLc]) === true) {
167
+            $namespaceParts = explode( '\\', $namespaceName );
168
+            foreach ( $namespaceParts as $namespacePart ) {
169
+                $partLc = strtolower( $namespacePart );
170
+                if ( isset( $this->allForbiddenNames[ $partLc ] ) === true ) {
171 171
                     $name   = $namespacePart;
172 172
                     $nameLc = $partLc;
173 173
                     break;
174 174
                 }
175 175
             }
176
-        } elseif ($tokenCode === \T_STRING) {
176
+        } elseif ( $tokenCode === \T_STRING ) {
177 177
             // Traits which are not yet tokenized as T_TRAIT.
178
-            $nextNonEmpty = $phpcsFile->findNext(Tokens::$emptyTokens, ($stackPtr + 1), null, true);
179
-            if ($nextNonEmpty === false) {
178
+            $nextNonEmpty = $phpcsFile->findNext( Tokens::$emptyTokens, ( $stackPtr + 1 ), null, true );
179
+            if ( $nextNonEmpty === false ) {
180 180
                 return;
181 181
             }
182 182
 
183
-            $nextNonEmptyCode = $tokens[$nextNonEmpty]['code'];
183
+            $nextNonEmptyCode = $tokens[ $nextNonEmpty ][ 'code' ];
184 184
 
185
-            if ($nextNonEmptyCode !== \T_STRING && isset($this->forbiddenTokens[$nextNonEmptyCode]) === true) {
186
-                $name   = $tokens[$nextNonEmpty]['content'];
187
-                $nameLc = strtolower($tokens[$nextNonEmpty]['content']);
188
-            } elseif ($nextNonEmptyCode === \T_STRING) {
189
-                $endOfStatement = $phpcsFile->findNext(array(\T_SEMICOLON, \T_OPEN_CURLY_BRACKET), ($stackPtr + 1));
190
-                if ($endOfStatement === false) {
185
+            if ( $nextNonEmptyCode !== \T_STRING && isset( $this->forbiddenTokens[ $nextNonEmptyCode ] ) === true ) {
186
+                $name   = $tokens[ $nextNonEmpty ][ 'content' ];
187
+                $nameLc = strtolower( $tokens[ $nextNonEmpty ][ 'content' ] );
188
+            } elseif ( $nextNonEmptyCode === \T_STRING ) {
189
+                $endOfStatement = $phpcsFile->findNext( array( \T_SEMICOLON, \T_OPEN_CURLY_BRACKET ), ( $stackPtr + 1 ) );
190
+                if ( $endOfStatement === false ) {
191 191
                     return;
192 192
                 }
193 193
 
194 194
                 do {
195
-                    $nextNonEmptyLc = strtolower($tokens[$nextNonEmpty]['content']);
195
+                    $nextNonEmptyLc = strtolower( $tokens[ $nextNonEmpty ][ 'content' ] );
196 196
 
197
-                    if (isset($this->allForbiddenNames[$nextNonEmptyLc]) === true) {
198
-                        $name   = $tokens[$nextNonEmpty]['content'];
197
+                    if ( isset( $this->allForbiddenNames[ $nextNonEmptyLc ] ) === true ) {
198
+                        $name   = $tokens[ $nextNonEmpty ][ 'content' ];
199 199
                         $nameLc = $nextNonEmptyLc;
200 200
                         break;
201 201
                     }
202 202
 
203
-                    $nextNonEmpty = $phpcsFile->findNext(Tokens::$emptyTokens, ($nextNonEmpty + 1), $endOfStatement, true);
204
-                } while ($nextNonEmpty !== false);
203
+                    $nextNonEmpty = $phpcsFile->findNext( Tokens::$emptyTokens, ( $nextNonEmpty + 1 ), $endOfStatement, true );
204
+                } while ( $nextNonEmpty !== false );
205 205
             }
206
-            unset($nextNonEmptyCode, $nextNonEmptyLc, $endOfStatement);
206
+            unset( $nextNonEmptyCode, $nextNonEmptyLc, $endOfStatement );
207 207
         }
208 208
 
209
-        if (isset($name, $nameLc) === false) {
209
+        if ( isset( $name, $nameLc ) === false ) {
210 210
             return;
211 211
         }
212 212
 
@@ -214,35 +214,35 @@  discard block
 block discarded – undo
214 214
         // Build up the error message.
215 215
         $error     = "'%s' is a";
216 216
         $isError   = null;
217
-        $errorCode = $this->stringToErrorCode($nameLc) . 'Found';
217
+        $errorCode = $this->stringToErrorCode( $nameLc ) . 'Found';
218 218
         $data      = array(
219 219
             $nameLc,
220 220
         );
221 221
 
222
-        if (isset($this->softReservedNames[$nameLc]) === true
223
-            && $this->supportsAbove($this->softReservedNames[$nameLc]) === true
222
+        if ( isset( $this->softReservedNames[ $nameLc ] ) === true
223
+            && $this->supportsAbove( $this->softReservedNames[ $nameLc ] ) === true
224 224
         ) {
225 225
             $error  .= ' soft reserved keyword as of PHP version %s';
226 226
             $isError = false;
227
-            $data[]  = $this->softReservedNames[$nameLc];
227
+            $data[ ]  = $this->softReservedNames[ $nameLc ];
228 228
         }
229 229
 
230
-        if (isset($this->forbiddenNames[$nameLc]) === true
231
-            && $this->supportsAbove($this->forbiddenNames[$nameLc]) === true
230
+        if ( isset( $this->forbiddenNames[ $nameLc ] ) === true
231
+            && $this->supportsAbove( $this->forbiddenNames[ $nameLc ] ) === true
232 232
         ) {
233
-            if (isset($isError) === true) {
233
+            if ( isset( $isError ) === true ) {
234 234
                 $error .= ' and a';
235 235
             }
236 236
             $error  .= ' reserved keyword as of PHP version %s';
237 237
             $isError = true;
238
-            $data[]  = $this->forbiddenNames[$nameLc];
238
+            $data[ ]  = $this->forbiddenNames[ $nameLc ];
239 239
         }
240 240
 
241
-        if (isset($isError) === true) {
241
+        if ( isset( $isError ) === true ) {
242 242
             $error .= ' and should not be used to name a class, interface or trait or as part of a namespace (%s)';
243
-            $data[] = $tokens[$stackPtr]['type'];
243
+            $data[ ] = $tokens[ $stackPtr ][ 'type' ];
244 244
 
245
-            $this->addMessage($phpcsFile, $error, $stackPtr, $isError, $errorCode, $data);
245
+            $this->addMessage( $phpcsFile, $error, $stackPtr, $isError, $errorCode, $data );
246 246
         }
247 247
     }
248 248
 }
Please login to merge, or discard this patch.
Braces   +3 added lines, -6 removed lines patch added patch discarded remove patch
@@ -29,8 +29,7 @@  discard block
 block discarded – undo
29 29
  * @package  PHPCompatibility
30 30
  * @author   Juliette Reinders Folmer <[email protected]>
31 31
  */
32
-class ForbiddenNamesAsDeclaredSniff extends Sniff
33
-{
32
+class ForbiddenNamesAsDeclaredSniff extends Sniff {
34 33
 
35 34
     /**
36 35
      * List of tokens which can not be used as class, interface, trait names or as part of a namespace.
@@ -93,8 +92,7 @@  discard block
 block discarded – undo
93 92
      *
94 93
      * @return array
95 94
      */
96
-    public function register()
97
-    {
95
+    public function register() {
98 96
         // Do the list merge only once.
99 97
         $this->allForbiddenNames = array_merge($this->forbiddenNames, $this->softReservedNames);
100 98
 
@@ -119,8 +117,7 @@  discard block
 block discarded – undo
119 117
      *
120 118
      * @return void
121 119
      */
122
-    public function process(File $phpcsFile, $stackPtr)
123
-    {
120
+    public function process(File $phpcsFile, $stackPtr) {
124 121
         if ($this->supportsAbove('7.0') === false) {
125 122
             return;
126 123
         }
Please login to merge, or discard this patch.
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -65,7 +65,7 @@
 block discarded – undo
65 65
     /**
66 66
      * Returns an array of tokens this test wants to listen for.
67 67
      *
68
-     * @return array
68
+     * @return integer[]
69 69
      */
70 70
     public function register()
71 71
     {
Please login to merge, or discard this patch.
PHPCompatibility/Sniffs/Keywords/CaseSensitiveKeywordsSniff.php 3 patches
Indentation   +38 added lines, -38 removed lines patch added patch discarded remove patch
@@ -29,45 +29,45 @@
 block discarded – undo
29 29
 class CaseSensitiveKeywordsSniff extends Sniff
30 30
 {
31 31
 
32
-    /**
33
-     * Returns an array of tokens this test wants to listen for.
34
-     *
35
-     * @return array
36
-     */
37
-    public function register()
38
-    {
39
-        return array(
40
-            \T_SELF,
41
-            \T_STATIC,
42
-            \T_PARENT,
43
-        );
44
-    }
32
+	/**
33
+	 * Returns an array of tokens this test wants to listen for.
34
+	 *
35
+	 * @return array
36
+	 */
37
+	public function register()
38
+	{
39
+		return array(
40
+			\T_SELF,
41
+			\T_STATIC,
42
+			\T_PARENT,
43
+		);
44
+	}
45 45
 
46
-    /**
47
-     * Processes this test, when one of its tokens is encountered.
48
-     *
49
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
50
-     * @param int                   $stackPtr  The position of the current token in the
51
-     *                                         stack passed in $tokens.
52
-     *
53
-     * @return void
54
-     */
55
-    public function process(File $phpcsFile, $stackPtr)
56
-    {
57
-        if ($this->supportsBelow('5.4') === false) {
58
-            return;
59
-        }
46
+	/**
47
+	 * Processes this test, when one of its tokens is encountered.
48
+	 *
49
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
50
+	 * @param int                   $stackPtr  The position of the current token in the
51
+	 *                                         stack passed in $tokens.
52
+	 *
53
+	 * @return void
54
+	 */
55
+	public function process(File $phpcsFile, $stackPtr)
56
+	{
57
+		if ($this->supportsBelow('5.4') === false) {
58
+			return;
59
+		}
60 60
 
61
-        $tokens         = $phpcsFile->getTokens();
62
-        $tokenContentLC = strtolower($tokens[$stackPtr]['content']);
61
+		$tokens         = $phpcsFile->getTokens();
62
+		$tokenContentLC = strtolower($tokens[$stackPtr]['content']);
63 63
 
64
-        if ($tokenContentLC !== $tokens[$stackPtr]['content']) {
65
-            $phpcsFile->addError(
66
-                'The keyword \'%s\' was treated in a case-sensitive fashion in certain cases in PHP 5.4 or earlier. Use the lowercase version for consistent support.',
67
-                $stackPtr,
68
-                'NonLowercaseFound',
69
-                array($tokenContentLC)
70
-            );
71
-        }
72
-    }
64
+		if ($tokenContentLC !== $tokens[$stackPtr]['content']) {
65
+			$phpcsFile->addError(
66
+				'The keyword \'%s\' was treated in a case-sensitive fashion in certain cases in PHP 5.4 or earlier. Use the lowercase version for consistent support.',
67
+				$stackPtr,
68
+				'NonLowercaseFound',
69
+				array($tokenContentLC)
70
+			);
71
+		}
72
+	}
73 73
 }
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -52,21 +52,21 @@
 block discarded – undo
52 52
      *
53 53
      * @return void
54 54
      */
55
-    public function process(File $phpcsFile, $stackPtr)
55
+    public function process( File $phpcsFile, $stackPtr )
56 56
     {
57
-        if ($this->supportsBelow('5.4') === false) {
57
+        if ( $this->supportsBelow( '5.4' ) === false ) {
58 58
             return;
59 59
         }
60 60
 
61 61
         $tokens         = $phpcsFile->getTokens();
62
-        $tokenContentLC = strtolower($tokens[$stackPtr]['content']);
62
+        $tokenContentLC = strtolower( $tokens[ $stackPtr ][ 'content' ] );
63 63
 
64
-        if ($tokenContentLC !== $tokens[$stackPtr]['content']) {
64
+        if ( $tokenContentLC !== $tokens[ $stackPtr ][ 'content' ] ) {
65 65
             $phpcsFile->addError(
66 66
                 'The keyword \'%s\' was treated in a case-sensitive fashion in certain cases in PHP 5.4 or earlier. Use the lowercase version for consistent support.',
67 67
                 $stackPtr,
68 68
                 'NonLowercaseFound',
69
-                array($tokenContentLC)
69
+                array( $tokenContentLC )
70 70
             );
71 71
         }
72 72
     }
Please login to merge, or discard this patch.
Braces   +3 added lines, -6 removed lines patch added patch discarded remove patch
@@ -26,16 +26,14 @@  discard block
 block discarded – undo
26 26
  * @package  PHPCompatibility
27 27
  * @author   Juliette Reinders Folmer <[email protected]>
28 28
  */
29
-class CaseSensitiveKeywordsSniff extends Sniff
30
-{
29
+class CaseSensitiveKeywordsSniff extends Sniff {
31 30
 
32 31
     /**
33 32
      * Returns an array of tokens this test wants to listen for.
34 33
      *
35 34
      * @return array
36 35
      */
37
-    public function register()
38
-    {
36
+    public function register() {
39 37
         return array(
40 38
             \T_SELF,
41 39
             \T_STATIC,
@@ -52,8 +50,7 @@  discard block
 block discarded – undo
52 50
      *
53 51
      * @return void
54 52
      */
55
-    public function process(File $phpcsFile, $stackPtr)
56
-    {
53
+    public function process(File $phpcsFile, $stackPtr) {
57 54
         if ($this->supportsBelow('5.4') === false) {
58 55
             return;
59 56
         }
Please login to merge, or discard this patch.