PHP - Allow export of geometry and binary fields
Signed-off-by: Liviu-Mihail Concioiu <liviu.concioiu@gmail.com>
This commit is contained in:
parent
4341d2c45e
commit
35917b383f
@ -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;
|
||||
@ -17,6 +18,7 @@ use PhpMyAdmin\Util;
|
||||
use PhpMyAdmin\Version;
|
||||
|
||||
use function __;
|
||||
use function bin2hex;
|
||||
use function preg_match;
|
||||
use function preg_replace;
|
||||
use function stripslashes;
|
||||
@ -169,6 +171,8 @@ 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) {
|
||||
if (! empty($aliases[$db]['tables'][$table]['columns'][$col_as])) {
|
||||
@ -216,6 +220,10 @@ class ExportPhparray extends ExportPlugin
|
||||
}
|
||||
|
||||
for ($i = 0; $i < $columns_cnt; $i++) {
|
||||
if ($record[$i] !== null && ($fieldsMeta[$i]->isMappedTypeGeometry || $fieldsMeta[$i]->isBinary)) {
|
||||
$record[$i] = '0x' . bin2hex($record[$i]);
|
||||
}
|
||||
|
||||
$buffer .= var_export($columns[$i], true)
|
||||
. ' => ' . var_export($record[$i], true)
|
||||
. ($i + 1 >= $columns_cnt ? '' : ',');
|
||||
|
||||
Loading…
Reference in New Issue
Block a user