Skip to content

Commit 59b8f31

Browse files
committed
Merge branch 'QA_5_2'
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2 parents 346923e + 5195224 commit 59b8f31

20 files changed

Lines changed: 176 additions & 163 deletions

.github/workflows/tests.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,14 @@ jobs:
7171
experimental: [false]
7272
os: [ubuntu-latest]
7373
phpunit-options: ['--testsuite unit']
74+
php-extensions: ['mbstring, iconv, mysqli, zip, gd, bz2']
7475
include:
7576
- php-version: 'nightly'
7677
experimental: true
7778
os: ubuntu-latest
7879
phpunit-options: '--configuration test/phpunit-php-nightly.xml'
7980
composer-options: '--ignore-platform-req=php+'
81+
php-extensions: 'mbstring, iconv, mysqli, zip, bz2'
8082
steps:
8183
- name: Checkout code
8284
uses: actions/checkout@v3
@@ -94,7 +96,7 @@ jobs:
9496
uses: shivammathur/setup-php@v2
9597
with:
9698
php-version: ${{ matrix.php-version }}
97-
extensions: mbstring, iconv, mysqli, zip, gd, bz2
99+
extensions: ${{ matrix.php-extensions }}
98100
coverage: xdebug
99101

100102
- name: Install Composer dependencies

ChangeLog

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ phpMyAdmin - ChangeLog
1919
- issue #17586 Fix statistics not showing for empty databases
2020
- issue #17592 Clicking on the New index link on the sidebar does not throw an error anymore
2121
- issue #17584 It's now possible to browse a database that includes two % in its name
22+
- issue Fix PHP 8.2 deprecated string interpolation syntax
23+
- issue Some languages are now correctly detected from the HTTP header
2224

2325
5.2.0 (2022-05-10)
2426
- issue #16521 Upgrade Bootstrap to version 5

libraries/classes/Controllers/Table/Structure/SaveController.php

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -98,20 +98,20 @@ private function updateColumns(): bool
9898
}
9999

100100
$changes[] = 'CHANGE ' . Table::generateAlter(
101-
Util::getValueByKey($_POST, "field_orig.${i}", ''),
101+
Util::getValueByKey($_POST, 'field_orig.' . $i, ''),
102102
$_POST['field_name'][$i],
103103
$_POST['field_type'][$i],
104104
$_POST['field_length'][$i],
105105
$_POST['field_attribute'][$i],
106-
Util::getValueByKey($_POST, "field_collation.${i}", ''),
107-
Util::getValueByKey($_POST, "field_null.${i}", 'NO'),
106+
Util::getValueByKey($_POST, 'field_collation.' . $i, ''),
107+
Util::getValueByKey($_POST, 'field_null.' . $i, 'NO'),
108108
$_POST['field_default_type'][$i],
109109
$_POST['field_default_value'][$i],
110-
Util::getValueByKey($_POST, "field_extra.${i}", false),
111-
Util::getValueByKey($_POST, "field_comments.${i}", ''),
112-
Util::getValueByKey($_POST, "field_virtuality.${i}", ''),
113-
Util::getValueByKey($_POST, "field_expression.${i}", ''),
114-
Util::getValueByKey($_POST, "field_move_to.${i}", ''),
110+
Util::getValueByKey($_POST, 'field_extra.' . $i, false),
111+
Util::getValueByKey($_POST, 'field_comments.' . $i, ''),
112+
Util::getValueByKey($_POST, 'field_virtuality.' . $i, ''),
113+
Util::getValueByKey($_POST, 'field_expression.' . $i, ''),
114+
Util::getValueByKey($_POST, 'field_move_to.' . $i, ''),
115115
$columns_with_index
116116
);
117117

@@ -242,20 +242,20 @@ private function updateColumns(): bool
242242
}
243243

244244
$changes_revert[] = 'CHANGE ' . Table::generateAlter(
245-
Util::getValueByKey($_POST, "field_orig.${i}", ''),
245+
Util::getValueByKey($_POST, 'field_orig.' . $i, ''),
246246
$_POST['field_name'][$i],
247247
$_POST['field_type_orig'][$i],
248248
$_POST['field_length_orig'][$i],
249249
$_POST['field_attribute_orig'][$i],
250-
Util::getValueByKey($_POST, "field_collation_orig.${i}", ''),
251-
Util::getValueByKey($_POST, "field_null_orig.${i}", 'NO'),
250+
Util::getValueByKey($_POST, 'field_collation_orig.' . $i, ''),
251+
Util::getValueByKey($_POST, 'field_null_orig.' . $i, 'NO'),
252252
$_POST['field_default_type_orig'][$i],
253253
$_POST['field_default_value_orig'][$i],
254-
Util::getValueByKey($_POST, "field_extra_orig.${i}", false),
255-
Util::getValueByKey($_POST, "field_comments_orig.${i}", ''),
256-
Util::getValueByKey($_POST, "field_virtuality_orig.${i}", ''),
257-
Util::getValueByKey($_POST, "field_expression_orig.${i}", ''),
258-
Util::getValueByKey($_POST, "field_move_to_orig.${i}", '')
254+
Util::getValueByKey($_POST, 'field_extra_orig.' . $i, false),
255+
Util::getValueByKey($_POST, 'field_comments_orig.' . $i, ''),
256+
Util::getValueByKey($_POST, 'field_virtuality_orig.' . $i, ''),
257+
Util::getValueByKey($_POST, 'field_expression_orig.' . $i, ''),
258+
Util::getValueByKey($_POST, 'field_move_to_orig.' . $i, '')
259259
);
260260
}
261261

libraries/classes/Git.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,11 @@ private function extractDataFormTextBody(array $commit): array
394394
$user2['date'] .= $user[4];
395395
}
396396

397-
${$linetype} = $user2;
397+
if ($linetype === 'author') {
398+
$author = $user2;
399+
} elseif ($linetype === 'committer') {
400+
$committer = $user2;
401+
}
398402
} while ($dataline != '');
399403

400404
$message = trim(implode(' ', $commit));

libraries/classes/LanguageManager.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ class LanguageManager
5757
'ar',
5858
'Arabic',
5959
'&#1575;&#1604;&#1593;&#1585;&#1576;&#1610;&#1577;',
60-
'ar|arabic',
60+
'ar(?![-_]ly)([-_][[:alpha:]]{2,3})?|arabic',
6161
'ar_AE',
6262
],
6363
'ar_ly' => [
@@ -183,7 +183,7 @@ class LanguageManager
183183
'en',
184184
'English',
185185
'',
186-
'en|english',
186+
'en(?![-_]gb)([-_][[:alpha:]]{2,3})?|english',
187187
'en_US',
188188
],
189189
'en_gb' => [
@@ -512,7 +512,7 @@ class LanguageManager
512512
'pt',
513513
'Portuguese',
514514
'Portugu&ecirc;s',
515-
'pt|portuguese',
515+
'pt(?![-_]br)([-_][[:alpha:]]{2,3})?|portuguese',
516516
'pt_PT',
517517
],
518518
'pt_br' => [

libraries/classes/Table/ColumnsDefinition.php

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -165,47 +165,47 @@ public function displayForm(
165165
[
166166
'Field' => Util::getValueByKey(
167167
$_POST,
168-
"field_name.${columnNumber}",
168+
'field_name.' . $columnNumber,
169169
null
170170
),
171171
'Type' => Util::getValueByKey(
172172
$_POST,
173-
"field_type.${columnNumber}",
173+
'field_type.' . $columnNumber,
174174
null
175175
),
176176
'Collation' => Util::getValueByKey(
177177
$_POST,
178-
"field_collation.${columnNumber}",
178+
'field_collation.' . $columnNumber,
179179
''
180180
),
181181
'Null' => Util::getValueByKey(
182182
$_POST,
183-
"field_null.${columnNumber}",
183+
'field_null.' . $columnNumber,
184184
''
185185
),
186186
'DefaultType' => Util::getValueByKey(
187187
$_POST,
188-
"field_default_type.${columnNumber}",
188+
'field_default_type.' . $columnNumber,
189189
'NONE'
190190
),
191191
'DefaultValue' => Util::getValueByKey(
192192
$_POST,
193-
"field_default_value.${columnNumber}",
193+
'field_default_value.' . $columnNumber,
194194
''
195195
),
196196
'Extra' => Util::getValueByKey(
197197
$_POST,
198-
"field_extra.${columnNumber}",
198+
'field_extra.' . $columnNumber,
199199
null
200200
),
201201
'Virtuality' => Util::getValueByKey(
202202
$_POST,
203-
"field_virtuality.${columnNumber}",
203+
'field_virtuality.' . $columnNumber,
204204
''
205205
),
206206
'Expression' => Util::getValueByKey(
207207
$_POST,
208-
"field_expression.${columnNumber}",
208+
'field_expression.' . $columnNumber,
209209
''
210210
),
211211
]
@@ -214,7 +214,7 @@ public function displayForm(
214214
$columnMeta['Key'] = '';
215215
$parts = explode(
216216
'_',
217-
Util::getValueByKey($_POST, "field_key.${columnNumber}", ''),
217+
Util::getValueByKey($_POST, 'field_key.' . $columnNumber, ''),
218218
2
219219
);
220220
if (count($parts) === 2 && $parts[1] == $columnNumber) {
@@ -247,21 +247,21 @@ public function displayForm(
247247
break;
248248
}
249249

250-
$length = Util::getValueByKey($_POST, "field_length.${columnNumber}", $length);
251-
$submit_attribute = Util::getValueByKey($_POST, "field_attribute.${columnNumber}", false);
252-
$comments_map[$columnMeta['Field']] = Util::getValueByKey($_POST, "field_comments.${columnNumber}");
250+
$length = Util::getValueByKey($_POST, 'field_length.' . $columnNumber, $length);
251+
$submit_attribute = Util::getValueByKey($_POST, 'field_attribute.' . $columnNumber, false);
252+
$comments_map[$columnMeta['Field']] = Util::getValueByKey($_POST, 'field_comments.' . $columnNumber);
253253

254254
$GLOBALS['mime_map'][$columnMeta['Field']] = array_merge(
255255
$GLOBALS['mime_map'][$columnMeta['Field']] ?? [],
256256
[
257-
'mimetype' => Util::getValueByKey($_POST, "field_mimetype.${columnNumber}"),
257+
'mimetype' => Util::getValueByKey($_POST, 'field_mimetype.' . $columnNumber),
258258
'transformation' => Util::getValueByKey(
259259
$_POST,
260-
"field_transformation.${columnNumber}"
260+
'field_transformation.' . $columnNumber
261261
),
262262
'transformation_options' => Util::getValueByKey(
263263
$_POST,
264-
"field_transformation_options.${columnNumber}"
264+
'field_transformation_options.' . $columnNumber
265265
),
266266
]
267267
);
@@ -380,15 +380,15 @@ public function displayForm(
380380
$form_params = array_merge(
381381
$form_params,
382382
[
383-
"field_default_value_orig[${columnNumber}]" => $columnMeta['Default'] ?? '',
384-
"field_default_type_orig[${columnNumber}]" => $columnMeta['DefaultType'] ?? '',
385-
"field_collation_orig[${columnNumber}]" => $columnMeta['Collation'] ?? '',
386-
"field_attribute_orig[${columnNumber}]" => trim($extracted_columnspec['attribute'] ?? ''),
387-
"field_null_orig[${columnNumber}]" => $columnMeta['Null'] ?? '',
388-
"field_extra_orig[${columnNumber}]" => $columnMeta['Extra'] ?? '',
389-
"field_comments_orig[${columnNumber}]" => $columnMeta['Comment'] ?? '',
390-
"field_virtuality_orig[${columnNumber}]" => $columnMeta['Virtuality'] ?? '',
391-
"field_expression_orig[${columnNumber}]" => $columnMeta['Expression'] ?? '',
383+
'field_default_value_orig[' . $columnNumber . ']' => $columnMeta['Default'] ?? '',
384+
'field_default_type_orig[' . $columnNumber . ']' => $columnMeta['DefaultType'] ?? '',
385+
'field_collation_orig[' . $columnNumber . ']' => $columnMeta['Collation'] ?? '',
386+
'field_attribute_orig[' . $columnNumber . ']' => trim($extracted_columnspec['attribute'] ?? ''),
387+
'field_null_orig[' . $columnNumber . ']' => $columnMeta['Null'] ?? '',
388+
'field_extra_orig[' . $columnNumber . ']' => $columnMeta['Extra'] ?? '',
389+
'field_comments_orig[' . $columnNumber . ']' => $columnMeta['Comment'] ?? '',
390+
'field_virtuality_orig[' . $columnNumber . ']' => $columnMeta['Virtuality'] ?? '',
391+
'field_expression_orig[' . $columnNumber . ']' => $columnMeta['Expression'] ?? '',
392392
]
393393
);
394394
}

phpstan-baseline.neon

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9845,11 +9845,6 @@ parameters:
98459845
count: 1
98469846
path: test/classes/LanguageTest.php
98479847

9848-
-
9849-
message: "#^Method PhpMyAdmin\\\\Tests\\\\LanguageTest\\:\\:selectDataProvider\\(\\) return type has no value type specified in iterable type array\\.$#"
9850-
count: 1
9851-
path: test/classes/LanguageTest.php
9852-
98539848
-
98549849
message: "#^Method PhpMyAdmin\\\\Tests\\\\LinterTest\\:\\:lintProvider\\(\\) return type has no value type specified in iterable type array\\.$#"
98559850
count: 1

psalm-baseline.xml

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3974,22 +3974,22 @@
39743974
<code>$fieldcontent</code>
39753975
<code>$mimetype</code>
39763976
<code>$newCol</code>
3977-
<code>Util::getValueByKey($_POST, "field_collation.${i}", '')</code>
3978-
<code>Util::getValueByKey($_POST, "field_collation_orig.${i}", '')</code>
3979-
<code>Util::getValueByKey($_POST, "field_comments.${i}", '')</code>
3980-
<code>Util::getValueByKey($_POST, "field_comments_orig.${i}", '')</code>
3981-
<code>Util::getValueByKey($_POST, "field_expression.${i}", '')</code>
3982-
<code>Util::getValueByKey($_POST, "field_expression_orig.${i}", '')</code>
3983-
<code>Util::getValueByKey($_POST, "field_extra.${i}", false)</code>
3984-
<code>Util::getValueByKey($_POST, "field_extra_orig.${i}", false)</code>
3985-
<code>Util::getValueByKey($_POST, "field_move_to.${i}", '')</code>
3986-
<code>Util::getValueByKey($_POST, "field_move_to_orig.${i}", '')</code>
3987-
<code>Util::getValueByKey($_POST, "field_null.${i}", 'NO')</code>
3988-
<code>Util::getValueByKey($_POST, "field_null_orig.${i}", 'NO')</code>
3989-
<code>Util::getValueByKey($_POST, "field_orig.${i}", '')</code>
3990-
<code>Util::getValueByKey($_POST, "field_orig.${i}", '')</code>
3991-
<code>Util::getValueByKey($_POST, "field_virtuality.${i}", '')</code>
3992-
<code>Util::getValueByKey($_POST, "field_virtuality_orig.${i}", '')</code>
3977+
<code>Util::getValueByKey($_POST, 'field_collation.' . $i, '')</code>
3978+
<code>Util::getValueByKey($_POST, 'field_collation_orig.' . $i, '')</code>
3979+
<code>Util::getValueByKey($_POST, 'field_comments.' . $i, '')</code>
3980+
<code>Util::getValueByKey($_POST, 'field_comments_orig.' . $i, '')</code>
3981+
<code>Util::getValueByKey($_POST, 'field_expression.' . $i, '')</code>
3982+
<code>Util::getValueByKey($_POST, 'field_expression_orig.' . $i, '')</code>
3983+
<code>Util::getValueByKey($_POST, 'field_extra.' . $i, false)</code>
3984+
<code>Util::getValueByKey($_POST, 'field_extra_orig.' . $i, false)</code>
3985+
<code>Util::getValueByKey($_POST, 'field_move_to.' . $i, '')</code>
3986+
<code>Util::getValueByKey($_POST, 'field_move_to_orig.' . $i, '')</code>
3987+
<code>Util::getValueByKey($_POST, 'field_null.' . $i, 'NO')</code>
3988+
<code>Util::getValueByKey($_POST, 'field_null_orig.' . $i, 'NO')</code>
3989+
<code>Util::getValueByKey($_POST, 'field_orig.' . $i, '')</code>
3990+
<code>Util::getValueByKey($_POST, 'field_orig.' . $i, '')</code>
3991+
<code>Util::getValueByKey($_POST, 'field_virtuality.' . $i, '')</code>
3992+
<code>Util::getValueByKey($_POST, 'field_virtuality_orig.' . $i, '')</code>
39933993
</MixedArgument>
39943994
<MixedArrayAccess occurrences="31">
39953995
<code>$_POST[$field . '_orig'][$i]</code>
@@ -13374,7 +13374,7 @@
1337413374
<code>$form_params['db']</code>
1337513375
<code>$form_params['table']</code>
1337613376
<code>$type</code>
13377-
<code>Util::getValueByKey($_POST, "field_key.${columnNumber}", '')</code>
13377+
<code>Util::getValueByKey($_POST, 'field_key.' . $columnNumber, '')</code>
1337813378
</MixedArgument>
1337913379
<MixedArrayAccess occurrences="18">
1338013380
<code>$GLOBALS['mime_map'][$columnMeta['Field']]</code>
@@ -15286,8 +15286,7 @@
1528615286
</PossiblyNullArrayOffset>
1528715287
</file>
1528815288
<file src="test/classes/LanguageTest.php">
15289-
<MixedInferredReturnType occurrences="2">
15290-
<code>array</code>
15289+
<MixedInferredReturnType occurrences="1">
1529115290
<code>array</code>
1529215291
</MixedInferredReturnType>
1529315292
</file>

scripts/check-release-excludes.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ validateExtension() {
124124
foundFileExt
125125
fi
126126
;;
127-
vendor/phpseclib/phpseclib/phpseclib/openssl.cnf)
127+
vendor/composer/ca-bundle/res/cacert.pem)
128128
;;
129129
vendor/pragmarx/google2fa-qrcode/composer.lock)
130130
;;

scripts/create-release.sh

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,8 @@ cleanup_composer_vendors() {
195195
vendor/webmozart/assert/psalm.xml \
196196
vendor/twig/twig/src/Test/ \
197197
vendor/psr/log/Psr/Log/Test/ \
198+
vendor/psr/http-factory/.pullapprove.yml \
199+
vendor/slim/psr7/MAINTAINERS.md \
198200
vendor/paragonie/constant_time_encoding/tests/ \
199201
vendor/paragonie/constant_time_encoding/psalm.xml \
200202
vendor/paragonie/constant_time_encoding/phpunit.xml.dist \
@@ -203,6 +205,19 @@ cleanup_composer_vendors() {
203205
vendor/paragonie/random_compat/dist/random_compat.phar.pubkey \
204206
vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc \
205207
vendor/paragonie/random_compat/psalm.xml \
208+
vendor/paragonie/sodium_compat/.github/ \
209+
vendor/paragonie/sodium_compat/dist/ \
210+
vendor/paragonie/sodium_compat/phpunit.xml.dist \
211+
vendor/paragonie/sodium_compat/.gitignore \
212+
vendor/paragonie/sodium_compat/psalm-above-3.xml \
213+
vendor/paragonie/sodium_compat/psalm-below-3.xml \
214+
vendor/paragonie/sodium_compat/build-phar.sh \
215+
vendor/paragonie/sodium_compat/appveyor.yml \
216+
vendor/paragonie/sodium_compat/autoload-phpunit.php \
217+
vendor/paragonie/sodium_compat/autoload-pedantic.php \
218+
vendor/paragonie/sodium_compat/autoload-fast.php \
219+
vendor/paragonie/sodium_compat/composer-php52.json \
220+
vendor/paragonie/sodium_compat/src/PHP52/SplFixedArray.php \
206221
vendor/pragmarx/google2fa/phpstan.neon \
207222
vendor/pragmarx/google2fa-qrcode/.scrutinizer.yml \
208223
vendor/pragmarx/google2fa-qrcode/.travis.yml \

0 commit comments

Comments
 (0)