diff --git a/application/Espo/Core/MassAction/Service.php b/application/Espo/Core/MassAction/Service.php index 0882ace220..dc9f7b275b 100644 --- a/application/Espo/Core/MassAction/Service.php +++ b/application/Espo/Core/MassAction/Service.php @@ -147,7 +147,8 @@ class Service $entity = $this->entityManager->createEntity(MassActionEntity::ENTITY_TYPE, [ 'entityType' => $entityType, 'action' => $action, - 'params' => serialize($params), + // Additional encoding to handle null-character issue in PostgreSQL. + 'params' => base64_encode(serialize($params)), 'data' => $data, ]); diff --git a/application/Espo/Entities/Export.php b/application/Espo/Entities/Export.php index 0137f6c694..b3bc722bd0 100644 --- a/application/Espo/Entities/Export.php +++ b/application/Espo/Entities/Export.php @@ -58,7 +58,7 @@ class Export extends Entity } /** @var Params $params */ - $params = unserialize($raw); + $params = unserialize(base64_decode($raw)); return $params; } diff --git a/application/Espo/Entities/MassAction.php b/application/Espo/Entities/MassAction.php index c95e2148c4..9dcda71cee 100644 --- a/application/Espo/Entities/MassAction.php +++ b/application/Espo/Entities/MassAction.php @@ -61,7 +61,7 @@ class MassAction extends Entity } /** @var Params $params */ - $params = unserialize($raw); + $params = unserialize(base64_decode($raw)); return $params; } diff --git a/application/Espo/Tools/Export/Service.php b/application/Espo/Tools/Export/Service.php index ba98b56ff9..c9d0e52788 100644 --- a/application/Espo/Tools/Export/Service.php +++ b/application/Espo/Tools/Export/Service.php @@ -133,7 +133,8 @@ class Service private function schedule(Params $params): ServiceResult { $entity = $this->entityManager->createEntity(ExportEntity::ENTITY_TYPE, [ - 'params' => serialize($params), + // Additional encoding to handle null-character issue in PostgreSQL. + 'params' => base64_encode(serialize($params)), ]); $this->jobSchedulerFactory