private function doInternalOrder()
{
if (is_null($this->orderColumn)) {
return;
}
// Bug added on pull request #309
$column = array_values($this->orderColumn)[0];
$direction = array_values($this->orderDirection)[0];
$stripOrder = $this->options['stripOrder'];
$sortFunction = 'sortBy';
if ($direction == BaseEngine::ORDER_DESC) {
$sortFunction = 'sortByDesc';
}
$this->workingCollection->{$sortFunction}(function ($row) use($column, $stripOrder) {
if ($this->getAliasMapping()) {
$column = $this->getNameByIndex($column[0]);
return $row[$column];
}
if ($stripOrder) {
return strip_tags($row[$column]);
} else {
if (is_array($column)) {
return $row[$column[0]];
}
return $row[$column];
}
});
}