X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_sortableListing.inc;h=a30758ebc3c3ccba455edc2e079eeecb61530b65;hb=05b1b86cf7628a526d3e74dee3d7dfe836b92cf5;hp=cf7a5e66fd555f03133d0d6d96ec9053ab34e76b;hpb=e0f580ea83145b6e0d1411149e0962e0b19a9c0d;p=gosa.git diff --git a/gosa-core/include/class_sortableListing.inc b/gosa-core/include/class_sortableListing.inc index cf7a5e66f..a30758ebc 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; @@ -159,8 +185,8 @@ 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 +244,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.= "