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/Filter/Sort.php')
-rw-r--r--core/DataTable/Filter/Sort.php62
1 files changed, 34 insertions, 28 deletions
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)) {