Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'core/DataTable')
-rw-r--r--core/DataTable/Filter.php24
-rw-r--r--core/DataTable/Filter/AddColumnsProcessedMetrics.php19
-rw-r--r--core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php17
-rw-r--r--core/DataTable/Filter/AddConstantMetadata.php12
-rw-r--r--core/DataTable/Filter/AddSummaryRow.php23
-rw-r--r--core/DataTable/Filter/BeautifyRangeLabels.php10
-rw-r--r--core/DataTable/Filter/BeautifyTimeRangeLabels.php8
-rwxr-xr-xcore/DataTable/Filter/CalculateEvolutionFilter.php31
-rwxr-xr-xcore/DataTable/Filter/ColumnCallbackAddColumn.php12
-rw-r--r--core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php7
-rw-r--r--core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php19
-rw-r--r--core/DataTable/Filter/ColumnCallbackAddMetadata.php24
-rw-r--r--core/DataTable/Filter/ColumnCallbackDeleteRow.php12
-rw-r--r--core/DataTable/Filter/ColumnCallbackReplace.php18
-rw-r--r--core/DataTable/Filter/ColumnDelete.php25
-rw-r--r--core/DataTable/Filter/ExcludeLowPopulation.php22
-rwxr-xr-xcore/DataTable/Filter/GroupBy.php14
-rw-r--r--core/DataTable/Filter/Limit.php14
-rw-r--r--core/DataTable/Filter/MetadataCallbackAddMetadata.php14
-rw-r--r--core/DataTable/Filter/MetadataCallbackReplace.php16
-rw-r--r--core/DataTable/Filter/Null.php12
-rw-r--r--core/DataTable/Filter/Pattern.php12
-rw-r--r--core/DataTable/Filter/PatternRecursive.php21
-rw-r--r--core/DataTable/Filter/RangeCheck.php12
-rw-r--r--core/DataTable/Filter/ReplaceColumnNames.php24
-rw-r--r--core/DataTable/Filter/ReplaceSummaryRowLabel.php17
-rw-r--r--core/DataTable/Filter/SafeDecodeLabel.php13
-rw-r--r--core/DataTable/Filter/Sort.php62
-rw-r--r--core/DataTable/Filter/Truncate.php15
-rw-r--r--core/DataTable/Manager.php20
-rw-r--r--core/DataTable/Map.php (renamed from core/DataTable/Array.php)55
-rw-r--r--core/DataTable/Renderer.php34
-rw-r--r--core/DataTable/Renderer/Console.php25
-rw-r--r--core/DataTable/Renderer/Csv.php30
-rw-r--r--core/DataTable/Renderer/Html.php22
-rw-r--r--core/DataTable/Renderer/Json.php13
-rw-r--r--core/DataTable/Renderer/Php.php34
-rw-r--r--core/DataTable/Renderer/Rss.php22
-rw-r--r--core/DataTable/Renderer/Tsv.php7
-rw-r--r--core/DataTable/Renderer/Xml.php43
-rw-r--r--core/DataTable/Row.php71
-rw-r--r--core/DataTable/Row/DataTableSummaryRow.php (renamed from core/DataTable/Row/DataTableSummary.php)17
-rw-r--r--core/DataTable/Simple.php11
43 files changed, 564 insertions, 369 deletions
diff --git a/core/DataTable/Filter.php b/core/DataTable/Filter.php
index 455c5aa6e7..43cb33f2a0 100644
--- a/core/DataTable/Filter.php
+++ b/core/DataTable/Filter.php
@@ -8,6 +8,12 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable;
+
+use Exception;
+use Piwik\DataTable;
+use Piwik\DataTable\Manager;
+use Piwik\DataTable\Row;
/**
* A filter is applied instantly to a given DataTable and can
@@ -21,9 +27,9 @@
* and can do whatever is necessary on the data (in the filter() method).
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-abstract class Piwik_DataTable_Filter
+abstract class Filter
{
/**
* @var bool
@@ -32,19 +38,19 @@ abstract class Piwik_DataTable_Filter
/**
* @throws Exception
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function __construct($table)
{
- if (!($table instanceof Piwik_DataTable)) {
- throw new Exception("The filter accepts only a Piwik_DataTable object.");
+ if (!($table instanceof DataTable)) {
+ throw new Exception("The filter accepts only a DataTable object.");
}
}
/**
* Filters the given data table
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
abstract public function filter($table);
@@ -61,16 +67,16 @@ abstract class Piwik_DataTable_Filter
/**
* Filters a subtable
*
- * @param Piwik_DataTable_Row $row
+ * @param Row $row
* @return mixed
*/
- public function filterSubTable(Piwik_DataTable_Row $row)
+ public function filterSubTable(Row $row)
{
if (!$this->enableRecursive) {
return;
}
if ($row->isSubtableLoaded()) {
- $subTable = Piwik_DataTable_Manager::getInstance()->getTable($row->getIdSubDataTable());
+ $subTable = Manager::getInstance()->getTable($row->getIdSubDataTable());
$this->filter($subTable);
}
}
diff --git a/core/DataTable/Filter/AddColumnsProcessedMetrics.php b/core/DataTable/Filter/AddColumnsProcessedMetrics.php
index 73baf7aaa9..dc41dacdc7 100644
--- a/core/DataTable/Filter/AddColumnsProcessedMetrics.php
+++ b/core/DataTable/Filter/AddColumnsProcessedMetrics.php
@@ -8,22 +8,27 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable\Filter;
+use Piwik\DataTable\Row;
use Piwik\Metrics;
+use Piwik\DataTable;
/**
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_AddColumnsProcessedMetrics extends Piwik_DataTable_Filter
+class AddColumnsProcessedMetrics extends Filter
{
protected $invalidDivision = 0;
protected $roundPrecision = 2;
protected $deleteRowsWithNoVisit = true;
/**
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @param bool $deleteRowsWithNoVisit Automatically set to true when filter_add_columns_when_show_all_columns is found in the API request
- * @return Piwik_DataTable_Filter_AddColumnsProcessedMetrics
+ * @return AddColumnsProcessedMetrics
*/
public function __construct($table, $deleteRowsWithNoVisit = true)
{
@@ -34,7 +39,7 @@ class Piwik_DataTable_Filter_AddColumnsProcessedMetrics extends Piwik_DataTable_
/**
* Filters the given data table
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function filter($table)
{
@@ -97,7 +102,7 @@ class Piwik_DataTable_Filter_AddColumnsProcessedMetrics extends Piwik_DataTable_
* - raw datatables coming from the archive DB, which columns are int indexed
* - datatables processed resulting of API calls, which columns have human readable english names
*
- * @param Piwik_DataTable_Row $row
+ * @param Row $row
* @param int $columnIdRaw see consts in Archive::
* @param bool $mappingIdToName
* @return mixed Value of column, false if not found
@@ -108,7 +113,7 @@ class Piwik_DataTable_Filter_AddColumnsProcessedMetrics extends Piwik_DataTable_
$mappingIdToName = Metrics::$mappingFromIdToName;
}
$columnIdReadable = $mappingIdToName[$columnIdRaw];
- if ($row instanceof Piwik_DataTable_Row) {
+ if ($row instanceof Row) {
$raw = $row->getColumn($columnIdRaw);
if ($raw !== false) {
return $raw;
diff --git a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php
index 99d822bbd0..422df1adcf 100644
--- a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php
+++ b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php
@@ -8,14 +8,19 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Exception;
use Piwik\Metrics;
use Piwik\Piwik;
+use Piwik\DataTable;
+use Piwik\DataTable\Filter\AddColumnsProcessedMetrics;
/**
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal extends Piwik_DataTable_Filter_AddColumnsProcessedMetrics
+class AddColumnsProcessedMetricsGoal extends AddColumnsProcessedMetrics
{
/**
* Process main goal metrics: conversion rate, revenue per visit
@@ -41,13 +46,13 @@ class Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal extends Piwik_DataTa
* - nb conversions
* - revenue per visit
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @param bool $enable should be true (automatically set to true when filter_update_columns_when_show_all_goals is found in the API request)
* @param string $processOnlyIdGoal Defines what metrics to add (don't process metrics when you don't display them)
* If self::GOALS_FULL_TABLE, all Goal metrics (and per goal metrics) will be processed
* If self::GOALS_OVERVIEW, only the main goal metrics will be added
* If an int > 0, then will process only metrics for this specific Goal
- * @return Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal
+ * @return \Piwik\DataTable\Filter\AddColumnsProcessedMetricsGoal
*/
public function __construct($table, $enable = true, $processOnlyIdGoal)
{
@@ -61,13 +66,13 @@ class Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal extends Piwik_DataTa
/**
* Filters the given data table
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function filter($table)
{
// Add standard processed metrics
parent::filter($table);
- $roundingPrecision = Piwik_Tracker_GoalManager::REVENUE_PRECISION;
+ $roundingPrecision = \Piwik_Tracker_GoalManager::REVENUE_PRECISION;
$expectedColumns = array();
foreach ($table->getRows() as $key => $row) {
$currentColumns = $row->getColumns();
diff --git a/core/DataTable/Filter/AddConstantMetadata.php b/core/DataTable/Filter/AddConstantMetadata.php
index 4bff5aa813..f3682f5b10 100644
--- a/core/DataTable/Filter/AddConstantMetadata.php
+++ b/core/DataTable/Filter/AddConstantMetadata.php
@@ -8,6 +8,10 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter;
/**
* Add a new metadata column to the table.
@@ -16,14 +20,14 @@
* This value is fixed for all icons so we simply add the same value for all rows.
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_AddConstantMetadata extends Piwik_DataTable_Filter
+class AddConstantMetadata extends Filter
{
/**
* Creates a new filter and sets all required parameters
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @param string $metadataName
* @param mixed $metadataValue
*/
@@ -37,7 +41,7 @@ class Piwik_DataTable_Filter_AddConstantMetadata extends Piwik_DataTable_Filter
/**
* Filters the given data table
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function filter($table)
{
diff --git a/core/DataTable/Filter/AddSummaryRow.php b/core/DataTable/Filter/AddSummaryRow.php
index ca0cb1882f..12504fa033 100644
--- a/core/DataTable/Filter/AddSummaryRow.php
+++ b/core/DataTable/Filter/AddSummaryRow.php
@@ -8,6 +8,11 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter;
+use Piwik\DataTable\Row;
/**
* Add a new row to the table containing a summary
@@ -23,14 +28,14 @@
* This row is assigned a label of 'Others'.
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_AddSummaryRow extends Piwik_DataTable_Filter
+class AddSummaryRow extends Filter
{
/**
* Creates a new filter and set all required parameters
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @param int $startRowToSummarize
* @param int $labelSummaryRow
* @param null $columnToSortByBeforeTruncating
@@ -38,7 +43,7 @@ class Piwik_DataTable_Filter_AddSummaryRow extends Piwik_DataTable_Filter
*/
public function __construct($table,
$startRowToSummarize,
- $labelSummaryRow = Piwik_DataTable::LABEL_SUMMARY_ROW,
+ $labelSummaryRow = DataTable::LABEL_SUMMARY_ROW,
$columnToSortByBeforeTruncating = null,
$deleteRows = true)
{
@@ -52,7 +57,7 @@ class Piwik_DataTable_Filter_AddSummaryRow extends Piwik_DataTable_Filter
/**
* Adds a summary row to the given data table
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function filter($table)
{
@@ -62,14 +67,14 @@ class Piwik_DataTable_Filter_AddSummaryRow extends Piwik_DataTable_Filter
if ($table->getRowsCount() <= $this->startRowToSummarize + 1) {
return;
}
-
+
$rows = $table->getRows();
$count = $table->getRowsCount();
- $newRow = new Piwik_DataTable_Row();
+ $newRow = new Row();
for ($i = $this->startRowToSummarize; $i < $count; $i++) {
if (!isset($rows[$i])) {
- // case when the last row is a summary row, it is not indexed by $cout but by Piwik_DataTable::ID_SUMMARY_ROW
- $summaryRow = $table->getRowFromId(Piwik_DataTable::ID_SUMMARY_ROW);
+ // case when the last row is a summary row, it is not indexed by $cout but by DataTable::ID_SUMMARY_ROW
+ $summaryRow = $table->getRowFromId(DataTable::ID_SUMMARY_ROW);
//FIXME: I'm not sure why it could return false, but it was reported in: http://forum.piwik.org/read.php?2,89324,page=1#msg-89442
if ($summaryRow) {
diff --git a/core/DataTable/Filter/BeautifyRangeLabels.php b/core/DataTable/Filter/BeautifyRangeLabels.php
index 329bcf3308..5e2c0c1336 100644
--- a/core/DataTable/Filter/BeautifyRangeLabels.php
+++ b/core/DataTable/Filter/BeautifyRangeLabels.php
@@ -8,6 +8,10 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter\ColumnCallbackReplace;
/**
* A DataTable filter that replaces range label columns with prettier,
@@ -26,7 +30,7 @@
* This filter can also be extended to beautify ranges differently based
* on the range values.
*/
-class Piwik_DataTable_Filter_BeautifyRangeLabels extends Piwik_DataTable_Filter_ColumnCallbackReplace
+class BeautifyRangeLabels extends ColumnCallbackReplace
{
/**
* The string to use when the range being beautified is between 1-1 units.
@@ -44,7 +48,7 @@ class Piwik_DataTable_Filter_BeautifyRangeLabels extends Piwik_DataTable_Filter_
/**
* Constructor.
*
- * @param Piwik_DataTable $table The DataTable that will be filtered.
+ * @param DataTable $table The DataTable that will be filtered.
* @param string $labelSingular The string to use when the range being beautified
* is equal to '1-1 units'.
* @param string $labelPlural The string to use when the range being beautified
@@ -85,7 +89,7 @@ class Piwik_DataTable_Filter_BeautifyRangeLabels extends Piwik_DataTable_Filter_
// get the lower bound
sscanf($value, "%d", $lowerBound);
- if ($lowerBound !== NULL) {
+ if ($lowerBound !== null) {
$plusEncoded = urlencode('+');
$plusLen = strlen($plusEncoded);
$len = strlen($value);
diff --git a/core/DataTable/Filter/BeautifyTimeRangeLabels.php b/core/DataTable/Filter/BeautifyTimeRangeLabels.php
index 1a2dffce5a..f8fcb59b77 100644
--- a/core/DataTable/Filter/BeautifyTimeRangeLabels.php
+++ b/core/DataTable/Filter/BeautifyTimeRangeLabels.php
@@ -8,6 +8,10 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter\BeautifyRangeLabels;
/**
* A DataTable filter replaces range labels that are in seconds with
@@ -17,7 +21,7 @@
* so range values that span values that are less than one minute are
* displayed in seconds but other ranges are displayed in minutes.
*/
-class Piwik_DataTable_Filter_BeautifyTimeRangeLabels extends Piwik_DataTable_Filter_BeautifyRangeLabels
+class BeautifyTimeRangeLabels extends BeautifyRangeLabels
{
/**
* A format string used to create pretty range labels when the range's
@@ -31,7 +35,7 @@ class Piwik_DataTable_Filter_BeautifyTimeRangeLabels extends Piwik_DataTable_Fil
/**
* Constructor.
*
- * @param Piwik_DataTable $table The DataTable this filter will run over.
+ * @param DataTable $table The DataTable this filter will run over.
* @param string $labelSecondsPlural A string to use when beautifying range labels
* whose lower bound is between 0 and 60. Must be
* a format string that takes two numeric params.
diff --git a/core/DataTable/Filter/CalculateEvolutionFilter.php b/core/DataTable/Filter/CalculateEvolutionFilter.php
index e38fb93136..f8d5886d25 100755
--- a/core/DataTable/Filter/CalculateEvolutionFilter.php
+++ b/core/DataTable/Filter/CalculateEvolutionFilter.php
@@ -8,7 +8,12 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Row;
use Piwik\Site;
+use Piwik\DataTable\Filter\ColumnCallbackAddColumnPercentage;
/**
* A DataTable filter that calculates the evolution of a metric and adds
@@ -21,7 +26,7 @@ use Piwik\Site;
* The evolution metric is calculated as:
* <code>((currentValue - pastValue) / pastValue) * 100</code>
*/
-class Piwik_DataTable_Filter_CalculateEvolutionFilter extends Piwik_DataTable_Filter_ColumnCallbackAddColumnPercentage
+class CalculateEvolutionFilter extends ColumnCallbackAddColumnPercentage
{
/**
* The the DataTable that contains past data.
@@ -36,11 +41,11 @@ class Piwik_DataTable_Filter_CalculateEvolutionFilter extends Piwik_DataTable_Fi
/**
* Constructor.
*
- * @param Piwik_DataTable $table The DataTable being filtered.
- * @param string $pastDataTable
- * @param string $columnToAdd
- * @param string $columnToRead
- * @param int $quotientPrecision
+ * @param DataTable $table The DataTable being filtered.
+ * @param string $pastDataTable
+ * @param string $columnToAdd
+ * @param string $columnToRead
+ * @param int $quotientPrecision
*/
function __construct($table, $pastDataTable, $columnToAdd, $columnToRead, $quotientPrecision = 0)
{
@@ -56,7 +61,7 @@ class Piwik_DataTable_Filter_CalculateEvolutionFilter extends Piwik_DataTable_Fi
* Returns the difference between the column in the specific row and its
* sister column in the past DataTable.
*
- * @param Piwik_DataTable_Row $row
+ * @param Row $row
* @return int|float
*/
protected function getDividend($row)
@@ -86,7 +91,7 @@ class Piwik_DataTable_Filter_CalculateEvolutionFilter extends Piwik_DataTable_Fi
* Returns the value of the column in $row's sister row in the past
* DataTable.
*
- * @param Piwik_DataTable_Row $row
+ * @param Row $row
* @return int|float
*/
protected function getDivisor($row)
@@ -100,7 +105,7 @@ class Piwik_DataTable_Filter_CalculateEvolutionFilter extends Piwik_DataTable_Fi
/**
* Calculates and formats a quotient based on a divisor and dividend.
*
- * Unlike Piwik_DataTable_Filter_ColumnCallbackAddColumnPercentage's,
+ * Unlike ColumnCallbackAddColumnPercentage's,
* version of this method, this method will return 100% if the past
* value of a metric is 0, and the current value is not 0. For a
* value representative of an evolution, this makes sense.
@@ -119,7 +124,7 @@ class Piwik_DataTable_Filter_CalculateEvolutionFilter extends Piwik_DataTable_Fi
/**
* Utility function. Returns the current row in the past DataTable.
*
- * @param Piwik_DataTable_Row $row The row in the 'current' DataTable.
+ * @param Row $row The row in the 'current' DataTable.
*/
private function getPastRowFromCurrent($row)
{
@@ -129,10 +134,10 @@ class Piwik_DataTable_Filter_CalculateEvolutionFilter extends Piwik_DataTable_Fi
/**
* Calculates the evolution percentage for two arbitrary values.
*
- * @param float|int $currentValue The current metric value.
- * @param float|int $pastValue The value of the metric in the past. We measure the % change
+ * @param float|int $currentValue The current metric value.
+ * @param float|int $pastValue The value of the metric in the past. We measure the % change
* from this value to $currentValue.
- * @param float|int $quotientPrecision The quotient precision to round to.
+ * @param float|int $quotientPrecision The quotient precision to round to.
*
* @return string The evolution percent 15%
*/
diff --git a/core/DataTable/Filter/ColumnCallbackAddColumn.php b/core/DataTable/Filter/ColumnCallbackAddColumn.php
index 4aa8b008e4..e65ab52e40 100755
--- a/core/DataTable/Filter/ColumnCallbackAddColumn.php
+++ b/core/DataTable/Filter/ColumnCallbackAddColumn.php
@@ -8,14 +8,18 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter;
/**
* Adds a new column to every row of a DataTable based on the result of callback.
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_ColumnCallbackAddColumn extends Piwik_DataTable_Filter
+class ColumnCallbackAddColumn extends Filter
{
/**
* The names of the columns to pass to the callback.
@@ -41,7 +45,7 @@ class Piwik_DataTable_Filter_ColumnCallbackAddColumn extends Piwik_DataTable_Fil
/**
* Constructor.
*
- * @param Piwik_DataTable $table The DataTable that will be filtered.
+ * @param DataTable $table The DataTable that will be filtered.
* @param array|string $columns The names of the columns to pass to the callback.
* @param string $columnToAdd The name of the column to add.
* @param mixed $functionToApply The callback to apply to each row of a DataTable.
@@ -65,7 +69,7 @@ class Piwik_DataTable_Filter_ColumnCallbackAddColumn extends Piwik_DataTable_Fil
* Executes a callback on every row of the supplied table and adds the result of
* the callback as a new column to each row.
*
- * @param Piwik_DataTable $table The table to filter.
+ * @param DataTable $table The table to filter.
*/
public function filter($table)
{
diff --git a/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php b/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php
index 5ac99ce678..92ad07185c 100644
--- a/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php
+++ b/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php
@@ -8,7 +8,10 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
use Piwik\Piwik;
+use Piwik\DataTable\Filter\ColumnCallbackAddColumnQuotient;
/**
* Add a new column to the table which is a percentage based on the value resulting
@@ -23,9 +26,9 @@ use Piwik\Piwik;
* $dataTable->queueFilter('ColumnCallbackAddColumnPercentage', array('nb_visits', 'nb_visits_percentage', $nbVisits, 1));
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_ColumnCallbackAddColumnPercentage extends Piwik_DataTable_Filter_ColumnCallbackAddColumnQuotient
+class ColumnCallbackAddColumnPercentage extends ColumnCallbackAddColumnQuotient
{
/**
* Formats the given value
diff --git a/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php b/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php
index b5573bb731..4e95a8a9a2 100644
--- a/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php
+++ b/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php
@@ -8,15 +8,20 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter;
+use Piwik\DataTable\Row;
/**
* Adds a new column that is a division of two columns of the current row.
* Useful to process bounce rates, exit rates, average time on page, etc.
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_ColumnCallbackAddColumnQuotient extends Piwik_DataTable_Filter
+class ColumnCallbackAddColumnQuotient extends Filter
{
protected $table;
protected $columnValueToRead;
@@ -28,7 +33,7 @@ class Piwik_DataTable_Filter_ColumnCallbackAddColumnQuotient extends Piwik_DataT
protected $getDivisorFromSummaryRow;
/**
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @param string $columnNameToAdd
* @param string $columnValueToRead
* @param number|string $divisorValueOrDivisorColumnName
@@ -57,7 +62,7 @@ class Piwik_DataTable_Filter_ColumnCallbackAddColumnQuotient extends Piwik_DataT
/**
* Filters the given data table
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function filter($table)
{
@@ -101,7 +106,7 @@ class Piwik_DataTable_Filter_ColumnCallbackAddColumnQuotient extends Piwik_DataT
* Returns the dividend to use when calculating the new column value. Can
* be overridden by descendent classes to customize behavior.
*
- * @param Piwik_DataTable_Row $row The row being modified.
+ * @param Row $row The row being modified.
* @return int|float
*/
protected function getDividend($row)
@@ -113,7 +118,7 @@ class Piwik_DataTable_Filter_ColumnCallbackAddColumnQuotient extends Piwik_DataT
* Returns the divisor to use when calculating the new column value. Can
* be overridden by descendent classes to customize behavior.
*
- * @param Piwik_DataTable_Row $row The row being modified.
+ * @param Row $row The row being modified.
* @return int|float
*/
protected function getDivisor($row)
@@ -121,7 +126,7 @@ class Piwik_DataTable_Filter_ColumnCallbackAddColumnQuotient extends Piwik_DataT
if (!is_null($this->totalValueUsedAsDivisor)) {
return $this->totalValueUsedAsDivisor;
} else if ($this->getDivisorFromSummaryRow) {
- $summaryRow = $this->table->getRowFromId(Piwik_DataTable::ID_SUMMARY_ROW);
+ $summaryRow = $this->table->getRowFromId(DataTable::ID_SUMMARY_ROW);
return $summaryRow->getColumn($this->columnNameUsedAsDivisor);
} else {
return $row->getColumn($this->columnNameUsedAsDivisor);
diff --git a/core/DataTable/Filter/ColumnCallbackAddMetadata.php b/core/DataTable/Filter/ColumnCallbackAddMetadata.php
index b181f4c177..166c9e740a 100644
--- a/core/DataTable/Filter/ColumnCallbackAddMetadata.php
+++ b/core/DataTable/Filter/ColumnCallbackAddMetadata.php
@@ -8,6 +8,10 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter;
/**
* Add a new 'metadata' column to the table based on the value resulting
@@ -17,9 +21,9 @@
* with the icon URI built from the label (LINUX => UserSettings/icons/linux.png)
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_ColumnCallbackAddMetadata extends Piwik_DataTable_Filter
+class ColumnCallbackAddMetadata extends Filter
{
private $columnsToRead;
private $functionToApply;
@@ -28,12 +32,12 @@ class Piwik_DataTable_Filter_ColumnCallbackAddMetadata extends Piwik_DataTable_F
private $applyToSummaryRow;
/**
- * @param Piwik_DataTable $table
- * @param string|array $columnsToRead
- * @param string $metadataToAdd
- * @param string $functionToApply
- * @param array $functionParameters
- * @param bool $applyToSummaryRow
+ * @param DataTable $table
+ * @param string|array $columnsToRead
+ * @param string $metadataToAdd
+ * @param string $functionToApply
+ * @param array $functionParameters
+ * @param bool $applyToSummaryRow
*/
public function __construct($table, $columnsToRead, $metadataToAdd, $functionToApply = null,
$functionParameters = null, $applyToSummaryRow = true)
@@ -54,12 +58,12 @@ class Piwik_DataTable_Filter_ColumnCallbackAddMetadata extends Piwik_DataTable_F
/**
* Filters the given data table
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function filter($table)
{
foreach ($table->getRows() as $key => $row) {
- if (!$this->applyToSummaryRow && $key == Piwik_DataTable::ID_SUMMARY_ROW) {
+ if (!$this->applyToSummaryRow && $key == DataTable::ID_SUMMARY_ROW) {
continue;
}
diff --git a/core/DataTable/Filter/ColumnCallbackDeleteRow.php b/core/DataTable/Filter/ColumnCallbackDeleteRow.php
index dbe0684cf8..66c0eded79 100644
--- a/core/DataTable/Filter/ColumnCallbackDeleteRow.php
+++ b/core/DataTable/Filter/ColumnCallbackDeleteRow.php
@@ -8,21 +8,25 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter;
/**
* Delete all rows for which a given function returns false for a given column.
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_ColumnCallbackDeleteRow extends Piwik_DataTable_Filter
+class ColumnCallbackDeleteRow extends Filter
{
private $columnToFilter;
private $function;
private $functionParams;
/**
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @param string $columnToFilter
* @param callback $function
* @param array $functionParams
@@ -43,7 +47,7 @@ class Piwik_DataTable_Filter_ColumnCallbackDeleteRow extends Piwik_DataTable_Fil
/**
* Filters the given data table
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function filter($table)
{
diff --git a/core/DataTable/Filter/ColumnCallbackReplace.php b/core/DataTable/Filter/ColumnCallbackReplace.php
index f1c2d65f3a..4b2110eff3 100644
--- a/core/DataTable/Filter/ColumnCallbackReplace.php
+++ b/core/DataTable/Filter/ColumnCallbackReplace.php
@@ -8,15 +8,21 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter;
+use Piwik\DataTable\Row;
+use Piwik\Piwik;
/**
* Replace a column value with a new value resulting
* from the function called with the column's value
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_ColumnCallbackReplace extends Piwik_DataTable_Filter
+class ColumnCallbackReplace extends Filter
{
private $columnsToFilter;
private $functionToApply;
@@ -24,7 +30,7 @@ class Piwik_DataTable_Filter_ColumnCallbackReplace extends Piwik_DataTable_Filte
private $extraColumnParameters;
/**
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @param array|string $columnsToFilter
* @param callback $functionToApply
* @param array|null $functionParameters
@@ -48,7 +54,7 @@ class Piwik_DataTable_Filter_ColumnCallbackReplace extends Piwik_DataTable_Filte
/**
* Filters the given data table
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function filter($table)
{
@@ -79,7 +85,7 @@ class Piwik_DataTable_Filter_ColumnCallbackReplace extends Piwik_DataTable_Filte
/**
* Replaces the given column within given row with the given value
*
- * @param Piwik_DataTable_Row $row
+ * @param Row $row
* @param string $columnToFilter
* @param mixed $newValue
*/
@@ -91,7 +97,7 @@ class Piwik_DataTable_Filter_ColumnCallbackReplace extends Piwik_DataTable_Filte
/**
* Returns the element that should be replaced
*
- * @param Piwik_DataTable_Row $row
+ * @param Row $row
* @param string $columnToFilter
* @return mixed
*/
diff --git a/core/DataTable/Filter/ColumnDelete.php b/core/DataTable/Filter/ColumnDelete.php
index 709d56a02e..5540634ef8 100644
--- a/core/DataTable/Filter/ColumnDelete.php
+++ b/core/DataTable/Filter/ColumnDelete.php
@@ -8,15 +8,19 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter;
/**
* Filter that will remove columns from a DataTable using either a blacklist,
* whitelist or both.
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_ColumnDelete extends Piwik_DataTable_Filter
+class ColumnDelete extends Filter
{
/**
* The columns that should be removed from DataTable rows.
@@ -51,13 +55,13 @@ class Piwik_DataTable_Filter_ColumnDelete extends Piwik_DataTable_Filter
/**
* Constructor.
*
- * @param Piwik_DataTable $table
- * @param array|string $columnsToRemove An array of column names or a comma-separated list of
+ * @param DataTable $table
+ * @param array|string $columnsToRemove An array of column names or a comma-separated list of
* column names. These columns will be removed.
- * @param array|string $columnsToKeep An array of column names that should be kept or a
+ * @param array|string $columnsToKeep An array of column names that should be kept or a
* comma-separated list of column names. Columns not in
* this list will be removed.
- * @param bool $deleteIfZeroOnly
+ * @param bool $deleteIfZeroOnly
*/
public function __construct($table, $columnsToRemove, $columnsToKeep = array(), $deleteIfZeroOnly = false)
{
@@ -80,7 +84,7 @@ class Piwik_DataTable_Filter_ColumnDelete extends Piwik_DataTable_Filter
* Filters the given DataTable. Removes columns that are not desired from
* each DataTable row.
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function filter($table)
{
@@ -112,15 +116,16 @@ class Piwik_DataTable_Filter_ColumnDelete extends Piwik_DataTable_Filter
$keep = false;
// @see self::APPEND_TO_COLUMN_NAME_TO_KEEP
- foreach($this->columnsToKeep as $nameKeep => $true) {
- if(strpos($name, $nameKeep . self::APPEND_TO_COLUMN_NAME_TO_KEEP) === 0) {
+ foreach ($this->columnsToKeep as $nameKeep => $true) {
+ if (strpos($name, $nameKeep . self::APPEND_TO_COLUMN_NAME_TO_KEEP) === 0) {
$keep = true;
}
}
if (!$keep
&& $name != 'label' // label cannot be removed via whitelisting
- && !isset($this->columnsToKeep[$name])) {
+ && !isset($this->columnsToKeep[$name])
+ ) {
$row->deleteColumn($name);
}
}
diff --git a/core/DataTable/Filter/ExcludeLowPopulation.php b/core/DataTable/Filter/ExcludeLowPopulation.php
index 9f4d5c723c..07699ea2ea 100644
--- a/core/DataTable/Filter/ExcludeLowPopulation.php
+++ b/core/DataTable/Filter/ExcludeLowPopulation.php
@@ -8,6 +8,10 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter;
/**
* Delete all rows that have a $columnToFilter value less than the $minimumValue
@@ -17,16 +21,16 @@
* You can obviously apply this filter on a percentaged column, eg. remove all countries with the column 'percent_visits' less than 0.05
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_ExcludeLowPopulation extends Piwik_DataTable_Filter
+class ExcludeLowPopulation extends Filter
{
const MINIMUM_SIGNIFICANT_PERCENTAGE_THRESHOLD = 0.02;
-
+
/**
* The minimum value to enforce in a datatable for a specified column. Rows found with
* a value less than this are removed.
- *
+ *
* @var number
*/
private $minimumValue;
@@ -34,7 +38,7 @@ class Piwik_DataTable_Filter_ExcludeLowPopulation extends Piwik_DataTable_Filter
/**
* Constructor
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @param string $columnToFilter column to filter
* @param number|Closure $minimumValue minimum value
* @param bool $minimumPercentageThreshold
@@ -43,7 +47,7 @@ class Piwik_DataTable_Filter_ExcludeLowPopulation extends Piwik_DataTable_Filter
{
parent::__construct($table);
$this->columnToFilter = $columnToFilter;
-
+
if ($minimumValue == 0) {
if ($minimumPercentageThreshold === false) {
$minimumPercentageThreshold = self::MINIMUM_SIGNIFICANT_PERCENTAGE_THRESHOLD;
@@ -52,14 +56,14 @@ class Piwik_DataTable_Filter_ExcludeLowPopulation extends Piwik_DataTable_Filter
$sumValues = array_sum($allValues);
$minimumValue = $sumValues * $minimumPercentageThreshold;
}
-
+
$this->minimumValue = $minimumValue;
}
/**
* Executes filter and removes all rows below the defined minimum
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function filter($table)
{
@@ -67,7 +71,7 @@ class Piwik_DataTable_Filter_ExcludeLowPopulation extends Piwik_DataTable_Filter
$isValueHighPopulation = function ($value) use ($minimumValue) {
return $value >= $minimumValue;
};
-
+
$table->filter('ColumnCallbackDeleteRow', array($this->columnToFilter, $isValueHighPopulation));
}
}
diff --git a/core/DataTable/Filter/GroupBy.php b/core/DataTable/Filter/GroupBy.php
index 166994cd29..2dbc839c59 100755
--- a/core/DataTable/Filter/GroupBy.php
+++ b/core/DataTable/Filter/GroupBy.php
@@ -8,6 +8,10 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter;
/**
* DataTable filter that will group DataTable rows together based on the results
@@ -16,9 +20,9 @@
* NOTE: This filter should never be queued, it must be applied directly on a DataTable.
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_GroupBy extends Piwik_DataTable_Filter
+class GroupBy extends Filter
{
/**
* The name of the columns to reduce.
@@ -40,7 +44,7 @@ class Piwik_DataTable_Filter_GroupBy extends Piwik_DataTable_Filter
/**
* Constructor.
*
- * @param Piwik_DataTable $table The DataTable to filter.
+ * @param DataTable $table The DataTable to filter.
* @param string $groupByColumn The column name to reduce.
* @param mixed $reduceFunction The reduce function. This must alter the $groupByColumn in some way.
* @param array $parameters Extra parameters to supply to the reduce function.
@@ -57,7 +61,7 @@ class Piwik_DataTable_Filter_GroupBy extends Piwik_DataTable_Filter
/**
* Applies the reduce function to each row and merges rows w/ the same reduce result.
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function filter($table)
{
@@ -66,7 +70,7 @@ class Piwik_DataTable_Filter_GroupBy extends Piwik_DataTable_Filter
foreach ($table->getRows() as $rowId => $row) {
// skip the summary row
- if ($rowId == Piwik_DataTable::ID_SUMMARY_ROW) {
+ if ($rowId == DataTable::ID_SUMMARY_ROW) {
continue;
}
diff --git a/core/DataTable/Filter/Limit.php b/core/DataTable/Filter/Limit.php
index 7845727948..5d751ddbc4 100644
--- a/core/DataTable/Filter/Limit.php
+++ b/core/DataTable/Filter/Limit.php
@@ -8,19 +8,23 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter;
/**
* Delete all rows from the table that are not in the offset,offset+limit range
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_Limit extends Piwik_DataTable_Filter
+class Limit extends Filter
{
/**
* Filter constructor.
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @param int $offset Starting row (indexed from 0)
* @param int $limit Number of rows to keep (specify -1 to keep all rows)
* @param bool $keepSummaryRow Whether to keep the summary row or not.
@@ -40,14 +44,14 @@ class Piwik_DataTable_Filter_Limit extends Piwik_DataTable_Filter
/**
* Limits the given data table
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function filter($table)
{
$table->setRowsCountBeforeLimitFilter();
if ($this->keepSummaryRow) {
- $summaryRow = $table->getRowFromId(Piwik_DataTable::ID_SUMMARY_ROW);
+ $summaryRow = $table->getRowFromId(DataTable::ID_SUMMARY_ROW);
}
// we delete from 0 to offset
diff --git a/core/DataTable/Filter/MetadataCallbackAddMetadata.php b/core/DataTable/Filter/MetadataCallbackAddMetadata.php
index dbfc1728ee..b24402c870 100644
--- a/core/DataTable/Filter/MetadataCallbackAddMetadata.php
+++ b/core/DataTable/Filter/MetadataCallbackAddMetadata.php
@@ -8,6 +8,10 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter;
/**
* Add a new metadata to the table based on the value resulting
@@ -18,9 +22,9 @@
* the path of the logo for this search engine URL (which has the format URL.png).
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_MetadataCallbackAddMetadata extends Piwik_DataTable_Filter
+class MetadataCallbackAddMetadata extends Filter
{
private $metadataToRead;
private $functionToApply;
@@ -28,7 +32,7 @@ class Piwik_DataTable_Filter_MetadataCallbackAddMetadata extends Piwik_DataTable
private $applyToSummaryRow;
/**
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @param string|array $metadataToRead
* @param string $metadataToAdd
* @param callback $functionToApply
@@ -50,12 +54,12 @@ class Piwik_DataTable_Filter_MetadataCallbackAddMetadata extends Piwik_DataTable
}
/**
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function filter($table)
{
foreach ($table->getRows() as $key => $row) {
- if (!$this->applyToSummaryRow && $key == Piwik_DataTable::ID_SUMMARY_ROW) {
+ if (!$this->applyToSummaryRow && $key == DataTable::ID_SUMMARY_ROW) {
continue;
}
diff --git a/core/DataTable/Filter/MetadataCallbackReplace.php b/core/DataTable/Filter/MetadataCallbackReplace.php
index 4e6e5990de..32051c1e6f 100644
--- a/core/DataTable/Filter/MetadataCallbackReplace.php
+++ b/core/DataTable/Filter/MetadataCallbackReplace.php
@@ -8,18 +8,24 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter\ColumnCallbackReplace;
+use Piwik\DataTable\Row;
+use false;
/**
* Replace a metadata value with a new value resulting
* from the function called with the metadata's value
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_MetadataCallbackReplace extends Piwik_DataTable_Filter_ColumnCallbackReplace
+class MetadataCallbackReplace extends ColumnCallbackReplace
{
/**
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @param array|string $metadataToFilter
* @param callback $functionToApply
* @param null|array $functionParameters
@@ -32,7 +38,7 @@ class Piwik_DataTable_Filter_MetadataCallbackReplace extends Piwik_DataTable_Fil
}
/**
- * @param Piwik_DataTable_Row $row
+ * @param Row $row
* @param string $metadataToFilter
* @param mixed $newValue
*/
@@ -42,7 +48,7 @@ class Piwik_DataTable_Filter_MetadataCallbackReplace extends Piwik_DataTable_Fil
}
/**
- * @param Piwik_DataTable_Row $row
+ * @param Row $row
* @param string $metadataToFilter
* @return array|false|mixed
*/
diff --git a/core/DataTable/Filter/Null.php b/core/DataTable/Filter/Null.php
index 240dc53c41..7b9cb0d623 100644
--- a/core/DataTable/Filter/Null.php
+++ b/core/DataTable/Filter/Null.php
@@ -8,18 +8,22 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter;
/**
* Filter template.
* You can use it if you want to create a new filter.
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_Null extends Piwik_DataTable_Filter
+class Null extends Filter
{
/**
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function __construct($table)
{
@@ -27,7 +31,7 @@ class Piwik_DataTable_Filter_Null extends Piwik_DataTable_Filter
}
/**
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function filter($table)
{
diff --git a/core/DataTable/Filter/Pattern.php b/core/DataTable/Filter/Pattern.php
index 4a1ef8fd99..8ac29a89f8 100644
--- a/core/DataTable/Filter/Pattern.php
+++ b/core/DataTable/Filter/Pattern.php
@@ -8,6 +8,10 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter;
/**
* Delete all rows for which the given $columnToFilter do not contain the $patternToSearch
@@ -15,9 +19,9 @@
* Example: from the keyword report, keep only the rows for which the label contains "piwik"
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_Pattern extends Piwik_DataTable_Filter
+class Pattern extends Filter
{
private $columnToFilter;
private $patternToSearch;
@@ -25,7 +29,7 @@ class Piwik_DataTable_Filter_Pattern extends Piwik_DataTable_Filter
private $invertedMatch;
/**
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @param string $columnToFilter
* @param string $patternToSearch
* @param bool $invertedMatch
@@ -65,7 +69,7 @@ class Piwik_DataTable_Filter_Pattern extends Piwik_DataTable_Filter
}
/**
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function filter($table)
{
diff --git a/core/DataTable/Filter/PatternRecursive.php b/core/DataTable/Filter/PatternRecursive.php
index 088546fee5..168c6a520a 100644
--- a/core/DataTable/Filter/PatternRecursive.php
+++ b/core/DataTable/Filter/PatternRecursive.php
@@ -8,6 +8,13 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Exception;
+use Piwik\DataTable;
+use Piwik\DataTable\Filter;
+use Piwik\DataTable\Filter\Pattern;
+use Piwik\DataTable\Manager;
/**
* Delete all rows for which
@@ -18,16 +25,16 @@
* Example: from the pages viewed report, keep only the rows that contain "piwik" or for which a subpage contains "piwik".
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_PatternRecursive extends Piwik_DataTable_Filter
+class PatternRecursive extends Filter
{
private $columnToFilter;
private $patternToSearch;
private $patternToSearchQuoted;
/**
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @param string $columnToFilter
* @param string $patternToSearch
*/
@@ -35,13 +42,13 @@ class Piwik_DataTable_Filter_PatternRecursive extends Piwik_DataTable_Filter
{
parent::__construct($table);
$this->patternToSearch = $patternToSearch;
- $this->patternToSearchQuoted = Piwik_DataTable_Filter_Pattern::getPatternQuoted($patternToSearch);
+ $this->patternToSearchQuoted = Pattern::getPatternQuoted($patternToSearch);
$this->patternToSearch = $patternToSearch; //preg_quote($patternToSearch);
$this->columnToFilter = $columnToFilter;
}
/**
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @return int
*/
public function filter($table)
@@ -56,7 +63,7 @@ class Piwik_DataTable_Filter_PatternRecursive extends Piwik_DataTable_Filter
try {
$idSubTable = $row->getIdSubDataTable();
- $subTable = Piwik_DataTable_Manager::getInstance()->getTable($idSubTable);
+ $subTable = Manager::getInstance()->getTable($idSubTable);
// we delete the row if we couldn't find the pattern in any row in the
// children hierarchy
@@ -69,7 +76,7 @@ class Piwik_DataTable_Filter_PatternRecursive extends Piwik_DataTable_Filter
}
if ($patternNotFoundInChildren
- && !Piwik_DataTable_Filter_Pattern::match($this->patternToSearch, $this->patternToSearchQuoted, $row->getColumn($this->columnToFilter), $invertedMatch = false)
+ && !Pattern::match($this->patternToSearch, $this->patternToSearchQuoted, $row->getColumn($this->columnToFilter), $invertedMatch = false)
) {
$table->deleteRow($key);
}
diff --git a/core/DataTable/Filter/RangeCheck.php b/core/DataTable/Filter/RangeCheck.php
index ebfea03d7f..5fc2db1c9c 100644
--- a/core/DataTable/Filter/RangeCheck.php
+++ b/core/DataTable/Filter/RangeCheck.php
@@ -8,20 +8,24 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter;
/**
* Check range
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_RangeCheck extends Piwik_DataTable_Filter
+class RangeCheck extends Filter
{
static public $minimumValue = 0.00;
static public $maximumValue = 100.0;
/**
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @param string $columnToFilter name of the column to filter
* @param float $minimumValue minimum value for range
* @param float $maximumValue maximum value for range
@@ -41,7 +45,7 @@ class Piwik_DataTable_Filter_RangeCheck extends Piwik_DataTable_Filter
/**
* Executes the filter an adjusts all columns to fit the defined range
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function filter($table)
{
diff --git a/core/DataTable/Filter/ReplaceColumnNames.php b/core/DataTable/Filter/ReplaceColumnNames.php
index c2b2beca79..abf802b82a 100644
--- a/core/DataTable/Filter/ReplaceColumnNames.php
+++ b/core/DataTable/Filter/ReplaceColumnNames.php
@@ -8,8 +8,14 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable\Filter;
+use Piwik\DataTable\Simple;
use Piwik\Metrics;
use Piwik\Piwik;
+use Piwik\DataTable;
+use Piwik_Tracker_GoalManager;
/**
* This filter replaces column names using a mapping table that maps from the old name to the new name.
@@ -24,14 +30,14 @@ use Piwik\Piwik;
* You can specify the mapping array to apply in the constructor.
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_ReplaceColumnNames extends Piwik_DataTable_Filter
+class ReplaceColumnNames extends Filter
{
protected $mappingToApply;
/**
- * @param Piwik_DataTable $table Table
+ * @param DataTable $table Table
* @param array $mappingToApply Mapping to apply. Must have the format
* array( OLD_COLUMN_NAME => NEW_COLUMN NAME,
* OLD_COLUMN_NAME2 => NEW_COLUMN NAME2,
@@ -49,11 +55,11 @@ class Piwik_DataTable_Filter_ReplaceColumnNames extends Piwik_DataTable_Filter
/**
* Executes the filter and renames the defined columns
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function filter($table)
{
- if($table instanceof Piwik_DataTable_Simple) {
+ if ($table instanceof Simple) {
$this->filterSimple($table);
} else {
$this->filterTable($table);
@@ -70,13 +76,13 @@ class Piwik_DataTable_Filter_ReplaceColumnNames extends Piwik_DataTable_Filter
}
}
- protected function filterSimple(Piwik_DataTable_Simple $table)
+ protected function filterSimple(Simple $table)
{
foreach ($table->getRows() as $row) {
- $columns = array_keys( $row->getColumns() );
- foreach($columns as $column) {
+ $columns = array_keys($row->getColumns());
+ foreach ($columns as $column) {
$newName = $this->getRenamedColumn($column);
- if($newName) {
+ if ($newName) {
$row->renameColumn($column, $newName);
}
}
diff --git a/core/DataTable/Filter/ReplaceSummaryRowLabel.php b/core/DataTable/Filter/ReplaceSummaryRowLabel.php
index b89f05871c..2e65716922 100644
--- a/core/DataTable/Filter/ReplaceSummaryRowLabel.php
+++ b/core/DataTable/Filter/ReplaceSummaryRowLabel.php
@@ -8,16 +8,21 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter;
+use Piwik\DataTable\Manager;
/**
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_ReplaceSummaryRowLabel extends Piwik_DataTable_Filter
+class ReplaceSummaryRowLabel extends Filter
{
/**
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @param string|null $newLabel new label for summary row
*/
public function __construct($table, $newLabel = null)
@@ -32,13 +37,13 @@ class Piwik_DataTable_Filter_ReplaceSummaryRowLabel extends Piwik_DataTable_Filt
/**
* Updates the summary row label
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function filter($table)
{
$rows = $table->getRows();
foreach ($rows as $row) {
- if ($row->getColumn('label') == Piwik_DataTable::LABEL_SUMMARY_ROW) {
+ if ($row->getColumn('label') == DataTable::LABEL_SUMMARY_ROW) {
$row->setColumn('label', $this->newLabel);
break;
}
@@ -47,7 +52,7 @@ class Piwik_DataTable_Filter_ReplaceSummaryRowLabel extends Piwik_DataTable_Filt
// recurse
foreach ($rows as $row) {
if ($row->isSubtableLoaded()) {
- $subTable = Piwik_DataTable_Manager::getInstance()->getTable($row->getIdSubDataTable());
+ $subTable = Manager::getInstance()->getTable($row->getIdSubDataTable());
$this->filter($subTable);
}
}
diff --git a/core/DataTable/Filter/SafeDecodeLabel.php b/core/DataTable/Filter/SafeDecodeLabel.php
index ef8643b77f..ecb183c6cb 100644
--- a/core/DataTable/Filter/SafeDecodeLabel.php
+++ b/core/DataTable/Filter/SafeDecodeLabel.php
@@ -8,18 +8,22 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter;
/**
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_SafeDecodeLabel extends Piwik_DataTable_Filter
+class SafeDecodeLabel extends Filter
{
private $columnToDecode;
static private $outputHtml = true;
/**
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function __construct($table)
{
@@ -57,7 +61,7 @@ class Piwik_DataTable_Filter_SafeDecodeLabel extends Piwik_DataTable_Filter
/**
* Decodes all columns of the given data table
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function filter($table)
{
@@ -71,5 +75,4 @@ class Piwik_DataTable_Filter_SafeDecodeLabel extends Piwik_DataTable_Filter
}
}
}
-
}
diff --git a/core/DataTable/Filter/Sort.php b/core/DataTable/Filter/Sort.php
index 014362b45d..72bc433bef 100644
--- a/core/DataTable/Filter/Sort.php
+++ b/core/DataTable/Filter/Sort.php
@@ -8,22 +8,28 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable\Filter;
+use Piwik\DataTable\Simple;
+use Piwik\DataTable\Row;
use Piwik\Metrics;
+use Piwik\DataTable;
/**
* Sort the DataTable based on the value of column $columnToSort ordered by $order.
* Possible to specify a natural sorting (see php.net/natsort for details)
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_Sort extends Piwik_DataTable_Filter
+class Sort extends Filter
{
protected $columnToSort;
protected $order;
/**
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @param string $columnToSort name of the column to sort by
* @param string $order order (asc|desc)
* @param bool $naturalSort use natural sort?
@@ -65,27 +71,27 @@ class Piwik_DataTable_Filter_Sort extends Piwik_DataTable_Filter
*/
public function sort($a, $b)
{
- return !isset($a->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort])
- && !isset($b->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort])
+ return !isset($a->c[Row::COLUMNS][$this->columnToSort])
+ && !isset($b->c[Row::COLUMNS][$this->columnToSort])
? 0
: (
- !isset($a->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort])
+ !isset($a->c[Row::COLUMNS][$this->columnToSort])
? 1
: (
- !isset($b->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort])
+ !isset($b->c[Row::COLUMNS][$this->columnToSort])
? -1
- : (($a->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort] != $b->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort]
- || !isset($a->c[Piwik_DataTable_Row::COLUMNS]['label']))
+ : (($a->c[Row::COLUMNS][$this->columnToSort] != $b->c[Row::COLUMNS][$this->columnToSort]
+ || !isset($a->c[Row::COLUMNS]['label']))
? ($this->sign * (
- $a->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort]
- < $b->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort]
+ $a->c[Row::COLUMNS][$this->columnToSort]
+ < $b->c[Row::COLUMNS][$this->columnToSort]
? -1
: 1)
)
: -1 * $this->sign * strnatcasecmp(
- $a->c[Piwik_DataTable_Row::COLUMNS]['label'],
- $b->c[Piwik_DataTable_Row::COLUMNS]['label'])
+ $a->c[Row::COLUMNS]['label'],
+ $b->c[Row::COLUMNS]['label'])
)
)
);
@@ -100,16 +106,16 @@ class Piwik_DataTable_Filter_Sort extends Piwik_DataTable_Filter
*/
function naturalSort($a, $b)
{
- return !isset($a->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort])
- && !isset($b->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort])
+ return !isset($a->c[Row::COLUMNS][$this->columnToSort])
+ && !isset($b->c[Row::COLUMNS][$this->columnToSort])
? 0
- : (!isset($a->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort])
+ : (!isset($a->c[Row::COLUMNS][$this->columnToSort])
? 1
- : (!isset($b->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort])
+ : (!isset($b->c[Row::COLUMNS][$this->columnToSort])
? -1
: $this->sign * strnatcasecmp(
- $a->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort],
- $b->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort]
+ $a->c[Row::COLUMNS][$this->columnToSort],
+ $b->c[Row::COLUMNS][$this->columnToSort]
)
)
);
@@ -124,16 +130,16 @@ class Piwik_DataTable_Filter_Sort extends Piwik_DataTable_Filter
*/
function sortString($a, $b)
{
- return !isset($a->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort])
- && !isset($b->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort])
+ return !isset($a->c[Row::COLUMNS][$this->columnToSort])
+ && !isset($b->c[Row::COLUMNS][$this->columnToSort])
? 0
- : (!isset($a->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort])
+ : (!isset($a->c[Row::COLUMNS][$this->columnToSort])
? 1
- : (!isset($b->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort])
+ : (!isset($b->c[Row::COLUMNS][$this->columnToSort])
? -1
: $this->sign *
- strcasecmp($a->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort],
- $b->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort]
+ strcasecmp($a->c[Row::COLUMNS][$this->columnToSort],
+ $b->c[Row::COLUMNS][$this->columnToSort]
)
)
);
@@ -142,7 +148,7 @@ class Piwik_DataTable_Filter_Sort extends Piwik_DataTable_Filter
/**
* Sets the column to be used for sorting
*
- * @param Piwik_DataTable_Row $row
+ * @param Row $row
* @return int
*/
protected function selectColumnToSort($row)
@@ -179,12 +185,12 @@ class Piwik_DataTable_Filter_Sort extends Piwik_DataTable_Filter
/**
* Sorts the given data table by defined column and sorting method
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @return mixed
*/
public function filter($table)
{
- if ($table instanceof Piwik_DataTable_Simple) {
+ if ($table instanceof Simple) {
return;
}
if (empty($this->columnToSort)) {
diff --git a/core/DataTable/Filter/Truncate.php b/core/DataTable/Filter/Truncate.php
index 7c917034f9..1cd6f98bf0 100644
--- a/core/DataTable/Filter/Truncate.php
+++ b/core/DataTable/Filter/Truncate.php
@@ -8,15 +8,20 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Filter;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Filter;
+use Piwik\DataTable\Manager;
/**
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Filter_Truncate extends Piwik_DataTable_Filter
+class Truncate extends Filter
{
/**
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @param int $truncateAfter
*/
public function __construct($table, $truncateAfter)
@@ -28,7 +33,7 @@ class Piwik_DataTable_Filter_Truncate extends Piwik_DataTable_Filter
/**
* Truncates the table after X rows and adds a summary row
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
public function filter($table)
{
@@ -38,7 +43,7 @@ class Piwik_DataTable_Filter_Truncate extends Piwik_DataTable_Filter
foreach ($table->getRows() as $row) {
if ($row->isSubtableLoaded()) {
$idSubTable = $row->getIdSubDataTable();
- $subTable = Piwik_DataTable_Manager::getInstance()->getTable($idSubTable);
+ $subTable = Manager::getInstance()->getTable($idSubTable);
$subTable->filter('Truncate', array($this->truncateAfter));
}
}
diff --git a/core/DataTable/Manager.php b/core/DataTable/Manager.php
index 21dc600481..b32463b176 100644
--- a/core/DataTable/Manager.php
+++ b/core/DataTable/Manager.php
@@ -9,7 +9,11 @@
* @package Piwik
*/
+namespace Piwik\DataTable;
+
+use Exception;
use Piwik\Common;
+use Piwik\DataTable;
/**
* The DataTable_Manager registers all the instanciated DataTable and provides an
@@ -17,16 +21,16 @@ use Piwik\Common;
* At the end of archiving, the ArchiveProcessor will read the stored datatable and record them in the DB.
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Manager
+class Manager
{
static private $instance = null;
/**
* Returns instance
*
- * @return Piwik_DataTable_Manager
+ * @return \Piwik\DataTable\Manager
*/
static public function getInstance()
{
@@ -52,7 +56,7 @@ class Piwik_DataTable_Manager
/**
* Add a DataTable to the registry
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @return int Index of the table in the manager array
*/
public function addTable($table)
@@ -69,7 +73,7 @@ class Piwik_DataTable_Manager
*
* @param int $idTable
* @throws Exception If the table can't be found
- * @return Piwik_DataTable The table
+ * @return DataTable The table
*/
public function getTable($idTable)
{
@@ -134,9 +138,9 @@ class Piwik_DataTable_Manager
*/
public function dumpAllTables()
{
- echo "<hr />Piwik_DataTable_Manager->dumpAllTables()<br />";
+ echo "<hr />Manager->dumpAllTables()<br />";
foreach ($this->tables as $id => $table) {
- if (!($table instanceof Piwik_DataTable)) {
+ if (!($table instanceof DataTable)) {
echo "Error table $id is not instance of datatable<br />";
var_export($table);
} else {
@@ -146,6 +150,6 @@ class Piwik_DataTable_Manager
echo "<br />";
}
}
- echo "<br />-- End Piwik_DataTable_Manager->dumpAllTables()<hr />";
+ echo "<br />-- End Manager->dumpAllTables()<hr />";
}
}
diff --git a/core/DataTable/Array.php b/core/DataTable/Map.php
index 0274a65fe5..7bda0c1984 100644
--- a/core/DataTable/Array.php
+++ b/core/DataTable/Map.php
@@ -8,27 +8,28 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable;
/**
* The DataTable_Array is a way to store an array of dataTable.
- * The Piwik_DataTable_Array implements some of the features of the Piwik_DataTable such as queueFilter, getRowsCount.
+ * The Set implements some of the features of the DataTable such as queueFilter, getRowsCount.
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Array
+class Map
{
/**
- * Array containing the DataTable withing this Piwik_DataTable_Array
+ * Array containing the DataTable withing this Set
*
- * @var Piwik_DataTable[]
+ * @var DataTable[]
*/
protected $array = array();
/**
* This is the label used to index the tables.
* For example if the tables are indexed using the timestamp of each period
- * eg. $this->array[1045886960] = new Piwik_DataTable();
+ * eg. $this->array[1045886960] = new DataTable();
* the keyName would be 'timestamp'.
*
* This label is used in the Renderer (it becomes a column name or the XML description tag)
@@ -70,7 +71,7 @@ class Piwik_DataTable_Array
/**
* Queue a filter to the DataTable_Array will queue this filter to every DataTable of the DataTable_Array.
*
- * @param string $className Filter name, eg. Piwik_DataTable_Filter_Limit
+ * @param string $className Filter name, eg. Limit
* @param array $parameters Filter parameters, eg. array( 50, 10 )
*/
public function queueFilter($className, $parameters = array())
@@ -106,7 +107,7 @@ class Piwik_DataTable_Array
/**
* Returns the array of DataTable
*
- * @return Piwik_DataTable[]
+ * @return DataTable[]
*/
public function getArray()
{
@@ -117,7 +118,7 @@ class Piwik_DataTable_Array
* Returns the table with the specified label.
*
* @param string $label
- * @return Piwik_DataTable
+ * @return DataTable
*/
public function getTable($label)
{
@@ -128,7 +129,7 @@ class Piwik_DataTable_Array
* Returns the first row
* This method can be used to treat DataTable and DataTable_Array in the same way
*
- * @return Piwik_DataTable_Row
+ * @return Row
*/
public function getFirstRow()
{
@@ -144,7 +145,7 @@ class Piwik_DataTable_Array
/**
* Adds a new DataTable to the DataTable_Array
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @param string $label Label used to index this table in the array
*/
public function addTable($table, $label)
@@ -287,19 +288,19 @@ class Piwik_DataTable_Array
* This function can be used, for example, to smoosh IndexedBySite archive
* query results into one DataTable w/ different rows differentiated by site ID.
*
- * @return Piwik_DataTable|Piwik_DataTable_Array
+ * @return DataTable|Set
*/
public function mergeChildren()
{
$firstChild = reset($this->array);
- if ($firstChild instanceof Piwik_DataTable_Array) {
+ if ($firstChild instanceof Set) {
$result = $firstChild->getEmptyClone();
foreach ($this->array as $label => $subTableArray) {
foreach ($subTableArray->array as $innerLabel => $subTable) {
if (!isset($result->array[$innerLabel])) {
- $dataTable = new Piwik_DataTable();
+ $dataTable = new DataTable();
$dataTable->metadata = $subTable->metadata;
$result->addTable($dataTable, $innerLabel);
@@ -309,7 +310,7 @@ class Piwik_DataTable_Array
}
}
} else {
- $result = new Piwik_DataTable();
+ $result = new DataTable();
foreach ($this->array as $label => $subTable) {
$this->copyRowsAndSetLabel($result, $subTable, $label);
@@ -323,21 +324,21 @@ class Piwik_DataTable_Array
* Utility function used by mergeChildren. Copies the rows from one table,
* sets their 'label' columns to a value and adds them to another table.
*
- * @param Piwik_DataTable $toTable The table to copy rows to.
- * @param Piwik_DataTable $fromTable The table to copy rows from.
+ * @param DataTable $toTable The table to copy rows to.
+ * @param DataTable $fromTable The table to copy rows from.
* @param string $label The value to set the 'label' column of every copied row.
*/
- private function copyRowsAndSetLabel($toTable, $fromTable, $label)
+ private function copyRowsAndSetLabel(DataTable $toTable, DataTable $fromTable, $label)
{
foreach ($fromTable->getRows() as $fromRow) {
$oldColumns = $fromRow->getColumns();
unset($oldColumns['label']);
$columns = array_merge(array('label' => $label), $oldColumns);
- $row = new Piwik_DataTable_Row(array(
- Piwik_DataTable_Row::COLUMNS => $columns,
- Piwik_DataTable_Row::METADATA => $fromRow->getMetadata(),
- Piwik_DataTable_Row::DATATABLE_ASSOCIATED => $fromRow->getIdSubDataTable()
+ $row = new Row(array(
+ Row::COLUMNS => $columns,
+ Row::METADATA => $fromRow->getMetadata(),
+ Row::DATATABLE_ASSOCIATED => $fromRow->getIdSubDataTable()
));
$toTable->addRow($row);
}
@@ -347,9 +348,9 @@ class Piwik_DataTable_Array
* Adds a DataTable to all the tables in this array
* NOTE: Will only add $tableToSum if the childTable has some rows
*
- * @param Piwik_DataTable $tableToSum
+ * @param DataTable $tableToSum
*/
- public function addDataTable(Piwik_DataTable $tableToSum)
+ public function addDataTable(DataTable $tableToSum)
{
foreach ($this->getArray() as $childTable) {
if ($childTable->getRowsCount() > 0) {
@@ -364,7 +365,7 @@ class Piwik_DataTable_Array
*
* @see Piwik_DataTable::mergeSubtables
*
- * @return Piwik_DataTable_Array
+ * @return Set
*/
public function mergeSubtables()
{
@@ -379,11 +380,11 @@ class Piwik_DataTable_Array
* Returns a new DataTable_Array w/o any child DataTables, but with
* the same key name as this instance.
*
- * @return Piwik_DataTable_Array
+ * @return Set
*/
public function getEmptyClone()
{
- $newTableArray = new Piwik_DataTable_Array;
+ $newTableArray = new Map;
$newTableArray->setKeyName($this->getKeyName());
return $newTableArray;
}
diff --git a/core/DataTable/Renderer.php b/core/DataTable/Renderer.php
index 68fcf88fe5..88f3f9ff37 100644
--- a/core/DataTable/Renderer.php
+++ b/core/DataTable/Renderer.php
@@ -8,21 +8,26 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable;
+
+use Exception;
use Piwik\Metrics;
use Piwik\Piwik;
+use Piwik\DataTable;
+use Piwik\DataTable\Simple;
/**
* A DataTable Renderer can produce an output given a DataTable object.
* All new Renderers must be copied in DataTable/Renderer and added to the factory() method.
* To use a renderer, simply do:
- * $render = new Piwik_DataTable_Renderer_Xml();
+ * $render = new Xml();
* $render->setTable($dataTable);
* echo $render;
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-abstract class Piwik_DataTable_Renderer
+abstract class Renderer
{
protected $table;
protected $exception;
@@ -59,7 +64,6 @@ abstract class Piwik_DataTable_Renderer
*/
public $idSite = 'all';
-
public function __construct()
{
}
@@ -135,16 +139,16 @@ abstract class Piwik_DataTable_Renderer
/**
* Set the DataTable to be rendered
*
- * @param Piwik_DataTable|Piwik_DataTable_Simple|Piwik_DataTable_Array $table table to be rendered
+ * @param DataTable|Simple|DataTable\Map $table table to be rendered
* @throws Exception
*/
public function setTable($table)
{
if (!is_array($table)
- && !($table instanceof Piwik_DataTable)
- && !($table instanceof Piwik_DataTable_Array)
+ && !($table instanceof DataTable)
+ && !($table instanceof DataTable\Map)
) {
- throw new Exception("DataTable renderers renderer accepts only Piwik_DataTable and Piwik_DataTable_Array instances, and array instances.");
+ throw new Exception("DataTable renderers renderer accepts only DataTable and Set instances, and array instances.");
}
$this->table = $table;
}
@@ -163,7 +167,6 @@ abstract class Piwik_DataTable_Renderer
$this->exception = $exception;
}
-
/**
* @var array
*/
@@ -190,20 +193,19 @@ abstract class Piwik_DataTable_Renderer
*
* @param string $name
* @throws Exception If the renderer is unknown
- * @return Piwik_DataTable_Renderer
+ * @return \Piwik\DataTable\Renderer
*/
static public function factory($name)
{
- $name = ucfirst(strtolower($name));
- $className = 'Piwik_DataTable_Renderer_' . $name;
-
+ $className = ucfirst(strtolower($name));
+ $className = 'Piwik\DataTable\Renderer\\' . $className;
try {
- Piwik_Loader::loadClass($className);
+ \Piwik\Loader::loadClass($className);
return new $className;
} catch (Exception $e) {
$availableRenderers = implode(', ', self::getRenderers());
@header('Content-Type: text/plain; charset=utf-8');
- throw new Exception(Piwik_TranslateException('General_ExceptionInvalidRendererFormat', array($name, $availableRenderers)));
+ throw new Exception(Piwik_TranslateException('General_ExceptionInvalidRendererFormat', array($className, $availableRenderers)));
}
}
@@ -365,7 +367,7 @@ abstract class Piwik_DataTable_Renderer
* - empty array (ie, array())
* - array w/ arrays/DataTable instances as values (ie,
* array('name' => 'myreport',
- * 'reportData' => new Piwik_DataTable())
+ * 'reportData' => new DataTable())
* OR array('name' => 'myreport',
* 'reportData' => array(...)) )
*
diff --git a/core/DataTable/Renderer/Console.php b/core/DataTable/Renderer/Console.php
index c78b4eda1f..594c80427f 100644
--- a/core/DataTable/Renderer/Console.php
+++ b/core/DataTable/Renderer/Console.php
@@ -8,14 +8,19 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Renderer;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Manager;
+use Piwik\DataTable\Renderer;
/**
* Simple output
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage Piwik_DataTable_Renderer_ConsoleDataTable
*/
-class Piwik_DataTable_Renderer_Console extends Piwik_DataTable_Renderer
+class Console extends Renderer
{
/**
* Prefix
@@ -60,13 +65,13 @@ class Piwik_DataTable_Renderer_Console extends Piwik_DataTable_Renderer
/**
* Computes the output of the given array of data tables
*
- * @param Piwik_DataTable_Array $tableArray data tables to render
+ * @param DataTable\Map $tableArray data tables to render
* @param string $prefix prefix to output before table data
* @return string
*/
- protected function renderDataTableArray(Piwik_DataTable_Array $tableArray, $prefix)
+ protected function renderDataTableArray(DataTable\Map $tableArray, $prefix)
{
- $output = "Piwik_DataTable_Array<hr />";
+ $output = "Set<hr />";
$prefix = $prefix . '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
foreach ($tableArray->getArray() as $descTable => $table) {
$output .= $prefix . "<b>" . $descTable . "</b><br />";
@@ -79,7 +84,7 @@ class Piwik_DataTable_Renderer_Console extends Piwik_DataTable_Renderer
/**
* Computes the given dataTable output and returns the string/binary
*
- * @param Piwik_DataTable $table data table to render
+ * @param DataTable $table data table to render
* @param string $prefix prefix to output before table data
* @return string
*/
@@ -87,10 +92,10 @@ class Piwik_DataTable_Renderer_Console extends Piwik_DataTable_Renderer
{
if (is_array($table)) // convert array to DataTable
{
- $table = Piwik_DataTable::makeFromSimpleArray($table);
+ $table = DataTable::makeFromSimpleArray($table);
}
- if ($table instanceof Piwik_DataTable_Array) {
+ if ($table instanceof DataTable\Map) {
return $this->renderDataTableArray($table, $prefix);
}
@@ -105,7 +110,7 @@ class Piwik_DataTable_Renderer_Console extends Piwik_DataTable_Renderer
$dataTableArrayBreak = false;
$columns = array();
foreach ($row->getColumns() as $column => $value) {
- if ($value instanceof Piwik_DataTable_Array) {
+ if ($value instanceof DataTable\Map) {
$output .= $this->renderDataTableArray($value, $prefix);
$dataTableArrayBreak = true;
break;
@@ -136,7 +141,7 @@ class Piwik_DataTable_Renderer_Console extends Piwik_DataTable_Renderer
if ($row->isSubtableLoaded()) {
$depth++;
$output .= $this->renderTable(
- Piwik_DataTable_Manager::getInstance()->getTable(
+ Manager::getInstance()->getTable(
$row->getIdSubDataTable()
),
$prefix . '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'
diff --git a/core/DataTable/Renderer/Csv.php b/core/DataTable/Renderer/Csv.php
index 9b2f5505d6..03074897d4 100644
--- a/core/DataTable/Renderer/Csv.php
+++ b/core/DataTable/Renderer/Csv.php
@@ -8,10 +8,16 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Renderer;
+
+use Piwik\DataTable\Simple;
+use Piwik\DataTable\Renderer;
use Piwik\Period;
-use Piwik\Period_Range;
+use Piwik\Period\Range;
use Piwik\Piwik;
use Piwik\Common;
+use Piwik\Date;
+use Piwik\DataTable;
/**
* CSV export
@@ -23,9 +29,9 @@ use Piwik\Common;
* Formatting and layout are ignored.
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Renderer_Csv extends Piwik_DataTable_Renderer
+class Csv extends Renderer
{
/**
* Column separator
@@ -119,7 +125,7 @@ class Piwik_DataTable_Renderer_Csv extends Piwik_DataTable_Renderer
/**
* Computes the output of the given data table
*
- * @param Piwik_DataTable|array $table
+ * @param DataTable|array $table
* @param array $allColumns
* @return string
*/
@@ -127,10 +133,10 @@ class Piwik_DataTable_Renderer_Csv extends Piwik_DataTable_Renderer
{
if (is_array($table)) // convert array to DataTable
{
- $table = Piwik_DataTable::makeFromSimpleArray($table);
+ $table = DataTable::makeFromSimpleArray($table);
}
- if ($table instanceof Piwik_DataTable_Array) {
+ if ($table instanceof DataTable\Map) {
$str = $this->renderDataTableArray($table, $allColumns);
} else {
$str = $this->renderDataTable($table, $allColumns);
@@ -141,7 +147,7 @@ class Piwik_DataTable_Renderer_Csv extends Piwik_DataTable_Renderer
/**
* Computes the output of the given data table array
*
- * @param Piwik_DataTable_Array $table
+ * @param DataTable\Map $table
* @param array $allColumns
* @return string
*/
@@ -176,13 +182,13 @@ class Piwik_DataTable_Renderer_Csv extends Piwik_DataTable_Renderer
/**
* Converts the output of the given simple data table
*
- * @param Piwik_DataTable_Simple $table
+ * @param Simple $table
* @param array $allColumns
* @return string
*/
protected function renderDataTable($table, &$allColumns = array())
{
- if ($table instanceof Piwik_DataTable_Simple) {
+ if ($table instanceof Simple) {
$row = $table->getFirstRow();
if ($row !== false) {
$columnNameToValue = $row->getColumns();
@@ -352,11 +358,11 @@ class Piwik_DataTable_Renderer_Csv extends Piwik_DataTable_Renderer
if ($period || $date) // in test cases, there are no request params set
{
if ($period == 'range') {
- $period = new Period_Range($period, $date);
+ $period = new Range($period, $date);
} else if (strpos($date, ',') !== false) {
- $period = new Period_Range('range', $date);
+ $period = new Range('range', $date);
} else {
- $period = Period::factory($period, Piwik_Date::factory($date));
+ $period = Period::factory($period, Date::factory($date));
}
$prettyDate = $period->getLocalizedLongString();
diff --git a/core/DataTable/Renderer/Html.php b/core/DataTable/Renderer/Html.php
index 1d620f74cc..035726a9ed 100644
--- a/core/DataTable/Renderer/Html.php
+++ b/core/DataTable/Renderer/Html.php
@@ -8,15 +8,21 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Renderer;
+
+use Exception;
+use Piwik\DataTable;
+use Piwik\DataTable\Simple;
+use Piwik\DataTable\Renderer;
/**
* Simple HTML output
* Does not work with recursive DataTable (i.e., when a row can be associated with a subDataTable).
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Renderer_Html extends Piwik_DataTable_Renderer
+class Html extends Renderer
{
protected $tableId;
protected $allColumns;
@@ -71,23 +77,23 @@ class Piwik_DataTable_Renderer_Html extends Piwik_DataTable_Renderer
/**
* Computes the output for the given data table
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @return string
*/
protected function renderTable($table)
{
if (is_array($table)) // convert array to DataTable
{
- $table = Piwik_DataTable::makeFromSimpleArray($table);
+ $table = DataTable::makeFromSimpleArray($table);
}
- if ($table instanceof Piwik_DataTable_Array) {
+ if ($table instanceof DataTable\Map) {
foreach ($table->getArray() as $date => $subtable) {
if ($subtable->getRowsCount()) {
$this->buildTableStructure($subtable, '_' . $table->getKeyName(), $date);
}
}
- } else // Piwik_DataTable_Simple
+ } else // Simple
{
if ($table->getRowsCount()) {
$this->buildTableStructure($table);
@@ -101,7 +107,7 @@ class Piwik_DataTable_Renderer_Html extends Piwik_DataTable_Renderer
/**
* Adds the given data table to the table structure array
*
- * @param Piwik_DataTable_Simple $table
+ * @param Simple $table
* @param null|string $columnToAdd
* @param null|string $valueToAdd
* @throws Exception
@@ -117,7 +123,7 @@ class Piwik_DataTable_Renderer_Html extends Piwik_DataTable_Renderer
* ROW1 = col1 | col2 | col3 | metadata | idSubTable
* ROW2 = col1 | col2 (no value but appears) | col3 | metadata | idSubTable
*/
- if (!($table instanceof Piwik_DataTable)) {
+ if (!($table instanceof DataTable)) {
throw new Exception("HTML Renderer does not work with this combination of parameters");
}
foreach ($table->getRows() as $row) {
diff --git a/core/DataTable/Renderer/Json.php b/core/DataTable/Renderer/Json.php
index 92e0830316..f5f6fc12bb 100644
--- a/core/DataTable/Renderer/Json.php
+++ b/core/DataTable/Renderer/Json.php
@@ -8,17 +8,22 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Renderer;
+
+use Piwik\DataTable\Renderer;
use Piwik\Piwik;
use Piwik\Common;
+use Piwik\DataTable;
+use Piwik\DataTable\Renderer\Php;
/**
* JSON export.
* Works with recursive DataTable (when a row can be associated with a subDataTable).
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Renderer_Json extends Piwik_DataTable_Renderer
+class Json extends Renderer
{
/**
* Computes the dataTable output and returns the string/binary
@@ -50,7 +55,7 @@ class Piwik_DataTable_Renderer_Json extends Piwik_DataTable_Renderer
/**
* Computes the output for the given data table
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @return string
*/
protected function renderTable($table)
@@ -61,7 +66,7 @@ class Piwik_DataTable_Renderer_Json extends Piwik_DataTable_Renderer
$array = array($array);
}
} else {
- $renderer = new Piwik_DataTable_Renderer_Php();
+ $renderer = new Php();
$renderer->setTable($table);
$renderer->setRenderSubTables($this->isRenderSubtables());
$renderer->setSerialize(false);
diff --git a/core/DataTable/Renderer/Php.php b/core/DataTable/Renderer/Php.php
index ec66701cbe..6717746295 100644
--- a/core/DataTable/Renderer/Php.php
+++ b/core/DataTable/Renderer/Php.php
@@ -8,7 +8,14 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Renderer;
+
+use Exception;
+use Piwik\DataTable\Manager;
+use Piwik\DataTable\Simple;
+use Piwik\DataTable\Renderer;
use Piwik\Piwik;
+use Piwik\DataTable;
/**
* Returns the equivalent PHP array for a given DataTable.
@@ -19,9 +26,9 @@ use Piwik\Piwik;
* Works with recursive DataTable (when a row can be associated with a subDataTable).
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer
+class Php extends Renderer
{
protected $prettyDisplay = false;
protected $serialize = true;
@@ -63,7 +70,7 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer
/**
* Computes the dataTable output and returns the string/binary
*
- * @param null|Piwik_DataTable_Array|Piwik_DataTable_Simple $dataTable
+ * @param null|DataTable\Map|Simple $dataTable
* @return string
*/
public function render($dataTable = null)
@@ -116,7 +123,7 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer
* 'col2_name' => value2,
* 'metadata1_name' => value_metadata )
*
- * @param null|Piwik_DataTable_Array|Piwik_DataTable_Simple $dataTable
+ * @param null|DataTable\Map|Simple $dataTable
* @return array Php array representing the 'flat' version of the datatable
*/
public function flatRender($dataTable = null)
@@ -130,7 +137,7 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer
if (self::shouldWrapArrayBeforeRendering($flatArray)) {
$flatArray = array($flatArray);
}
- } else if ($dataTable instanceof Piwik_DataTable_Array) {
+ } else if ($dataTable instanceof DataTable\Map) {
$flatArray = array();
foreach ($dataTable->getArray() as $keyName => $table) {
$serializeSave = $this->serialize;
@@ -138,7 +145,7 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer
$flatArray[$keyName] = $this->flatRender($table);
$this->serialize = $serializeSave;
}
- } else if ($dataTable instanceof Piwik_DataTable_Simple) {
+ } else if ($dataTable instanceof Simple) {
$flatArray = $this->renderSimpleTable($dataTable);
// if we return only one numeric value then we print out the result in a simple <result> tag
@@ -146,7 +153,6 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer
if (count($flatArray) == 1) {
$flatArray = current($flatArray);
}
-
} // A normal DataTable needs to be handled specifically
else {
$array = $this->renderTable($dataTable);
@@ -191,11 +197,11 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer
*/
public function originalRender()
{
- Piwik::checkObjectTypeIs($this->table, array('Piwik_DataTable_Simple', 'Piwik_DataTable'));
+ Piwik::checkObjectTypeIs($this->table, array('Simple', 'DataTable'));
- if ($this->table instanceof Piwik_DataTable_Simple) {
+ if ($this->table instanceof Simple) {
$array = $this->renderSimpleTable($this->table);
- } elseif ($this->table instanceof Piwik_DataTable) {
+ } elseif ($this->table instanceof DataTable) {
$array = $this->renderTable($this->table);
}
@@ -208,7 +214,7 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer
/**
* Converts the given data table to an array
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @return array
*/
protected function renderTable($table)
@@ -222,14 +228,14 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer
'idsubdatatable' => $row->getIdSubDataTable(),
);
- if ($id == Piwik_DataTable::ID_SUMMARY_ROW) {
+ if ($id == DataTable::ID_SUMMARY_ROW) {
$newRow['issummaryrow'] = true;
}
if ($this->isRenderSubtables()
&& $row->isSubtableLoaded()
) {
- $subTable = $this->renderTable(Piwik_DataTable_Manager::getInstance()->getTable($row->getIdSubDataTable()));
+ $subTable = $this->renderTable(Manager::getInstance()->getTable($row->getIdSubDataTable()));
$newRow['subtable'] = $subTable;
if ($this->hideIdSubDatatable === false
&& isset($newRow['metadata']['idsubdatatable_in_db'])
@@ -250,7 +256,7 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer
/**
* Converts the simple data table to an array
*
- * @param Piwik_DataTable_Simple $table
+ * @param Simple $table
* @return array
*/
protected function renderSimpleTable($table)
diff --git a/core/DataTable/Renderer/Rss.php b/core/DataTable/Renderer/Rss.php
index 2c1fd05114..2b131d25df 100644
--- a/core/DataTable/Renderer/Rss.php
+++ b/core/DataTable/Renderer/Rss.php
@@ -8,17 +8,24 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Renderer;
+
+use Exception;
use Piwik\Common;
+use Piwik\DataTable\Renderer;
+use Piwik\Date;
+use Piwik\DataTable;
+use Piwik_Url;
/**
* RSS Feed.
- * The RSS renderer can be used only on Piwik_DataTable_Array that are arrays of Piwik_DataTable.
- * A RSS feed contains one dataTable per element in the Piwik_DataTable_Array.
+ * The RSS renderer can be used only on Set that are arrays of DataTable.
+ * A RSS feed contains one dataTable per element in the Set.
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Renderer_Rss extends Piwik_DataTable_Renderer
+class Rss extends Renderer
{
/**
* Computes the dataTable output and returns the string/binary
@@ -46,13 +53,13 @@ class Piwik_DataTable_Renderer_Rss extends Piwik_DataTable_Renderer
/**
* Computes the output for the given data table
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @return string
* @throws Exception
*/
protected function renderTable($table)
{
- if (!($table instanceof Piwik_DataTable_Array)
+ if (!($table instanceof DataTable\Map)
|| $table->getKeyName() != 'date'
) {
throw new Exception("RSS feeds can be generated for one specific website &idSite=X." .
@@ -72,7 +79,7 @@ class Piwik_DataTable_Renderer_Rss extends Piwik_DataTable_Renderer
$pudDate = date('r', $timestamp);
- $dateInSiteTimezone = Piwik_Date::factory($timestamp)->setTimezone($site->getTimezone())->toString('Y-m-d');
+ $dateInSiteTimezone = Date::factory($timestamp)->setTimezone($site->getTimezone())->toString('Y-m-d');
$thisPiwikUrl = Common::sanitizeInputValue($piwikUrl . "&date=$dateInSiteTimezone");
$siteName = $site->getName();
$title = $siteName . " on " . $date;
@@ -189,7 +196,6 @@ class Piwik_DataTable_Renderer_Rss extends Piwik_DataTable_Renderer
}
}
$html .= "</tr>";
-
}
$html .= "\n\n</table>";
return $html;
diff --git a/core/DataTable/Renderer/Tsv.php b/core/DataTable/Renderer/Tsv.php
index 4835853143..3f6aea5b53 100644
--- a/core/DataTable/Renderer/Tsv.php
+++ b/core/DataTable/Renderer/Tsv.php
@@ -8,6 +8,9 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Renderer;
+
+use Piwik\DataTable\Renderer\Csv;
/**
* TSV export
@@ -16,9 +19,9 @@
* TSV is therefore the 'CSV' that is Excel compatible
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Renderer_Tsv extends Piwik_DataTable_Renderer_Csv
+class Tsv extends Csv
{
/**
* Constructor
diff --git a/core/DataTable/Renderer/Xml.php b/core/DataTable/Renderer/Xml.php
index ba00e6d39e..4a9fdbdec5 100644
--- a/core/DataTable/Renderer/Xml.php
+++ b/core/DataTable/Renderer/Xml.php
@@ -8,7 +8,15 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Renderer;
+
+use Exception;
+use Piwik\DataTable\Renderer\Php;
+use Piwik\DataTable\Simple;
+use Piwik\DataTable\Renderer;
use Piwik\Piwik;
+use Piwik\DataTable;
+use DataTable\Map;
/**
* XML export of a given DataTable.
@@ -18,9 +26,9 @@ use Piwik\Piwik;
* Works with recursive DataTable (when a row can be associated with a subDataTable).
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer
+class Xml extends Renderer
{
/**
* Computes the dataTable output and returns the string/binary
@@ -55,7 +63,7 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer
/**
* Converts the given data table to an array
*
- * @param Piwik_DataTable $table data table to convert
+ * @param DataTable $table data table to convert
* @return array
*/
protected function getArrayFromDataTable($table)
@@ -64,7 +72,7 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer
return $table;
}
- $renderer = new Piwik_DataTable_Renderer_Php();
+ $renderer = new Php();
$renderer->setRenderSubTables($this->isRenderSubtables());
$renderer->setSerialize(false);
$renderer->setTable($table);
@@ -75,7 +83,7 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer
/**
* Computes the output for the given data table
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
* @param bool $returnOnlyDataTableXml
* @param string $prefixLines
* @return array|string
@@ -84,7 +92,7 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer
protected function renderTable($table, $returnOnlyDataTableXml = false, $prefixLines = '')
{
$array = $this->getArrayFromDataTable($table);
- if ($table instanceof Piwik_DataTable_Array) {
+ if ($table instanceof DataTable\Map) {
$out = $this->renderDataTableArray($table, $array, $prefixLines);
if ($returnOnlyDataTableXml) {
@@ -102,7 +110,7 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer
$out = "<result />";
return $out;
}
- if ($table instanceof Piwik_DataTable_Simple) {
+ if ($table instanceof Simple) {
if (is_array($array)) {
$out = $this->renderDataTableSimple($array);
} else {
@@ -125,7 +133,7 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer
return $out;
}
- if ($table instanceof Piwik_DataTable) {
+ if ($table instanceof DataTable) {
$out = $this->renderDataTable($array);
if ($returnOnlyDataTableXml) {
return $out;
@@ -191,16 +199,16 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer
$result .= $prefixLines . $prefix . "\n";
$result .= $this->renderArray($value, $prefixLines . "\t");
$result .= $prefixLines . $suffix . "\n";
- } else if ($value instanceof Piwik_DataTable
- || $value instanceof Piwik_DataTable_Array
+ } else if ($value instanceof DataTable
+ || $value instanceof DataTable\Map
) {
if ($value->getRowsCount() == 0) {
$result .= $prefixLines . $emptyNode . "\n";
} else {
$result .= $prefixLines . $prefix . "\n";
- if ($value instanceof Piwik_DataTable_Array) {
+ if ($value instanceof DataTable\Map) {
$result .= $this->renderDataTableArray($value, $this->getArrayFromDataTable($value), $prefixLines);
- } else if ($value instanceof Piwik_DataTable_Simple) {
+ } else if ($value instanceof Simple) {
$result .= $this->renderDataTableSimple($this->getArrayFromDataTable($value), $prefixLines);
} else {
$result .= $this->renderDataTable($this->getArrayFromDataTable($value), $prefixLines);
@@ -225,7 +233,7 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer
/**
* Computes the output for the given data table array
*
- * @param Piwik_DataTable_Array $table
+ * @param DataTable\Map $table
* @param array $array
* @param string $prefixLines
* @return string
@@ -243,7 +251,7 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer
foreach ($array as $valueAttribute => $value) {
if (empty($value)) {
$xml .= $prefixLines . "\t<result $nameDescriptionAttribute=\"$valueAttribute\" />\n";
- } elseif ($value instanceof Piwik_DataTable_Array) {
+ } elseif ($value instanceof DataTable\Map) {
$out = $this->renderTable($value, true);
//TODO somehow this code is not tested, cover this case
$xml .= "\t<result $nameDescriptionAttribute=\"$valueAttribute\">\n$out</result>\n";
@@ -267,7 +275,7 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer
// array
// 'nb_uniq_visitors' => string '28'
// 'nb_visits' => string '11'
- if ($firstTable instanceof Piwik_DataTable_Simple) {
+ if ($firstTable instanceof Simple) {
$xml = '';
$nameDescriptionAttribute = $table->getKeyName();
foreach ($array as $valueAttribute => $dataTableSimple) {
@@ -309,7 +317,7 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer
// 'label' => string 'piwik bis'
// 'nb_uniq_visitors' => int 20
// 'nb_visits' => int 120
- if ($firstTable instanceof Piwik_DataTable) {
+ if ($firstTable instanceof DataTable) {
$xml = '';
$nameDescriptionAttribute = $table->getKeyName();
foreach ($array as $keyName => $arrayForSingleDate) {
@@ -325,14 +333,13 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer
return $xml;
}
- if ($firstTable instanceof Piwik_DataTable_Array) {
+ if ($firstTable instanceof DataTable\Map) {
$xml = '';
$tables = $table->getArray();
$nameDescriptionAttribute = $table->getKeyName();
foreach ($tables as $valueAttribute => $tableInArray) {
$out = $this->renderTable($tableInArray, true, $prefixLines . "\t");
$xml .= $prefixLines . "\t<result $nameDescriptionAttribute=\"$valueAttribute\">\n" . $out . $prefixLines . "\t</result>\n";
-
}
return $xml;
}
diff --git a/core/DataTable/Row.php b/core/DataTable/Row.php
index 4b2b42a695..841ff5f5d6 100644
--- a/core/DataTable/Row.php
+++ b/core/DataTable/Row.php
@@ -8,7 +8,12 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable;
+
+use Exception;
+use Piwik\DataTable\Manager;
use Piwik\Metrics;
+use Piwik\DataTable;
/**
* A DataTable is composed of rows.
@@ -27,9 +32,9 @@ use Piwik\Metrics;
* serialized and recorded in the DB millions of times. This object size is critical and must be under control.
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Row
+class Row
{
/**
* List of columns that cannot be summed. An associative array for speed.
@@ -45,7 +50,7 @@ class Piwik_DataTable_Row
* This array contains the row information:
* - array indexed by self::COLUMNS contains the columns, pairs of (column names, value)
* - (optional) array indexed by self::METADATA contains the metadata, pairs of (metadata name, value)
- * - (optional) integer indexed by self::DATATABLE_ASSOCIATED contains the ID of the Piwik_DataTable associated to this row.
+ * - (optional) integer indexed by self::DATATABLE_ASSOCIATED contains the ID of the DataTable associated to this row.
* This ID can be used to read the DataTable from the DataTable_Manager.
*
* @var array
@@ -61,22 +66,21 @@ class Piwik_DataTable_Row
const METADATA = 1;
const DATATABLE_ASSOCIATED = 3;
-
/**
* Efficient load of the Row structure from a well structured php array
*
* @param array $row The row array has the structure
* array(
- * Piwik_DataTable_Row::COLUMNS => array(
+ * Row::COLUMNS => array(
* 'label' => 'Piwik',
* 'column1' => 42,
* 'visits' => 657,
* 'time_spent' => 155744,
* ),
- * Piwik_DataTable_Row::METADATA => array(
+ * Row::METADATA => array(
* 'logo' => 'test.png'
* ),
- * Piwik_DataTable_Row::DATATABLE_ASSOCIATED => #Piwik_DataTable object
+ * Row::DATATABLE_ASSOCIATED => #DataTable object
* (but in the row only the ID will be stored)
* )
*/
@@ -93,7 +97,7 @@ class Piwik_DataTable_Row
$this->c[self::METADATA] = $row[self::METADATA];
}
if (isset($row[self::DATATABLE_ASSOCIATED])
- && $row[self::DATATABLE_ASSOCIATED] instanceof Piwik_DataTable
+ && $row[self::DATATABLE_ASSOCIATED] instanceof DataTable
) {
$this->setSubtable($row[self::DATATABLE_ASSOCIATED]);
}
@@ -134,7 +138,7 @@ class Piwik_DataTable_Row
public function __destruct()
{
if ($this->isSubtableLoaded()) {
- Piwik_DataTable_Manager::getInstance()->deleteTable($this->getIdSubDataTable());
+ Manager::getInstance()->deleteTable($this->getIdSubDataTable());
$this->c[self::DATATABLE_ASSOCIATED] = null;
}
}
@@ -257,12 +261,12 @@ class Piwik_DataTable_Row
/**
* Returns the associated subtable, if one exists.
*
- * @return Piwik_DataTable|false
+ * @return DataTable|false
*/
public function getSubtable()
{
if ($this->isSubtableLoaded()) {
- return Piwik_DataTable_Manager::getInstance()->getTable($this->getIdSubDataTable());
+ return Manager::getInstance()->getTable($this->getIdSubDataTable());
}
return false;
}
@@ -272,31 +276,30 @@ class Piwik_DataTable_Row
* If this row doesn't have a SubDataTable yet, we create a new one.
* Then we add the values of the given DataTable to this row's DataTable.
*
- * @param Piwik_DataTable $subTable Table to sum to this row's subDatatable
+ * @param DataTable $subTable Table to sum to this row's subDatatable
* @see Piwik_DataTable::addDataTable() for the algorithm used for the sum
*/
- public function sumSubtable(Piwik_DataTable $subTable)
+ public function sumSubtable(DataTable $subTable)
{
if ($this->isSubtableLoaded()) {
$thisSubTable = $this->getSubtable();
} else {
- $thisSubTable = new Piwik_DataTable();
+ $thisSubTable = new DataTable();
$this->addSubtable($thisSubTable);
}
$thisSubTable->setColumnAggregationOperations($subTable->getColumnAggregationOperations());
$thisSubTable->addDataTable($subTable);
}
-
/**
* Set a DataTable to be associated to this row.
* If the row already has a DataTable associated to it, throws an Exception.
*
- * @param Piwik_DataTable $subTable DataTable to associate to this row
- * @return Piwik_DataTable Returns $subTable.
+ * @param DataTable $subTable DataTable to associate to this row
+ * @return DataTable Returns $subTable.
* @throws Exception
*/
- public function addSubtable(Piwik_DataTable $subTable)
+ public function addSubtable(DataTable $subTable)
{
if (!is_null($this->c[self::DATATABLE_ASSOCIATED])) {
throw new Exception("Adding a subtable to the row, but it already has a subtable associated.");
@@ -308,10 +311,10 @@ class Piwik_DataTable_Row
* Set a DataTable to this row. If there is already
* a DataTable associated, it is simply overwritten.
*
- * @param Piwik_DataTable $subTable DataTable to associate to this row
- * @return Piwik_DataTable Returns $subTable.
+ * @param DataTable $subTable DataTable to associate to this row
+ * @return DataTable Returns $subTable.
*/
- public function setSubtable(Piwik_DataTable $subTable)
+ public function setSubtable(DataTable $subTable)
{
// Hacking -1 to ensure value is negative, so we know the table was loaded
// @see isSubtableLoaded()
@@ -456,22 +459,22 @@ class Piwik_DataTable_Row
* If the column already exists in $this then we have
* this.columns[idThisCol] += $row.columns[idThisCol]
*
- * @param Piwik_DataTable_Row $rowToSum
- * @param bool $enableCopyMetadata
- * @param array $aggregationOperations for columns that should not be summed, determine which
+ * @param \Piwik\DataTable\Row $rowToSum
+ * @param bool $enableCopyMetadata
+ * @param array $aggregationOperations for columns that should not be summed, determine which
* aggregation should be used (min, max).
* format: column name => function name
*/
- public function sumRow(Piwik_DataTable_Row $rowToSum, $enableCopyMetadata = true, $aggregationOperations = null)
+ public function sumRow(Row $rowToSum, $enableCopyMetadata = true, $aggregationOperations = null)
{
foreach ($rowToSum->getColumns() as $columnToSumName => $columnToSumValue) {
if (!isset(self::$unsummableColumns[$columnToSumName])) // make sure we can add this column
{
$thisColumnValue = $this->getColumn($columnToSumName);
- $operation = (is_array($aggregationOperations) && isset($aggregationOperations[$columnToSumName]) ?
+ $operation = (is_array($aggregationOperations) && isset($aggregationOperations[$columnToSumName]) ?
strtolower($aggregationOperations[$columnToSumName]) : 'sum');
-
+
// max_actions is a core metric that is generated in ArchiveProcess_Day. Therefore, it can be
// present in any data table and is not part of the $aggregationOperations mechanism.
if ($columnToSumName == Metrics::INDEX_MAX_ACTIONS) {
@@ -536,13 +539,13 @@ class Piwik_DataTable_Row
public function isSummaryRow()
{
- return $this->getColumn('label') === Piwik_DataTable::LABEL_SUMMARY_ROW;
+ return $this->getColumn('label') === DataTable::LABEL_SUMMARY_ROW;
}
/**
* Helper function: sums 2 values
*
- * @param number|bool $thisColumnValue
+ * @param number|bool $thisColumnValue
* @param number|array $columnToSumValue
*
* @throws Exception
@@ -577,7 +580,7 @@ class Piwik_DataTable_Row
} else if ($columnToSumValue === false) {
return $thisColumnValue;
} else {
- throw new Exception("Trying to add two strings values in DataTable_Row::sumRowArray: "
+ throw new Exception("Trying to add two strings values in DataTable\Row::sumRowArray: "
. "'$thisColumnValue' + '$columnToSumValue'");
}
}
@@ -616,11 +619,11 @@ class Piwik_DataTable_Row
* - if they have exactly the same columns / metadata
* - if they have a subDataTable associated, then we check that both of them are the same.
*
- * @param Piwik_DataTable_Row $row1 first to compare
- * @param Piwik_DataTable_Row $row2 second to compare
+ * @param \Piwik\DataTable\Row $row1 first to compare
+ * @param \Piwik\DataTable\Row $row2 second to compare
* @return bool
*/
- static public function isEqual(Piwik_DataTable_Row $row1, Piwik_DataTable_Row $row2)
+ static public function isEqual(Row $row1, Row $row2)
{
//same columns
$cols1 = $row1->getColumns();
@@ -651,7 +654,7 @@ class Piwik_DataTable_Row
) {
$subtable1 = $row1->getSubtable();
$subtable2 = $row2->getSubtable();
- if (!Piwik_DataTable::isEqual($subtable1, $subtable2)) {
+ if (!DataTable::isEqual($subtable1, $subtable2)) {
return false;
}
}
diff --git a/core/DataTable/Row/DataTableSummary.php b/core/DataTable/Row/DataTableSummaryRow.php
index c3acafdc66..f4203d9489 100644
--- a/core/DataTable/Row/DataTableSummary.php
+++ b/core/DataTable/Row/DataTableSummaryRow.php
@@ -8,6 +8,11 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable\Row;
+
+use Piwik\DataTable;
+use Piwik\DataTable\Manager;
+use Piwik\DataTable\Row;
/**
* This class creates a row from a given DataTable.
@@ -15,15 +20,15 @@
* - for each numeric column, the returned "summary" column is the sum of all the subRows
* - for every other column, it is ignored and will not be in the "summary row"
*
- * @see Piwik_DataTable_Row::sumRow() for more information on the algorithm
+ * @see \DataTable\Row::sumRow() for more information on the algorithm
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Row_DataTableSummary extends Piwik_DataTable_Row
+class DataTableSummaryRow extends Row
{
/**
- * @param Piwik_DataTable $subTable
+ * @param DataTable $subTable
*/
function __construct($subTable = null)
{
@@ -41,7 +46,7 @@ class Piwik_DataTable_Row_DataTableSummary extends Piwik_DataTable_Row
{
$id = $this->getIdSubDataTable();
if ($id !== null) {
- $subtable = Piwik_DataTable_Manager::getInstance()->getTable($id);
+ $subtable = Manager::getInstance()->getTable($id);
$this->sumTable($subtable);
}
}
@@ -49,7 +54,7 @@ class Piwik_DataTable_Row_DataTableSummary extends Piwik_DataTable_Row
/**
* Sums a tables row with this one.
*
- * @param Piwik_DataTable $table
+ * @param DataTable $table
*/
private function sumTable($table)
{
diff --git a/core/DataTable/Simple.php b/core/DataTable/Simple.php
index 7189fb0b2e..d7f9c430ad 100644
--- a/core/DataTable/Simple.php
+++ b/core/DataTable/Simple.php
@@ -8,21 +8,22 @@
* @category Piwik
* @package Piwik
*/
+namespace Piwik\DataTable;
/**
- * The DataTable_Simple is used to provide an easy way to create simple DataGrid.
- * A DataTable_Simple actually is a DataTable with 2 columns: 'label' and 'value'.
+ * The DataTable\Simple is used to provide an easy way to create simple DataGrid.
+ * A DataTable\Simple is a DataTable with 2 columns: 'label' and 'value'.
*
- * It is usually best to return a DataTable_Simple instead of
+ * It is usually best to return a DataTable\Simple instead of
* a PHP array (or other custom data structure) in API methods:
* - the generic filters can be applied automatically (offset, limit, pattern search, sort, etc.)
* - the renderer can be applied (XML, PHP, HTML, etc.)
* So you don't have to write specific renderer for your data, it is already available in all the formats supported natively by Piwik.
*
* @package Piwik
- * @subpackage Piwik_DataTable
+ * @subpackage DataTable
*/
-class Piwik_DataTable_Simple extends Piwik_DataTable
+class Simple extends DataTable
{
/**
* Loads (append) in the DataTable the array information