Visitar URL original
Add return type for Transformations getOptions and getMime · phpmyadmin/phpmyadmin@48fe211 · GitHub
Skip to content

Commit 48fe211

Browse files
committed
Add return type for Transformations getOptions and getMime
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
1 parent 5950693 commit 48fe211

3 files changed

Lines changed: 34 additions & 63 deletions

File tree

‎libraries/classes/Transformations.php‎

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,11 @@ class Transformations
6363
*
6464
* @param string $optionString comma separated options
6565
*
66-
* @return array options
66+
* @return string[]
6767
*/
68-
public function getOptions($optionString)
68+
public function getOptions($optionString): array
6969
{
70-
if (strlen($optionString) === 0) {
70+
if ($optionString === '') {
7171
return [];
7272
}
7373

@@ -278,9 +278,16 @@ public function fixUpMime($value)
278278
* @param bool $strict whether to include only results having a mimetype set
279279
* @param bool $fullName whether to use full column names as the key
280280
*
281-
* @return array|null [field_name][field_key] = field_value
281+
* @psalm-return array<string, array{
282+
* column_name: string,
283+
* mimetype: string,
284+
* transformation: string,
285+
* transformation_options: string,
286+
* input_transformation: string,
287+
* input_transformation_options: string
288+
* }>|null
282289
*/
283-
public function getMime($db, $table, $strict = false, $fullName = false)
290+
public function getMime($db, $table, $strict = false, $fullName = false): ?array
284291
{
285292
$relation = new Relation($GLOBALS['dbi']);
286293
$browserTransformationFeature = $relation->getRelationParameters()->browserTransformationFeature;
@@ -309,6 +316,17 @@ public function getMime($db, $table, $strict = false, $fullName = false)
309316
. ' OR `transformation_options` != \'\''
310317
. ' OR `input_transformation` != \'\''
311318
. ' OR `input_transformation_options` != \'\'' : '') . ')';
319+
320+
/**
321+
* @psalm-var array<string, array{
322+
* column_name: string,
323+
* mimetype: string,
324+
* transformation: string,
325+
* transformation_options: string,
326+
* input_transformation: string,
327+
* input_transformation_options: string
328+
* }> $result
329+
*/
312330
$result = $GLOBALS['dbi']->fetchResult($com_qry, 'column_name', null, DatabaseInterface::CONNECT_CONTROL);
313331

314332
foreach ($result as $column => $values) {

‎phpstan-baseline.neon‎

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8510,16 +8510,6 @@ parameters:
85108510
count: 1
85118511
path: libraries/classes/Transformations.php
85128512

8513-
-
8514-
message: "#^Method PhpMyAdmin\\\\Transformations\\:\\:getMime\\(\\) return type has no value type specified in iterable type array\\.$#"
8515-
count: 1
8516-
path: libraries/classes/Transformations.php
8517-
8518-
-
8519-
message: "#^Method PhpMyAdmin\\\\Transformations\\:\\:getOptions\\(\\) return type has no value type specified in iterable type array\\.$#"
8520-
count: 1
8521-
path: libraries/classes/Transformations.php
8522-
85238513
-
85248514
message: "#^Call to an undefined method object\\:\\:configure\\(\\)\\.$#"
85258515
count: 1

‎psalm-baseline.xml‎

Lines changed: 11 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1071,15 +1071,11 @@
10711071
</RedundantCast>
10721072
</file>
10731073
<file src="libraries/classes/Controllers/Database/DataDictionaryController.php">
1074-
<MixedArgument occurrences="4">
1075-
<code>$mimeMap[$row['Field']]['mimetype']</code>
1074+
<MixedArgument occurrences="3">
10761075
<code>$row['Field']</code>
10771076
<code>$row['Type']</code>
10781077
<code>$tableName</code>
10791078
</MixedArgument>
1080-
<MixedArrayAccess occurrences="1">
1081-
<code>$mimeMap[$row['Field']]['mimetype']</code>
1082-
</MixedArrayAccess>
10831079
<MixedArrayOffset occurrences="5">
10841080
<code>$columnsComments[$row['Field']]</code>
10851081
<code>$mimeMap[$row['Field']]</code>
@@ -3730,10 +3726,9 @@
37303726
<InvalidArgument occurrences="1">
37313727
<code>$GLOBALS['insert_errors']</code>
37323728
</InvalidArgument>
3733-
<MixedArgument occurrences="35">
3729+
<MixedArgument occurrences="31">
37343730
<code>$GLOBALS['error_messages']</code>
37353731
<code>$GLOBALS['last_messages']</code>
3736-
<code>$GLOBALS['mime_map'][$column_name]['input_transformation_options']</code>
37373732
<code>$GLOBALS['total_affected_rows']</code>
37383733
<code>$GLOBALS['total_affected_rows']</code>
37393734
<code>$GLOBALS['warning_messages']</code>
@@ -3743,7 +3738,6 @@
37433738
<code>$_POST['transform_fields_list']</code>
37443739
<code>$column_name</code>
37453740
<code>$column_name</code>
3746-
<code>$column_name</code>
37473741
<code>$current_value</code>
37483742
<code>$current_value</code>
37493743
<code>$extra_data</code>
@@ -3763,8 +3757,6 @@
37633757
<code>$relation_field</code>
37643758
<code>$relation_field</code>
37653759
<code>$relation_field_value</code>
3766-
<code>$transformation</code>
3767-
<code>$transformation[$type]</code>
37683760
<code>$where_clause</code>
37693761
</MixedArgument>
37703762
<MixedArgumentTypeCoercion occurrences="4">
@@ -3773,12 +3765,10 @@
37733765
<code>$key</code>
37743766
<code>$rownumber</code>
37753767
</MixedArgumentTypeCoercion>
3776-
<MixedArrayAccess occurrences="5">
3768+
<MixedArrayAccess occurrences="3">
37773769
<code>$_POST['fields_name']['multi_edit']</code>
37783770
<code>$extra_data['relations']</code>
37793771
<code>$multi_edit_columns[$key]</code>
3780-
<code>$transformation[$type]</code>
3781-
<code>$transformation['column_name']</code>
37823772
</MixedArrayAccess>
37833773
<MixedArrayAssignment occurrences="4">
37843774
<code>$GLOBALS['urlParams']['where_clause'][]</code>
@@ -3789,7 +3779,7 @@
37893779
<MixedArrayOffset occurrences="1">
37903780
<code>$GLOBALS['mime_map'][$column_name]</code>
37913781
</MixedArrayOffset>
3792-
<MixedAssignment occurrences="55">
3782+
<MixedAssignment occurrences="53">
37933783
<code>$GLOBALS['active_page']</code>
37943784
<code>$GLOBALS['cfg']['InsertRows']</code>
37953785
<code>$GLOBALS['containerBuilder']</code>
@@ -3825,7 +3815,6 @@
38253815
<code>$clauseIsUnique</code>
38263816
<code>$column_name</code>
38273817
<code>$column_name</code>
3828-
<code>$column_name</code>
38293818
<code>$curr_rel_field</code>
38303819
<code>$current_value</code>
38313820
<code>$extra_data['row_count']</code>
@@ -3843,7 +3832,6 @@
38433832
<code>$one_where_clause</code>
38443833
<code>$relation_field</code>
38453834
<code>$relation_field_value</code>
3846-
<code>$transformation</code>
38473835
<code>$where_clause</code>
38483836
</MixedAssignment>
38493837
<MixedMethodCall occurrences="10">
@@ -3858,8 +3846,7 @@
38583846
<code>get</code>
38593847
<code>new $classname()</code>
38603848
</MixedMethodCall>
3861-
<MixedOperand occurrences="4">
3862-
<code>$GLOBALS['mime_map'][$column_name]['input_transformation']</code>
3849+
<MixedOperand occurrences="3">
38633850
<code>$relation_field_value</code>
38643851
<code>$where_clause</code>
38653852
<code>$where_clause</code>
@@ -4434,21 +4421,18 @@
44344421
</MixedAssignment>
44354422
</file>
44364423
<file src="libraries/classes/Controllers/Transformation/WrapperController.php">
4437-
<MixedArgument occurrences="10">
4424+
<MixedArgument occurrences="8">
44384425
<code>$GLOBALS['cn'] ?? ''</code>
44394426
<code>$GLOBALS['mime_map'][$GLOBALS['transform_key']]['mimetype']</code>
4440-
<code>$GLOBALS['mime_map'][$GLOBALS['transform_key']]['transformation_options'] ?? ''</code>
44414427
<code>$GLOBALS['mime_type']</code>
44424428
<code>$GLOBALS['mime_type']</code>
44434429
<code>$GLOBALS['srcHeight'] / $GLOBALS['ratioWidth']</code>
44444430
<code>$GLOBALS['srcWidth'] / $GLOBALS['ratioHeight']</code>
44454431
<code>$GLOBALS['where_clause']</code>
44464432
<code>$_GET['where_clause_sign'] ?? ''</code>
4447-
<code>$option</code>
44484433
</MixedArgument>
4449-
<MixedArrayAccess occurrences="2">
4434+
<MixedArrayAccess occurrences="1">
44504435
<code>$GLOBALS['mime_map'][$GLOBALS['transform_key']]</code>
4451-
<code>$GLOBALS['mime_map'][$GLOBALS['transform_key']]['transformation_options']</code>
44524436
</MixedArrayAccess>
44534437
<MixedArrayOffset occurrences="6">
44544438
<code>$GLOBALS['mime_map'][$GLOBALS['transform_key']]</code>
@@ -4466,7 +4450,7 @@
44664450
<code>$GLOBALS['row'][$GLOBALS['transform_key']]</code>
44674451
<code>$GLOBALS['row'][$GLOBALS['transform_key']]</code>
44684452
</MixedArrayTypeCoercion>
4469-
<MixedAssignment occurrences="24">
4453+
<MixedAssignment occurrences="23">
44704454
<code>$GLOBALS[$one_request_param]</code>
44714455
<code>$GLOBALS['cn']</code>
44724456
<code>$GLOBALS['ct']</code>
@@ -4490,7 +4474,6 @@
44904474
<code>$GLOBALS['srcWidth']</code>
44914475
<code>$GLOBALS['transform_key']</code>
44924476
<code>$GLOBALS['where_clause']</code>
4493-
<code>$option</code>
44944477
</MixedAssignment>
44954478
<MixedOperand occurrences="6">
44964479
<code>$GLOBALS['mime_options']['charset'] ?? ''</code>
@@ -8206,11 +8189,10 @@
82068189
</MixedAssignment>
82078190
</file>
82088191
<file src="libraries/classes/InsertEdit.php">
8209-
<MixedArgument occurrences="81">
8192+
<MixedArgument occurrences="80">
82108193
<code>$_POST['fields']['multi_edit']</code>
82118194
<code>$_POST['fields']['multi_edit'][$rownumber][$key]</code>
82128195
<code>$backupField</code>
8213-
<code>$columnMime</code>
82148196
<code>$columnMime['input_transformation_options']</code>
82158197
<code>$column['Default']</code>
82168198
<code>$column['Default']</code>
@@ -8343,12 +8325,11 @@
83438325
<code>$mimeMap[$tableColumn['Field']]</code>
83448326
<code>$protectedRow[$multiEditColumnsName[$key]]</code>
83458327
</MixedArrayOffset>
8346-
<MixedAssignment occurrences="38">
8328+
<MixedAssignment occurrences="37">
83478329
<code>$GLOBALS['cfg']['ShowFieldTypesInDataEditView']</code>
83488330
<code>$GLOBALS['cfg']['ShowFunctionFields']</code>
83498331
<code>$_SESSION['edit_next']</code>
83508332
<code>$afterInsert</code>
8351-
<code>$columnMime</code>
83528333
<code>$column['pma_type']</code>
83538334
<code>$currCellEditedValues</code>
83548335
<code>$currentRow[$column['Field']]</code>
@@ -14254,27 +14235,9 @@
1425414235
</PossiblyNullOperand>
1425514236
</file>
1425614237
<file src="libraries/classes/Transformations.php">
14257-
<MixedArgument occurrences="4">
14238+
<MixedArgument occurrences="1">
1425814239
<code>$upd_query</code>
14259-
<code>$values['mimetype']</code>
14260-
<code>$values['transformation']</code>
14261-
<code>$values['transformation']</code>
1426214240
</MixedArgument>
14263-
<MixedArrayAccess occurrences="3">
14264-
<code>$values['mimetype']</code>
14265-
<code>$values['transformation']</code>
14266-
<code>$values['transformation']</code>
14267-
</MixedArrayAccess>
14268-
<MixedArrayAssignment occurrences="4">
14269-
<code>$values['mimetype']</code>
14270-
<code>$values['transformation']</code>
14271-
<code>$values['transformation']</code>
14272-
<code>$values['transformation']</code>
14273-
</MixedArrayAssignment>
14274-
<MixedAssignment occurrences="2">
14275-
<code>$result[$column]</code>
14276-
<code>$values</code>
14277-
</MixedAssignment>
1427814241
<MixedInferredReturnType occurrences="1">
1427914242
<code>array</code>
1428014243
</MixedInferredReturnType>

0 commit comments

Comments
 (0)