From 3f64755160241793de0bb77b42276e6a43f27582 Mon Sep 17 00:00:00 2001 From: diosmosis Date: Sun, 9 Sep 2018 19:56:05 -0700 Subject: Remove COLUMN_AGGREGATION_OPS_METADATA_NAME metadata before serializing original format since it can have closures. (#13304) --- plugins/API/Renderer/Original.php | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'plugins/API') diff --git a/plugins/API/Renderer/Original.php b/plugins/API/Renderer/Original.php index ca33e4e81b..815d475d71 100644 --- a/plugins/API/Renderer/Original.php +++ b/plugins/API/Renderer/Original.php @@ -10,6 +10,8 @@ namespace Piwik\Plugins\API\Renderer; use Piwik\API\ApiRenderer; use Piwik\Common; +use Piwik\DataTable; +use Piwik\DataTable\DataTableInterface; class Original extends ApiRenderer { @@ -83,6 +85,15 @@ class Original extends ApiRenderer private function serializeIfNeeded($response) { if ($this->shouldSerialize()) { + if ($response instanceof DataTableInterface) { + // remove COLUMN_AGGREGATION_OPS_METADATA_NAME metadata since it can have closures + $response->filter(function (DataTable $table) { + $allMetadata = $table->getAllTableMetadata(); + unset($allMetadata[DataTable::COLUMN_AGGREGATION_OPS_METADATA_NAME]); + $table->setAllTableMetadata($allMetadata); + }); + } + return serialize($response); } return $response; -- cgit v1.2.3