X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_sortableListing.inc;h=55c3bbfe9bc5617b76eabbc41a0c9de330ad8334;hb=0263ebf7c8361121ba2e35e4e80c976a02ed1d26;hp=f4ad8d6d3d93afa9ca3cac99af75f6c209a7fccd;hpb=5009daee89cea6af2627a27fd1b2f0d0eb123d4a;p=gosa.git diff --git a/gosa-core/include/class_sortableListing.inc b/gosa-core/include/class_sortableListing.inc index f4ad8d6d3..55c3bbfe9 100644 --- a/gosa-core/include/class_sortableListing.inc +++ b/gosa-core/include/class_sortableListing.inc @@ -1,7 +1,7 @@ setData($data); - if (!$displayData) { - $displayData= array(); - foreach ($data as $value) { - $displayData[]= array($value); - } - } - - $this->setDisplayData($displayData); + $this->setListData($data, $displayData); // Generate instance wide unique ID $tmp= gettimeofday(); @@ -74,6 +72,20 @@ class sortableListing { } + public function setListData($data, $displayData= null) + { + // Save data to display + $this->setData($data); + if (!$displayData) { + $displayData= array(); + foreach ($data as $key => $value) { + $displayData[$key]= array("data" => array($value)); + } + } + $this->setDisplayData($displayData); + } + + private function setData($data) { $this->data= $data; @@ -87,10 +99,18 @@ class sortableListing { } // Transfer information - $this->displayData= $data; + $this->displayData= array(); + $this->modes= array(); + foreach ($data as $key => $value) { + $this->displayData[]= $value['data']; + if (isset($value['mode'])) { + $this->modes[]= $value['mode']; + } + } + $this->keys= array_keys($data); // Create initial mapping - $this->mapping= array_keys($data); + $this->mapping= range(0, abs(count($this->keys)-1)); $this->current_mapping= $this->mapping; // Find the number of coluns @@ -121,6 +141,12 @@ class sortableListing { } + public function setColorAlternate($flag) + { + $this->colorAlternate= $flag; + } + + public function setEditable($flag) { $this->editable= $flag; @@ -160,17 +186,17 @@ class sortableListing { public function render() { $result= "
".(isset($this->header[$i])?$this->header[$i]:"")." | "; + $result.= "".(isset($this->header[$i])?$this->header[$i]:"")." | "; } else { - $result.= "".(isset($this->header[$i])?$this->header[$i]:"")."$sorter | "; + $result.= "".(isset($this->header[$i])?$this->header[$i]:"")."$sorter | "; } + $first= ""; } if ($action_width) { $result.= ""; @@ -216,16 +248,33 @@ class sortableListing { if (strpos($this->acl, 'r') !== false) { foreach ($this->mapping as $nr => $row) { $editable= $this->editable?" onclick='$(\"edit_".$this->id."_$nr\").click()'":""; - $result.= " |
---|---|---|---|---|
".htmlentities($column)." | \n"; + $result.= "".$column." | \n"; $first= ""; } + if ($action_width) { $result.= "".str_replace('%ID', "edit_".$this->id."_$nr", $edit_image). str_replace('%ID', "del_".$this->id."_$nr", $delete_image)." | "; } + $result.= "