X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=gosa-core%2Finclude%2Fclass_listing.inc;h=485a0aff701a6efe14df28591ed4a046dc78fcbe;hb=d5f42389530849d171b1dc22de1c591c5feedd38;hp=934d024c7915b9d91613dd7162e72c9cb194f257;hpb=25e314dcd2c2dee0c5664841cb5083c343384b41;p=gosa.git diff --git a/gosa-core/include/class_listing.inc b/gosa-core/include/class_listing.inc index 934d024c7..485a0aff7 100644 --- a/gosa-core/include/class_listing.inc +++ b/gosa-core/include/class_listing.inc @@ -256,6 +256,7 @@ class listing { } } + function render() { // Check for exeeded sizelimit @@ -271,25 +272,23 @@ class listing { $height= $this->height; } - $result.= "
\n"; - $result.= " -"; // Add the footer if requested if ($this->showFooter) { - $result.= ""; + $result.= ""; } - $result.= "
\n"; + $result.= "
\n"; - - // New table for the real list contents - $result.= ""; + // Close list body + $result.= "
\n"; + + $result.= "\n"; $this->numColumns= count($this->colprops) + ($this->multiSelect?1:0); // Build list header - $result.= "\n"; + $result.= "\n"; if ($this->multiSelect) { - $result.= "\n"; + $result.= "\n"; } foreach ($this->header as $header) { $result.= $header; } + $result.= "\n"; - // Add 13px for scroller - $result.= "
 
\n"; + // Build list body + $result.= "\n"; // No results? Just take an empty colspanned row if (count($this->entries) + count($this->departments) == 0) { @@ -310,7 +309,7 @@ class listing { // Render multi select if needed if ($this->multiSelect) { - $result.=""; + $result.=""; } // Render defined department columns, fill the rest with some stuff @@ -390,11 +389,12 @@ class listing { $result.= ""; } - $result.= "
  
"; + $result.= "
"; foreach ($this->objectTypes as $objectType) { if (isset($this->objectTypeCount[$objectType['label']])) { @@ -403,10 +403,11 @@ class listing { } } - $result.= " 
"; + // Close list + $result.= ""; $smarty= get_smarty(); $smarty->assign("usePrototype", "true"); @@ -665,11 +666,18 @@ class listing { preg_match_all("/%\{filter:([^(]+)\((.*)\)\}/", $data, $matches, PREG_SET_ORDER); foreach ($matches as $match) { - if (!isset($this->filters[$match[1]])) { - continue; + $cl= ""; + $method= ""; + if (preg_match('/::/', $match[1])) { + $cl= preg_replace('/::.*$/', '', $match[1]); + $method= preg_replace('/^.*::/', '', $match[1]); + } else { + if (!isset($this->filters[$match[1]])) { + continue; + } + $cl= preg_replace('/::.*$/', '', $this->filters[$match[1]]); + $method= preg_replace('/^.*::/', '', $this->filters[$match[1]]); } - $cl= preg_replace('/::.*$/', '', $this->filters[$match[1]]); - $method= preg_replace('/^.*::/', '', $this->filters[$match[1]]); // Prepare params for function call $params= array(); @@ -730,7 +738,6 @@ class listing { function getObjectType($types, $classes) { // Walk thru types and see if there's something matching - $types=array_reverse($types); foreach ($types as $objectType) { $ocs= $objectType['objectClass']; if (!is_array($ocs)){