diff --git a/core/DataTable/Filter/Sort.php b/core/DataTable/Filter/Sort.php index 5844208940f..ce25898e970 100644 --- a/core/DataTable/Filter/Sort.php +++ b/core/DataTable/Filter/Sort.php @@ -74,6 +74,14 @@ public function numberSort($a, $b) $valA = $a->getColumn($this->columnToSort); $valB = $b->getColumn($this->columnToSort); + if ($valA === false) { + $valA = null; + } + + if ($valB === false) { + $valB = null; + } + return !isset($valA) && !isset($valB) ? 0 @@ -111,6 +119,14 @@ function naturalSort($a, $b) $valA = $a->getColumn($this->columnToSort); $valB = $b->getColumn($this->columnToSort); + if ($valA === false) { + $valA = null; + } + + if ($valB === false) { + $valB = null; + } + return !isset($valA) && !isset($valB) ? 0 @@ -138,6 +154,14 @@ function sortString($a, $b) $valA = $a->getColumn($this->columnToSort); $valB = $b->getColumn($this->columnToSort); + if ($valA === false) { + $valA = null; + } + + if ($valB === false) { + $valB = null; + } + return !isset($valA) && !isset($valB) ? 0 @@ -224,6 +248,7 @@ public function filter($table) $methodToUse = "sortString"; } } + $table->sort(array($this, $methodToUse), $this->columnToSort); } }