From fdc518a8263e1cf9d6c6dd76970e60a0e5e21924 Mon Sep 17 00:00:00 2001 From: cajus Date: Mon, 24 Aug 2009 07:28:26 +0000 Subject: [PATCH] Added experimental sorting for rendered cells. Preparing for cached entries. git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@14111 594d385d-05f5-0310-b6e9-bd551577e9d8 --- gosa-core/include/class_listing.inc | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/gosa-core/include/class_listing.inc b/gosa-core/include/class_listing.inc index e0ca916ef..e2bdb9a44 100644 --- a/gosa-core/include/class_listing.inc +++ b/gosa-core/include/class_listing.inc @@ -293,23 +293,35 @@ class listing { } // Fill with contents, sort as configured - $entryIterator= new listingSortIterator($this->entries, $this->sortDirection[$this->sortColumn], $this->sortAttribute, $this->sortType); - foreach ($entryIterator as $row => $entry){ - $result.=""; + foreach ($this->entry as $row => $entry) { + $trow =""; // Render multi select if needed if ($this->multiSelect) { - $result.=""; + $trow.=""; } foreach ($this->xmlData['table']['column'] as $index => $config) { - $result.="colprops[$index]." class='list0'>".$this->renderCell($config['value'], $entry, $row).""; + $renderedCell= $this->renderCell($config['value'], $entry, $row); + $trow.="colprops[$index]." class='list0'>".$renderedCell.""; + + // Save rendered column + $this->entry[$row]["_sort$index"]= $renderedCell; } - $result.=""; + $trow.=""; + + // Save rendered entry + $this->entry[$row]['_rendered']= $trow; $alt++; } + // Complete list by sorting entries for _sort$index and appending them to the output + $entryIterator= new listingSortIterator($this->entries, $this->sortDirection[$this->sortColumn], "_sort".$this->sortColumn, $this->sortType); + foreach ($entryIterator as $row => $entry){ + $result.= $entry['_rendered']; + } + // Need to fill the list if it's not full (nobody knows why this is 22 ;-)) $emptyListStyle= (count($this->entries) + $deps == 0)?"border:0;":""; if ((count($this->entries) + $deps) < 22) { -- 2.30.2