From b50a85bb040f1e3665ddedbb210fedf26056e110 Mon Sep 17 00:00:00 2001 From: William Desportes Date: Tue, 7 May 2019 13:40:04 +0200 Subject: [PATCH] Fix #14588 - export all geometry objects as hex (ODS, ODT) Signed-off-by: William Desportes --- libraries/classes/Plugins/Export/ExportOds.php | 4 ++++ libraries/classes/Plugins/Export/ExportOdt.php | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/libraries/classes/Plugins/Export/ExportOds.php b/libraries/classes/Plugins/Export/ExportOds.php index ca822b7890..aa6c1648fc 100644 --- a/libraries/classes/Plugins/Export/ExportOds.php +++ b/libraries/classes/Plugins/Export/ExportOds.php @@ -261,6 +261,10 @@ class ExportOds extends ExportPlugin while ($row = $GLOBALS['dbi']->fetchRow($result)) { $GLOBALS['ods_buffer'] .= ''; for ($j = 0; $j < $fields_cnt; $j++) { + if ($fields_meta[$j]->type === 'geometry') { + // export GIS types as hex + $row[$j] = '0x' . bin2hex($row[$j]); + } if (!isset($row[$j]) || is_null($row[$j])) { $GLOBALS['ods_buffer'] .= '' diff --git a/libraries/classes/Plugins/Export/ExportOdt.php b/libraries/classes/Plugins/Export/ExportOdt.php index 9f840d4dd2..9ea59e3947 100644 --- a/libraries/classes/Plugins/Export/ExportOdt.php +++ b/libraries/classes/Plugins/Export/ExportOdt.php @@ -301,6 +301,10 @@ class ExportOdt extends ExportPlugin while ($row = $GLOBALS['dbi']->fetchRow($result)) { $GLOBALS['odt_buffer'] .= ''; for ($j = 0; $j < $fields_cnt; $j++) { + if ($fields_meta[$j]->type === 'geometry') { + // export GIS types as hex + $row[$j] = '0x' . bin2hex($row[$j]); + } if (!isset($row[$j]) || is_null($row[$j])) { $GLOBALS['odt_buffer'] .= ''