From 4341d2c45ef137865b273f8221f22fcb1fc98433 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Feb 2026 03:14:48 +0100 Subject: [PATCH 01/10] XML - Allow export of geometry and binary fields Signed-off-by: Liviu-Mihail Concioiu --- libraries/classes/Plugins/Export/ExportXml.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libraries/classes/Plugins/Export/ExportXml.php b/libraries/classes/Plugins/Export/ExportXml.php index f8dc1034c4..6895578a4b 100644 --- a/libraries/classes/Plugins/Export/ExportXml.php +++ b/libraries/classes/Plugins/Export/ExportXml.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace PhpMyAdmin\Plugins\Export; use PhpMyAdmin\DatabaseInterface; +use PhpMyAdmin\FieldMetadata; use PhpMyAdmin\Plugins\ExportPlugin; use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup; use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyRootGroup; @@ -15,6 +16,7 @@ use PhpMyAdmin\Util; use PhpMyAdmin\Version; use function __; +use function bin2hex; use function count; use function htmlspecialchars; use function is_array; @@ -463,6 +465,8 @@ class ExportXml extends ExportPlugin $result = $dbi->query($sqlQuery, DatabaseInterface::CONNECT_USER, DatabaseInterface::QUERY_UNBUFFERED); $columns_cnt = $result->numFields(); + /** @var FieldMetadata[] $fieldsMeta */ + $fieldsMeta = $dbi->getFieldsMeta($result); $columns = []; foreach ($result->getFieldNames() as $column) { $columns[] = stripslashes($column); @@ -487,6 +491,8 @@ class ExportXml extends ExportPlugin // the XML structure if (! isset($record[$i])) { $record[$i] = 'NULL'; + } elseif ($fieldsMeta[$i]->isMappedTypeGeometry || $fieldsMeta[$i]->isBinary) { + $record[$i] = '0x' . bin2hex($record[$i]); } $buffer .= ' Date: Thu, 19 Feb 2026 03:17:58 +0100 Subject: [PATCH 06/10] PDF - Show [GEOMETRY] and [BLOB] Signed-off-by: Liviu-Mihail Concioiu --- libraries/classes/Plugins/Export/Helpers/Pdf.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/libraries/classes/Plugins/Export/Helpers/Pdf.php b/libraries/classes/Plugins/Export/Helpers/Pdf.php index 8bac35c212..0e60cae7e7 100644 --- a/libraries/classes/Plugins/Export/Helpers/Pdf.php +++ b/libraries/classes/Plugins/Export/Helpers/Pdf.php @@ -267,6 +267,16 @@ class Pdf extends PdfLib $this->page = $currpage; $this->setXY($l, $h); if ($this->tablewidths[$col] > 0) { + if ($txt !== null) { + if ($this->fields[$col]->isType(FieldMetadata::TYPE_GEOMETRY)) { + $txt = '[GEOMETRY]'; + } + + if ($this->fields[$col]->isType(FieldMetadata::TYPE_BLOB) || $this->fields[$col]->isBinary()) { + $txt = '[BLOB]'; + } + } + $this->MultiCell($this->tablewidths[$col], $lineheight, $txt ?? 'NULL', 0, $this->colAlign[$col]); $l += $this->tablewidths[$col]; } @@ -770,7 +780,7 @@ class Pdf extends PdfLib } /** - * @todo do not deactivate completely the display + * do not deactivate completely the display * but show the field's name and [BLOB] */ if ($this->fields[$i]->isBinary()) { From 2570d01743f0e388333e3fa4df4a75612b71957a Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Feb 2026 03:20:43 +0100 Subject: [PATCH 07/10] YAML - Allow export of geometry and binary fields Signed-off-by: Liviu-Mihail Concioiu --- libraries/classes/Plugins/Export/ExportYaml.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libraries/classes/Plugins/Export/ExportYaml.php b/libraries/classes/Plugins/Export/ExportYaml.php index e7b5b8065b..7edceb2270 100644 --- a/libraries/classes/Plugins/Export/ExportYaml.php +++ b/libraries/classes/Plugins/Export/ExportYaml.php @@ -17,6 +17,7 @@ use PhpMyAdmin\Properties\Plugins\ExportPluginProperties; use function __; use function array_key_exists; +use function bin2hex; use function is_numeric; use function str_replace; use function stripslashes; @@ -141,6 +142,7 @@ class ExportYaml extends ExportPlugin $result = $dbi->query($sqlQuery, DatabaseInterface::CONNECT_USER, DatabaseInterface::QUERY_UNBUFFERED); $columns_cnt = $result->numFields(); + /** @var FieldMetadata[] $fieldsMeta */ $fieldsMeta = $dbi->getFieldsMeta($result); $columns = []; @@ -181,6 +183,10 @@ class ExportYaml extends ExportPlugin continue; } + if ($fieldsMeta[$i]->isMappedTypeGeometry || $fieldsMeta[$i]->isBinary) { + $record[$i] = '0x' . bin2hex($record[$i]); + } + $record[$i] = str_replace( [ '\\', From cf64bbf57a26c2dd0c8caa2339cc5588b779aec4 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Feb 2026 03:21:24 +0100 Subject: [PATCH 08/10] LaTeX - Allow export of geometry and binary fields Signed-off-by: Liviu-Mihail Concioiu --- libraries/classes/Plugins/Export/ExportLatex.php | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/libraries/classes/Plugins/Export/ExportLatex.php b/libraries/classes/Plugins/Export/ExportLatex.php index 86167d7893..582696c88d 100644 --- a/libraries/classes/Plugins/Export/ExportLatex.php +++ b/libraries/classes/Plugins/Export/ExportLatex.php @@ -8,6 +8,7 @@ declare(strict_types=1); namespace PhpMyAdmin\Plugins\Export; use PhpMyAdmin\DatabaseInterface; +use PhpMyAdmin\FieldMetadata; use PhpMyAdmin\Plugins\ExportPlugin; use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup; use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyRootGroup; @@ -19,6 +20,7 @@ use PhpMyAdmin\Util; use PhpMyAdmin\Version; use function __; +use function bin2hex; use function count; use function in_array; use function mb_strpos; @@ -298,6 +300,8 @@ class ExportLatex extends ExportPlugin $result = $dbi->tryQuery($sqlQuery, DatabaseInterface::CONNECT_USER, DatabaseInterface::QUERY_UNBUFFERED); $columns_cnt = $result->numFields(); + /** @var FieldMetadata[] $fieldsMeta */ + $fieldsMeta = $dbi->getFieldsMeta($result); $columns = []; $columns_alias = []; foreach ($result->getFieldNames() as $i => $col_as) { @@ -398,9 +402,15 @@ class ExportLatex extends ExportPlugin // print each row for ($i = 0; $i < $columns_cnt; $i++) { if ($record[$columns[$i]] !== null && isset($record[$columns[$i]])) { - $column_value = self::texEscape( - stripslashes($record[$columns[$i]]) - ); + if ($fieldsMeta[$i]->isMappedTypeGeometry || $fieldsMeta[$i]->isBinary) { + $column_value = self::texEscape( + '0x' . bin2hex($record[$columns[$i]]) + ); + } else { + $column_value = self::texEscape( + stripslashes($record[$columns[$i]]) + ); + } } else { $column_value = $GLOBALS['latex_null']; } From 0a947b96b5ce0e6d4f42cdf8480f80508612e00f Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Feb 2026 04:08:37 +0100 Subject: [PATCH 09/10] Fix baselines Signed-off-by: Liviu-Mihail Concioiu --- .../classes/Plugins/Export/ExportCsv.php | 1 - .../classes/Plugins/Export/ExportLatex.php | 1 - .../Plugins/Export/ExportMediawiki.php | 1 - .../classes/Plugins/Export/ExportPhparray.php | 1 - .../classes/Plugins/Export/ExportTexytext.php | 1 - .../classes/Plugins/Export/ExportXml.php | 1 - .../classes/Plugins/Export/ExportYaml.php | 1 - phpstan-baseline.neon | 166 +++++++++++++++++- psalm-baseline.xml | 6 +- 9 files changed, 163 insertions(+), 16 deletions(-) diff --git a/libraries/classes/Plugins/Export/ExportCsv.php b/libraries/classes/Plugins/Export/ExportCsv.php index 67f36701c3..de1a5a6f07 100644 --- a/libraries/classes/Plugins/Export/ExportCsv.php +++ b/libraries/classes/Plugins/Export/ExportCsv.php @@ -222,7 +222,6 @@ class ExportCsv extends ExportPlugin // Gets the data from the database $result = $dbi->query($sqlQuery, DatabaseInterface::CONNECT_USER, DatabaseInterface::QUERY_UNBUFFERED); $fields_cnt = $result->numFields(); - /** @var FieldMetadata[] $fieldsMeta */ $fieldsMeta = $dbi->getFieldsMeta($result); // If required, get fields name at the first line diff --git a/libraries/classes/Plugins/Export/ExportLatex.php b/libraries/classes/Plugins/Export/ExportLatex.php index 582696c88d..66e643fff2 100644 --- a/libraries/classes/Plugins/Export/ExportLatex.php +++ b/libraries/classes/Plugins/Export/ExportLatex.php @@ -300,7 +300,6 @@ class ExportLatex extends ExportPlugin $result = $dbi->tryQuery($sqlQuery, DatabaseInterface::CONNECT_USER, DatabaseInterface::QUERY_UNBUFFERED); $columns_cnt = $result->numFields(); - /** @var FieldMetadata[] $fieldsMeta */ $fieldsMeta = $dbi->getFieldsMeta($result); $columns = []; $columns_alias = []; diff --git a/libraries/classes/Plugins/Export/ExportMediawiki.php b/libraries/classes/Plugins/Export/ExportMediawiki.php index f18b7a351b..7626f4de89 100644 --- a/libraries/classes/Plugins/Export/ExportMediawiki.php +++ b/libraries/classes/Plugins/Export/ExportMediawiki.php @@ -319,7 +319,6 @@ class ExportMediawiki extends ExportPlugin // Get the table data from the database $result = $dbi->query($sqlQuery, DatabaseInterface::CONNECT_USER, DatabaseInterface::QUERY_UNBUFFERED); $fields_cnt = $result->numFields(); - /** @var FieldMetadata[] $fieldsMeta */ $fieldsMeta = $dbi->getFieldsMeta($result); while ($row = $result->fetchRow()) { diff --git a/libraries/classes/Plugins/Export/ExportPhparray.php b/libraries/classes/Plugins/Export/ExportPhparray.php index 25097c2753..881f7c12b8 100644 --- a/libraries/classes/Plugins/Export/ExportPhparray.php +++ b/libraries/classes/Plugins/Export/ExportPhparray.php @@ -171,7 +171,6 @@ class ExportPhparray extends ExportPlugin $result = $dbi->query($sqlQuery, DatabaseInterface::CONNECT_USER, DatabaseInterface::QUERY_UNBUFFERED); $columns_cnt = $result->numFields(); - /** @var FieldMetadata[] $fieldsMeta */ $fieldsMeta = $dbi->getFieldsMeta($result); $columns = []; foreach ($result->getFieldNames() as $i => $col_as) { diff --git a/libraries/classes/Plugins/Export/ExportTexytext.php b/libraries/classes/Plugins/Export/ExportTexytext.php index 8927485491..adf972181a 100644 --- a/libraries/classes/Plugins/Export/ExportTexytext.php +++ b/libraries/classes/Plugins/Export/ExportTexytext.php @@ -187,7 +187,6 @@ class ExportTexytext extends ExportPlugin // Gets the data from the database $result = $dbi->query($sqlQuery, DatabaseInterface::CONNECT_USER, DatabaseInterface::QUERY_UNBUFFERED); $fields_cnt = $result->numFields(); - /** @var FieldMetadata[] $fieldsMeta */ $fieldsMeta = $dbi->getFieldsMeta($result); // If required, get fields name at the first line diff --git a/libraries/classes/Plugins/Export/ExportXml.php b/libraries/classes/Plugins/Export/ExportXml.php index 6895578a4b..36b73cae11 100644 --- a/libraries/classes/Plugins/Export/ExportXml.php +++ b/libraries/classes/Plugins/Export/ExportXml.php @@ -465,7 +465,6 @@ class ExportXml extends ExportPlugin $result = $dbi->query($sqlQuery, DatabaseInterface::CONNECT_USER, DatabaseInterface::QUERY_UNBUFFERED); $columns_cnt = $result->numFields(); - /** @var FieldMetadata[] $fieldsMeta */ $fieldsMeta = $dbi->getFieldsMeta($result); $columns = []; foreach ($result->getFieldNames() as $column) { diff --git a/libraries/classes/Plugins/Export/ExportYaml.php b/libraries/classes/Plugins/Export/ExportYaml.php index 7edceb2270..9df20345ab 100644 --- a/libraries/classes/Plugins/Export/ExportYaml.php +++ b/libraries/classes/Plugins/Export/ExportYaml.php @@ -142,7 +142,6 @@ class ExportYaml extends ExportPlugin $result = $dbi->query($sqlQuery, DatabaseInterface::CONNECT_USER, DatabaseInterface::QUERY_UNBUFFERED); $columns_cnt = $result->numFields(); - /** @var FieldMetadata[] $fieldsMeta */ $fieldsMeta = $dbi->getFieldsMeta($result); $columns = []; diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 6680a7a261..6b411fad4b 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -20772,7 +20772,7 @@ parameters: - message: "#^Cannot access offset mixed on mixed\\.$#" - count: 3 + count: 4 path: libraries/classes/Index.php - @@ -25577,7 +25577,7 @@ parameters: - message: "#^Cannot access offset int\\<0, max\\> on mixed\\.$#" - count: 1 + count: 3 path: libraries/classes/Plugins/Export/ExportCsv.php - @@ -25590,6 +25590,16 @@ parameters: count: 1 path: libraries/classes/Plugins/Export/ExportCsv.php + - + message: "#^Cannot access property \\$isBinary on mixed\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportCsv.php + + - + message: "#^Cannot access property \\$isMappedTypeGeometry on mixed\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportCsv.php + - message: "#^Cannot call method fetchRow\\(\\) on mixed\\.$#" count: 1 @@ -25600,6 +25610,11 @@ parameters: count: 1 path: libraries/classes/Plugins/Export/ExportCsv.php + - + message: "#^Cannot call method getFieldsMeta\\(\\) on mixed\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportCsv.php + - message: "#^Cannot call method numFields\\(\\) on mixed\\.$#" count: 1 @@ -25625,6 +25640,11 @@ parameters: count: 1 path: libraries/classes/Plugins/Export/ExportCsv.php + - + message: "#^Parameter \\#1 \\$data of function bin2hex expects string, mixed given\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportCsv.php + - message: "#^Parameter \\#1 \\$search of function str_replace expects array\\|string, mixed given\\.$#" count: 4 @@ -25960,6 +25980,11 @@ parameters: count: 2 path: libraries/classes/Plugins/Export/ExportLatex.php + - + message: "#^Cannot access offset int\\<0, max\\> on mixed\\.$#" + count: 2 + path: libraries/classes/Plugins/Export/ExportLatex.php + - message: "#^Cannot access offset mixed on mixed\\.$#" count: 3 @@ -25970,6 +25995,16 @@ parameters: count: 2 path: libraries/classes/Plugins/Export/ExportLatex.php + - + message: "#^Cannot access property \\$isBinary on mixed\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportLatex.php + + - + message: "#^Cannot access property \\$isMappedTypeGeometry on mixed\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportLatex.php + - message: "#^Cannot call method fetchAssoc\\(\\) on mixed\\.$#" count: 1 @@ -25985,6 +26020,11 @@ parameters: count: 1 path: libraries/classes/Plugins/Export/ExportLatex.php + - + message: "#^Cannot call method getFieldsMeta\\(\\) on mixed\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportLatex.php + - message: "#^Cannot call method getTableIndexes\\(\\) on mixed\\.$#" count: 1 @@ -26030,6 +26070,11 @@ parameters: count: 1 path: libraries/classes/Plugins/Export/ExportLatex.php + - + message: "#^Parameter \\#1 \\$data of function bin2hex expects string, mixed given\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportLatex.php + - message: "#^Parameter \\#1 \\$str of function stripslashes expects string, mixed given\\.$#" count: 2 @@ -26092,7 +26137,7 @@ parameters: - message: "#^Cannot access offset int\\<0, max\\> on mixed\\.$#" - count: 1 + count: 4 path: libraries/classes/Plugins/Export/ExportMediawiki.php - @@ -26105,6 +26150,16 @@ parameters: count: 2 path: libraries/classes/Plugins/Export/ExportMediawiki.php + - + message: "#^Cannot access property \\$isBinary on mixed\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportMediawiki.php + + - + message: "#^Cannot access property \\$isMappedTypeGeometry on mixed\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportMediawiki.php + - message: "#^Cannot call method fetchRow\\(\\) on mixed\\.$#" count: 1 @@ -26120,6 +26175,11 @@ parameters: count: 1 path: libraries/classes/Plugins/Export/ExportMediawiki.php + - + message: "#^Cannot call method getFieldsMeta\\(\\) on mixed\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportMediawiki.php + - message: "#^Cannot call method numFields\\(\\) on mixed\\.$#" count: 1 @@ -26150,6 +26210,11 @@ parameters: count: 1 path: libraries/classes/Plugins/Export/ExportMediawiki.php + - + message: "#^Parameter \\#1 \\$data of function bin2hex expects string, mixed given\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportMediawiki.php + - message: "#^Parameter \\#1 \\$identifier of static method PhpMyAdmin\\\\Util\\:\\:backquote\\(\\) expects string\\|Stringable\\|null, mixed given\\.$#" count: 2 @@ -26492,7 +26557,7 @@ parameters: - message: "#^Cannot access offset int\\<0, max\\> on mixed\\.$#" - count: 1 + count: 4 path: libraries/classes/Plugins/Export/ExportPhparray.php - @@ -26505,6 +26570,16 @@ parameters: count: 1 path: libraries/classes/Plugins/Export/ExportPhparray.php + - + message: "#^Cannot access property \\$isBinary on mixed\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportPhparray.php + + - + message: "#^Cannot access property \\$isMappedTypeGeometry on mixed\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportPhparray.php + - message: "#^Cannot call method fetchRow\\(\\) on mixed\\.$#" count: 1 @@ -26515,6 +26590,11 @@ parameters: count: 1 path: libraries/classes/Plugins/Export/ExportPhparray.php + - + message: "#^Cannot call method getFieldsMeta\\(\\) on mixed\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportPhparray.php + - message: "#^Cannot call method numFields\\(\\) on mixed\\.$#" count: 1 @@ -26545,6 +26625,11 @@ parameters: count: 1 path: libraries/classes/Plugins/Export/ExportPhparray.php + - + message: "#^Parameter \\#1 \\$data of function bin2hex expects string, mixed given\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportPhparray.php + - message: "#^Parameter \\#1 \\$identifier of static method PhpMyAdmin\\\\Util\\:\\:backquote\\(\\) expects string\\|Stringable\\|null, mixed given\\.$#" count: 2 @@ -27287,7 +27372,7 @@ parameters: - message: "#^Cannot access offset int\\<0, max\\> on mixed\\.$#" - count: 1 + count: 3 path: libraries/classes/Plugins/Export/ExportTexytext.php - @@ -27300,6 +27385,16 @@ parameters: count: 3 path: libraries/classes/Plugins/Export/ExportTexytext.php + - + message: "#^Cannot access property \\$isBinary on mixed\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportTexytext.php + + - + message: "#^Cannot access property \\$isMappedTypeGeometry on mixed\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportTexytext.php + - message: "#^Cannot call method fetchRow\\(\\) on mixed\\.$#" count: 1 @@ -27315,6 +27410,11 @@ parameters: count: 1 path: libraries/classes/Plugins/Export/ExportTexytext.php + - + message: "#^Cannot call method getFieldsMeta\\(\\) on mixed\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportTexytext.php + - message: "#^Cannot call method getTableIndexes\\(\\) on mixed\\.$#" count: 2 @@ -27385,6 +27485,11 @@ parameters: count: 1 path: libraries/classes/Plugins/Export/ExportTexytext.php + - + message: "#^Parameter \\#1 \\$data of function bin2hex expects string, mixed given\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportTexytext.php + - message: "#^Parameter \\#1 \\$str of function stripslashes expects string, mixed given\\.$#" count: 1 @@ -27477,7 +27582,7 @@ parameters: - message: "#^Cannot access offset int\\<0, max\\> on mixed\\.$#" - count: 2 + count: 4 path: libraries/classes/Plugins/Export/ExportXml.php - @@ -27490,6 +27595,16 @@ parameters: count: 2 path: libraries/classes/Plugins/Export/ExportXml.php + - + message: "#^Cannot access property \\$isBinary on mixed\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportXml.php + + - + message: "#^Cannot access property \\$isMappedTypeGeometry on mixed\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportXml.php + - message: "#^Cannot call method escapeString\\(\\) on mixed\\.$#" count: 2 @@ -27515,6 +27630,11 @@ parameters: count: 1 path: libraries/classes/Plugins/Export/ExportXml.php + - + message: "#^Cannot call method getFieldsMeta\\(\\) on mixed\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportXml.php + - message: "#^Cannot call method getProceduresOrFunctions\\(\\) on mixed\\.$#" count: 1 @@ -27595,6 +27715,11 @@ parameters: count: 1 path: libraries/classes/Plugins/Export/ExportXml.php + - + message: "#^Parameter \\#1 \\$data of function bin2hex expects string, mixed given\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportXml.php + - message: "#^Parameter \\#1 \\$db of method PhpMyAdmin\\\\Plugins\\\\Export\\\\ExportXml\\:\\:exportDefinitions\\(\\) expects string, mixed given\\.$#" count: 1 @@ -27662,7 +27787,7 @@ parameters: - message: "#^Cannot access offset int\\<0, max\\> on mixed\\.$#" - count: 1 + count: 3 path: libraries/classes/Plugins/Export/ExportYaml.php - @@ -27675,6 +27800,16 @@ parameters: count: 1 path: libraries/classes/Plugins/Export/ExportYaml.php + - + message: "#^Cannot access property \\$isBinary on mixed\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportYaml.php + + - + message: "#^Cannot access property \\$isMappedTypeGeometry on mixed\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportYaml.php + - message: "#^Cannot access property \\$name on mixed\\.$#" count: 1 @@ -27720,6 +27855,11 @@ parameters: count: 1 path: libraries/classes/Plugins/Export/ExportYaml.php + - + message: "#^Parameter \\#1 \\$data of function bin2hex expects string, mixed given\\.$#" + count: 1 + path: libraries/classes/Plugins/Export/ExportYaml.php + - message: "#^Parameter \\#1 \\$str of function stripslashes expects string, mixed given\\.$#" count: 1 @@ -35327,7 +35467,7 @@ parameters: - message: "#^Only booleans are allowed in a negated boolean, int\\|null given\\.$#" - count: 2 + count: 1 path: libraries/classes/Table.php - @@ -35340,6 +35480,11 @@ parameters: count: 3 path: libraries/classes/Table.php + - + message: "#^Only booleans are allowed in a negated boolean, string\\|null given\\.$#" + count: 1 + path: libraries/classes/Table.php + - message: "#^Only booleans are allowed in an elseif condition, int\\|false given\\.$#" count: 1 @@ -35355,6 +35500,11 @@ parameters: count: 2 path: libraries/classes/Table.php + - + message: "#^Only booleans are allowed in an if condition, int\\|null given\\.$#" + count: 1 + path: libraries/classes/Table.php + - message: "#^Only booleans are allowed in an if condition, mixed given\\.$#" count: 1 diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 01239a7a1f..2f809e6623 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -9640,7 +9640,8 @@ numFields - + + $record[$columns[$i]] $record[$columns[$i]] @@ -10134,6 +10135,9 @@ $col_as + + $record[$i] + From 42fdb08180051c46c7a2d559db563c10b60b2cb2 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Feb 2026 04:17:13 +0100 Subject: [PATCH 10/10] Fix baselines Signed-off-by: Liviu-Mihail Concioiu --- libraries/classes/Plugins/Export/ExportCsv.php | 1 - libraries/classes/Plugins/Export/ExportLatex.php | 1 - libraries/classes/Plugins/Export/ExportMediawiki.php | 1 - libraries/classes/Plugins/Export/ExportPhparray.php | 1 - libraries/classes/Plugins/Export/ExportTexytext.php | 1 - libraries/classes/Plugins/Export/ExportXml.php | 1 - psalm-baseline.xml | 6 ++++-- 7 files changed, 4 insertions(+), 8 deletions(-) diff --git a/libraries/classes/Plugins/Export/ExportCsv.php b/libraries/classes/Plugins/Export/ExportCsv.php index de1a5a6f07..ae1ef4c09b 100644 --- a/libraries/classes/Plugins/Export/ExportCsv.php +++ b/libraries/classes/Plugins/Export/ExportCsv.php @@ -8,7 +8,6 @@ declare(strict_types=1); namespace PhpMyAdmin\Plugins\Export; use PhpMyAdmin\DatabaseInterface; -use PhpMyAdmin\FieldMetadata; use PhpMyAdmin\Plugins\ExportPlugin; use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup; use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyRootGroup; diff --git a/libraries/classes/Plugins/Export/ExportLatex.php b/libraries/classes/Plugins/Export/ExportLatex.php index 66e643fff2..60c49adfd6 100644 --- a/libraries/classes/Plugins/Export/ExportLatex.php +++ b/libraries/classes/Plugins/Export/ExportLatex.php @@ -8,7 +8,6 @@ declare(strict_types=1); namespace PhpMyAdmin\Plugins\Export; use PhpMyAdmin\DatabaseInterface; -use PhpMyAdmin\FieldMetadata; use PhpMyAdmin\Plugins\ExportPlugin; use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup; use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyRootGroup; diff --git a/libraries/classes/Plugins/Export/ExportMediawiki.php b/libraries/classes/Plugins/Export/ExportMediawiki.php index 7626f4de89..a7a726254c 100644 --- a/libraries/classes/Plugins/Export/ExportMediawiki.php +++ b/libraries/classes/Plugins/Export/ExportMediawiki.php @@ -8,7 +8,6 @@ declare(strict_types=1); namespace PhpMyAdmin\Plugins\Export; use PhpMyAdmin\DatabaseInterface; -use PhpMyAdmin\FieldMetadata; use PhpMyAdmin\Plugins\ExportPlugin; use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup; use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyRootGroup; diff --git a/libraries/classes/Plugins/Export/ExportPhparray.php b/libraries/classes/Plugins/Export/ExportPhparray.php index 881f7c12b8..caf6efb11f 100644 --- a/libraries/classes/Plugins/Export/ExportPhparray.php +++ b/libraries/classes/Plugins/Export/ExportPhparray.php @@ -8,7 +8,6 @@ declare(strict_types=1); namespace PhpMyAdmin\Plugins\Export; use PhpMyAdmin\DatabaseInterface; -use PhpMyAdmin\FieldMetadata; use PhpMyAdmin\Plugins\ExportPlugin; use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup; use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyRootGroup; diff --git a/libraries/classes/Plugins/Export/ExportTexytext.php b/libraries/classes/Plugins/Export/ExportTexytext.php index adf972181a..31c4c3772d 100644 --- a/libraries/classes/Plugins/Export/ExportTexytext.php +++ b/libraries/classes/Plugins/Export/ExportTexytext.php @@ -8,7 +8,6 @@ declare(strict_types=1); namespace PhpMyAdmin\Plugins\Export; use PhpMyAdmin\DatabaseInterface; -use PhpMyAdmin\FieldMetadata; use PhpMyAdmin\Plugins\ExportPlugin; use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup; use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyRootGroup; diff --git a/libraries/classes/Plugins/Export/ExportXml.php b/libraries/classes/Plugins/Export/ExportXml.php index 36b73cae11..74a33185ef 100644 --- a/libraries/classes/Plugins/Export/ExportXml.php +++ b/libraries/classes/Plugins/Export/ExportXml.php @@ -5,7 +5,6 @@ declare(strict_types=1); namespace PhpMyAdmin\Plugins\Export; use PhpMyAdmin\DatabaseInterface; -use PhpMyAdmin\FieldMetadata; use PhpMyAdmin\Plugins\ExportPlugin; use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup; use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyRootGroup; diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 2f809e6623..1b9d6a2786 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -7894,13 +7894,15 @@ self::$registry[$schema][$table] self::$registry[$schema][$table] - + + $columns['collations'][$key] $columns['sub_parts'][$key] self::$registry[$schema][$table][$keyName] self::$registry[$schema][$table][$keyName] self::$registry[$schema][$table][$keyName] - + + $collation $column $column $data['columns'][]