From 82695acc70e0c1552468a3624bf93727f3a0ca6d Mon Sep 17 00:00:00 2001 From: mattab <matthieu.aubry@gmail.com> Date: Thu, 10 Oct 2013 00:03:12 +1300 Subject: [PATCH] Refs #4202 Cleaning up the good old bridge classes --- core/DataTable.php | 14 +++---------- core/DataTable/Bridges.php | 30 ++++++++++++++++++++++++++++ tests/PHPUnit/Core/DataTableTest.php | 1 + 3 files changed, 34 insertions(+), 11 deletions(-) create mode 100644 core/DataTable/Bridges.php diff --git a/core/DataTable.php b/core/DataTable.php index 8bb6a93227..00170291d0 100644 --- a/core/DataTable.php +++ b/core/DataTable.php @@ -1097,6 +1097,8 @@ class DataTable */ public function addRowsFromSerializedArray($stringSerialized) { + require_once PIWIK_INCLUDE_PATH . "/core/DataTable/Bridges.php"; + $serialized = unserialize($stringSerialized); if ($serialized === false) { throw new Exception("The unserialization has failed!"); @@ -1508,14 +1510,4 @@ class DataTable $result->addRowsFromSerializedArray($data); return $result; } -} - - -// Bridge for when serialized classes were not using namespaces yet (pre Piwik 2.0) -class Piwik_DataTable_Row_DataTableSummary extends DataTableSummaryRow -{ -} - -class Piwik_DataTable_Row extends Row -{ -} +} \ No newline at end of file diff --git a/core/DataTable/Bridges.php b/core/DataTable/Bridges.php new file mode 100644 index 0000000000..42f5ada81a --- /dev/null +++ b/core/DataTable/Bridges.php @@ -0,0 +1,30 @@ +<?php +/** + * Piwik - Open source web analytics + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + * + * @category Piwik + * @package Piwik + */ + +/** + * This contains the bridge classes which were used prior to Piwik 2.0 + * The serialized reports contains these classes below, which were not using namespaces yet + */ +namespace { + + use Piwik\DataTable\Row\DataTableSummaryRow; + use Piwik\DataTable\Row; + + class Piwik_DataTable_Row_DataTableSummary extends DataTableSummaryRow + { + } + + class Piwik_DataTable_Row extends Row + { + } + +} + diff --git a/tests/PHPUnit/Core/DataTableTest.php b/tests/PHPUnit/Core/DataTableTest.php index d5195bd312..1b761b8647 100644 --- a/tests/PHPUnit/Core/DataTableTest.php +++ b/tests/PHPUnit/Core/DataTableTest.php @@ -307,6 +307,7 @@ class DataTableTest extends PHPUnit_Framework_TestCase $serializedDatatable = ''; // Prior Piwik 2.0, we didn't use namespaces. Some require PIWIK_INCLUDE_PATH . "/tests/resources/pre-Piwik2-DataTable-archived.php"; + require_once PIWIK_INCLUDE_PATH . "/core/DataTable/Bridges.php"; $this->assertTrue(strlen($serializedDatatable) > 1000); -- GitLab