diff options
Diffstat (limited to 'core/DataTable/Filter')
28 files changed, 317 insertions, 188 deletions
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)); } } |