Completed
Pull Request — develop (#1492)
by Zack
28:58 queued 09:00
created
php-compatibility/PHPCompatibility/Sniffs/TypeCasts/NewTypeCastsSniff.php 4 patches
Indentation   +169 added lines, -169 removed lines patch added patch discarded remove patch
@@ -23,43 +23,43 @@  discard block
 block discarded – undo
23 23
 class NewTypeCastsSniff extends AbstractNewFeatureSniff
24 24
 {
25 25
 
26
-    /**
27
-     * A list of new type casts, not present in older versions.
28
-     *
29
-     * The array lists : version number with false (not present) or true (present).
30
-     * If's sufficient to list the first version where the keyword appears.
31
-     *
32
-     * @var array(string => array(string => int|string|null))
33
-     */
34
-    protected $newTypeCasts = array(
35
-        'T_UNSET_CAST' => array(
36
-            '4.4'         => false,
37
-            '5.0'         => true,
38
-            'description' => 'The unset cast',
39
-        ),
40
-        'T_BINARY_CAST' => array(
41
-            '5.2.0'       => false,
42
-            '5.2.1'       => true,
43
-            'description' => 'The binary cast',
44
-        ),
45
-    );
46
-
47
-
48
-    /**
49
-     * Returns an array of tokens this test wants to listen for.
50
-     *
51
-     * @return array
52
-     */
53
-    public function register()
54
-    {
55
-        $tokens = array();
56
-        foreach ($this->newTypeCasts as $token => $versions) {
57
-            if (\defined($token)) {
58
-                $tokens[] = constant($token);
59
-            }
60
-        }
61
-
62
-        /*
26
+	/**
27
+	 * A list of new type casts, not present in older versions.
28
+	 *
29
+	 * The array lists : version number with false (not present) or true (present).
30
+	 * If's sufficient to list the first version where the keyword appears.
31
+	 *
32
+	 * @var array(string => array(string => int|string|null))
33
+	 */
34
+	protected $newTypeCasts = array(
35
+		'T_UNSET_CAST' => array(
36
+			'4.4'         => false,
37
+			'5.0'         => true,
38
+			'description' => 'The unset cast',
39
+		),
40
+		'T_BINARY_CAST' => array(
41
+			'5.2.0'       => false,
42
+			'5.2.1'       => true,
43
+			'description' => 'The binary cast',
44
+		),
45
+	);
46
+
47
+
48
+	/**
49
+	 * Returns an array of tokens this test wants to listen for.
50
+	 *
51
+	 * @return array
52
+	 */
53
+	public function register()
54
+	{
55
+		$tokens = array();
56
+		foreach ($this->newTypeCasts as $token => $versions) {
57
+			if (\defined($token)) {
58
+				$tokens[] = constant($token);
59
+			}
60
+		}
61
+
62
+		/*
63 63
          * Work around tokenizer issues.
64 64
          *
65 65
          * - (binary) cast is incorrectly tokenized as T_STRING_CAST by PHP and PHPCS.
@@ -68,136 +68,136 @@  discard block
 block discarded – undo
68 68
          *
69 69
          * @link https://github.com/squizlabs/PHP_CodeSniffer/issues/1574
70 70
          */
71
-        if (version_compare(PHPCSHelper::getVersion(), '3.4.0', '<') === true) {
72
-            $tokens[] = \T_STRING_CAST;
73
-            $tokens[] = \T_CONSTANT_ENCAPSED_STRING;
74
-        }
75
-
76
-        return $tokens;
77
-    }
78
-
79
-
80
-    /**
81
-     * Processes this test, when one of its tokens is encountered.
82
-     *
83
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
84
-     * @param int                   $stackPtr  The position of the current token in
85
-     *                                         the stack passed in $tokens.
86
-     *
87
-     * @return void
88
-     */
89
-    public function process(File $phpcsFile, $stackPtr)
90
-    {
91
-        $tokens    = $phpcsFile->getTokens();
92
-        $tokenType = $tokens[$stackPtr]['type'];
93
-
94
-        // Detect incorrectly tokenized binary casts.
95
-        if (isset($this->newTypeCasts[$tokenType]) === false) {
96
-            $tokenContent = $tokens[$stackPtr]['content'];
97
-            switch ($tokenType) {
98
-                case 'T_STRING_CAST':
99
-                    if (preg_match('`^\(\s*binary\s*\)$`i', $tokenContent) !== 1) {
100
-                        return;
101
-                    }
102
-
103
-                    $tokenType = 'T_BINARY_CAST';
104
-                    break;
105
-
106
-                case 'T_CONSTANT_ENCAPSED_STRING':
107
-                    if ((strpos($tokenContent, 'b"') === 0 && substr($tokenContent, -1) === '"')
108
-                        || (strpos($tokenContent, "b'") === 0 && substr($tokenContent, -1) === "'")
109
-                    ) {
110
-                        $tokenType = 'T_BINARY_CAST';
111
-                    } else {
112
-                        return;
113
-                    }
114
-                    break;
115
-
116
-            }
117
-        }
118
-
119
-        // If the translation did not yield one of the tokens we are looking for, bow out.
120
-        if (isset($this->newTypeCasts[$tokenType]) === false) {
121
-            return;
122
-        }
123
-
124
-        $itemInfo = array(
125
-            'name'    => $tokenType,
126
-            'content' => $tokens[$stackPtr]['content'],
127
-        );
128
-        $this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
129
-    }
130
-
131
-
132
-    /**
133
-     * Get the relevant sub-array for a specific item from a multi-dimensional array.
134
-     *
135
-     * @param array $itemInfo Base information about the item.
136
-     *
137
-     * @return array Version and other information about the item.
138
-     */
139
-    public function getItemArray(array $itemInfo)
140
-    {
141
-        return $this->newTypeCasts[$itemInfo['name']];
142
-    }
143
-
144
-
145
-    /**
146
-     * Get an array of the non-PHP-version array keys used in a sub-array.
147
-     *
148
-     * @return array
149
-     */
150
-    protected function getNonVersionArrayKeys()
151
-    {
152
-        return array('description');
153
-    }
154
-
155
-
156
-    /**
157
-     * Retrieve the relevant detail (version) information for use in an error message.
158
-     *
159
-     * @param array $itemArray Version and other information about the item.
160
-     * @param array $itemInfo  Base information about the item.
161
-     *
162
-     * @return array
163
-     */
164
-    public function getErrorInfo(array $itemArray, array $itemInfo)
165
-    {
166
-        $errorInfo                = parent::getErrorInfo($itemArray, $itemInfo);
167
-        $errorInfo['description'] = $itemArray['description'];
168
-
169
-        return $errorInfo;
170
-    }
171
-
172
-
173
-    /**
174
-     * Filter the error message before it's passed to PHPCS.
175
-     *
176
-     * @param string $error     The error message which was created.
177
-     * @param array  $itemInfo  Base information about the item this error message applies to.
178
-     * @param array  $errorInfo Detail information about an item this error message applies to.
179
-     *
180
-     * @return string
181
-     */
182
-    protected function filterErrorMsg($error, array $itemInfo, array $errorInfo)
183
-    {
184
-        return $error . '. Found: %s';
185
-    }
186
-
187
-
188
-    /**
189
-     * Filter the error data before it's passed to PHPCS.
190
-     *
191
-     * @param array $data      The error data array which was created.
192
-     * @param array $itemInfo  Base information about the item this error message applies to.
193
-     * @param array $errorInfo Detail information about an item this error message applies to.
194
-     *
195
-     * @return array
196
-     */
197
-    protected function filterErrorData(array $data, array $itemInfo, array $errorInfo)
198
-    {
199
-        $data[0] = $errorInfo['description'];
200
-        $data[]  = $itemInfo['content'];
201
-        return $data;
202
-    }
71
+		if (version_compare(PHPCSHelper::getVersion(), '3.4.0', '<') === true) {
72
+			$tokens[] = \T_STRING_CAST;
73
+			$tokens[] = \T_CONSTANT_ENCAPSED_STRING;
74
+		}
75
+
76
+		return $tokens;
77
+	}
78
+
79
+
80
+	/**
81
+	 * Processes this test, when one of its tokens is encountered.
82
+	 *
83
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
84
+	 * @param int                   $stackPtr  The position of the current token in
85
+	 *                                         the stack passed in $tokens.
86
+	 *
87
+	 * @return void
88
+	 */
89
+	public function process(File $phpcsFile, $stackPtr)
90
+	{
91
+		$tokens    = $phpcsFile->getTokens();
92
+		$tokenType = $tokens[$stackPtr]['type'];
93
+
94
+		// Detect incorrectly tokenized binary casts.
95
+		if (isset($this->newTypeCasts[$tokenType]) === false) {
96
+			$tokenContent = $tokens[$stackPtr]['content'];
97
+			switch ($tokenType) {
98
+				case 'T_STRING_CAST':
99
+					if (preg_match('`^\(\s*binary\s*\)$`i', $tokenContent) !== 1) {
100
+						return;
101
+					}
102
+
103
+					$tokenType = 'T_BINARY_CAST';
104
+					break;
105
+
106
+				case 'T_CONSTANT_ENCAPSED_STRING':
107
+					if ((strpos($tokenContent, 'b"') === 0 && substr($tokenContent, -1) === '"')
108
+						|| (strpos($tokenContent, "b'") === 0 && substr($tokenContent, -1) === "'")
109
+					) {
110
+						$tokenType = 'T_BINARY_CAST';
111
+					} else {
112
+						return;
113
+					}
114
+					break;
115
+
116
+			}
117
+		}
118
+
119
+		// If the translation did not yield one of the tokens we are looking for, bow out.
120
+		if (isset($this->newTypeCasts[$tokenType]) === false) {
121
+			return;
122
+		}
123
+
124
+		$itemInfo = array(
125
+			'name'    => $tokenType,
126
+			'content' => $tokens[$stackPtr]['content'],
127
+		);
128
+		$this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
129
+	}
130
+
131
+
132
+	/**
133
+	 * Get the relevant sub-array for a specific item from a multi-dimensional array.
134
+	 *
135
+	 * @param array $itemInfo Base information about the item.
136
+	 *
137
+	 * @return array Version and other information about the item.
138
+	 */
139
+	public function getItemArray(array $itemInfo)
140
+	{
141
+		return $this->newTypeCasts[$itemInfo['name']];
142
+	}
143
+
144
+
145
+	/**
146
+	 * Get an array of the non-PHP-version array keys used in a sub-array.
147
+	 *
148
+	 * @return array
149
+	 */
150
+	protected function getNonVersionArrayKeys()
151
+	{
152
+		return array('description');
153
+	}
154
+
155
+
156
+	/**
157
+	 * Retrieve the relevant detail (version) information for use in an error message.
158
+	 *
159
+	 * @param array $itemArray Version and other information about the item.
160
+	 * @param array $itemInfo  Base information about the item.
161
+	 *
162
+	 * @return array
163
+	 */
164
+	public function getErrorInfo(array $itemArray, array $itemInfo)
165
+	{
166
+		$errorInfo                = parent::getErrorInfo($itemArray, $itemInfo);
167
+		$errorInfo['description'] = $itemArray['description'];
168
+
169
+		return $errorInfo;
170
+	}
171
+
172
+
173
+	/**
174
+	 * Filter the error message before it's passed to PHPCS.
175
+	 *
176
+	 * @param string $error     The error message which was created.
177
+	 * @param array  $itemInfo  Base information about the item this error message applies to.
178
+	 * @param array  $errorInfo Detail information about an item this error message applies to.
179
+	 *
180
+	 * @return string
181
+	 */
182
+	protected function filterErrorMsg($error, array $itemInfo, array $errorInfo)
183
+	{
184
+		return $error . '. Found: %s';
185
+	}
186
+
187
+
188
+	/**
189
+	 * Filter the error data before it's passed to PHPCS.
190
+	 *
191
+	 * @param array $data      The error data array which was created.
192
+	 * @param array $itemInfo  Base information about the item this error message applies to.
193
+	 * @param array $errorInfo Detail information about an item this error message applies to.
194
+	 *
195
+	 * @return array
196
+	 */
197
+	protected function filterErrorData(array $data, array $itemInfo, array $errorInfo)
198
+	{
199
+		$data[0] = $errorInfo['description'];
200
+		$data[]  = $itemInfo['content'];
201
+		return $data;
202
+	}
203 203
 }
Please login to merge, or discard this patch.
Spacing   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -53,9 +53,9 @@  discard block
 block discarded – undo
53 53
     public function register()
54 54
     {
55 55
         $tokens = array();
56
-        foreach ($this->newTypeCasts as $token => $versions) {
57
-            if (\defined($token)) {
58
-                $tokens[] = constant($token);
56
+        foreach ( $this->newTypeCasts as $token => $versions ) {
57
+            if ( \defined( $token ) ) {
58
+                $tokens[ ] = constant( $token );
59 59
             }
60 60
         }
61 61
 
@@ -68,9 +68,9 @@  discard block
 block discarded – undo
68 68
          *
69 69
          * @link https://github.com/squizlabs/PHP_CodeSniffer/issues/1574
70 70
          */
71
-        if (version_compare(PHPCSHelper::getVersion(), '3.4.0', '<') === true) {
72
-            $tokens[] = \T_STRING_CAST;
73
-            $tokens[] = \T_CONSTANT_ENCAPSED_STRING;
71
+        if ( version_compare( PHPCSHelper::getVersion(), '3.4.0', '<' ) === true ) {
72
+            $tokens[ ] = \T_STRING_CAST;
73
+            $tokens[ ] = \T_CONSTANT_ENCAPSED_STRING;
74 74
         }
75 75
 
76 76
         return $tokens;
@@ -86,17 +86,17 @@  discard block
 block discarded – undo
86 86
      *
87 87
      * @return void
88 88
      */
89
-    public function process(File $phpcsFile, $stackPtr)
89
+    public function process( File $phpcsFile, $stackPtr )
90 90
     {
91 91
         $tokens    = $phpcsFile->getTokens();
92
-        $tokenType = $tokens[$stackPtr]['type'];
92
+        $tokenType = $tokens[ $stackPtr ][ 'type' ];
93 93
 
94 94
         // Detect incorrectly tokenized binary casts.
95
-        if (isset($this->newTypeCasts[$tokenType]) === false) {
96
-            $tokenContent = $tokens[$stackPtr]['content'];
97
-            switch ($tokenType) {
95
+        if ( isset( $this->newTypeCasts[ $tokenType ] ) === false ) {
96
+            $tokenContent = $tokens[ $stackPtr ][ 'content' ];
97
+            switch ( $tokenType ) {
98 98
                 case 'T_STRING_CAST':
99
-                    if (preg_match('`^\(\s*binary\s*\)$`i', $tokenContent) !== 1) {
99
+                    if ( preg_match( '`^\(\s*binary\s*\)$`i', $tokenContent ) !== 1 ) {
100 100
                         return;
101 101
                     }
102 102
 
@@ -104,8 +104,8 @@  discard block
 block discarded – undo
104 104
                     break;
105 105
 
106 106
                 case 'T_CONSTANT_ENCAPSED_STRING':
107
-                    if ((strpos($tokenContent, 'b"') === 0 && substr($tokenContent, -1) === '"')
108
-                        || (strpos($tokenContent, "b'") === 0 && substr($tokenContent, -1) === "'")
107
+                    if ( ( strpos( $tokenContent, 'b"' ) === 0 && substr( $tokenContent, -1 ) === '"' )
108
+                        || ( strpos( $tokenContent, "b'" ) === 0 && substr( $tokenContent, -1 ) === "'" )
109 109
                     ) {
110 110
                         $tokenType = 'T_BINARY_CAST';
111 111
                     } else {
@@ -117,15 +117,15 @@  discard block
 block discarded – undo
117 117
         }
118 118
 
119 119
         // If the translation did not yield one of the tokens we are looking for, bow out.
120
-        if (isset($this->newTypeCasts[$tokenType]) === false) {
120
+        if ( isset( $this->newTypeCasts[ $tokenType ] ) === false ) {
121 121
             return;
122 122
         }
123 123
 
124 124
         $itemInfo = array(
125 125
             'name'    => $tokenType,
126
-            'content' => $tokens[$stackPtr]['content'],
126
+            'content' => $tokens[ $stackPtr ][ 'content' ],
127 127
         );
128
-        $this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
128
+        $this->handleFeature( $phpcsFile, $stackPtr, $itemInfo );
129 129
     }
130 130
 
131 131
 
@@ -136,9 +136,9 @@  discard block
 block discarded – undo
136 136
      *
137 137
      * @return array Version and other information about the item.
138 138
      */
139
-    public function getItemArray(array $itemInfo)
139
+    public function getItemArray( array $itemInfo )
140 140
     {
141
-        return $this->newTypeCasts[$itemInfo['name']];
141
+        return $this->newTypeCasts[ $itemInfo[ 'name' ] ];
142 142
     }
143 143
 
144 144
 
@@ -149,7 +149,7 @@  discard block
 block discarded – undo
149 149
      */
150 150
     protected function getNonVersionArrayKeys()
151 151
     {
152
-        return array('description');
152
+        return array( 'description' );
153 153
     }
154 154
 
155 155
 
@@ -161,10 +161,10 @@  discard block
 block discarded – undo
161 161
      *
162 162
      * @return array
163 163
      */
164
-    public function getErrorInfo(array $itemArray, array $itemInfo)
164
+    public function getErrorInfo( array $itemArray, array $itemInfo )
165 165
     {
166
-        $errorInfo                = parent::getErrorInfo($itemArray, $itemInfo);
167
-        $errorInfo['description'] = $itemArray['description'];
166
+        $errorInfo                = parent::getErrorInfo( $itemArray, $itemInfo );
167
+        $errorInfo[ 'description' ] = $itemArray[ 'description' ];
168 168
 
169 169
         return $errorInfo;
170 170
     }
@@ -179,7 +179,7 @@  discard block
 block discarded – undo
179 179
      *
180 180
      * @return string
181 181
      */
182
-    protected function filterErrorMsg($error, array $itemInfo, array $errorInfo)
182
+    protected function filterErrorMsg( $error, array $itemInfo, array $errorInfo )
183 183
     {
184 184
         return $error . '. Found: %s';
185 185
     }
@@ -194,10 +194,10 @@  discard block
 block discarded – undo
194 194
      *
195 195
      * @return array
196 196
      */
197
-    protected function filterErrorData(array $data, array $itemInfo, array $errorInfo)
197
+    protected function filterErrorData( array $data, array $itemInfo, array $errorInfo )
198 198
     {
199
-        $data[0] = $errorInfo['description'];
200
-        $data[]  = $itemInfo['content'];
199
+        $data[ 0 ] = $errorInfo[ 'description' ];
200
+        $data[ ]  = $itemInfo[ 'content' ];
201 201
         return $data;
202 202
     }
203 203
 }
Please login to merge, or discard this patch.
Braces   +8 added lines, -16 removed lines patch added patch discarded remove patch
@@ -20,8 +20,7 @@  discard block
 block discarded – undo
20 20
  * @package  PHPCompatibility
21 21
  * @author   Juliette Reinders Folmer <[email protected]>
22 22
  */
23
-class NewTypeCastsSniff extends AbstractNewFeatureSniff
24
-{
23
+class NewTypeCastsSniff extends AbstractNewFeatureSniff {
25 24
 
26 25
     /**
27 26
      * A list of new type casts, not present in older versions.
@@ -50,8 +49,7 @@  discard block
 block discarded – undo
50 49
      *
51 50
      * @return array
52 51
      */
53
-    public function register()
54
-    {
52
+    public function register() {
55 53
         $tokens = array();
56 54
         foreach ($this->newTypeCasts as $token => $versions) {
57 55
             if (\defined($token)) {
@@ -86,8 +84,7 @@  discard block
 block discarded – undo
86 84
      *
87 85
      * @return void
88 86
      */
89
-    public function process(File $phpcsFile, $stackPtr)
90
-    {
87
+    public function process(File $phpcsFile, $stackPtr) {
91 88
         $tokens    = $phpcsFile->getTokens();
92 89
         $tokenType = $tokens[$stackPtr]['type'];
93 90
 
@@ -136,8 +133,7 @@  discard block
 block discarded – undo
136 133
      *
137 134
      * @return array Version and other information about the item.
138 135
      */
139
-    public function getItemArray(array $itemInfo)
140
-    {
136
+    public function getItemArray(array $itemInfo) {
141 137
         return $this->newTypeCasts[$itemInfo['name']];
142 138
     }
143 139
 
@@ -147,8 +143,7 @@  discard block
 block discarded – undo
147 143
      *
148 144
      * @return array
149 145
      */
150
-    protected function getNonVersionArrayKeys()
151
-    {
146
+    protected function getNonVersionArrayKeys() {
152 147
         return array('description');
153 148
     }
154 149
 
@@ -161,8 +156,7 @@  discard block
 block discarded – undo
161 156
      *
162 157
      * @return array
163 158
      */
164
-    public function getErrorInfo(array $itemArray, array $itemInfo)
165
-    {
159
+    public function getErrorInfo(array $itemArray, array $itemInfo) {
166 160
         $errorInfo                = parent::getErrorInfo($itemArray, $itemInfo);
167 161
         $errorInfo['description'] = $itemArray['description'];
168 162
 
@@ -179,8 +173,7 @@  discard block
 block discarded – undo
179 173
      *
180 174
      * @return string
181 175
      */
182
-    protected function filterErrorMsg($error, array $itemInfo, array $errorInfo)
183
-    {
176
+    protected function filterErrorMsg($error, array $itemInfo, array $errorInfo) {
184 177
         return $error . '. Found: %s';
185 178
     }
186 179
 
@@ -194,8 +187,7 @@  discard block
 block discarded – undo
194 187
      *
195 188
      * @return array
196 189
      */
197
-    protected function filterErrorData(array $data, array $itemInfo, array $errorInfo)
198
-    {
190
+    protected function filterErrorData(array $data, array $itemInfo, array $errorInfo) {
199 191
         $data[0] = $errorInfo['description'];
200 192
         $data[]  = $itemInfo['content'];
201 193
         return $data;
Please login to merge, or discard this patch.
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -301,7 +301,7 @@
 block discarded – undo
301 301
     /**
302 302
      * Get an array of the non-PHP-version array keys used in a sub-array.
303 303
      *
304
-     * @return array
304
+     * @return string[]
305 305
      */
306 306
     protected function getNonVersionArrayKeys()
307 307
     {
Please login to merge, or discard this patch.
PHPCompatibility/Sniffs/IniDirectives/RemovedIniDirectivesSniff.php 4 patches
Indentation   +343 added lines, -343 removed lines patch added patch discarded remove patch
@@ -25,374 +25,374 @@
 block discarded – undo
25 25
  */
26 26
 class RemovedIniDirectivesSniff extends AbstractRemovedFeatureSniff
27 27
 {
28
-    /**
29
-     * A list of deprecated INI directives.
30
-     *
31
-     * The array lists : version number with false (deprecated) and true (removed).
32
-     * If's sufficient to list the first version where the ini directive was deprecated/removed.
33
-     *
34
-     * @var array(string)
35
-     */
36
-    protected $deprecatedIniDirectives = array(
37
-        'fbsql.batchSize' => array(
38
-            '5.1'         => true,
39
-            'alternative' => 'fbsql.batchsize',
40
-        ),
41
-        'pfpro.defaulthost' => array(
42
-            '5.1' => true,
43
-        ),
44
-        'pfpro.defaultport' => array(
45
-            '5.1' => true,
46
-        ),
47
-        'pfpro.defaulttimeout' => array(
48
-            '5.1' => true,
49
-        ),
50
-        'pfpro.proxyaddress' => array(
51
-            '5.1' => true,
52
-        ),
53
-        'pfpro.proxyport' => array(
54
-            '5.1' => true,
55
-        ),
56
-        'pfpro.proxylogon' => array(
57
-            '5.1' => true,
58
-        ),
59
-        'pfpro.proxypassword' => array(
60
-            '5.1' => true,
61
-        ),
28
+	/**
29
+	 * A list of deprecated INI directives.
30
+	 *
31
+	 * The array lists : version number with false (deprecated) and true (removed).
32
+	 * If's sufficient to list the first version where the ini directive was deprecated/removed.
33
+	 *
34
+	 * @var array(string)
35
+	 */
36
+	protected $deprecatedIniDirectives = array(
37
+		'fbsql.batchSize' => array(
38
+			'5.1'         => true,
39
+			'alternative' => 'fbsql.batchsize',
40
+		),
41
+		'pfpro.defaulthost' => array(
42
+			'5.1' => true,
43
+		),
44
+		'pfpro.defaultport' => array(
45
+			'5.1' => true,
46
+		),
47
+		'pfpro.defaulttimeout' => array(
48
+			'5.1' => true,
49
+		),
50
+		'pfpro.proxyaddress' => array(
51
+			'5.1' => true,
52
+		),
53
+		'pfpro.proxyport' => array(
54
+			'5.1' => true,
55
+		),
56
+		'pfpro.proxylogon' => array(
57
+			'5.1' => true,
58
+		),
59
+		'pfpro.proxypassword' => array(
60
+			'5.1' => true,
61
+		),
62 62
 
63
-        'ifx.allow_persistent' => array(
64
-            '5.2.1' => true,
65
-        ),
66
-        'ifx.blobinfile' => array(
67
-            '5.2.1' => true,
68
-        ),
69
-        'ifx.byteasvarchar' => array(
70
-            '5.2.1' => true,
71
-        ),
72
-        'ifx.charasvarchar' => array(
73
-            '5.2.1' => true,
74
-        ),
75
-        'ifx.default_host' => array(
76
-            '5.2.1' => true,
77
-        ),
78
-        'ifx.default_password' => array(
79
-            '5.2.1' => true,
80
-        ),
81
-        'ifx.default_user' => array(
82
-            '5.2.1' => true,
83
-        ),
84
-        'ifx.max_links' => array(
85
-            '5.2.1' => true,
86
-        ),
87
-        'ifx.max_persistent' => array(
88
-            '5.2.1' => true,
89
-        ),
90
-        'ifx.nullformat' => array(
91
-            '5.2.1' => true,
92
-        ),
93
-        'ifx.textasvarchar' => array(
94
-            '5.2.1' => true,
95
-        ),
63
+		'ifx.allow_persistent' => array(
64
+			'5.2.1' => true,
65
+		),
66
+		'ifx.blobinfile' => array(
67
+			'5.2.1' => true,
68
+		),
69
+		'ifx.byteasvarchar' => array(
70
+			'5.2.1' => true,
71
+		),
72
+		'ifx.charasvarchar' => array(
73
+			'5.2.1' => true,
74
+		),
75
+		'ifx.default_host' => array(
76
+			'5.2.1' => true,
77
+		),
78
+		'ifx.default_password' => array(
79
+			'5.2.1' => true,
80
+		),
81
+		'ifx.default_user' => array(
82
+			'5.2.1' => true,
83
+		),
84
+		'ifx.max_links' => array(
85
+			'5.2.1' => true,
86
+		),
87
+		'ifx.max_persistent' => array(
88
+			'5.2.1' => true,
89
+		),
90
+		'ifx.nullformat' => array(
91
+			'5.2.1' => true,
92
+		),
93
+		'ifx.textasvarchar' => array(
94
+			'5.2.1' => true,
95
+		),
96 96
 
97
-        'zend.ze1_compatibility_mode' => array(
98
-            '5.3' => true,
99
-        ),
97
+		'zend.ze1_compatibility_mode' => array(
98
+			'5.3' => true,
99
+		),
100 100
 
101
-        'allow_call_time_pass_reference' => array(
102
-            '5.3' => false,
103
-            '5.4' => true,
104
-        ),
105
-        'define_syslog_variables' => array(
106
-            '5.3' => false,
107
-            '5.4' => true,
108
-        ),
109
-        'detect_unicode' => array(
110
-            '5.4'         => true,
111
-            'alternative' => 'zend.detect_unicode',
112
-        ),
113
-        'highlight.bg' => array(
114
-            '5.3' => false,
115
-            '5.4' => true,
116
-        ),
117
-        'magic_quotes_gpc' => array(
118
-            '5.3' => false,
119
-            '5.4' => true,
120
-        ),
121
-        'magic_quotes_runtime' => array(
122
-            '5.3' => false,
123
-            '5.4' => true,
124
-        ),
125
-        'magic_quotes_sybase' => array(
126
-            '5.3' => false,
127
-            '5.4' => true,
128
-        ),
129
-        'mbstring.script_encoding' => array(
130
-            '5.4'         => true,
131
-            'alternative' => 'zend.script_encoding',
132
-        ),
133
-        'register_globals' => array(
134
-            '5.3' => false,
135
-            '5.4' => true,
136
-        ),
137
-        'register_long_arrays' => array(
138
-            '5.3' => false,
139
-            '5.4' => true,
140
-        ),
141
-        'safe_mode' => array(
142
-            '5.3' => false,
143
-            '5.4' => true,
144
-        ),
145
-        'safe_mode_allowed_env_vars' => array(
146
-            '5.3' => false,
147
-            '5.4' => true,
148
-        ),
149
-        'safe_mode_exec_dir' => array(
150
-            '5.3' => false,
151
-            '5.4' => true,
152
-        ),
153
-        'safe_mode_gid' => array(
154
-            '5.3' => false,
155
-            '5.4' => true,
156
-        ),
157
-        'safe_mode_include_dir' => array(
158
-            '5.3' => false,
159
-            '5.4' => true,
160
-        ),
161
-        'safe_mode_protected_env_vars' => array(
162
-            '5.3' => false,
163
-            '5.4' => true,
164
-        ),
165
-        'session.bug_compat_42' => array(
166
-            '5.3' => false,
167
-            '5.4' => true,
168
-        ),
169
-        'session.bug_compat_warn' => array(
170
-            '5.3' => false,
171
-            '5.4' => true,
172
-        ),
173
-        'y2k_compliance' => array(
174
-            '5.3' => false,
175
-            '5.4' => true,
176
-        ),
101
+		'allow_call_time_pass_reference' => array(
102
+			'5.3' => false,
103
+			'5.4' => true,
104
+		),
105
+		'define_syslog_variables' => array(
106
+			'5.3' => false,
107
+			'5.4' => true,
108
+		),
109
+		'detect_unicode' => array(
110
+			'5.4'         => true,
111
+			'alternative' => 'zend.detect_unicode',
112
+		),
113
+		'highlight.bg' => array(
114
+			'5.3' => false,
115
+			'5.4' => true,
116
+		),
117
+		'magic_quotes_gpc' => array(
118
+			'5.3' => false,
119
+			'5.4' => true,
120
+		),
121
+		'magic_quotes_runtime' => array(
122
+			'5.3' => false,
123
+			'5.4' => true,
124
+		),
125
+		'magic_quotes_sybase' => array(
126
+			'5.3' => false,
127
+			'5.4' => true,
128
+		),
129
+		'mbstring.script_encoding' => array(
130
+			'5.4'         => true,
131
+			'alternative' => 'zend.script_encoding',
132
+		),
133
+		'register_globals' => array(
134
+			'5.3' => false,
135
+			'5.4' => true,
136
+		),
137
+		'register_long_arrays' => array(
138
+			'5.3' => false,
139
+			'5.4' => true,
140
+		),
141
+		'safe_mode' => array(
142
+			'5.3' => false,
143
+			'5.4' => true,
144
+		),
145
+		'safe_mode_allowed_env_vars' => array(
146
+			'5.3' => false,
147
+			'5.4' => true,
148
+		),
149
+		'safe_mode_exec_dir' => array(
150
+			'5.3' => false,
151
+			'5.4' => true,
152
+		),
153
+		'safe_mode_gid' => array(
154
+			'5.3' => false,
155
+			'5.4' => true,
156
+		),
157
+		'safe_mode_include_dir' => array(
158
+			'5.3' => false,
159
+			'5.4' => true,
160
+		),
161
+		'safe_mode_protected_env_vars' => array(
162
+			'5.3' => false,
163
+			'5.4' => true,
164
+		),
165
+		'session.bug_compat_42' => array(
166
+			'5.3' => false,
167
+			'5.4' => true,
168
+		),
169
+		'session.bug_compat_warn' => array(
170
+			'5.3' => false,
171
+			'5.4' => true,
172
+		),
173
+		'y2k_compliance' => array(
174
+			'5.3' => false,
175
+			'5.4' => true,
176
+		),
177 177
 
178
-        'always_populate_raw_post_data' => array(
179
-            '5.6' => false,
180
-            '7.0' => true,
181
-        ),
182
-        'iconv.input_encoding' => array(
183
-            '5.6' => false,
184
-        ),
185
-        'iconv.output_encoding' => array(
186
-            '5.6' => false,
187
-        ),
188
-        'iconv.internal_encoding' => array(
189
-            '5.6' => false,
190
-        ),
191
-        'mbstring.http_input' => array(
192
-            '5.6' => false,
193
-        ),
194
-        'mbstring.http_output' => array(
195
-            '5.6' => false,
196
-        ),
197
-        'mbstring.internal_encoding' => array(
198
-            '5.6' => false,
199
-        ),
178
+		'always_populate_raw_post_data' => array(
179
+			'5.6' => false,
180
+			'7.0' => true,
181
+		),
182
+		'iconv.input_encoding' => array(
183
+			'5.6' => false,
184
+		),
185
+		'iconv.output_encoding' => array(
186
+			'5.6' => false,
187
+		),
188
+		'iconv.internal_encoding' => array(
189
+			'5.6' => false,
190
+		),
191
+		'mbstring.http_input' => array(
192
+			'5.6' => false,
193
+		),
194
+		'mbstring.http_output' => array(
195
+			'5.6' => false,
196
+		),
197
+		'mbstring.internal_encoding' => array(
198
+			'5.6' => false,
199
+		),
200 200
 
201
-        'asp_tags' => array(
202
-            '7.0' => true,
203
-        ),
204
-        'xsl.security_prefs' => array(
205
-            '7.0' => true,
206
-        ),
201
+		'asp_tags' => array(
202
+			'7.0' => true,
203
+		),
204
+		'xsl.security_prefs' => array(
205
+			'7.0' => true,
206
+		),
207 207
 
208
-        'mcrypt.algorithms_dir' => array(
209
-            '7.1' => false,
210
-            '7.2' => true,
211
-        ),
212
-        'mcrypt.modes_dir' => array(
213
-            '7.1' => false,
214
-            '7.2' => true,
215
-        ),
216
-        'session.entropy_file' => array(
217
-            '7.1' => true,
218
-        ),
219
-        'session.entropy_length' => array(
220
-            '7.1' => true,
221
-        ),
222
-        'session.hash_function' => array(
223
-            '7.1' => true,
224
-        ),
225
-        'session.hash_bits_per_character' => array(
226
-            '7.1' => true,
227
-        ),
208
+		'mcrypt.algorithms_dir' => array(
209
+			'7.1' => false,
210
+			'7.2' => true,
211
+		),
212
+		'mcrypt.modes_dir' => array(
213
+			'7.1' => false,
214
+			'7.2' => true,
215
+		),
216
+		'session.entropy_file' => array(
217
+			'7.1' => true,
218
+		),
219
+		'session.entropy_length' => array(
220
+			'7.1' => true,
221
+		),
222
+		'session.hash_function' => array(
223
+			'7.1' => true,
224
+		),
225
+		'session.hash_bits_per_character' => array(
226
+			'7.1' => true,
227
+		),
228 228
 
229
-        'mbstring.func_overload' => array(
230
-            '7.2' => false,
231
-        ),
232
-        'sql.safe_mode' => array(
233
-            '7.2' => true,
234
-        ),
235
-        'track_errors' => array(
236
-            '7.2' => false,
237
-        ),
238
-        'opcache.fast_shutdown' => array(
239
-            '7.2' => true,
240
-        ),
229
+		'mbstring.func_overload' => array(
230
+			'7.2' => false,
231
+		),
232
+		'sql.safe_mode' => array(
233
+			'7.2' => true,
234
+		),
235
+		'track_errors' => array(
236
+			'7.2' => false,
237
+		),
238
+		'opcache.fast_shutdown' => array(
239
+			'7.2' => true,
240
+		),
241 241
 
242
-        'birdstep.max_links' => array(
243
-            '7.3' => true,
244
-        ),
245
-        'opcache.inherited_hack' => array(
246
-            '5.3' => false, // Soft deprecated, i.e. ignored.
247
-            '7.3' => true,
248
-        ),
249
-        'pdo_odbc.db2_instance_name' => array(
250
-            '7.3' => false, // Has been marked as deprecated in the manual from before this time. Now hard-deprecated.
251
-        ),
242
+		'birdstep.max_links' => array(
243
+			'7.3' => true,
244
+		),
245
+		'opcache.inherited_hack' => array(
246
+			'5.3' => false, // Soft deprecated, i.e. ignored.
247
+			'7.3' => true,
248
+		),
249
+		'pdo_odbc.db2_instance_name' => array(
250
+			'7.3' => false, // Has been marked as deprecated in the manual from before this time. Now hard-deprecated.
251
+		),
252 252
 
253
-        'ibase.allow_persistent' => array(
254
-            '7.4' => true,
255
-        ),
256
-        'ibase.max_persistent' => array(
257
-            '7.4' => true,
258
-        ),
259
-        'ibase.max_links' => array(
260
-            '7.4' => true,
261
-        ),
262
-        'ibase.default_db' => array(
263
-            '7.4' => true,
264
-        ),
265
-        'ibase.default_user' => array(
266
-            '7.4' => true,
267
-        ),
268
-        'ibase.default_password' => array(
269
-            '7.4' => true,
270
-        ),
271
-        'ibase.default_charset' => array(
272
-            '7.4' => true,
273
-        ),
274
-        'ibase.timestampformat' => array(
275
-            '7.4' => true,
276
-        ),
277
-        'ibase.dateformat' => array(
278
-            '7.4' => true,
279
-        ),
280
-        'ibase.timeformat' => array(
281
-            '7.4' => true,
282
-        ),
283
-    );
253
+		'ibase.allow_persistent' => array(
254
+			'7.4' => true,
255
+		),
256
+		'ibase.max_persistent' => array(
257
+			'7.4' => true,
258
+		),
259
+		'ibase.max_links' => array(
260
+			'7.4' => true,
261
+		),
262
+		'ibase.default_db' => array(
263
+			'7.4' => true,
264
+		),
265
+		'ibase.default_user' => array(
266
+			'7.4' => true,
267
+		),
268
+		'ibase.default_password' => array(
269
+			'7.4' => true,
270
+		),
271
+		'ibase.default_charset' => array(
272
+			'7.4' => true,
273
+		),
274
+		'ibase.timestampformat' => array(
275
+			'7.4' => true,
276
+		),
277
+		'ibase.dateformat' => array(
278
+			'7.4' => true,
279
+		),
280
+		'ibase.timeformat' => array(
281
+			'7.4' => true,
282
+		),
283
+	);
284 284
 
285
-    /**
286
-     * Returns an array of tokens this test wants to listen for.
287
-     *
288
-     * @return array
289
-     */
290
-    public function register()
291
-    {
292
-        return array(\T_STRING);
293
-    }
285
+	/**
286
+	 * Returns an array of tokens this test wants to listen for.
287
+	 *
288
+	 * @return array
289
+	 */
290
+	public function register()
291
+	{
292
+		return array(\T_STRING);
293
+	}
294 294
 
295
-    /**
296
-     * Processes this test, when one of its tokens is encountered.
297
-     *
298
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
299
-     * @param int                   $stackPtr  The position of the current token in the
300
-     *                                         stack passed in $tokens.
301
-     *
302
-     * @return void
303
-     */
304
-    public function process(File $phpcsFile, $stackPtr)
305
-    {
306
-        $tokens = $phpcsFile->getTokens();
295
+	/**
296
+	 * Processes this test, when one of its tokens is encountered.
297
+	 *
298
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
299
+	 * @param int                   $stackPtr  The position of the current token in the
300
+	 *                                         stack passed in $tokens.
301
+	 *
302
+	 * @return void
303
+	 */
304
+	public function process(File $phpcsFile, $stackPtr)
305
+	{
306
+		$tokens = $phpcsFile->getTokens();
307 307
 
308
-        $ignore = array(
309
-            \T_DOUBLE_COLON    => true,
310
-            \T_OBJECT_OPERATOR => true,
311
-            \T_FUNCTION        => true,
312
-            \T_CONST           => true,
313
-        );
308
+		$ignore = array(
309
+			\T_DOUBLE_COLON    => true,
310
+			\T_OBJECT_OPERATOR => true,
311
+			\T_FUNCTION        => true,
312
+			\T_CONST           => true,
313
+		);
314 314
 
315
-        $prevToken = $phpcsFile->findPrevious(\T_WHITESPACE, ($stackPtr - 1), null, true);
316
-        if (isset($ignore[$tokens[$prevToken]['code']]) === true) {
317
-            // Not a call to a PHP function.
318
-            return;
319
-        }
315
+		$prevToken = $phpcsFile->findPrevious(\T_WHITESPACE, ($stackPtr - 1), null, true);
316
+		if (isset($ignore[$tokens[$prevToken]['code']]) === true) {
317
+			// Not a call to a PHP function.
318
+			return;
319
+		}
320 320
 
321
-        $functionLc = strtolower($tokens[$stackPtr]['content']);
322
-        if (isset($this->iniFunctions[$functionLc]) === false) {
323
-            return;
324
-        }
321
+		$functionLc = strtolower($tokens[$stackPtr]['content']);
322
+		if (isset($this->iniFunctions[$functionLc]) === false) {
323
+			return;
324
+		}
325 325
 
326
-        $iniToken = $this->getFunctionCallParameter($phpcsFile, $stackPtr, $this->iniFunctions[$functionLc]);
327
-        if ($iniToken === false) {
328
-            return;
329
-        }
326
+		$iniToken = $this->getFunctionCallParameter($phpcsFile, $stackPtr, $this->iniFunctions[$functionLc]);
327
+		if ($iniToken === false) {
328
+			return;
329
+		}
330 330
 
331
-        $filteredToken = $this->stripQuotes($iniToken['raw']);
332
-        if (isset($this->deprecatedIniDirectives[$filteredToken]) === false) {
333
-            return;
334
-        }
331
+		$filteredToken = $this->stripQuotes($iniToken['raw']);
332
+		if (isset($this->deprecatedIniDirectives[$filteredToken]) === false) {
333
+			return;
334
+		}
335 335
 
336
-        $itemInfo = array(
337
-            'name'       => $filteredToken,
338
-            'functionLc' => $functionLc,
339
-        );
340
-        $this->handleFeature($phpcsFile, $iniToken['end'], $itemInfo);
341
-    }
336
+		$itemInfo = array(
337
+			'name'       => $filteredToken,
338
+			'functionLc' => $functionLc,
339
+		);
340
+		$this->handleFeature($phpcsFile, $iniToken['end'], $itemInfo);
341
+	}
342 342
 
343 343
 
344
-    /**
345
-     * Get the relevant sub-array for a specific item from a multi-dimensional array.
346
-     *
347
-     * @param array $itemInfo Base information about the item.
348
-     *
349
-     * @return array Version and other information about the item.
350
-     */
351
-    public function getItemArray(array $itemInfo)
352
-    {
353
-        return $this->deprecatedIniDirectives[$itemInfo['name']];
354
-    }
344
+	/**
345
+	 * Get the relevant sub-array for a specific item from a multi-dimensional array.
346
+	 *
347
+	 * @param array $itemInfo Base information about the item.
348
+	 *
349
+	 * @return array Version and other information about the item.
350
+	 */
351
+	public function getItemArray(array $itemInfo)
352
+	{
353
+		return $this->deprecatedIniDirectives[$itemInfo['name']];
354
+	}
355 355
 
356 356
 
357
-    /**
358
-     * Retrieve the relevant detail (version) information for use in an error message.
359
-     *
360
-     * @param array $itemArray Version and other information about the item.
361
-     * @param array $itemInfo  Base information about the item.
362
-     *
363
-     * @return array
364
-     */
365
-    public function getErrorInfo(array $itemArray, array $itemInfo)
366
-    {
367
-        $errorInfo = parent::getErrorInfo($itemArray, $itemInfo);
357
+	/**
358
+	 * Retrieve the relevant detail (version) information for use in an error message.
359
+	 *
360
+	 * @param array $itemArray Version and other information about the item.
361
+	 * @param array $itemInfo  Base information about the item.
362
+	 *
363
+	 * @return array
364
+	 */
365
+	public function getErrorInfo(array $itemArray, array $itemInfo)
366
+	{
367
+		$errorInfo = parent::getErrorInfo($itemArray, $itemInfo);
368 368
 
369
-        // Lower error level to warning if the function used was ini_get.
370
-        if ($errorInfo['error'] === true && $itemInfo['functionLc'] === 'ini_get') {
371
-            $errorInfo['error'] = false;
372
-        }
369
+		// Lower error level to warning if the function used was ini_get.
370
+		if ($errorInfo['error'] === true && $itemInfo['functionLc'] === 'ini_get') {
371
+			$errorInfo['error'] = false;
372
+		}
373 373
 
374
-        return $errorInfo;
375
-    }
374
+		return $errorInfo;
375
+	}
376 376
 
377 377
 
378
-    /**
379
-     * Get the error message template for this sniff.
380
-     *
381
-     * @return string
382
-     */
383
-    protected function getErrorMsgTemplate()
384
-    {
385
-        return "INI directive '%s' is ";
386
-    }
378
+	/**
379
+	 * Get the error message template for this sniff.
380
+	 *
381
+	 * @return string
382
+	 */
383
+	protected function getErrorMsgTemplate()
384
+	{
385
+		return "INI directive '%s' is ";
386
+	}
387 387
 
388 388
 
389
-    /**
390
-     * Get the error message template for suggesting an alternative for a specific sniff.
391
-     *
392
-     * @return string
393
-     */
394
-    protected function getAlternativeOptionTemplate()
395
-    {
396
-        return str_replace("%s", "'%s'", parent::getAlternativeOptionTemplate());
397
-    }
389
+	/**
390
+	 * Get the error message template for suggesting an alternative for a specific sniff.
391
+	 *
392
+	 * @return string
393
+	 */
394
+	protected function getAlternativeOptionTemplate()
395
+	{
396
+		return str_replace("%s", "'%s'", parent::getAlternativeOptionTemplate());
397
+	}
398 398
 }
Please login to merge, or discard this patch.
Spacing   +18 added lines, -18 removed lines patch added patch discarded remove patch
@@ -289,7 +289,7 @@  discard block
 block discarded – undo
289 289
      */
290 290
     public function register()
291 291
     {
292
-        return array(\T_STRING);
292
+        return array( \T_STRING );
293 293
     }
294 294
 
295 295
     /**
@@ -301,7 +301,7 @@  discard block
 block discarded – undo
301 301
      *
302 302
      * @return void
303 303
      */
304
-    public function process(File $phpcsFile, $stackPtr)
304
+    public function process( File $phpcsFile, $stackPtr )
305 305
     {
306 306
         $tokens = $phpcsFile->getTokens();
307 307
 
@@ -312,24 +312,24 @@  discard block
 block discarded – undo
312 312
             \T_CONST           => true,
313 313
         );
314 314
 
315
-        $prevToken = $phpcsFile->findPrevious(\T_WHITESPACE, ($stackPtr - 1), null, true);
316
-        if (isset($ignore[$tokens[$prevToken]['code']]) === true) {
315
+        $prevToken = $phpcsFile->findPrevious( \T_WHITESPACE, ( $stackPtr - 1 ), null, true );
316
+        if ( isset( $ignore[ $tokens[ $prevToken ][ 'code' ] ] ) === true ) {
317 317
             // Not a call to a PHP function.
318 318
             return;
319 319
         }
320 320
 
321
-        $functionLc = strtolower($tokens[$stackPtr]['content']);
322
-        if (isset($this->iniFunctions[$functionLc]) === false) {
321
+        $functionLc = strtolower( $tokens[ $stackPtr ][ 'content' ] );
322
+        if ( isset( $this->iniFunctions[ $functionLc ] ) === false ) {
323 323
             return;
324 324
         }
325 325
 
326
-        $iniToken = $this->getFunctionCallParameter($phpcsFile, $stackPtr, $this->iniFunctions[$functionLc]);
327
-        if ($iniToken === false) {
326
+        $iniToken = $this->getFunctionCallParameter( $phpcsFile, $stackPtr, $this->iniFunctions[ $functionLc ] );
327
+        if ( $iniToken === false ) {
328 328
             return;
329 329
         }
330 330
 
331
-        $filteredToken = $this->stripQuotes($iniToken['raw']);
332
-        if (isset($this->deprecatedIniDirectives[$filteredToken]) === false) {
331
+        $filteredToken = $this->stripQuotes( $iniToken[ 'raw' ] );
332
+        if ( isset( $this->deprecatedIniDirectives[ $filteredToken ] ) === false ) {
333 333
             return;
334 334
         }
335 335
 
@@ -337,7 +337,7 @@  discard block
 block discarded – undo
337 337
             'name'       => $filteredToken,
338 338
             'functionLc' => $functionLc,
339 339
         );
340
-        $this->handleFeature($phpcsFile, $iniToken['end'], $itemInfo);
340
+        $this->handleFeature( $phpcsFile, $iniToken[ 'end' ], $itemInfo );
341 341
     }
342 342
 
343 343
 
@@ -348,9 +348,9 @@  discard block
 block discarded – undo
348 348
      *
349 349
      * @return array Version and other information about the item.
350 350
      */
351
-    public function getItemArray(array $itemInfo)
351
+    public function getItemArray( array $itemInfo )
352 352
     {
353
-        return $this->deprecatedIniDirectives[$itemInfo['name']];
353
+        return $this->deprecatedIniDirectives[ $itemInfo[ 'name' ] ];
354 354
     }
355 355
 
356 356
 
@@ -362,13 +362,13 @@  discard block
 block discarded – undo
362 362
      *
363 363
      * @return array
364 364
      */
365
-    public function getErrorInfo(array $itemArray, array $itemInfo)
365
+    public function getErrorInfo( array $itemArray, array $itemInfo )
366 366
     {
367
-        $errorInfo = parent::getErrorInfo($itemArray, $itemInfo);
367
+        $errorInfo = parent::getErrorInfo( $itemArray, $itemInfo );
368 368
 
369 369
         // Lower error level to warning if the function used was ini_get.
370
-        if ($errorInfo['error'] === true && $itemInfo['functionLc'] === 'ini_get') {
371
-            $errorInfo['error'] = false;
370
+        if ( $errorInfo[ 'error' ] === true && $itemInfo[ 'functionLc' ] === 'ini_get' ) {
371
+            $errorInfo[ 'error' ] = false;
372 372
         }
373 373
 
374 374
         return $errorInfo;
@@ -393,6 +393,6 @@  discard block
 block discarded – undo
393 393
      */
394 394
     protected function getAlternativeOptionTemplate()
395 395
     {
396
-        return str_replace("%s", "'%s'", parent::getAlternativeOptionTemplate());
396
+        return str_replace( "%s", "'%s'", parent::getAlternativeOptionTemplate() );
397 397
     }
398 398
 }
Please login to merge, or discard this patch.
Braces   +7 added lines, -14 removed lines patch added patch discarded remove patch
@@ -23,8 +23,7 @@  discard block
 block discarded – undo
23 23
  * @author    Wim Godden <[email protected]>
24 24
  * @copyright 2012 Cu.be Solutions bvba
25 25
  */
26
-class RemovedIniDirectivesSniff extends AbstractRemovedFeatureSniff
27
-{
26
+class RemovedIniDirectivesSniff extends AbstractRemovedFeatureSniff {
28 27
     /**
29 28
      * A list of deprecated INI directives.
30 29
      *
@@ -287,8 +286,7 @@  discard block
 block discarded – undo
287 286
      *
288 287
      * @return array
289 288
      */
290
-    public function register()
291
-    {
289
+    public function register() {
292 290
         return array(\T_STRING);
293 291
     }
294 292
 
@@ -301,8 +299,7 @@  discard block
 block discarded – undo
301 299
      *
302 300
      * @return void
303 301
      */
304
-    public function process(File $phpcsFile, $stackPtr)
305
-    {
302
+    public function process(File $phpcsFile, $stackPtr) {
306 303
         $tokens = $phpcsFile->getTokens();
307 304
 
308 305
         $ignore = array(
@@ -348,8 +345,7 @@  discard block
 block discarded – undo
348 345
      *
349 346
      * @return array Version and other information about the item.
350 347
      */
351
-    public function getItemArray(array $itemInfo)
352
-    {
348
+    public function getItemArray(array $itemInfo) {
353 349
         return $this->deprecatedIniDirectives[$itemInfo['name']];
354 350
     }
355 351
 
@@ -362,8 +358,7 @@  discard block
 block discarded – undo
362 358
      *
363 359
      * @return array
364 360
      */
365
-    public function getErrorInfo(array $itemArray, array $itemInfo)
366
-    {
361
+    public function getErrorInfo(array $itemArray, array $itemInfo) {
367 362
         $errorInfo = parent::getErrorInfo($itemArray, $itemInfo);
368 363
 
369 364
         // Lower error level to warning if the function used was ini_get.
@@ -380,8 +375,7 @@  discard block
 block discarded – undo
380 375
      *
381 376
      * @return string
382 377
      */
383
-    protected function getErrorMsgTemplate()
384
-    {
378
+    protected function getErrorMsgTemplate() {
385 379
         return "INI directive '%s' is ";
386 380
     }
387 381
 
@@ -391,8 +385,7 @@  discard block
 block discarded – undo
391 385
      *
392 386
      * @return string
393 387
      */
394
-    protected function getAlternativeOptionTemplate()
395
-    {
388
+    protected function getAlternativeOptionTemplate() {
396 389
         return str_replace("%s", "'%s'", parent::getAlternativeOptionTemplate());
397 390
     }
398 391
 }
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/IniDirectives/NewIniDirectivesSniff.php 4 patches
Indentation   +635 added lines, -635 removed lines patch added patch discarded remove patch
@@ -25,639 +25,639 @@
 block discarded – undo
25 25
  */
26 26
 class NewIniDirectivesSniff extends AbstractNewFeatureSniff
27 27
 {
28
-    /**
29
-     * A list of new INI directives
30
-     *
31
-     * The array lists : version number with false (not present) or true (present).
32
-     * If's sufficient to list the first version where the ini directive appears.
33
-     *
34
-     * @var array(string)
35
-     */
36
-    protected $newIniDirectives = array(
37
-        'auto_globals_jit' => array(
38
-            '4.4' => false,
39
-            '5.0' => true,
40
-        ),
41
-        'com.code_page' => array(
42
-            '4.4' => false,
43
-            '5.0' => true,
44
-        ),
45
-        'date.default_latitude' => array(
46
-            '4.4' => false,
47
-            '5.0' => true,
48
-        ),
49
-        'date.default_longitude' => array(
50
-            '4.4' => false,
51
-            '5.0' => true,
52
-        ),
53
-        'date.sunrise_zenith' => array(
54
-            '4.4' => false,
55
-            '5.0' => true,
56
-        ),
57
-        'date.sunset_zenith' => array(
58
-            '4.4' => false,
59
-            '5.0' => true,
60
-        ),
61
-        'ibase.default_charset' => array(
62
-            '4.4' => false,
63
-            '5.0' => true,
64
-        ),
65
-        'ibase.default_db' => array(
66
-            '4.4' => false,
67
-            '5.0' => true,
68
-        ),
69
-        'mail.force_extra_parameters' => array(
70
-            '4.4' => false,
71
-            '5.0' => true,
72
-        ),
73
-        'mime_magic.debug' => array(
74
-            '4.4' => false,
75
-            '5.0' => true,
76
-        ),
77
-        'mysqli.max_links' => array(
78
-            '4.4' => false,
79
-            '5.0' => true,
80
-        ),
81
-        'mysqli.default_port' => array(
82
-            '4.4' => false,
83
-            '5.0' => true,
84
-        ),
85
-        'mysqli.default_socket' => array(
86
-            '4.4' => false,
87
-            '5.0' => true,
88
-        ),
89
-        'mysqli.default_host' => array(
90
-            '4.4' => false,
91
-            '5.0' => true,
92
-        ),
93
-        'mysqli.default_user' => array(
94
-            '4.4' => false,
95
-            '5.0' => true,
96
-        ),
97
-        'mysqli.default_pw' => array(
98
-            '4.4' => false,
99
-            '5.0' => true,
100
-        ),
101
-        'report_zend_debug' => array(
102
-            '4.4' => false,
103
-            '5.0' => true,
104
-        ),
105
-        'session.hash_bits_per_character' => array(
106
-            '4.4' => false,
107
-            '5.0' => true,
108
-        ),
109
-        'session.hash_function' => array(
110
-            '4.4' => false,
111
-            '5.0' => true,
112
-        ),
113
-        'soap.wsdl_cache_dir' => array(
114
-            '4.4' => false,
115
-            '5.0' => true,
116
-        ),
117
-        'soap.wsdl_cache_enabled' => array(
118
-            '4.4' => false,
119
-            '5.0' => true,
120
-        ),
121
-        'soap.wsdl_cache_ttl' => array(
122
-            '4.4' => false,
123
-            '5.0' => true,
124
-        ),
125
-        'sqlite.assoc_case' => array(
126
-            '4.4' => false,
127
-            '5.0' => true,
128
-        ),
129
-        'tidy.clean_output' => array(
130
-            '4.4' => false,
131
-            '5.0' => true,
132
-        ),
133
-        'tidy.default_config' => array(
134
-            '4.4' => false,
135
-            '5.0' => true,
136
-        ),
137
-        'zend.ze1_compatibility_mode' => array(
138
-            '4.4' => false,
139
-            '5.0' => true,
140
-        ),
141
-
142
-        'date.timezone' => array(
143
-            '5.0' => false,
144
-            '5.1' => true,
145
-        ),
146
-        'detect_unicode' => array(
147
-            '5.0' => false,
148
-            '5.1' => true,
149
-        ),
150
-        'fbsql.batchsize' => array(
151
-            '5.0'         => false,
152
-            '5.1'         => true,
153
-            'alternative' => 'fbsql.batchSize',
154
-        ),
155
-        'realpath_cache_size' => array(
156
-            '5.0' => false,
157
-            '5.1' => true,
158
-        ),
159
-        'realpath_cache_ttl' => array(
160
-            '5.0' => false,
161
-            '5.1' => true,
162
-        ),
163
-
164
-        'mbstring.strict_detection' => array(
165
-            '5.1.1' => false,
166
-            '5.1.2' => true,
167
-        ),
168
-        'mssql.charset' => array(
169
-            '5.1.1' => false,
170
-            '5.1.2' => true,
171
-        ),
172
-
173
-        'gd.jpeg_ignore_warning' => array(
174
-            '5.1.2' => false,
175
-            '5.1.3' => true,
176
-        ),
177
-
178
-        'fbsql.show_timestamp_decimals' => array(
179
-            '5.1.4' => false,
180
-            '5.1.5' => true,
181
-        ),
182
-        'soap.wsdl_cache' => array(
183
-            '5.1.4' => false,
184
-            '5.1.5' => true,
185
-        ),
186
-        'soap.wsdl_cache_limit' => array(
187
-            '5.1.4' => false,
188
-            '5.1.5' => true,
189
-        ),
190
-
191
-        'allow_url_include' => array(
192
-            '5.1' => false,
193
-            '5.2' => true,
194
-        ),
195
-        'filter.default' => array(
196
-            '5.1' => false,
197
-            '5.2' => true,
198
-        ),
199
-        'filter.default_flags' => array(
200
-            '5.1' => false,
201
-            '5.2' => true,
202
-        ),
203
-        'pcre.backtrack_limit' => array(
204
-            '5.1' => false,
205
-            '5.2' => true,
206
-        ),
207
-        'pcre.recursion_limit' => array(
208
-            '5.1' => false,
209
-            '5.2' => true,
210
-        ),
211
-        'session.cookie_httponly' => array(
212
-            '5.1' => false,
213
-            '5.2' => true,
214
-        ),
215
-
216
-        'cgi.check_shebang_line' => array(
217
-            '5.2.0' => false,
218
-            '5.2.1' => true,
219
-        ),
220
-
221
-        'max_input_nesting_level' => array(
222
-            '5.2.2' => false,
223
-            '5.2.3' => true,
224
-        ),
225
-
226
-        'mysqli.allow_local_infile' => array(
227
-            '5.2.3' => false,
228
-            '5.2.4' => true,
229
-        ),
230
-
231
-        'max_file_uploads' => array(
232
-            '5.2.11' => false,
233
-            '5.2.12' => true,
234
-        ),
235
-
236
-        'cgi.discard_path' => array(
237
-            '5.2' => false,
238
-            '5.3' => true,
239
-        ),
240
-        'exit_on_timeout' => array(
241
-            '5.2' => false,
242
-            '5.3' => true,
243
-        ),
244
-        'intl.default_locale' => array(
245
-            '5.2' => false,
246
-            '5.3' => true,
247
-        ),
248
-        'intl.error_level' => array(
249
-            '5.2' => false,
250
-            '5.3' => true,
251
-        ),
252
-        'mail.add_x_header' => array(
253
-            '5.2' => false,
254
-            '5.3' => true,
255
-        ),
256
-        'mail.log' => array(
257
-            '5.2' => false,
258
-            '5.3' => true,
259
-        ),
260
-        'mbstring.http_output_conv_mimetype' => array(
261
-            '5.2' => false,
262
-            '5.3' => true,
263
-        ),
264
-        'mysqli.allow_persistent' => array(
265
-            '5.2' => false,
266
-            '5.3' => true,
267
-        ),
268
-        'mysqli.cache_size' => array(
269
-            '5.2' => false,
270
-            '5.3' => true,
271
-        ),
272
-        'mysqli.max_persistent' => array(
273
-            '5.2' => false,
274
-            '5.3' => true,
275
-        ),
276
-        'mysqlnd.collect_memory_statistics' => array(
277
-            '5.2' => false,
278
-            '5.3' => true,
279
-        ),
280
-        'mysqlnd.collect_statistics' => array(
281
-            '5.2' => false,
282
-            '5.3' => true,
283
-        ),
284
-        'mysqlnd.debug' => array(
285
-            '5.2' => false,
286
-            '5.3' => true,
287
-        ),
288
-        'mysqlnd.net_read_buffer_size' => array(
289
-            '5.2' => false,
290
-            '5.3' => true,
291
-        ),
292
-        'odbc.default_cursortype' => array(
293
-            '5.2' => false,
294
-            '5.3' => true,
295
-        ),
296
-        'request_order' => array(
297
-            '5.2' => false,
298
-            '5.3' => true,
299
-        ),
300
-        'user_ini.cache_ttl' => array(
301
-            '5.2' => false,
302
-            '5.3' => true,
303
-        ),
304
-        'user_ini.filename' => array(
305
-            '5.2' => false,
306
-            '5.3' => true,
307
-        ),
308
-        'zend.enable_gc' => array(
309
-            '5.2' => false,
310
-            '5.3' => true,
311
-        ),
312
-
313
-        'curl.cainfo' => array(
314
-            '5.3.6' => false,
315
-            '5.3.7' => true,
316
-        ),
317
-
318
-        'max_input_vars' => array(
319
-            '5.3.8' => false,
320
-            '5.3.9' => true,
321
-        ),
322
-
323
-        'sqlite3.extension_dir' => array(
324
-            '5.3.10' => false,
325
-            '5.3.11' => true,
326
-        ),
327
-
328
-        'cli.pager' => array(
329
-            '5.3' => false,
330
-            '5.4' => true,
331
-        ),
332
-        'cli.prompt' => array(
333
-            '5.3' => false,
334
-            '5.4' => true,
335
-        ),
336
-        'cli_server.color' => array(
337
-            '5.3' => false,
338
-            '5.4' => true,
339
-        ),
340
-        'enable_post_data_reading' => array(
341
-            '5.3' => false,
342
-            '5.4' => true,
343
-        ),
344
-        'mysqlnd.mempool_default_size' => array(
345
-            '5.3' => false,
346
-            '5.4' => true,
347
-        ),
348
-        'mysqlnd.net_cmd_buffer_size' => array(
349
-            '5.3' => false,
350
-            '5.4' => true,
351
-        ),
352
-        'mysqlnd.net_read_timeout' => array(
353
-            '5.3' => false,
354
-            '5.4' => true,
355
-        ),
356
-        'phar.cache_list' => array(
357
-            '5.3' => false,
358
-            '5.4' => true,
359
-        ),
360
-        'session.upload_progress.enabled' => array(
361
-            '5.3' => false,
362
-            '5.4' => true,
363
-        ),
364
-        'session.upload_progress.cleanup' => array(
365
-            '5.3' => false,
366
-            '5.4' => true,
367
-        ),
368
-        'session.upload_progress.name' => array(
369
-            '5.3' => false,
370
-            '5.4' => true,
371
-        ),
372
-        'session.upload_progress.freq' => array(
373
-            '5.3' => false,
374
-            '5.4' => true,
375
-        ),
376
-        'session.upload_progress.min_freq' => array(
377
-            '5.3' => false,
378
-            '5.4' => true,
379
-        ),
380
-        'session.upload_progress.prefix' => array(
381
-            '5.3' => false,
382
-            '5.4' => true,
383
-        ),
384
-        'windows_show_crt_warning' => array(
385
-            '5.3' => false,
386
-            '5.4' => true,
387
-        ),
388
-        'zend.detect_unicode' => array(
389
-            '5.3'         => false,
390
-            '5.4'         => true,
391
-            'alternative' => 'detect_unicode',
392
-        ),
393
-        'zend.multibyte' => array(
394
-            '5.3' => false,
395
-            '5.4' => true,
396
-        ),
397
-        'zend.script_encoding' => array(
398
-            '5.3' => false,
399
-            '5.4' => true,
400
-        ),
401
-        'zend.signal_check' => array(
402
-            '5.3' => false,
403
-            '5.4' => true,
404
-        ),
405
-        'mysqlnd.log_mask' => array(
406
-            '5.3' => false,
407
-            '5.4' => true,
408
-        ),
409
-
410
-        'intl.use_exceptions' => array(
411
-            '5.4' => false,
412
-            '5.5' => true,
413
-        ),
414
-        'mysqlnd.sha256_server_public_key' => array(
415
-            '5.4' => false,
416
-            '5.5' => true,
417
-        ),
418
-        'mysqlnd.trace_alloc' => array(
419
-            '5.4' => false,
420
-            '5.5' => true,
421
-        ),
422
-        'sys_temp_dir' => array(
423
-            '5.4' => false,
424
-            '5.5' => true,
425
-        ),
426
-        'xsl.security_prefs' => array(
427
-            '5.4' => false,
428
-            '5.5' => true,
429
-        ),
430
-
431
-        'session.use_strict_mode' => array(
432
-            '5.5.1' => false,
433
-            '5.5.2' => true,
434
-        ),
435
-
436
-        'mysqli.rollback_on_cached_plink' => array(
437
-            '5.5' => false,
438
-            '5.6' => true,
439
-        ),
440
-
441
-        'assert.exception' => array(
442
-            '5.6' => false,
443
-            '7.0' => true,
444
-        ),
445
-        'pcre.jit' => array(
446
-            '5.6' => false,
447
-            '7.0' => true,
448
-        ),
449
-        'session.lazy_write' => array(
450
-            '5.6' => false,
451
-            '7.0' => true,
452
-        ),
453
-        'zend.assertions' => array(
454
-            '5.6' => false,
455
-            '7.0' => true,
456
-        ),
457
-
458
-        'hard_timeout' => array(
459
-            '7.0' => false,
460
-            '7.1' => true,
461
-        ),
462
-        'session.sid_length' => array(
463
-            '7.0' => false,
464
-            '7.1' => true,
465
-        ),
466
-        'session.sid_bits_per_character' => array(
467
-            '7.0' => false,
468
-            '7.1' => true,
469
-        ),
470
-        'session.trans_sid_hosts' => array(
471
-            '7.0' => false,
472
-            '7.1' => true,
473
-        ),
474
-        'session.trans_sid_tags' => array(
475
-            '7.0' => false,
476
-            '7.1' => true,
477
-        ),
478
-        'url_rewriter.hosts' => array(
479
-            '7.0' => false,
480
-            '7.1' => true,
481
-        ),
482
-
483
-        // Introduced in PHP 7.1.25, 7.2.13, 7.3.0.
484
-        'imap.enable_insecure_rsh' => array(
485
-            '7.1.24' => false,
486
-            '7.1.25' => true,
487
-        ),
488
-
489
-        'syslog.facility' => array(
490
-            '7.2' => false,
491
-            '7.3' => true,
492
-        ),
493
-        'syslog.filter' => array(
494
-            '7.2' => false,
495
-            '7.3' => true,
496
-        ),
497
-        'syslog.ident' => array(
498
-            '7.2' => false,
499
-            '7.3' => true,
500
-        ),
501
-        'session.cookie_samesite' => array(
502
-            '7.2' => false,
503
-            '7.3' => true,
504
-        ),
505
-    );
506
-
507
-    /**
508
-     * Returns an array of tokens this test wants to listen for.
509
-     *
510
-     * @return array
511
-     */
512
-    public function register()
513
-    {
514
-        return array(\T_STRING);
515
-    }
516
-
517
-    /**
518
-     * Processes this test, when one of its tokens is encountered.
519
-     *
520
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
521
-     * @param int                   $stackPtr  The position of the current token in the
522
-     *                                         stack passed in $tokens.
523
-     *
524
-     * @return void
525
-     */
526
-    public function process(File $phpcsFile, $stackPtr)
527
-    {
528
-        $tokens = $phpcsFile->getTokens();
529
-
530
-        $ignore = array(
531
-            \T_DOUBLE_COLON    => true,
532
-            \T_OBJECT_OPERATOR => true,
533
-            \T_FUNCTION        => true,
534
-            \T_CONST           => true,
535
-        );
536
-
537
-        $prevToken = $phpcsFile->findPrevious(\T_WHITESPACE, ($stackPtr - 1), null, true);
538
-        if (isset($ignore[$tokens[$prevToken]['code']]) === true) {
539
-            // Not a call to a PHP function.
540
-            return;
541
-        }
542
-
543
-        $functionLc = strtolower($tokens[$stackPtr]['content']);
544
-        if (isset($this->iniFunctions[$functionLc]) === false) {
545
-            return;
546
-        }
547
-
548
-        $iniToken = $this->getFunctionCallParameter($phpcsFile, $stackPtr, $this->iniFunctions[$functionLc]);
549
-        if ($iniToken === false) {
550
-            return;
551
-        }
552
-
553
-        $filteredToken = $this->stripQuotes($iniToken['raw']);
554
-        if (isset($this->newIniDirectives[$filteredToken]) === false) {
555
-            return;
556
-        }
557
-
558
-        $itemInfo = array(
559
-            'name'       => $filteredToken,
560
-            'functionLc' => $functionLc,
561
-        );
562
-        $this->handleFeature($phpcsFile, $iniToken['end'], $itemInfo);
563
-    }
564
-
565
-
566
-    /**
567
-     * Get the relevant sub-array for a specific item from a multi-dimensional array.
568
-     *
569
-     * @param array $itemInfo Base information about the item.
570
-     *
571
-     * @return array Version and other information about the item.
572
-     */
573
-    public function getItemArray(array $itemInfo)
574
-    {
575
-        return $this->newIniDirectives[$itemInfo['name']];
576
-    }
577
-
578
-
579
-    /**
580
-     * Get an array of the non-PHP-version array keys used in a sub-array.
581
-     *
582
-     * @return array
583
-     */
584
-    protected function getNonVersionArrayKeys()
585
-    {
586
-        return array('alternative');
587
-    }
588
-
589
-
590
-    /**
591
-     * Retrieve the relevant detail (version) information for use in an error message.
592
-     *
593
-     * @param array $itemArray Version and other information about the item.
594
-     * @param array $itemInfo  Base information about the item.
595
-     *
596
-     * @return array
597
-     */
598
-    public function getErrorInfo(array $itemArray, array $itemInfo)
599
-    {
600
-        $errorInfo                = parent::getErrorInfo($itemArray, $itemInfo);
601
-        $errorInfo['alternative'] = '';
602
-
603
-        if (isset($itemArray['alternative']) === true) {
604
-            $errorInfo['alternative'] = $itemArray['alternative'];
605
-        }
606
-
607
-        // Lower error level to warning if the function used was ini_get.
608
-        if ($errorInfo['error'] === true && $itemInfo['functionLc'] === 'ini_get') {
609
-            $errorInfo['error'] = false;
610
-        }
611
-
612
-        return $errorInfo;
613
-    }
614
-
615
-
616
-    /**
617
-     * Get the error message template for this sniff.
618
-     *
619
-     * @return string
620
-     */
621
-    protected function getErrorMsgTemplate()
622
-    {
623
-        return "INI directive '%s' is not present in PHP version %s or earlier";
624
-    }
625
-
626
-
627
-    /**
628
-     * Allow for concrete child classes to filter the error message before it's passed to PHPCS.
629
-     *
630
-     * @param string $error     The error message which was created.
631
-     * @param array  $itemInfo  Base information about the item this error message applies to.
632
-     * @param array  $errorInfo Detail information about an item this error message applies to.
633
-     *
634
-     * @return string
635
-     */
636
-    protected function filterErrorMsg($error, array $itemInfo, array $errorInfo)
637
-    {
638
-        if ($errorInfo['alternative'] !== '') {
639
-            $error .= ". This directive was previously called '%s'.";
640
-        }
641
-
642
-        return $error;
643
-    }
644
-
645
-
646
-    /**
647
-     * Allow for concrete child classes to filter the error data before it's passed to PHPCS.
648
-     *
649
-     * @param array $data      The error data array which was created.
650
-     * @param array $itemInfo  Base information about the item this error message applies to.
651
-     * @param array $errorInfo Detail information about an item this error message applies to.
652
-     *
653
-     * @return array
654
-     */
655
-    protected function filterErrorData(array $data, array $itemInfo, array $errorInfo)
656
-    {
657
-        if ($errorInfo['alternative'] !== '') {
658
-            $data[] = $errorInfo['alternative'];
659
-        }
660
-
661
-        return $data;
662
-    }
28
+	/**
29
+	 * A list of new INI directives
30
+	 *
31
+	 * The array lists : version number with false (not present) or true (present).
32
+	 * If's sufficient to list the first version where the ini directive appears.
33
+	 *
34
+	 * @var array(string)
35
+	 */
36
+	protected $newIniDirectives = array(
37
+		'auto_globals_jit' => array(
38
+			'4.4' => false,
39
+			'5.0' => true,
40
+		),
41
+		'com.code_page' => array(
42
+			'4.4' => false,
43
+			'5.0' => true,
44
+		),
45
+		'date.default_latitude' => array(
46
+			'4.4' => false,
47
+			'5.0' => true,
48
+		),
49
+		'date.default_longitude' => array(
50
+			'4.4' => false,
51
+			'5.0' => true,
52
+		),
53
+		'date.sunrise_zenith' => array(
54
+			'4.4' => false,
55
+			'5.0' => true,
56
+		),
57
+		'date.sunset_zenith' => array(
58
+			'4.4' => false,
59
+			'5.0' => true,
60
+		),
61
+		'ibase.default_charset' => array(
62
+			'4.4' => false,
63
+			'5.0' => true,
64
+		),
65
+		'ibase.default_db' => array(
66
+			'4.4' => false,
67
+			'5.0' => true,
68
+		),
69
+		'mail.force_extra_parameters' => array(
70
+			'4.4' => false,
71
+			'5.0' => true,
72
+		),
73
+		'mime_magic.debug' => array(
74
+			'4.4' => false,
75
+			'5.0' => true,
76
+		),
77
+		'mysqli.max_links' => array(
78
+			'4.4' => false,
79
+			'5.0' => true,
80
+		),
81
+		'mysqli.default_port' => array(
82
+			'4.4' => false,
83
+			'5.0' => true,
84
+		),
85
+		'mysqli.default_socket' => array(
86
+			'4.4' => false,
87
+			'5.0' => true,
88
+		),
89
+		'mysqli.default_host' => array(
90
+			'4.4' => false,
91
+			'5.0' => true,
92
+		),
93
+		'mysqli.default_user' => array(
94
+			'4.4' => false,
95
+			'5.0' => true,
96
+		),
97
+		'mysqli.default_pw' => array(
98
+			'4.4' => false,
99
+			'5.0' => true,
100
+		),
101
+		'report_zend_debug' => array(
102
+			'4.4' => false,
103
+			'5.0' => true,
104
+		),
105
+		'session.hash_bits_per_character' => array(
106
+			'4.4' => false,
107
+			'5.0' => true,
108
+		),
109
+		'session.hash_function' => array(
110
+			'4.4' => false,
111
+			'5.0' => true,
112
+		),
113
+		'soap.wsdl_cache_dir' => array(
114
+			'4.4' => false,
115
+			'5.0' => true,
116
+		),
117
+		'soap.wsdl_cache_enabled' => array(
118
+			'4.4' => false,
119
+			'5.0' => true,
120
+		),
121
+		'soap.wsdl_cache_ttl' => array(
122
+			'4.4' => false,
123
+			'5.0' => true,
124
+		),
125
+		'sqlite.assoc_case' => array(
126
+			'4.4' => false,
127
+			'5.0' => true,
128
+		),
129
+		'tidy.clean_output' => array(
130
+			'4.4' => false,
131
+			'5.0' => true,
132
+		),
133
+		'tidy.default_config' => array(
134
+			'4.4' => false,
135
+			'5.0' => true,
136
+		),
137
+		'zend.ze1_compatibility_mode' => array(
138
+			'4.4' => false,
139
+			'5.0' => true,
140
+		),
141
+
142
+		'date.timezone' => array(
143
+			'5.0' => false,
144
+			'5.1' => true,
145
+		),
146
+		'detect_unicode' => array(
147
+			'5.0' => false,
148
+			'5.1' => true,
149
+		),
150
+		'fbsql.batchsize' => array(
151
+			'5.0'         => false,
152
+			'5.1'         => true,
153
+			'alternative' => 'fbsql.batchSize',
154
+		),
155
+		'realpath_cache_size' => array(
156
+			'5.0' => false,
157
+			'5.1' => true,
158
+		),
159
+		'realpath_cache_ttl' => array(
160
+			'5.0' => false,
161
+			'5.1' => true,
162
+		),
163
+
164
+		'mbstring.strict_detection' => array(
165
+			'5.1.1' => false,
166
+			'5.1.2' => true,
167
+		),
168
+		'mssql.charset' => array(
169
+			'5.1.1' => false,
170
+			'5.1.2' => true,
171
+		),
172
+
173
+		'gd.jpeg_ignore_warning' => array(
174
+			'5.1.2' => false,
175
+			'5.1.3' => true,
176
+		),
177
+
178
+		'fbsql.show_timestamp_decimals' => array(
179
+			'5.1.4' => false,
180
+			'5.1.5' => true,
181
+		),
182
+		'soap.wsdl_cache' => array(
183
+			'5.1.4' => false,
184
+			'5.1.5' => true,
185
+		),
186
+		'soap.wsdl_cache_limit' => array(
187
+			'5.1.4' => false,
188
+			'5.1.5' => true,
189
+		),
190
+
191
+		'allow_url_include' => array(
192
+			'5.1' => false,
193
+			'5.2' => true,
194
+		),
195
+		'filter.default' => array(
196
+			'5.1' => false,
197
+			'5.2' => true,
198
+		),
199
+		'filter.default_flags' => array(
200
+			'5.1' => false,
201
+			'5.2' => true,
202
+		),
203
+		'pcre.backtrack_limit' => array(
204
+			'5.1' => false,
205
+			'5.2' => true,
206
+		),
207
+		'pcre.recursion_limit' => array(
208
+			'5.1' => false,
209
+			'5.2' => true,
210
+		),
211
+		'session.cookie_httponly' => array(
212
+			'5.1' => false,
213
+			'5.2' => true,
214
+		),
215
+
216
+		'cgi.check_shebang_line' => array(
217
+			'5.2.0' => false,
218
+			'5.2.1' => true,
219
+		),
220
+
221
+		'max_input_nesting_level' => array(
222
+			'5.2.2' => false,
223
+			'5.2.3' => true,
224
+		),
225
+
226
+		'mysqli.allow_local_infile' => array(
227
+			'5.2.3' => false,
228
+			'5.2.4' => true,
229
+		),
230
+
231
+		'max_file_uploads' => array(
232
+			'5.2.11' => false,
233
+			'5.2.12' => true,
234
+		),
235
+
236
+		'cgi.discard_path' => array(
237
+			'5.2' => false,
238
+			'5.3' => true,
239
+		),
240
+		'exit_on_timeout' => array(
241
+			'5.2' => false,
242
+			'5.3' => true,
243
+		),
244
+		'intl.default_locale' => array(
245
+			'5.2' => false,
246
+			'5.3' => true,
247
+		),
248
+		'intl.error_level' => array(
249
+			'5.2' => false,
250
+			'5.3' => true,
251
+		),
252
+		'mail.add_x_header' => array(
253
+			'5.2' => false,
254
+			'5.3' => true,
255
+		),
256
+		'mail.log' => array(
257
+			'5.2' => false,
258
+			'5.3' => true,
259
+		),
260
+		'mbstring.http_output_conv_mimetype' => array(
261
+			'5.2' => false,
262
+			'5.3' => true,
263
+		),
264
+		'mysqli.allow_persistent' => array(
265
+			'5.2' => false,
266
+			'5.3' => true,
267
+		),
268
+		'mysqli.cache_size' => array(
269
+			'5.2' => false,
270
+			'5.3' => true,
271
+		),
272
+		'mysqli.max_persistent' => array(
273
+			'5.2' => false,
274
+			'5.3' => true,
275
+		),
276
+		'mysqlnd.collect_memory_statistics' => array(
277
+			'5.2' => false,
278
+			'5.3' => true,
279
+		),
280
+		'mysqlnd.collect_statistics' => array(
281
+			'5.2' => false,
282
+			'5.3' => true,
283
+		),
284
+		'mysqlnd.debug' => array(
285
+			'5.2' => false,
286
+			'5.3' => true,
287
+		),
288
+		'mysqlnd.net_read_buffer_size' => array(
289
+			'5.2' => false,
290
+			'5.3' => true,
291
+		),
292
+		'odbc.default_cursortype' => array(
293
+			'5.2' => false,
294
+			'5.3' => true,
295
+		),
296
+		'request_order' => array(
297
+			'5.2' => false,
298
+			'5.3' => true,
299
+		),
300
+		'user_ini.cache_ttl' => array(
301
+			'5.2' => false,
302
+			'5.3' => true,
303
+		),
304
+		'user_ini.filename' => array(
305
+			'5.2' => false,
306
+			'5.3' => true,
307
+		),
308
+		'zend.enable_gc' => array(
309
+			'5.2' => false,
310
+			'5.3' => true,
311
+		),
312
+
313
+		'curl.cainfo' => array(
314
+			'5.3.6' => false,
315
+			'5.3.7' => true,
316
+		),
317
+
318
+		'max_input_vars' => array(
319
+			'5.3.8' => false,
320
+			'5.3.9' => true,
321
+		),
322
+
323
+		'sqlite3.extension_dir' => array(
324
+			'5.3.10' => false,
325
+			'5.3.11' => true,
326
+		),
327
+
328
+		'cli.pager' => array(
329
+			'5.3' => false,
330
+			'5.4' => true,
331
+		),
332
+		'cli.prompt' => array(
333
+			'5.3' => false,
334
+			'5.4' => true,
335
+		),
336
+		'cli_server.color' => array(
337
+			'5.3' => false,
338
+			'5.4' => true,
339
+		),
340
+		'enable_post_data_reading' => array(
341
+			'5.3' => false,
342
+			'5.4' => true,
343
+		),
344
+		'mysqlnd.mempool_default_size' => array(
345
+			'5.3' => false,
346
+			'5.4' => true,
347
+		),
348
+		'mysqlnd.net_cmd_buffer_size' => array(
349
+			'5.3' => false,
350
+			'5.4' => true,
351
+		),
352
+		'mysqlnd.net_read_timeout' => array(
353
+			'5.3' => false,
354
+			'5.4' => true,
355
+		),
356
+		'phar.cache_list' => array(
357
+			'5.3' => false,
358
+			'5.4' => true,
359
+		),
360
+		'session.upload_progress.enabled' => array(
361
+			'5.3' => false,
362
+			'5.4' => true,
363
+		),
364
+		'session.upload_progress.cleanup' => array(
365
+			'5.3' => false,
366
+			'5.4' => true,
367
+		),
368
+		'session.upload_progress.name' => array(
369
+			'5.3' => false,
370
+			'5.4' => true,
371
+		),
372
+		'session.upload_progress.freq' => array(
373
+			'5.3' => false,
374
+			'5.4' => true,
375
+		),
376
+		'session.upload_progress.min_freq' => array(
377
+			'5.3' => false,
378
+			'5.4' => true,
379
+		),
380
+		'session.upload_progress.prefix' => array(
381
+			'5.3' => false,
382
+			'5.4' => true,
383
+		),
384
+		'windows_show_crt_warning' => array(
385
+			'5.3' => false,
386
+			'5.4' => true,
387
+		),
388
+		'zend.detect_unicode' => array(
389
+			'5.3'         => false,
390
+			'5.4'         => true,
391
+			'alternative' => 'detect_unicode',
392
+		),
393
+		'zend.multibyte' => array(
394
+			'5.3' => false,
395
+			'5.4' => true,
396
+		),
397
+		'zend.script_encoding' => array(
398
+			'5.3' => false,
399
+			'5.4' => true,
400
+		),
401
+		'zend.signal_check' => array(
402
+			'5.3' => false,
403
+			'5.4' => true,
404
+		),
405
+		'mysqlnd.log_mask' => array(
406
+			'5.3' => false,
407
+			'5.4' => true,
408
+		),
409
+
410
+		'intl.use_exceptions' => array(
411
+			'5.4' => false,
412
+			'5.5' => true,
413
+		),
414
+		'mysqlnd.sha256_server_public_key' => array(
415
+			'5.4' => false,
416
+			'5.5' => true,
417
+		),
418
+		'mysqlnd.trace_alloc' => array(
419
+			'5.4' => false,
420
+			'5.5' => true,
421
+		),
422
+		'sys_temp_dir' => array(
423
+			'5.4' => false,
424
+			'5.5' => true,
425
+		),
426
+		'xsl.security_prefs' => array(
427
+			'5.4' => false,
428
+			'5.5' => true,
429
+		),
430
+
431
+		'session.use_strict_mode' => array(
432
+			'5.5.1' => false,
433
+			'5.5.2' => true,
434
+		),
435
+
436
+		'mysqli.rollback_on_cached_plink' => array(
437
+			'5.5' => false,
438
+			'5.6' => true,
439
+		),
440
+
441
+		'assert.exception' => array(
442
+			'5.6' => false,
443
+			'7.0' => true,
444
+		),
445
+		'pcre.jit' => array(
446
+			'5.6' => false,
447
+			'7.0' => true,
448
+		),
449
+		'session.lazy_write' => array(
450
+			'5.6' => false,
451
+			'7.0' => true,
452
+		),
453
+		'zend.assertions' => array(
454
+			'5.6' => false,
455
+			'7.0' => true,
456
+		),
457
+
458
+		'hard_timeout' => array(
459
+			'7.0' => false,
460
+			'7.1' => true,
461
+		),
462
+		'session.sid_length' => array(
463
+			'7.0' => false,
464
+			'7.1' => true,
465
+		),
466
+		'session.sid_bits_per_character' => array(
467
+			'7.0' => false,
468
+			'7.1' => true,
469
+		),
470
+		'session.trans_sid_hosts' => array(
471
+			'7.0' => false,
472
+			'7.1' => true,
473
+		),
474
+		'session.trans_sid_tags' => array(
475
+			'7.0' => false,
476
+			'7.1' => true,
477
+		),
478
+		'url_rewriter.hosts' => array(
479
+			'7.0' => false,
480
+			'7.1' => true,
481
+		),
482
+
483
+		// Introduced in PHP 7.1.25, 7.2.13, 7.3.0.
484
+		'imap.enable_insecure_rsh' => array(
485
+			'7.1.24' => false,
486
+			'7.1.25' => true,
487
+		),
488
+
489
+		'syslog.facility' => array(
490
+			'7.2' => false,
491
+			'7.3' => true,
492
+		),
493
+		'syslog.filter' => array(
494
+			'7.2' => false,
495
+			'7.3' => true,
496
+		),
497
+		'syslog.ident' => array(
498
+			'7.2' => false,
499
+			'7.3' => true,
500
+		),
501
+		'session.cookie_samesite' => array(
502
+			'7.2' => false,
503
+			'7.3' => true,
504
+		),
505
+	);
506
+
507
+	/**
508
+	 * Returns an array of tokens this test wants to listen for.
509
+	 *
510
+	 * @return array
511
+	 */
512
+	public function register()
513
+	{
514
+		return array(\T_STRING);
515
+	}
516
+
517
+	/**
518
+	 * Processes this test, when one of its tokens is encountered.
519
+	 *
520
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
521
+	 * @param int                   $stackPtr  The position of the current token in the
522
+	 *                                         stack passed in $tokens.
523
+	 *
524
+	 * @return void
525
+	 */
526
+	public function process(File $phpcsFile, $stackPtr)
527
+	{
528
+		$tokens = $phpcsFile->getTokens();
529
+
530
+		$ignore = array(
531
+			\T_DOUBLE_COLON    => true,
532
+			\T_OBJECT_OPERATOR => true,
533
+			\T_FUNCTION        => true,
534
+			\T_CONST           => true,
535
+		);
536
+
537
+		$prevToken = $phpcsFile->findPrevious(\T_WHITESPACE, ($stackPtr - 1), null, true);
538
+		if (isset($ignore[$tokens[$prevToken]['code']]) === true) {
539
+			// Not a call to a PHP function.
540
+			return;
541
+		}
542
+
543
+		$functionLc = strtolower($tokens[$stackPtr]['content']);
544
+		if (isset($this->iniFunctions[$functionLc]) === false) {
545
+			return;
546
+		}
547
+
548
+		$iniToken = $this->getFunctionCallParameter($phpcsFile, $stackPtr, $this->iniFunctions[$functionLc]);
549
+		if ($iniToken === false) {
550
+			return;
551
+		}
552
+
553
+		$filteredToken = $this->stripQuotes($iniToken['raw']);
554
+		if (isset($this->newIniDirectives[$filteredToken]) === false) {
555
+			return;
556
+		}
557
+
558
+		$itemInfo = array(
559
+			'name'       => $filteredToken,
560
+			'functionLc' => $functionLc,
561
+		);
562
+		$this->handleFeature($phpcsFile, $iniToken['end'], $itemInfo);
563
+	}
564
+
565
+
566
+	/**
567
+	 * Get the relevant sub-array for a specific item from a multi-dimensional array.
568
+	 *
569
+	 * @param array $itemInfo Base information about the item.
570
+	 *
571
+	 * @return array Version and other information about the item.
572
+	 */
573
+	public function getItemArray(array $itemInfo)
574
+	{
575
+		return $this->newIniDirectives[$itemInfo['name']];
576
+	}
577
+
578
+
579
+	/**
580
+	 * Get an array of the non-PHP-version array keys used in a sub-array.
581
+	 *
582
+	 * @return array
583
+	 */
584
+	protected function getNonVersionArrayKeys()
585
+	{
586
+		return array('alternative');
587
+	}
588
+
589
+
590
+	/**
591
+	 * Retrieve the relevant detail (version) information for use in an error message.
592
+	 *
593
+	 * @param array $itemArray Version and other information about the item.
594
+	 * @param array $itemInfo  Base information about the item.
595
+	 *
596
+	 * @return array
597
+	 */
598
+	public function getErrorInfo(array $itemArray, array $itemInfo)
599
+	{
600
+		$errorInfo                = parent::getErrorInfo($itemArray, $itemInfo);
601
+		$errorInfo['alternative'] = '';
602
+
603
+		if (isset($itemArray['alternative']) === true) {
604
+			$errorInfo['alternative'] = $itemArray['alternative'];
605
+		}
606
+
607
+		// Lower error level to warning if the function used was ini_get.
608
+		if ($errorInfo['error'] === true && $itemInfo['functionLc'] === 'ini_get') {
609
+			$errorInfo['error'] = false;
610
+		}
611
+
612
+		return $errorInfo;
613
+	}
614
+
615
+
616
+	/**
617
+	 * Get the error message template for this sniff.
618
+	 *
619
+	 * @return string
620
+	 */
621
+	protected function getErrorMsgTemplate()
622
+	{
623
+		return "INI directive '%s' is not present in PHP version %s or earlier";
624
+	}
625
+
626
+
627
+	/**
628
+	 * Allow for concrete child classes to filter the error message before it's passed to PHPCS.
629
+	 *
630
+	 * @param string $error     The error message which was created.
631
+	 * @param array  $itemInfo  Base information about the item this error message applies to.
632
+	 * @param array  $errorInfo Detail information about an item this error message applies to.
633
+	 *
634
+	 * @return string
635
+	 */
636
+	protected function filterErrorMsg($error, array $itemInfo, array $errorInfo)
637
+	{
638
+		if ($errorInfo['alternative'] !== '') {
639
+			$error .= ". This directive was previously called '%s'.";
640
+		}
641
+
642
+		return $error;
643
+	}
644
+
645
+
646
+	/**
647
+	 * Allow for concrete child classes to filter the error data before it's passed to PHPCS.
648
+	 *
649
+	 * @param array $data      The error data array which was created.
650
+	 * @param array $itemInfo  Base information about the item this error message applies to.
651
+	 * @param array $errorInfo Detail information about an item this error message applies to.
652
+	 *
653
+	 * @return array
654
+	 */
655
+	protected function filterErrorData(array $data, array $itemInfo, array $errorInfo)
656
+	{
657
+		if ($errorInfo['alternative'] !== '') {
658
+			$data[] = $errorInfo['alternative'];
659
+		}
660
+
661
+		return $data;
662
+	}
663 663
 }
Please login to merge, or discard this patch.
Spacing   +26 added lines, -26 removed lines patch added patch discarded remove patch
@@ -511,7 +511,7 @@  discard block
 block discarded – undo
511 511
      */
512 512
     public function register()
513 513
     {
514
-        return array(\T_STRING);
514
+        return array( \T_STRING );
515 515
     }
516 516
 
517 517
     /**
@@ -523,7 +523,7 @@  discard block
 block discarded – undo
523 523
      *
524 524
      * @return void
525 525
      */
526
-    public function process(File $phpcsFile, $stackPtr)
526
+    public function process( File $phpcsFile, $stackPtr )
527 527
     {
528 528
         $tokens = $phpcsFile->getTokens();
529 529
 
@@ -534,24 +534,24 @@  discard block
 block discarded – undo
534 534
             \T_CONST           => true,
535 535
         );
536 536
 
537
-        $prevToken = $phpcsFile->findPrevious(\T_WHITESPACE, ($stackPtr - 1), null, true);
538
-        if (isset($ignore[$tokens[$prevToken]['code']]) === true) {
537
+        $prevToken = $phpcsFile->findPrevious( \T_WHITESPACE, ( $stackPtr - 1 ), null, true );
538
+        if ( isset( $ignore[ $tokens[ $prevToken ][ 'code' ] ] ) === true ) {
539 539
             // Not a call to a PHP function.
540 540
             return;
541 541
         }
542 542
 
543
-        $functionLc = strtolower($tokens[$stackPtr]['content']);
544
-        if (isset($this->iniFunctions[$functionLc]) === false) {
543
+        $functionLc = strtolower( $tokens[ $stackPtr ][ 'content' ] );
544
+        if ( isset( $this->iniFunctions[ $functionLc ] ) === false ) {
545 545
             return;
546 546
         }
547 547
 
548
-        $iniToken = $this->getFunctionCallParameter($phpcsFile, $stackPtr, $this->iniFunctions[$functionLc]);
549
-        if ($iniToken === false) {
548
+        $iniToken = $this->getFunctionCallParameter( $phpcsFile, $stackPtr, $this->iniFunctions[ $functionLc ] );
549
+        if ( $iniToken === false ) {
550 550
             return;
551 551
         }
552 552
 
553
-        $filteredToken = $this->stripQuotes($iniToken['raw']);
554
-        if (isset($this->newIniDirectives[$filteredToken]) === false) {
553
+        $filteredToken = $this->stripQuotes( $iniToken[ 'raw' ] );
554
+        if ( isset( $this->newIniDirectives[ $filteredToken ] ) === false ) {
555 555
             return;
556 556
         }
557 557
 
@@ -559,7 +559,7 @@  discard block
 block discarded – undo
559 559
             'name'       => $filteredToken,
560 560
             'functionLc' => $functionLc,
561 561
         );
562
-        $this->handleFeature($phpcsFile, $iniToken['end'], $itemInfo);
562
+        $this->handleFeature( $phpcsFile, $iniToken[ 'end' ], $itemInfo );
563 563
     }
564 564
 
565 565
 
@@ -570,9 +570,9 @@  discard block
 block discarded – undo
570 570
      *
571 571
      * @return array Version and other information about the item.
572 572
      */
573
-    public function getItemArray(array $itemInfo)
573
+    public function getItemArray( array $itemInfo )
574 574
     {
575
-        return $this->newIniDirectives[$itemInfo['name']];
575
+        return $this->newIniDirectives[ $itemInfo[ 'name' ] ];
576 576
     }
577 577
 
578 578
 
@@ -583,7 +583,7 @@  discard block
 block discarded – undo
583 583
      */
584 584
     protected function getNonVersionArrayKeys()
585 585
     {
586
-        return array('alternative');
586
+        return array( 'alternative' );
587 587
     }
588 588
 
589 589
 
@@ -595,18 +595,18 @@  discard block
 block discarded – undo
595 595
      *
596 596
      * @return array
597 597
      */
598
-    public function getErrorInfo(array $itemArray, array $itemInfo)
598
+    public function getErrorInfo( array $itemArray, array $itemInfo )
599 599
     {
600
-        $errorInfo                = parent::getErrorInfo($itemArray, $itemInfo);
601
-        $errorInfo['alternative'] = '';
600
+        $errorInfo                = parent::getErrorInfo( $itemArray, $itemInfo );
601
+        $errorInfo[ 'alternative' ] = '';
602 602
 
603
-        if (isset($itemArray['alternative']) === true) {
604
-            $errorInfo['alternative'] = $itemArray['alternative'];
603
+        if ( isset( $itemArray[ 'alternative' ] ) === true ) {
604
+            $errorInfo[ 'alternative' ] = $itemArray[ 'alternative' ];
605 605
         }
606 606
 
607 607
         // Lower error level to warning if the function used was ini_get.
608
-        if ($errorInfo['error'] === true && $itemInfo['functionLc'] === 'ini_get') {
609
-            $errorInfo['error'] = false;
608
+        if ( $errorInfo[ 'error' ] === true && $itemInfo[ 'functionLc' ] === 'ini_get' ) {
609
+            $errorInfo[ 'error' ] = false;
610 610
         }
611 611
 
612 612
         return $errorInfo;
@@ -633,9 +633,9 @@  discard block
 block discarded – undo
633 633
      *
634 634
      * @return string
635 635
      */
636
-    protected function filterErrorMsg($error, array $itemInfo, array $errorInfo)
636
+    protected function filterErrorMsg( $error, array $itemInfo, array $errorInfo )
637 637
     {
638
-        if ($errorInfo['alternative'] !== '') {
638
+        if ( $errorInfo[ 'alternative' ] !== '' ) {
639 639
             $error .= ". This directive was previously called '%s'.";
640 640
         }
641 641
 
@@ -652,10 +652,10 @@  discard block
 block discarded – undo
652 652
      *
653 653
      * @return array
654 654
      */
655
-    protected function filterErrorData(array $data, array $itemInfo, array $errorInfo)
655
+    protected function filterErrorData( array $data, array $itemInfo, array $errorInfo )
656 656
     {
657
-        if ($errorInfo['alternative'] !== '') {
658
-            $data[] = $errorInfo['alternative'];
657
+        if ( $errorInfo[ 'alternative' ] !== '' ) {
658
+            $data[ ] = $errorInfo[ 'alternative' ];
659 659
         }
660 660
 
661 661
         return $data;
Please login to merge, or discard this patch.
Braces   +9 added lines, -18 removed lines patch added patch discarded remove patch
@@ -23,8 +23,7 @@  discard block
 block discarded – undo
23 23
  * @author    Wim Godden <[email protected]>
24 24
  * @copyright 2013 Cu.be Solutions bvba
25 25
  */
26
-class NewIniDirectivesSniff extends AbstractNewFeatureSniff
27
-{
26
+class NewIniDirectivesSniff extends AbstractNewFeatureSniff {
28 27
     /**
29 28
      * A list of new INI directives
30 29
      *
@@ -509,8 +508,7 @@  discard block
 block discarded – undo
509 508
      *
510 509
      * @return array
511 510
      */
512
-    public function register()
513
-    {
511
+    public function register() {
514 512
         return array(\T_STRING);
515 513
     }
516 514
 
@@ -523,8 +521,7 @@  discard block
 block discarded – undo
523 521
      *
524 522
      * @return void
525 523
      */
526
-    public function process(File $phpcsFile, $stackPtr)
527
-    {
524
+    public function process(File $phpcsFile, $stackPtr) {
528 525
         $tokens = $phpcsFile->getTokens();
529 526
 
530 527
         $ignore = array(
@@ -570,8 +567,7 @@  discard block
 block discarded – undo
570 567
      *
571 568
      * @return array Version and other information about the item.
572 569
      */
573
-    public function getItemArray(array $itemInfo)
574
-    {
570
+    public function getItemArray(array $itemInfo) {
575 571
         return $this->newIniDirectives[$itemInfo['name']];
576 572
     }
577 573
 
@@ -581,8 +577,7 @@  discard block
 block discarded – undo
581 577
      *
582 578
      * @return array
583 579
      */
584
-    protected function getNonVersionArrayKeys()
585
-    {
580
+    protected function getNonVersionArrayKeys() {
586 581
         return array('alternative');
587 582
     }
588 583
 
@@ -595,8 +590,7 @@  discard block
 block discarded – undo
595 590
      *
596 591
      * @return array
597 592
      */
598
-    public function getErrorInfo(array $itemArray, array $itemInfo)
599
-    {
593
+    public function getErrorInfo(array $itemArray, array $itemInfo) {
600 594
         $errorInfo                = parent::getErrorInfo($itemArray, $itemInfo);
601 595
         $errorInfo['alternative'] = '';
602 596
 
@@ -618,8 +612,7 @@  discard block
 block discarded – undo
618 612
      *
619 613
      * @return string
620 614
      */
621
-    protected function getErrorMsgTemplate()
622
-    {
615
+    protected function getErrorMsgTemplate() {
623 616
         return "INI directive '%s' is not present in PHP version %s or earlier";
624 617
     }
625 618
 
@@ -633,8 +626,7 @@  discard block
 block discarded – undo
633 626
      *
634 627
      * @return string
635 628
      */
636
-    protected function filterErrorMsg($error, array $itemInfo, array $errorInfo)
637
-    {
629
+    protected function filterErrorMsg($error, array $itemInfo, array $errorInfo) {
638 630
         if ($errorInfo['alternative'] !== '') {
639 631
             $error .= ". This directive was previously called '%s'.";
640 632
         }
@@ -652,8 +644,7 @@  discard block
 block discarded – undo
652 644
      *
653 645
      * @return array
654 646
      */
655
-    protected function filterErrorData(array $data, array $itemInfo, array $errorInfo)
656
-    {
647
+    protected function filterErrorData(array $data, array $itemInfo, array $errorInfo) {
657 648
         if ($errorInfo['alternative'] !== '') {
658 649
             $data[] = $errorInfo['alternative'];
659 650
         }
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/Constants/NewMagicClassConstantSniff.php 4 patches
Indentation   +37 added lines, -37 removed lines patch added patch discarded remove patch
@@ -30,46 +30,46 @@
 block discarded – undo
30 30
 class NewMagicClassConstantSniff extends Sniff
31 31
 {
32 32
 
33
-    /**
34
-     * Returns an array of tokens this test wants to listen for.
35
-     *
36
-     * @return array
37
-     */
38
-    public function register()
39
-    {
40
-        return array(\T_STRING);
41
-    }
33
+	/**
34
+	 * Returns an array of tokens this test wants to listen for.
35
+	 *
36
+	 * @return array
37
+	 */
38
+	public function register()
39
+	{
40
+		return array(\T_STRING);
41
+	}
42 42
 
43
-    /**
44
-     * Processes this test, when one of its tokens is encountered.
45
-     *
46
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
47
-     * @param int                   $stackPtr  The position of the current token in the
48
-     *                                         stack passed in $tokens.
49
-     *
50
-     * @return void
51
-     */
52
-    public function process(File $phpcsFile, $stackPtr)
53
-    {
54
-        if ($this->supportsBelow('5.4') === false) {
55
-            return;
56
-        }
43
+	/**
44
+	 * Processes this test, when one of its tokens is encountered.
45
+	 *
46
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
47
+	 * @param int                   $stackPtr  The position of the current token in the
48
+	 *                                         stack passed in $tokens.
49
+	 *
50
+	 * @return void
51
+	 */
52
+	public function process(File $phpcsFile, $stackPtr)
53
+	{
54
+		if ($this->supportsBelow('5.4') === false) {
55
+			return;
56
+		}
57 57
 
58
-        $tokens = $phpcsFile->getTokens();
58
+		$tokens = $phpcsFile->getTokens();
59 59
 
60
-        if (strtolower($tokens[$stackPtr]['content']) !== 'class') {
61
-            return;
62
-        }
60
+		if (strtolower($tokens[$stackPtr]['content']) !== 'class') {
61
+			return;
62
+		}
63 63
 
64
-        $prevToken = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($stackPtr - 1), null, true, null, true);
65
-        if ($prevToken === false || $tokens[$prevToken]['code'] !== \T_DOUBLE_COLON) {
66
-            return;
67
-        }
64
+		$prevToken = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($stackPtr - 1), null, true, null, true);
65
+		if ($prevToken === false || $tokens[$prevToken]['code'] !== \T_DOUBLE_COLON) {
66
+			return;
67
+		}
68 68
 
69
-        $phpcsFile->addError(
70
-            'The magic class constant ClassName::class was not available in PHP 5.4 or earlier',
71
-            $stackPtr,
72
-            'Found'
73
-        );
74
-    }
69
+		$phpcsFile->addError(
70
+			'The magic class constant ClassName::class was not available in PHP 5.4 or earlier',
71
+			$stackPtr,
72
+			'Found'
73
+		);
74
+	}
75 75
 }
Please login to merge, or discard this patch.
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
      */
38 38
     public function register()
39 39
     {
40
-        return array(\T_STRING);
40
+        return array( \T_STRING );
41 41
     }
42 42
 
43 43
     /**
@@ -49,20 +49,20 @@  discard block
 block discarded – undo
49 49
      *
50 50
      * @return void
51 51
      */
52
-    public function process(File $phpcsFile, $stackPtr)
52
+    public function process( File $phpcsFile, $stackPtr )
53 53
     {
54
-        if ($this->supportsBelow('5.4') === false) {
54
+        if ( $this->supportsBelow( '5.4' ) === false ) {
55 55
             return;
56 56
         }
57 57
 
58 58
         $tokens = $phpcsFile->getTokens();
59 59
 
60
-        if (strtolower($tokens[$stackPtr]['content']) !== 'class') {
60
+        if ( strtolower( $tokens[ $stackPtr ][ 'content' ] ) !== 'class' ) {
61 61
             return;
62 62
         }
63 63
 
64
-        $prevToken = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($stackPtr - 1), null, true, null, true);
65
-        if ($prevToken === false || $tokens[$prevToken]['code'] !== \T_DOUBLE_COLON) {
64
+        $prevToken = $phpcsFile->findPrevious( Tokens::$emptyTokens, ( $stackPtr - 1 ), null, true, null, true );
65
+        if ( $prevToken === false || $tokens[ $prevToken ][ 'code' ] !== \T_DOUBLE_COLON ) {
66 66
             return;
67 67
         }
68 68
 
Please login to merge, or discard this patch.
Braces   +3 added lines, -6 removed lines patch added patch discarded remove patch
@@ -27,16 +27,14 @@  discard block
 block discarded – undo
27 27
  * @package  PHPCompatibility
28 28
  * @author   Juliette Reinders Folmer <[email protected]>
29 29
  */
30
-class NewMagicClassConstantSniff extends Sniff
31
-{
30
+class NewMagicClassConstantSniff extends Sniff {
32 31
 
33 32
     /**
34 33
      * Returns an array of tokens this test wants to listen for.
35 34
      *
36 35
      * @return array
37 36
      */
38
-    public function register()
39
-    {
37
+    public function register() {
40 38
         return array(\T_STRING);
41 39
     }
42 40
 
@@ -49,8 +47,7 @@  discard block
 block discarded – undo
49 47
      *
50 48
      * @return void
51 49
      */
52
-    public function process(File $phpcsFile, $stackPtr)
53
-    {
50
+    public function process(File $phpcsFile, $stackPtr) {
54 51
         if ($this->supportsBelow('5.4') === false) {
55 52
             return;
56 53
         }
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.
php-compatibility/PHPCompatibility/Sniffs/Constants/NewConstantsSniff.php 4 patches
Indentation   +3631 added lines, -3631 removed lines patch added patch discarded remove patch
@@ -22,3635 +22,3635 @@
 block discarded – undo
22 22
 class NewConstantsSniff extends AbstractNewFeatureSniff
23 23
 {
24 24
 
25
-    /**
26
-     * A list of new PHP Constants, not present in older versions.
27
-     *
28
-     * The array lists : version number with false (not present) or true (present).
29
-     * If's sufficient to list the first version where the constant appears.
30
-     *
31
-     * Note: PHP Constants are case-sensitive!
32
-     *
33
-     * @var array(string => array(string => bool|string|null))
34
-     */
35
-    protected $newConstants = array(
36
-        'E_STRICT' => array(
37
-            '4.4' => false,
38
-            '5.0' => true,
39
-        ),
40
-        // Curl:
41
-        'CURLOPT_FTP_USE_EPRT' => array(
42
-            '4.4' => false,
43
-            '5.0' => true,
44
-        ),
45
-        'CURLOPT_NOSIGNAL' => array(
46
-            '4.4' => false,
47
-            '5.0' => true,
48
-        ),
49
-        'CURLOPT_UNRESTRICTED_AUTH' => array(
50
-            '4.4' => false,
51
-            '5.0' => true,
52
-        ),
53
-        'CURLOPT_BUFFERSIZE' => array(
54
-            '4.4' => false,
55
-            '5.0' => true,
56
-        ),
57
-        'CURLOPT_HTTPAUTH' => array(
58
-            '4.4' => false,
59
-            '5.0' => true,
60
-        ),
61
-        'CURLOPT_PROXYPORT' => array(
62
-            '4.4' => false,
63
-            '5.0' => true,
64
-        ),
65
-        'CURLOPT_PROXYTYPE' => array(
66
-            '4.4' => false,
67
-            '5.0' => true,
68
-        ),
69
-        'CURLOPT_SSLCERTTYPE' => array(
70
-            '4.4' => false,
71
-            '5.0' => true,
72
-        ),
73
-        'CURLOPT_HTTP200ALIASES' => array(
74
-            '4.4' => false,
75
-            '5.0' => true,
76
-        ),
77
-        // OpenSSL:
78
-        'OPENSSL_ALGO_MD2' => array(
79
-            '4.4' => false,
80
-            '5.0' => true,
81
-        ),
82
-        'OPENSSL_ALGO_MD4' => array(
83
-            '4.4' => false,
84
-            '5.0' => true,
85
-        ),
86
-        'OPENSSL_ALGO_MD5' => array(
87
-            '4.4' => false,
88
-            '5.0' => true,
89
-        ),
90
-        'OPENSSL_ALGO_SHA1' => array(
91
-            '4.4' => false,
92
-            '5.0' => true,
93
-        ),
94
-        'OPENSSL_ALGO_DSS1' => array(
95
-            '4.4' => false,
96
-            '5.0' => true,
97
-        ),
98
-        // Tokenizer:
99
-        'T_ABSTRACT' => array(
100
-            '4.4' => false,
101
-            '5.0' => true,
102
-        ),
103
-        'T_CATCH' => array(
104
-            '4.4' => false,
105
-            '5.0' => true,
106
-        ),
107
-
108
-        'SORT_LOCALE_STRING' => array(
109
-            '5.0.1' => false,
110
-            '5.0.2' => true,
111
-        ),
112
-        'PHP_EOL' => array(
113
-            '5.0.1' => false,
114
-            '5.0.2' => true,
115
-        ),
116
-
117
-        'PHP_INT_MAX' => array(
118
-            '5.0.4' => false,
119
-            '5.0.5' => true,
120
-        ),
121
-        'PHP_INT_SIZE' => array(
122
-            '5.0.4' => false,
123
-            '5.0.5' => true,
124
-        ),
125
-
126
-        '__COMPILER_HALT_OFFSET__' => array(
127
-            '5.0' => false,
128
-            '5.1' => true,
129
-        ),
130
-        'GLOB_ERR' => array(
131
-            '5.0' => false,
132
-            '5.1' => true,
133
-        ),
134
-        // Curl:
135
-        'CURLOPT_AUTOREFERER' => array(
136
-            '5.0' => false,
137
-            '5.1' => true,
138
-        ),
139
-        'CURLOPT_BINARYTRANSFER' => array(
140
-            '5.0' => false,
141
-            '5.1' => true,
142
-        ),
143
-        'CURLOPT_COOKIESESSION' => array(
144
-            '5.0' => false,
145
-            '5.1' => true,
146
-        ),
147
-        'CURLOPT_FTPSSLAUTH' => array(
148
-            '5.0' => false,
149
-            '5.1' => true,
150
-        ),
151
-        'CURLOPT_PROXYAUTH' => array(
152
-            '5.0' => false,
153
-            '5.1' => true,
154
-        ),
155
-        'CURLOPT_TIMECONDITION' => array(
156
-            '5.0' => false,
157
-            '5.1' => true,
158
-        ),
159
-        // POSIX:
160
-        'POSIX_F_OK' => array(
161
-            '5.0' => false,
162
-            '5.1' => true,
163
-        ),
164
-        'POSIX_R_OK' => array(
165
-            '5.0' => false,
166
-            '5.1' => true,
167
-        ),
168
-        'POSIX_W_OK' => array(
169
-            '5.0' => false,
170
-            '5.1' => true,
171
-        ),
172
-        'POSIX_X_OK' => array(
173
-            '5.0' => false,
174
-            '5.1' => true,
175
-        ),
176
-        'POSIX_S_IFBLK' => array(
177
-            '5.0' => false,
178
-            '5.1' => true,
179
-        ),
180
-        'POSIX_S_IFCHR' => array(
181
-            '5.0' => false,
182
-            '5.1' => true,
183
-        ),
184
-        'POSIX_S_IFIFO' => array(
185
-            '5.0' => false,
186
-            '5.1' => true,
187
-        ),
188
-        'POSIX_S_IFREG' => array(
189
-            '5.0' => false,
190
-            '5.1' => true,
191
-        ),
192
-        'POSIX_S_IFSOCK' => array(
193
-            '5.0' => false,
194
-            '5.1' => true,
195
-        ),
196
-        // Streams:
197
-        'STREAM_IPPROTO_ICMP' => array(
198
-            '5.0' => false,
199
-            '5.1' => true,
200
-        ),
201
-        'STREAM_IPPROTO_IP' => array(
202
-            '5.0' => false,
203
-            '5.1' => true,
204
-        ),
205
-        'STREAM_IPPROTO_RAW' => array(
206
-            '5.0' => false,
207
-            '5.1' => true,
208
-        ),
209
-        'STREAM_IPPROTO_TCP' => array(
210
-            '5.0' => false,
211
-            '5.1' => true,
212
-        ),
213
-        'STREAM_IPPROTO_UDP' => array(
214
-            '5.0' => false,
215
-            '5.1' => true,
216
-        ),
217
-        'STREAM_PF_INET' => array(
218
-            '5.0' => false,
219
-            '5.1' => true,
220
-        ),
221
-        'STREAM_PF_INET6' => array(
222
-            '5.0' => false,
223
-            '5.1' => true,
224
-        ),
225
-        'STREAM_PF_UNIX' => array(
226
-            '5.0' => false,
227
-            '5.1' => true,
228
-        ),
229
-        'STREAM_SOCK_DGRAM' => array(
230
-            '5.0' => false,
231
-            '5.1' => true,
232
-        ),
233
-        'STREAM_SOCK_RAW' => array(
234
-            '5.0' => false,
235
-            '5.1' => true,
236
-        ),
237
-        'STREAM_SOCK_RDM' => array(
238
-            '5.0' => false,
239
-            '5.1' => true,
240
-        ),
241
-        'STREAM_SOCK_SEQPACKET' => array(
242
-            '5.0' => false,
243
-            '5.1' => true,
244
-        ),
245
-        'STREAM_SOCK_STREAM' => array(
246
-            '5.0' => false,
247
-            '5.1' => true,
248
-        ),
249
-        // Tokenizer:
250
-        'T_HALT_COMPILER' => array(
251
-            '5.0' => false,
252
-            '5.1' => true,
253
-        ),
254
-
255
-        // Date/Time:
256
-        'DATE_ATOM' => array(
257
-            '5.1.0' => false,
258
-            '5.1.1' => true,
259
-        ),
260
-        'DATE_COOKIE' => array(
261
-            '5.1.0' => false,
262
-            '5.1.1' => true,
263
-        ),
264
-        'DATE_ISO8601' => array(
265
-            '5.1.0' => false,
266
-            '5.1.1' => true,
267
-        ),
268
-        'DATE_RFC822' => array(
269
-            '5.1.0' => false,
270
-            '5.1.1' => true,
271
-        ),
272
-        'DATE_RFC850' => array(
273
-            '5.1.0' => false,
274
-            '5.1.1' => true,
275
-        ),
276
-        'DATE_RFC1036' => array(
277
-            '5.1.0' => false,
278
-            '5.1.1' => true,
279
-        ),
280
-        'DATE_RFC1123' => array(
281
-            '5.1.0' => false,
282
-            '5.1.1' => true,
283
-        ),
284
-        'DATE_RFC2822' => array(
285
-            '5.1.0' => false,
286
-            '5.1.1' => true,
287
-        ),
288
-        'DATE_RFC3339' => array(
289
-            '5.1.0' => false,
290
-            '5.1.1' => true,
291
-        ),
292
-        'DATE_RSS' => array(
293
-            '5.1.0' => false,
294
-            '5.1.1' => true,
295
-        ),
296
-        'DATE_W3C' => array(
297
-            '5.1.0' => false,
298
-            '5.1.1' => true,
299
-        ),
300
-
301
-        // Date/Time:
302
-        'SUNFUNCS_RET_TIMESTAMP' => array(
303
-            '5.1.1' => false,
304
-            '5.1.2' => true,
305
-        ),
306
-        'SUNFUNCS_RET_STRING' => array(
307
-            '5.1.1' => false,
308
-            '5.1.2' => true,
309
-        ),
310
-        'SUNFUNCS_RET_DOUBLE' => array(
311
-            '5.1.1' => false,
312
-            '5.1.2' => true,
313
-        ),
314
-        // XSL:
315
-        'LIBXSLT_VERSION' => array(
316
-            '5.1.1' => false,
317
-            '5.1.2' => true,
318
-        ),
319
-        'LIBXSLT_DOTTED_VERSION' => array(
320
-            '5.1.1' => false,
321
-            '5.1.2' => true,
322
-        ),
323
-        'LIBEXSLT_VERSION' => array(
324
-            '5.1.1' => false,
325
-            '5.1.2' => true,
326
-        ),
327
-        'LIBEXSLT_DOTTED_VERSION' => array(
328
-            '5.1.1' => false,
329
-            '5.1.2' => true,
330
-        ),
331
-        // URL:
332
-        'PHP_URL_SCHEME' => array(
333
-            '5.1.1' => false,
334
-            '5.1.2' => true,
335
-        ),
336
-        'PHP_URL_HOST' => array(
337
-            '5.1.1' => false,
338
-            '5.1.2' => true,
339
-        ),
340
-        'PHP_URL_PORT' => array(
341
-            '5.1.1' => false,
342
-            '5.1.2' => true,
343
-        ),
344
-        'PHP_URL_USER' => array(
345
-            '5.1.1' => false,
346
-            '5.1.2' => true,
347
-        ),
348
-        'PHP_URL_PASS' => array(
349
-            '5.1.1' => false,
350
-            '5.1.2' => true,
351
-        ),
352
-        'PHP_URL_PATH' => array(
353
-            '5.1.1' => false,
354
-            '5.1.2' => true,
355
-        ),
356
-        'PHP_URL_QUERY' => array(
357
-            '5.1.1' => false,
358
-            '5.1.2' => true,
359
-        ),
360
-        'PHP_URL_FRAGMENT' => array(
361
-            '5.1.1' => false,
362
-            '5.1.2' => true,
363
-        ),
364
-        'PHP_QUERY_RFC1738' => array(
365
-            '5.1.1' => false,
366
-            '5.1.2' => true,
367
-        ),
368
-        'PHP_QUERY_RFC3986' => array(
369
-            '5.1.1' => false,
370
-            '5.1.2' => true,
371
-        ),
372
-
373
-        // Curl:
374
-        'CURLINFO_HEADER_OUT' => array(
375
-            '5.1.2' => false,
376
-            '5.1.3' => true,
377
-        ),
378
-
379
-        // Core:
380
-        'E_RECOVERABLE_ERROR' => array(
381
-            '5.1' => false,
382
-            '5.2' => true,
383
-        ),
384
-        // Math:
385
-        'M_EULER' => array(
386
-            '5.1' => false,
387
-            '5.2' => true,
388
-        ),
389
-        'M_LNPI' => array(
390
-            '5.1' => false,
391
-            '5.2' => true,
392
-        ),
393
-        'M_SQRT3' => array(
394
-            '5.1' => false,
395
-            '5.2' => true,
396
-        ),
397
-        'M_SQRTPI' => array(
398
-            '5.1' => false,
399
-            '5.2' => true,
400
-        ),
401
-        'PATHINFO_FILENAME' => array(
402
-            '5.1' => false,
403
-            '5.2' => true,
404
-        ),
405
-        'UPLOAD_ERR_EXTENSION' => array(
406
-            '5.1' => false,
407
-            '5.2' => true,
408
-        ),
409
-        // Curl:
410
-        'CURLE_FILESIZE_EXCEEDED' => array(
411
-            '5.1' => false,
412
-            '5.2' => true,
413
-        ),
414
-        'CURLE_FTP_SSL_FAILED' => array(
415
-            '5.1' => false,
416
-            '5.2' => true,
417
-        ),
418
-        'CURLE_LDAP_INVALID_URL' => array(
419
-            '5.1' => false,
420
-            '5.2' => true,
421
-        ),
422
-        'CURLFTPAUTH_DEFAULT' => array(
423
-            '5.1' => false,
424
-            '5.2' => true,
425
-        ),
426
-        'CURLFTPAUTH_SSL' => array(
427
-            '5.1' => false,
428
-            '5.2' => true,
429
-        ),
430
-        'CURLFTPAUTH_TLS' => array(
431
-            '5.1' => false,
432
-            '5.2' => true,
433
-        ),
434
-        'CURLFTPSSL_ALL' => array(
435
-            '5.1' => false,
436
-            '5.2' => true,
437
-        ),
438
-        'CURLFTPSSL_CONTROL' => array(
439
-            '5.1' => false,
440
-            '5.2' => true,
441
-        ),
442
-        'CURLFTPSSL_NONE' => array(
443
-            '5.1' => false,
444
-            '5.2' => true,
445
-        ),
446
-        'CURLFTPSSL_TRY' => array(
447
-            '5.1' => false,
448
-            '5.2' => true,
449
-        ),
450
-        'CURLOPT_FTP_SSL' => array(
451
-            '5.1' => false,
452
-            '5.2' => true,
453
-        ),
454
-        // Ming:
455
-        'SWFTEXTFIELD_USEFONT' => array(
456
-            '5.1' => false,
457
-            '5.2' => true,
458
-        ),
459
-        'SWFTEXTFIELD_AUTOSIZE' => array(
460
-            '5.1' => false,
461
-            '5.2' => true,
462
-        ),
463
-        'SWF_SOUND_NOT_COMPRESSED' => array(
464
-            '5.1' => false,
465
-            '5.2' => true,
466
-        ),
467
-        'SWF_SOUND_ADPCM_COMPRESSED' => array(
468
-            '5.1' => false,
469
-            '5.2' => true,
470
-        ),
471
-        'SWF_SOUND_MP3_COMPRESSED' => array(
472
-            '5.1' => false,
473
-            '5.2' => true,
474
-        ),
475
-        'SWF_SOUND_NOT_COMPRESSED_LE' => array(
476
-            '5.1' => false,
477
-            '5.2' => true,
478
-        ),
479
-        'SWF_SOUND_NELLY_COMPRESSED' => array(
480
-            '5.1' => false,
481
-            '5.2' => true,
482
-        ),
483
-        'SWF_SOUND_5KHZ' => array(
484
-            '5.1' => false,
485
-            '5.2' => true,
486
-        ),
487
-        'SWF_SOUND_11KHZ' => array(
488
-            '5.1' => false,
489
-            '5.2' => true,
490
-        ),
491
-        'SWF_SOUND_22KHZ' => array(
492
-            '5.1' => false,
493
-            '5.2' => true,
494
-        ),
495
-        'SWF_SOUND_44KHZ' => array(
496
-            '5.1' => false,
497
-            '5.2' => true,
498
-        ),
499
-        'SWF_SOUND_8BITS' => array(
500
-            '5.1' => false,
501
-            '5.2' => true,
502
-        ),
503
-        'SWF_SOUND_16BITS' => array(
504
-            '5.1' => false,
505
-            '5.2' => true,
506
-        ),
507
-        'SWF_SOUND_MONO' => array(
508
-            '5.1' => false,
509
-            '5.2' => true,
510
-        ),
511
-        'SWF_SOUND_STEREO' => array(
512
-            '5.1' => false,
513
-            '5.2' => true,
514
-        ),
515
-        // OpenSSL:
516
-        'OPENSSL_KEYTYPE_EC' => array(
517
-            '5.1' => false,
518
-            '5.2' => true,
519
-        ),
520
-        'OPENSSL_VERSION_NUMBER' => array(
521
-            '5.1' => false,
522
-            '5.2' => true,
523
-        ),
524
-        'OPENSSL_VERSION_TEXT' => array(
525
-            '5.1' => false,
526
-            '5.2' => true,
527
-        ),
528
-        // PCRE:
529
-        'PREG_BACKTRACK_LIMIT_ERROR' => array(
530
-            '5.1' => false,
531
-            '5.2' => true,
532
-        ),
533
-        'PREG_BAD_UTF8_ERROR' => array(
534
-            '5.1' => false,
535
-            '5.2' => true,
536
-        ),
537
-        'PREG_INTERNAL_ERROR' => array(
538
-            '5.1' => false,
539
-            '5.2' => true,
540
-        ),
541
-        'PREG_NO_ERROR' => array(
542
-            '5.1' => false,
543
-            '5.2' => true,
544
-        ),
545
-        'PREG_RECURSION_LIMIT_ERROR' => array(
546
-            '5.1' => false,
547
-            '5.2' => true,
548
-        ),
549
-        // Snmp:
550
-        'SNMP_OID_OUTPUT_FULL' => array(
551
-            '5.1' => false,
552
-            '5.2' => true,
553
-        ),
554
-        'SNMP_OID_OUTPUT_NUMERIC' => array(
555
-            '5.1' => false,
556
-            '5.2' => true,
557
-        ),
558
-        // Semaphore:
559
-        'MSG_EAGAIN' => array(
560
-            '5.1' => false,
561
-            '5.2' => true,
562
-        ),
563
-        'MSG_ENOMSG' => array(
564
-            '5.1' => false,
565
-            '5.2' => true,
566
-        ),
567
-
568
-        // Curl:
569
-        'CURLOPT_TCP_NODELAY' => array(
570
-            '5.2.0' => false,
571
-            '5.2.1' => true,
572
-        ),
573
-
574
-        // Stream:
575
-        'STREAM_SHUT_RD' => array(
576
-            '5.2.0' => false,
577
-            '5.2.1' => true,
578
-        ),
579
-        'STREAM_SHUT_WR' => array(
580
-            '5.2.0' => false,
581
-            '5.2.1' => true,
582
-        ),
583
-        'STREAM_SHUT_RDWR' => array(
584
-            '5.2.0' => false,
585
-            '5.2.1' => true,
586
-        ),
587
-
588
-        'GMP_VERSION' => array(
589
-            '5.2.1' => false,
590
-            '5.2.2' => true,
591
-        ),
592
-
593
-        // Curl:
594
-        'CURLOPT_TIMEOUT_MS' => array(
595
-            '5.2.2' => false,
596
-            '5.2.3' => true,
597
-        ),
598
-        'CURLOPT_CONNECTTIMEOUT_MS' => array(
599
-            '5.2.2' => false,
600
-            '5.2.3' => true,
601
-        ),
602
-
603
-        // Curl:
604
-        'CURLOPT_PRIVATE' => array(
605
-            '5.2.3' => false,
606
-            '5.2.4' => true,
607
-        ),
608
-        'CURLINFO_PRIVATE' => array(
609
-            '5.2.3' => false,
610
-            '5.2.4' => true,
611
-        ),
612
-        // GD:
613
-        'GD_VERSION' => array(
614
-            '5.2.3' => false,
615
-            '5.2.4' => true,
616
-        ),
617
-        'GD_MAJOR_VERSION' => array(
618
-            '5.2.3' => false,
619
-            '5.2.4' => true,
620
-        ),
621
-        'GD_MINOR_VERSION' => array(
622
-            '5.2.3' => false,
623
-            '5.2.4' => true,
624
-        ),
625
-        'GD_RELEASE_VERSION' => array(
626
-            '5.2.3' => false,
627
-            '5.2.4' => true,
628
-        ),
629
-        'GD_EXTRA_VERSION' => array(
630
-            '5.2.3' => false,
631
-            '5.2.4' => true,
632
-        ),
633
-        // PCRE:
634
-        'PCRE_VERSION' => array(
635
-            '5.2.3' => false,
636
-            '5.2.4' => true,
637
-        ),
638
-
639
-        'PHP_MAJOR_VERSION' => array(
640
-            '5.2.6' => false,
641
-            '5.2.7' => true,
642
-        ),
643
-        'PHP_MINOR_VERSION' => array(
644
-            '5.2.6' => false,
645
-            '5.2.7' => true,
646
-        ),
647
-        'PHP_RELEASE_VERSION' => array(
648
-            '5.2.6' => false,
649
-            '5.2.7' => true,
650
-        ),
651
-        'PHP_VERSION_ID' => array(
652
-            '5.2.6' => false,
653
-            '5.2.7' => true,
654
-        ),
655
-        'PHP_EXTRA_VERSION' => array(
656
-            '5.2.6' => false,
657
-            '5.2.7' => true,
658
-        ),
659
-        'PHP_ZTS' => array(
660
-            '5.2.6' => false,
661
-            '5.2.7' => true,
662
-        ),
663
-        'PHP_DEBUG' => array(
664
-            '5.2.6' => false,
665
-            '5.2.7' => true,
666
-        ),
667
-        'FILE_BINARY' => array(
668
-            '5.2.6' => false,
669
-            '5.2.7' => true,
670
-        ),
671
-        'FILE_TEXT' => array(
672
-            '5.2.6' => false,
673
-            '5.2.7' => true,
674
-        ),
675
-        // Sockets:
676
-        'TCP_NODELAY' => array(
677
-            '5.2.6' => false,
678
-            '5.2.7' => true,
679
-        ),
680
-
681
-        // Curl:
682
-        'CURLOPT_PROTOCOLS' => array(
683
-            '5.2.9'  => false,
684
-            '5.2.10' => true,
685
-        ),
686
-        'CURLOPT_REDIR_PROTOCOLS' => array(
687
-            '5.2.9'  => false,
688
-            '5.2.10' => true,
689
-        ),
690
-        'CURLPROXY_SOCKS4' => array(
691
-            '5.2.9'  => false,
692
-            '5.2.10' => true,
693
-        ),
694
-
695
-        // Libxml:
696
-        'LIBXML_PARSEHUGE' => array(
697
-            '5.2.11' => false,
698
-            '5.2.12' => true,
699
-        ),
700
-
701
-        // Core:
702
-        'ENT_IGNORE' => array(
703
-            '5.2' => false,
704
-            '5.3' => true,
705
-        ),
706
-        'E_DEPRECATED' => array(
707
-            '5.2' => false,
708
-            '5.3' => true,
709
-        ),
710
-        'E_USER_DEPRECATED' => array(
711
-            '5.2' => false,
712
-            '5.3' => true,
713
-        ),
714
-        'INI_SCANNER_NORMAL' => array(
715
-            '5.2' => false,
716
-            '5.3' => true,
717
-        ),
718
-        'INI_SCANNER_RAW' => array(
719
-            '5.2' => false,
720
-            '5.3' => true,
721
-        ),
722
-        'PHP_MAXPATHLEN' => array(
723
-            '5.2' => false,
724
-            '5.3' => true,
725
-        ),
726
-        'PHP_WINDOWS_NT_DOMAIN_CONTROLLER' => array(
727
-            '5.2' => false,
728
-            '5.3' => true,
729
-        ),
730
-        'PHP_WINDOWS_NT_SERVER' => array(
731
-            '5.2' => false,
732
-            '5.3' => true,
733
-        ),
734
-        'PHP_WINDOWS_NT_WORKSTATION' => array(
735
-            '5.2' => false,
736
-            '5.3' => true,
737
-        ),
738
-        'PHP_WINDOWS_VERSION_BUILD' => array(
739
-            '5.2' => false,
740
-            '5.3' => true,
741
-        ),
742
-        'PHP_WINDOWS_VERSION_MAJOR' => array(
743
-            '5.2' => false,
744
-            '5.3' => true,
745
-        ),
746
-        'PHP_WINDOWS_VERSION_MINOR' => array(
747
-            '5.2' => false,
748
-            '5.3' => true,
749
-        ),
750
-        'PHP_WINDOWS_VERSION_PLATFORM' => array(
751
-            '5.2' => false,
752
-            '5.3' => true,
753
-        ),
754
-        'PHP_WINDOWS_VERSION_PRODUCTTYPE' => array(
755
-            '5.2' => false,
756
-            '5.3' => true,
757
-        ),
758
-        'PHP_WINDOWS_VERSION_SP_MAJOR' => array(
759
-            '5.2' => false,
760
-            '5.3' => true,
761
-        ),
762
-        'PHP_WINDOWS_VERSION_SP_MINOR' => array(
763
-            '5.2' => false,
764
-            '5.3' => true,
765
-        ),
766
-        'PHP_WINDOWS_VERSION_SUITEMASK' => array(
767
-            '5.2' => false,
768
-            '5.3' => true,
769
-        ),
770
-        // Curl:
771
-        'CURLINFO_CERTINFO' => array(
772
-            '5.2' => false,
773
-            '5.3' => true,
774
-        ),
775
-        'CURLOPT_PROGRESSFUNCTION' => array(
776
-            '5.2' => false,
777
-            '5.3' => true,
778
-        ),
779
-        'CURLE_SSH' => array(
780
-            '5.2' => false,
781
-            '5.3' => true,
782
-        ),
783
-        // GD:
784
-        'IMG_FILTER_PIXELATE' => array(
785
-            '5.2' => false,
786
-            '5.3' => true,
787
-        ),
788
-        'IMAGETYPE_ICO' => array(
789
-            '5.2' => false,
790
-            '5.3' => true,
791
-        ),
792
-        // Fileinfo:
793
-        'FILEINFO_MIME_TYPE' => array(
794
-            '5.2' => false,
795
-            '5.3' => true,
796
-        ),
797
-        'FILEINFO_MIME_ENCODING' => array(
798
-            '5.2' => false,
799
-            '5.3' => true,
800
-        ),
801
-        // JSON:
802
-        'JSON_ERROR_CTRL_CHAR' => array(
803
-            '5.2' => false,
804
-            '5.3' => true,
805
-        ),
806
-        'JSON_ERROR_DEPTH' => array(
807
-            '5.2' => false,
808
-            '5.3' => true,
809
-        ),
810
-        'JSON_ERROR_NONE' => array(
811
-            '5.2' => false,
812
-            '5.3' => true,
813
-        ),
814
-        'JSON_ERROR_STATE_MISMATCH' => array(
815
-            '5.2' => false,
816
-            '5.3' => true,
817
-        ),
818
-        'JSON_ERROR_SYNTAX' => array(
819
-            '5.2' => false,
820
-            '5.3' => true,
821
-        ),
822
-        'JSON_FORCE_OBJECT' => array(
823
-            '5.2' => false,
824
-            '5.3' => true,
825
-        ),
826
-        'JSON_HEX_TAG' => array(
827
-            '5.2' => false,
828
-            '5.3' => true,
829
-        ),
830
-        'JSON_HEX_AMP' => array(
831
-            '5.2' => false,
832
-            '5.3' => true,
833
-        ),
834
-        'JSON_HEX_APOS' => array(
835
-            '5.2' => false,
836
-            '5.3' => true,
837
-        ),
838
-        'JSON_HEX_QUOT' => array(
839
-            '5.2' => false,
840
-            '5.3' => true,
841
-        ),
842
-        // LDAP:
843
-        'LDAP_OPT_NETWORK_TIMEOUT' => array(
844
-            '5.2' => false,
845
-            '5.3' => true,
846
-        ),
847
-        // Libxml:
848
-        'LIBXML_LOADED_VERSION' => array(
849
-            '5.2' => false,
850
-            '5.3' => true,
851
-        ),
852
-        // Math:
853
-        'PHP_ROUND_HALF_UP' => array(
854
-            '5.2' => false,
855
-            '5.3' => true,
856
-        ),
857
-        'PHP_ROUND_HALF_DOWN' => array(
858
-            '5.2' => false,
859
-            '5.3' => true,
860
-        ),
861
-        'PHP_ROUND_HALF_EVEN' => array(
862
-            '5.2' => false,
863
-            '5.3' => true,
864
-        ),
865
-        'PHP_ROUND_HALF_ODD' => array(
866
-            '5.2' => false,
867
-            '5.3' => true,
868
-        ),
869
-        // Mysqli
870
-        'MYSQLI_OPT_INT_AND_FLOAT_NATIVE' => array(
871
-            '5.2' => false,
872
-            '5.3' => true,
873
-        ),
874
-        'MYSQLI_OPT_NET_CMD_BUFFER_SIZE' => array(
875
-            '5.2' => false,
876
-            '5.3' => true,
877
-        ),
878
-        'MYSQLI_OPT_NET_READ_BUFFER_SIZE' => array(
879
-            '5.2' => false,
880
-            '5.3' => true,
881
-        ),
882
-        'MYSQLI_OPT_SSL_VERIFY_SERVER_CERT' => array(
883
-            '5.2' => false,
884
-            '5.3' => true,
885
-        ),
886
-        // OCI8:
887
-        'OCI_CRED_EXT' => array(
888
-            '5.2' => false,
889
-            '5.3' => true,
890
-        ),
891
-        // PCRE:
892
-        'PREG_BAD_UTF8_OFFSET_ERROR' => array(
893
-            '5.2' => false,
894
-            '5.3' => true,
895
-        ),
896
-        // PCNTL:
897
-        'BUS_ADRALN' => array(
898
-            '5.2' => false,
899
-            '5.3' => true,
900
-        ),
901
-        'BUS_ADRERR' => array(
902
-            '5.2' => false,
903
-            '5.3' => true,
904
-        ),
905
-        'BUS_OBJERR' => array(
906
-            '5.2' => false,
907
-            '5.3' => true,
908
-        ),
909
-        'CLD_CONTIUNED' => array(
910
-            '5.2' => false,
911
-            '5.3' => true,
912
-        ),
913
-        'CLD_DUMPED' => array(
914
-            '5.2' => false,
915
-            '5.3' => true,
916
-        ),
917
-        'CLD_EXITED' => array(
918
-            '5.2' => false,
919
-            '5.3' => true,
920
-        ),
921
-        'CLD_KILLED' => array(
922
-            '5.2' => false,
923
-            '5.3' => true,
924
-        ),
925
-        'CLD_STOPPED' => array(
926
-            '5.2' => false,
927
-            '5.3' => true,
928
-        ),
929
-        'CLD_TRAPPED' => array(
930
-            '5.2' => false,
931
-            '5.3' => true,
932
-        ),
933
-        'FPE_FLTDIV' => array(
934
-            '5.2' => false,
935
-            '5.3' => true,
936
-        ),
937
-        'FPE_FLTINV' => array(
938
-            '5.2' => false,
939
-            '5.3' => true,
940
-        ),
941
-        'FPE_FLTOVF' => array(
942
-            '5.2' => false,
943
-            '5.3' => true,
944
-        ),
945
-        'FPE_FLTRES' => array(
946
-            '5.2' => false,
947
-            '5.3' => true,
948
-        ),
949
-        'FPE_FLTSUB' => array(
950
-            '5.2' => false,
951
-            '5.3' => true,
952
-        ),
953
-        'FPE_FLTUND' => array(
954
-            '5.2' => false,
955
-            '5.3' => true,
956
-        ),
957
-        'FPE_INTDIV' => array(
958
-            '5.2' => false,
959
-            '5.3' => true,
960
-        ),
961
-        'FPE_INTOVF' => array(
962
-            '5.2' => false,
963
-            '5.3' => true,
964
-        ),
965
-        'ILL_BADSTK' => array(
966
-            '5.2' => false,
967
-            '5.3' => true,
968
-        ),
969
-        'ILL_COPROC' => array(
970
-            '5.2' => false,
971
-            '5.3' => true,
972
-        ),
973
-        'ILL_ILLADR' => array(
974
-            '5.2' => false,
975
-            '5.3' => true,
976
-        ),
977
-        'ILL_ILLOPC' => array(
978
-            '5.2' => false,
979
-            '5.3' => true,
980
-        ),
981
-        'ILL_ILLOPN' => array(
982
-            '5.2' => false,
983
-            '5.3' => true,
984
-        ),
985
-        'ILL_ILLTRP' => array(
986
-            '5.2' => false,
987
-            '5.3' => true,
988
-        ),
989
-        'ILL_PRVOPC' => array(
990
-            '5.2' => false,
991
-            '5.3' => true,
992
-        ),
993
-        'ILL_PRVREG' => array(
994
-            '5.2' => false,
995
-            '5.3' => true,
996
-        ),
997
-        'POLL_ERR' => array(
998
-            '5.2' => false,
999
-            '5.3' => true,
1000
-        ),
1001
-        'POLL_HUP' => array(
1002
-            '5.2' => false,
1003
-            '5.3' => true,
1004
-        ),
1005
-        'POLL_IN' => array(
1006
-            '5.2' => false,
1007
-            '5.3' => true,
1008
-        ),
1009
-        'POLL_MSG' => array(
1010
-            '5.2' => false,
1011
-            '5.3' => true,
1012
-        ),
1013
-        'POLL_OUT' => array(
1014
-            '5.2' => false,
1015
-            '5.3' => true,
1016
-        ),
1017
-        'POLL_PRI' => array(
1018
-            '5.2' => false,
1019
-            '5.3' => true,
1020
-        ),
1021
-        'SEGV_ACCERR' => array(
1022
-            '5.2' => false,
1023
-            '5.3' => true,
1024
-        ),
1025
-        'SEGV_MAPERR' => array(
1026
-            '5.2' => false,
1027
-            '5.3' => true,
1028
-        ),
1029
-        'SI_ASYNCIO' => array(
1030
-            '5.2' => false,
1031
-            '5.3' => true,
1032
-        ),
1033
-        'SI_KERNEL' => array(
1034
-            '5.2' => false,
1035
-            '5.3' => true,
1036
-        ),
1037
-        'SI_MSGGQ' => array(
1038
-            '5.2' => false,
1039
-            '5.3' => true,
1040
-        ),
1041
-        'SI_NOINFO' => array(
1042
-            '5.2' => false,
1043
-            '5.3' => true,
1044
-        ),
1045
-        'SI_QUEUE' => array(
1046
-            '5.2' => false,
1047
-            '5.3' => true,
1048
-        ),
1049
-        'SI_SIGIO' => array(
1050
-            '5.2' => false,
1051
-            '5.3' => true,
1052
-        ),
1053
-        'SI_TIMER' => array(
1054
-            '5.2' => false,
1055
-            '5.3' => true,
1056
-        ),
1057
-        'SI_TKILL' => array(
1058
-            '5.2' => false,
1059
-            '5.3' => true,
1060
-        ),
1061
-        'SI_USER' => array(
1062
-            '5.2' => false,
1063
-            '5.3' => true,
1064
-        ),
1065
-        'SIG_BLOCK' => array(
1066
-            '5.2' => false,
1067
-            '5.3' => true,
1068
-        ),
1069
-        'SIG_SETMASK' => array(
1070
-            '5.2' => false,
1071
-            '5.3' => true,
1072
-        ),
1073
-        'SIG_UNBLOCK' => array(
1074
-            '5.2' => false,
1075
-            '5.3' => true,
1076
-        ),
1077
-        'TRAP_BRKPT' => array(
1078
-            '5.2' => false,
1079
-            '5.3' => true,
1080
-        ),
1081
-        'TRAP_TRACE' => array(
1082
-            '5.2' => false,
1083
-            '5.3' => true,
1084
-        ),
1085
-        // Tokenizer:
1086
-        'T_DIR' => array(
1087
-            '5.2' => false,
1088
-            '5.3' => true,
1089
-        ),
1090
-        'T_GOTO' => array(
1091
-            '5.2' => false,
1092
-            '5.3' => true,
1093
-        ),
1094
-        'T_NAMESPACE' => array(
1095
-            '5.2' => false,
1096
-            '5.3' => true,
1097
-        ),
1098
-        'T_NS_C' => array(
1099
-            '5.2' => false,
1100
-            '5.3' => true,
1101
-        ),
1102
-        'T_NS_SEPARATOR' => array(
1103
-            '5.2' => false,
1104
-            '5.3' => true,
1105
-        ),
1106
-        'T_USE' => array(
1107
-            '5.2' => false,
1108
-            '5.3' => true,
1109
-        ),
1110
-
1111
-        // OCI8:
1112
-        'OCI_NO_AUTO_COMMIT' => array(
1113
-            '5.3.1' => false,
1114
-            '5.3.2' => true,
1115
-        ),
1116
-        // OpenSSL:
1117
-        'OPENSSL_TLSEXT_SERVER_NAME' => array(
1118
-            '5.3.1' => false,
1119
-            '5.3.2' => true,
1120
-        ),
1121
-
1122
-        // JSON:
1123
-        'JSON_ERROR_UTF8' => array(
1124
-            '5.3.2' => false,
1125
-            '5.3.3' => true,
1126
-        ),
1127
-        'JSON_NUMERIC_CHECK' => array(
1128
-            '5.3.2' => false,
1129
-            '5.3.3' => true,
1130
-        ),
1131
-
1132
-        'DEBUG_BACKTRACE_IGNORE_ARGS' => array(
1133
-            '5.3.5' => false,
1134
-            '5.3.6' => true,
1135
-        ),
1136
-
1137
-        'CURLINFO_REDIRECT_URL' => array(
1138
-            '5.3.6' => false,
1139
-            '5.3.7' => true,
1140
-        ),
1141
-        'PHP_MANDIR' => array(
1142
-            '5.3.6' => false,
1143
-            '5.3.7' => true,
1144
-        ),
1145
-
1146
-        'PHP_BINARY' => array(
1147
-            '5.3' => false,
1148
-            '5.4' => true,
1149
-        ),
1150
-        'SORT_NATURAL' => array(
1151
-            '5.3' => false,
1152
-            '5.4' => true,
1153
-        ),
1154
-        'SORT_FLAG_CASE' => array(
1155
-            '5.3' => false,
1156
-            '5.4' => true,
1157
-        ),
1158
-        'ENT_HTML401' => array(
1159
-            '5.3' => false,
1160
-            '5.4' => true,
1161
-        ),
1162
-        'ENT_XML1' => array(
1163
-            '5.3' => false,
1164
-            '5.4' => true,
1165
-        ),
1166
-        'ENT_XHTML' => array(
1167
-            '5.3' => false,
1168
-            '5.4' => true,
1169
-        ),
1170
-        'ENT_HTML5' => array(
1171
-            '5.3' => false,
1172
-            '5.4' => true,
1173
-        ),
1174
-        'ENT_SUBSTITUTE' => array(
1175
-            '5.3' => false,
1176
-            '5.4' => true,
1177
-        ),
1178
-        'ENT_DISALLOWED' => array(
1179
-            '5.3' => false,
1180
-            '5.4' => true,
1181
-        ),
1182
-        'IPPROTO_IP' => array(
1183
-            '5.3' => false,
1184
-            '5.4' => true,
1185
-        ),
1186
-        'IPPROTO_IPV6' => array(
1187
-            '5.3' => false,
1188
-            '5.4' => true,
1189
-        ),
1190
-        'IPV6_MULTICAST_HOPS' => array(
1191
-            '5.3' => false,
1192
-            '5.4' => true,
1193
-        ),
1194
-        'IPV6_MULTICAST_IF' => array(
1195
-            '5.3' => false,
1196
-            '5.4' => true,
1197
-        ),
1198
-        'IPV6_MULTICAST_LOOP' => array(
1199
-            '5.3' => false,
1200
-            '5.4' => true,
1201
-        ),
1202
-        'IP_MULTICAST_IF' => array(
1203
-            '5.3' => false,
1204
-            '5.4' => true,
1205
-        ),
1206
-        'IP_MULTICAST_LOOP' => array(
1207
-            '5.3' => false,
1208
-            '5.4' => true,
1209
-        ),
1210
-        'IP_MULTICAST_TTL' => array(
1211
-            '5.3' => false,
1212
-            '5.4' => true,
1213
-        ),
1214
-        'MCAST_JOIN_GROUP' => array(
1215
-            '5.3' => false,
1216
-            '5.4' => true,
1217
-        ),
1218
-        'MCAST_LEAVE_GROUP' => array(
1219
-            '5.3' => false,
1220
-            '5.4' => true,
1221
-        ),
1222
-        'MCAST_BLOCK_SOURCE' => array(
1223
-            '5.3' => false,
1224
-            '5.4' => true,
1225
-        ),
1226
-        'MCAST_UNBLOCK_SOURCE' => array(
1227
-            '5.3' => false,
1228
-            '5.4' => true,
1229
-        ),
1230
-        'MCAST_JOIN_SOURCE_GROUP' => array(
1231
-            '5.3' => false,
1232
-            '5.4' => true,
1233
-        ),
1234
-        'MCAST_LEAVE_SOURCE_GROUP' => array(
1235
-            '5.3' => false,
1236
-            '5.4' => true,
1237
-        ),
1238
-        // Curl:
1239
-        'CURLOPT_MAX_RECV_SPEED_LARGE' => array(
1240
-            '5.3' => false,
1241
-            '5.4' => true,
1242
-        ),
1243
-        'CURLOPT_MAX_SEND_SPEED_LARGE' => array(
1244
-            '5.3' => false,
1245
-            '5.4' => true,
1246
-        ),
1247
-        // Directories:
1248
-        'SCANDIR_SORT_ASCENDING' => array(
1249
-            '5.3' => false,
1250
-            '5.4' => true,
1251
-        ),
1252
-        'SCANDIR_SORT_DESCENDING' => array(
1253
-            '5.3' => false,
1254
-            '5.4' => true,
1255
-        ),
1256
-        'SCANDIR_SORT_NONE' => array(
1257
-            '5.3' => false,
1258
-            '5.4' => true,
1259
-        ),
1260
-        // LibXML:
1261
-        'LIBXML_HTML_NODEFDTD' => array(
1262
-            '5.3' => false,
1263
-            '5.4' => true,
1264
-        ),
1265
-        'LIBXML_HTML_NOIMPLIED' => array(
1266
-            '5.3' => false,
1267
-            '5.4' => true,
1268
-        ),
1269
-        'LIBXML_PEDANTIC' => array(
1270
-            '5.3' => false,
1271
-            '5.4' => true,
1272
-        ),
1273
-        // OpenSSL:
1274
-        'OPENSSL_CIPHER_AES_128_CBC' => array(
1275
-            '5.3' => false,
1276
-            '5.4' => true,
1277
-        ),
1278
-        'OPENSSL_CIPHER_AES_192_CBC' => array(
1279
-            '5.3' => false,
1280
-            '5.4' => true,
1281
-        ),
1282
-        'OPENSSL_CIPHER_AES_256_CBC' => array(
1283
-            '5.3' => false,
1284
-            '5.4' => true,
1285
-        ),
1286
-        'OPENSSL_RAW_DATA' => array(
1287
-            '5.3' => false,
1288
-            '5.4' => true,
1289
-        ),
1290
-        'OPENSSL_ZERO_PADDING' => array(
1291
-            '5.3' => false,
1292
-            '5.4' => true,
1293
-        ),
1294
-        // Output buffering:
1295
-        'PHP_OUTPUT_HANDLER_CLEAN' => array(
1296
-            '5.3' => false,
1297
-            '5.4' => true,
1298
-        ),
1299
-        'PHP_OUTPUT_HANDLER_CLEANABLE' => array(
1300
-            '5.3' => false,
1301
-            '5.4' => true,
1302
-        ),
1303
-        'PHP_OUTPUT_HANDLER_DISABLED' => array(
1304
-            '5.3' => false,
1305
-            '5.4' => true,
1306
-        ),
1307
-        'PHP_OUTPUT_HANDLER_FINAL' => array(
1308
-            '5.3' => false,
1309
-            '5.4' => true,
1310
-        ),
1311
-        'PHP_OUTPUT_HANDLER_FLUSH' => array(
1312
-            '5.3' => false,
1313
-            '5.4' => true,
1314
-        ),
1315
-        'PHP_OUTPUT_HANDLER_FLUSHABLE' => array(
1316
-            '5.3' => false,
1317
-            '5.4' => true,
1318
-        ),
1319
-        'PHP_OUTPUT_HANDLER_REMOVABLE' => array(
1320
-            '5.3' => false,
1321
-            '5.4' => true,
1322
-        ),
1323
-        'PHP_OUTPUT_HANDLER_STARTED' => array(
1324
-            '5.3' => false,
1325
-            '5.4' => true,
1326
-        ),
1327
-        'PHP_OUTPUT_HANDLER_STDFLAGS' => array(
1328
-            '5.3' => false,
1329
-            '5.4' => true,
1330
-        ),
1331
-        'PHP_OUTPUT_HANDLER_WRITE' => array(
1332
-            '5.3' => false,
1333
-            '5.4' => true,
1334
-        ),
1335
-        // Sessions:
1336
-        'PHP_SESSION_ACTIVE' => array(
1337
-            '5.3' => false,
1338
-            '5.4' => true,
1339
-        ),
1340
-        'PHP_SESSION_DISABLED' => array(
1341
-            '5.3' => false,
1342
-            '5.4' => true,
1343
-        ),
1344
-        'PHP_SESSION_NONE' => array(
1345
-            '5.3' => false,
1346
-            '5.4' => true,
1347
-        ),
1348
-        // Streams:
1349
-        'STREAM_META_ACCESS' => array(
1350
-            '5.3' => false,
1351
-            '5.4' => true,
1352
-        ),
1353
-        'STREAM_META_GROUP' => array(
1354
-            '5.3' => false,
1355
-            '5.4' => true,
1356
-        ),
1357
-        'STREAM_META_GROUP_NAME' => array(
1358
-            '5.3' => false,
1359
-            '5.4' => true,
1360
-        ),
1361
-        'STREAM_META_OWNER' => array(
1362
-            '5.3' => false,
1363
-            '5.4' => true,
1364
-        ),
1365
-        'STREAM_META_OWNER_NAME' => array(
1366
-            '5.3' => false,
1367
-            '5.4' => true,
1368
-        ),
1369
-        'STREAM_META_TOUCH' => array(
1370
-            '5.3' => false,
1371
-            '5.4' => true,
1372
-        ),
1373
-        // Intl:
1374
-        'U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR' => array(
1375
-            '5.3' => false,
1376
-            '5.4' => true,
1377
-        ),
1378
-        'IDNA_CHECK_BIDI' => array(
1379
-            '5.3' => false,
1380
-            '5.4' => true,
1381
-        ),
1382
-        'IDNA_CHECK_CONTEXTJ' => array(
1383
-            '5.3' => false,
1384
-            '5.4' => true,
1385
-        ),
1386
-        'IDNA_NONTRANSITIONAL_TO_ASCII' => array(
1387
-            '5.3' => false,
1388
-            '5.4' => true,
1389
-        ),
1390
-        'IDNA_NONTRANSITIONAL_TO_UNICODE' => array(
1391
-            '5.3' => false,
1392
-            '5.4' => true,
1393
-        ),
1394
-        'INTL_IDNA_VARIANT_2003' => array(
1395
-            '5.3' => false,
1396
-            '5.4' => true,
1397
-        ),
1398
-        'INTL_IDNA_VARIANT_UTS46' => array(
1399
-            '5.3' => false,
1400
-            '5.4' => true,
1401
-        ),
1402
-        'IDNA_ERROR_EMPTY_LABEL' => array(
1403
-            '5.3' => false,
1404
-            '5.4' => true,
1405
-        ),
1406
-        'IDNA_ERROR_LABEL_TOO_LONG' => array(
1407
-            '5.3' => false,
1408
-            '5.4' => true,
1409
-        ),
1410
-        'IDNA_ERROR_DOMAIN_NAME_TOO_LONG' => array(
1411
-            '5.3' => false,
1412
-            '5.4' => true,
1413
-        ),
1414
-        'IDNA_ERROR_LEADING_HYPHEN' => array(
1415
-            '5.3' => false,
1416
-            '5.4' => true,
1417
-        ),
1418
-        'IDNA_ERROR_TRAILING_HYPHEN' => array(
1419
-            '5.3' => false,
1420
-            '5.4' => true,
1421
-        ),
1422
-        'IDNA_ERROR_HYPHEN_3_4' => array(
1423
-            '5.3' => false,
1424
-            '5.4' => true,
1425
-        ),
1426
-        'IDNA_ERROR_LEADING_COMBINING_MARK' => array(
1427
-            '5.3' => false,
1428
-            '5.4' => true,
1429
-        ),
1430
-        'IDNA_ERROR_DISALLOWED' => array(
1431
-            '5.3' => false,
1432
-            '5.4' => true,
1433
-        ),
1434
-        'IDNA_ERROR_PUNYCODE' => array(
1435
-            '5.3' => false,
1436
-            '5.4' => true,
1437
-        ),
1438
-        'IDNA_ERROR_LABEL_HAS_DOT' => array(
1439
-            '5.3' => false,
1440
-            '5.4' => true,
1441
-        ),
1442
-        'IDNA_ERROR_INVALID_ACE_LABEL' => array(
1443
-            '5.3' => false,
1444
-            '5.4' => true,
1445
-        ),
1446
-        'IDNA_ERROR_BIDI' => array(
1447
-            '5.3' => false,
1448
-            '5.4' => true,
1449
-        ),
1450
-        'IDNA_ERROR_CONTEXTJ' => array(
1451
-            '5.3' => false,
1452
-            '5.4' => true,
1453
-        ),
1454
-        // Json:
1455
-        'JSON_PRETTY_PRINT' => array(
1456
-            '5.3' => false,
1457
-            '5.4' => true,
1458
-        ),
1459
-        'JSON_UNESCAPED_SLASHES' => array(
1460
-            '5.3' => false,
1461
-            '5.4' => true,
1462
-        ),
1463
-        'JSON_UNESCAPED_UNICODE' => array(
1464
-            '5.3' => false,
1465
-            '5.4' => true,
1466
-        ),
1467
-        'JSON_BIGINT_AS_STRING' => array(
1468
-            '5.3' => false,
1469
-            '5.4' => true,
1470
-        ),
1471
-        'JSON_OBJECT_AS_ARRAY' => array(
1472
-            '5.3' => false,
1473
-            '5.4' => true,
1474
-        ),
1475
-        // Snmp:
1476
-        'SNMP_OID_OUTPUT_SUFFIX' => array(
1477
-            '5.3' => false,
1478
-            '5.4' => true,
1479
-        ),
1480
-        'SNMP_OID_OUTPUT_MODULE' => array(
1481
-            '5.3' => false,
1482
-            '5.4' => true,
1483
-        ),
1484
-        'SNMP_OID_OUTPUT_UCD' => array(
1485
-            '5.3' => false,
1486
-            '5.4' => true,
1487
-        ),
1488
-        'SNMP_OID_OUTPUT_NONE' => array(
1489
-            '5.3' => false,
1490
-            '5.4' => true,
1491
-        ),
1492
-        // Tokenizer:
1493
-        'T_INSTEADOF' => array(
1494
-            '5.3' => false,
1495
-            '5.4' => true,
1496
-        ),
1497
-        'T_TRAIT' => array(
1498
-            '5.3' => false,
1499
-            '5.4' => true,
1500
-        ),
1501
-        'T_TRAIT_C' => array(
1502
-            '5.3' => false,
1503
-            '5.4' => true,
1504
-        ),
1505
-
1506
-        // Curl:
1507
-        'CURLINFO_PRIMARY_IP' => array(
1508
-            '5.4.6' => false,
1509
-            '5.4.7' => true,
1510
-        ),
1511
-        'CURLINFO_PRIMARY_PORT' => array(
1512
-            '5.4.6' => false,
1513
-            '5.4.7' => true,
1514
-        ),
1515
-        'CURLINFO_LOCAL_IP' => array(
1516
-            '5.4.6' => false,
1517
-            '5.4.7' => true,
1518
-        ),
1519
-        'CURLINFO_LOCAL_PORT' => array(
1520
-            '5.4.6' => false,
1521
-            '5.4.7' => true,
1522
-        ),
1523
-
1524
-        // OpenSSL:
1525
-        'OPENSSL_ALGO_RMD160' => array(
1526
-            '5.4.7' => false,
1527
-            '5.4.8' => true,
1528
-        ),
1529
-        'OPENSSL_ALGO_SHA224' => array(
1530
-            '5.4.7' => false,
1531
-            '5.4.8' => true,
1532
-        ),
1533
-        'OPENSSL_ALGO_SHA256' => array(
1534
-            '5.4.7' => false,
1535
-            '5.4.8' => true,
1536
-        ),
1537
-        'OPENSSL_ALGO_SHA384' => array(
1538
-            '5.4.7' => false,
1539
-            '5.4.8' => true,
1540
-        ),
1541
-        'OPENSSL_ALGO_SHA512' => array(
1542
-            '5.4.7' => false,
1543
-            '5.4.8' => true,
1544
-        ),
1545
-
1546
-        // Filter:
1547
-        'FILTER_VALIDATE_MAC' => array(
1548
-            '5.4' => false,
1549
-            '5.5' => true,
1550
-        ),
1551
-        // GD
1552
-        'IMG_AFFINE_TRANSLATE' => array(
1553
-            '5.4' => false,
1554
-            '5.5' => true,
1555
-        ),
1556
-        'IMG_AFFINE_SCALE' => array(
1557
-            '5.4' => false,
1558
-            '5.5' => true,
1559
-        ),
1560
-        'IMG_AFFINE_ROTATE' => array(
1561
-            '5.4' => false,
1562
-            '5.5' => true,
1563
-        ),
1564
-        'IMG_AFFINE_SHEAR_HORIZONTAL' => array(
1565
-            '5.4' => false,
1566
-            '5.5' => true,
1567
-        ),
1568
-        'IMG_AFFINE_SHEAR_VERTICAL' => array(
1569
-            '5.4' => false,
1570
-            '5.5' => true,
1571
-        ),
1572
-        'IMG_CROP_DEFAULT' => array(
1573
-            '5.4' => false,
1574
-            '5.5' => true,
1575
-        ),
1576
-        'IMG_CROP_TRANSPARENT' => array(
1577
-            '5.4' => false,
1578
-            '5.5' => true,
1579
-        ),
1580
-        'IMG_CROP_BLACK' => array(
1581
-            '5.4' => false,
1582
-            '5.5' => true,
1583
-        ),
1584
-        'IMG_CROP_WHITE' => array(
1585
-            '5.4' => false,
1586
-            '5.5' => true,
1587
-        ),
1588
-        'IMG_CROP_SIDES' => array(
1589
-            '5.4' => false,
1590
-            '5.5' => true,
1591
-        ),
1592
-        'IMG_FLIP_BOTH' => array(
1593
-            '5.4' => false,
1594
-            '5.5' => true,
1595
-        ),
1596
-        'IMG_FLIP_HORIZONTAL' => array(
1597
-            '5.4' => false,
1598
-            '5.5' => true,
1599
-        ),
1600
-        'IMG_FLIP_VERTICAL' => array(
1601
-            '5.4' => false,
1602
-            '5.5' => true,
1603
-        ),
1604
-        'IMG_BELL' => array(
1605
-            '5.4' => false,
1606
-            '5.5' => true,
1607
-        ),
1608
-        'IMG_BESSEL' => array(
1609
-            '5.4' => false,
1610
-            '5.5' => true,
1611
-        ),
1612
-        'IMG_BILINEAR_FIXED' => array(
1613
-            '5.4' => false,
1614
-            '5.5' => true,
1615
-        ),
1616
-        'IMG_BICUBIC' => array(
1617
-            '5.4' => false,
1618
-            '5.5' => true,
1619
-        ),
1620
-        'IMG_BICUBIC_FIXED' => array(
1621
-            '5.4' => false,
1622
-            '5.5' => true,
1623
-        ),
1624
-        'IMG_BLACKMAN' => array(
1625
-            '5.4' => false,
1626
-            '5.5' => true,
1627
-        ),
1628
-        'IMG_BOX' => array(
1629
-            '5.4' => false,
1630
-            '5.5' => true,
1631
-        ),
1632
-        'IMG_BSPLINE' => array(
1633
-            '5.4' => false,
1634
-            '5.5' => true,
1635
-        ),
1636
-        'IMG_CATMULLROM' => array(
1637
-            '5.4' => false,
1638
-            '5.5' => true,
1639
-        ),
1640
-        'IMG_GAUSSIAN' => array(
1641
-            '5.4' => false,
1642
-            '5.5' => true,
1643
-        ),
1644
-        'IMG_GENERALIZED_CUBIC' => array(
1645
-            '5.4' => false,
1646
-            '5.5' => true,
1647
-        ),
1648
-        'IMG_HERMITE' => array(
1649
-            '5.4' => false,
1650
-            '5.5' => true,
1651
-        ),
1652
-        'IMG_HAMMING' => array(
1653
-            '5.4' => false,
1654
-            '5.5' => true,
1655
-        ),
1656
-        'IMG_HANNING' => array(
1657
-            '5.4' => false,
1658
-            '5.5' => true,
1659
-        ),
1660
-        'IMG_MITCHELL' => array(
1661
-            '5.4' => false,
1662
-            '5.5' => true,
1663
-        ),
1664
-        'IMG_POWER' => array(
1665
-            '5.4' => false,
1666
-            '5.5' => true,
1667
-        ),
1668
-        'IMG_QUADRATIC' => array(
1669
-            '5.4' => false,
1670
-            '5.5' => true,
1671
-        ),
1672
-        'IMG_SINC' => array(
1673
-            '5.4' => false,
1674
-            '5.5' => true,
1675
-        ),
1676
-        'IMG_NEAREST_NEIGHBOUR' => array(
1677
-            '5.4' => false,
1678
-            '5.5' => true,
1679
-        ),
1680
-        'IMG_WEIGHTED4' => array(
1681
-            '5.4' => false,
1682
-            '5.5' => true,
1683
-        ),
1684
-        'IMG_TRIANGLE' => array(
1685
-            '5.4' => false,
1686
-            '5.5' => true,
1687
-        ),
1688
-        // JSON:
1689
-        'JSON_ERROR_RECURSION' => array(
1690
-            '5.4' => false,
1691
-            '5.5' => true,
1692
-        ),
1693
-        'JSON_ERROR_INF_OR_NAN' => array(
1694
-            '5.4' => false,
1695
-            '5.5' => true,
1696
-        ),
1697
-        'JSON_ERROR_UNSUPPORTED_TYPE' => array(
1698
-            '5.4' => false,
1699
-            '5.5' => true,
1700
-        ),
1701
-        'JSON_PARTIAL_OUTPUT_ON_ERROR' => array(
1702
-            '5.4' => false,
1703
-            '5.5' => true,
1704
-        ),
1705
-        // MySQLi
1706
-        'MYSQLI_SERVER_PUBLIC_KEY' => array(
1707
-            '5.4' => false,
1708
-            '5.5' => true,
1709
-        ),
1710
-        // Curl:
1711
-        'CURLOPT_SHARE' => array(
1712
-            '5.4' => false,
1713
-            '5.5' => true,
1714
-        ),
1715
-        'CURLOPT_SSL_OPTIONS' => array(
1716
-            '5.4' => false,
1717
-            '5.5' => true,
1718
-        ),
1719
-        'CURLSSLOPT_ALLOW_BEAST' => array(
1720
-            '5.4' => false,
1721
-            '5.5' => true,
1722
-        ),
1723
-        'CURLOPT_USERNAME' => array(
1724
-            '5.4' => false,
1725
-            '5.5' => true,
1726
-        ),
1727
-        'CURLINFO_RESPONSE_CODE' => array(
1728
-            '5.4' => false,
1729
-            '5.5' => true,
1730
-        ),
1731
-        'CURLINFO_HTTP_CONNECTCODE' => array(
1732
-            '5.4' => false,
1733
-            '5.5' => true,
1734
-        ),
1735
-        'CURLINFO_HTTPAUTH_AVAIL' => array(
1736
-            '5.4' => false,
1737
-            '5.5' => true,
1738
-        ),
1739
-        'CURLINFO_PROXYAUTH_AVAIL' => array(
1740
-            '5.4' => false,
1741
-            '5.5' => true,
1742
-        ),
1743
-        'CURLINFO_OS_ERRNO' => array(
1744
-            '5.4' => false,
1745
-            '5.5' => true,
1746
-        ),
1747
-        'CURLINFO_NUM_CONNECTS' => array(
1748
-            '5.4' => false,
1749
-            '5.5' => true,
1750
-        ),
1751
-        'CURLINFO_SSL_ENGINES' => array(
1752
-            '5.4' => false,
1753
-            '5.5' => true,
1754
-        ),
1755
-        'CURLINFO_COOKIELIST' => array(
1756
-            '5.4' => false,
1757
-            '5.5' => true,
1758
-        ),
1759
-        'CURLINFO_FTP_ENTRY_PATH' => array(
1760
-            '5.4' => false,
1761
-            '5.5' => true,
1762
-        ),
1763
-        'CURLINFO_APPCONNECT_TIME' => array(
1764
-            '5.4' => false,
1765
-            '5.5' => true,
1766
-        ),
1767
-        'CURLINFO_CONDITION_UNMET' => array(
1768
-            '5.4' => false,
1769
-            '5.5' => true,
1770
-        ),
1771
-        'CURLINFO_RTSP_CLIENT_CSEQ' => array(
1772
-            '5.4' => false,
1773
-            '5.5' => true,
1774
-        ),
1775
-        'CURLINFO_RTSP_CSEQ_RECV' => array(
1776
-            '5.4' => false,
1777
-            '5.5' => true,
1778
-        ),
1779
-        'CURLINFO_RTSP_SERVER_CSEQ' => array(
1780
-            '5.4' => false,
1781
-            '5.5' => true,
1782
-        ),
1783
-        'CURLINFO_RTSP_SESSION_ID' => array(
1784
-            '5.4' => false,
1785
-            '5.5' => true,
1786
-        ),
1787
-        'CURLMOPT_PIPELINING' => array(
1788
-            '5.4' => false,
1789
-            '5.5' => true,
1790
-        ),
1791
-        'CURLMOPT_MAXCONNECTS' => array(
1792
-            '5.4' => false,
1793
-            '5.5' => true,
1794
-        ),
1795
-        'CURLPAUSE_ALL' => array(
1796
-            '5.4' => false,
1797
-            '5.5' => true,
1798
-        ),
1799
-        'CURLPAUSE_CONT' => array(
1800
-            '5.4' => false,
1801
-            '5.5' => true,
1802
-        ),
1803
-        'CURLPAUSE_RECV' => array(
1804
-            '5.4' => false,
1805
-            '5.5' => true,
1806
-        ),
1807
-        'CURLPAUSE_RECV_CONT' => array(
1808
-            '5.4' => false,
1809
-            '5.5' => true,
1810
-        ),
1811
-        'CURLPAUSE_SEND' => array(
1812
-            '5.4' => false,
1813
-            '5.5' => true,
1814
-        ),
1815
-        'CURLPAUSE_SEND_CONT' => array(
1816
-            '5.4' => false,
1817
-            '5.5' => true,
1818
-        ),
1819
-        // Soap:
1820
-        'SOAP_SSL_METHOD_TLS' => array(
1821
-            '5.4' => false,
1822
-            '5.5' => true,
1823
-        ),
1824
-        'SOAP_SSL_METHOD_SSLv2' => array(
1825
-            '5.4' => false,
1826
-            '5.5' => true,
1827
-        ),
1828
-        'SOAP_SSL_METHOD_SSLv3' => array(
1829
-            '5.4' => false,
1830
-            '5.5' => true,
1831
-        ),
1832
-        'SOAP_SSL_METHOD_SSLv23' => array(
1833
-            '5.4' => false,
1834
-            '5.5' => true,
1835
-        ),
1836
-        // Tokenizer:
1837
-        'T_FINALLY' => array(
1838
-            '5.4' => false,
1839
-            '5.5' => true,
1840
-        ),
1841
-        'T_YIELD' => array(
1842
-            '5.4' => false,
1843
-            '5.5' => true,
1844
-        ),
1845
-        // Core/Password Hashing:
1846
-        'PASSWORD_BCRYPT' => array(
1847
-            '5.4' => false,
1848
-            '5.5' => true,
1849
-        ),
1850
-        'PASSWORD_DEFAULT' => array(
1851
-            '5.4' => false,
1852
-            '5.5' => true,
1853
-        ),
1854
-        'PASSWORD_BCRYPT_DEFAULT_COST' => array(
1855
-            '5.4' => false,
1856
-            '5.5' => true,
1857
-        ),
1858
-
1859
-
1860
-        // Libxml:
1861
-        'LIBXML_SCHEMA_CREATE' => array(
1862
-            '5.5.1' => false,
1863
-            '5.5.2' => true,
1864
-        ),
1865
-
1866
-        // Curl:
1867
-        'CURL_SSLVERSION_TLSv1_0' => array(
1868
-            '5.5.18' => false,
1869
-            '5.5.19' => true,
1870
-        ),
1871
-        'CURL_SSLVERSION_TLSv1_1' => array(
1872
-            '5.5.18' => false,
1873
-            '5.5.19' => true,
1874
-        ),
1875
-        'CURL_SSLVERSION_TLSv1_2' => array(
1876
-            '5.5.18' => false,
1877
-            '5.5.19' => true,
1878
-        ),
1879
-
1880
-        'CURLPROXY_SOCKS4A' => array(
1881
-            '5.5.22' => false,
1882
-            '5.5.23' => true,
1883
-        ),
1884
-        'CURLPROXY_SOCKS5_HOSTNAME' => array(
1885
-            '5.5.22' => false,
1886
-            '5.5.23' => true,
1887
-        ),
1888
-
1889
-        'CURL_VERSION_HTTP2' => array(
1890
-            '5.5.23' => false,
1891
-            '5.5.24' => true,
1892
-        ),
1893
-
1894
-        'ARRAY_FILTER_USE_KEY' => array(
1895
-            '5.5' => false,
1896
-            '5.6' => true,
1897
-        ),
1898
-        'ARRAY_FILTER_USE_BOTH' => array(
1899
-            '5.5' => false,
1900
-            '5.6' => true,
1901
-        ),
1902
-        // LDAP:
1903
-        'LDAP_ESCAPE_DN' => array(
1904
-            '5.5' => false,
1905
-            '5.6' => true,
1906
-        ),
1907
-        'LDAP_ESCAPE_FILTER' => array(
1908
-            '5.5' => false,
1909
-            '5.6' => true,
1910
-        ),
1911
-        // OpenSSL:
1912
-        'OPENSSL_DEFAULT_STREAM_CIPHERS' => array(
1913
-            '5.5' => false,
1914
-            '5.6' => true,
1915
-        ),
1916
-        'STREAM_CRYPTO_METHOD_ANY_CLIENT' => array(
1917
-            '5.5' => false,
1918
-            '5.6' => true,
1919
-        ),
1920
-        'STREAM_CRYPTO_METHOD_ANY_SERVER' => array(
1921
-            '5.5' => false,
1922
-            '5.6' => true,
1923
-        ),
1924
-        'STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT' => array(
1925
-            '5.5' => false,
1926
-            '5.6' => true,
1927
-        ),
1928
-        'STREAM_CRYPTO_METHOD_TLSv1_0_SERVER' => array(
1929
-            '5.5' => false,
1930
-            '5.6' => true,
1931
-        ),
1932
-        'STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT' => array(
1933
-            '5.5' => false,
1934
-            '5.6' => true,
1935
-        ),
1936
-        'STREAM_CRYPTO_METHOD_TLSv1_1_SERVER' => array(
1937
-            '5.5' => false,
1938
-            '5.6' => true,
1939
-        ),
1940
-        'STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT' => array(
1941
-            '5.5' => false,
1942
-            '5.6' => true,
1943
-        ),
1944
-        'STREAM_CRYPTO_METHOD_TLSv1_2_SERVER' => array(
1945
-            '5.5' => false,
1946
-            '5.6' => true,
1947
-        ),
1948
-        // PostgreSQL:
1949
-        'PGSQL_CONNECT_ASYNC' => array(
1950
-            '5.5' => false,
1951
-            '5.6' => true,
1952
-        ),
1953
-        'PGSQL_CONNECTION_AUTH_OK' => array(
1954
-            '5.5' => false,
1955
-            '5.6' => true,
1956
-        ),
1957
-        'PGSQL_CONNECTION_AWAITING_RESPONSE' => array(
1958
-            '5.5' => false,
1959
-            '5.6' => true,
1960
-        ),
1961
-        'PGSQL_CONNECTION_MADE' => array(
1962
-            '5.5' => false,
1963
-            '5.6' => true,
1964
-        ),
1965
-        'PGSQL_CONNECTION_SETENV' => array(
1966
-            '5.5' => false,
1967
-            '5.6' => true,
1968
-        ),
1969
-        'PGSQL_CONNECTION_SSL_STARTUP' => array(
1970
-            '5.5' => false,
1971
-            '5.6' => true,
1972
-        ),
1973
-        'PGSQL_CONNECTION_STARTED' => array(
1974
-            '5.5' => false,
1975
-            '5.6' => true,
1976
-        ),
1977
-        'PGSQL_DML_ESCAPE' => array(
1978
-            '5.5' => false,
1979
-            '5.6' => true,
1980
-        ),
1981
-        'PGSQL_POLLING_ACTIVE' => array(
1982
-            '5.5' => false,
1983
-            '5.6' => true,
1984
-        ),
1985
-        'PGSQL_POLLING_FAILED' => array(
1986
-            '5.5' => false,
1987
-            '5.6' => true,
1988
-        ),
1989
-        'PGSQL_POLLING_OK' => array(
1990
-            '5.5' => false,
1991
-            '5.6' => true,
1992
-        ),
1993
-        'PGSQL_POLLING_READING' => array(
1994
-            '5.5' => false,
1995
-            '5.6' => true,
1996
-        ),
1997
-        'PGSQL_POLLING_WRITING' => array(
1998
-            '5.5' => false,
1999
-            '5.6' => true,
2000
-        ),
2001
-        // Tokenizer:
2002
-        'T_ELLIPSIS' => array(
2003
-            '5.5' => false,
2004
-            '5.6' => true,
2005
-        ),
2006
-        'T_POW' => array(
2007
-            '5.5' => false,
2008
-            '5.6' => true,
2009
-        ),
2010
-        'T_POW_EQUAL' => array(
2011
-            '5.5' => false,
2012
-            '5.6' => true,
2013
-        ),
2014
-
2015
-        'INI_SCANNER_TYPED' => array(
2016
-            '5.6.0' => false,
2017
-            '5.6.1' => true,
2018
-        ),
2019
-
2020
-        'JSON_PRESERVE_ZERO_FRACTION' => array(
2021
-            '5.6.5' => false,
2022
-            '5.6.6' => true,
2023
-        ),
2024
-
2025
-        'MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT' => array(
2026
-            '5.6.15' => false,
2027
-            '5.6.16' => true,
2028
-        ),
2029
-
2030
-        // GD:
2031
-        // Also introduced in 7.0.10.
2032
-        'IMG_WEBP' => array(
2033
-            '5.6.24' => false,
2034
-            '5.6.25' => true,
2035
-        ),
2036
-
2037
-
2038
-        'TOKEN_PARSE' => array(
2039
-            '5.6' => false,
2040
-            '7.0' => true,
2041
-        ),
2042
-        'FILTER_VALIDATE_DOMAIN' => array(
2043
-            '5.6' => false,
2044
-            '7.0' => true,
2045
-        ),
2046
-        'PHP_INT_MIN' => array(
2047
-            '5.6' => false,
2048
-            '7.0' => true,
2049
-        ),
2050
-        // Curl:
2051
-        'CURLPIPE_NOTHING' => array(
2052
-            '5.6' => false,
2053
-            '7.0' => true,
2054
-        ),
2055
-        'CURLPIPE_HTTP1' => array(
2056
-            '5.6' => false,
2057
-            '7.0' => true,
2058
-        ),
2059
-        'CURLPIPE_MULTIPLEX' => array(
2060
-            '5.6' => false,
2061
-            '7.0' => true,
2062
-        ),
2063
-        // JSON:
2064
-        'JSON_ERROR_INVALID_PROPERTY_NAME' => array(
2065
-            '5.6' => false,
2066
-            '7.0' => true,
2067
-        ),
2068
-        'JSON_ERROR_UTF16' => array(
2069
-            '5.6' => false,
2070
-            '7.0' => true,
2071
-        ),
2072
-        // LibXML:
2073
-        'LIBXML_BIGLINES' => array(
2074
-            '5.6' => false,
2075
-            '7.0' => true,
2076
-        ),
2077
-        // PCRE:
2078
-        'PREG_JIT_STACKLIMIT_ERROR' => array(
2079
-            '5.6' => false,
2080
-            '7.0' => true,
2081
-        ),
2082
-        // POSIX:
2083
-        'POSIX_RLIMIT_AS' => array(
2084
-            '5.6' => false,
2085
-            '7.0' => true,
2086
-        ),
2087
-        'POSIX_RLIMIT_CORE' => array(
2088
-            '5.6' => false,
2089
-            '7.0' => true,
2090
-        ),
2091
-        'POSIX_RLIMIT_CPU' => array(
2092
-            '5.6' => false,
2093
-            '7.0' => true,
2094
-        ),
2095
-        'POSIX_RLIMIT_DATA' => array(
2096
-            '5.6' => false,
2097
-            '7.0' => true,
2098
-        ),
2099
-        'POSIX_RLIMIT_FSIZE' => array(
2100
-            '5.6' => false,
2101
-            '7.0' => true,
2102
-        ),
2103
-        'POSIX_RLIMIT_LOCKS' => array(
2104
-            '5.6' => false,
2105
-            '7.0' => true,
2106
-        ),
2107
-        'POSIX_RLIMIT_MEMLOCK' => array(
2108
-            '5.6' => false,
2109
-            '7.0' => true,
2110
-        ),
2111
-        'POSIX_RLIMIT_MSGQUEUE' => array(
2112
-            '5.6' => false,
2113
-            '7.0' => true,
2114
-        ),
2115
-        'POSIX_RLIMIT_NICE' => array(
2116
-            '5.6' => false,
2117
-            '7.0' => true,
2118
-        ),
2119
-        'POSIX_RLIMIT_NOFILE' => array(
2120
-            '5.6' => false,
2121
-            '7.0' => true,
2122
-        ),
2123
-        'POSIX_RLIMIT_NPROC' => array(
2124
-            '5.6' => false,
2125
-            '7.0' => true,
2126
-        ),
2127
-        'POSIX_RLIMIT_RSS' => array(
2128
-            '5.6' => false,
2129
-            '7.0' => true,
2130
-        ),
2131
-        'POSIX_RLIMIT_RTPRIO' => array(
2132
-            '5.6' => false,
2133
-            '7.0' => true,
2134
-        ),
2135
-        'POSIX_RLIMIT_RTTIME' => array(
2136
-            '5.6' => false,
2137
-            '7.0' => true,
2138
-        ),
2139
-        'POSIX_RLIMIT_SIGPENDING' => array(
2140
-            '5.6' => false,
2141
-            '7.0' => true,
2142
-        ),
2143
-        'POSIX_RLIMIT_STACK' => array(
2144
-            '5.6' => false,
2145
-            '7.0' => true,
2146
-        ),
2147
-        'POSIX_RLIMIT_INFINITY' => array(
2148
-            '5.6' => false,
2149
-            '7.0' => true,
2150
-        ),
2151
-        // Tokenizer:
2152
-        'T_COALESCE' => array(
2153
-            '5.6' => false,
2154
-            '7.0' => true,
2155
-        ),
2156
-        'T_SPACESHIP' => array(
2157
-            '5.6' => false,
2158
-            '7.0' => true,
2159
-        ),
2160
-        'T_YIELD_FROM' => array(
2161
-            '5.6' => false,
2162
-            '7.0' => true,
2163
-        ),
2164
-
2165
-        // Zlib:
2166
-        // The first three are in the PHP 5.4 changelog, but the Extension constant page says 7.0.
2167
-        'ZLIB_ENCODING_RAW' => array(
2168
-            '5.6' => false,
2169
-            '7.0' => true,
2170
-        ),
2171
-        'ZLIB_ENCODING_DEFLATE' => array(
2172
-            '5.6' => false,
2173
-            '7.0' => true,
2174
-        ),
2175
-        'ZLIB_ENCODING_GZIP' => array(
2176
-            '5.6' => false,
2177
-            '7.0' => true,
2178
-        ),
2179
-        'ZLIB_FILTERED' => array(
2180
-            '5.6' => false,
2181
-            '7.0' => true,
2182
-        ),
2183
-        'ZLIB_HUFFMAN_ONLY' => array(
2184
-            '5.6' => false,
2185
-            '7.0' => true,
2186
-        ),
2187
-        'ZLIB_FIXED' => array(
2188
-            '5.6' => false,
2189
-            '7.0' => true,
2190
-        ),
2191
-        'ZLIB_RLE' => array(
2192
-            '5.6' => false,
2193
-            '7.0' => true,
2194
-        ),
2195
-        'ZLIB_DEFAULT_STRATEGY' => array(
2196
-            '5.6' => false,
2197
-            '7.0' => true,
2198
-        ),
2199
-        'ZLIB_BLOCK' => array(
2200
-            '5.6' => false,
2201
-            '7.0' => true,
2202
-        ),
2203
-        'ZLIB_FINISH' => array(
2204
-            '5.6' => false,
2205
-            '7.0' => true,
2206
-        ),
2207
-        'ZLIB_FULL_FLUSH' => array(
2208
-            '5.6' => false,
2209
-            '7.0' => true,
2210
-        ),
2211
-        'ZLIB_NO_FLUSH' => array(
2212
-            '5.6' => false,
2213
-            '7.0' => true,
2214
-        ),
2215
-        'ZLIB_PARTIAL_FLUSH' => array(
2216
-            '5.6' => false,
2217
-            '7.0' => true,
2218
-        ),
2219
-        'ZLIB_SYNC_FLUSH' => array(
2220
-            '5.6' => false,
2221
-            '7.0' => true,
2222
-        ),
2223
-
2224
-        'CURL_HTTP_VERSION_2' => array(
2225
-            '7.0.6' => false,
2226
-            '7.0.7' => true,
2227
-        ),
2228
-        'CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE' => array(
2229
-            '7.0.6' => false,
2230
-            '7.0.7' => true,
2231
-        ),
2232
-        'CURL_HTTP_VERSION_2TLS' => array(
2233
-            '7.0.6' => false,
2234
-            '7.0.7' => true,
2235
-        ),
2236
-        'CURL_REDIR_POST_301' => array(
2237
-            '7.0.6' => false,
2238
-            '7.0.7' => true,
2239
-        ),
2240
-        'CURL_REDIR_POST_302' => array(
2241
-            '7.0.6' => false,
2242
-            '7.0.7' => true,
2243
-        ),
2244
-        'CURL_REDIR_POST_303' => array(
2245
-            '7.0.6' => false,
2246
-            '7.0.7' => true,
2247
-        ),
2248
-        'CURL_REDIR_POST_ALL' => array(
2249
-            '7.0.6' => false,
2250
-            '7.0.7' => true,
2251
-        ),
2252
-        'CURL_VERSION_KERBEROS5' => array(
2253
-            '7.0.6' => false,
2254
-            '7.0.7' => true,
2255
-        ),
2256
-        'CURL_VERSION_PSL' => array(
2257
-            '7.0.6' => false,
2258
-            '7.0.7' => true,
2259
-        ),
2260
-        'CURL_VERSION_UNIX_SOCKETS' => array(
2261
-            '7.0.6' => false,
2262
-            '7.0.7' => true,
2263
-        ),
2264
-        'CURLAUTH_NEGOTIATE' => array(
2265
-            '7.0.6' => false,
2266
-            '7.0.7' => true,
2267
-        ),
2268
-        'CURLAUTH_NTLM_WB' => array(
2269
-            '7.0.6' => false,
2270
-            '7.0.7' => true,
2271
-        ),
2272
-        'CURLFTP_CREATE_DIR' => array(
2273
-            '7.0.6' => false,
2274
-            '7.0.7' => true,
2275
-        ),
2276
-        'CURLFTP_CREATE_DIR_NONE' => array(
2277
-            '7.0.6' => false,
2278
-            '7.0.7' => true,
2279
-        ),
2280
-        'CURLFTP_CREATE_DIR_RETRY' => array(
2281
-            '7.0.6' => false,
2282
-            '7.0.7' => true,
2283
-        ),
2284
-        'CURLHEADER_SEPARATE' => array(
2285
-            '7.0.6' => false,
2286
-            '7.0.7' => true,
2287
-        ),
2288
-        'CURLHEADER_UNIFIED' => array(
2289
-            '7.0.6' => false,
2290
-            '7.0.7' => true,
2291
-        ),
2292
-        'CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE' => array(
2293
-            '7.0.6' => false,
2294
-            '7.0.7' => true,
2295
-        ),
2296
-        'CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE' => array(
2297
-            '7.0.6' => false,
2298
-            '7.0.7' => true,
2299
-        ),
2300
-        'CURLMOPT_MAX_HOST_CONNECTIONS' => array(
2301
-            '7.0.6' => false,
2302
-            '7.0.7' => true,
2303
-        ),
2304
-        'CURLMOPT_MAX_PIPELINE_LENGTH' => array(
2305
-            '7.0.6' => false,
2306
-            '7.0.7' => true,
2307
-        ),
2308
-        'CURLMOPT_MAX_TOTAL_CONNECTIONS' => array(
2309
-            '7.0.6' => false,
2310
-            '7.0.7' => true,
2311
-        ),
2312
-        'CURLOPT_CONNECT_TO' => array(
2313
-            '7.0.6' => false,
2314
-            '7.0.7' => true,
2315
-        ),
2316
-        'CURLOPT_DEFAULT_PROTOCOL' => array(
2317
-            '7.0.6' => false,
2318
-            '7.0.7' => true,
2319
-        ),
2320
-        'CURLOPT_DNS_INTERFACE' => array(
2321
-            '7.0.6' => false,
2322
-            '7.0.7' => true,
2323
-        ),
2324
-        'CURLOPT_DNS_LOCAL_IP4' => array(
2325
-            '7.0.6' => false,
2326
-            '7.0.7' => true,
2327
-        ),
2328
-        'CURLOPT_DNS_LOCAL_IP6' => array(
2329
-            '7.0.6' => false,
2330
-            '7.0.7' => true,
2331
-        ),
2332
-        'CURLOPT_EXPECT_100_TIMEOUT_MS' => array(
2333
-            '7.0.6' => false,
2334
-            '7.0.7' => true,
2335
-        ),
2336
-        'CURLOPT_HEADEROPT' => array(
2337
-            '7.0.6' => false,
2338
-            '7.0.7' => true,
2339
-        ),
2340
-        'CURLOPT_LOGIN_OPTIONS' => array(
2341
-            '7.0.6' => false,
2342
-            '7.0.7' => true,
2343
-        ),
2344
-        'CURLOPT_PATH_AS_IS' => array(
2345
-            '7.0.6' => false,
2346
-            '7.0.7' => true,
2347
-        ),
2348
-        'CURLOPT_PINNEDPUBLICKEY' => array(
2349
-            '7.0.6' => false,
2350
-            '7.0.7' => true,
2351
-        ),
2352
-        'CURLOPT_PIPEWAIT' => array(
2353
-            '7.0.6' => false,
2354
-            '7.0.7' => true,
2355
-        ),
2356
-        'CURLOPT_PROXY_SERVICE_NAME' => array(
2357
-            '7.0.6' => false,
2358
-            '7.0.7' => true,
2359
-        ),
2360
-        'CURLOPT_PROXYHEADER' => array(
2361
-            '7.0.6' => false,
2362
-            '7.0.7' => true,
2363
-        ),
2364
-        'CURLOPT_SASL_IR' => array(
2365
-            '7.0.6' => false,
2366
-            '7.0.7' => true,
2367
-        ),
2368
-        'CURLOPT_SERVICE_NAME' => array(
2369
-            '7.0.6' => false,
2370
-            '7.0.7' => true,
2371
-        ),
2372
-        'CURLOPT_SSL_ENABLE_ALPN' => array(
2373
-            '7.0.6' => false,
2374
-            '7.0.7' => true,
2375
-        ),
2376
-        'CURLOPT_SSL_ENABLE_NPN' => array(
2377
-            '7.0.6' => false,
2378
-            '7.0.7' => true,
2379
-        ),
2380
-        'CURLOPT_SSL_FALSESTART' => array(
2381
-            '7.0.6' => false,
2382
-            '7.0.7' => true,
2383
-        ),
2384
-        'CURLOPT_SSL_VERIFYSTATUS' => array(
2385
-            '7.0.6' => false,
2386
-            '7.0.7' => true,
2387
-        ),
2388
-        'CURLOPT_STREAM_WEIGHT' => array(
2389
-            '7.0.6' => false,
2390
-            '7.0.7' => true,
2391
-        ),
2392
-        'CURLOPT_TCP_FASTOPEN' => array(
2393
-            '7.0.6' => false,
2394
-            '7.0.7' => true,
2395
-        ),
2396
-        'CURLOPT_TFTP_NO_OPTIONS' => array(
2397
-            '7.0.6' => false,
2398
-            '7.0.7' => true,
2399
-        ),
2400
-        'CURLOPT_UNIX_SOCKET_PATH' => array(
2401
-            '7.0.6' => false,
2402
-            '7.0.7' => true,
2403
-        ),
2404
-        'CURLOPT_XOAUTH2_BEARER' => array(
2405
-            '7.0.6' => false,
2406
-            '7.0.7' => true,
2407
-        ),
2408
-        'CURLPROTO_SMB' => array(
2409
-            '7.0.6' => false,
2410
-            '7.0.7' => true,
2411
-        ),
2412
-        'CURLPROTO_SMBS' => array(
2413
-            '7.0.6' => false,
2414
-            '7.0.7' => true,
2415
-        ),
2416
-        'CURLPROXY_HTTP_1_0' => array(
2417
-            '7.0.6' => false,
2418
-            '7.0.7' => true,
2419
-        ),
2420
-        'CURLSSH_AUTH_AGENT' => array(
2421
-            '7.0.6' => false,
2422
-            '7.0.7' => true,
2423
-        ),
2424
-        'CURLSSLOPT_NO_REVOKE' => array(
2425
-            '7.0.6' => false,
2426
-            '7.0.7' => true,
2427
-        ),
2428
-
2429
-        'PHP_FD_SETSIZE' => array(
2430
-            '7.0' => false,
2431
-            '7.1' => true,
2432
-        ),
2433
-        // Curl:
2434
-        'CURLMOPT_PUSHFUNCTION' => array(
2435
-            '7.0' => false,
2436
-            '7.1' => true,
2437
-        ),
2438
-        'CURL_PUSH_OK' => array(
2439
-            '7.0' => false,
2440
-            '7.1' => true,
2441
-        ),
2442
-        'CURL_PUSH_DENY' => array(
2443
-            '7.0' => false,
2444
-            '7.1' => true,
2445
-        ),
2446
-        // Filter:
2447
-        'FILTER_FLAG_EMAIL_UNICODE' => array(
2448
-            '7.0' => false,
2449
-            '7.1' => true,
2450
-        ),
2451
-        // GD:
2452
-        'IMAGETYPE_WEBP' => array(
2453
-            '7.0' => false,
2454
-            '7.1' => true,
2455
-        ),
2456
-        // Json:
2457
-        'JSON_UNESCAPED_LINE_TERMINATORS' => array(
2458
-            '7.0' => false,
2459
-            '7.1' => true,
2460
-        ),
2461
-        // LDAP:
2462
-        'LDAP_OPT_X_SASL_NOCANON' => array(
2463
-            '7.0' => false,
2464
-            '7.1' => true,
2465
-        ),
2466
-        'LDAP_OPT_X_SASL_USERNAME' => array(
2467
-            '7.0' => false,
2468
-            '7.1' => true,
2469
-        ),
2470
-        'LDAP_OPT_X_TLS_CACERTDIR' => array(
2471
-            '7.0' => false,
2472
-            '7.1' => true,
2473
-        ),
2474
-        'LDAP_OPT_X_TLS_CACERTFILE' => array(
2475
-            '7.0' => false,
2476
-            '7.1' => true,
2477
-        ),
2478
-        'LDAP_OPT_X_TLS_CERTFILE' => array(
2479
-            '7.0' => false,
2480
-            '7.1' => true,
2481
-        ),
2482
-        'LDAP_OPT_X_TLS_CIPHER_SUITE' => array(
2483
-            '7.0' => false,
2484
-            '7.1' => true,
2485
-        ),
2486
-        'LDAP_OPT_X_TLS_KEYFILE' => array(
2487
-            '7.0' => false,
2488
-            '7.1' => true,
2489
-        ),
2490
-        'LDAP_OPT_X_TLS_RANDOM_FILE' => array(
2491
-            '7.0' => false,
2492
-            '7.1' => true,
2493
-        ),
2494
-        'LDAP_OPT_X_TLS_CRLCHECK' => array(
2495
-            '7.0' => false,
2496
-            '7.1' => true,
2497
-        ),
2498
-        'LDAP_OPT_X_TLS_CRL_NONE' => array(
2499
-            '7.0' => false,
2500
-            '7.1' => true,
2501
-        ),
2502
-        'LDAP_OPT_X_TLS_CRL_PEER' => array(
2503
-            '7.0' => false,
2504
-            '7.1' => true,
2505
-        ),
2506
-        'LDAP_OPT_X_TLS_CRL_ALL' => array(
2507
-            '7.0' => false,
2508
-            '7.1' => true,
2509
-        ),
2510
-        'LDAP_OPT_X_TLS_DHFILE' => array(
2511
-            '7.0' => false,
2512
-            '7.1' => true,
2513
-        ),
2514
-        'LDAP_OPT_X_TLS_CRLFILE' => array(
2515
-            '7.0' => false,
2516
-            '7.1' => true,
2517
-        ),
2518
-        'LDAP_OPT_X_TLS_PROTOCOL_MIN' => array(
2519
-            '7.0' => false,
2520
-            '7.1' => true,
2521
-        ),
2522
-        'LDAP_OPT_X_TLS_PROTOCOL_SSL2' => array(
2523
-            '7.0' => false,
2524
-            '7.1' => true,
2525
-        ),
2526
-        'LDAP_OPT_X_TLS_PROTOCOL_SSL3' => array(
2527
-            '7.0' => false,
2528
-            '7.1' => true,
2529
-        ),
2530
-        'LDAP_OPT_X_TLS_PROTOCOL_TLS1_0' => array(
2531
-            '7.0' => false,
2532
-            '7.1' => true,
2533
-        ),
2534
-        'LDAP_OPT_X_TLS_PROTOCOL_TLS1_1' => array(
2535
-            '7.0' => false,
2536
-            '7.1' => true,
2537
-        ),
2538
-        'LDAP_OPT_X_TLS_PROTOCOL_TLS1_2' => array(
2539
-            '7.0' => false,
2540
-            '7.1' => true,
2541
-        ),
2542
-        'LDAP_OPT_X_TLS_PACKAGE' => array(
2543
-            '7.0' => false,
2544
-            '7.1' => true,
2545
-        ),
2546
-        'LDAP_OPT_X_KEEPALIVE_IDLE' => array(
2547
-            '7.0' => false,
2548
-            '7.1' => true,
2549
-        ),
2550
-        'LDAP_OPT_X_KEEPALIVE_PROBES' => array(
2551
-            '7.0' => false,
2552
-            '7.1' => true,
2553
-        ),
2554
-        'LDAP_OPT_X_KEEPALIVE_INTERVAL' => array(
2555
-            '7.0' => false,
2556
-            '7.1' => true,
2557
-        ),
2558
-        // PostgreSQL:
2559
-        'PGSQL_NOTICE_LAST' => array(
2560
-            '7.0' => false,
2561
-            '7.1' => true,
2562
-        ),
2563
-        'PGSQL_NOTICE_ALL' => array(
2564
-            '7.0' => false,
2565
-            '7.1' => true,
2566
-        ),
2567
-        'PGSQL_NOTICE_CLEAR' => array(
2568
-            '7.0' => false,
2569
-            '7.1' => true,
2570
-        ),
2571
-        // SPL:
2572
-        'MT_RAND_PHP' => array(
2573
-            '7.0' => false,
2574
-            '7.1' => true,
2575
-        ),
2576
-
2577
-        // SQLite3:
2578
-        'SQLITE3_DETERMINISTIC' => array(
2579
-            '7.1.3' => false,
2580
-            '7.1.4' => true,
2581
-        ),
2582
-
2583
-        // Core:
2584
-        'PHP_OS_FAMILY' => array(
2585
-            '7.1' => false,
2586
-            '7.2' => true,
2587
-        ),
2588
-        'PHP_FLOAT_DIG' => array(
2589
-            '7.1' => false,
2590
-            '7.2' => true,
2591
-        ),
2592
-        'PHP_FLOAT_EPSILON' => array(
2593
-            '7.1' => false,
2594
-            '7.2' => true,
2595
-        ),
2596
-        'PHP_FLOAT_MIN' => array(
2597
-            '7.1' => false,
2598
-            '7.2' => true,
2599
-        ),
2600
-        'PHP_FLOAT_MAX' => array(
2601
-            '7.1' => false,
2602
-            '7.2' => true,
2603
-        ),
2604
-
2605
-        // Core/Password Hashing:
2606
-        'PASSWORD_ARGON2I' => array(
2607
-            '7.1' => false,
2608
-            '7.2' => true,
2609
-        ),
2610
-        'PASSWORD_ARGON2_DEFAULT_MEMORY_COST' => array(
2611
-            '7.1' => false,
2612
-            '7.2' => true,
2613
-        ),
2614
-        'PASSWORD_ARGON2_DEFAULT_TIME_COST' => array(
2615
-            '7.1' => false,
2616
-            '7.2' => true,
2617
-        ),
2618
-        'PASSWORD_ARGON2_DEFAULT_THREADS' => array(
2619
-            '7.1' => false,
2620
-            '7.2' => true,
2621
-        ),
2622
-
2623
-        // Fileinfo:
2624
-        'FILEINFO_EXTENSION' => array(
2625
-            '7.1' => false,
2626
-            '7.2' => true,
2627
-        ),
2628
-
2629
-        // GD:
2630
-        'IMG_EFFECT_MULTIPLY' => array(
2631
-            '7.1' => false,
2632
-            '7.2' => true,
2633
-        ),
2634
-        'IMG_BMP' => array(
2635
-            '7.1' => false,
2636
-            '7.2' => true,
2637
-        ),
2638
-
2639
-        // JSON:
2640
-        'JSON_INVALID_UTF8_IGNORE' => array(
2641
-            '7.1' => false,
2642
-            '7.2' => true,
2643
-        ),
2644
-        'JSON_INVALID_UTF8_SUBSTITUTE' => array(
2645
-            '7.1' => false,
2646
-            '7.2' => true,
2647
-        ),
2648
-
2649
-        // LDAP:
2650
-        'LDAP_EXOP_START_TLS' => array(
2651
-            '7.1' => false,
2652
-            '7.2' => true,
2653
-        ),
2654
-        'LDAP_EXOP_MODIFY_PASSWD' => array(
2655
-            '7.1' => false,
2656
-            '7.2' => true,
2657
-        ),
2658
-        'LDAP_EXOP_REFRESH' => array(
2659
-            '7.1' => false,
2660
-            '7.2' => true,
2661
-        ),
2662
-        'LDAP_EXOP_WHO_AM_I' => array(
2663
-            '7.1' => false,
2664
-            '7.2' => true,
2665
-        ),
2666
-        'LDAP_EXOP_TURN' => array(
2667
-            '7.1' => false,
2668
-            '7.2' => true,
2669
-        ),
2670
-
2671
-        // PCRE:
2672
-        'PREG_UNMATCHED_AS_NULL' => array(
2673
-            '7.1' => false,
2674
-            '7.2' => true,
2675
-        ),
2676
-
2677
-        // Sodium:
2678
-        'SODIUM_LIBRARY_VERSION' => array(
2679
-            '7.1' => false,
2680
-            '7.2' => true,
2681
-        ),
2682
-        'SODIUM_LIBRARY_MAJOR_VERSION' => array(
2683
-            '7.1' => false,
2684
-            '7.2' => true,
2685
-        ),
2686
-        'SODIUM_LIBRARY_MINOR_VERSION' => array(
2687
-            '7.1' => false,
2688
-            '7.2' => true,
2689
-        ),
2690
-        'SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES' => array(
2691
-            '7.1' => false,
2692
-            '7.2' => true,
2693
-        ),
2694
-        'SODIUM_CRYPTO_AEAD_AES256GCM_NSECBYTES' => array(
2695
-            '7.1' => false,
2696
-            '7.2' => true,
2697
-        ),
2698
-        'SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES' => array(
2699
-            '7.1' => false,
2700
-            '7.2' => true,
2701
-        ),
2702
-        'SODIUM_CRYPTO_AEAD_AES256GCM_ABYTES' => array(
2703
-            '7.1' => false,
2704
-            '7.2' => true,
2705
-        ),
2706
-        'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_KEYBYTES' => array(
2707
-            '7.1' => false,
2708
-            '7.2' => true,
2709
-        ),
2710
-        'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NSECBYTES' => array(
2711
-            '7.1' => false,
2712
-            '7.2' => true,
2713
-        ),
2714
-        'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NPUBBYTES' => array(
2715
-            '7.1' => false,
2716
-            '7.2' => true,
2717
-        ),
2718
-        'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_ABYTES' => array(
2719
-            '7.1' => false,
2720
-            '7.2' => true,
2721
-        ),
2722
-        'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_KEYBYTES' => array(
2723
-            '7.1' => false,
2724
-            '7.2' => true,
2725
-        ),
2726
-        'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NSECBYTES' => array(
2727
-            '7.1' => false,
2728
-            '7.2' => true,
2729
-        ),
2730
-        'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES' => array(
2731
-            '7.1' => false,
2732
-            '7.2' => true,
2733
-        ),
2734
-        'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_ABYTES' => array(
2735
-            '7.1' => false,
2736
-            '7.2' => true,
2737
-        ),
2738
-        'SODIUM_CRYPTO_AUTH_BYTES' => array(
2739
-            '7.1' => false,
2740
-            '7.2' => true,
2741
-        ),
2742
-        'SODIUM_CRYPTO_AUTH_KEYBYTES' => array(
2743
-            '7.1' => false,
2744
-            '7.2' => true,
2745
-        ),
2746
-        'SODIUM_CRYPTO_BOX_SEALBYTES' => array(
2747
-            '7.1' => false,
2748
-            '7.2' => true,
2749
-        ),
2750
-        'SODIUM_CRYPTO_BOX_SECRETKEYBYTES' => array(
2751
-            '7.1' => false,
2752
-            '7.2' => true,
2753
-        ),
2754
-        'SODIUM_CRYPTO_BOX_PUBLICKEYBYTES' => array(
2755
-            '7.1' => false,
2756
-            '7.2' => true,
2757
-        ),
2758
-        'SODIUM_CRYPTO_BOX_KEYPAIRBYTES' => array(
2759
-            '7.1' => false,
2760
-            '7.2' => true,
2761
-        ),
2762
-        'SODIUM_CRYPTO_BOX_MACBYTES' => array(
2763
-            '7.1' => false,
2764
-            '7.2' => true,
2765
-        ),
2766
-        'SODIUM_CRYPTO_BOX_NONCEBYTES' => array(
2767
-            '7.1' => false,
2768
-            '7.2' => true,
2769
-        ),
2770
-        'SODIUM_CRYPTO_BOX_SEEDBYTES' => array(
2771
-            '7.1' => false,
2772
-            '7.2' => true,
2773
-        ),
2774
-        'SODIUM_CRYPTO_KDF_BYTES_MIN' => array(
2775
-            '7.1' => false,
2776
-            '7.2' => true,
2777
-        ),
2778
-        'SODIUM_CRYPTO_KDF_BYTES_MAX' => array(
2779
-            '7.1' => false,
2780
-            '7.2' => true,
2781
-        ),
2782
-        'SODIUM_CRYPTO_KDF_CONTEXTBYTES' => array(
2783
-            '7.1' => false,
2784
-            '7.2' => true,
2785
-        ),
2786
-        'SODIUM_CRYPTO_KDF_KEYBYTES' => array(
2787
-            '7.1' => false,
2788
-            '7.2' => true,
2789
-        ),
2790
-        'SODIUM_CRYPTO_KX_SEEDBYTES' => array(
2791
-            '7.1' => false,
2792
-            '7.2' => true,
2793
-        ),
2794
-        'SODIUM_CRYPTO_KX_SESSIONKEYBYTES' => array(
2795
-            '7.1' => false,
2796
-            '7.2' => true,
2797
-        ),
2798
-        'SODIUM_CRYPTO_KX_PUBLICKEYBYTES' => array(
2799
-            '7.1' => false,
2800
-            '7.2' => true,
2801
-        ),
2802
-        'SODIUM_CRYPTO_KX_SECRETKEYBYTES' => array(
2803
-            '7.1' => false,
2804
-            '7.2' => true,
2805
-        ),
2806
-        'SODIUM_CRYPTO_KX_KEYPAIRBYTES' => array(
2807
-            '7.1' => false,
2808
-            '7.2' => true,
2809
-        ),
2810
-        'SODIUM_CRYPTO_GENERICHASH_BYTES' => array(
2811
-            '7.1' => false,
2812
-            '7.2' => true,
2813
-        ),
2814
-        'SODIUM_CRYPTO_GENERICHASH_BYTES_MIN' => array(
2815
-            '7.1' => false,
2816
-            '7.2' => true,
2817
-        ),
2818
-        'SODIUM_CRYPTO_GENERICHASH_BYTES_MAX' => array(
2819
-            '7.1' => false,
2820
-            '7.2' => true,
2821
-        ),
2822
-        'SODIUM_CRYPTO_GENERICHASH_KEYBYTES' => array(
2823
-            '7.1' => false,
2824
-            '7.2' => true,
2825
-        ),
2826
-        'SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MIN' => array(
2827
-            '7.1' => false,
2828
-            '7.2' => true,
2829
-        ),
2830
-        'SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MAX' => array(
2831
-            '7.1' => false,
2832
-            '7.2' => true,
2833
-        ),
2834
-        'SODIUM_CRYPTO_PWHASH_ALG_ARGON2I13' => array(
2835
-            '7.1' => false,
2836
-            '7.2' => true,
2837
-        ),
2838
-        'SODIUM_CRYPTO_PWHASH_ALG_DEFAULT' => array(
2839
-            '7.1' => false,
2840
-            '7.2' => true,
2841
-        ),
2842
-        'SODIUM_CRYPTO_PWHASH_SALTBYTES' => array(
2843
-            '7.1' => false,
2844
-            '7.2' => true,
2845
-        ),
2846
-        'SODIUM_CRYPTO_PWHASH_STRPREFIX' => array(
2847
-            '7.1' => false,
2848
-            '7.2' => true,
2849
-        ),
2850
-        'SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE' => array(
2851
-            '7.1' => false,
2852
-            '7.2' => true,
2853
-        ),
2854
-        'SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE' => array(
2855
-            '7.1' => false,
2856
-            '7.2' => true,
2857
-        ),
2858
-        'SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE' => array(
2859
-            '7.1' => false,
2860
-            '7.2' => true,
2861
-        ),
2862
-        'SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE' => array(
2863
-            '7.1' => false,
2864
-            '7.2' => true,
2865
-        ),
2866
-        'SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE' => array(
2867
-            '7.1' => false,
2868
-            '7.2' => true,
2869
-        ),
2870
-        'SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE' => array(
2871
-            '7.1' => false,
2872
-            '7.2' => true,
2873
-        ),
2874
-        'SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES' => array(
2875
-            '7.1' => false,
2876
-            '7.2' => true,
2877
-        ),
2878
-        'SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_STRPREFIX' => array(
2879
-            '7.1' => false,
2880
-            '7.2' => true,
2881
-        ),
2882
-        'SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE' => array(
2883
-            '7.1' => false,
2884
-            '7.2' => true,
2885
-        ),
2886
-        'SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE' => array(
2887
-            '7.1' => false,
2888
-            '7.2' => true,
2889
-        ),
2890
-        'SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE' => array(
2891
-            '7.1' => false,
2892
-            '7.2' => true,
2893
-        ),
2894
-        'SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE' => array(
2895
-            '7.1' => false,
2896
-            '7.2' => true,
2897
-        ),
2898
-        'SODIUM_CRYPTO_SCALARMULT_BYTES' => array(
2899
-            '7.1' => false,
2900
-            '7.2' => true,
2901
-        ),
2902
-        'SODIUM_CRYPTO_SCALARMULT_SCALARBYTES' => array(
2903
-            '7.1' => false,
2904
-            '7.2' => true,
2905
-        ),
2906
-        'SODIUM_CRYPTO_SHORTHASH_BYTES' => array(
2907
-            '7.1' => false,
2908
-            '7.2' => true,
2909
-        ),
2910
-        'SODIUM_CRYPTO_SHORTHASH_KEYBYTES' => array(
2911
-            '7.1' => false,
2912
-            '7.2' => true,
2913
-        ),
2914
-        'SODIUM_CRYPTO_SECRETBOX_KEYBYTES' => array(
2915
-            '7.1' => false,
2916
-            '7.2' => true,
2917
-        ),
2918
-        'SODIUM_CRYPTO_SECRETBOX_MACBYTES' => array(
2919
-            '7.1' => false,
2920
-            '7.2' => true,
2921
-        ),
2922
-        'SODIUM_CRYPTO_SECRETBOX_NONCEBYTES' => array(
2923
-            '7.1' => false,
2924
-            '7.2' => true,
2925
-        ),
2926
-        'SODIUM_CRYPTO_SIGN_BYTES' => array(
2927
-            '7.1' => false,
2928
-            '7.2' => true,
2929
-        ),
2930
-        'SODIUM_CRYPTO_SIGN_SEEDBYTES' => array(
2931
-            '7.1' => false,
2932
-            '7.2' => true,
2933
-        ),
2934
-        'SODIUM_CRYPTO_SIGN_PUBLICKEYBYTES' => array(
2935
-            '7.1' => false,
2936
-            '7.2' => true,
2937
-        ),
2938
-        'SODIUM_CRYPTO_SIGN_SECRETKEYBYTES' => array(
2939
-            '7.1' => false,
2940
-            '7.2' => true,
2941
-        ),
2942
-        'SODIUM_CRYPTO_SIGN_KEYPAIRBYTES' => array(
2943
-            '7.1' => false,
2944
-            '7.2' => true,
2945
-        ),
2946
-        'SODIUM_CRYPTO_STREAM_NONCEBYTES' => array(
2947
-            '7.1' => false,
2948
-            '7.2' => true,
2949
-        ),
2950
-        'SODIUM_CRYPTO_STREAM_KEYBYTES' => array(
2951
-            '7.1' => false,
2952
-            '7.2' => true,
2953
-        ),
2954
-
2955
-        'CURLAUTH_BEARER' => array(
2956
-            '7.2' => false,
2957
-            '7.3' => true,
2958
-        ),
2959
-        'CURLAUTH_GSSAPI' => array(
2960
-            '7.2' => false,
2961
-            '7.3' => true,
2962
-        ),
2963
-        'CURLE_WEIRD_SERVER_REPLY' => array(
2964
-            '7.2' => false,
2965
-            '7.3' => true,
2966
-        ),
2967
-        'CURLINFO_APPCONNECT_TIME_T' => array(
2968
-            '7.2' => false,
2969
-            '7.3' => true,
2970
-        ),
2971
-        'CURLINFO_CONNECT_TIME_T' => array(
2972
-            '7.2' => false,
2973
-            '7.3' => true,
2974
-        ),
2975
-        'CURLINFO_CONTENT_LENGTH_DOWNLOAD_T' => array(
2976
-            '7.2' => false,
2977
-            '7.3' => true,
2978
-        ),
2979
-        'CURLINFO_CONTENT_LENGTH_UPLOAD_T' => array(
2980
-            '7.2' => false,
2981
-            '7.3' => true,
2982
-        ),
2983
-        'CURLINFO_FILETIME_T' => array(
2984
-            '7.2' => false,
2985
-            '7.3' => true,
2986
-        ),
2987
-        'CURLINFO_HTTP_VERSION' => array(
2988
-            '7.2' => false,
2989
-            '7.3' => true,
2990
-        ),
2991
-        'CURLINFO_NAMELOOKUP_TIME_T' => array(
2992
-            '7.2' => false,
2993
-            '7.3' => true,
2994
-        ),
2995
-        'CURLINFO_PRETRANSFER_TIME_T' => array(
2996
-            '7.2' => false,
2997
-            '7.3' => true,
2998
-        ),
2999
-        'CURLINFO_PROTOCOL' => array(
3000
-            '7.2' => false,
3001
-            '7.3' => true,
3002
-        ),
3003
-        'CURLINFO_PROXY_SSL_VERIFYRESULT' => array(
3004
-            '7.2' => false,
3005
-            '7.3' => true,
3006
-        ),
3007
-        'CURLINFO_REDIRECT_TIME_T' => array(
3008
-            '7.2' => false,
3009
-            '7.3' => true,
3010
-        ),
3011
-        'CURLINFO_SCHEME' => array(
3012
-            '7.2' => false,
3013
-            '7.3' => true,
3014
-        ),
3015
-        'CURLINFO_SIZE_DOWNLOAD_T' => array(
3016
-            '7.2' => false,
3017
-            '7.3' => true,
3018
-        ),
3019
-        'CURLINFO_SIZE_UPLOAD_T' => array(
3020
-            '7.2' => false,
3021
-            '7.3' => true,
3022
-        ),
3023
-        'CURLINFO_SPEED_DOWNLOAD_T' => array(
3024
-            '7.2' => false,
3025
-            '7.3' => true,
3026
-        ),
3027
-        'CURLINFO_SPEED_UPLOAD_T' => array(
3028
-            '7.2' => false,
3029
-            '7.3' => true,
3030
-        ),
3031
-        'CURLINFO_STARTTRANSFER_TIME_T' => array(
3032
-            '7.2' => false,
3033
-            '7.3' => true,
3034
-        ),
3035
-        'CURLINFO_TOTAL_TIME_T' => array(
3036
-            '7.2' => false,
3037
-            '7.3' => true,
3038
-        ),
3039
-        'CURL_LOCK_DATA_CONNECT' => array(
3040
-            '7.2' => false,
3041
-            '7.3' => true,
3042
-        ),
3043
-        'CURL_LOCK_DATA_PSL' => array(
3044
-            '7.2' => false,
3045
-            '7.3' => true,
3046
-        ),
3047
-        'CURL_MAX_READ_SIZE' => array(
3048
-            '7.2' => false,
3049
-            '7.3' => true,
3050
-        ),
3051
-        'CURLOPT_ABSTRACT_UNIX_SOCKET' => array(
3052
-            '7.2' => false,
3053
-            '7.3' => true,
3054
-        ),
3055
-        'CURLOPT_DISALLOW_USERNAME_IN_URL' => array(
3056
-            '7.2' => false,
3057
-            '7.3' => true,
3058
-        ),
3059
-        'CURLOPT_DNS_SHUFFLE_ADDRESSES' => array(
3060
-            '7.2' => false,
3061
-            '7.3' => true,
3062
-        ),
3063
-        'CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS' => array(
3064
-            '7.2' => false,
3065
-            '7.3' => true,
3066
-        ),
3067
-        'CURLOPT_HAPROXYPROTOCOL' => array(
3068
-            '7.2' => false,
3069
-            '7.3' => true,
3070
-        ),
3071
-        'CURLOPT_KEEP_SENDING_ON_ERROR' => array(
3072
-            '7.2' => false,
3073
-            '7.3' => true,
3074
-        ),
3075
-        'CURLOPT_PRE_PROXY' => array(
3076
-            '7.2' => false,
3077
-            '7.3' => true,
3078
-        ),
3079
-        'CURLOPT_PROXY_CAINFO' => array(
3080
-            '7.2' => false,
3081
-            '7.3' => true,
3082
-        ),
3083
-        'CURLOPT_PROXY_CAPATH' => array(
3084
-            '7.2' => false,
3085
-            '7.3' => true,
3086
-        ),
3087
-        'CURLOPT_PROXY_CRLFILE' => array(
3088
-            '7.2' => false,
3089
-            '7.3' => true,
3090
-        ),
3091
-        'CURLOPT_PROXY_KEYPASSWD' => array(
3092
-            '7.2' => false,
3093
-            '7.3' => true,
3094
-        ),
3095
-        'CURLOPT_PROXY_PINNEDPUBLICKEY' => array(
3096
-            '7.2' => false,
3097
-            '7.3' => true,
3098
-        ),
3099
-        'CURLOPT_PROXY_SSLCERT' => array(
3100
-            '7.2' => false,
3101
-            '7.3' => true,
3102
-        ),
3103
-        'CURLOPT_PROXY_SSLCERTTYPE' => array(
3104
-            '7.2' => false,
3105
-            '7.3' => true,
3106
-        ),
3107
-        'CURLOPT_PROXY_SSL_CIPHER_LIST' => array(
3108
-            '7.2' => false,
3109
-            '7.3' => true,
3110
-        ),
3111
-        'CURLOPT_PROXY_SSLKEY' => array(
3112
-            '7.2' => false,
3113
-            '7.3' => true,
3114
-        ),
3115
-        'CURLOPT_PROXY_SSLKEYTYPE' => array(
3116
-            '7.2' => false,
3117
-            '7.3' => true,
3118
-        ),
3119
-        'CURLOPT_PROXY_SSL_OPTIONS' => array(
3120
-            '7.2' => false,
3121
-            '7.3' => true,
3122
-        ),
3123
-        'CURLOPT_PROXY_SSL_VERIFYHOST' => array(
3124
-            '7.2' => false,
3125
-            '7.3' => true,
3126
-        ),
3127
-        'CURLOPT_PROXY_SSL_VERIFYPEER' => array(
3128
-            '7.2' => false,
3129
-            '7.3' => true,
3130
-        ),
3131
-        'CURLOPT_PROXY_SSLVERSION' => array(
3132
-            '7.2' => false,
3133
-            '7.3' => true,
3134
-        ),
3135
-        'CURLOPT_PROXY_TLS13_CIPHERS' => array(
3136
-            '7.2' => false,
3137
-            '7.3' => true,
3138
-        ),
3139
-        'CURLOPT_PROXY_TLSAUTH_PASSWORD' => array(
3140
-            '7.2' => false,
3141
-            '7.3' => true,
3142
-        ),
3143
-        'CURLOPT_PROXY_TLSAUTH_TYPE' => array(
3144
-            '7.2' => false,
3145
-            '7.3' => true,
3146
-        ),
3147
-        'CURLOPT_PROXY_TLSAUTH_USERNAME' => array(
3148
-            '7.2' => false,
3149
-            '7.3' => true,
3150
-        ),
3151
-        'CURLOPT_REQUEST_TARGET' => array(
3152
-            '7.2' => false,
3153
-            '7.3' => true,
3154
-        ),
3155
-        'CURLOPT_SOCKS5_AUTH' => array(
3156
-            '7.2' => false,
3157
-            '7.3' => true,
3158
-        ),
3159
-        'CURLOPT_SSH_COMPRESSION' => array(
3160
-            '7.2' => false,
3161
-            '7.3' => true,
3162
-        ),
3163
-        'CURLOPT_SUPPRESS_CONNECT_HEADERS' => array(
3164
-            '7.2' => false,
3165
-            '7.3' => true,
3166
-        ),
3167
-        'CURLOPT_TIMEVALUE_LARGE' => array(
3168
-            '7.2' => false,
3169
-            '7.3' => true,
3170
-        ),
3171
-        'CURLOPT_TLS13_CIPHERS' => array(
3172
-            '7.2' => false,
3173
-            '7.3' => true,
3174
-        ),
3175
-        'CURLPROXY_HTTPS' => array(
3176
-            '7.2' => false,
3177
-            '7.3' => true,
3178
-        ),
3179
-        'CURLSSH_AUTH_GSSAPI' => array(
3180
-            '7.2' => false,
3181
-            '7.3' => true,
3182
-        ),
3183
-        'CURL_SSLVERSION_MAX_DEFAULT' => array(
3184
-            '7.2' => false,
3185
-            '7.3' => true,
3186
-        ),
3187
-        'CURL_SSLVERSION_MAX_NONE' => array(
3188
-            '7.2' => false,
3189
-            '7.3' => true,
3190
-        ),
3191
-        'CURL_SSLVERSION_MAX_TLSv1_0' => array(
3192
-            '7.2' => false,
3193
-            '7.3' => true,
3194
-        ),
3195
-        'CURL_SSLVERSION_MAX_TLSv1_1' => array(
3196
-            '7.2' => false,
3197
-            '7.3' => true,
3198
-        ),
3199
-        'CURL_SSLVERSION_MAX_TLSv1_2' => array(
3200
-            '7.2' => false,
3201
-            '7.3' => true,
3202
-        ),
3203
-        'CURL_SSLVERSION_MAX_TLSv1_3' => array(
3204
-            '7.2' => false,
3205
-            '7.3' => true,
3206
-        ),
3207
-        'CURL_SSLVERSION_TLSv1_3' => array(
3208
-            '7.2' => false,
3209
-            '7.3' => true,
3210
-        ),
3211
-        'CURL_VERSION_ASYNCHDNS' => array(
3212
-            '7.2' => false,
3213
-            '7.3' => true,
3214
-        ),
3215
-        'CURL_VERSION_BROTLI' => array(
3216
-            '7.2' => false,
3217
-            '7.3' => true,
3218
-        ),
3219
-        'CURL_VERSION_CONV' => array(
3220
-            '7.2' => false,
3221
-            '7.3' => true,
3222
-        ),
3223
-        'CURL_VERSION_DEBUG' => array(
3224
-            '7.2' => false,
3225
-            '7.3' => true,
3226
-        ),
3227
-        'CURL_VERSION_GSSAPI' => array(
3228
-            '7.2' => false,
3229
-            '7.3' => true,
3230
-        ),
3231
-        'CURL_VERSION_GSSNEGOTIATE' => array(
3232
-            '7.2' => false,
3233
-            '7.3' => true,
3234
-        ),
3235
-        'CURL_VERSION_HTTPS_PROXY' => array(
3236
-            '7.2' => false,
3237
-            '7.3' => true,
3238
-        ),
3239
-        'CURL_VERSION_IDN' => array(
3240
-            '7.2' => false,
3241
-            '7.3' => true,
3242
-        ),
3243
-        'CURL_VERSION_LARGEFILE' => array(
3244
-            '7.2' => false,
3245
-            '7.3' => true,
3246
-        ),
3247
-        'CURL_VERSION_MULTI_SSL' => array(
3248
-            '7.2' => false,
3249
-            '7.3' => true,
3250
-        ),
3251
-        'CURL_VERSION_NTLM' => array(
3252
-            '7.2' => false,
3253
-            '7.3' => true,
3254
-        ),
3255
-        'CURL_VERSION_NTLM_WB' => array(
3256
-            '7.2' => false,
3257
-            '7.3' => true,
3258
-        ),
3259
-        'CURL_VERSION_SPNEGO' => array(
3260
-            '7.2' => false,
3261
-            '7.3' => true,
3262
-        ),
3263
-        'CURL_VERSION_SSPI' => array(
3264
-            '7.2' => false,
3265
-            '7.3' => true,
3266
-        ),
3267
-        'CURL_VERSION_TLSAUTH_SRP' => array(
3268
-            '7.2' => false,
3269
-            '7.3' => true,
3270
-        ),
3271
-        'FILTER_SANITIZE_ADD_SLASHES' => array(
3272
-            '7.2' => false,
3273
-            '7.3' => true,
3274
-        ),
3275
-        'JSON_THROW_ON_ERROR' => array(
3276
-            '7.2' => false,
3277
-            '7.3' => true,
3278
-        ),
3279
-        'LDAP_CONTROL_MANAGEDSAIT' => array(
3280
-            '7.2' => false,
3281
-            '7.3' => true,
3282
-        ),
3283
-        'LDAP_CONTROL_PROXY_AUTHZ' => array(
3284
-            '7.2' => false,
3285
-            '7.3' => true,
3286
-        ),
3287
-        'LDAP_CONTROL_SUBENTRIES' => array(
3288
-            '7.2' => false,
3289
-            '7.3' => true,
3290
-        ),
3291
-        'LDAP_CONTROL_VALUESRETURNFILTER' => array(
3292
-            '7.2' => false,
3293
-            '7.3' => true,
3294
-        ),
3295
-        'LDAP_CONTROL_ASSERT' => array(
3296
-            '7.2' => false,
3297
-            '7.3' => true,
3298
-        ),
3299
-        'LDAP_CONTROL_PRE_READ' => array(
3300
-            '7.2' => false,
3301
-            '7.3' => true,
3302
-        ),
3303
-        'LDAP_CONTROL_POST_READ' => array(
3304
-            '7.2' => false,
3305
-            '7.3' => true,
3306
-        ),
3307
-        'LDAP_CONTROL_SORTREQUEST' => array(
3308
-            '7.2' => false,
3309
-            '7.3' => true,
3310
-        ),
3311
-        'LDAP_CONTROL_SORTRESPONSE' => array(
3312
-            '7.2' => false,
3313
-            '7.3' => true,
3314
-        ),
3315
-        'LDAP_CONTROL_PAGEDRESULTS' => array(
3316
-            '7.2' => false,
3317
-            '7.3' => true,
3318
-        ),
3319
-        'LDAP_CONTROL_AUTHZID_REQUEST' => array(
3320
-            '7.2' => false,
3321
-            '7.3' => true,
3322
-        ),
3323
-        'LDAP_CONTROL_AUTHZID_RESPONSE' => array(
3324
-            '7.2' => false,
3325
-            '7.3' => true,
3326
-        ),
3327
-        'LDAP_CONTROL_SYNC' => array(
3328
-            '7.2' => false,
3329
-            '7.3' => true,
3330
-        ),
3331
-        'LDAP_CONTROL_SYNC_STATE' => array(
3332
-            '7.2' => false,
3333
-            '7.3' => true,
3334
-        ),
3335
-        'LDAP_CONTROL_SYNC_DONE' => array(
3336
-            '7.2' => false,
3337
-            '7.3' => true,
3338
-        ),
3339
-        'LDAP_CONTROL_DONTUSECOPY' => array(
3340
-            '7.2' => false,
3341
-            '7.3' => true,
3342
-        ),
3343
-        'LDAP_CONTROL_PASSWORDPOLICYREQUEST' => array(
3344
-            '7.2' => false,
3345
-            '7.3' => true,
3346
-        ),
3347
-        'LDAP_CONTROL_PASSWORDPOLICYRESPONSE' => array(
3348
-            '7.2' => false,
3349
-            '7.3' => true,
3350
-        ),
3351
-        'LDAP_CONTROL_X_INCREMENTAL_VALUES' => array(
3352
-            '7.2' => false,
3353
-            '7.3' => true,
3354
-        ),
3355
-        'LDAP_CONTROL_X_DOMAIN_SCOPE' => array(
3356
-            '7.2' => false,
3357
-            '7.3' => true,
3358
-        ),
3359
-        'LDAP_CONTROL_X_PERMISSIVE_MODIFY' => array(
3360
-            '7.2' => false,
3361
-            '7.3' => true,
3362
-        ),
3363
-        'LDAP_CONTROL_X_SEARCH_OPTIONS' => array(
3364
-            '7.2' => false,
3365
-            '7.3' => true,
3366
-        ),
3367
-        'LDAP_CONTROL_X_TREE_DELETE' => array(
3368
-            '7.2' => false,
3369
-            '7.3' => true,
3370
-        ),
3371
-        'LDAP_CONTROL_X_EXTENDED_DN' => array(
3372
-            '7.2' => false,
3373
-            '7.3' => true,
3374
-        ),
3375
-        'LDAP_CONTROL_VLVREQUEST' => array(
3376
-            '7.2' => false,
3377
-            '7.3' => true,
3378
-        ),
3379
-        'LDAP_CONTROL_VLVRESPONSE' => array(
3380
-            '7.2' => false,
3381
-            '7.3' => true,
3382
-        ),
3383
-        'MB_CASE_FOLD' => array(
3384
-            '7.2' => false,
3385
-            '7.3' => true,
3386
-        ),
3387
-        'MB_CASE_UPPER_SIMPLE' => array(
3388
-            '7.2' => false,
3389
-            '7.3' => true,
3390
-        ),
3391
-        'MB_CASE_LOWER_SIMPLE' => array(
3392
-            '7.2' => false,
3393
-            '7.3' => true,
3394
-        ),
3395
-        'MB_CASE_TITLE_SIMPLE' => array(
3396
-            '7.2' => false,
3397
-            '7.3' => true,
3398
-        ),
3399
-        'MB_CASE_FOLD_SIMPLE' => array(
3400
-            '7.2' => false,
3401
-            '7.3' => true,
3402
-        ),
3403
-        'PGSQL_DIAG_SCHEMA_NAME' => array(
3404
-            '7.2' => false,
3405
-            '7.3' => true,
3406
-        ),
3407
-        'PGSQL_DIAG_TABLE_NAME' => array(
3408
-            '7.2' => false,
3409
-            '7.3' => true,
3410
-        ),
3411
-        'PGSQL_DIAG_COLUMN_NAME' => array(
3412
-            '7.2' => false,
3413
-            '7.3' => true,
3414
-        ),
3415
-        'PGSQL_DIAG_DATATYPE_NAME' => array(
3416
-            '7.2' => false,
3417
-            '7.3' => true,
3418
-        ),
3419
-        'PGSQL_DIAG_CONSTRAINT_NAME' => array(
3420
-            '7.2' => false,
3421
-            '7.3' => true,
3422
-        ),
3423
-        'PGSQL_DIAG_SEVERITY_NONLOCALIZED' => array(
3424
-            '7.2' => false,
3425
-            '7.3' => true,
3426
-        ),
3427
-        'PASSWORD_ARGON2ID' => array(
3428
-            '7.2' => false,
3429
-            '7.3' => true,
3430
-        ),
3431
-        'STREAM_CRYPTO_PROTO_SSLv3' => array(
3432
-            '7.2' => false,
3433
-            '7.3' => true,
3434
-        ),
3435
-        'STREAM_CRYPTO_PROTO_TLSv1_0' => array(
3436
-            '7.2' => false,
3437
-            '7.3' => true,
3438
-        ),
3439
-        'STREAM_CRYPTO_PROTO_TLSv1_1' => array(
3440
-            '7.2' => false,
3441
-            '7.3' => true,
3442
-        ),
3443
-        'STREAM_CRYPTO_PROTO_TLSv1_2' => array(
3444
-            '7.2' => false,
3445
-            '7.3' => true,
3446
-        ),
3447
-
3448
-        'MB_ONIGURUMA_VERSION' => array(
3449
-            '7.3' => false,
3450
-            '7.4' => true,
3451
-        ),
3452
-        'SO_LABEL' => array(
3453
-            '7.3' => false,
3454
-            '7.4' => true,
3455
-        ),
3456
-        'SO_PEERLABEL' => array(
3457
-            '7.3' => false,
3458
-            '7.4' => true,
3459
-        ),
3460
-        'SO_LISTENQLIMIT' => array(
3461
-            '7.3' => false,
3462
-            '7.4' => true,
3463
-        ),
3464
-        'SO_LISTENQLEN' => array(
3465
-            '7.3' => false,
3466
-            '7.4' => true,
3467
-        ),
3468
-        'SO_USER_COOKIE' => array(
3469
-            '7.3' => false,
3470
-            '7.4' => true,
3471
-        ),
3472
-        'PHP_WINDOWS_EVENT_CTRL_C' => array(
3473
-            '7.3' => false,
3474
-            '7.4' => true,
3475
-        ),
3476
-        'PHP_WINDOWS_EVENT_CTRL_BREAK' => array(
3477
-            '7.3' => false,
3478
-            '7.4' => true,
3479
-        ),
3480
-        'TIDY_TAG_ARTICLE' => array(
3481
-            '7.3' => false,
3482
-            '7.4' => true,
3483
-        ),
3484
-        'TIDY_TAG_ASIDE' => array(
3485
-            '7.3' => false,
3486
-            '7.4' => true,
3487
-        ),
3488
-        'TIDY_TAG_AUDIO' => array(
3489
-            '7.3' => false,
3490
-            '7.4' => true,
3491
-        ),
3492
-        'TIDY_TAG_BDI' => array(
3493
-            '7.3' => false,
3494
-            '7.4' => true,
3495
-        ),
3496
-        'TIDY_TAG_CANVAS' => array(
3497
-            '7.3' => false,
3498
-            '7.4' => true,
3499
-        ),
3500
-        'TIDY_TAG_COMMAND' => array(
3501
-            '7.3' => false,
3502
-            '7.4' => true,
3503
-        ),
3504
-        'TIDY_TAG_DATALIST' => array(
3505
-            '7.3' => false,
3506
-            '7.4' => true,
3507
-        ),
3508
-        'TIDY_TAG_DETAILS' => array(
3509
-            '7.3' => false,
3510
-            '7.4' => true,
3511
-        ),
3512
-        'TIDY_TAG_DIALOG' => array(
3513
-            '7.3' => false,
3514
-            '7.4' => true,
3515
-        ),
3516
-        'TIDY_TAG_FIGCAPTION' => array(
3517
-            '7.3' => false,
3518
-            '7.4' => true,
3519
-        ),
3520
-        'TIDY_TAG_FIGURE' => array(
3521
-            '7.3' => false,
3522
-            '7.4' => true,
3523
-        ),
3524
-        'TIDY_TAG_FOOTER' => array(
3525
-            '7.3' => false,
3526
-            '7.4' => true,
3527
-        ),
3528
-        'TIDY_TAG_HEADER' => array(
3529
-            '7.3' => false,
3530
-            '7.4' => true,
3531
-        ),
3532
-        'TIDY_TAG_HGROUP' => array(
3533
-            '7.3' => false,
3534
-            '7.4' => true,
3535
-        ),
3536
-        'TIDY_TAG_MAIN' => array(
3537
-            '7.3' => false,
3538
-            '7.4' => true,
3539
-        ),
3540
-        'TIDY_TAG_MARK' => array(
3541
-            '7.3' => false,
3542
-            '7.4' => true,
3543
-        ),
3544
-        'TIDY_TAG_MENUITEM' => array(
3545
-            '7.3' => false,
3546
-            '7.4' => true,
3547
-        ),
3548
-        'TIDY_TAG_METER' => array(
3549
-            '7.3' => false,
3550
-            '7.4' => true,
3551
-        ),
3552
-        'TIDY_TAG_NAV' => array(
3553
-            '7.3' => false,
3554
-            '7.4' => true,
3555
-        ),
3556
-        'TIDY_TAG_OUTPUT' => array(
3557
-            '7.3' => false,
3558
-            '7.4' => true,
3559
-        ),
3560
-        'TIDY_TAG_PROGRESS' => array(
3561
-            '7.3' => false,
3562
-            '7.4' => true,
3563
-        ),
3564
-        'TIDY_TAG_SECTION' => array(
3565
-            '7.3' => false,
3566
-            '7.4' => true,
3567
-        ),
3568
-        'TIDY_TAG_SOURCE' => array(
3569
-            '7.3' => false,
3570
-            '7.4' => true,
3571
-        ),
3572
-        'TIDY_TAG_SUMMARY' => array(
3573
-            '7.3' => false,
3574
-            '7.4' => true,
3575
-        ),
3576
-        'TIDY_TAG_TEMPLATE' => array(
3577
-            '7.3' => false,
3578
-            '7.4' => true,
3579
-        ),
3580
-        'TIDY_TAG_TIME' => array(
3581
-            '7.3' => false,
3582
-            '7.4' => true,
3583
-        ),
3584
-        'TIDY_TAG_TRACK' => array(
3585
-            '7.3' => false,
3586
-            '7.4' => true,
3587
-        ),
3588
-        'TIDY_TAG_VIDEO' => array(
3589
-            '7.3' => false,
3590
-            '7.4' => true,
3591
-        ),
3592
-    );
3593
-
3594
-
3595
-    /**
3596
-     * Returns an array of tokens this test wants to listen for.
3597
-     *
3598
-     * @return array
3599
-     */
3600
-    public function register()
3601
-    {
3602
-        return array(\T_STRING);
3603
-    }
3604
-
3605
-    /**
3606
-     * Processes this test, when one of its tokens is encountered.
3607
-     *
3608
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
3609
-     * @param int                   $stackPtr  The position of the current token in the
3610
-     *                                         stack passed in $tokens.
3611
-     *
3612
-     * @return void
3613
-     */
3614
-    public function process(File $phpcsFile, $stackPtr)
3615
-    {
3616
-        $tokens       = $phpcsFile->getTokens();
3617
-        $constantName = $tokens[$stackPtr]['content'];
3618
-
3619
-        if (isset($this->newConstants[$constantName]) === false) {
3620
-            return;
3621
-        }
3622
-
3623
-        if ($this->isUseOfGlobalConstant($phpcsFile, $stackPtr) === false) {
3624
-            return;
3625
-        }
3626
-
3627
-        $itemInfo = array(
3628
-            'name' => $constantName,
3629
-        );
3630
-        $this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
3631
-    }
3632
-
3633
-
3634
-    /**
3635
-     * Get the relevant sub-array for a specific item from a multi-dimensional array.
3636
-     *
3637
-     * @param array $itemInfo Base information about the item.
3638
-     *
3639
-     * @return array Version and other information about the item.
3640
-     */
3641
-    public function getItemArray(array $itemInfo)
3642
-    {
3643
-        return $this->newConstants[$itemInfo['name']];
3644
-    }
3645
-
3646
-
3647
-    /**
3648
-     * Get the error message template for this sniff.
3649
-     *
3650
-     * @return string
3651
-     */
3652
-    protected function getErrorMsgTemplate()
3653
-    {
3654
-        return 'The constant "%s" is not present in PHP version %s or earlier';
3655
-    }
25
+	/**
26
+	 * A list of new PHP Constants, not present in older versions.
27
+	 *
28
+	 * The array lists : version number with false (not present) or true (present).
29
+	 * If's sufficient to list the first version where the constant appears.
30
+	 *
31
+	 * Note: PHP Constants are case-sensitive!
32
+	 *
33
+	 * @var array(string => array(string => bool|string|null))
34
+	 */
35
+	protected $newConstants = array(
36
+		'E_STRICT' => array(
37
+			'4.4' => false,
38
+			'5.0' => true,
39
+		),
40
+		// Curl:
41
+		'CURLOPT_FTP_USE_EPRT' => array(
42
+			'4.4' => false,
43
+			'5.0' => true,
44
+		),
45
+		'CURLOPT_NOSIGNAL' => array(
46
+			'4.4' => false,
47
+			'5.0' => true,
48
+		),
49
+		'CURLOPT_UNRESTRICTED_AUTH' => array(
50
+			'4.4' => false,
51
+			'5.0' => true,
52
+		),
53
+		'CURLOPT_BUFFERSIZE' => array(
54
+			'4.4' => false,
55
+			'5.0' => true,
56
+		),
57
+		'CURLOPT_HTTPAUTH' => array(
58
+			'4.4' => false,
59
+			'5.0' => true,
60
+		),
61
+		'CURLOPT_PROXYPORT' => array(
62
+			'4.4' => false,
63
+			'5.0' => true,
64
+		),
65
+		'CURLOPT_PROXYTYPE' => array(
66
+			'4.4' => false,
67
+			'5.0' => true,
68
+		),
69
+		'CURLOPT_SSLCERTTYPE' => array(
70
+			'4.4' => false,
71
+			'5.0' => true,
72
+		),
73
+		'CURLOPT_HTTP200ALIASES' => array(
74
+			'4.4' => false,
75
+			'5.0' => true,
76
+		),
77
+		// OpenSSL:
78
+		'OPENSSL_ALGO_MD2' => array(
79
+			'4.4' => false,
80
+			'5.0' => true,
81
+		),
82
+		'OPENSSL_ALGO_MD4' => array(
83
+			'4.4' => false,
84
+			'5.0' => true,
85
+		),
86
+		'OPENSSL_ALGO_MD5' => array(
87
+			'4.4' => false,
88
+			'5.0' => true,
89
+		),
90
+		'OPENSSL_ALGO_SHA1' => array(
91
+			'4.4' => false,
92
+			'5.0' => true,
93
+		),
94
+		'OPENSSL_ALGO_DSS1' => array(
95
+			'4.4' => false,
96
+			'5.0' => true,
97
+		),
98
+		// Tokenizer:
99
+		'T_ABSTRACT' => array(
100
+			'4.4' => false,
101
+			'5.0' => true,
102
+		),
103
+		'T_CATCH' => array(
104
+			'4.4' => false,
105
+			'5.0' => true,
106
+		),
107
+
108
+		'SORT_LOCALE_STRING' => array(
109
+			'5.0.1' => false,
110
+			'5.0.2' => true,
111
+		),
112
+		'PHP_EOL' => array(
113
+			'5.0.1' => false,
114
+			'5.0.2' => true,
115
+		),
116
+
117
+		'PHP_INT_MAX' => array(
118
+			'5.0.4' => false,
119
+			'5.0.5' => true,
120
+		),
121
+		'PHP_INT_SIZE' => array(
122
+			'5.0.4' => false,
123
+			'5.0.5' => true,
124
+		),
125
+
126
+		'__COMPILER_HALT_OFFSET__' => array(
127
+			'5.0' => false,
128
+			'5.1' => true,
129
+		),
130
+		'GLOB_ERR' => array(
131
+			'5.0' => false,
132
+			'5.1' => true,
133
+		),
134
+		// Curl:
135
+		'CURLOPT_AUTOREFERER' => array(
136
+			'5.0' => false,
137
+			'5.1' => true,
138
+		),
139
+		'CURLOPT_BINARYTRANSFER' => array(
140
+			'5.0' => false,
141
+			'5.1' => true,
142
+		),
143
+		'CURLOPT_COOKIESESSION' => array(
144
+			'5.0' => false,
145
+			'5.1' => true,
146
+		),
147
+		'CURLOPT_FTPSSLAUTH' => array(
148
+			'5.0' => false,
149
+			'5.1' => true,
150
+		),
151
+		'CURLOPT_PROXYAUTH' => array(
152
+			'5.0' => false,
153
+			'5.1' => true,
154
+		),
155
+		'CURLOPT_TIMECONDITION' => array(
156
+			'5.0' => false,
157
+			'5.1' => true,
158
+		),
159
+		// POSIX:
160
+		'POSIX_F_OK' => array(
161
+			'5.0' => false,
162
+			'5.1' => true,
163
+		),
164
+		'POSIX_R_OK' => array(
165
+			'5.0' => false,
166
+			'5.1' => true,
167
+		),
168
+		'POSIX_W_OK' => array(
169
+			'5.0' => false,
170
+			'5.1' => true,
171
+		),
172
+		'POSIX_X_OK' => array(
173
+			'5.0' => false,
174
+			'5.1' => true,
175
+		),
176
+		'POSIX_S_IFBLK' => array(
177
+			'5.0' => false,
178
+			'5.1' => true,
179
+		),
180
+		'POSIX_S_IFCHR' => array(
181
+			'5.0' => false,
182
+			'5.1' => true,
183
+		),
184
+		'POSIX_S_IFIFO' => array(
185
+			'5.0' => false,
186
+			'5.1' => true,
187
+		),
188
+		'POSIX_S_IFREG' => array(
189
+			'5.0' => false,
190
+			'5.1' => true,
191
+		),
192
+		'POSIX_S_IFSOCK' => array(
193
+			'5.0' => false,
194
+			'5.1' => true,
195
+		),
196
+		// Streams:
197
+		'STREAM_IPPROTO_ICMP' => array(
198
+			'5.0' => false,
199
+			'5.1' => true,
200
+		),
201
+		'STREAM_IPPROTO_IP' => array(
202
+			'5.0' => false,
203
+			'5.1' => true,
204
+		),
205
+		'STREAM_IPPROTO_RAW' => array(
206
+			'5.0' => false,
207
+			'5.1' => true,
208
+		),
209
+		'STREAM_IPPROTO_TCP' => array(
210
+			'5.0' => false,
211
+			'5.1' => true,
212
+		),
213
+		'STREAM_IPPROTO_UDP' => array(
214
+			'5.0' => false,
215
+			'5.1' => true,
216
+		),
217
+		'STREAM_PF_INET' => array(
218
+			'5.0' => false,
219
+			'5.1' => true,
220
+		),
221
+		'STREAM_PF_INET6' => array(
222
+			'5.0' => false,
223
+			'5.1' => true,
224
+		),
225
+		'STREAM_PF_UNIX' => array(
226
+			'5.0' => false,
227
+			'5.1' => true,
228
+		),
229
+		'STREAM_SOCK_DGRAM' => array(
230
+			'5.0' => false,
231
+			'5.1' => true,
232
+		),
233
+		'STREAM_SOCK_RAW' => array(
234
+			'5.0' => false,
235
+			'5.1' => true,
236
+		),
237
+		'STREAM_SOCK_RDM' => array(
238
+			'5.0' => false,
239
+			'5.1' => true,
240
+		),
241
+		'STREAM_SOCK_SEQPACKET' => array(
242
+			'5.0' => false,
243
+			'5.1' => true,
244
+		),
245
+		'STREAM_SOCK_STREAM' => array(
246
+			'5.0' => false,
247
+			'5.1' => true,
248
+		),
249
+		// Tokenizer:
250
+		'T_HALT_COMPILER' => array(
251
+			'5.0' => false,
252
+			'5.1' => true,
253
+		),
254
+
255
+		// Date/Time:
256
+		'DATE_ATOM' => array(
257
+			'5.1.0' => false,
258
+			'5.1.1' => true,
259
+		),
260
+		'DATE_COOKIE' => array(
261
+			'5.1.0' => false,
262
+			'5.1.1' => true,
263
+		),
264
+		'DATE_ISO8601' => array(
265
+			'5.1.0' => false,
266
+			'5.1.1' => true,
267
+		),
268
+		'DATE_RFC822' => array(
269
+			'5.1.0' => false,
270
+			'5.1.1' => true,
271
+		),
272
+		'DATE_RFC850' => array(
273
+			'5.1.0' => false,
274
+			'5.1.1' => true,
275
+		),
276
+		'DATE_RFC1036' => array(
277
+			'5.1.0' => false,
278
+			'5.1.1' => true,
279
+		),
280
+		'DATE_RFC1123' => array(
281
+			'5.1.0' => false,
282
+			'5.1.1' => true,
283
+		),
284
+		'DATE_RFC2822' => array(
285
+			'5.1.0' => false,
286
+			'5.1.1' => true,
287
+		),
288
+		'DATE_RFC3339' => array(
289
+			'5.1.0' => false,
290
+			'5.1.1' => true,
291
+		),
292
+		'DATE_RSS' => array(
293
+			'5.1.0' => false,
294
+			'5.1.1' => true,
295
+		),
296
+		'DATE_W3C' => array(
297
+			'5.1.0' => false,
298
+			'5.1.1' => true,
299
+		),
300
+
301
+		// Date/Time:
302
+		'SUNFUNCS_RET_TIMESTAMP' => array(
303
+			'5.1.1' => false,
304
+			'5.1.2' => true,
305
+		),
306
+		'SUNFUNCS_RET_STRING' => array(
307
+			'5.1.1' => false,
308
+			'5.1.2' => true,
309
+		),
310
+		'SUNFUNCS_RET_DOUBLE' => array(
311
+			'5.1.1' => false,
312
+			'5.1.2' => true,
313
+		),
314
+		// XSL:
315
+		'LIBXSLT_VERSION' => array(
316
+			'5.1.1' => false,
317
+			'5.1.2' => true,
318
+		),
319
+		'LIBXSLT_DOTTED_VERSION' => array(
320
+			'5.1.1' => false,
321
+			'5.1.2' => true,
322
+		),
323
+		'LIBEXSLT_VERSION' => array(
324
+			'5.1.1' => false,
325
+			'5.1.2' => true,
326
+		),
327
+		'LIBEXSLT_DOTTED_VERSION' => array(
328
+			'5.1.1' => false,
329
+			'5.1.2' => true,
330
+		),
331
+		// URL:
332
+		'PHP_URL_SCHEME' => array(
333
+			'5.1.1' => false,
334
+			'5.1.2' => true,
335
+		),
336
+		'PHP_URL_HOST' => array(
337
+			'5.1.1' => false,
338
+			'5.1.2' => true,
339
+		),
340
+		'PHP_URL_PORT' => array(
341
+			'5.1.1' => false,
342
+			'5.1.2' => true,
343
+		),
344
+		'PHP_URL_USER' => array(
345
+			'5.1.1' => false,
346
+			'5.1.2' => true,
347
+		),
348
+		'PHP_URL_PASS' => array(
349
+			'5.1.1' => false,
350
+			'5.1.2' => true,
351
+		),
352
+		'PHP_URL_PATH' => array(
353
+			'5.1.1' => false,
354
+			'5.1.2' => true,
355
+		),
356
+		'PHP_URL_QUERY' => array(
357
+			'5.1.1' => false,
358
+			'5.1.2' => true,
359
+		),
360
+		'PHP_URL_FRAGMENT' => array(
361
+			'5.1.1' => false,
362
+			'5.1.2' => true,
363
+		),
364
+		'PHP_QUERY_RFC1738' => array(
365
+			'5.1.1' => false,
366
+			'5.1.2' => true,
367
+		),
368
+		'PHP_QUERY_RFC3986' => array(
369
+			'5.1.1' => false,
370
+			'5.1.2' => true,
371
+		),
372
+
373
+		// Curl:
374
+		'CURLINFO_HEADER_OUT' => array(
375
+			'5.1.2' => false,
376
+			'5.1.3' => true,
377
+		),
378
+
379
+		// Core:
380
+		'E_RECOVERABLE_ERROR' => array(
381
+			'5.1' => false,
382
+			'5.2' => true,
383
+		),
384
+		// Math:
385
+		'M_EULER' => array(
386
+			'5.1' => false,
387
+			'5.2' => true,
388
+		),
389
+		'M_LNPI' => array(
390
+			'5.1' => false,
391
+			'5.2' => true,
392
+		),
393
+		'M_SQRT3' => array(
394
+			'5.1' => false,
395
+			'5.2' => true,
396
+		),
397
+		'M_SQRTPI' => array(
398
+			'5.1' => false,
399
+			'5.2' => true,
400
+		),
401
+		'PATHINFO_FILENAME' => array(
402
+			'5.1' => false,
403
+			'5.2' => true,
404
+		),
405
+		'UPLOAD_ERR_EXTENSION' => array(
406
+			'5.1' => false,
407
+			'5.2' => true,
408
+		),
409
+		// Curl:
410
+		'CURLE_FILESIZE_EXCEEDED' => array(
411
+			'5.1' => false,
412
+			'5.2' => true,
413
+		),
414
+		'CURLE_FTP_SSL_FAILED' => array(
415
+			'5.1' => false,
416
+			'5.2' => true,
417
+		),
418
+		'CURLE_LDAP_INVALID_URL' => array(
419
+			'5.1' => false,
420
+			'5.2' => true,
421
+		),
422
+		'CURLFTPAUTH_DEFAULT' => array(
423
+			'5.1' => false,
424
+			'5.2' => true,
425
+		),
426
+		'CURLFTPAUTH_SSL' => array(
427
+			'5.1' => false,
428
+			'5.2' => true,
429
+		),
430
+		'CURLFTPAUTH_TLS' => array(
431
+			'5.1' => false,
432
+			'5.2' => true,
433
+		),
434
+		'CURLFTPSSL_ALL' => array(
435
+			'5.1' => false,
436
+			'5.2' => true,
437
+		),
438
+		'CURLFTPSSL_CONTROL' => array(
439
+			'5.1' => false,
440
+			'5.2' => true,
441
+		),
442
+		'CURLFTPSSL_NONE' => array(
443
+			'5.1' => false,
444
+			'5.2' => true,
445
+		),
446
+		'CURLFTPSSL_TRY' => array(
447
+			'5.1' => false,
448
+			'5.2' => true,
449
+		),
450
+		'CURLOPT_FTP_SSL' => array(
451
+			'5.1' => false,
452
+			'5.2' => true,
453
+		),
454
+		// Ming:
455
+		'SWFTEXTFIELD_USEFONT' => array(
456
+			'5.1' => false,
457
+			'5.2' => true,
458
+		),
459
+		'SWFTEXTFIELD_AUTOSIZE' => array(
460
+			'5.1' => false,
461
+			'5.2' => true,
462
+		),
463
+		'SWF_SOUND_NOT_COMPRESSED' => array(
464
+			'5.1' => false,
465
+			'5.2' => true,
466
+		),
467
+		'SWF_SOUND_ADPCM_COMPRESSED' => array(
468
+			'5.1' => false,
469
+			'5.2' => true,
470
+		),
471
+		'SWF_SOUND_MP3_COMPRESSED' => array(
472
+			'5.1' => false,
473
+			'5.2' => true,
474
+		),
475
+		'SWF_SOUND_NOT_COMPRESSED_LE' => array(
476
+			'5.1' => false,
477
+			'5.2' => true,
478
+		),
479
+		'SWF_SOUND_NELLY_COMPRESSED' => array(
480
+			'5.1' => false,
481
+			'5.2' => true,
482
+		),
483
+		'SWF_SOUND_5KHZ' => array(
484
+			'5.1' => false,
485
+			'5.2' => true,
486
+		),
487
+		'SWF_SOUND_11KHZ' => array(
488
+			'5.1' => false,
489
+			'5.2' => true,
490
+		),
491
+		'SWF_SOUND_22KHZ' => array(
492
+			'5.1' => false,
493
+			'5.2' => true,
494
+		),
495
+		'SWF_SOUND_44KHZ' => array(
496
+			'5.1' => false,
497
+			'5.2' => true,
498
+		),
499
+		'SWF_SOUND_8BITS' => array(
500
+			'5.1' => false,
501
+			'5.2' => true,
502
+		),
503
+		'SWF_SOUND_16BITS' => array(
504
+			'5.1' => false,
505
+			'5.2' => true,
506
+		),
507
+		'SWF_SOUND_MONO' => array(
508
+			'5.1' => false,
509
+			'5.2' => true,
510
+		),
511
+		'SWF_SOUND_STEREO' => array(
512
+			'5.1' => false,
513
+			'5.2' => true,
514
+		),
515
+		// OpenSSL:
516
+		'OPENSSL_KEYTYPE_EC' => array(
517
+			'5.1' => false,
518
+			'5.2' => true,
519
+		),
520
+		'OPENSSL_VERSION_NUMBER' => array(
521
+			'5.1' => false,
522
+			'5.2' => true,
523
+		),
524
+		'OPENSSL_VERSION_TEXT' => array(
525
+			'5.1' => false,
526
+			'5.2' => true,
527
+		),
528
+		// PCRE:
529
+		'PREG_BACKTRACK_LIMIT_ERROR' => array(
530
+			'5.1' => false,
531
+			'5.2' => true,
532
+		),
533
+		'PREG_BAD_UTF8_ERROR' => array(
534
+			'5.1' => false,
535
+			'5.2' => true,
536
+		),
537
+		'PREG_INTERNAL_ERROR' => array(
538
+			'5.1' => false,
539
+			'5.2' => true,
540
+		),
541
+		'PREG_NO_ERROR' => array(
542
+			'5.1' => false,
543
+			'5.2' => true,
544
+		),
545
+		'PREG_RECURSION_LIMIT_ERROR' => array(
546
+			'5.1' => false,
547
+			'5.2' => true,
548
+		),
549
+		// Snmp:
550
+		'SNMP_OID_OUTPUT_FULL' => array(
551
+			'5.1' => false,
552
+			'5.2' => true,
553
+		),
554
+		'SNMP_OID_OUTPUT_NUMERIC' => array(
555
+			'5.1' => false,
556
+			'5.2' => true,
557
+		),
558
+		// Semaphore:
559
+		'MSG_EAGAIN' => array(
560
+			'5.1' => false,
561
+			'5.2' => true,
562
+		),
563
+		'MSG_ENOMSG' => array(
564
+			'5.1' => false,
565
+			'5.2' => true,
566
+		),
567
+
568
+		// Curl:
569
+		'CURLOPT_TCP_NODELAY' => array(
570
+			'5.2.0' => false,
571
+			'5.2.1' => true,
572
+		),
573
+
574
+		// Stream:
575
+		'STREAM_SHUT_RD' => array(
576
+			'5.2.0' => false,
577
+			'5.2.1' => true,
578
+		),
579
+		'STREAM_SHUT_WR' => array(
580
+			'5.2.0' => false,
581
+			'5.2.1' => true,
582
+		),
583
+		'STREAM_SHUT_RDWR' => array(
584
+			'5.2.0' => false,
585
+			'5.2.1' => true,
586
+		),
587
+
588
+		'GMP_VERSION' => array(
589
+			'5.2.1' => false,
590
+			'5.2.2' => true,
591
+		),
592
+
593
+		// Curl:
594
+		'CURLOPT_TIMEOUT_MS' => array(
595
+			'5.2.2' => false,
596
+			'5.2.3' => true,
597
+		),
598
+		'CURLOPT_CONNECTTIMEOUT_MS' => array(
599
+			'5.2.2' => false,
600
+			'5.2.3' => true,
601
+		),
602
+
603
+		// Curl:
604
+		'CURLOPT_PRIVATE' => array(
605
+			'5.2.3' => false,
606
+			'5.2.4' => true,
607
+		),
608
+		'CURLINFO_PRIVATE' => array(
609
+			'5.2.3' => false,
610
+			'5.2.4' => true,
611
+		),
612
+		// GD:
613
+		'GD_VERSION' => array(
614
+			'5.2.3' => false,
615
+			'5.2.4' => true,
616
+		),
617
+		'GD_MAJOR_VERSION' => array(
618
+			'5.2.3' => false,
619
+			'5.2.4' => true,
620
+		),
621
+		'GD_MINOR_VERSION' => array(
622
+			'5.2.3' => false,
623
+			'5.2.4' => true,
624
+		),
625
+		'GD_RELEASE_VERSION' => array(
626
+			'5.2.3' => false,
627
+			'5.2.4' => true,
628
+		),
629
+		'GD_EXTRA_VERSION' => array(
630
+			'5.2.3' => false,
631
+			'5.2.4' => true,
632
+		),
633
+		// PCRE:
634
+		'PCRE_VERSION' => array(
635
+			'5.2.3' => false,
636
+			'5.2.4' => true,
637
+		),
638
+
639
+		'PHP_MAJOR_VERSION' => array(
640
+			'5.2.6' => false,
641
+			'5.2.7' => true,
642
+		),
643
+		'PHP_MINOR_VERSION' => array(
644
+			'5.2.6' => false,
645
+			'5.2.7' => true,
646
+		),
647
+		'PHP_RELEASE_VERSION' => array(
648
+			'5.2.6' => false,
649
+			'5.2.7' => true,
650
+		),
651
+		'PHP_VERSION_ID' => array(
652
+			'5.2.6' => false,
653
+			'5.2.7' => true,
654
+		),
655
+		'PHP_EXTRA_VERSION' => array(
656
+			'5.2.6' => false,
657
+			'5.2.7' => true,
658
+		),
659
+		'PHP_ZTS' => array(
660
+			'5.2.6' => false,
661
+			'5.2.7' => true,
662
+		),
663
+		'PHP_DEBUG' => array(
664
+			'5.2.6' => false,
665
+			'5.2.7' => true,
666
+		),
667
+		'FILE_BINARY' => array(
668
+			'5.2.6' => false,
669
+			'5.2.7' => true,
670
+		),
671
+		'FILE_TEXT' => array(
672
+			'5.2.6' => false,
673
+			'5.2.7' => true,
674
+		),
675
+		// Sockets:
676
+		'TCP_NODELAY' => array(
677
+			'5.2.6' => false,
678
+			'5.2.7' => true,
679
+		),
680
+
681
+		// Curl:
682
+		'CURLOPT_PROTOCOLS' => array(
683
+			'5.2.9'  => false,
684
+			'5.2.10' => true,
685
+		),
686
+		'CURLOPT_REDIR_PROTOCOLS' => array(
687
+			'5.2.9'  => false,
688
+			'5.2.10' => true,
689
+		),
690
+		'CURLPROXY_SOCKS4' => array(
691
+			'5.2.9'  => false,
692
+			'5.2.10' => true,
693
+		),
694
+
695
+		// Libxml:
696
+		'LIBXML_PARSEHUGE' => array(
697
+			'5.2.11' => false,
698
+			'5.2.12' => true,
699
+		),
700
+
701
+		// Core:
702
+		'ENT_IGNORE' => array(
703
+			'5.2' => false,
704
+			'5.3' => true,
705
+		),
706
+		'E_DEPRECATED' => array(
707
+			'5.2' => false,
708
+			'5.3' => true,
709
+		),
710
+		'E_USER_DEPRECATED' => array(
711
+			'5.2' => false,
712
+			'5.3' => true,
713
+		),
714
+		'INI_SCANNER_NORMAL' => array(
715
+			'5.2' => false,
716
+			'5.3' => true,
717
+		),
718
+		'INI_SCANNER_RAW' => array(
719
+			'5.2' => false,
720
+			'5.3' => true,
721
+		),
722
+		'PHP_MAXPATHLEN' => array(
723
+			'5.2' => false,
724
+			'5.3' => true,
725
+		),
726
+		'PHP_WINDOWS_NT_DOMAIN_CONTROLLER' => array(
727
+			'5.2' => false,
728
+			'5.3' => true,
729
+		),
730
+		'PHP_WINDOWS_NT_SERVER' => array(
731
+			'5.2' => false,
732
+			'5.3' => true,
733
+		),
734
+		'PHP_WINDOWS_NT_WORKSTATION' => array(
735
+			'5.2' => false,
736
+			'5.3' => true,
737
+		),
738
+		'PHP_WINDOWS_VERSION_BUILD' => array(
739
+			'5.2' => false,
740
+			'5.3' => true,
741
+		),
742
+		'PHP_WINDOWS_VERSION_MAJOR' => array(
743
+			'5.2' => false,
744
+			'5.3' => true,
745
+		),
746
+		'PHP_WINDOWS_VERSION_MINOR' => array(
747
+			'5.2' => false,
748
+			'5.3' => true,
749
+		),
750
+		'PHP_WINDOWS_VERSION_PLATFORM' => array(
751
+			'5.2' => false,
752
+			'5.3' => true,
753
+		),
754
+		'PHP_WINDOWS_VERSION_PRODUCTTYPE' => array(
755
+			'5.2' => false,
756
+			'5.3' => true,
757
+		),
758
+		'PHP_WINDOWS_VERSION_SP_MAJOR' => array(
759
+			'5.2' => false,
760
+			'5.3' => true,
761
+		),
762
+		'PHP_WINDOWS_VERSION_SP_MINOR' => array(
763
+			'5.2' => false,
764
+			'5.3' => true,
765
+		),
766
+		'PHP_WINDOWS_VERSION_SUITEMASK' => array(
767
+			'5.2' => false,
768
+			'5.3' => true,
769
+		),
770
+		// Curl:
771
+		'CURLINFO_CERTINFO' => array(
772
+			'5.2' => false,
773
+			'5.3' => true,
774
+		),
775
+		'CURLOPT_PROGRESSFUNCTION' => array(
776
+			'5.2' => false,
777
+			'5.3' => true,
778
+		),
779
+		'CURLE_SSH' => array(
780
+			'5.2' => false,
781
+			'5.3' => true,
782
+		),
783
+		// GD:
784
+		'IMG_FILTER_PIXELATE' => array(
785
+			'5.2' => false,
786
+			'5.3' => true,
787
+		),
788
+		'IMAGETYPE_ICO' => array(
789
+			'5.2' => false,
790
+			'5.3' => true,
791
+		),
792
+		// Fileinfo:
793
+		'FILEINFO_MIME_TYPE' => array(
794
+			'5.2' => false,
795
+			'5.3' => true,
796
+		),
797
+		'FILEINFO_MIME_ENCODING' => array(
798
+			'5.2' => false,
799
+			'5.3' => true,
800
+		),
801
+		// JSON:
802
+		'JSON_ERROR_CTRL_CHAR' => array(
803
+			'5.2' => false,
804
+			'5.3' => true,
805
+		),
806
+		'JSON_ERROR_DEPTH' => array(
807
+			'5.2' => false,
808
+			'5.3' => true,
809
+		),
810
+		'JSON_ERROR_NONE' => array(
811
+			'5.2' => false,
812
+			'5.3' => true,
813
+		),
814
+		'JSON_ERROR_STATE_MISMATCH' => array(
815
+			'5.2' => false,
816
+			'5.3' => true,
817
+		),
818
+		'JSON_ERROR_SYNTAX' => array(
819
+			'5.2' => false,
820
+			'5.3' => true,
821
+		),
822
+		'JSON_FORCE_OBJECT' => array(
823
+			'5.2' => false,
824
+			'5.3' => true,
825
+		),
826
+		'JSON_HEX_TAG' => array(
827
+			'5.2' => false,
828
+			'5.3' => true,
829
+		),
830
+		'JSON_HEX_AMP' => array(
831
+			'5.2' => false,
832
+			'5.3' => true,
833
+		),
834
+		'JSON_HEX_APOS' => array(
835
+			'5.2' => false,
836
+			'5.3' => true,
837
+		),
838
+		'JSON_HEX_QUOT' => array(
839
+			'5.2' => false,
840
+			'5.3' => true,
841
+		),
842
+		// LDAP:
843
+		'LDAP_OPT_NETWORK_TIMEOUT' => array(
844
+			'5.2' => false,
845
+			'5.3' => true,
846
+		),
847
+		// Libxml:
848
+		'LIBXML_LOADED_VERSION' => array(
849
+			'5.2' => false,
850
+			'5.3' => true,
851
+		),
852
+		// Math:
853
+		'PHP_ROUND_HALF_UP' => array(
854
+			'5.2' => false,
855
+			'5.3' => true,
856
+		),
857
+		'PHP_ROUND_HALF_DOWN' => array(
858
+			'5.2' => false,
859
+			'5.3' => true,
860
+		),
861
+		'PHP_ROUND_HALF_EVEN' => array(
862
+			'5.2' => false,
863
+			'5.3' => true,
864
+		),
865
+		'PHP_ROUND_HALF_ODD' => array(
866
+			'5.2' => false,
867
+			'5.3' => true,
868
+		),
869
+		// Mysqli
870
+		'MYSQLI_OPT_INT_AND_FLOAT_NATIVE' => array(
871
+			'5.2' => false,
872
+			'5.3' => true,
873
+		),
874
+		'MYSQLI_OPT_NET_CMD_BUFFER_SIZE' => array(
875
+			'5.2' => false,
876
+			'5.3' => true,
877
+		),
878
+		'MYSQLI_OPT_NET_READ_BUFFER_SIZE' => array(
879
+			'5.2' => false,
880
+			'5.3' => true,
881
+		),
882
+		'MYSQLI_OPT_SSL_VERIFY_SERVER_CERT' => array(
883
+			'5.2' => false,
884
+			'5.3' => true,
885
+		),
886
+		// OCI8:
887
+		'OCI_CRED_EXT' => array(
888
+			'5.2' => false,
889
+			'5.3' => true,
890
+		),
891
+		// PCRE:
892
+		'PREG_BAD_UTF8_OFFSET_ERROR' => array(
893
+			'5.2' => false,
894
+			'5.3' => true,
895
+		),
896
+		// PCNTL:
897
+		'BUS_ADRALN' => array(
898
+			'5.2' => false,
899
+			'5.3' => true,
900
+		),
901
+		'BUS_ADRERR' => array(
902
+			'5.2' => false,
903
+			'5.3' => true,
904
+		),
905
+		'BUS_OBJERR' => array(
906
+			'5.2' => false,
907
+			'5.3' => true,
908
+		),
909
+		'CLD_CONTIUNED' => array(
910
+			'5.2' => false,
911
+			'5.3' => true,
912
+		),
913
+		'CLD_DUMPED' => array(
914
+			'5.2' => false,
915
+			'5.3' => true,
916
+		),
917
+		'CLD_EXITED' => array(
918
+			'5.2' => false,
919
+			'5.3' => true,
920
+		),
921
+		'CLD_KILLED' => array(
922
+			'5.2' => false,
923
+			'5.3' => true,
924
+		),
925
+		'CLD_STOPPED' => array(
926
+			'5.2' => false,
927
+			'5.3' => true,
928
+		),
929
+		'CLD_TRAPPED' => array(
930
+			'5.2' => false,
931
+			'5.3' => true,
932
+		),
933
+		'FPE_FLTDIV' => array(
934
+			'5.2' => false,
935
+			'5.3' => true,
936
+		),
937
+		'FPE_FLTINV' => array(
938
+			'5.2' => false,
939
+			'5.3' => true,
940
+		),
941
+		'FPE_FLTOVF' => array(
942
+			'5.2' => false,
943
+			'5.3' => true,
944
+		),
945
+		'FPE_FLTRES' => array(
946
+			'5.2' => false,
947
+			'5.3' => true,
948
+		),
949
+		'FPE_FLTSUB' => array(
950
+			'5.2' => false,
951
+			'5.3' => true,
952
+		),
953
+		'FPE_FLTUND' => array(
954
+			'5.2' => false,
955
+			'5.3' => true,
956
+		),
957
+		'FPE_INTDIV' => array(
958
+			'5.2' => false,
959
+			'5.3' => true,
960
+		),
961
+		'FPE_INTOVF' => array(
962
+			'5.2' => false,
963
+			'5.3' => true,
964
+		),
965
+		'ILL_BADSTK' => array(
966
+			'5.2' => false,
967
+			'5.3' => true,
968
+		),
969
+		'ILL_COPROC' => array(
970
+			'5.2' => false,
971
+			'5.3' => true,
972
+		),
973
+		'ILL_ILLADR' => array(
974
+			'5.2' => false,
975
+			'5.3' => true,
976
+		),
977
+		'ILL_ILLOPC' => array(
978
+			'5.2' => false,
979
+			'5.3' => true,
980
+		),
981
+		'ILL_ILLOPN' => array(
982
+			'5.2' => false,
983
+			'5.3' => true,
984
+		),
985
+		'ILL_ILLTRP' => array(
986
+			'5.2' => false,
987
+			'5.3' => true,
988
+		),
989
+		'ILL_PRVOPC' => array(
990
+			'5.2' => false,
991
+			'5.3' => true,
992
+		),
993
+		'ILL_PRVREG' => array(
994
+			'5.2' => false,
995
+			'5.3' => true,
996
+		),
997
+		'POLL_ERR' => array(
998
+			'5.2' => false,
999
+			'5.3' => true,
1000
+		),
1001
+		'POLL_HUP' => array(
1002
+			'5.2' => false,
1003
+			'5.3' => true,
1004
+		),
1005
+		'POLL_IN' => array(
1006
+			'5.2' => false,
1007
+			'5.3' => true,
1008
+		),
1009
+		'POLL_MSG' => array(
1010
+			'5.2' => false,
1011
+			'5.3' => true,
1012
+		),
1013
+		'POLL_OUT' => array(
1014
+			'5.2' => false,
1015
+			'5.3' => true,
1016
+		),
1017
+		'POLL_PRI' => array(
1018
+			'5.2' => false,
1019
+			'5.3' => true,
1020
+		),
1021
+		'SEGV_ACCERR' => array(
1022
+			'5.2' => false,
1023
+			'5.3' => true,
1024
+		),
1025
+		'SEGV_MAPERR' => array(
1026
+			'5.2' => false,
1027
+			'5.3' => true,
1028
+		),
1029
+		'SI_ASYNCIO' => array(
1030
+			'5.2' => false,
1031
+			'5.3' => true,
1032
+		),
1033
+		'SI_KERNEL' => array(
1034
+			'5.2' => false,
1035
+			'5.3' => true,
1036
+		),
1037
+		'SI_MSGGQ' => array(
1038
+			'5.2' => false,
1039
+			'5.3' => true,
1040
+		),
1041
+		'SI_NOINFO' => array(
1042
+			'5.2' => false,
1043
+			'5.3' => true,
1044
+		),
1045
+		'SI_QUEUE' => array(
1046
+			'5.2' => false,
1047
+			'5.3' => true,
1048
+		),
1049
+		'SI_SIGIO' => array(
1050
+			'5.2' => false,
1051
+			'5.3' => true,
1052
+		),
1053
+		'SI_TIMER' => array(
1054
+			'5.2' => false,
1055
+			'5.3' => true,
1056
+		),
1057
+		'SI_TKILL' => array(
1058
+			'5.2' => false,
1059
+			'5.3' => true,
1060
+		),
1061
+		'SI_USER' => array(
1062
+			'5.2' => false,
1063
+			'5.3' => true,
1064
+		),
1065
+		'SIG_BLOCK' => array(
1066
+			'5.2' => false,
1067
+			'5.3' => true,
1068
+		),
1069
+		'SIG_SETMASK' => array(
1070
+			'5.2' => false,
1071
+			'5.3' => true,
1072
+		),
1073
+		'SIG_UNBLOCK' => array(
1074
+			'5.2' => false,
1075
+			'5.3' => true,
1076
+		),
1077
+		'TRAP_BRKPT' => array(
1078
+			'5.2' => false,
1079
+			'5.3' => true,
1080
+		),
1081
+		'TRAP_TRACE' => array(
1082
+			'5.2' => false,
1083
+			'5.3' => true,
1084
+		),
1085
+		// Tokenizer:
1086
+		'T_DIR' => array(
1087
+			'5.2' => false,
1088
+			'5.3' => true,
1089
+		),
1090
+		'T_GOTO' => array(
1091
+			'5.2' => false,
1092
+			'5.3' => true,
1093
+		),
1094
+		'T_NAMESPACE' => array(
1095
+			'5.2' => false,
1096
+			'5.3' => true,
1097
+		),
1098
+		'T_NS_C' => array(
1099
+			'5.2' => false,
1100
+			'5.3' => true,
1101
+		),
1102
+		'T_NS_SEPARATOR' => array(
1103
+			'5.2' => false,
1104
+			'5.3' => true,
1105
+		),
1106
+		'T_USE' => array(
1107
+			'5.2' => false,
1108
+			'5.3' => true,
1109
+		),
1110
+
1111
+		// OCI8:
1112
+		'OCI_NO_AUTO_COMMIT' => array(
1113
+			'5.3.1' => false,
1114
+			'5.3.2' => true,
1115
+		),
1116
+		// OpenSSL:
1117
+		'OPENSSL_TLSEXT_SERVER_NAME' => array(
1118
+			'5.3.1' => false,
1119
+			'5.3.2' => true,
1120
+		),
1121
+
1122
+		// JSON:
1123
+		'JSON_ERROR_UTF8' => array(
1124
+			'5.3.2' => false,
1125
+			'5.3.3' => true,
1126
+		),
1127
+		'JSON_NUMERIC_CHECK' => array(
1128
+			'5.3.2' => false,
1129
+			'5.3.3' => true,
1130
+		),
1131
+
1132
+		'DEBUG_BACKTRACE_IGNORE_ARGS' => array(
1133
+			'5.3.5' => false,
1134
+			'5.3.6' => true,
1135
+		),
1136
+
1137
+		'CURLINFO_REDIRECT_URL' => array(
1138
+			'5.3.6' => false,
1139
+			'5.3.7' => true,
1140
+		),
1141
+		'PHP_MANDIR' => array(
1142
+			'5.3.6' => false,
1143
+			'5.3.7' => true,
1144
+		),
1145
+
1146
+		'PHP_BINARY' => array(
1147
+			'5.3' => false,
1148
+			'5.4' => true,
1149
+		),
1150
+		'SORT_NATURAL' => array(
1151
+			'5.3' => false,
1152
+			'5.4' => true,
1153
+		),
1154
+		'SORT_FLAG_CASE' => array(
1155
+			'5.3' => false,
1156
+			'5.4' => true,
1157
+		),
1158
+		'ENT_HTML401' => array(
1159
+			'5.3' => false,
1160
+			'5.4' => true,
1161
+		),
1162
+		'ENT_XML1' => array(
1163
+			'5.3' => false,
1164
+			'5.4' => true,
1165
+		),
1166
+		'ENT_XHTML' => array(
1167
+			'5.3' => false,
1168
+			'5.4' => true,
1169
+		),
1170
+		'ENT_HTML5' => array(
1171
+			'5.3' => false,
1172
+			'5.4' => true,
1173
+		),
1174
+		'ENT_SUBSTITUTE' => array(
1175
+			'5.3' => false,
1176
+			'5.4' => true,
1177
+		),
1178
+		'ENT_DISALLOWED' => array(
1179
+			'5.3' => false,
1180
+			'5.4' => true,
1181
+		),
1182
+		'IPPROTO_IP' => array(
1183
+			'5.3' => false,
1184
+			'5.4' => true,
1185
+		),
1186
+		'IPPROTO_IPV6' => array(
1187
+			'5.3' => false,
1188
+			'5.4' => true,
1189
+		),
1190
+		'IPV6_MULTICAST_HOPS' => array(
1191
+			'5.3' => false,
1192
+			'5.4' => true,
1193
+		),
1194
+		'IPV6_MULTICAST_IF' => array(
1195
+			'5.3' => false,
1196
+			'5.4' => true,
1197
+		),
1198
+		'IPV6_MULTICAST_LOOP' => array(
1199
+			'5.3' => false,
1200
+			'5.4' => true,
1201
+		),
1202
+		'IP_MULTICAST_IF' => array(
1203
+			'5.3' => false,
1204
+			'5.4' => true,
1205
+		),
1206
+		'IP_MULTICAST_LOOP' => array(
1207
+			'5.3' => false,
1208
+			'5.4' => true,
1209
+		),
1210
+		'IP_MULTICAST_TTL' => array(
1211
+			'5.3' => false,
1212
+			'5.4' => true,
1213
+		),
1214
+		'MCAST_JOIN_GROUP' => array(
1215
+			'5.3' => false,
1216
+			'5.4' => true,
1217
+		),
1218
+		'MCAST_LEAVE_GROUP' => array(
1219
+			'5.3' => false,
1220
+			'5.4' => true,
1221
+		),
1222
+		'MCAST_BLOCK_SOURCE' => array(
1223
+			'5.3' => false,
1224
+			'5.4' => true,
1225
+		),
1226
+		'MCAST_UNBLOCK_SOURCE' => array(
1227
+			'5.3' => false,
1228
+			'5.4' => true,
1229
+		),
1230
+		'MCAST_JOIN_SOURCE_GROUP' => array(
1231
+			'5.3' => false,
1232
+			'5.4' => true,
1233
+		),
1234
+		'MCAST_LEAVE_SOURCE_GROUP' => array(
1235
+			'5.3' => false,
1236
+			'5.4' => true,
1237
+		),
1238
+		// Curl:
1239
+		'CURLOPT_MAX_RECV_SPEED_LARGE' => array(
1240
+			'5.3' => false,
1241
+			'5.4' => true,
1242
+		),
1243
+		'CURLOPT_MAX_SEND_SPEED_LARGE' => array(
1244
+			'5.3' => false,
1245
+			'5.4' => true,
1246
+		),
1247
+		// Directories:
1248
+		'SCANDIR_SORT_ASCENDING' => array(
1249
+			'5.3' => false,
1250
+			'5.4' => true,
1251
+		),
1252
+		'SCANDIR_SORT_DESCENDING' => array(
1253
+			'5.3' => false,
1254
+			'5.4' => true,
1255
+		),
1256
+		'SCANDIR_SORT_NONE' => array(
1257
+			'5.3' => false,
1258
+			'5.4' => true,
1259
+		),
1260
+		// LibXML:
1261
+		'LIBXML_HTML_NODEFDTD' => array(
1262
+			'5.3' => false,
1263
+			'5.4' => true,
1264
+		),
1265
+		'LIBXML_HTML_NOIMPLIED' => array(
1266
+			'5.3' => false,
1267
+			'5.4' => true,
1268
+		),
1269
+		'LIBXML_PEDANTIC' => array(
1270
+			'5.3' => false,
1271
+			'5.4' => true,
1272
+		),
1273
+		// OpenSSL:
1274
+		'OPENSSL_CIPHER_AES_128_CBC' => array(
1275
+			'5.3' => false,
1276
+			'5.4' => true,
1277
+		),
1278
+		'OPENSSL_CIPHER_AES_192_CBC' => array(
1279
+			'5.3' => false,
1280
+			'5.4' => true,
1281
+		),
1282
+		'OPENSSL_CIPHER_AES_256_CBC' => array(
1283
+			'5.3' => false,
1284
+			'5.4' => true,
1285
+		),
1286
+		'OPENSSL_RAW_DATA' => array(
1287
+			'5.3' => false,
1288
+			'5.4' => true,
1289
+		),
1290
+		'OPENSSL_ZERO_PADDING' => array(
1291
+			'5.3' => false,
1292
+			'5.4' => true,
1293
+		),
1294
+		// Output buffering:
1295
+		'PHP_OUTPUT_HANDLER_CLEAN' => array(
1296
+			'5.3' => false,
1297
+			'5.4' => true,
1298
+		),
1299
+		'PHP_OUTPUT_HANDLER_CLEANABLE' => array(
1300
+			'5.3' => false,
1301
+			'5.4' => true,
1302
+		),
1303
+		'PHP_OUTPUT_HANDLER_DISABLED' => array(
1304
+			'5.3' => false,
1305
+			'5.4' => true,
1306
+		),
1307
+		'PHP_OUTPUT_HANDLER_FINAL' => array(
1308
+			'5.3' => false,
1309
+			'5.4' => true,
1310
+		),
1311
+		'PHP_OUTPUT_HANDLER_FLUSH' => array(
1312
+			'5.3' => false,
1313
+			'5.4' => true,
1314
+		),
1315
+		'PHP_OUTPUT_HANDLER_FLUSHABLE' => array(
1316
+			'5.3' => false,
1317
+			'5.4' => true,
1318
+		),
1319
+		'PHP_OUTPUT_HANDLER_REMOVABLE' => array(
1320
+			'5.3' => false,
1321
+			'5.4' => true,
1322
+		),
1323
+		'PHP_OUTPUT_HANDLER_STARTED' => array(
1324
+			'5.3' => false,
1325
+			'5.4' => true,
1326
+		),
1327
+		'PHP_OUTPUT_HANDLER_STDFLAGS' => array(
1328
+			'5.3' => false,
1329
+			'5.4' => true,
1330
+		),
1331
+		'PHP_OUTPUT_HANDLER_WRITE' => array(
1332
+			'5.3' => false,
1333
+			'5.4' => true,
1334
+		),
1335
+		// Sessions:
1336
+		'PHP_SESSION_ACTIVE' => array(
1337
+			'5.3' => false,
1338
+			'5.4' => true,
1339
+		),
1340
+		'PHP_SESSION_DISABLED' => array(
1341
+			'5.3' => false,
1342
+			'5.4' => true,
1343
+		),
1344
+		'PHP_SESSION_NONE' => array(
1345
+			'5.3' => false,
1346
+			'5.4' => true,
1347
+		),
1348
+		// Streams:
1349
+		'STREAM_META_ACCESS' => array(
1350
+			'5.3' => false,
1351
+			'5.4' => true,
1352
+		),
1353
+		'STREAM_META_GROUP' => array(
1354
+			'5.3' => false,
1355
+			'5.4' => true,
1356
+		),
1357
+		'STREAM_META_GROUP_NAME' => array(
1358
+			'5.3' => false,
1359
+			'5.4' => true,
1360
+		),
1361
+		'STREAM_META_OWNER' => array(
1362
+			'5.3' => false,
1363
+			'5.4' => true,
1364
+		),
1365
+		'STREAM_META_OWNER_NAME' => array(
1366
+			'5.3' => false,
1367
+			'5.4' => true,
1368
+		),
1369
+		'STREAM_META_TOUCH' => array(
1370
+			'5.3' => false,
1371
+			'5.4' => true,
1372
+		),
1373
+		// Intl:
1374
+		'U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR' => array(
1375
+			'5.3' => false,
1376
+			'5.4' => true,
1377
+		),
1378
+		'IDNA_CHECK_BIDI' => array(
1379
+			'5.3' => false,
1380
+			'5.4' => true,
1381
+		),
1382
+		'IDNA_CHECK_CONTEXTJ' => array(
1383
+			'5.3' => false,
1384
+			'5.4' => true,
1385
+		),
1386
+		'IDNA_NONTRANSITIONAL_TO_ASCII' => array(
1387
+			'5.3' => false,
1388
+			'5.4' => true,
1389
+		),
1390
+		'IDNA_NONTRANSITIONAL_TO_UNICODE' => array(
1391
+			'5.3' => false,
1392
+			'5.4' => true,
1393
+		),
1394
+		'INTL_IDNA_VARIANT_2003' => array(
1395
+			'5.3' => false,
1396
+			'5.4' => true,
1397
+		),
1398
+		'INTL_IDNA_VARIANT_UTS46' => array(
1399
+			'5.3' => false,
1400
+			'5.4' => true,
1401
+		),
1402
+		'IDNA_ERROR_EMPTY_LABEL' => array(
1403
+			'5.3' => false,
1404
+			'5.4' => true,
1405
+		),
1406
+		'IDNA_ERROR_LABEL_TOO_LONG' => array(
1407
+			'5.3' => false,
1408
+			'5.4' => true,
1409
+		),
1410
+		'IDNA_ERROR_DOMAIN_NAME_TOO_LONG' => array(
1411
+			'5.3' => false,
1412
+			'5.4' => true,
1413
+		),
1414
+		'IDNA_ERROR_LEADING_HYPHEN' => array(
1415
+			'5.3' => false,
1416
+			'5.4' => true,
1417
+		),
1418
+		'IDNA_ERROR_TRAILING_HYPHEN' => array(
1419
+			'5.3' => false,
1420
+			'5.4' => true,
1421
+		),
1422
+		'IDNA_ERROR_HYPHEN_3_4' => array(
1423
+			'5.3' => false,
1424
+			'5.4' => true,
1425
+		),
1426
+		'IDNA_ERROR_LEADING_COMBINING_MARK' => array(
1427
+			'5.3' => false,
1428
+			'5.4' => true,
1429
+		),
1430
+		'IDNA_ERROR_DISALLOWED' => array(
1431
+			'5.3' => false,
1432
+			'5.4' => true,
1433
+		),
1434
+		'IDNA_ERROR_PUNYCODE' => array(
1435
+			'5.3' => false,
1436
+			'5.4' => true,
1437
+		),
1438
+		'IDNA_ERROR_LABEL_HAS_DOT' => array(
1439
+			'5.3' => false,
1440
+			'5.4' => true,
1441
+		),
1442
+		'IDNA_ERROR_INVALID_ACE_LABEL' => array(
1443
+			'5.3' => false,
1444
+			'5.4' => true,
1445
+		),
1446
+		'IDNA_ERROR_BIDI' => array(
1447
+			'5.3' => false,
1448
+			'5.4' => true,
1449
+		),
1450
+		'IDNA_ERROR_CONTEXTJ' => array(
1451
+			'5.3' => false,
1452
+			'5.4' => true,
1453
+		),
1454
+		// Json:
1455
+		'JSON_PRETTY_PRINT' => array(
1456
+			'5.3' => false,
1457
+			'5.4' => true,
1458
+		),
1459
+		'JSON_UNESCAPED_SLASHES' => array(
1460
+			'5.3' => false,
1461
+			'5.4' => true,
1462
+		),
1463
+		'JSON_UNESCAPED_UNICODE' => array(
1464
+			'5.3' => false,
1465
+			'5.4' => true,
1466
+		),
1467
+		'JSON_BIGINT_AS_STRING' => array(
1468
+			'5.3' => false,
1469
+			'5.4' => true,
1470
+		),
1471
+		'JSON_OBJECT_AS_ARRAY' => array(
1472
+			'5.3' => false,
1473
+			'5.4' => true,
1474
+		),
1475
+		// Snmp:
1476
+		'SNMP_OID_OUTPUT_SUFFIX' => array(
1477
+			'5.3' => false,
1478
+			'5.4' => true,
1479
+		),
1480
+		'SNMP_OID_OUTPUT_MODULE' => array(
1481
+			'5.3' => false,
1482
+			'5.4' => true,
1483
+		),
1484
+		'SNMP_OID_OUTPUT_UCD' => array(
1485
+			'5.3' => false,
1486
+			'5.4' => true,
1487
+		),
1488
+		'SNMP_OID_OUTPUT_NONE' => array(
1489
+			'5.3' => false,
1490
+			'5.4' => true,
1491
+		),
1492
+		// Tokenizer:
1493
+		'T_INSTEADOF' => array(
1494
+			'5.3' => false,
1495
+			'5.4' => true,
1496
+		),
1497
+		'T_TRAIT' => array(
1498
+			'5.3' => false,
1499
+			'5.4' => true,
1500
+		),
1501
+		'T_TRAIT_C' => array(
1502
+			'5.3' => false,
1503
+			'5.4' => true,
1504
+		),
1505
+
1506
+		// Curl:
1507
+		'CURLINFO_PRIMARY_IP' => array(
1508
+			'5.4.6' => false,
1509
+			'5.4.7' => true,
1510
+		),
1511
+		'CURLINFO_PRIMARY_PORT' => array(
1512
+			'5.4.6' => false,
1513
+			'5.4.7' => true,
1514
+		),
1515
+		'CURLINFO_LOCAL_IP' => array(
1516
+			'5.4.6' => false,
1517
+			'5.4.7' => true,
1518
+		),
1519
+		'CURLINFO_LOCAL_PORT' => array(
1520
+			'5.4.6' => false,
1521
+			'5.4.7' => true,
1522
+		),
1523
+
1524
+		// OpenSSL:
1525
+		'OPENSSL_ALGO_RMD160' => array(
1526
+			'5.4.7' => false,
1527
+			'5.4.8' => true,
1528
+		),
1529
+		'OPENSSL_ALGO_SHA224' => array(
1530
+			'5.4.7' => false,
1531
+			'5.4.8' => true,
1532
+		),
1533
+		'OPENSSL_ALGO_SHA256' => array(
1534
+			'5.4.7' => false,
1535
+			'5.4.8' => true,
1536
+		),
1537
+		'OPENSSL_ALGO_SHA384' => array(
1538
+			'5.4.7' => false,
1539
+			'5.4.8' => true,
1540
+		),
1541
+		'OPENSSL_ALGO_SHA512' => array(
1542
+			'5.4.7' => false,
1543
+			'5.4.8' => true,
1544
+		),
1545
+
1546
+		// Filter:
1547
+		'FILTER_VALIDATE_MAC' => array(
1548
+			'5.4' => false,
1549
+			'5.5' => true,
1550
+		),
1551
+		// GD
1552
+		'IMG_AFFINE_TRANSLATE' => array(
1553
+			'5.4' => false,
1554
+			'5.5' => true,
1555
+		),
1556
+		'IMG_AFFINE_SCALE' => array(
1557
+			'5.4' => false,
1558
+			'5.5' => true,
1559
+		),
1560
+		'IMG_AFFINE_ROTATE' => array(
1561
+			'5.4' => false,
1562
+			'5.5' => true,
1563
+		),
1564
+		'IMG_AFFINE_SHEAR_HORIZONTAL' => array(
1565
+			'5.4' => false,
1566
+			'5.5' => true,
1567
+		),
1568
+		'IMG_AFFINE_SHEAR_VERTICAL' => array(
1569
+			'5.4' => false,
1570
+			'5.5' => true,
1571
+		),
1572
+		'IMG_CROP_DEFAULT' => array(
1573
+			'5.4' => false,
1574
+			'5.5' => true,
1575
+		),
1576
+		'IMG_CROP_TRANSPARENT' => array(
1577
+			'5.4' => false,
1578
+			'5.5' => true,
1579
+		),
1580
+		'IMG_CROP_BLACK' => array(
1581
+			'5.4' => false,
1582
+			'5.5' => true,
1583
+		),
1584
+		'IMG_CROP_WHITE' => array(
1585
+			'5.4' => false,
1586
+			'5.5' => true,
1587
+		),
1588
+		'IMG_CROP_SIDES' => array(
1589
+			'5.4' => false,
1590
+			'5.5' => true,
1591
+		),
1592
+		'IMG_FLIP_BOTH' => array(
1593
+			'5.4' => false,
1594
+			'5.5' => true,
1595
+		),
1596
+		'IMG_FLIP_HORIZONTAL' => array(
1597
+			'5.4' => false,
1598
+			'5.5' => true,
1599
+		),
1600
+		'IMG_FLIP_VERTICAL' => array(
1601
+			'5.4' => false,
1602
+			'5.5' => true,
1603
+		),
1604
+		'IMG_BELL' => array(
1605
+			'5.4' => false,
1606
+			'5.5' => true,
1607
+		),
1608
+		'IMG_BESSEL' => array(
1609
+			'5.4' => false,
1610
+			'5.5' => true,
1611
+		),
1612
+		'IMG_BILINEAR_FIXED' => array(
1613
+			'5.4' => false,
1614
+			'5.5' => true,
1615
+		),
1616
+		'IMG_BICUBIC' => array(
1617
+			'5.4' => false,
1618
+			'5.5' => true,
1619
+		),
1620
+		'IMG_BICUBIC_FIXED' => array(
1621
+			'5.4' => false,
1622
+			'5.5' => true,
1623
+		),
1624
+		'IMG_BLACKMAN' => array(
1625
+			'5.4' => false,
1626
+			'5.5' => true,
1627
+		),
1628
+		'IMG_BOX' => array(
1629
+			'5.4' => false,
1630
+			'5.5' => true,
1631
+		),
1632
+		'IMG_BSPLINE' => array(
1633
+			'5.4' => false,
1634
+			'5.5' => true,
1635
+		),
1636
+		'IMG_CATMULLROM' => array(
1637
+			'5.4' => false,
1638
+			'5.5' => true,
1639
+		),
1640
+		'IMG_GAUSSIAN' => array(
1641
+			'5.4' => false,
1642
+			'5.5' => true,
1643
+		),
1644
+		'IMG_GENERALIZED_CUBIC' => array(
1645
+			'5.4' => false,
1646
+			'5.5' => true,
1647
+		),
1648
+		'IMG_HERMITE' => array(
1649
+			'5.4' => false,
1650
+			'5.5' => true,
1651
+		),
1652
+		'IMG_HAMMING' => array(
1653
+			'5.4' => false,
1654
+			'5.5' => true,
1655
+		),
1656
+		'IMG_HANNING' => array(
1657
+			'5.4' => false,
1658
+			'5.5' => true,
1659
+		),
1660
+		'IMG_MITCHELL' => array(
1661
+			'5.4' => false,
1662
+			'5.5' => true,
1663
+		),
1664
+		'IMG_POWER' => array(
1665
+			'5.4' => false,
1666
+			'5.5' => true,
1667
+		),
1668
+		'IMG_QUADRATIC' => array(
1669
+			'5.4' => false,
1670
+			'5.5' => true,
1671
+		),
1672
+		'IMG_SINC' => array(
1673
+			'5.4' => false,
1674
+			'5.5' => true,
1675
+		),
1676
+		'IMG_NEAREST_NEIGHBOUR' => array(
1677
+			'5.4' => false,
1678
+			'5.5' => true,
1679
+		),
1680
+		'IMG_WEIGHTED4' => array(
1681
+			'5.4' => false,
1682
+			'5.5' => true,
1683
+		),
1684
+		'IMG_TRIANGLE' => array(
1685
+			'5.4' => false,
1686
+			'5.5' => true,
1687
+		),
1688
+		// JSON:
1689
+		'JSON_ERROR_RECURSION' => array(
1690
+			'5.4' => false,
1691
+			'5.5' => true,
1692
+		),
1693
+		'JSON_ERROR_INF_OR_NAN' => array(
1694
+			'5.4' => false,
1695
+			'5.5' => true,
1696
+		),
1697
+		'JSON_ERROR_UNSUPPORTED_TYPE' => array(
1698
+			'5.4' => false,
1699
+			'5.5' => true,
1700
+		),
1701
+		'JSON_PARTIAL_OUTPUT_ON_ERROR' => array(
1702
+			'5.4' => false,
1703
+			'5.5' => true,
1704
+		),
1705
+		// MySQLi
1706
+		'MYSQLI_SERVER_PUBLIC_KEY' => array(
1707
+			'5.4' => false,
1708
+			'5.5' => true,
1709
+		),
1710
+		// Curl:
1711
+		'CURLOPT_SHARE' => array(
1712
+			'5.4' => false,
1713
+			'5.5' => true,
1714
+		),
1715
+		'CURLOPT_SSL_OPTIONS' => array(
1716
+			'5.4' => false,
1717
+			'5.5' => true,
1718
+		),
1719
+		'CURLSSLOPT_ALLOW_BEAST' => array(
1720
+			'5.4' => false,
1721
+			'5.5' => true,
1722
+		),
1723
+		'CURLOPT_USERNAME' => array(
1724
+			'5.4' => false,
1725
+			'5.5' => true,
1726
+		),
1727
+		'CURLINFO_RESPONSE_CODE' => array(
1728
+			'5.4' => false,
1729
+			'5.5' => true,
1730
+		),
1731
+		'CURLINFO_HTTP_CONNECTCODE' => array(
1732
+			'5.4' => false,
1733
+			'5.5' => true,
1734
+		),
1735
+		'CURLINFO_HTTPAUTH_AVAIL' => array(
1736
+			'5.4' => false,
1737
+			'5.5' => true,
1738
+		),
1739
+		'CURLINFO_PROXYAUTH_AVAIL' => array(
1740
+			'5.4' => false,
1741
+			'5.5' => true,
1742
+		),
1743
+		'CURLINFO_OS_ERRNO' => array(
1744
+			'5.4' => false,
1745
+			'5.5' => true,
1746
+		),
1747
+		'CURLINFO_NUM_CONNECTS' => array(
1748
+			'5.4' => false,
1749
+			'5.5' => true,
1750
+		),
1751
+		'CURLINFO_SSL_ENGINES' => array(
1752
+			'5.4' => false,
1753
+			'5.5' => true,
1754
+		),
1755
+		'CURLINFO_COOKIELIST' => array(
1756
+			'5.4' => false,
1757
+			'5.5' => true,
1758
+		),
1759
+		'CURLINFO_FTP_ENTRY_PATH' => array(
1760
+			'5.4' => false,
1761
+			'5.5' => true,
1762
+		),
1763
+		'CURLINFO_APPCONNECT_TIME' => array(
1764
+			'5.4' => false,
1765
+			'5.5' => true,
1766
+		),
1767
+		'CURLINFO_CONDITION_UNMET' => array(
1768
+			'5.4' => false,
1769
+			'5.5' => true,
1770
+		),
1771
+		'CURLINFO_RTSP_CLIENT_CSEQ' => array(
1772
+			'5.4' => false,
1773
+			'5.5' => true,
1774
+		),
1775
+		'CURLINFO_RTSP_CSEQ_RECV' => array(
1776
+			'5.4' => false,
1777
+			'5.5' => true,
1778
+		),
1779
+		'CURLINFO_RTSP_SERVER_CSEQ' => array(
1780
+			'5.4' => false,
1781
+			'5.5' => true,
1782
+		),
1783
+		'CURLINFO_RTSP_SESSION_ID' => array(
1784
+			'5.4' => false,
1785
+			'5.5' => true,
1786
+		),
1787
+		'CURLMOPT_PIPELINING' => array(
1788
+			'5.4' => false,
1789
+			'5.5' => true,
1790
+		),
1791
+		'CURLMOPT_MAXCONNECTS' => array(
1792
+			'5.4' => false,
1793
+			'5.5' => true,
1794
+		),
1795
+		'CURLPAUSE_ALL' => array(
1796
+			'5.4' => false,
1797
+			'5.5' => true,
1798
+		),
1799
+		'CURLPAUSE_CONT' => array(
1800
+			'5.4' => false,
1801
+			'5.5' => true,
1802
+		),
1803
+		'CURLPAUSE_RECV' => array(
1804
+			'5.4' => false,
1805
+			'5.5' => true,
1806
+		),
1807
+		'CURLPAUSE_RECV_CONT' => array(
1808
+			'5.4' => false,
1809
+			'5.5' => true,
1810
+		),
1811
+		'CURLPAUSE_SEND' => array(
1812
+			'5.4' => false,
1813
+			'5.5' => true,
1814
+		),
1815
+		'CURLPAUSE_SEND_CONT' => array(
1816
+			'5.4' => false,
1817
+			'5.5' => true,
1818
+		),
1819
+		// Soap:
1820
+		'SOAP_SSL_METHOD_TLS' => array(
1821
+			'5.4' => false,
1822
+			'5.5' => true,
1823
+		),
1824
+		'SOAP_SSL_METHOD_SSLv2' => array(
1825
+			'5.4' => false,
1826
+			'5.5' => true,
1827
+		),
1828
+		'SOAP_SSL_METHOD_SSLv3' => array(
1829
+			'5.4' => false,
1830
+			'5.5' => true,
1831
+		),
1832
+		'SOAP_SSL_METHOD_SSLv23' => array(
1833
+			'5.4' => false,
1834
+			'5.5' => true,
1835
+		),
1836
+		// Tokenizer:
1837
+		'T_FINALLY' => array(
1838
+			'5.4' => false,
1839
+			'5.5' => true,
1840
+		),
1841
+		'T_YIELD' => array(
1842
+			'5.4' => false,
1843
+			'5.5' => true,
1844
+		),
1845
+		// Core/Password Hashing:
1846
+		'PASSWORD_BCRYPT' => array(
1847
+			'5.4' => false,
1848
+			'5.5' => true,
1849
+		),
1850
+		'PASSWORD_DEFAULT' => array(
1851
+			'5.4' => false,
1852
+			'5.5' => true,
1853
+		),
1854
+		'PASSWORD_BCRYPT_DEFAULT_COST' => array(
1855
+			'5.4' => false,
1856
+			'5.5' => true,
1857
+		),
1858
+
1859
+
1860
+		// Libxml:
1861
+		'LIBXML_SCHEMA_CREATE' => array(
1862
+			'5.5.1' => false,
1863
+			'5.5.2' => true,
1864
+		),
1865
+
1866
+		// Curl:
1867
+		'CURL_SSLVERSION_TLSv1_0' => array(
1868
+			'5.5.18' => false,
1869
+			'5.5.19' => true,
1870
+		),
1871
+		'CURL_SSLVERSION_TLSv1_1' => array(
1872
+			'5.5.18' => false,
1873
+			'5.5.19' => true,
1874
+		),
1875
+		'CURL_SSLVERSION_TLSv1_2' => array(
1876
+			'5.5.18' => false,
1877
+			'5.5.19' => true,
1878
+		),
1879
+
1880
+		'CURLPROXY_SOCKS4A' => array(
1881
+			'5.5.22' => false,
1882
+			'5.5.23' => true,
1883
+		),
1884
+		'CURLPROXY_SOCKS5_HOSTNAME' => array(
1885
+			'5.5.22' => false,
1886
+			'5.5.23' => true,
1887
+		),
1888
+
1889
+		'CURL_VERSION_HTTP2' => array(
1890
+			'5.5.23' => false,
1891
+			'5.5.24' => true,
1892
+		),
1893
+
1894
+		'ARRAY_FILTER_USE_KEY' => array(
1895
+			'5.5' => false,
1896
+			'5.6' => true,
1897
+		),
1898
+		'ARRAY_FILTER_USE_BOTH' => array(
1899
+			'5.5' => false,
1900
+			'5.6' => true,
1901
+		),
1902
+		// LDAP:
1903
+		'LDAP_ESCAPE_DN' => array(
1904
+			'5.5' => false,
1905
+			'5.6' => true,
1906
+		),
1907
+		'LDAP_ESCAPE_FILTER' => array(
1908
+			'5.5' => false,
1909
+			'5.6' => true,
1910
+		),
1911
+		// OpenSSL:
1912
+		'OPENSSL_DEFAULT_STREAM_CIPHERS' => array(
1913
+			'5.5' => false,
1914
+			'5.6' => true,
1915
+		),
1916
+		'STREAM_CRYPTO_METHOD_ANY_CLIENT' => array(
1917
+			'5.5' => false,
1918
+			'5.6' => true,
1919
+		),
1920
+		'STREAM_CRYPTO_METHOD_ANY_SERVER' => array(
1921
+			'5.5' => false,
1922
+			'5.6' => true,
1923
+		),
1924
+		'STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT' => array(
1925
+			'5.5' => false,
1926
+			'5.6' => true,
1927
+		),
1928
+		'STREAM_CRYPTO_METHOD_TLSv1_0_SERVER' => array(
1929
+			'5.5' => false,
1930
+			'5.6' => true,
1931
+		),
1932
+		'STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT' => array(
1933
+			'5.5' => false,
1934
+			'5.6' => true,
1935
+		),
1936
+		'STREAM_CRYPTO_METHOD_TLSv1_1_SERVER' => array(
1937
+			'5.5' => false,
1938
+			'5.6' => true,
1939
+		),
1940
+		'STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT' => array(
1941
+			'5.5' => false,
1942
+			'5.6' => true,
1943
+		),
1944
+		'STREAM_CRYPTO_METHOD_TLSv1_2_SERVER' => array(
1945
+			'5.5' => false,
1946
+			'5.6' => true,
1947
+		),
1948
+		// PostgreSQL:
1949
+		'PGSQL_CONNECT_ASYNC' => array(
1950
+			'5.5' => false,
1951
+			'5.6' => true,
1952
+		),
1953
+		'PGSQL_CONNECTION_AUTH_OK' => array(
1954
+			'5.5' => false,
1955
+			'5.6' => true,
1956
+		),
1957
+		'PGSQL_CONNECTION_AWAITING_RESPONSE' => array(
1958
+			'5.5' => false,
1959
+			'5.6' => true,
1960
+		),
1961
+		'PGSQL_CONNECTION_MADE' => array(
1962
+			'5.5' => false,
1963
+			'5.6' => true,
1964
+		),
1965
+		'PGSQL_CONNECTION_SETENV' => array(
1966
+			'5.5' => false,
1967
+			'5.6' => true,
1968
+		),
1969
+		'PGSQL_CONNECTION_SSL_STARTUP' => array(
1970
+			'5.5' => false,
1971
+			'5.6' => true,
1972
+		),
1973
+		'PGSQL_CONNECTION_STARTED' => array(
1974
+			'5.5' => false,
1975
+			'5.6' => true,
1976
+		),
1977
+		'PGSQL_DML_ESCAPE' => array(
1978
+			'5.5' => false,
1979
+			'5.6' => true,
1980
+		),
1981
+		'PGSQL_POLLING_ACTIVE' => array(
1982
+			'5.5' => false,
1983
+			'5.6' => true,
1984
+		),
1985
+		'PGSQL_POLLING_FAILED' => array(
1986
+			'5.5' => false,
1987
+			'5.6' => true,
1988
+		),
1989
+		'PGSQL_POLLING_OK' => array(
1990
+			'5.5' => false,
1991
+			'5.6' => true,
1992
+		),
1993
+		'PGSQL_POLLING_READING' => array(
1994
+			'5.5' => false,
1995
+			'5.6' => true,
1996
+		),
1997
+		'PGSQL_POLLING_WRITING' => array(
1998
+			'5.5' => false,
1999
+			'5.6' => true,
2000
+		),
2001
+		// Tokenizer:
2002
+		'T_ELLIPSIS' => array(
2003
+			'5.5' => false,
2004
+			'5.6' => true,
2005
+		),
2006
+		'T_POW' => array(
2007
+			'5.5' => false,
2008
+			'5.6' => true,
2009
+		),
2010
+		'T_POW_EQUAL' => array(
2011
+			'5.5' => false,
2012
+			'5.6' => true,
2013
+		),
2014
+
2015
+		'INI_SCANNER_TYPED' => array(
2016
+			'5.6.0' => false,
2017
+			'5.6.1' => true,
2018
+		),
2019
+
2020
+		'JSON_PRESERVE_ZERO_FRACTION' => array(
2021
+			'5.6.5' => false,
2022
+			'5.6.6' => true,
2023
+		),
2024
+
2025
+		'MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT' => array(
2026
+			'5.6.15' => false,
2027
+			'5.6.16' => true,
2028
+		),
2029
+
2030
+		// GD:
2031
+		// Also introduced in 7.0.10.
2032
+		'IMG_WEBP' => array(
2033
+			'5.6.24' => false,
2034
+			'5.6.25' => true,
2035
+		),
2036
+
2037
+
2038
+		'TOKEN_PARSE' => array(
2039
+			'5.6' => false,
2040
+			'7.0' => true,
2041
+		),
2042
+		'FILTER_VALIDATE_DOMAIN' => array(
2043
+			'5.6' => false,
2044
+			'7.0' => true,
2045
+		),
2046
+		'PHP_INT_MIN' => array(
2047
+			'5.6' => false,
2048
+			'7.0' => true,
2049
+		),
2050
+		// Curl:
2051
+		'CURLPIPE_NOTHING' => array(
2052
+			'5.6' => false,
2053
+			'7.0' => true,
2054
+		),
2055
+		'CURLPIPE_HTTP1' => array(
2056
+			'5.6' => false,
2057
+			'7.0' => true,
2058
+		),
2059
+		'CURLPIPE_MULTIPLEX' => array(
2060
+			'5.6' => false,
2061
+			'7.0' => true,
2062
+		),
2063
+		// JSON:
2064
+		'JSON_ERROR_INVALID_PROPERTY_NAME' => array(
2065
+			'5.6' => false,
2066
+			'7.0' => true,
2067
+		),
2068
+		'JSON_ERROR_UTF16' => array(
2069
+			'5.6' => false,
2070
+			'7.0' => true,
2071
+		),
2072
+		// LibXML:
2073
+		'LIBXML_BIGLINES' => array(
2074
+			'5.6' => false,
2075
+			'7.0' => true,
2076
+		),
2077
+		// PCRE:
2078
+		'PREG_JIT_STACKLIMIT_ERROR' => array(
2079
+			'5.6' => false,
2080
+			'7.0' => true,
2081
+		),
2082
+		// POSIX:
2083
+		'POSIX_RLIMIT_AS' => array(
2084
+			'5.6' => false,
2085
+			'7.0' => true,
2086
+		),
2087
+		'POSIX_RLIMIT_CORE' => array(
2088
+			'5.6' => false,
2089
+			'7.0' => true,
2090
+		),
2091
+		'POSIX_RLIMIT_CPU' => array(
2092
+			'5.6' => false,
2093
+			'7.0' => true,
2094
+		),
2095
+		'POSIX_RLIMIT_DATA' => array(
2096
+			'5.6' => false,
2097
+			'7.0' => true,
2098
+		),
2099
+		'POSIX_RLIMIT_FSIZE' => array(
2100
+			'5.6' => false,
2101
+			'7.0' => true,
2102
+		),
2103
+		'POSIX_RLIMIT_LOCKS' => array(
2104
+			'5.6' => false,
2105
+			'7.0' => true,
2106
+		),
2107
+		'POSIX_RLIMIT_MEMLOCK' => array(
2108
+			'5.6' => false,
2109
+			'7.0' => true,
2110
+		),
2111
+		'POSIX_RLIMIT_MSGQUEUE' => array(
2112
+			'5.6' => false,
2113
+			'7.0' => true,
2114
+		),
2115
+		'POSIX_RLIMIT_NICE' => array(
2116
+			'5.6' => false,
2117
+			'7.0' => true,
2118
+		),
2119
+		'POSIX_RLIMIT_NOFILE' => array(
2120
+			'5.6' => false,
2121
+			'7.0' => true,
2122
+		),
2123
+		'POSIX_RLIMIT_NPROC' => array(
2124
+			'5.6' => false,
2125
+			'7.0' => true,
2126
+		),
2127
+		'POSIX_RLIMIT_RSS' => array(
2128
+			'5.6' => false,
2129
+			'7.0' => true,
2130
+		),
2131
+		'POSIX_RLIMIT_RTPRIO' => array(
2132
+			'5.6' => false,
2133
+			'7.0' => true,
2134
+		),
2135
+		'POSIX_RLIMIT_RTTIME' => array(
2136
+			'5.6' => false,
2137
+			'7.0' => true,
2138
+		),
2139
+		'POSIX_RLIMIT_SIGPENDING' => array(
2140
+			'5.6' => false,
2141
+			'7.0' => true,
2142
+		),
2143
+		'POSIX_RLIMIT_STACK' => array(
2144
+			'5.6' => false,
2145
+			'7.0' => true,
2146
+		),
2147
+		'POSIX_RLIMIT_INFINITY' => array(
2148
+			'5.6' => false,
2149
+			'7.0' => true,
2150
+		),
2151
+		// Tokenizer:
2152
+		'T_COALESCE' => array(
2153
+			'5.6' => false,
2154
+			'7.0' => true,
2155
+		),
2156
+		'T_SPACESHIP' => array(
2157
+			'5.6' => false,
2158
+			'7.0' => true,
2159
+		),
2160
+		'T_YIELD_FROM' => array(
2161
+			'5.6' => false,
2162
+			'7.0' => true,
2163
+		),
2164
+
2165
+		// Zlib:
2166
+		// The first three are in the PHP 5.4 changelog, but the Extension constant page says 7.0.
2167
+		'ZLIB_ENCODING_RAW' => array(
2168
+			'5.6' => false,
2169
+			'7.0' => true,
2170
+		),
2171
+		'ZLIB_ENCODING_DEFLATE' => array(
2172
+			'5.6' => false,
2173
+			'7.0' => true,
2174
+		),
2175
+		'ZLIB_ENCODING_GZIP' => array(
2176
+			'5.6' => false,
2177
+			'7.0' => true,
2178
+		),
2179
+		'ZLIB_FILTERED' => array(
2180
+			'5.6' => false,
2181
+			'7.0' => true,
2182
+		),
2183
+		'ZLIB_HUFFMAN_ONLY' => array(
2184
+			'5.6' => false,
2185
+			'7.0' => true,
2186
+		),
2187
+		'ZLIB_FIXED' => array(
2188
+			'5.6' => false,
2189
+			'7.0' => true,
2190
+		),
2191
+		'ZLIB_RLE' => array(
2192
+			'5.6' => false,
2193
+			'7.0' => true,
2194
+		),
2195
+		'ZLIB_DEFAULT_STRATEGY' => array(
2196
+			'5.6' => false,
2197
+			'7.0' => true,
2198
+		),
2199
+		'ZLIB_BLOCK' => array(
2200
+			'5.6' => false,
2201
+			'7.0' => true,
2202
+		),
2203
+		'ZLIB_FINISH' => array(
2204
+			'5.6' => false,
2205
+			'7.0' => true,
2206
+		),
2207
+		'ZLIB_FULL_FLUSH' => array(
2208
+			'5.6' => false,
2209
+			'7.0' => true,
2210
+		),
2211
+		'ZLIB_NO_FLUSH' => array(
2212
+			'5.6' => false,
2213
+			'7.0' => true,
2214
+		),
2215
+		'ZLIB_PARTIAL_FLUSH' => array(
2216
+			'5.6' => false,
2217
+			'7.0' => true,
2218
+		),
2219
+		'ZLIB_SYNC_FLUSH' => array(
2220
+			'5.6' => false,
2221
+			'7.0' => true,
2222
+		),
2223
+
2224
+		'CURL_HTTP_VERSION_2' => array(
2225
+			'7.0.6' => false,
2226
+			'7.0.7' => true,
2227
+		),
2228
+		'CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE' => array(
2229
+			'7.0.6' => false,
2230
+			'7.0.7' => true,
2231
+		),
2232
+		'CURL_HTTP_VERSION_2TLS' => array(
2233
+			'7.0.6' => false,
2234
+			'7.0.7' => true,
2235
+		),
2236
+		'CURL_REDIR_POST_301' => array(
2237
+			'7.0.6' => false,
2238
+			'7.0.7' => true,
2239
+		),
2240
+		'CURL_REDIR_POST_302' => array(
2241
+			'7.0.6' => false,
2242
+			'7.0.7' => true,
2243
+		),
2244
+		'CURL_REDIR_POST_303' => array(
2245
+			'7.0.6' => false,
2246
+			'7.0.7' => true,
2247
+		),
2248
+		'CURL_REDIR_POST_ALL' => array(
2249
+			'7.0.6' => false,
2250
+			'7.0.7' => true,
2251
+		),
2252
+		'CURL_VERSION_KERBEROS5' => array(
2253
+			'7.0.6' => false,
2254
+			'7.0.7' => true,
2255
+		),
2256
+		'CURL_VERSION_PSL' => array(
2257
+			'7.0.6' => false,
2258
+			'7.0.7' => true,
2259
+		),
2260
+		'CURL_VERSION_UNIX_SOCKETS' => array(
2261
+			'7.0.6' => false,
2262
+			'7.0.7' => true,
2263
+		),
2264
+		'CURLAUTH_NEGOTIATE' => array(
2265
+			'7.0.6' => false,
2266
+			'7.0.7' => true,
2267
+		),
2268
+		'CURLAUTH_NTLM_WB' => array(
2269
+			'7.0.6' => false,
2270
+			'7.0.7' => true,
2271
+		),
2272
+		'CURLFTP_CREATE_DIR' => array(
2273
+			'7.0.6' => false,
2274
+			'7.0.7' => true,
2275
+		),
2276
+		'CURLFTP_CREATE_DIR_NONE' => array(
2277
+			'7.0.6' => false,
2278
+			'7.0.7' => true,
2279
+		),
2280
+		'CURLFTP_CREATE_DIR_RETRY' => array(
2281
+			'7.0.6' => false,
2282
+			'7.0.7' => true,
2283
+		),
2284
+		'CURLHEADER_SEPARATE' => array(
2285
+			'7.0.6' => false,
2286
+			'7.0.7' => true,
2287
+		),
2288
+		'CURLHEADER_UNIFIED' => array(
2289
+			'7.0.6' => false,
2290
+			'7.0.7' => true,
2291
+		),
2292
+		'CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE' => array(
2293
+			'7.0.6' => false,
2294
+			'7.0.7' => true,
2295
+		),
2296
+		'CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE' => array(
2297
+			'7.0.6' => false,
2298
+			'7.0.7' => true,
2299
+		),
2300
+		'CURLMOPT_MAX_HOST_CONNECTIONS' => array(
2301
+			'7.0.6' => false,
2302
+			'7.0.7' => true,
2303
+		),
2304
+		'CURLMOPT_MAX_PIPELINE_LENGTH' => array(
2305
+			'7.0.6' => false,
2306
+			'7.0.7' => true,
2307
+		),
2308
+		'CURLMOPT_MAX_TOTAL_CONNECTIONS' => array(
2309
+			'7.0.6' => false,
2310
+			'7.0.7' => true,
2311
+		),
2312
+		'CURLOPT_CONNECT_TO' => array(
2313
+			'7.0.6' => false,
2314
+			'7.0.7' => true,
2315
+		),
2316
+		'CURLOPT_DEFAULT_PROTOCOL' => array(
2317
+			'7.0.6' => false,
2318
+			'7.0.7' => true,
2319
+		),
2320
+		'CURLOPT_DNS_INTERFACE' => array(
2321
+			'7.0.6' => false,
2322
+			'7.0.7' => true,
2323
+		),
2324
+		'CURLOPT_DNS_LOCAL_IP4' => array(
2325
+			'7.0.6' => false,
2326
+			'7.0.7' => true,
2327
+		),
2328
+		'CURLOPT_DNS_LOCAL_IP6' => array(
2329
+			'7.0.6' => false,
2330
+			'7.0.7' => true,
2331
+		),
2332
+		'CURLOPT_EXPECT_100_TIMEOUT_MS' => array(
2333
+			'7.0.6' => false,
2334
+			'7.0.7' => true,
2335
+		),
2336
+		'CURLOPT_HEADEROPT' => array(
2337
+			'7.0.6' => false,
2338
+			'7.0.7' => true,
2339
+		),
2340
+		'CURLOPT_LOGIN_OPTIONS' => array(
2341
+			'7.0.6' => false,
2342
+			'7.0.7' => true,
2343
+		),
2344
+		'CURLOPT_PATH_AS_IS' => array(
2345
+			'7.0.6' => false,
2346
+			'7.0.7' => true,
2347
+		),
2348
+		'CURLOPT_PINNEDPUBLICKEY' => array(
2349
+			'7.0.6' => false,
2350
+			'7.0.7' => true,
2351
+		),
2352
+		'CURLOPT_PIPEWAIT' => array(
2353
+			'7.0.6' => false,
2354
+			'7.0.7' => true,
2355
+		),
2356
+		'CURLOPT_PROXY_SERVICE_NAME' => array(
2357
+			'7.0.6' => false,
2358
+			'7.0.7' => true,
2359
+		),
2360
+		'CURLOPT_PROXYHEADER' => array(
2361
+			'7.0.6' => false,
2362
+			'7.0.7' => true,
2363
+		),
2364
+		'CURLOPT_SASL_IR' => array(
2365
+			'7.0.6' => false,
2366
+			'7.0.7' => true,
2367
+		),
2368
+		'CURLOPT_SERVICE_NAME' => array(
2369
+			'7.0.6' => false,
2370
+			'7.0.7' => true,
2371
+		),
2372
+		'CURLOPT_SSL_ENABLE_ALPN' => array(
2373
+			'7.0.6' => false,
2374
+			'7.0.7' => true,
2375
+		),
2376
+		'CURLOPT_SSL_ENABLE_NPN' => array(
2377
+			'7.0.6' => false,
2378
+			'7.0.7' => true,
2379
+		),
2380
+		'CURLOPT_SSL_FALSESTART' => array(
2381
+			'7.0.6' => false,
2382
+			'7.0.7' => true,
2383
+		),
2384
+		'CURLOPT_SSL_VERIFYSTATUS' => array(
2385
+			'7.0.6' => false,
2386
+			'7.0.7' => true,
2387
+		),
2388
+		'CURLOPT_STREAM_WEIGHT' => array(
2389
+			'7.0.6' => false,
2390
+			'7.0.7' => true,
2391
+		),
2392
+		'CURLOPT_TCP_FASTOPEN' => array(
2393
+			'7.0.6' => false,
2394
+			'7.0.7' => true,
2395
+		),
2396
+		'CURLOPT_TFTP_NO_OPTIONS' => array(
2397
+			'7.0.6' => false,
2398
+			'7.0.7' => true,
2399
+		),
2400
+		'CURLOPT_UNIX_SOCKET_PATH' => array(
2401
+			'7.0.6' => false,
2402
+			'7.0.7' => true,
2403
+		),
2404
+		'CURLOPT_XOAUTH2_BEARER' => array(
2405
+			'7.0.6' => false,
2406
+			'7.0.7' => true,
2407
+		),
2408
+		'CURLPROTO_SMB' => array(
2409
+			'7.0.6' => false,
2410
+			'7.0.7' => true,
2411
+		),
2412
+		'CURLPROTO_SMBS' => array(
2413
+			'7.0.6' => false,
2414
+			'7.0.7' => true,
2415
+		),
2416
+		'CURLPROXY_HTTP_1_0' => array(
2417
+			'7.0.6' => false,
2418
+			'7.0.7' => true,
2419
+		),
2420
+		'CURLSSH_AUTH_AGENT' => array(
2421
+			'7.0.6' => false,
2422
+			'7.0.7' => true,
2423
+		),
2424
+		'CURLSSLOPT_NO_REVOKE' => array(
2425
+			'7.0.6' => false,
2426
+			'7.0.7' => true,
2427
+		),
2428
+
2429
+		'PHP_FD_SETSIZE' => array(
2430
+			'7.0' => false,
2431
+			'7.1' => true,
2432
+		),
2433
+		// Curl:
2434
+		'CURLMOPT_PUSHFUNCTION' => array(
2435
+			'7.0' => false,
2436
+			'7.1' => true,
2437
+		),
2438
+		'CURL_PUSH_OK' => array(
2439
+			'7.0' => false,
2440
+			'7.1' => true,
2441
+		),
2442
+		'CURL_PUSH_DENY' => array(
2443
+			'7.0' => false,
2444
+			'7.1' => true,
2445
+		),
2446
+		// Filter:
2447
+		'FILTER_FLAG_EMAIL_UNICODE' => array(
2448
+			'7.0' => false,
2449
+			'7.1' => true,
2450
+		),
2451
+		// GD:
2452
+		'IMAGETYPE_WEBP' => array(
2453
+			'7.0' => false,
2454
+			'7.1' => true,
2455
+		),
2456
+		// Json:
2457
+		'JSON_UNESCAPED_LINE_TERMINATORS' => array(
2458
+			'7.0' => false,
2459
+			'7.1' => true,
2460
+		),
2461
+		// LDAP:
2462
+		'LDAP_OPT_X_SASL_NOCANON' => array(
2463
+			'7.0' => false,
2464
+			'7.1' => true,
2465
+		),
2466
+		'LDAP_OPT_X_SASL_USERNAME' => array(
2467
+			'7.0' => false,
2468
+			'7.1' => true,
2469
+		),
2470
+		'LDAP_OPT_X_TLS_CACERTDIR' => array(
2471
+			'7.0' => false,
2472
+			'7.1' => true,
2473
+		),
2474
+		'LDAP_OPT_X_TLS_CACERTFILE' => array(
2475
+			'7.0' => false,
2476
+			'7.1' => true,
2477
+		),
2478
+		'LDAP_OPT_X_TLS_CERTFILE' => array(
2479
+			'7.0' => false,
2480
+			'7.1' => true,
2481
+		),
2482
+		'LDAP_OPT_X_TLS_CIPHER_SUITE' => array(
2483
+			'7.0' => false,
2484
+			'7.1' => true,
2485
+		),
2486
+		'LDAP_OPT_X_TLS_KEYFILE' => array(
2487
+			'7.0' => false,
2488
+			'7.1' => true,
2489
+		),
2490
+		'LDAP_OPT_X_TLS_RANDOM_FILE' => array(
2491
+			'7.0' => false,
2492
+			'7.1' => true,
2493
+		),
2494
+		'LDAP_OPT_X_TLS_CRLCHECK' => array(
2495
+			'7.0' => false,
2496
+			'7.1' => true,
2497
+		),
2498
+		'LDAP_OPT_X_TLS_CRL_NONE' => array(
2499
+			'7.0' => false,
2500
+			'7.1' => true,
2501
+		),
2502
+		'LDAP_OPT_X_TLS_CRL_PEER' => array(
2503
+			'7.0' => false,
2504
+			'7.1' => true,
2505
+		),
2506
+		'LDAP_OPT_X_TLS_CRL_ALL' => array(
2507
+			'7.0' => false,
2508
+			'7.1' => true,
2509
+		),
2510
+		'LDAP_OPT_X_TLS_DHFILE' => array(
2511
+			'7.0' => false,
2512
+			'7.1' => true,
2513
+		),
2514
+		'LDAP_OPT_X_TLS_CRLFILE' => array(
2515
+			'7.0' => false,
2516
+			'7.1' => true,
2517
+		),
2518
+		'LDAP_OPT_X_TLS_PROTOCOL_MIN' => array(
2519
+			'7.0' => false,
2520
+			'7.1' => true,
2521
+		),
2522
+		'LDAP_OPT_X_TLS_PROTOCOL_SSL2' => array(
2523
+			'7.0' => false,
2524
+			'7.1' => true,
2525
+		),
2526
+		'LDAP_OPT_X_TLS_PROTOCOL_SSL3' => array(
2527
+			'7.0' => false,
2528
+			'7.1' => true,
2529
+		),
2530
+		'LDAP_OPT_X_TLS_PROTOCOL_TLS1_0' => array(
2531
+			'7.0' => false,
2532
+			'7.1' => true,
2533
+		),
2534
+		'LDAP_OPT_X_TLS_PROTOCOL_TLS1_1' => array(
2535
+			'7.0' => false,
2536
+			'7.1' => true,
2537
+		),
2538
+		'LDAP_OPT_X_TLS_PROTOCOL_TLS1_2' => array(
2539
+			'7.0' => false,
2540
+			'7.1' => true,
2541
+		),
2542
+		'LDAP_OPT_X_TLS_PACKAGE' => array(
2543
+			'7.0' => false,
2544
+			'7.1' => true,
2545
+		),
2546
+		'LDAP_OPT_X_KEEPALIVE_IDLE' => array(
2547
+			'7.0' => false,
2548
+			'7.1' => true,
2549
+		),
2550
+		'LDAP_OPT_X_KEEPALIVE_PROBES' => array(
2551
+			'7.0' => false,
2552
+			'7.1' => true,
2553
+		),
2554
+		'LDAP_OPT_X_KEEPALIVE_INTERVAL' => array(
2555
+			'7.0' => false,
2556
+			'7.1' => true,
2557
+		),
2558
+		// PostgreSQL:
2559
+		'PGSQL_NOTICE_LAST' => array(
2560
+			'7.0' => false,
2561
+			'7.1' => true,
2562
+		),
2563
+		'PGSQL_NOTICE_ALL' => array(
2564
+			'7.0' => false,
2565
+			'7.1' => true,
2566
+		),
2567
+		'PGSQL_NOTICE_CLEAR' => array(
2568
+			'7.0' => false,
2569
+			'7.1' => true,
2570
+		),
2571
+		// SPL:
2572
+		'MT_RAND_PHP' => array(
2573
+			'7.0' => false,
2574
+			'7.1' => true,
2575
+		),
2576
+
2577
+		// SQLite3:
2578
+		'SQLITE3_DETERMINISTIC' => array(
2579
+			'7.1.3' => false,
2580
+			'7.1.4' => true,
2581
+		),
2582
+
2583
+		// Core:
2584
+		'PHP_OS_FAMILY' => array(
2585
+			'7.1' => false,
2586
+			'7.2' => true,
2587
+		),
2588
+		'PHP_FLOAT_DIG' => array(
2589
+			'7.1' => false,
2590
+			'7.2' => true,
2591
+		),
2592
+		'PHP_FLOAT_EPSILON' => array(
2593
+			'7.1' => false,
2594
+			'7.2' => true,
2595
+		),
2596
+		'PHP_FLOAT_MIN' => array(
2597
+			'7.1' => false,
2598
+			'7.2' => true,
2599
+		),
2600
+		'PHP_FLOAT_MAX' => array(
2601
+			'7.1' => false,
2602
+			'7.2' => true,
2603
+		),
2604
+
2605
+		// Core/Password Hashing:
2606
+		'PASSWORD_ARGON2I' => array(
2607
+			'7.1' => false,
2608
+			'7.2' => true,
2609
+		),
2610
+		'PASSWORD_ARGON2_DEFAULT_MEMORY_COST' => array(
2611
+			'7.1' => false,
2612
+			'7.2' => true,
2613
+		),
2614
+		'PASSWORD_ARGON2_DEFAULT_TIME_COST' => array(
2615
+			'7.1' => false,
2616
+			'7.2' => true,
2617
+		),
2618
+		'PASSWORD_ARGON2_DEFAULT_THREADS' => array(
2619
+			'7.1' => false,
2620
+			'7.2' => true,
2621
+		),
2622
+
2623
+		// Fileinfo:
2624
+		'FILEINFO_EXTENSION' => array(
2625
+			'7.1' => false,
2626
+			'7.2' => true,
2627
+		),
2628
+
2629
+		// GD:
2630
+		'IMG_EFFECT_MULTIPLY' => array(
2631
+			'7.1' => false,
2632
+			'7.2' => true,
2633
+		),
2634
+		'IMG_BMP' => array(
2635
+			'7.1' => false,
2636
+			'7.2' => true,
2637
+		),
2638
+
2639
+		// JSON:
2640
+		'JSON_INVALID_UTF8_IGNORE' => array(
2641
+			'7.1' => false,
2642
+			'7.2' => true,
2643
+		),
2644
+		'JSON_INVALID_UTF8_SUBSTITUTE' => array(
2645
+			'7.1' => false,
2646
+			'7.2' => true,
2647
+		),
2648
+
2649
+		// LDAP:
2650
+		'LDAP_EXOP_START_TLS' => array(
2651
+			'7.1' => false,
2652
+			'7.2' => true,
2653
+		),
2654
+		'LDAP_EXOP_MODIFY_PASSWD' => array(
2655
+			'7.1' => false,
2656
+			'7.2' => true,
2657
+		),
2658
+		'LDAP_EXOP_REFRESH' => array(
2659
+			'7.1' => false,
2660
+			'7.2' => true,
2661
+		),
2662
+		'LDAP_EXOP_WHO_AM_I' => array(
2663
+			'7.1' => false,
2664
+			'7.2' => true,
2665
+		),
2666
+		'LDAP_EXOP_TURN' => array(
2667
+			'7.1' => false,
2668
+			'7.2' => true,
2669
+		),
2670
+
2671
+		// PCRE:
2672
+		'PREG_UNMATCHED_AS_NULL' => array(
2673
+			'7.1' => false,
2674
+			'7.2' => true,
2675
+		),
2676
+
2677
+		// Sodium:
2678
+		'SODIUM_LIBRARY_VERSION' => array(
2679
+			'7.1' => false,
2680
+			'7.2' => true,
2681
+		),
2682
+		'SODIUM_LIBRARY_MAJOR_VERSION' => array(
2683
+			'7.1' => false,
2684
+			'7.2' => true,
2685
+		),
2686
+		'SODIUM_LIBRARY_MINOR_VERSION' => array(
2687
+			'7.1' => false,
2688
+			'7.2' => true,
2689
+		),
2690
+		'SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES' => array(
2691
+			'7.1' => false,
2692
+			'7.2' => true,
2693
+		),
2694
+		'SODIUM_CRYPTO_AEAD_AES256GCM_NSECBYTES' => array(
2695
+			'7.1' => false,
2696
+			'7.2' => true,
2697
+		),
2698
+		'SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES' => array(
2699
+			'7.1' => false,
2700
+			'7.2' => true,
2701
+		),
2702
+		'SODIUM_CRYPTO_AEAD_AES256GCM_ABYTES' => array(
2703
+			'7.1' => false,
2704
+			'7.2' => true,
2705
+		),
2706
+		'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_KEYBYTES' => array(
2707
+			'7.1' => false,
2708
+			'7.2' => true,
2709
+		),
2710
+		'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NSECBYTES' => array(
2711
+			'7.1' => false,
2712
+			'7.2' => true,
2713
+		),
2714
+		'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NPUBBYTES' => array(
2715
+			'7.1' => false,
2716
+			'7.2' => true,
2717
+		),
2718
+		'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_ABYTES' => array(
2719
+			'7.1' => false,
2720
+			'7.2' => true,
2721
+		),
2722
+		'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_KEYBYTES' => array(
2723
+			'7.1' => false,
2724
+			'7.2' => true,
2725
+		),
2726
+		'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NSECBYTES' => array(
2727
+			'7.1' => false,
2728
+			'7.2' => true,
2729
+		),
2730
+		'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES' => array(
2731
+			'7.1' => false,
2732
+			'7.2' => true,
2733
+		),
2734
+		'SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_ABYTES' => array(
2735
+			'7.1' => false,
2736
+			'7.2' => true,
2737
+		),
2738
+		'SODIUM_CRYPTO_AUTH_BYTES' => array(
2739
+			'7.1' => false,
2740
+			'7.2' => true,
2741
+		),
2742
+		'SODIUM_CRYPTO_AUTH_KEYBYTES' => array(
2743
+			'7.1' => false,
2744
+			'7.2' => true,
2745
+		),
2746
+		'SODIUM_CRYPTO_BOX_SEALBYTES' => array(
2747
+			'7.1' => false,
2748
+			'7.2' => true,
2749
+		),
2750
+		'SODIUM_CRYPTO_BOX_SECRETKEYBYTES' => array(
2751
+			'7.1' => false,
2752
+			'7.2' => true,
2753
+		),
2754
+		'SODIUM_CRYPTO_BOX_PUBLICKEYBYTES' => array(
2755
+			'7.1' => false,
2756
+			'7.2' => true,
2757
+		),
2758
+		'SODIUM_CRYPTO_BOX_KEYPAIRBYTES' => array(
2759
+			'7.1' => false,
2760
+			'7.2' => true,
2761
+		),
2762
+		'SODIUM_CRYPTO_BOX_MACBYTES' => array(
2763
+			'7.1' => false,
2764
+			'7.2' => true,
2765
+		),
2766
+		'SODIUM_CRYPTO_BOX_NONCEBYTES' => array(
2767
+			'7.1' => false,
2768
+			'7.2' => true,
2769
+		),
2770
+		'SODIUM_CRYPTO_BOX_SEEDBYTES' => array(
2771
+			'7.1' => false,
2772
+			'7.2' => true,
2773
+		),
2774
+		'SODIUM_CRYPTO_KDF_BYTES_MIN' => array(
2775
+			'7.1' => false,
2776
+			'7.2' => true,
2777
+		),
2778
+		'SODIUM_CRYPTO_KDF_BYTES_MAX' => array(
2779
+			'7.1' => false,
2780
+			'7.2' => true,
2781
+		),
2782
+		'SODIUM_CRYPTO_KDF_CONTEXTBYTES' => array(
2783
+			'7.1' => false,
2784
+			'7.2' => true,
2785
+		),
2786
+		'SODIUM_CRYPTO_KDF_KEYBYTES' => array(
2787
+			'7.1' => false,
2788
+			'7.2' => true,
2789
+		),
2790
+		'SODIUM_CRYPTO_KX_SEEDBYTES' => array(
2791
+			'7.1' => false,
2792
+			'7.2' => true,
2793
+		),
2794
+		'SODIUM_CRYPTO_KX_SESSIONKEYBYTES' => array(
2795
+			'7.1' => false,
2796
+			'7.2' => true,
2797
+		),
2798
+		'SODIUM_CRYPTO_KX_PUBLICKEYBYTES' => array(
2799
+			'7.1' => false,
2800
+			'7.2' => true,
2801
+		),
2802
+		'SODIUM_CRYPTO_KX_SECRETKEYBYTES' => array(
2803
+			'7.1' => false,
2804
+			'7.2' => true,
2805
+		),
2806
+		'SODIUM_CRYPTO_KX_KEYPAIRBYTES' => array(
2807
+			'7.1' => false,
2808
+			'7.2' => true,
2809
+		),
2810
+		'SODIUM_CRYPTO_GENERICHASH_BYTES' => array(
2811
+			'7.1' => false,
2812
+			'7.2' => true,
2813
+		),
2814
+		'SODIUM_CRYPTO_GENERICHASH_BYTES_MIN' => array(
2815
+			'7.1' => false,
2816
+			'7.2' => true,
2817
+		),
2818
+		'SODIUM_CRYPTO_GENERICHASH_BYTES_MAX' => array(
2819
+			'7.1' => false,
2820
+			'7.2' => true,
2821
+		),
2822
+		'SODIUM_CRYPTO_GENERICHASH_KEYBYTES' => array(
2823
+			'7.1' => false,
2824
+			'7.2' => true,
2825
+		),
2826
+		'SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MIN' => array(
2827
+			'7.1' => false,
2828
+			'7.2' => true,
2829
+		),
2830
+		'SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MAX' => array(
2831
+			'7.1' => false,
2832
+			'7.2' => true,
2833
+		),
2834
+		'SODIUM_CRYPTO_PWHASH_ALG_ARGON2I13' => array(
2835
+			'7.1' => false,
2836
+			'7.2' => true,
2837
+		),
2838
+		'SODIUM_CRYPTO_PWHASH_ALG_DEFAULT' => array(
2839
+			'7.1' => false,
2840
+			'7.2' => true,
2841
+		),
2842
+		'SODIUM_CRYPTO_PWHASH_SALTBYTES' => array(
2843
+			'7.1' => false,
2844
+			'7.2' => true,
2845
+		),
2846
+		'SODIUM_CRYPTO_PWHASH_STRPREFIX' => array(
2847
+			'7.1' => false,
2848
+			'7.2' => true,
2849
+		),
2850
+		'SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE' => array(
2851
+			'7.1' => false,
2852
+			'7.2' => true,
2853
+		),
2854
+		'SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE' => array(
2855
+			'7.1' => false,
2856
+			'7.2' => true,
2857
+		),
2858
+		'SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE' => array(
2859
+			'7.1' => false,
2860
+			'7.2' => true,
2861
+		),
2862
+		'SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE' => array(
2863
+			'7.1' => false,
2864
+			'7.2' => true,
2865
+		),
2866
+		'SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE' => array(
2867
+			'7.1' => false,
2868
+			'7.2' => true,
2869
+		),
2870
+		'SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE' => array(
2871
+			'7.1' => false,
2872
+			'7.2' => true,
2873
+		),
2874
+		'SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES' => array(
2875
+			'7.1' => false,
2876
+			'7.2' => true,
2877
+		),
2878
+		'SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_STRPREFIX' => array(
2879
+			'7.1' => false,
2880
+			'7.2' => true,
2881
+		),
2882
+		'SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE' => array(
2883
+			'7.1' => false,
2884
+			'7.2' => true,
2885
+		),
2886
+		'SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE' => array(
2887
+			'7.1' => false,
2888
+			'7.2' => true,
2889
+		),
2890
+		'SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE' => array(
2891
+			'7.1' => false,
2892
+			'7.2' => true,
2893
+		),
2894
+		'SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE' => array(
2895
+			'7.1' => false,
2896
+			'7.2' => true,
2897
+		),
2898
+		'SODIUM_CRYPTO_SCALARMULT_BYTES' => array(
2899
+			'7.1' => false,
2900
+			'7.2' => true,
2901
+		),
2902
+		'SODIUM_CRYPTO_SCALARMULT_SCALARBYTES' => array(
2903
+			'7.1' => false,
2904
+			'7.2' => true,
2905
+		),
2906
+		'SODIUM_CRYPTO_SHORTHASH_BYTES' => array(
2907
+			'7.1' => false,
2908
+			'7.2' => true,
2909
+		),
2910
+		'SODIUM_CRYPTO_SHORTHASH_KEYBYTES' => array(
2911
+			'7.1' => false,
2912
+			'7.2' => true,
2913
+		),
2914
+		'SODIUM_CRYPTO_SECRETBOX_KEYBYTES' => array(
2915
+			'7.1' => false,
2916
+			'7.2' => true,
2917
+		),
2918
+		'SODIUM_CRYPTO_SECRETBOX_MACBYTES' => array(
2919
+			'7.1' => false,
2920
+			'7.2' => true,
2921
+		),
2922
+		'SODIUM_CRYPTO_SECRETBOX_NONCEBYTES' => array(
2923
+			'7.1' => false,
2924
+			'7.2' => true,
2925
+		),
2926
+		'SODIUM_CRYPTO_SIGN_BYTES' => array(
2927
+			'7.1' => false,
2928
+			'7.2' => true,
2929
+		),
2930
+		'SODIUM_CRYPTO_SIGN_SEEDBYTES' => array(
2931
+			'7.1' => false,
2932
+			'7.2' => true,
2933
+		),
2934
+		'SODIUM_CRYPTO_SIGN_PUBLICKEYBYTES' => array(
2935
+			'7.1' => false,
2936
+			'7.2' => true,
2937
+		),
2938
+		'SODIUM_CRYPTO_SIGN_SECRETKEYBYTES' => array(
2939
+			'7.1' => false,
2940
+			'7.2' => true,
2941
+		),
2942
+		'SODIUM_CRYPTO_SIGN_KEYPAIRBYTES' => array(
2943
+			'7.1' => false,
2944
+			'7.2' => true,
2945
+		),
2946
+		'SODIUM_CRYPTO_STREAM_NONCEBYTES' => array(
2947
+			'7.1' => false,
2948
+			'7.2' => true,
2949
+		),
2950
+		'SODIUM_CRYPTO_STREAM_KEYBYTES' => array(
2951
+			'7.1' => false,
2952
+			'7.2' => true,
2953
+		),
2954
+
2955
+		'CURLAUTH_BEARER' => array(
2956
+			'7.2' => false,
2957
+			'7.3' => true,
2958
+		),
2959
+		'CURLAUTH_GSSAPI' => array(
2960
+			'7.2' => false,
2961
+			'7.3' => true,
2962
+		),
2963
+		'CURLE_WEIRD_SERVER_REPLY' => array(
2964
+			'7.2' => false,
2965
+			'7.3' => true,
2966
+		),
2967
+		'CURLINFO_APPCONNECT_TIME_T' => array(
2968
+			'7.2' => false,
2969
+			'7.3' => true,
2970
+		),
2971
+		'CURLINFO_CONNECT_TIME_T' => array(
2972
+			'7.2' => false,
2973
+			'7.3' => true,
2974
+		),
2975
+		'CURLINFO_CONTENT_LENGTH_DOWNLOAD_T' => array(
2976
+			'7.2' => false,
2977
+			'7.3' => true,
2978
+		),
2979
+		'CURLINFO_CONTENT_LENGTH_UPLOAD_T' => array(
2980
+			'7.2' => false,
2981
+			'7.3' => true,
2982
+		),
2983
+		'CURLINFO_FILETIME_T' => array(
2984
+			'7.2' => false,
2985
+			'7.3' => true,
2986
+		),
2987
+		'CURLINFO_HTTP_VERSION' => array(
2988
+			'7.2' => false,
2989
+			'7.3' => true,
2990
+		),
2991
+		'CURLINFO_NAMELOOKUP_TIME_T' => array(
2992
+			'7.2' => false,
2993
+			'7.3' => true,
2994
+		),
2995
+		'CURLINFO_PRETRANSFER_TIME_T' => array(
2996
+			'7.2' => false,
2997
+			'7.3' => true,
2998
+		),
2999
+		'CURLINFO_PROTOCOL' => array(
3000
+			'7.2' => false,
3001
+			'7.3' => true,
3002
+		),
3003
+		'CURLINFO_PROXY_SSL_VERIFYRESULT' => array(
3004
+			'7.2' => false,
3005
+			'7.3' => true,
3006
+		),
3007
+		'CURLINFO_REDIRECT_TIME_T' => array(
3008
+			'7.2' => false,
3009
+			'7.3' => true,
3010
+		),
3011
+		'CURLINFO_SCHEME' => array(
3012
+			'7.2' => false,
3013
+			'7.3' => true,
3014
+		),
3015
+		'CURLINFO_SIZE_DOWNLOAD_T' => array(
3016
+			'7.2' => false,
3017
+			'7.3' => true,
3018
+		),
3019
+		'CURLINFO_SIZE_UPLOAD_T' => array(
3020
+			'7.2' => false,
3021
+			'7.3' => true,
3022
+		),
3023
+		'CURLINFO_SPEED_DOWNLOAD_T' => array(
3024
+			'7.2' => false,
3025
+			'7.3' => true,
3026
+		),
3027
+		'CURLINFO_SPEED_UPLOAD_T' => array(
3028
+			'7.2' => false,
3029
+			'7.3' => true,
3030
+		),
3031
+		'CURLINFO_STARTTRANSFER_TIME_T' => array(
3032
+			'7.2' => false,
3033
+			'7.3' => true,
3034
+		),
3035
+		'CURLINFO_TOTAL_TIME_T' => array(
3036
+			'7.2' => false,
3037
+			'7.3' => true,
3038
+		),
3039
+		'CURL_LOCK_DATA_CONNECT' => array(
3040
+			'7.2' => false,
3041
+			'7.3' => true,
3042
+		),
3043
+		'CURL_LOCK_DATA_PSL' => array(
3044
+			'7.2' => false,
3045
+			'7.3' => true,
3046
+		),
3047
+		'CURL_MAX_READ_SIZE' => array(
3048
+			'7.2' => false,
3049
+			'7.3' => true,
3050
+		),
3051
+		'CURLOPT_ABSTRACT_UNIX_SOCKET' => array(
3052
+			'7.2' => false,
3053
+			'7.3' => true,
3054
+		),
3055
+		'CURLOPT_DISALLOW_USERNAME_IN_URL' => array(
3056
+			'7.2' => false,
3057
+			'7.3' => true,
3058
+		),
3059
+		'CURLOPT_DNS_SHUFFLE_ADDRESSES' => array(
3060
+			'7.2' => false,
3061
+			'7.3' => true,
3062
+		),
3063
+		'CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS' => array(
3064
+			'7.2' => false,
3065
+			'7.3' => true,
3066
+		),
3067
+		'CURLOPT_HAPROXYPROTOCOL' => array(
3068
+			'7.2' => false,
3069
+			'7.3' => true,
3070
+		),
3071
+		'CURLOPT_KEEP_SENDING_ON_ERROR' => array(
3072
+			'7.2' => false,
3073
+			'7.3' => true,
3074
+		),
3075
+		'CURLOPT_PRE_PROXY' => array(
3076
+			'7.2' => false,
3077
+			'7.3' => true,
3078
+		),
3079
+		'CURLOPT_PROXY_CAINFO' => array(
3080
+			'7.2' => false,
3081
+			'7.3' => true,
3082
+		),
3083
+		'CURLOPT_PROXY_CAPATH' => array(
3084
+			'7.2' => false,
3085
+			'7.3' => true,
3086
+		),
3087
+		'CURLOPT_PROXY_CRLFILE' => array(
3088
+			'7.2' => false,
3089
+			'7.3' => true,
3090
+		),
3091
+		'CURLOPT_PROXY_KEYPASSWD' => array(
3092
+			'7.2' => false,
3093
+			'7.3' => true,
3094
+		),
3095
+		'CURLOPT_PROXY_PINNEDPUBLICKEY' => array(
3096
+			'7.2' => false,
3097
+			'7.3' => true,
3098
+		),
3099
+		'CURLOPT_PROXY_SSLCERT' => array(
3100
+			'7.2' => false,
3101
+			'7.3' => true,
3102
+		),
3103
+		'CURLOPT_PROXY_SSLCERTTYPE' => array(
3104
+			'7.2' => false,
3105
+			'7.3' => true,
3106
+		),
3107
+		'CURLOPT_PROXY_SSL_CIPHER_LIST' => array(
3108
+			'7.2' => false,
3109
+			'7.3' => true,
3110
+		),
3111
+		'CURLOPT_PROXY_SSLKEY' => array(
3112
+			'7.2' => false,
3113
+			'7.3' => true,
3114
+		),
3115
+		'CURLOPT_PROXY_SSLKEYTYPE' => array(
3116
+			'7.2' => false,
3117
+			'7.3' => true,
3118
+		),
3119
+		'CURLOPT_PROXY_SSL_OPTIONS' => array(
3120
+			'7.2' => false,
3121
+			'7.3' => true,
3122
+		),
3123
+		'CURLOPT_PROXY_SSL_VERIFYHOST' => array(
3124
+			'7.2' => false,
3125
+			'7.3' => true,
3126
+		),
3127
+		'CURLOPT_PROXY_SSL_VERIFYPEER' => array(
3128
+			'7.2' => false,
3129
+			'7.3' => true,
3130
+		),
3131
+		'CURLOPT_PROXY_SSLVERSION' => array(
3132
+			'7.2' => false,
3133
+			'7.3' => true,
3134
+		),
3135
+		'CURLOPT_PROXY_TLS13_CIPHERS' => array(
3136
+			'7.2' => false,
3137
+			'7.3' => true,
3138
+		),
3139
+		'CURLOPT_PROXY_TLSAUTH_PASSWORD' => array(
3140
+			'7.2' => false,
3141
+			'7.3' => true,
3142
+		),
3143
+		'CURLOPT_PROXY_TLSAUTH_TYPE' => array(
3144
+			'7.2' => false,
3145
+			'7.3' => true,
3146
+		),
3147
+		'CURLOPT_PROXY_TLSAUTH_USERNAME' => array(
3148
+			'7.2' => false,
3149
+			'7.3' => true,
3150
+		),
3151
+		'CURLOPT_REQUEST_TARGET' => array(
3152
+			'7.2' => false,
3153
+			'7.3' => true,
3154
+		),
3155
+		'CURLOPT_SOCKS5_AUTH' => array(
3156
+			'7.2' => false,
3157
+			'7.3' => true,
3158
+		),
3159
+		'CURLOPT_SSH_COMPRESSION' => array(
3160
+			'7.2' => false,
3161
+			'7.3' => true,
3162
+		),
3163
+		'CURLOPT_SUPPRESS_CONNECT_HEADERS' => array(
3164
+			'7.2' => false,
3165
+			'7.3' => true,
3166
+		),
3167
+		'CURLOPT_TIMEVALUE_LARGE' => array(
3168
+			'7.2' => false,
3169
+			'7.3' => true,
3170
+		),
3171
+		'CURLOPT_TLS13_CIPHERS' => array(
3172
+			'7.2' => false,
3173
+			'7.3' => true,
3174
+		),
3175
+		'CURLPROXY_HTTPS' => array(
3176
+			'7.2' => false,
3177
+			'7.3' => true,
3178
+		),
3179
+		'CURLSSH_AUTH_GSSAPI' => array(
3180
+			'7.2' => false,
3181
+			'7.3' => true,
3182
+		),
3183
+		'CURL_SSLVERSION_MAX_DEFAULT' => array(
3184
+			'7.2' => false,
3185
+			'7.3' => true,
3186
+		),
3187
+		'CURL_SSLVERSION_MAX_NONE' => array(
3188
+			'7.2' => false,
3189
+			'7.3' => true,
3190
+		),
3191
+		'CURL_SSLVERSION_MAX_TLSv1_0' => array(
3192
+			'7.2' => false,
3193
+			'7.3' => true,
3194
+		),
3195
+		'CURL_SSLVERSION_MAX_TLSv1_1' => array(
3196
+			'7.2' => false,
3197
+			'7.3' => true,
3198
+		),
3199
+		'CURL_SSLVERSION_MAX_TLSv1_2' => array(
3200
+			'7.2' => false,
3201
+			'7.3' => true,
3202
+		),
3203
+		'CURL_SSLVERSION_MAX_TLSv1_3' => array(
3204
+			'7.2' => false,
3205
+			'7.3' => true,
3206
+		),
3207
+		'CURL_SSLVERSION_TLSv1_3' => array(
3208
+			'7.2' => false,
3209
+			'7.3' => true,
3210
+		),
3211
+		'CURL_VERSION_ASYNCHDNS' => array(
3212
+			'7.2' => false,
3213
+			'7.3' => true,
3214
+		),
3215
+		'CURL_VERSION_BROTLI' => array(
3216
+			'7.2' => false,
3217
+			'7.3' => true,
3218
+		),
3219
+		'CURL_VERSION_CONV' => array(
3220
+			'7.2' => false,
3221
+			'7.3' => true,
3222
+		),
3223
+		'CURL_VERSION_DEBUG' => array(
3224
+			'7.2' => false,
3225
+			'7.3' => true,
3226
+		),
3227
+		'CURL_VERSION_GSSAPI' => array(
3228
+			'7.2' => false,
3229
+			'7.3' => true,
3230
+		),
3231
+		'CURL_VERSION_GSSNEGOTIATE' => array(
3232
+			'7.2' => false,
3233
+			'7.3' => true,
3234
+		),
3235
+		'CURL_VERSION_HTTPS_PROXY' => array(
3236
+			'7.2' => false,
3237
+			'7.3' => true,
3238
+		),
3239
+		'CURL_VERSION_IDN' => array(
3240
+			'7.2' => false,
3241
+			'7.3' => true,
3242
+		),
3243
+		'CURL_VERSION_LARGEFILE' => array(
3244
+			'7.2' => false,
3245
+			'7.3' => true,
3246
+		),
3247
+		'CURL_VERSION_MULTI_SSL' => array(
3248
+			'7.2' => false,
3249
+			'7.3' => true,
3250
+		),
3251
+		'CURL_VERSION_NTLM' => array(
3252
+			'7.2' => false,
3253
+			'7.3' => true,
3254
+		),
3255
+		'CURL_VERSION_NTLM_WB' => array(
3256
+			'7.2' => false,
3257
+			'7.3' => true,
3258
+		),
3259
+		'CURL_VERSION_SPNEGO' => array(
3260
+			'7.2' => false,
3261
+			'7.3' => true,
3262
+		),
3263
+		'CURL_VERSION_SSPI' => array(
3264
+			'7.2' => false,
3265
+			'7.3' => true,
3266
+		),
3267
+		'CURL_VERSION_TLSAUTH_SRP' => array(
3268
+			'7.2' => false,
3269
+			'7.3' => true,
3270
+		),
3271
+		'FILTER_SANITIZE_ADD_SLASHES' => array(
3272
+			'7.2' => false,
3273
+			'7.3' => true,
3274
+		),
3275
+		'JSON_THROW_ON_ERROR' => array(
3276
+			'7.2' => false,
3277
+			'7.3' => true,
3278
+		),
3279
+		'LDAP_CONTROL_MANAGEDSAIT' => array(
3280
+			'7.2' => false,
3281
+			'7.3' => true,
3282
+		),
3283
+		'LDAP_CONTROL_PROXY_AUTHZ' => array(
3284
+			'7.2' => false,
3285
+			'7.3' => true,
3286
+		),
3287
+		'LDAP_CONTROL_SUBENTRIES' => array(
3288
+			'7.2' => false,
3289
+			'7.3' => true,
3290
+		),
3291
+		'LDAP_CONTROL_VALUESRETURNFILTER' => array(
3292
+			'7.2' => false,
3293
+			'7.3' => true,
3294
+		),
3295
+		'LDAP_CONTROL_ASSERT' => array(
3296
+			'7.2' => false,
3297
+			'7.3' => true,
3298
+		),
3299
+		'LDAP_CONTROL_PRE_READ' => array(
3300
+			'7.2' => false,
3301
+			'7.3' => true,
3302
+		),
3303
+		'LDAP_CONTROL_POST_READ' => array(
3304
+			'7.2' => false,
3305
+			'7.3' => true,
3306
+		),
3307
+		'LDAP_CONTROL_SORTREQUEST' => array(
3308
+			'7.2' => false,
3309
+			'7.3' => true,
3310
+		),
3311
+		'LDAP_CONTROL_SORTRESPONSE' => array(
3312
+			'7.2' => false,
3313
+			'7.3' => true,
3314
+		),
3315
+		'LDAP_CONTROL_PAGEDRESULTS' => array(
3316
+			'7.2' => false,
3317
+			'7.3' => true,
3318
+		),
3319
+		'LDAP_CONTROL_AUTHZID_REQUEST' => array(
3320
+			'7.2' => false,
3321
+			'7.3' => true,
3322
+		),
3323
+		'LDAP_CONTROL_AUTHZID_RESPONSE' => array(
3324
+			'7.2' => false,
3325
+			'7.3' => true,
3326
+		),
3327
+		'LDAP_CONTROL_SYNC' => array(
3328
+			'7.2' => false,
3329
+			'7.3' => true,
3330
+		),
3331
+		'LDAP_CONTROL_SYNC_STATE' => array(
3332
+			'7.2' => false,
3333
+			'7.3' => true,
3334
+		),
3335
+		'LDAP_CONTROL_SYNC_DONE' => array(
3336
+			'7.2' => false,
3337
+			'7.3' => true,
3338
+		),
3339
+		'LDAP_CONTROL_DONTUSECOPY' => array(
3340
+			'7.2' => false,
3341
+			'7.3' => true,
3342
+		),
3343
+		'LDAP_CONTROL_PASSWORDPOLICYREQUEST' => array(
3344
+			'7.2' => false,
3345
+			'7.3' => true,
3346
+		),
3347
+		'LDAP_CONTROL_PASSWORDPOLICYRESPONSE' => array(
3348
+			'7.2' => false,
3349
+			'7.3' => true,
3350
+		),
3351
+		'LDAP_CONTROL_X_INCREMENTAL_VALUES' => array(
3352
+			'7.2' => false,
3353
+			'7.3' => true,
3354
+		),
3355
+		'LDAP_CONTROL_X_DOMAIN_SCOPE' => array(
3356
+			'7.2' => false,
3357
+			'7.3' => true,
3358
+		),
3359
+		'LDAP_CONTROL_X_PERMISSIVE_MODIFY' => array(
3360
+			'7.2' => false,
3361
+			'7.3' => true,
3362
+		),
3363
+		'LDAP_CONTROL_X_SEARCH_OPTIONS' => array(
3364
+			'7.2' => false,
3365
+			'7.3' => true,
3366
+		),
3367
+		'LDAP_CONTROL_X_TREE_DELETE' => array(
3368
+			'7.2' => false,
3369
+			'7.3' => true,
3370
+		),
3371
+		'LDAP_CONTROL_X_EXTENDED_DN' => array(
3372
+			'7.2' => false,
3373
+			'7.3' => true,
3374
+		),
3375
+		'LDAP_CONTROL_VLVREQUEST' => array(
3376
+			'7.2' => false,
3377
+			'7.3' => true,
3378
+		),
3379
+		'LDAP_CONTROL_VLVRESPONSE' => array(
3380
+			'7.2' => false,
3381
+			'7.3' => true,
3382
+		),
3383
+		'MB_CASE_FOLD' => array(
3384
+			'7.2' => false,
3385
+			'7.3' => true,
3386
+		),
3387
+		'MB_CASE_UPPER_SIMPLE' => array(
3388
+			'7.2' => false,
3389
+			'7.3' => true,
3390
+		),
3391
+		'MB_CASE_LOWER_SIMPLE' => array(
3392
+			'7.2' => false,
3393
+			'7.3' => true,
3394
+		),
3395
+		'MB_CASE_TITLE_SIMPLE' => array(
3396
+			'7.2' => false,
3397
+			'7.3' => true,
3398
+		),
3399
+		'MB_CASE_FOLD_SIMPLE' => array(
3400
+			'7.2' => false,
3401
+			'7.3' => true,
3402
+		),
3403
+		'PGSQL_DIAG_SCHEMA_NAME' => array(
3404
+			'7.2' => false,
3405
+			'7.3' => true,
3406
+		),
3407
+		'PGSQL_DIAG_TABLE_NAME' => array(
3408
+			'7.2' => false,
3409
+			'7.3' => true,
3410
+		),
3411
+		'PGSQL_DIAG_COLUMN_NAME' => array(
3412
+			'7.2' => false,
3413
+			'7.3' => true,
3414
+		),
3415
+		'PGSQL_DIAG_DATATYPE_NAME' => array(
3416
+			'7.2' => false,
3417
+			'7.3' => true,
3418
+		),
3419
+		'PGSQL_DIAG_CONSTRAINT_NAME' => array(
3420
+			'7.2' => false,
3421
+			'7.3' => true,
3422
+		),
3423
+		'PGSQL_DIAG_SEVERITY_NONLOCALIZED' => array(
3424
+			'7.2' => false,
3425
+			'7.3' => true,
3426
+		),
3427
+		'PASSWORD_ARGON2ID' => array(
3428
+			'7.2' => false,
3429
+			'7.3' => true,
3430
+		),
3431
+		'STREAM_CRYPTO_PROTO_SSLv3' => array(
3432
+			'7.2' => false,
3433
+			'7.3' => true,
3434
+		),
3435
+		'STREAM_CRYPTO_PROTO_TLSv1_0' => array(
3436
+			'7.2' => false,
3437
+			'7.3' => true,
3438
+		),
3439
+		'STREAM_CRYPTO_PROTO_TLSv1_1' => array(
3440
+			'7.2' => false,
3441
+			'7.3' => true,
3442
+		),
3443
+		'STREAM_CRYPTO_PROTO_TLSv1_2' => array(
3444
+			'7.2' => false,
3445
+			'7.3' => true,
3446
+		),
3447
+
3448
+		'MB_ONIGURUMA_VERSION' => array(
3449
+			'7.3' => false,
3450
+			'7.4' => true,
3451
+		),
3452
+		'SO_LABEL' => array(
3453
+			'7.3' => false,
3454
+			'7.4' => true,
3455
+		),
3456
+		'SO_PEERLABEL' => array(
3457
+			'7.3' => false,
3458
+			'7.4' => true,
3459
+		),
3460
+		'SO_LISTENQLIMIT' => array(
3461
+			'7.3' => false,
3462
+			'7.4' => true,
3463
+		),
3464
+		'SO_LISTENQLEN' => array(
3465
+			'7.3' => false,
3466
+			'7.4' => true,
3467
+		),
3468
+		'SO_USER_COOKIE' => array(
3469
+			'7.3' => false,
3470
+			'7.4' => true,
3471
+		),
3472
+		'PHP_WINDOWS_EVENT_CTRL_C' => array(
3473
+			'7.3' => false,
3474
+			'7.4' => true,
3475
+		),
3476
+		'PHP_WINDOWS_EVENT_CTRL_BREAK' => array(
3477
+			'7.3' => false,
3478
+			'7.4' => true,
3479
+		),
3480
+		'TIDY_TAG_ARTICLE' => array(
3481
+			'7.3' => false,
3482
+			'7.4' => true,
3483
+		),
3484
+		'TIDY_TAG_ASIDE' => array(
3485
+			'7.3' => false,
3486
+			'7.4' => true,
3487
+		),
3488
+		'TIDY_TAG_AUDIO' => array(
3489
+			'7.3' => false,
3490
+			'7.4' => true,
3491
+		),
3492
+		'TIDY_TAG_BDI' => array(
3493
+			'7.3' => false,
3494
+			'7.4' => true,
3495
+		),
3496
+		'TIDY_TAG_CANVAS' => array(
3497
+			'7.3' => false,
3498
+			'7.4' => true,
3499
+		),
3500
+		'TIDY_TAG_COMMAND' => array(
3501
+			'7.3' => false,
3502
+			'7.4' => true,
3503
+		),
3504
+		'TIDY_TAG_DATALIST' => array(
3505
+			'7.3' => false,
3506
+			'7.4' => true,
3507
+		),
3508
+		'TIDY_TAG_DETAILS' => array(
3509
+			'7.3' => false,
3510
+			'7.4' => true,
3511
+		),
3512
+		'TIDY_TAG_DIALOG' => array(
3513
+			'7.3' => false,
3514
+			'7.4' => true,
3515
+		),
3516
+		'TIDY_TAG_FIGCAPTION' => array(
3517
+			'7.3' => false,
3518
+			'7.4' => true,
3519
+		),
3520
+		'TIDY_TAG_FIGURE' => array(
3521
+			'7.3' => false,
3522
+			'7.4' => true,
3523
+		),
3524
+		'TIDY_TAG_FOOTER' => array(
3525
+			'7.3' => false,
3526
+			'7.4' => true,
3527
+		),
3528
+		'TIDY_TAG_HEADER' => array(
3529
+			'7.3' => false,
3530
+			'7.4' => true,
3531
+		),
3532
+		'TIDY_TAG_HGROUP' => array(
3533
+			'7.3' => false,
3534
+			'7.4' => true,
3535
+		),
3536
+		'TIDY_TAG_MAIN' => array(
3537
+			'7.3' => false,
3538
+			'7.4' => true,
3539
+		),
3540
+		'TIDY_TAG_MARK' => array(
3541
+			'7.3' => false,
3542
+			'7.4' => true,
3543
+		),
3544
+		'TIDY_TAG_MENUITEM' => array(
3545
+			'7.3' => false,
3546
+			'7.4' => true,
3547
+		),
3548
+		'TIDY_TAG_METER' => array(
3549
+			'7.3' => false,
3550
+			'7.4' => true,
3551
+		),
3552
+		'TIDY_TAG_NAV' => array(
3553
+			'7.3' => false,
3554
+			'7.4' => true,
3555
+		),
3556
+		'TIDY_TAG_OUTPUT' => array(
3557
+			'7.3' => false,
3558
+			'7.4' => true,
3559
+		),
3560
+		'TIDY_TAG_PROGRESS' => array(
3561
+			'7.3' => false,
3562
+			'7.4' => true,
3563
+		),
3564
+		'TIDY_TAG_SECTION' => array(
3565
+			'7.3' => false,
3566
+			'7.4' => true,
3567
+		),
3568
+		'TIDY_TAG_SOURCE' => array(
3569
+			'7.3' => false,
3570
+			'7.4' => true,
3571
+		),
3572
+		'TIDY_TAG_SUMMARY' => array(
3573
+			'7.3' => false,
3574
+			'7.4' => true,
3575
+		),
3576
+		'TIDY_TAG_TEMPLATE' => array(
3577
+			'7.3' => false,
3578
+			'7.4' => true,
3579
+		),
3580
+		'TIDY_TAG_TIME' => array(
3581
+			'7.3' => false,
3582
+			'7.4' => true,
3583
+		),
3584
+		'TIDY_TAG_TRACK' => array(
3585
+			'7.3' => false,
3586
+			'7.4' => true,
3587
+		),
3588
+		'TIDY_TAG_VIDEO' => array(
3589
+			'7.3' => false,
3590
+			'7.4' => true,
3591
+		),
3592
+	);
3593
+
3594
+
3595
+	/**
3596
+	 * Returns an array of tokens this test wants to listen for.
3597
+	 *
3598
+	 * @return array
3599
+	 */
3600
+	public function register()
3601
+	{
3602
+		return array(\T_STRING);
3603
+	}
3604
+
3605
+	/**
3606
+	 * Processes this test, when one of its tokens is encountered.
3607
+	 *
3608
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
3609
+	 * @param int                   $stackPtr  The position of the current token in the
3610
+	 *                                         stack passed in $tokens.
3611
+	 *
3612
+	 * @return void
3613
+	 */
3614
+	public function process(File $phpcsFile, $stackPtr)
3615
+	{
3616
+		$tokens       = $phpcsFile->getTokens();
3617
+		$constantName = $tokens[$stackPtr]['content'];
3618
+
3619
+		if (isset($this->newConstants[$constantName]) === false) {
3620
+			return;
3621
+		}
3622
+
3623
+		if ($this->isUseOfGlobalConstant($phpcsFile, $stackPtr) === false) {
3624
+			return;
3625
+		}
3626
+
3627
+		$itemInfo = array(
3628
+			'name' => $constantName,
3629
+		);
3630
+		$this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
3631
+	}
3632
+
3633
+
3634
+	/**
3635
+	 * Get the relevant sub-array for a specific item from a multi-dimensional array.
3636
+	 *
3637
+	 * @param array $itemInfo Base information about the item.
3638
+	 *
3639
+	 * @return array Version and other information about the item.
3640
+	 */
3641
+	public function getItemArray(array $itemInfo)
3642
+	{
3643
+		return $this->newConstants[$itemInfo['name']];
3644
+	}
3645
+
3646
+
3647
+	/**
3648
+	 * Get the error message template for this sniff.
3649
+	 *
3650
+	 * @return string
3651
+	 */
3652
+	protected function getErrorMsgTemplate()
3653
+	{
3654
+		return 'The constant "%s" is not present in PHP version %s or earlier';
3655
+	}
3656 3656
 }
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -3599,7 +3599,7 @@  discard block
 block discarded – undo
3599 3599
      */
3600 3600
     public function register()
3601 3601
     {
3602
-        return array(\T_STRING);
3602
+        return array( \T_STRING );
3603 3603
     }
3604 3604
 
3605 3605
     /**
@@ -3611,23 +3611,23 @@  discard block
 block discarded – undo
3611 3611
      *
3612 3612
      * @return void
3613 3613
      */
3614
-    public function process(File $phpcsFile, $stackPtr)
3614
+    public function process( File $phpcsFile, $stackPtr )
3615 3615
     {
3616 3616
         $tokens       = $phpcsFile->getTokens();
3617
-        $constantName = $tokens[$stackPtr]['content'];
3617
+        $constantName = $tokens[ $stackPtr ][ 'content' ];
3618 3618
 
3619
-        if (isset($this->newConstants[$constantName]) === false) {
3619
+        if ( isset( $this->newConstants[ $constantName ] ) === false ) {
3620 3620
             return;
3621 3621
         }
3622 3622
 
3623
-        if ($this->isUseOfGlobalConstant($phpcsFile, $stackPtr) === false) {
3623
+        if ( $this->isUseOfGlobalConstant( $phpcsFile, $stackPtr ) === false ) {
3624 3624
             return;
3625 3625
         }
3626 3626
 
3627 3627
         $itemInfo = array(
3628 3628
             'name' => $constantName,
3629 3629
         );
3630
-        $this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
3630
+        $this->handleFeature( $phpcsFile, $stackPtr, $itemInfo );
3631 3631
     }
3632 3632
 
3633 3633
 
@@ -3638,9 +3638,9 @@  discard block
 block discarded – undo
3638 3638
      *
3639 3639
      * @return array Version and other information about the item.
3640 3640
      */
3641
-    public function getItemArray(array $itemInfo)
3641
+    public function getItemArray( array $itemInfo )
3642 3642
     {
3643
-        return $this->newConstants[$itemInfo['name']];
3643
+        return $this->newConstants[ $itemInfo[ 'name' ] ];
3644 3644
     }
3645 3645
 
3646 3646
 
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   Juliette Reinders Folmer <[email protected]>
21 21
  */
22
-class NewConstantsSniff extends AbstractNewFeatureSniff
23
-{
22
+class NewConstantsSniff extends AbstractNewFeatureSniff {
24 23
 
25 24
     /**
26 25
      * A list of new PHP Constants, not present in older versions.
@@ -3597,8 +3596,7 @@  discard block
 block discarded – undo
3597 3596
      *
3598 3597
      * @return array
3599 3598
      */
3600
-    public function register()
3601
-    {
3599
+    public function register() {
3602 3600
         return array(\T_STRING);
3603 3601
     }
3604 3602
 
@@ -3611,8 +3609,7 @@  discard block
 block discarded – undo
3611 3609
      *
3612 3610
      * @return void
3613 3611
      */
3614
-    public function process(File $phpcsFile, $stackPtr)
3615
-    {
3612
+    public function process(File $phpcsFile, $stackPtr) {
3616 3613
         $tokens       = $phpcsFile->getTokens();
3617 3614
         $constantName = $tokens[$stackPtr]['content'];
3618 3615
 
@@ -3638,8 +3635,7 @@  discard block
 block discarded – undo
3638 3635
      *
3639 3636
      * @return array Version and other information about the item.
3640 3637
      */
3641
-    public function getItemArray(array $itemInfo)
3642
-    {
3638
+    public function getItemArray(array $itemInfo) {
3643 3639
         return $this->newConstants[$itemInfo['name']];
3644 3640
     }
3645 3641
 
@@ -3649,8 +3645,7 @@  discard block
 block discarded – undo
3649 3645
      *
3650 3646
      * @return string
3651 3647
      */
3652
-    protected function getErrorMsgTemplate()
3653
-    {
3648
+    protected function getErrorMsgTemplate() {
3654 3649
         return 'The constant "%s" is not present in PHP version %s or earlier';
3655 3650
     }
3656 3651
 }
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/Constants/RemovedConstantsSniff.php 4 patches
Indentation   +505 added lines, -505 removed lines patch added patch discarded remove patch
@@ -22,526 +22,526 @@
 block discarded – undo
22 22
 class RemovedConstantsSniff extends AbstractRemovedFeatureSniff
23 23
 {
24 24
 
25
-    /**
26
-     * A list of removed PHP Constants.
27
-     *
28
-     * The array lists : version number with false (deprecated) or true (removed).
29
-     * If's sufficient to list the first version where the constant was deprecated/removed.
30
-     *
31
-     * Note: PHP Constants are case-sensitive!
32
-     *
33
-     * @var array(string => array(string => bool|string|null))
34
-     */
35
-    protected $removedConstants = array(
36
-        // Disabled since PHP 5.3.0 due to thread safety issues.
37
-        'FILEINFO_COMPRESS' => array(
38
-            '5.3' => true,
39
-        ),
25
+	/**
26
+	 * A list of removed PHP Constants.
27
+	 *
28
+	 * The array lists : version number with false (deprecated) or true (removed).
29
+	 * If's sufficient to list the first version where the constant was deprecated/removed.
30
+	 *
31
+	 * Note: PHP Constants are case-sensitive!
32
+	 *
33
+	 * @var array(string => array(string => bool|string|null))
34
+	 */
35
+	protected $removedConstants = array(
36
+		// Disabled since PHP 5.3.0 due to thread safety issues.
37
+		'FILEINFO_COMPRESS' => array(
38
+			'5.3' => true,
39
+		),
40 40
 
41
-        'CURLOPT_CLOSEPOLICY' => array(
42
-            '5.6' => true,
43
-        ),
44
-        'CURLCLOSEPOLICY_LEAST_RECENTLY_USED' => array(
45
-            '5.6' => true,
46
-        ),
47
-        'CURLCLOSEPOLICY_LEAST_TRAFFIC' => array(
48
-            '5.6' => true,
49
-        ),
50
-        'CURLCLOSEPOLICY_SLOWEST' => array(
51
-            '5.6' => true,
52
-        ),
53
-        'CURLCLOSEPOLICY_CALLBACK' => array(
54
-            '5.6' => true,
55
-        ),
56
-        'CURLCLOSEPOLICY_OLDEST' => array(
57
-            '5.6' => true,
58
-        ),
41
+		'CURLOPT_CLOSEPOLICY' => array(
42
+			'5.6' => true,
43
+		),
44
+		'CURLCLOSEPOLICY_LEAST_RECENTLY_USED' => array(
45
+			'5.6' => true,
46
+		),
47
+		'CURLCLOSEPOLICY_LEAST_TRAFFIC' => array(
48
+			'5.6' => true,
49
+		),
50
+		'CURLCLOSEPOLICY_SLOWEST' => array(
51
+			'5.6' => true,
52
+		),
53
+		'CURLCLOSEPOLICY_CALLBACK' => array(
54
+			'5.6' => true,
55
+		),
56
+		'CURLCLOSEPOLICY_OLDEST' => array(
57
+			'5.6' => true,
58
+		),
59 59
 
60
-        'PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT' => array(
61
-            '7.0' => true,
62
-        ),
60
+		'PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT' => array(
61
+			'7.0' => true,
62
+		),
63 63
 
64
-        'INTL_IDNA_VARIANT_2003' => array(
65
-            '7.2' => false,
66
-        ),
64
+		'INTL_IDNA_VARIANT_2003' => array(
65
+			'7.2' => false,
66
+		),
67 67
 
68
-        'MCRYPT_MODE_ECB' => array(
69
-            '7.1' => false,
70
-            '7.2' => true,
71
-        ),
72
-        'MCRYPT_MODE_CBC' => array(
73
-            '7.1' => false,
74
-            '7.2' => true,
75
-        ),
76
-        'MCRYPT_MODE_CFB' => array(
77
-            '7.1' => false,
78
-            '7.2' => true,
79
-        ),
80
-        'MCRYPT_MODE_OFB' => array(
81
-            '7.1' => false,
82
-            '7.2' => true,
83
-        ),
84
-        'MCRYPT_MODE_NOFB' => array(
85
-            '7.1' => false,
86
-            '7.2' => true,
87
-        ),
88
-        'MCRYPT_MODE_STREAM' => array(
89
-            '7.1' => false,
90
-            '7.2' => true,
91
-        ),
92
-        'MCRYPT_ENCRYPT' => array(
93
-            '7.1' => false,
94
-            '7.2' => true,
95
-        ),
96
-        'MCRYPT_DECRYPT' => array(
97
-            '7.1' => false,
98
-            '7.2' => true,
99
-        ),
100
-        'MCRYPT_DEV_RANDOM' => array(
101
-            '7.1' => false,
102
-            '7.2' => true,
103
-        ),
104
-        'MCRYPT_DEV_URANDOM' => array(
105
-            '7.1' => false,
106
-            '7.2' => true,
107
-        ),
108
-        'MCRYPT_RAND' => array(
109
-            '7.1' => false,
110
-            '7.2' => true,
111
-        ),
112
-        'MCRYPT_3DES' => array(
113
-            '7.1' => false,
114
-            '7.2' => true,
115
-        ),
116
-        'MCRYPT_ARCFOUR_IV' => array(
117
-            '7.1' => false,
118
-            '7.2' => true,
119
-        ),
120
-        'MCRYPT_ARCFOUR' => array(
121
-            '7.1' => false,
122
-            '7.2' => true,
123
-        ),
124
-        'MCRYPT_BLOWFISH' => array(
125
-            '7.1' => false,
126
-            '7.2' => true,
127
-        ),
128
-        'MCRYPT_CAST_128' => array(
129
-            '7.1' => false,
130
-            '7.2' => true,
131
-        ),
132
-        'MCRYPT_CAST_256' => array(
133
-            '7.1' => false,
134
-            '7.2' => true,
135
-        ),
136
-        'MCRYPT_CRYPT' => array(
137
-            '7.1' => false,
138
-            '7.2' => true,
139
-        ),
140
-        'MCRYPT_DES' => array(
141
-            '7.1' => false,
142
-            '7.2' => true,
143
-        ),
144
-        'MCRYPT_DES_COMPAT' => array(
145
-            '7.1' => false,
146
-            '7.2' => true,
147
-        ),
148
-        'MCRYPT_ENIGMA' => array(
149
-            '7.1' => false,
150
-            '7.2' => true,
151
-        ),
152
-        'MCRYPT_GOST' => array(
153
-            '7.1' => false,
154
-            '7.2' => true,
155
-        ),
156
-        'MCRYPT_IDEA' => array(
157
-            '7.1' => false,
158
-            '7.2' => true,
159
-        ),
160
-        'MCRYPT_LOKI97' => array(
161
-            '7.1' => false,
162
-            '7.2' => true,
163
-        ),
164
-        'MCRYPT_MARS' => array(
165
-            '7.1' => false,
166
-            '7.2' => true,
167
-        ),
168
-        'MCRYPT_PANAMA' => array(
169
-            '7.1' => false,
170
-            '7.2' => true,
171
-        ),
172
-        'MCRYPT_RIJNDAEL_128' => array(
173
-            '7.1' => false,
174
-            '7.2' => true,
175
-        ),
176
-        'MCRYPT_RIJNDAEL_192' => array(
177
-            '7.1' => false,
178
-            '7.2' => true,
179
-        ),
180
-        'MCRYPT_RIJNDAEL_256' => array(
181
-            '7.1' => false,
182
-            '7.2' => true,
183
-        ),
184
-        'MCRYPT_RC2' => array(
185
-            '7.1' => false,
186
-            '7.2' => true,
187
-        ),
188
-        'MCRYPT_RC4' => array(
189
-            '7.1' => false,
190
-            '7.2' => true,
191
-        ),
192
-        'MCRYPT_RC6' => array(
193
-            '7.1' => false,
194
-            '7.2' => true,
195
-        ),
196
-        'MCRYPT_RC6_128' => array(
197
-            '7.1' => false,
198
-            '7.2' => true,
199
-        ),
200
-        'MCRYPT_RC6_192' => array(
201
-            '7.1' => false,
202
-            '7.2' => true,
203
-        ),
204
-        'MCRYPT_RC6_256' => array(
205
-            '7.1' => false,
206
-            '7.2' => true,
207
-        ),
208
-        'MCRYPT_SAFER64' => array(
209
-            '7.1' => false,
210
-            '7.2' => true,
211
-        ),
212
-        'MCRYPT_SAFER128' => array(
213
-            '7.1' => false,
214
-            '7.2' => true,
215
-        ),
216
-        'MCRYPT_SAFERPLUS' => array(
217
-            '7.1' => false,
218
-            '7.2' => true,
219
-        ),
220
-        'MCRYPT_SERPENT' => array(
221
-            '7.1' => false,
222
-            '7.2' => true,
223
-        ),
224
-        'MCRYPT_SERPENT_128' => array(
225
-            '7.1' => false,
226
-            '7.2' => true,
227
-        ),
228
-        'MCRYPT_SERPENT_192' => array(
229
-            '7.1' => false,
230
-            '7.2' => true,
231
-        ),
232
-        'MCRYPT_SERPENT_256' => array(
233
-            '7.1' => false,
234
-            '7.2' => true,
235
-        ),
236
-        'MCRYPT_SKIPJACK' => array(
237
-            '7.1' => false,
238
-            '7.2' => true,
239
-        ),
240
-        'MCRYPT_TEAN' => array(
241
-            '7.1' => false,
242
-            '7.2' => true,
243
-        ),
244
-        'MCRYPT_THREEWAY' => array(
245
-            '7.1' => false,
246
-            '7.2' => true,
247
-        ),
248
-        'MCRYPT_TRIPLEDES' => array(
249
-            '7.1' => false,
250
-            '7.2' => true,
251
-        ),
252
-        'MCRYPT_TWOFISH' => array(
253
-            '7.1' => false,
254
-            '7.2' => true,
255
-        ),
256
-        'MCRYPT_TWOFISH128' => array(
257
-            '7.1' => false,
258
-            '7.2' => true,
259
-        ),
260
-        'MCRYPT_TWOFISH192' => array(
261
-            '7.1' => false,
262
-            '7.2' => true,
263
-        ),
264
-        'MCRYPT_TWOFISH256' => array(
265
-            '7.1' => false,
266
-            '7.2' => true,
267
-        ),
268
-        'MCRYPT_WAKE' => array(
269
-            '7.1' => false,
270
-            '7.2' => true,
271
-        ),
272
-        'MCRYPT_XTEA' => array(
273
-            '7.1' => false,
274
-            '7.2' => true,
275
-        ),
68
+		'MCRYPT_MODE_ECB' => array(
69
+			'7.1' => false,
70
+			'7.2' => true,
71
+		),
72
+		'MCRYPT_MODE_CBC' => array(
73
+			'7.1' => false,
74
+			'7.2' => true,
75
+		),
76
+		'MCRYPT_MODE_CFB' => array(
77
+			'7.1' => false,
78
+			'7.2' => true,
79
+		),
80
+		'MCRYPT_MODE_OFB' => array(
81
+			'7.1' => false,
82
+			'7.2' => true,
83
+		),
84
+		'MCRYPT_MODE_NOFB' => array(
85
+			'7.1' => false,
86
+			'7.2' => true,
87
+		),
88
+		'MCRYPT_MODE_STREAM' => array(
89
+			'7.1' => false,
90
+			'7.2' => true,
91
+		),
92
+		'MCRYPT_ENCRYPT' => array(
93
+			'7.1' => false,
94
+			'7.2' => true,
95
+		),
96
+		'MCRYPT_DECRYPT' => array(
97
+			'7.1' => false,
98
+			'7.2' => true,
99
+		),
100
+		'MCRYPT_DEV_RANDOM' => array(
101
+			'7.1' => false,
102
+			'7.2' => true,
103
+		),
104
+		'MCRYPT_DEV_URANDOM' => array(
105
+			'7.1' => false,
106
+			'7.2' => true,
107
+		),
108
+		'MCRYPT_RAND' => array(
109
+			'7.1' => false,
110
+			'7.2' => true,
111
+		),
112
+		'MCRYPT_3DES' => array(
113
+			'7.1' => false,
114
+			'7.2' => true,
115
+		),
116
+		'MCRYPT_ARCFOUR_IV' => array(
117
+			'7.1' => false,
118
+			'7.2' => true,
119
+		),
120
+		'MCRYPT_ARCFOUR' => array(
121
+			'7.1' => false,
122
+			'7.2' => true,
123
+		),
124
+		'MCRYPT_BLOWFISH' => array(
125
+			'7.1' => false,
126
+			'7.2' => true,
127
+		),
128
+		'MCRYPT_CAST_128' => array(
129
+			'7.1' => false,
130
+			'7.2' => true,
131
+		),
132
+		'MCRYPT_CAST_256' => array(
133
+			'7.1' => false,
134
+			'7.2' => true,
135
+		),
136
+		'MCRYPT_CRYPT' => array(
137
+			'7.1' => false,
138
+			'7.2' => true,
139
+		),
140
+		'MCRYPT_DES' => array(
141
+			'7.1' => false,
142
+			'7.2' => true,
143
+		),
144
+		'MCRYPT_DES_COMPAT' => array(
145
+			'7.1' => false,
146
+			'7.2' => true,
147
+		),
148
+		'MCRYPT_ENIGMA' => array(
149
+			'7.1' => false,
150
+			'7.2' => true,
151
+		),
152
+		'MCRYPT_GOST' => array(
153
+			'7.1' => false,
154
+			'7.2' => true,
155
+		),
156
+		'MCRYPT_IDEA' => array(
157
+			'7.1' => false,
158
+			'7.2' => true,
159
+		),
160
+		'MCRYPT_LOKI97' => array(
161
+			'7.1' => false,
162
+			'7.2' => true,
163
+		),
164
+		'MCRYPT_MARS' => array(
165
+			'7.1' => false,
166
+			'7.2' => true,
167
+		),
168
+		'MCRYPT_PANAMA' => array(
169
+			'7.1' => false,
170
+			'7.2' => true,
171
+		),
172
+		'MCRYPT_RIJNDAEL_128' => array(
173
+			'7.1' => false,
174
+			'7.2' => true,
175
+		),
176
+		'MCRYPT_RIJNDAEL_192' => array(
177
+			'7.1' => false,
178
+			'7.2' => true,
179
+		),
180
+		'MCRYPT_RIJNDAEL_256' => array(
181
+			'7.1' => false,
182
+			'7.2' => true,
183
+		),
184
+		'MCRYPT_RC2' => array(
185
+			'7.1' => false,
186
+			'7.2' => true,
187
+		),
188
+		'MCRYPT_RC4' => array(
189
+			'7.1' => false,
190
+			'7.2' => true,
191
+		),
192
+		'MCRYPT_RC6' => array(
193
+			'7.1' => false,
194
+			'7.2' => true,
195
+		),
196
+		'MCRYPT_RC6_128' => array(
197
+			'7.1' => false,
198
+			'7.2' => true,
199
+		),
200
+		'MCRYPT_RC6_192' => array(
201
+			'7.1' => false,
202
+			'7.2' => true,
203
+		),
204
+		'MCRYPT_RC6_256' => array(
205
+			'7.1' => false,
206
+			'7.2' => true,
207
+		),
208
+		'MCRYPT_SAFER64' => array(
209
+			'7.1' => false,
210
+			'7.2' => true,
211
+		),
212
+		'MCRYPT_SAFER128' => array(
213
+			'7.1' => false,
214
+			'7.2' => true,
215
+		),
216
+		'MCRYPT_SAFERPLUS' => array(
217
+			'7.1' => false,
218
+			'7.2' => true,
219
+		),
220
+		'MCRYPT_SERPENT' => array(
221
+			'7.1' => false,
222
+			'7.2' => true,
223
+		),
224
+		'MCRYPT_SERPENT_128' => array(
225
+			'7.1' => false,
226
+			'7.2' => true,
227
+		),
228
+		'MCRYPT_SERPENT_192' => array(
229
+			'7.1' => false,
230
+			'7.2' => true,
231
+		),
232
+		'MCRYPT_SERPENT_256' => array(
233
+			'7.1' => false,
234
+			'7.2' => true,
235
+		),
236
+		'MCRYPT_SKIPJACK' => array(
237
+			'7.1' => false,
238
+			'7.2' => true,
239
+		),
240
+		'MCRYPT_TEAN' => array(
241
+			'7.1' => false,
242
+			'7.2' => true,
243
+		),
244
+		'MCRYPT_THREEWAY' => array(
245
+			'7.1' => false,
246
+			'7.2' => true,
247
+		),
248
+		'MCRYPT_TRIPLEDES' => array(
249
+			'7.1' => false,
250
+			'7.2' => true,
251
+		),
252
+		'MCRYPT_TWOFISH' => array(
253
+			'7.1' => false,
254
+			'7.2' => true,
255
+		),
256
+		'MCRYPT_TWOFISH128' => array(
257
+			'7.1' => false,
258
+			'7.2' => true,
259
+		),
260
+		'MCRYPT_TWOFISH192' => array(
261
+			'7.1' => false,
262
+			'7.2' => true,
263
+		),
264
+		'MCRYPT_TWOFISH256' => array(
265
+			'7.1' => false,
266
+			'7.2' => true,
267
+		),
268
+		'MCRYPT_WAKE' => array(
269
+			'7.1' => false,
270
+			'7.2' => true,
271
+		),
272
+		'MCRYPT_XTEA' => array(
273
+			'7.1' => false,
274
+			'7.2' => true,
275
+		),
276 276
 
277
-        'PHPDBG_FILE' => array(
278
-            '7.3' => true,
279
-        ),
280
-        'PHPDBG_METHOD' => array(
281
-            '7.3' => true,
282
-        ),
283
-        'PHPDBG_LINENO' => array(
284
-            '7.3' => true,
285
-        ),
286
-        'PHPDBG_FUNC' => array(
287
-            '7.3' => true,
288
-        ),
289
-        'FILTER_FLAG_SCHEME_REQUIRED' => array(
290
-            '7.3' => false,
291
-        ),
292
-        'FILTER_FLAG_HOST_REQUIRED' => array(
293
-            '7.3' => false,
294
-        ),
277
+		'PHPDBG_FILE' => array(
278
+			'7.3' => true,
279
+		),
280
+		'PHPDBG_METHOD' => array(
281
+			'7.3' => true,
282
+		),
283
+		'PHPDBG_LINENO' => array(
284
+			'7.3' => true,
285
+		),
286
+		'PHPDBG_FUNC' => array(
287
+			'7.3' => true,
288
+		),
289
+		'FILTER_FLAG_SCHEME_REQUIRED' => array(
290
+			'7.3' => false,
291
+		),
292
+		'FILTER_FLAG_HOST_REQUIRED' => array(
293
+			'7.3' => false,
294
+		),
295 295
 
296
-        'IBASE_BKP_CONVERT' => array(
297
-            '7.4' => true,
298
-        ),
299
-        'IBASE_BKP_IGNORE_CHECKSUMS' => array(
300
-            '7.4' => true,
301
-        ),
302
-        'IBASE_BKP_IGNORE_LIMBO' => array(
303
-            '7.4' => true,
304
-        ),
305
-        'IBASE_BKP_METADATA_ONLY' => array(
306
-            '7.4' => true,
307
-        ),
308
-        'IBASE_BKP_NO_GARBAGE_COLLECT' => array(
309
-            '7.4' => true,
310
-        ),
311
-        'IBASE_BKP_NON_TRANSPORTABLE' => array(
312
-            '7.4' => true,
313
-        ),
314
-        'IBASE_BKP_OLD_DESCRIPTIONS' => array(
315
-            '7.4' => true,
316
-        ),
317
-        'IBASE_COMMITTED' => array(
318
-            '7.4' => true,
319
-        ),
320
-        'IBASE_CONCURRENCY' => array(
321
-            '7.4' => true,
322
-        ),
323
-        'IBASE_CONSISTENCY' => array(
324
-            '7.4' => true,
325
-        ),
326
-        'IBASE_DEFAULT' => array(
327
-            '7.4' => true,
328
-        ),
329
-        'IBASE_FETCH_ARRAYS' => array(
330
-            '7.4' => true,
331
-        ),
332
-        'IBASE_FETCH_BLOBS' => array(
333
-            '7.4' => true,
334
-        ),
335
-        'IBASE_NOWAIT' => array(
336
-            '7.4' => true,
337
-        ),
338
-        'IBASE_PRP_ACCESS_MODE' => array(
339
-            '7.4' => true,
340
-        ),
341
-        'IBASE_PRP_ACTIVATE' => array(
342
-            '7.4' => true,
343
-        ),
344
-        'IBASE_PRP_AM_READONLY' => array(
345
-            '7.4' => true,
346
-        ),
347
-        'IBASE_PRP_AM_READWRITE' => array(
348
-            '7.4' => true,
349
-        ),
350
-        'IBASE_PRP_DENY_NEW_ATTACHMENTS' => array(
351
-            '7.4' => true,
352
-        ),
353
-        'IBASE_PRP_DENY_NEW_TRANSACTIONS' => array(
354
-            '7.4' => true,
355
-        ),
356
-        'IBASE_PRP_DB_ONLINE' => array(
357
-            '7.4' => true,
358
-        ),
359
-        'IBASE_PRP_PAGE_BUFFERS' => array(
360
-            '7.4' => true,
361
-        ),
362
-        'IBASE_PRP_RES' => array(
363
-            '7.4' => true,
364
-        ),
365
-        'IBASE_PRP_RES_USE_FULL' => array(
366
-            '7.4' => true,
367
-        ),
368
-        'IBASE_PRP_RESERVE_SPACE' => array(
369
-            '7.4' => true,
370
-        ),
371
-        'IBASE_PRP_SET_SQL_DIALECT' => array(
372
-            '7.4' => true,
373
-        ),
374
-        'IBASE_PRP_SHUTDOWN_DB' => array(
375
-            '7.4' => true,
376
-        ),
377
-        'IBASE_PRP_SWEEP_INTERVAL' => array(
378
-            '7.4' => true,
379
-        ),
380
-        'IBASE_PRP_WM_ASYNC' => array(
381
-            '7.4' => true,
382
-        ),
383
-        'IBASE_PRP_WM_SYNC' => array(
384
-            '7.4' => true,
385
-        ),
386
-        'IBASE_PRP_WRITE_MODE' => array(
387
-            '7.4' => true,
388
-        ),
389
-        'IBASE_READ' => array(
390
-            '7.4' => true,
391
-        ),
392
-        'IBASE_RES_CREATE' => array(
393
-            '7.4' => true,
394
-        ),
395
-        'IBASE_RES_DEACTIVATE_IDX' => array(
396
-            '7.4' => true,
397
-        ),
398
-        'IBASE_RES_NO_SHADOW' => array(
399
-            '7.4' => true,
400
-        ),
401
-        'IBASE_RES_NO_VALIDITY' => array(
402
-            '7.4' => true,
403
-        ),
404
-        'IBASE_RES_ONE_AT_A_TIME' => array(
405
-            '7.4' => true,
406
-        ),
407
-        'IBASE_RES_REPLACE' => array(
408
-            '7.4' => true,
409
-        ),
410
-        'IBASE_RES_USE_ALL_SPACE' => array(
411
-            '7.4' => true,
412
-        ),
413
-        'IBASE_RPR_CHECK_DB' => array(
414
-            '7.4' => true,
415
-        ),
416
-        'IBASE_RPR_FULL' => array(
417
-            '7.4' => true,
418
-        ),
419
-        'IBASE_RPR_IGNORE_CHECKSUM' => array(
420
-            '7.4' => true,
421
-        ),
422
-        'IBASE_RPR_KILL_SHADOWS' => array(
423
-            '7.4' => true,
424
-        ),
425
-        'IBASE_RPR_MEND_DB' => array(
426
-            '7.4' => true,
427
-        ),
428
-        'IBASE_RPR_SWEEP_DB' => array(
429
-            '7.4' => true,
430
-        ),
431
-        'IBASE_RPR_VALIDATE_DB' => array(
432
-            '7.4' => true,
433
-        ),
434
-        'IBASE_STS_DATA_PAGES' => array(
435
-            '7.4' => true,
436
-        ),
437
-        'IBASE_STS_DB_LOG' => array(
438
-            '7.4' => true,
439
-        ),
440
-        'IBASE_STS_HDR_PAGES' => array(
441
-            '7.4' => true,
442
-        ),
443
-        'IBASE_STS_IDX_PAGES' => array(
444
-            '7.4' => true,
445
-        ),
446
-        'IBASE_STS_SYS_RELATIONS' => array(
447
-            '7.4' => true,
448
-        ),
449
-        'IBASE_SVC_GET_ENV' => array(
450
-            '7.4' => true,
451
-        ),
452
-        'IBASE_SVC_GET_ENV_LOCK' => array(
453
-            '7.4' => true,
454
-        ),
455
-        'IBASE_SVC_GET_ENV_MSG' => array(
456
-            '7.4' => true,
457
-        ),
458
-        'IBASE_SVC_GET_USERS' => array(
459
-            '7.4' => true,
460
-        ),
461
-        'IBASE_SVC_IMPLEMENTATION' => array(
462
-            '7.4' => true,
463
-        ),
464
-        'IBASE_SVC_SERVER_VERSION' => array(
465
-            '7.4' => true,
466
-        ),
467
-        'IBASE_SVC_SVR_DB_INFO' => array(
468
-            '7.4' => true,
469
-        ),
470
-        'IBASE_SVC_USER_DBPATH' => array(
471
-            '7.4' => true,
472
-        ),
473
-        'IBASE_UNIXTIME' => array(
474
-            '7.4' => true,
475
-        ),
476
-        'IBASE_WAIT' => array(
477
-            '7.4' => true,
478
-        ),
479
-        'IBASE_WRITE' => array(
480
-            '7.4' => true,
481
-        ),
482
-    );
296
+		'IBASE_BKP_CONVERT' => array(
297
+			'7.4' => true,
298
+		),
299
+		'IBASE_BKP_IGNORE_CHECKSUMS' => array(
300
+			'7.4' => true,
301
+		),
302
+		'IBASE_BKP_IGNORE_LIMBO' => array(
303
+			'7.4' => true,
304
+		),
305
+		'IBASE_BKP_METADATA_ONLY' => array(
306
+			'7.4' => true,
307
+		),
308
+		'IBASE_BKP_NO_GARBAGE_COLLECT' => array(
309
+			'7.4' => true,
310
+		),
311
+		'IBASE_BKP_NON_TRANSPORTABLE' => array(
312
+			'7.4' => true,
313
+		),
314
+		'IBASE_BKP_OLD_DESCRIPTIONS' => array(
315
+			'7.4' => true,
316
+		),
317
+		'IBASE_COMMITTED' => array(
318
+			'7.4' => true,
319
+		),
320
+		'IBASE_CONCURRENCY' => array(
321
+			'7.4' => true,
322
+		),
323
+		'IBASE_CONSISTENCY' => array(
324
+			'7.4' => true,
325
+		),
326
+		'IBASE_DEFAULT' => array(
327
+			'7.4' => true,
328
+		),
329
+		'IBASE_FETCH_ARRAYS' => array(
330
+			'7.4' => true,
331
+		),
332
+		'IBASE_FETCH_BLOBS' => array(
333
+			'7.4' => true,
334
+		),
335
+		'IBASE_NOWAIT' => array(
336
+			'7.4' => true,
337
+		),
338
+		'IBASE_PRP_ACCESS_MODE' => array(
339
+			'7.4' => true,
340
+		),
341
+		'IBASE_PRP_ACTIVATE' => array(
342
+			'7.4' => true,
343
+		),
344
+		'IBASE_PRP_AM_READONLY' => array(
345
+			'7.4' => true,
346
+		),
347
+		'IBASE_PRP_AM_READWRITE' => array(
348
+			'7.4' => true,
349
+		),
350
+		'IBASE_PRP_DENY_NEW_ATTACHMENTS' => array(
351
+			'7.4' => true,
352
+		),
353
+		'IBASE_PRP_DENY_NEW_TRANSACTIONS' => array(
354
+			'7.4' => true,
355
+		),
356
+		'IBASE_PRP_DB_ONLINE' => array(
357
+			'7.4' => true,
358
+		),
359
+		'IBASE_PRP_PAGE_BUFFERS' => array(
360
+			'7.4' => true,
361
+		),
362
+		'IBASE_PRP_RES' => array(
363
+			'7.4' => true,
364
+		),
365
+		'IBASE_PRP_RES_USE_FULL' => array(
366
+			'7.4' => true,
367
+		),
368
+		'IBASE_PRP_RESERVE_SPACE' => array(
369
+			'7.4' => true,
370
+		),
371
+		'IBASE_PRP_SET_SQL_DIALECT' => array(
372
+			'7.4' => true,
373
+		),
374
+		'IBASE_PRP_SHUTDOWN_DB' => array(
375
+			'7.4' => true,
376
+		),
377
+		'IBASE_PRP_SWEEP_INTERVAL' => array(
378
+			'7.4' => true,
379
+		),
380
+		'IBASE_PRP_WM_ASYNC' => array(
381
+			'7.4' => true,
382
+		),
383
+		'IBASE_PRP_WM_SYNC' => array(
384
+			'7.4' => true,
385
+		),
386
+		'IBASE_PRP_WRITE_MODE' => array(
387
+			'7.4' => true,
388
+		),
389
+		'IBASE_READ' => array(
390
+			'7.4' => true,
391
+		),
392
+		'IBASE_RES_CREATE' => array(
393
+			'7.4' => true,
394
+		),
395
+		'IBASE_RES_DEACTIVATE_IDX' => array(
396
+			'7.4' => true,
397
+		),
398
+		'IBASE_RES_NO_SHADOW' => array(
399
+			'7.4' => true,
400
+		),
401
+		'IBASE_RES_NO_VALIDITY' => array(
402
+			'7.4' => true,
403
+		),
404
+		'IBASE_RES_ONE_AT_A_TIME' => array(
405
+			'7.4' => true,
406
+		),
407
+		'IBASE_RES_REPLACE' => array(
408
+			'7.4' => true,
409
+		),
410
+		'IBASE_RES_USE_ALL_SPACE' => array(
411
+			'7.4' => true,
412
+		),
413
+		'IBASE_RPR_CHECK_DB' => array(
414
+			'7.4' => true,
415
+		),
416
+		'IBASE_RPR_FULL' => array(
417
+			'7.4' => true,
418
+		),
419
+		'IBASE_RPR_IGNORE_CHECKSUM' => array(
420
+			'7.4' => true,
421
+		),
422
+		'IBASE_RPR_KILL_SHADOWS' => array(
423
+			'7.4' => true,
424
+		),
425
+		'IBASE_RPR_MEND_DB' => array(
426
+			'7.4' => true,
427
+		),
428
+		'IBASE_RPR_SWEEP_DB' => array(
429
+			'7.4' => true,
430
+		),
431
+		'IBASE_RPR_VALIDATE_DB' => array(
432
+			'7.4' => true,
433
+		),
434
+		'IBASE_STS_DATA_PAGES' => array(
435
+			'7.4' => true,
436
+		),
437
+		'IBASE_STS_DB_LOG' => array(
438
+			'7.4' => true,
439
+		),
440
+		'IBASE_STS_HDR_PAGES' => array(
441
+			'7.4' => true,
442
+		),
443
+		'IBASE_STS_IDX_PAGES' => array(
444
+			'7.4' => true,
445
+		),
446
+		'IBASE_STS_SYS_RELATIONS' => array(
447
+			'7.4' => true,
448
+		),
449
+		'IBASE_SVC_GET_ENV' => array(
450
+			'7.4' => true,
451
+		),
452
+		'IBASE_SVC_GET_ENV_LOCK' => array(
453
+			'7.4' => true,
454
+		),
455
+		'IBASE_SVC_GET_ENV_MSG' => array(
456
+			'7.4' => true,
457
+		),
458
+		'IBASE_SVC_GET_USERS' => array(
459
+			'7.4' => true,
460
+		),
461
+		'IBASE_SVC_IMPLEMENTATION' => array(
462
+			'7.4' => true,
463
+		),
464
+		'IBASE_SVC_SERVER_VERSION' => array(
465
+			'7.4' => true,
466
+		),
467
+		'IBASE_SVC_SVR_DB_INFO' => array(
468
+			'7.4' => true,
469
+		),
470
+		'IBASE_SVC_USER_DBPATH' => array(
471
+			'7.4' => true,
472
+		),
473
+		'IBASE_UNIXTIME' => array(
474
+			'7.4' => true,
475
+		),
476
+		'IBASE_WAIT' => array(
477
+			'7.4' => true,
478
+		),
479
+		'IBASE_WRITE' => array(
480
+			'7.4' => true,
481
+		),
482
+	);
483 483
 
484 484
 
485
-    /**
486
-     * Returns an array of tokens this test wants to listen for.
487
-     *
488
-     * @return array
489
-     */
490
-    public function register()
491
-    {
492
-        return array(\T_STRING);
493
-    }
485
+	/**
486
+	 * Returns an array of tokens this test wants to listen for.
487
+	 *
488
+	 * @return array
489
+	 */
490
+	public function register()
491
+	{
492
+		return array(\T_STRING);
493
+	}
494 494
 
495 495
 
496
-    /**
497
-     * Processes this test, when one of its tokens is encountered.
498
-     *
499
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
500
-     * @param int                   $stackPtr  The position of the current token in
501
-     *                                         the stack passed in $tokens.
502
-     *
503
-     * @return void
504
-     */
505
-    public function process(File $phpcsFile, $stackPtr)
506
-    {
507
-        $tokens       = $phpcsFile->getTokens();
508
-        $constantName = $tokens[$stackPtr]['content'];
496
+	/**
497
+	 * Processes this test, when one of its tokens is encountered.
498
+	 *
499
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
500
+	 * @param int                   $stackPtr  The position of the current token in
501
+	 *                                         the stack passed in $tokens.
502
+	 *
503
+	 * @return void
504
+	 */
505
+	public function process(File $phpcsFile, $stackPtr)
506
+	{
507
+		$tokens       = $phpcsFile->getTokens();
508
+		$constantName = $tokens[$stackPtr]['content'];
509 509
 
510
-        if (isset($this->removedConstants[$constantName]) === false) {
511
-            return;
512
-        }
510
+		if (isset($this->removedConstants[$constantName]) === false) {
511
+			return;
512
+		}
513 513
 
514
-        if ($this->isUseOfGlobalConstant($phpcsFile, $stackPtr) === false) {
515
-            return;
516
-        }
514
+		if ($this->isUseOfGlobalConstant($phpcsFile, $stackPtr) === false) {
515
+			return;
516
+		}
517 517
 
518
-        $itemInfo = array(
519
-            'name' => $constantName,
520
-        );
521
-        $this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
522
-    }
518
+		$itemInfo = array(
519
+			'name' => $constantName,
520
+		);
521
+		$this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
522
+	}
523 523
 
524 524
 
525
-    /**
526
-     * Get the relevant sub-array for a specific item from a multi-dimensional array.
527
-     *
528
-     * @param array $itemInfo Base information about the item.
529
-     *
530
-     * @return array Version and other information about the item.
531
-     */
532
-    public function getItemArray(array $itemInfo)
533
-    {
534
-        return $this->removedConstants[$itemInfo['name']];
535
-    }
525
+	/**
526
+	 * Get the relevant sub-array for a specific item from a multi-dimensional array.
527
+	 *
528
+	 * @param array $itemInfo Base information about the item.
529
+	 *
530
+	 * @return array Version and other information about the item.
531
+	 */
532
+	public function getItemArray(array $itemInfo)
533
+	{
534
+		return $this->removedConstants[$itemInfo['name']];
535
+	}
536 536
 
537 537
 
538
-    /**
539
-     * Get the error message template for this sniff.
540
-     *
541
-     * @return string
542
-     */
543
-    protected function getErrorMsgTemplate()
544
-    {
545
-        return 'The constant "%s" is ';
546
-    }
538
+	/**
539
+	 * Get the error message template for this sniff.
540
+	 *
541
+	 * @return string
542
+	 */
543
+	protected function getErrorMsgTemplate()
544
+	{
545
+		return 'The constant "%s" is ';
546
+	}
547 547
 }
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -489,7 +489,7 @@  discard block
 block discarded – undo
489 489
      */
490 490
     public function register()
491 491
     {
492
-        return array(\T_STRING);
492
+        return array( \T_STRING );
493 493
     }
494 494
 
495 495
 
@@ -502,23 +502,23 @@  discard block
 block discarded – undo
502 502
      *
503 503
      * @return void
504 504
      */
505
-    public function process(File $phpcsFile, $stackPtr)
505
+    public function process( File $phpcsFile, $stackPtr )
506 506
     {
507 507
         $tokens       = $phpcsFile->getTokens();
508
-        $constantName = $tokens[$stackPtr]['content'];
508
+        $constantName = $tokens[ $stackPtr ][ 'content' ];
509 509
 
510
-        if (isset($this->removedConstants[$constantName]) === false) {
510
+        if ( isset( $this->removedConstants[ $constantName ] ) === false ) {
511 511
             return;
512 512
         }
513 513
 
514
-        if ($this->isUseOfGlobalConstant($phpcsFile, $stackPtr) === false) {
514
+        if ( $this->isUseOfGlobalConstant( $phpcsFile, $stackPtr ) === false ) {
515 515
             return;
516 516
         }
517 517
 
518 518
         $itemInfo = array(
519 519
             'name' => $constantName,
520 520
         );
521
-        $this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
521
+        $this->handleFeature( $phpcsFile, $stackPtr, $itemInfo );
522 522
     }
523 523
 
524 524
 
@@ -529,9 +529,9 @@  discard block
 block discarded – undo
529 529
      *
530 530
      * @return array Version and other information about the item.
531 531
      */
532
-    public function getItemArray(array $itemInfo)
532
+    public function getItemArray( array $itemInfo )
533 533
     {
534
-        return $this->removedConstants[$itemInfo['name']];
534
+        return $this->removedConstants[ $itemInfo[ 'name' ] ];
535 535
     }
536 536
 
537 537
 
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   Juliette Reinders Folmer <[email protected]>
21 21
  */
22
-class RemovedConstantsSniff extends AbstractRemovedFeatureSniff
23
-{
22
+class RemovedConstantsSniff extends AbstractRemovedFeatureSniff {
24 23
 
25 24
     /**
26 25
      * A list of removed PHP Constants.
@@ -487,8 +486,7 @@  discard block
 block discarded – undo
487 486
      *
488 487
      * @return array
489 488
      */
490
-    public function register()
491
-    {
489
+    public function register() {
492 490
         return array(\T_STRING);
493 491
     }
494 492
 
@@ -502,8 +500,7 @@  discard block
 block discarded – undo
502 500
      *
503 501
      * @return void
504 502
      */
505
-    public function process(File $phpcsFile, $stackPtr)
506
-    {
503
+    public function process(File $phpcsFile, $stackPtr) {
507 504
         $tokens       = $phpcsFile->getTokens();
508 505
         $constantName = $tokens[$stackPtr]['content'];
509 506
 
@@ -529,8 +526,7 @@  discard block
 block discarded – undo
529 526
      *
530 527
      * @return array Version and other information about the item.
531 528
      */
532
-    public function getItemArray(array $itemInfo)
533
-    {
529
+    public function getItemArray(array $itemInfo) {
534 530
         return $this->removedConstants[$itemInfo['name']];
535 531
     }
536 532
 
@@ -540,8 +536,7 @@  discard block
 block discarded – undo
540 536
      *
541 537
      * @return string
542 538
      */
543
-    protected function getErrorMsgTemplate()
544
-    {
539
+    protected function getErrorMsgTemplate() {
545 540
         return 'The constant "%s" is ';
546 541
     }
547 542
 }
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.
php-compatibility/PHPCompatibility/Sniffs/Interfaces/NewInterfacesSniff.php 3 patches
Indentation   +310 added lines, -310 removed lines patch added patch discarded remove patch
@@ -23,314 +23,314 @@
 block discarded – undo
23 23
 class NewInterfacesSniff extends AbstractNewFeatureSniff
24 24
 {
25 25
 
26
-    /**
27
-     * A list of new interfaces, not present in older versions.
28
-     *
29
-     * The array lists : version number with false (not present) or true (present).
30
-     * If's sufficient to list the first version where the interface appears.
31
-     *
32
-     * @var array(string => array(string => int|string|null))
33
-     */
34
-    protected $newInterfaces = array(
35
-        'Traversable' => array(
36
-            '4.4' => false,
37
-            '5.0' => true,
38
-        ),
39
-        'Reflector' => array(
40
-            '4.4' => false,
41
-            '5.0' => true,
42
-        ),
43
-
44
-        'Countable' => array(
45
-            '5.0' => false,
46
-            '5.1' => true,
47
-        ),
48
-        'OuterIterator' => array(
49
-            '5.0' => false,
50
-            '5.1' => true,
51
-        ),
52
-        'RecursiveIterator' => array(
53
-            '5.0' => false,
54
-            '5.1' => true,
55
-        ),
56
-        'SeekableIterator' => array(
57
-            '5.0' => false,
58
-            '5.1' => true,
59
-        ),
60
-        'Serializable' => array(
61
-            '5.0' => false,
62
-            '5.1' => true,
63
-        ),
64
-        'SplObserver' => array(
65
-            '5.0' => false,
66
-            '5.1' => true,
67
-        ),
68
-        'SplSubject' => array(
69
-            '5.0' => false,
70
-            '5.1' => true,
71
-        ),
72
-
73
-        'JsonSerializable' => array(
74
-            '5.3' => false,
75
-            '5.4' => true,
76
-        ),
77
-        'SessionHandlerInterface' => array(
78
-            '5.3' => false,
79
-            '5.4' => true,
80
-        ),
81
-
82
-        'DateTimeInterface' => array(
83
-            '5.4' => false,
84
-            '5.5' => true,
85
-        ),
86
-
87
-        'SessionIdInterface' => array(
88
-            '5.5.0' => false,
89
-            '5.5.1' => true,
90
-        ),
91
-
92
-        'Throwable' => array(
93
-            '5.6' => false,
94
-            '7.0' => true,
95
-        ),
96
-        'SessionUpdateTimestampHandlerInterface' => array(
97
-            '5.6' => false,
98
-            '7.0' => true,
99
-        ),
100
-    );
101
-
102
-    /**
103
-     * A list of methods which cannot be used in combination with particular interfaces.
104
-     *
105
-     * @var array(string => array(string => string))
106
-     */
107
-    protected $unsupportedMethods = array(
108
-        'Serializable' => array(
109
-            '__sleep'  => 'http://php.net/serializable',
110
-            '__wakeup' => 'http://php.net/serializable',
111
-        ),
112
-    );
113
-
114
-    /**
115
-     * Returns an array of tokens this test wants to listen for.
116
-     *
117
-     * @return array
118
-     */
119
-    public function register()
120
-    {
121
-        // Handle case-insensitivity of interface names.
122
-        $this->newInterfaces      = $this->arrayKeysToLowercase($this->newInterfaces);
123
-        $this->unsupportedMethods = $this->arrayKeysToLowercase($this->unsupportedMethods);
124
-
125
-        $targets = array(
126
-            \T_CLASS,
127
-            \T_FUNCTION,
128
-            \T_CLOSURE,
129
-        );
130
-
131
-        if (\defined('T_ANON_CLASS')) {
132
-            $targets[] = \T_ANON_CLASS;
133
-        }
134
-
135
-        if (\defined('T_RETURN_TYPE')) {
136
-            $targets[] = \T_RETURN_TYPE;
137
-        }
138
-
139
-        return $targets;
140
-    }
141
-
142
-
143
-    /**
144
-     * Processes this test, when one of its tokens is encountered.
145
-     *
146
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
147
-     * @param int                   $stackPtr  The position of the current token in
148
-     *                                         the stack passed in $tokens.
149
-     *
150
-     * @return void
151
-     */
152
-    public function process(File $phpcsFile, $stackPtr)
153
-    {
154
-        $tokens = $phpcsFile->getTokens();
155
-
156
-        switch ($tokens[$stackPtr]['type']) {
157
-            case 'T_CLASS':
158
-            case 'T_ANON_CLASS':
159
-                $this->processClassToken($phpcsFile, $stackPtr);
160
-                break;
161
-
162
-            case 'T_FUNCTION':
163
-            case 'T_CLOSURE':
164
-                $this->processFunctionToken($phpcsFile, $stackPtr);
165
-
166
-                // Deal with older PHPCS versions which don't recognize return type hints
167
-                // as well as newer PHPCS versions (3.3.0+) where the tokenization has changed.
168
-                $returnTypeHint = $this->getReturnTypeHintToken($phpcsFile, $stackPtr);
169
-                if ($returnTypeHint !== false) {
170
-                    $this->processReturnTypeToken($phpcsFile, $returnTypeHint);
171
-                }
172
-                break;
173
-
174
-            case 'T_RETURN_TYPE':
175
-                $this->processReturnTypeToken($phpcsFile, $stackPtr);
176
-                break;
177
-
178
-            default:
179
-                // Deliberately left empty.
180
-                break;
181
-        }
182
-    }
183
-
184
-
185
-    /**
186
-     * Processes this test for when a class token is encountered.
187
-     *
188
-     * - Detect classes implementing the new interfaces.
189
-     * - Detect classes implementing the new interfaces with unsupported functions.
190
-     *
191
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
192
-     * @param int                   $stackPtr  The position of the current token in
193
-     *                                         the stack passed in $tokens.
194
-     *
195
-     * @return void
196
-     */
197
-    private function processClassToken(File $phpcsFile, $stackPtr)
198
-    {
199
-        $interfaces = PHPCSHelper::findImplementedInterfaceNames($phpcsFile, $stackPtr);
200
-
201
-        if (\is_array($interfaces) === false || $interfaces === array()) {
202
-            return;
203
-        }
204
-
205
-        $tokens       = $phpcsFile->getTokens();
206
-        $checkMethods = false;
207
-
208
-        if (isset($tokens[$stackPtr]['scope_closer'])) {
209
-            $checkMethods = true;
210
-            $scopeCloser  = $tokens[$stackPtr]['scope_closer'];
211
-        }
212
-
213
-        foreach ($interfaces as $interface) {
214
-            $interface   = ltrim($interface, '\\');
215
-            $interfaceLc = strtolower($interface);
216
-
217
-            if (isset($this->newInterfaces[$interfaceLc]) === true) {
218
-                $itemInfo = array(
219
-                    'name'   => $interface,
220
-                    'nameLc' => $interfaceLc,
221
-                );
222
-                $this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
223
-            }
224
-
225
-            if ($checkMethods === true && isset($this->unsupportedMethods[$interfaceLc]) === true) {
226
-                $nextFunc = $stackPtr;
227
-                while (($nextFunc = $phpcsFile->findNext(\T_FUNCTION, ($nextFunc + 1), $scopeCloser)) !== false) {
228
-                    $funcName   = $phpcsFile->getDeclarationName($nextFunc);
229
-                    $funcNameLc = strtolower($funcName);
230
-                    if ($funcNameLc === '') {
231
-                        continue;
232
-                    }
233
-
234
-                    if (isset($this->unsupportedMethods[$interfaceLc][$funcNameLc]) === true) {
235
-                        $error     = 'Classes that implement interface %s do not support the method %s(). See %s';
236
-                        $errorCode = $this->stringToErrorCode($interface) . 'UnsupportedMethod';
237
-                        $data      = array(
238
-                            $interface,
239
-                            $funcName,
240
-                            $this->unsupportedMethods[$interfaceLc][$funcNameLc],
241
-                        );
242
-
243
-                        $phpcsFile->addError($error, $nextFunc, $errorCode, $data);
244
-                    }
245
-                }
246
-            }
247
-        }
248
-    }
249
-
250
-
251
-    /**
252
-     * Processes this test for when a function token is encountered.
253
-     *
254
-     * - Detect new interfaces when used as a type hint.
255
-     *
256
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
257
-     * @param int                   $stackPtr  The position of the current token in
258
-     *                                         the stack passed in $tokens.
259
-     *
260
-     * @return void
261
-     */
262
-    private function processFunctionToken(File $phpcsFile, $stackPtr)
263
-    {
264
-        $typeHints = $this->getTypeHintsFromFunctionDeclaration($phpcsFile, $stackPtr);
265
-        if (empty($typeHints) || \is_array($typeHints) === false) {
266
-            return;
267
-        }
268
-
269
-        foreach ($typeHints as $hint) {
270
-
271
-            $typeHintLc = strtolower($hint);
272
-
273
-            if (isset($this->newInterfaces[$typeHintLc]) === true) {
274
-                $itemInfo = array(
275
-                    'name'   => $hint,
276
-                    'nameLc' => $typeHintLc,
277
-                );
278
-                $this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
279
-            }
280
-        }
281
-    }
282
-
283
-
284
-    /**
285
-     * Processes this test for when a return type token is encountered.
286
-     *
287
-     * - Detect new interfaces when used as a return type declaration.
288
-     *
289
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
290
-     * @param int                   $stackPtr  The position of the current token in
291
-     *                                         the stack passed in $tokens.
292
-     *
293
-     * @return void
294
-     */
295
-    private function processReturnTypeToken(File $phpcsFile, $stackPtr)
296
-    {
297
-        $returnTypeHint   = $this->getReturnTypeHintName($phpcsFile, $stackPtr);
298
-        $returnTypeHint   = ltrim($returnTypeHint, '\\');
299
-        $returnTypeHintLc = strtolower($returnTypeHint);
300
-
301
-        if (isset($this->newInterfaces[$returnTypeHintLc]) === false) {
302
-            return;
303
-        }
304
-
305
-        // Still here ? Then this is a return type declaration using a new interface.
306
-        $itemInfo = array(
307
-            'name'   => $returnTypeHint,
308
-            'nameLc' => $returnTypeHintLc,
309
-        );
310
-        $this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
311
-    }
312
-
313
-
314
-    /**
315
-     * Get the relevant sub-array for a specific item from a multi-dimensional array.
316
-     *
317
-     * @param array $itemInfo Base information about the item.
318
-     *
319
-     * @return array Version and other information about the item.
320
-     */
321
-    public function getItemArray(array $itemInfo)
322
-    {
323
-        return $this->newInterfaces[$itemInfo['nameLc']];
324
-    }
325
-
326
-
327
-    /**
328
-     * Get the error message template for this sniff.
329
-     *
330
-     * @return string
331
-     */
332
-    protected function getErrorMsgTemplate()
333
-    {
334
-        return 'The built-in interface ' . parent::getErrorMsgTemplate();
335
-    }
26
+	/**
27
+	 * A list of new interfaces, not present in older versions.
28
+	 *
29
+	 * The array lists : version number with false (not present) or true (present).
30
+	 * If's sufficient to list the first version where the interface appears.
31
+	 *
32
+	 * @var array(string => array(string => int|string|null))
33
+	 */
34
+	protected $newInterfaces = array(
35
+		'Traversable' => array(
36
+			'4.4' => false,
37
+			'5.0' => true,
38
+		),
39
+		'Reflector' => array(
40
+			'4.4' => false,
41
+			'5.0' => true,
42
+		),
43
+
44
+		'Countable' => array(
45
+			'5.0' => false,
46
+			'5.1' => true,
47
+		),
48
+		'OuterIterator' => array(
49
+			'5.0' => false,
50
+			'5.1' => true,
51
+		),
52
+		'RecursiveIterator' => array(
53
+			'5.0' => false,
54
+			'5.1' => true,
55
+		),
56
+		'SeekableIterator' => array(
57
+			'5.0' => false,
58
+			'5.1' => true,
59
+		),
60
+		'Serializable' => array(
61
+			'5.0' => false,
62
+			'5.1' => true,
63
+		),
64
+		'SplObserver' => array(
65
+			'5.0' => false,
66
+			'5.1' => true,
67
+		),
68
+		'SplSubject' => array(
69
+			'5.0' => false,
70
+			'5.1' => true,
71
+		),
72
+
73
+		'JsonSerializable' => array(
74
+			'5.3' => false,
75
+			'5.4' => true,
76
+		),
77
+		'SessionHandlerInterface' => array(
78
+			'5.3' => false,
79
+			'5.4' => true,
80
+		),
81
+
82
+		'DateTimeInterface' => array(
83
+			'5.4' => false,
84
+			'5.5' => true,
85
+		),
86
+
87
+		'SessionIdInterface' => array(
88
+			'5.5.0' => false,
89
+			'5.5.1' => true,
90
+		),
91
+
92
+		'Throwable' => array(
93
+			'5.6' => false,
94
+			'7.0' => true,
95
+		),
96
+		'SessionUpdateTimestampHandlerInterface' => array(
97
+			'5.6' => false,
98
+			'7.0' => true,
99
+		),
100
+	);
101
+
102
+	/**
103
+	 * A list of methods which cannot be used in combination with particular interfaces.
104
+	 *
105
+	 * @var array(string => array(string => string))
106
+	 */
107
+	protected $unsupportedMethods = array(
108
+		'Serializable' => array(
109
+			'__sleep'  => 'http://php.net/serializable',
110
+			'__wakeup' => 'http://php.net/serializable',
111
+		),
112
+	);
113
+
114
+	/**
115
+	 * Returns an array of tokens this test wants to listen for.
116
+	 *
117
+	 * @return array
118
+	 */
119
+	public function register()
120
+	{
121
+		// Handle case-insensitivity of interface names.
122
+		$this->newInterfaces      = $this->arrayKeysToLowercase($this->newInterfaces);
123
+		$this->unsupportedMethods = $this->arrayKeysToLowercase($this->unsupportedMethods);
124
+
125
+		$targets = array(
126
+			\T_CLASS,
127
+			\T_FUNCTION,
128
+			\T_CLOSURE,
129
+		);
130
+
131
+		if (\defined('T_ANON_CLASS')) {
132
+			$targets[] = \T_ANON_CLASS;
133
+		}
134
+
135
+		if (\defined('T_RETURN_TYPE')) {
136
+			$targets[] = \T_RETURN_TYPE;
137
+		}
138
+
139
+		return $targets;
140
+	}
141
+
142
+
143
+	/**
144
+	 * Processes this test, when one of its tokens is encountered.
145
+	 *
146
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
147
+	 * @param int                   $stackPtr  The position of the current token in
148
+	 *                                         the stack passed in $tokens.
149
+	 *
150
+	 * @return void
151
+	 */
152
+	public function process(File $phpcsFile, $stackPtr)
153
+	{
154
+		$tokens = $phpcsFile->getTokens();
155
+
156
+		switch ($tokens[$stackPtr]['type']) {
157
+			case 'T_CLASS':
158
+			case 'T_ANON_CLASS':
159
+				$this->processClassToken($phpcsFile, $stackPtr);
160
+				break;
161
+
162
+			case 'T_FUNCTION':
163
+			case 'T_CLOSURE':
164
+				$this->processFunctionToken($phpcsFile, $stackPtr);
165
+
166
+				// Deal with older PHPCS versions which don't recognize return type hints
167
+				// as well as newer PHPCS versions (3.3.0+) where the tokenization has changed.
168
+				$returnTypeHint = $this->getReturnTypeHintToken($phpcsFile, $stackPtr);
169
+				if ($returnTypeHint !== false) {
170
+					$this->processReturnTypeToken($phpcsFile, $returnTypeHint);
171
+				}
172
+				break;
173
+
174
+			case 'T_RETURN_TYPE':
175
+				$this->processReturnTypeToken($phpcsFile, $stackPtr);
176
+				break;
177
+
178
+			default:
179
+				// Deliberately left empty.
180
+				break;
181
+		}
182
+	}
183
+
184
+
185
+	/**
186
+	 * Processes this test for when a class token is encountered.
187
+	 *
188
+	 * - Detect classes implementing the new interfaces.
189
+	 * - Detect classes implementing the new interfaces with unsupported functions.
190
+	 *
191
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
192
+	 * @param int                   $stackPtr  The position of the current token in
193
+	 *                                         the stack passed in $tokens.
194
+	 *
195
+	 * @return void
196
+	 */
197
+	private function processClassToken(File $phpcsFile, $stackPtr)
198
+	{
199
+		$interfaces = PHPCSHelper::findImplementedInterfaceNames($phpcsFile, $stackPtr);
200
+
201
+		if (\is_array($interfaces) === false || $interfaces === array()) {
202
+			return;
203
+		}
204
+
205
+		$tokens       = $phpcsFile->getTokens();
206
+		$checkMethods = false;
207
+
208
+		if (isset($tokens[$stackPtr]['scope_closer'])) {
209
+			$checkMethods = true;
210
+			$scopeCloser  = $tokens[$stackPtr]['scope_closer'];
211
+		}
212
+
213
+		foreach ($interfaces as $interface) {
214
+			$interface   = ltrim($interface, '\\');
215
+			$interfaceLc = strtolower($interface);
216
+
217
+			if (isset($this->newInterfaces[$interfaceLc]) === true) {
218
+				$itemInfo = array(
219
+					'name'   => $interface,
220
+					'nameLc' => $interfaceLc,
221
+				);
222
+				$this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
223
+			}
224
+
225
+			if ($checkMethods === true && isset($this->unsupportedMethods[$interfaceLc]) === true) {
226
+				$nextFunc = $stackPtr;
227
+				while (($nextFunc = $phpcsFile->findNext(\T_FUNCTION, ($nextFunc + 1), $scopeCloser)) !== false) {
228
+					$funcName   = $phpcsFile->getDeclarationName($nextFunc);
229
+					$funcNameLc = strtolower($funcName);
230
+					if ($funcNameLc === '') {
231
+						continue;
232
+					}
233
+
234
+					if (isset($this->unsupportedMethods[$interfaceLc][$funcNameLc]) === true) {
235
+						$error     = 'Classes that implement interface %s do not support the method %s(). See %s';
236
+						$errorCode = $this->stringToErrorCode($interface) . 'UnsupportedMethod';
237
+						$data      = array(
238
+							$interface,
239
+							$funcName,
240
+							$this->unsupportedMethods[$interfaceLc][$funcNameLc],
241
+						);
242
+
243
+						$phpcsFile->addError($error, $nextFunc, $errorCode, $data);
244
+					}
245
+				}
246
+			}
247
+		}
248
+	}
249
+
250
+
251
+	/**
252
+	 * Processes this test for when a function token is encountered.
253
+	 *
254
+	 * - Detect new interfaces when used as a type hint.
255
+	 *
256
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
257
+	 * @param int                   $stackPtr  The position of the current token in
258
+	 *                                         the stack passed in $tokens.
259
+	 *
260
+	 * @return void
261
+	 */
262
+	private function processFunctionToken(File $phpcsFile, $stackPtr)
263
+	{
264
+		$typeHints = $this->getTypeHintsFromFunctionDeclaration($phpcsFile, $stackPtr);
265
+		if (empty($typeHints) || \is_array($typeHints) === false) {
266
+			return;
267
+		}
268
+
269
+		foreach ($typeHints as $hint) {
270
+
271
+			$typeHintLc = strtolower($hint);
272
+
273
+			if (isset($this->newInterfaces[$typeHintLc]) === true) {
274
+				$itemInfo = array(
275
+					'name'   => $hint,
276
+					'nameLc' => $typeHintLc,
277
+				);
278
+				$this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
279
+			}
280
+		}
281
+	}
282
+
283
+
284
+	/**
285
+	 * Processes this test for when a return type token is encountered.
286
+	 *
287
+	 * - Detect new interfaces when used as a return type declaration.
288
+	 *
289
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
290
+	 * @param int                   $stackPtr  The position of the current token in
291
+	 *                                         the stack passed in $tokens.
292
+	 *
293
+	 * @return void
294
+	 */
295
+	private function processReturnTypeToken(File $phpcsFile, $stackPtr)
296
+	{
297
+		$returnTypeHint   = $this->getReturnTypeHintName($phpcsFile, $stackPtr);
298
+		$returnTypeHint   = ltrim($returnTypeHint, '\\');
299
+		$returnTypeHintLc = strtolower($returnTypeHint);
300
+
301
+		if (isset($this->newInterfaces[$returnTypeHintLc]) === false) {
302
+			return;
303
+		}
304
+
305
+		// Still here ? Then this is a return type declaration using a new interface.
306
+		$itemInfo = array(
307
+			'name'   => $returnTypeHint,
308
+			'nameLc' => $returnTypeHintLc,
309
+		);
310
+		$this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
311
+	}
312
+
313
+
314
+	/**
315
+	 * Get the relevant sub-array for a specific item from a multi-dimensional array.
316
+	 *
317
+	 * @param array $itemInfo Base information about the item.
318
+	 *
319
+	 * @return array Version and other information about the item.
320
+	 */
321
+	public function getItemArray(array $itemInfo)
322
+	{
323
+		return $this->newInterfaces[$itemInfo['nameLc']];
324
+	}
325
+
326
+
327
+	/**
328
+	 * Get the error message template for this sniff.
329
+	 *
330
+	 * @return string
331
+	 */
332
+	protected function getErrorMsgTemplate()
333
+	{
334
+		return 'The built-in interface ' . parent::getErrorMsgTemplate();
335
+	}
336 336
 }
Please login to merge, or discard this patch.
Spacing   +48 added lines, -48 removed lines patch added patch discarded remove patch
@@ -119,8 +119,8 @@  discard block
 block discarded – undo
119 119
     public function register()
120 120
     {
121 121
         // Handle case-insensitivity of interface names.
122
-        $this->newInterfaces      = $this->arrayKeysToLowercase($this->newInterfaces);
123
-        $this->unsupportedMethods = $this->arrayKeysToLowercase($this->unsupportedMethods);
122
+        $this->newInterfaces      = $this->arrayKeysToLowercase( $this->newInterfaces );
123
+        $this->unsupportedMethods = $this->arrayKeysToLowercase( $this->unsupportedMethods );
124 124
 
125 125
         $targets = array(
126 126
             \T_CLASS,
@@ -128,12 +128,12 @@  discard block
 block discarded – undo
128 128
             \T_CLOSURE,
129 129
         );
130 130
 
131
-        if (\defined('T_ANON_CLASS')) {
132
-            $targets[] = \T_ANON_CLASS;
131
+        if ( \defined( 'T_ANON_CLASS' ) ) {
132
+            $targets[ ] = \T_ANON_CLASS;
133 133
         }
134 134
 
135
-        if (\defined('T_RETURN_TYPE')) {
136
-            $targets[] = \T_RETURN_TYPE;
135
+        if ( \defined( 'T_RETURN_TYPE' ) ) {
136
+            $targets[ ] = \T_RETURN_TYPE;
137 137
         }
138 138
 
139 139
         return $targets;
@@ -149,30 +149,30 @@  discard block
 block discarded – undo
149 149
      *
150 150
      * @return void
151 151
      */
152
-    public function process(File $phpcsFile, $stackPtr)
152
+    public function process( File $phpcsFile, $stackPtr )
153 153
     {
154 154
         $tokens = $phpcsFile->getTokens();
155 155
 
156
-        switch ($tokens[$stackPtr]['type']) {
156
+        switch ( $tokens[ $stackPtr ][ 'type' ] ) {
157 157
             case 'T_CLASS':
158 158
             case 'T_ANON_CLASS':
159
-                $this->processClassToken($phpcsFile, $stackPtr);
159
+                $this->processClassToken( $phpcsFile, $stackPtr );
160 160
                 break;
161 161
 
162 162
             case 'T_FUNCTION':
163 163
             case 'T_CLOSURE':
164
-                $this->processFunctionToken($phpcsFile, $stackPtr);
164
+                $this->processFunctionToken( $phpcsFile, $stackPtr );
165 165
 
166 166
                 // Deal with older PHPCS versions which don't recognize return type hints
167 167
                 // as well as newer PHPCS versions (3.3.0+) where the tokenization has changed.
168
-                $returnTypeHint = $this->getReturnTypeHintToken($phpcsFile, $stackPtr);
169
-                if ($returnTypeHint !== false) {
170
-                    $this->processReturnTypeToken($phpcsFile, $returnTypeHint);
168
+                $returnTypeHint = $this->getReturnTypeHintToken( $phpcsFile, $stackPtr );
169
+                if ( $returnTypeHint !== false ) {
170
+                    $this->processReturnTypeToken( $phpcsFile, $returnTypeHint );
171 171
                 }
172 172
                 break;
173 173
 
174 174
             case 'T_RETURN_TYPE':
175
-                $this->processReturnTypeToken($phpcsFile, $stackPtr);
175
+                $this->processReturnTypeToken( $phpcsFile, $stackPtr );
176 176
                 break;
177 177
 
178 178
             default:
@@ -194,53 +194,53 @@  discard block
 block discarded – undo
194 194
      *
195 195
      * @return void
196 196
      */
197
-    private function processClassToken(File $phpcsFile, $stackPtr)
197
+    private function processClassToken( File $phpcsFile, $stackPtr )
198 198
     {
199
-        $interfaces = PHPCSHelper::findImplementedInterfaceNames($phpcsFile, $stackPtr);
199
+        $interfaces = PHPCSHelper::findImplementedInterfaceNames( $phpcsFile, $stackPtr );
200 200
 
201
-        if (\is_array($interfaces) === false || $interfaces === array()) {
201
+        if ( \is_array( $interfaces ) === false || $interfaces === array() ) {
202 202
             return;
203 203
         }
204 204
 
205 205
         $tokens       = $phpcsFile->getTokens();
206 206
         $checkMethods = false;
207 207
 
208
-        if (isset($tokens[$stackPtr]['scope_closer'])) {
208
+        if ( isset( $tokens[ $stackPtr ][ 'scope_closer' ] ) ) {
209 209
             $checkMethods = true;
210
-            $scopeCloser  = $tokens[$stackPtr]['scope_closer'];
210
+            $scopeCloser  = $tokens[ $stackPtr ][ 'scope_closer' ];
211 211
         }
212 212
 
213
-        foreach ($interfaces as $interface) {
214
-            $interface   = ltrim($interface, '\\');
215
-            $interfaceLc = strtolower($interface);
213
+        foreach ( $interfaces as $interface ) {
214
+            $interface   = ltrim( $interface, '\\' );
215
+            $interfaceLc = strtolower( $interface );
216 216
 
217
-            if (isset($this->newInterfaces[$interfaceLc]) === true) {
217
+            if ( isset( $this->newInterfaces[ $interfaceLc ] ) === true ) {
218 218
                 $itemInfo = array(
219 219
                     'name'   => $interface,
220 220
                     'nameLc' => $interfaceLc,
221 221
                 );
222
-                $this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
222
+                $this->handleFeature( $phpcsFile, $stackPtr, $itemInfo );
223 223
             }
224 224
 
225
-            if ($checkMethods === true && isset($this->unsupportedMethods[$interfaceLc]) === true) {
225
+            if ( $checkMethods === true && isset( $this->unsupportedMethods[ $interfaceLc ] ) === true ) {
226 226
                 $nextFunc = $stackPtr;
227
-                while (($nextFunc = $phpcsFile->findNext(\T_FUNCTION, ($nextFunc + 1), $scopeCloser)) !== false) {
228
-                    $funcName   = $phpcsFile->getDeclarationName($nextFunc);
229
-                    $funcNameLc = strtolower($funcName);
230
-                    if ($funcNameLc === '') {
227
+                while ( ( $nextFunc = $phpcsFile->findNext( \T_FUNCTION, ( $nextFunc + 1 ), $scopeCloser ) ) !== false ) {
228
+                    $funcName   = $phpcsFile->getDeclarationName( $nextFunc );
229
+                    $funcNameLc = strtolower( $funcName );
230
+                    if ( $funcNameLc === '' ) {
231 231
                         continue;
232 232
                     }
233 233
 
234
-                    if (isset($this->unsupportedMethods[$interfaceLc][$funcNameLc]) === true) {
234
+                    if ( isset( $this->unsupportedMethods[ $interfaceLc ][ $funcNameLc ] ) === true ) {
235 235
                         $error     = 'Classes that implement interface %s do not support the method %s(). See %s';
236
-                        $errorCode = $this->stringToErrorCode($interface) . 'UnsupportedMethod';
236
+                        $errorCode = $this->stringToErrorCode( $interface ) . 'UnsupportedMethod';
237 237
                         $data      = array(
238 238
                             $interface,
239 239
                             $funcName,
240
-                            $this->unsupportedMethods[$interfaceLc][$funcNameLc],
240
+                            $this->unsupportedMethods[ $interfaceLc ][ $funcNameLc ],
241 241
                         );
242 242
 
243
-                        $phpcsFile->addError($error, $nextFunc, $errorCode, $data);
243
+                        $phpcsFile->addError( $error, $nextFunc, $errorCode, $data );
244 244
                     }
245 245
                 }
246 246
             }
@@ -259,23 +259,23 @@  discard block
 block discarded – undo
259 259
      *
260 260
      * @return void
261 261
      */
262
-    private function processFunctionToken(File $phpcsFile, $stackPtr)
262
+    private function processFunctionToken( File $phpcsFile, $stackPtr )
263 263
     {
264
-        $typeHints = $this->getTypeHintsFromFunctionDeclaration($phpcsFile, $stackPtr);
265
-        if (empty($typeHints) || \is_array($typeHints) === false) {
264
+        $typeHints = $this->getTypeHintsFromFunctionDeclaration( $phpcsFile, $stackPtr );
265
+        if ( empty( $typeHints ) || \is_array( $typeHints ) === false ) {
266 266
             return;
267 267
         }
268 268
 
269
-        foreach ($typeHints as $hint) {
269
+        foreach ( $typeHints as $hint ) {
270 270
 
271
-            $typeHintLc = strtolower($hint);
271
+            $typeHintLc = strtolower( $hint );
272 272
 
273
-            if (isset($this->newInterfaces[$typeHintLc]) === true) {
273
+            if ( isset( $this->newInterfaces[ $typeHintLc ] ) === true ) {
274 274
                 $itemInfo = array(
275 275
                     'name'   => $hint,
276 276
                     'nameLc' => $typeHintLc,
277 277
                 );
278
-                $this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
278
+                $this->handleFeature( $phpcsFile, $stackPtr, $itemInfo );
279 279
             }
280 280
         }
281 281
     }
@@ -292,13 +292,13 @@  discard block
 block discarded – undo
292 292
      *
293 293
      * @return void
294 294
      */
295
-    private function processReturnTypeToken(File $phpcsFile, $stackPtr)
295
+    private function processReturnTypeToken( File $phpcsFile, $stackPtr )
296 296
     {
297
-        $returnTypeHint   = $this->getReturnTypeHintName($phpcsFile, $stackPtr);
298
-        $returnTypeHint   = ltrim($returnTypeHint, '\\');
299
-        $returnTypeHintLc = strtolower($returnTypeHint);
297
+        $returnTypeHint   = $this->getReturnTypeHintName( $phpcsFile, $stackPtr );
298
+        $returnTypeHint   = ltrim( $returnTypeHint, '\\' );
299
+        $returnTypeHintLc = strtolower( $returnTypeHint );
300 300
 
301
-        if (isset($this->newInterfaces[$returnTypeHintLc]) === false) {
301
+        if ( isset( $this->newInterfaces[ $returnTypeHintLc ] ) === false ) {
302 302
             return;
303 303
         }
304 304
 
@@ -307,7 +307,7 @@  discard block
 block discarded – undo
307 307
             'name'   => $returnTypeHint,
308 308
             'nameLc' => $returnTypeHintLc,
309 309
         );
310
-        $this->handleFeature($phpcsFile, $stackPtr, $itemInfo);
310
+        $this->handleFeature( $phpcsFile, $stackPtr, $itemInfo );
311 311
     }
312 312
 
313 313
 
@@ -318,9 +318,9 @@  discard block
 block discarded – undo
318 318
      *
319 319
      * @return array Version and other information about the item.
320 320
      */
321
-    public function getItemArray(array $itemInfo)
321
+    public function getItemArray( array $itemInfo )
322 322
     {
323
-        return $this->newInterfaces[$itemInfo['nameLc']];
323
+        return $this->newInterfaces[ $itemInfo[ 'nameLc' ] ];
324 324
     }
325 325
 
326 326
 
Please login to merge, or discard this patch.
Braces   +8 added lines, -16 removed lines patch added patch discarded remove patch
@@ -20,8 +20,7 @@  discard block
 block discarded – undo
20 20
  * @package  PHPCompatibility
21 21
  * @author   Juliette Reinders Folmer <[email protected]>
22 22
  */
23
-class NewInterfacesSniff extends AbstractNewFeatureSniff
24
-{
23
+class NewInterfacesSniff extends AbstractNewFeatureSniff {
25 24
 
26 25
     /**
27 26
      * A list of new interfaces, not present in older versions.
@@ -116,8 +115,7 @@  discard block
 block discarded – undo
116 115
      *
117 116
      * @return array
118 117
      */
119
-    public function register()
120
-    {
118
+    public function register() {
121 119
         // Handle case-insensitivity of interface names.
122 120
         $this->newInterfaces      = $this->arrayKeysToLowercase($this->newInterfaces);
123 121
         $this->unsupportedMethods = $this->arrayKeysToLowercase($this->unsupportedMethods);
@@ -149,8 +147,7 @@  discard block
 block discarded – undo
149 147
      *
150 148
      * @return void
151 149
      */
152
-    public function process(File $phpcsFile, $stackPtr)
153
-    {
150
+    public function process(File $phpcsFile, $stackPtr) {
154 151
         $tokens = $phpcsFile->getTokens();
155 152
 
156 153
         switch ($tokens[$stackPtr]['type']) {
@@ -194,8 +191,7 @@  discard block
 block discarded – undo
194 191
      *
195 192
      * @return void
196 193
      */
197
-    private function processClassToken(File $phpcsFile, $stackPtr)
198
-    {
194
+    private function processClassToken(File $phpcsFile, $stackPtr) {
199 195
         $interfaces = PHPCSHelper::findImplementedInterfaceNames($phpcsFile, $stackPtr);
200 196
 
201 197
         if (\is_array($interfaces) === false || $interfaces === array()) {
@@ -259,8 +255,7 @@  discard block
 block discarded – undo
259 255
      *
260 256
      * @return void
261 257
      */
262
-    private function processFunctionToken(File $phpcsFile, $stackPtr)
263
-    {
258
+    private function processFunctionToken(File $phpcsFile, $stackPtr) {
264 259
         $typeHints = $this->getTypeHintsFromFunctionDeclaration($phpcsFile, $stackPtr);
265 260
         if (empty($typeHints) || \is_array($typeHints) === false) {
266 261
             return;
@@ -292,8 +287,7 @@  discard block
 block discarded – undo
292 287
      *
293 288
      * @return void
294 289
      */
295
-    private function processReturnTypeToken(File $phpcsFile, $stackPtr)
296
-    {
290
+    private function processReturnTypeToken(File $phpcsFile, $stackPtr) {
297 291
         $returnTypeHint   = $this->getReturnTypeHintName($phpcsFile, $stackPtr);
298 292
         $returnTypeHint   = ltrim($returnTypeHint, '\\');
299 293
         $returnTypeHintLc = strtolower($returnTypeHint);
@@ -318,8 +312,7 @@  discard block
 block discarded – undo
318 312
      *
319 313
      * @return array Version and other information about the item.
320 314
      */
321
-    public function getItemArray(array $itemInfo)
322
-    {
315
+    public function getItemArray(array $itemInfo) {
323 316
         return $this->newInterfaces[$itemInfo['nameLc']];
324 317
     }
325 318
 
@@ -329,8 +322,7 @@  discard block
 block discarded – undo
329 322
      *
330 323
      * @return string
331 324
      */
332
-    protected function getErrorMsgTemplate()
333
-    {
325
+    protected function getErrorMsgTemplate() {
334 326
         return 'The built-in interface ' . parent::getErrorMsgTemplate();
335 327
     }
336 328
 }
Please login to merge, or discard this patch.
PHPCompatibility/Sniffs/Interfaces/InternalInterfacesSniff.php 3 patches
Indentation   +56 added lines, -56 removed lines patch added patch discarded remove patch
@@ -23,70 +23,70 @@
 block discarded – undo
23 23
 class InternalInterfacesSniff extends Sniff
24 24
 {
25 25
 
26
-    /**
27
-     * A list of PHP internal interfaces, not intended to be implemented by userland classes.
28
-     *
29
-     * The array lists : the error message to use.
30
-     *
31
-     * @var array(string => string)
32
-     */
33
-    protected $internalInterfaces = array(
34
-        'Traversable'       => 'shouldn\'t be implemented directly, implement the Iterator or IteratorAggregate interface instead.',
35
-        'DateTimeInterface' => 'is intended for type hints only and is not implementable.',
36
-        'Throwable'         => 'cannot be implemented directly, extend the Exception class instead.',
37
-    );
26
+	/**
27
+	 * A list of PHP internal interfaces, not intended to be implemented by userland classes.
28
+	 *
29
+	 * The array lists : the error message to use.
30
+	 *
31
+	 * @var array(string => string)
32
+	 */
33
+	protected $internalInterfaces = array(
34
+		'Traversable'       => 'shouldn\'t be implemented directly, implement the Iterator or IteratorAggregate interface instead.',
35
+		'DateTimeInterface' => 'is intended for type hints only and is not implementable.',
36
+		'Throwable'         => 'cannot be implemented directly, extend the Exception class instead.',
37
+	);
38 38
 
39 39
 
40
-    /**
41
-     * Returns an array of tokens this test wants to listen for.
42
-     *
43
-     * @return array
44
-     */
45
-    public function register()
46
-    {
47
-        // Handle case-insensitivity of interface names.
48
-        $this->internalInterfaces = $this->arrayKeysToLowercase($this->internalInterfaces);
40
+	/**
41
+	 * Returns an array of tokens this test wants to listen for.
42
+	 *
43
+	 * @return array
44
+	 */
45
+	public function register()
46
+	{
47
+		// Handle case-insensitivity of interface names.
48
+		$this->internalInterfaces = $this->arrayKeysToLowercase($this->internalInterfaces);
49 49
 
50
-        $targets = array(\T_CLASS);
50
+		$targets = array(\T_CLASS);
51 51
 
52
-        if (\defined('T_ANON_CLASS')) {
53
-            $targets[] = \T_ANON_CLASS;
54
-        }
52
+		if (\defined('T_ANON_CLASS')) {
53
+			$targets[] = \T_ANON_CLASS;
54
+		}
55 55
 
56
-        return $targets;
57
-    }
56
+		return $targets;
57
+	}
58 58
 
59 59
 
60
-    /**
61
-     * Processes this test, when one of its tokens is encountered.
62
-     *
63
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
64
-     * @param int                   $stackPtr  The position of the current token in
65
-     *                                         the stack passed in $tokens.
66
-     *
67
-     * @return void
68
-     */
69
-    public function process(File $phpcsFile, $stackPtr)
70
-    {
71
-        $interfaces = PHPCSHelper::findImplementedInterfaceNames($phpcsFile, $stackPtr);
60
+	/**
61
+	 * Processes this test, when one of its tokens is encountered.
62
+	 *
63
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
64
+	 * @param int                   $stackPtr  The position of the current token in
65
+	 *                                         the stack passed in $tokens.
66
+	 *
67
+	 * @return void
68
+	 */
69
+	public function process(File $phpcsFile, $stackPtr)
70
+	{
71
+		$interfaces = PHPCSHelper::findImplementedInterfaceNames($phpcsFile, $stackPtr);
72 72
 
73
-        if (\is_array($interfaces) === false || $interfaces === array()) {
74
-            return;
75
-        }
73
+		if (\is_array($interfaces) === false || $interfaces === array()) {
74
+			return;
75
+		}
76 76
 
77
-        foreach ($interfaces as $interface) {
78
-            $interface   = ltrim($interface, '\\');
79
-            $interfaceLc = strtolower($interface);
80
-            if (isset($this->internalInterfaces[$interfaceLc]) === true) {
81
-                $error     = 'The interface %s %s';
82
-                $errorCode = $this->stringToErrorCode($interfaceLc) . 'Found';
83
-                $data      = array(
84
-                    $interface,
85
-                    $this->internalInterfaces[$interfaceLc],
86
-                );
77
+		foreach ($interfaces as $interface) {
78
+			$interface   = ltrim($interface, '\\');
79
+			$interfaceLc = strtolower($interface);
80
+			if (isset($this->internalInterfaces[$interfaceLc]) === true) {
81
+				$error     = 'The interface %s %s';
82
+				$errorCode = $this->stringToErrorCode($interfaceLc) . 'Found';
83
+				$data      = array(
84
+					$interface,
85
+					$this->internalInterfaces[$interfaceLc],
86
+				);
87 87
 
88
-                $phpcsFile->addError($error, $stackPtr, $errorCode, $data);
89
-            }
90
-        }
91
-    }
88
+				$phpcsFile->addError($error, $stackPtr, $errorCode, $data);
89
+			}
90
+		}
91
+	}
92 92
 }
Please login to merge, or discard this patch.
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -45,12 +45,12 @@  discard block
 block discarded – undo
45 45
     public function register()
46 46
     {
47 47
         // Handle case-insensitivity of interface names.
48
-        $this->internalInterfaces = $this->arrayKeysToLowercase($this->internalInterfaces);
48
+        $this->internalInterfaces = $this->arrayKeysToLowercase( $this->internalInterfaces );
49 49
 
50
-        $targets = array(\T_CLASS);
50
+        $targets = array( \T_CLASS );
51 51
 
52
-        if (\defined('T_ANON_CLASS')) {
53
-            $targets[] = \T_ANON_CLASS;
52
+        if ( \defined( 'T_ANON_CLASS' ) ) {
53
+            $targets[ ] = \T_ANON_CLASS;
54 54
         }
55 55
 
56 56
         return $targets;
@@ -66,26 +66,26 @@  discard block
 block discarded – undo
66 66
      *
67 67
      * @return void
68 68
      */
69
-    public function process(File $phpcsFile, $stackPtr)
69
+    public function process( File $phpcsFile, $stackPtr )
70 70
     {
71
-        $interfaces = PHPCSHelper::findImplementedInterfaceNames($phpcsFile, $stackPtr);
71
+        $interfaces = PHPCSHelper::findImplementedInterfaceNames( $phpcsFile, $stackPtr );
72 72
 
73
-        if (\is_array($interfaces) === false || $interfaces === array()) {
73
+        if ( \is_array( $interfaces ) === false || $interfaces === array() ) {
74 74
             return;
75 75
         }
76 76
 
77
-        foreach ($interfaces as $interface) {
78
-            $interface   = ltrim($interface, '\\');
79
-            $interfaceLc = strtolower($interface);
80
-            if (isset($this->internalInterfaces[$interfaceLc]) === true) {
77
+        foreach ( $interfaces as $interface ) {
78
+            $interface   = ltrim( $interface, '\\' );
79
+            $interfaceLc = strtolower( $interface );
80
+            if ( isset( $this->internalInterfaces[ $interfaceLc ] ) === true ) {
81 81
                 $error     = 'The interface %s %s';
82
-                $errorCode = $this->stringToErrorCode($interfaceLc) . 'Found';
82
+                $errorCode = $this->stringToErrorCode( $interfaceLc ) . 'Found';
83 83
                 $data      = array(
84 84
                     $interface,
85
-                    $this->internalInterfaces[$interfaceLc],
85
+                    $this->internalInterfaces[ $interfaceLc ],
86 86
                 );
87 87
 
88
-                $phpcsFile->addError($error, $stackPtr, $errorCode, $data);
88
+                $phpcsFile->addError( $error, $stackPtr, $errorCode, $data );
89 89
             }
90 90
         }
91 91
     }
Please login to merge, or discard this patch.
Braces   +3 added lines, -6 removed lines patch added patch discarded remove patch
@@ -20,8 +20,7 @@  discard block
 block discarded – undo
20 20
  * @package  PHPCompatibility
21 21
  * @author   Juliette Reinders Folmer <[email protected]>
22 22
  */
23
-class InternalInterfacesSniff extends Sniff
24
-{
23
+class InternalInterfacesSniff extends Sniff {
25 24
 
26 25
     /**
27 26
      * A list of PHP internal interfaces, not intended to be implemented by userland classes.
@@ -42,8 +41,7 @@  discard block
 block discarded – undo
42 41
      *
43 42
      * @return array
44 43
      */
45
-    public function register()
46
-    {
44
+    public function register() {
47 45
         // Handle case-insensitivity of interface names.
48 46
         $this->internalInterfaces = $this->arrayKeysToLowercase($this->internalInterfaces);
49 47
 
@@ -66,8 +64,7 @@  discard block
 block discarded – undo
66 64
      *
67 65
      * @return void
68 66
      */
69
-    public function process(File $phpcsFile, $stackPtr)
70
-    {
67
+    public function process(File $phpcsFile, $stackPtr) {
71 68
         $interfaces = PHPCSHelper::findImplementedInterfaceNames($phpcsFile, $stackPtr);
72 69
 
73 70
         if (\is_array($interfaces) === false || $interfaces === array()) {
Please login to merge, or discard this patch.
PHPCompatibility/Sniffs/Miscellaneous/ValidIntegersSniff.php 4 patches
Indentation   +195 added lines, -195 removed lines patch added patch discarded remove patch
@@ -22,199 +22,199 @@
 block discarded – undo
22 22
 class ValidIntegersSniff extends Sniff
23 23
 {
24 24
 
25
-    /**
26
-     * Whether PHPCS is run on a PHP < 5.4.
27
-     *
28
-     * @var bool
29
-     */
30
-    protected $isLowPHPVersion = false;
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
-        $this->isLowPHPVersion = version_compare(\PHP_VERSION_ID, '50400', '<');
40
-
41
-        return array(
42
-            \T_LNUMBER, // Binary, octal integers.
43
-            \T_CONSTANT_ENCAPSED_STRING, // Hex numeric string.
44
-        );
45
-    }
46
-
47
-
48
-    /**
49
-     * Processes this test, when one of its tokens is encountered.
50
-     *
51
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
52
-     * @param int                   $stackPtr  The position of the current token in
53
-     *                                         the stack.
54
-     *
55
-     * @return void
56
-     */
57
-    public function process(File $phpcsFile, $stackPtr)
58
-    {
59
-        $tokens = $phpcsFile->getTokens();
60
-        $token  = $tokens[$stackPtr];
61
-
62
-        if ($this->couldBeBinaryInteger($tokens, $stackPtr) === true) {
63
-            if ($this->supportsBelow('5.3')) {
64
-                $error = 'Binary integer literals were not present in PHP version 5.3 or earlier. Found: %s';
65
-                if ($this->isLowPHPVersion === false) {
66
-                    $data = array($token['content']);
67
-                } else {
68
-                    $data = array($this->getBinaryInteger($phpcsFile, $tokens, $stackPtr));
69
-                }
70
-                $phpcsFile->addError($error, $stackPtr, 'BinaryIntegerFound', $data);
71
-            }
72
-
73
-            if ($this->isInvalidBinaryInteger($tokens, $stackPtr) === true) {
74
-                $error = 'Invalid binary integer detected. Found: %s';
75
-                $data  = array($this->getBinaryInteger($phpcsFile, $tokens, $stackPtr));
76
-                $phpcsFile->addWarning($error, $stackPtr, 'InvalidBinaryIntegerFound', $data);
77
-            }
78
-            return;
79
-        }
80
-
81
-        $isError = $this->supportsAbove('7.0');
82
-        $data    = array( $token['content'] );
83
-
84
-        if ($this->isInvalidOctalInteger($tokens, $stackPtr) === true) {
85
-            $this->addMessage(
86
-                $phpcsFile,
87
-                'Invalid octal integer detected. Prior to PHP 7 this would lead to a truncated number. From PHP 7 onwards this causes a parse error. Found: %s',
88
-                $stackPtr,
89
-                $isError,
90
-                'InvalidOctalIntegerFound',
91
-                $data
92
-            );
93
-            return;
94
-        }
95
-
96
-        if ($this->isHexidecimalNumericString($tokens, $stackPtr) === true) {
97
-            $this->addMessage(
98
-                $phpcsFile,
99
-                'The behaviour of hexadecimal numeric strings was inconsistent prior to PHP 7 and support has been removed in PHP 7. Found: %s',
100
-                $stackPtr,
101
-                $isError,
102
-                'HexNumericStringFound',
103
-                $data
104
-            );
105
-            return;
106
-        }
107
-    }
108
-
109
-
110
-    /**
111
-     * Could the current token an potentially be a binary integer ?
112
-     *
113
-     * @param array $tokens   Token stack.
114
-     * @param int   $stackPtr The current position in the token stack.
115
-     *
116
-     * @return bool
117
-     */
118
-    private function couldBeBinaryInteger($tokens, $stackPtr)
119
-    {
120
-        $token = $tokens[$stackPtr];
121
-
122
-        if ($token['code'] !== \T_LNUMBER) {
123
-            return false;
124
-        }
125
-
126
-        if ($this->isLowPHPVersion === false) {
127
-            return (preg_match('`^0b[0-1]+$`D', $token['content']) === 1);
128
-        }
129
-        // Pre-5.4, binary strings are tokenized as T_LNUMBER (0) + T_STRING ("b01010101").
130
-        // At this point, we don't yet care whether it's a valid binary int, that's a separate check.
131
-        else {
132
-            return($token['content'] === '0' && $tokens[$stackPtr + 1]['code'] === \T_STRING && preg_match('`^b[0-9]+$`D', $tokens[$stackPtr + 1]['content']) === 1);
133
-        }
134
-    }
135
-
136
-    /**
137
-     * Is the current token an invalid binary integer ?
138
-     *
139
-     * @param array $tokens   Token stack.
140
-     * @param int   $stackPtr The current position in the token stack.
141
-     *
142
-     * @return bool
143
-     */
144
-    private function isInvalidBinaryInteger($tokens, $stackPtr)
145
-    {
146
-        if ($this->couldBeBinaryInteger($tokens, $stackPtr) === false) {
147
-            return false;
148
-        }
149
-
150
-        if ($this->isLowPHPVersion === false) {
151
-            // If it's an invalid binary int, the token will be split into two T_LNUMBER tokens.
152
-            return ($tokens[$stackPtr + 1]['code'] === \T_LNUMBER);
153
-        } else {
154
-            return (preg_match('`^b[0-1]+$`D', $tokens[$stackPtr + 1]['content']) === 0);
155
-        }
156
-    }
157
-
158
-    /**
159
-     * Retrieve the content of the tokens which together look like a binary integer.
160
-     *
161
-     * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
162
-     * @param array                 $tokens    Token stack.
163
-     * @param int                   $stackPtr  The position of the current token in
164
-     *                                         the stack.
165
-     *
166
-     * @return string
167
-     */
168
-    private function getBinaryInteger(File $phpcsFile, $tokens, $stackPtr)
169
-    {
170
-        $length = 2; // PHP < 5.4 T_LNUMBER + T_STRING.
171
-
172
-        if ($this->isLowPHPVersion === false) {
173
-            $i = $stackPtr;
174
-            while ($tokens[$i]['code'] === \T_LNUMBER) {
175
-                $i++;
176
-            }
177
-            $length = ($i - $stackPtr);
178
-        }
179
-
180
-        return $phpcsFile->getTokensAsString($stackPtr, $length);
181
-    }
182
-
183
-    /**
184
-     * Is the current token an invalid octal integer ?
185
-     *
186
-     * @param array $tokens   Token stack.
187
-     * @param int   $stackPtr The current position in the token stack.
188
-     *
189
-     * @return bool
190
-     */
191
-    private function isInvalidOctalInteger($tokens, $stackPtr)
192
-    {
193
-        $token = $tokens[$stackPtr];
194
-
195
-        if ($token['code'] === \T_LNUMBER && preg_match('`^0[0-7]*[8-9]+[0-9]*$`D', $token['content']) === 1) {
196
-            return true;
197
-        }
198
-
199
-        return false;
200
-    }
201
-
202
-    /**
203
-     * Is the current token a hexidecimal numeric string ?
204
-     *
205
-     * @param array $tokens   Token stack.
206
-     * @param int   $stackPtr The current position in the token stack.
207
-     *
208
-     * @return bool
209
-     */
210
-    private function isHexidecimalNumericString($tokens, $stackPtr)
211
-    {
212
-        $token = $tokens[$stackPtr];
213
-
214
-        if ($token['code'] === \T_CONSTANT_ENCAPSED_STRING && preg_match('`^0x[a-f0-9]+$`iD', $this->stripQuotes($token['content'])) === 1) {
215
-            return true;
216
-        }
217
-
218
-        return false;
219
-    }
25
+	/**
26
+	 * Whether PHPCS is run on a PHP < 5.4.
27
+	 *
28
+	 * @var bool
29
+	 */
30
+	protected $isLowPHPVersion = false;
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
+		$this->isLowPHPVersion = version_compare(\PHP_VERSION_ID, '50400', '<');
40
+
41
+		return array(
42
+			\T_LNUMBER, // Binary, octal integers.
43
+			\T_CONSTANT_ENCAPSED_STRING, // Hex numeric string.
44
+		);
45
+	}
46
+
47
+
48
+	/**
49
+	 * Processes this test, when one of its tokens is encountered.
50
+	 *
51
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
52
+	 * @param int                   $stackPtr  The position of the current token in
53
+	 *                                         the stack.
54
+	 *
55
+	 * @return void
56
+	 */
57
+	public function process(File $phpcsFile, $stackPtr)
58
+	{
59
+		$tokens = $phpcsFile->getTokens();
60
+		$token  = $tokens[$stackPtr];
61
+
62
+		if ($this->couldBeBinaryInteger($tokens, $stackPtr) === true) {
63
+			if ($this->supportsBelow('5.3')) {
64
+				$error = 'Binary integer literals were not present in PHP version 5.3 or earlier. Found: %s';
65
+				if ($this->isLowPHPVersion === false) {
66
+					$data = array($token['content']);
67
+				} else {
68
+					$data = array($this->getBinaryInteger($phpcsFile, $tokens, $stackPtr));
69
+				}
70
+				$phpcsFile->addError($error, $stackPtr, 'BinaryIntegerFound', $data);
71
+			}
72
+
73
+			if ($this->isInvalidBinaryInteger($tokens, $stackPtr) === true) {
74
+				$error = 'Invalid binary integer detected. Found: %s';
75
+				$data  = array($this->getBinaryInteger($phpcsFile, $tokens, $stackPtr));
76
+				$phpcsFile->addWarning($error, $stackPtr, 'InvalidBinaryIntegerFound', $data);
77
+			}
78
+			return;
79
+		}
80
+
81
+		$isError = $this->supportsAbove('7.0');
82
+		$data    = array( $token['content'] );
83
+
84
+		if ($this->isInvalidOctalInteger($tokens, $stackPtr) === true) {
85
+			$this->addMessage(
86
+				$phpcsFile,
87
+				'Invalid octal integer detected. Prior to PHP 7 this would lead to a truncated number. From PHP 7 onwards this causes a parse error. Found: %s',
88
+				$stackPtr,
89
+				$isError,
90
+				'InvalidOctalIntegerFound',
91
+				$data
92
+			);
93
+			return;
94
+		}
95
+
96
+		if ($this->isHexidecimalNumericString($tokens, $stackPtr) === true) {
97
+			$this->addMessage(
98
+				$phpcsFile,
99
+				'The behaviour of hexadecimal numeric strings was inconsistent prior to PHP 7 and support has been removed in PHP 7. Found: %s',
100
+				$stackPtr,
101
+				$isError,
102
+				'HexNumericStringFound',
103
+				$data
104
+			);
105
+			return;
106
+		}
107
+	}
108
+
109
+
110
+	/**
111
+	 * Could the current token an potentially be a binary integer ?
112
+	 *
113
+	 * @param array $tokens   Token stack.
114
+	 * @param int   $stackPtr The current position in the token stack.
115
+	 *
116
+	 * @return bool
117
+	 */
118
+	private function couldBeBinaryInteger($tokens, $stackPtr)
119
+	{
120
+		$token = $tokens[$stackPtr];
121
+
122
+		if ($token['code'] !== \T_LNUMBER) {
123
+			return false;
124
+		}
125
+
126
+		if ($this->isLowPHPVersion === false) {
127
+			return (preg_match('`^0b[0-1]+$`D', $token['content']) === 1);
128
+		}
129
+		// Pre-5.4, binary strings are tokenized as T_LNUMBER (0) + T_STRING ("b01010101").
130
+		// At this point, we don't yet care whether it's a valid binary int, that's a separate check.
131
+		else {
132
+			return($token['content'] === '0' && $tokens[$stackPtr + 1]['code'] === \T_STRING && preg_match('`^b[0-9]+$`D', $tokens[$stackPtr + 1]['content']) === 1);
133
+		}
134
+	}
135
+
136
+	/**
137
+	 * Is the current token an invalid binary integer ?
138
+	 *
139
+	 * @param array $tokens   Token stack.
140
+	 * @param int   $stackPtr The current position in the token stack.
141
+	 *
142
+	 * @return bool
143
+	 */
144
+	private function isInvalidBinaryInteger($tokens, $stackPtr)
145
+	{
146
+		if ($this->couldBeBinaryInteger($tokens, $stackPtr) === false) {
147
+			return false;
148
+		}
149
+
150
+		if ($this->isLowPHPVersion === false) {
151
+			// If it's an invalid binary int, the token will be split into two T_LNUMBER tokens.
152
+			return ($tokens[$stackPtr + 1]['code'] === \T_LNUMBER);
153
+		} else {
154
+			return (preg_match('`^b[0-1]+$`D', $tokens[$stackPtr + 1]['content']) === 0);
155
+		}
156
+	}
157
+
158
+	/**
159
+	 * Retrieve the content of the tokens which together look like a binary integer.
160
+	 *
161
+	 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
162
+	 * @param array                 $tokens    Token stack.
163
+	 * @param int                   $stackPtr  The position of the current token in
164
+	 *                                         the stack.
165
+	 *
166
+	 * @return string
167
+	 */
168
+	private function getBinaryInteger(File $phpcsFile, $tokens, $stackPtr)
169
+	{
170
+		$length = 2; // PHP < 5.4 T_LNUMBER + T_STRING.
171
+
172
+		if ($this->isLowPHPVersion === false) {
173
+			$i = $stackPtr;
174
+			while ($tokens[$i]['code'] === \T_LNUMBER) {
175
+				$i++;
176
+			}
177
+			$length = ($i - $stackPtr);
178
+		}
179
+
180
+		return $phpcsFile->getTokensAsString($stackPtr, $length);
181
+	}
182
+
183
+	/**
184
+	 * Is the current token an invalid octal integer ?
185
+	 *
186
+	 * @param array $tokens   Token stack.
187
+	 * @param int   $stackPtr The current position in the token stack.
188
+	 *
189
+	 * @return bool
190
+	 */
191
+	private function isInvalidOctalInteger($tokens, $stackPtr)
192
+	{
193
+		$token = $tokens[$stackPtr];
194
+
195
+		if ($token['code'] === \T_LNUMBER && preg_match('`^0[0-7]*[8-9]+[0-9]*$`D', $token['content']) === 1) {
196
+			return true;
197
+		}
198
+
199
+		return false;
200
+	}
201
+
202
+	/**
203
+	 * Is the current token a hexidecimal numeric string ?
204
+	 *
205
+	 * @param array $tokens   Token stack.
206
+	 * @param int   $stackPtr The current position in the token stack.
207
+	 *
208
+	 * @return bool
209
+	 */
210
+	private function isHexidecimalNumericString($tokens, $stackPtr)
211
+	{
212
+		$token = $tokens[$stackPtr];
213
+
214
+		if ($token['code'] === \T_CONSTANT_ENCAPSED_STRING && preg_match('`^0x[a-f0-9]+$`iD', $this->stripQuotes($token['content'])) === 1) {
215
+			return true;
216
+		}
217
+
218
+		return false;
219
+	}
220 220
 }
Please login to merge, or discard this patch.
Spacing   +38 added lines, -38 removed lines patch added patch discarded remove patch
@@ -36,7 +36,7 @@  discard block
 block discarded – undo
36 36
      */
37 37
     public function register()
38 38
     {
39
-        $this->isLowPHPVersion = version_compare(\PHP_VERSION_ID, '50400', '<');
39
+        $this->isLowPHPVersion = version_compare( \PHP_VERSION_ID, '50400', '<' );
40 40
 
41 41
         return array(
42 42
             \T_LNUMBER, // Binary, octal integers.
@@ -54,34 +54,34 @@  discard block
 block discarded – undo
54 54
      *
55 55
      * @return void
56 56
      */
57
-    public function process(File $phpcsFile, $stackPtr)
57
+    public function process( File $phpcsFile, $stackPtr )
58 58
     {
59 59
         $tokens = $phpcsFile->getTokens();
60
-        $token  = $tokens[$stackPtr];
60
+        $token  = $tokens[ $stackPtr ];
61 61
 
62
-        if ($this->couldBeBinaryInteger($tokens, $stackPtr) === true) {
63
-            if ($this->supportsBelow('5.3')) {
62
+        if ( $this->couldBeBinaryInteger( $tokens, $stackPtr ) === true ) {
63
+            if ( $this->supportsBelow( '5.3' ) ) {
64 64
                 $error = 'Binary integer literals were not present in PHP version 5.3 or earlier. Found: %s';
65
-                if ($this->isLowPHPVersion === false) {
66
-                    $data = array($token['content']);
65
+                if ( $this->isLowPHPVersion === false ) {
66
+                    $data = array( $token[ 'content' ] );
67 67
                 } else {
68
-                    $data = array($this->getBinaryInteger($phpcsFile, $tokens, $stackPtr));
68
+                    $data = array( $this->getBinaryInteger( $phpcsFile, $tokens, $stackPtr ) );
69 69
                 }
70
-                $phpcsFile->addError($error, $stackPtr, 'BinaryIntegerFound', $data);
70
+                $phpcsFile->addError( $error, $stackPtr, 'BinaryIntegerFound', $data );
71 71
             }
72 72
 
73
-            if ($this->isInvalidBinaryInteger($tokens, $stackPtr) === true) {
73
+            if ( $this->isInvalidBinaryInteger( $tokens, $stackPtr ) === true ) {
74 74
                 $error = 'Invalid binary integer detected. Found: %s';
75
-                $data  = array($this->getBinaryInteger($phpcsFile, $tokens, $stackPtr));
76
-                $phpcsFile->addWarning($error, $stackPtr, 'InvalidBinaryIntegerFound', $data);
75
+                $data  = array( $this->getBinaryInteger( $phpcsFile, $tokens, $stackPtr ) );
76
+                $phpcsFile->addWarning( $error, $stackPtr, 'InvalidBinaryIntegerFound', $data );
77 77
             }
78 78
             return;
79 79
         }
80 80
 
81
-        $isError = $this->supportsAbove('7.0');
82
-        $data    = array( $token['content'] );
81
+        $isError = $this->supportsAbove( '7.0' );
82
+        $data    = array( $token[ 'content' ] );
83 83
 
84
-        if ($this->isInvalidOctalInteger($tokens, $stackPtr) === true) {
84
+        if ( $this->isInvalidOctalInteger( $tokens, $stackPtr ) === true ) {
85 85
             $this->addMessage(
86 86
                 $phpcsFile,
87 87
                 'Invalid octal integer detected. Prior to PHP 7 this would lead to a truncated number. From PHP 7 onwards this causes a parse error. Found: %s',
@@ -93,7 +93,7 @@  discard block
 block discarded – undo
93 93
             return;
94 94
         }
95 95
 
96
-        if ($this->isHexidecimalNumericString($tokens, $stackPtr) === true) {
96
+        if ( $this->isHexidecimalNumericString( $tokens, $stackPtr ) === true ) {
97 97
             $this->addMessage(
98 98
                 $phpcsFile,
99 99
                 'The behaviour of hexadecimal numeric strings was inconsistent prior to PHP 7 and support has been removed in PHP 7. Found: %s',
@@ -115,21 +115,21 @@  discard block
 block discarded – undo
115 115
      *
116 116
      * @return bool
117 117
      */
118
-    private function couldBeBinaryInteger($tokens, $stackPtr)
118
+    private function couldBeBinaryInteger( $tokens, $stackPtr )
119 119
     {
120
-        $token = $tokens[$stackPtr];
120
+        $token = $tokens[ $stackPtr ];
121 121
 
122
-        if ($token['code'] !== \T_LNUMBER) {
122
+        if ( $token[ 'code' ] !== \T_LNUMBER ) {
123 123
             return false;
124 124
         }
125 125
 
126
-        if ($this->isLowPHPVersion === false) {
127
-            return (preg_match('`^0b[0-1]+$`D', $token['content']) === 1);
126
+        if ( $this->isLowPHPVersion === false ) {
127
+            return ( preg_match( '`^0b[0-1]+$`D', $token[ 'content' ] ) === 1 );
128 128
         }
129 129
         // Pre-5.4, binary strings are tokenized as T_LNUMBER (0) + T_STRING ("b01010101").
130 130
         // At this point, we don't yet care whether it's a valid binary int, that's a separate check.
131 131
         else {
132
-            return($token['content'] === '0' && $tokens[$stackPtr + 1]['code'] === \T_STRING && preg_match('`^b[0-9]+$`D', $tokens[$stackPtr + 1]['content']) === 1);
132
+            return( $token[ 'content' ] === '0' && $tokens[ $stackPtr + 1 ][ 'code' ] === \T_STRING && preg_match( '`^b[0-9]+$`D', $tokens[ $stackPtr + 1 ][ 'content' ] ) === 1 );
133 133
         }
134 134
     }
135 135
 
@@ -141,17 +141,17 @@  discard block
 block discarded – undo
141 141
      *
142 142
      * @return bool
143 143
      */
144
-    private function isInvalidBinaryInteger($tokens, $stackPtr)
144
+    private function isInvalidBinaryInteger( $tokens, $stackPtr )
145 145
     {
146
-        if ($this->couldBeBinaryInteger($tokens, $stackPtr) === false) {
146
+        if ( $this->couldBeBinaryInteger( $tokens, $stackPtr ) === false ) {
147 147
             return false;
148 148
         }
149 149
 
150
-        if ($this->isLowPHPVersion === false) {
150
+        if ( $this->isLowPHPVersion === false ) {
151 151
             // If it's an invalid binary int, the token will be split into two T_LNUMBER tokens.
152
-            return ($tokens[$stackPtr + 1]['code'] === \T_LNUMBER);
152
+            return ( $tokens[ $stackPtr + 1 ][ 'code' ] === \T_LNUMBER );
153 153
         } else {
154
-            return (preg_match('`^b[0-1]+$`D', $tokens[$stackPtr + 1]['content']) === 0);
154
+            return ( preg_match( '`^b[0-1]+$`D', $tokens[ $stackPtr + 1 ][ 'content' ] ) === 0 );
155 155
         }
156 156
     }
157 157
 
@@ -165,19 +165,19 @@  discard block
 block discarded – undo
165 165
      *
166 166
      * @return string
167 167
      */
168
-    private function getBinaryInteger(File $phpcsFile, $tokens, $stackPtr)
168
+    private function getBinaryInteger( File $phpcsFile, $tokens, $stackPtr )
169 169
     {
170 170
         $length = 2; // PHP < 5.4 T_LNUMBER + T_STRING.
171 171
 
172
-        if ($this->isLowPHPVersion === false) {
172
+        if ( $this->isLowPHPVersion === false ) {
173 173
             $i = $stackPtr;
174
-            while ($tokens[$i]['code'] === \T_LNUMBER) {
174
+            while ( $tokens[ $i ][ 'code' ] === \T_LNUMBER ) {
175 175
                 $i++;
176 176
             }
177
-            $length = ($i - $stackPtr);
177
+            $length = ( $i - $stackPtr );
178 178
         }
179 179
 
180
-        return $phpcsFile->getTokensAsString($stackPtr, $length);
180
+        return $phpcsFile->getTokensAsString( $stackPtr, $length );
181 181
     }
182 182
 
183 183
     /**
@@ -188,11 +188,11 @@  discard block
 block discarded – undo
188 188
      *
189 189
      * @return bool
190 190
      */
191
-    private function isInvalidOctalInteger($tokens, $stackPtr)
191
+    private function isInvalidOctalInteger( $tokens, $stackPtr )
192 192
     {
193
-        $token = $tokens[$stackPtr];
193
+        $token = $tokens[ $stackPtr ];
194 194
 
195
-        if ($token['code'] === \T_LNUMBER && preg_match('`^0[0-7]*[8-9]+[0-9]*$`D', $token['content']) === 1) {
195
+        if ( $token[ 'code' ] === \T_LNUMBER && preg_match( '`^0[0-7]*[8-9]+[0-9]*$`D', $token[ 'content' ] ) === 1 ) {
196 196
             return true;
197 197
         }
198 198
 
@@ -207,11 +207,11 @@  discard block
 block discarded – undo
207 207
      *
208 208
      * @return bool
209 209
      */
210
-    private function isHexidecimalNumericString($tokens, $stackPtr)
210
+    private function isHexidecimalNumericString( $tokens, $stackPtr )
211 211
     {
212
-        $token = $tokens[$stackPtr];
212
+        $token = $tokens[ $stackPtr ];
213 213
 
214
-        if ($token['code'] === \T_CONSTANT_ENCAPSED_STRING && preg_match('`^0x[a-f0-9]+$`iD', $this->stripQuotes($token['content'])) === 1) {
214
+        if ( $token[ 'code' ] === \T_CONSTANT_ENCAPSED_STRING && preg_match( '`^0x[a-f0-9]+$`iD', $this->stripQuotes( $token[ 'content' ] ) ) === 1 ) {
215 215
             return true;
216 216
         }
217 217
 
Please login to merge, or discard this patch.
Braces   +8 added lines, -16 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 ValidIntegersSniff extends Sniff
23
-{
22
+class ValidIntegersSniff extends Sniff {
24 23
 
25 24
     /**
26 25
      * Whether PHPCS is run on a PHP < 5.4.
@@ -34,8 +33,7 @@  discard block
 block discarded – undo
34 33
      *
35 34
      * @return array
36 35
      */
37
-    public function register()
38
-    {
36
+    public function register() {
39 37
         $this->isLowPHPVersion = version_compare(\PHP_VERSION_ID, '50400', '<');
40 38
 
41 39
         return array(
@@ -54,8 +52,7 @@  discard block
 block discarded – undo
54 52
      *
55 53
      * @return void
56 54
      */
57
-    public function process(File $phpcsFile, $stackPtr)
58
-    {
55
+    public function process(File $phpcsFile, $stackPtr) {
59 56
         $tokens = $phpcsFile->getTokens();
60 57
         $token  = $tokens[$stackPtr];
61 58
 
@@ -115,8 +112,7 @@  discard block
 block discarded – undo
115 112
      *
116 113
      * @return bool
117 114
      */
118
-    private function couldBeBinaryInteger($tokens, $stackPtr)
119
-    {
115
+    private function couldBeBinaryInteger($tokens, $stackPtr) {
120 116
         $token = $tokens[$stackPtr];
121 117
 
122 118
         if ($token['code'] !== \T_LNUMBER) {
@@ -141,8 +137,7 @@  discard block
 block discarded – undo
141 137
      *
142 138
      * @return bool
143 139
      */
144
-    private function isInvalidBinaryInteger($tokens, $stackPtr)
145
-    {
140
+    private function isInvalidBinaryInteger($tokens, $stackPtr) {
146 141
         if ($this->couldBeBinaryInteger($tokens, $stackPtr) === false) {
147 142
             return false;
148 143
         }
@@ -165,8 +160,7 @@  discard block
 block discarded – undo
165 160
      *
166 161
      * @return string
167 162
      */
168
-    private function getBinaryInteger(File $phpcsFile, $tokens, $stackPtr)
169
-    {
163
+    private function getBinaryInteger(File $phpcsFile, $tokens, $stackPtr) {
170 164
         $length = 2; // PHP < 5.4 T_LNUMBER + T_STRING.
171 165
 
172 166
         if ($this->isLowPHPVersion === false) {
@@ -188,8 +182,7 @@  discard block
 block discarded – undo
188 182
      *
189 183
      * @return bool
190 184
      */
191
-    private function isInvalidOctalInteger($tokens, $stackPtr)
192
-    {
185
+    private function isInvalidOctalInteger($tokens, $stackPtr) {
193 186
         $token = $tokens[$stackPtr];
194 187
 
195 188
         if ($token['code'] === \T_LNUMBER && preg_match('`^0[0-7]*[8-9]+[0-9]*$`D', $token['content']) === 1) {
@@ -207,8 +200,7 @@  discard block
 block discarded – undo
207 200
      *
208 201
      * @return bool
209 202
      */
210
-    private function isHexidecimalNumericString($tokens, $stackPtr)
211
-    {
203
+    private function isHexidecimalNumericString($tokens, $stackPtr) {
212 204
         $token = $tokens[$stackPtr];
213 205
 
214 206
         if ($token['code'] === \T_CONSTANT_ENCAPSED_STRING && preg_match('`^0x[a-f0-9]+$`iD', $this->stripQuotes($token['content'])) === 1) {
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.