X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_listing.inc;h=3a4f6f9948b1a57772b1f70283a8b483784972e3;hb=e488772123d2b0ee56ebd92c95880576f27aea62;hp=bfc9c0735a2f92d51c02d637568023cd84faa39c;hpb=02c1b6ef6b4e94ada185f58138a22d01b6598553;p=gosa.git diff --git a/gosa-core/include/class_listing.inc b/gosa-core/include/class_listing.inc index bfc9c0735..3a4f6f994 100644 --- a/gosa-core/include/class_listing.inc +++ b/gosa-core/include/class_listing.inc @@ -81,7 +81,7 @@ class listing { } // Move footer information - $this->showFooter= ($config->get_cfg_value("listSummary") == "true"); + $this->showFooter= ($config->get_cfg_value("core","listSummary") == "true"); // Register build in filters $this->registerElementFilter("objectType", "listing::filterObjectType"); @@ -336,11 +336,11 @@ class listing { // Fill with department browser if configured this way $departmentIterator= new departmentSortIterator($this->departments, $this->sortDirection[$this->sortColumn]); foreach ($departmentIterator as $row => $entry){ - $result.=""; + $rowResult= ""; // Render multi select if needed if ($this->multiSelect || $this->singleSelect) { - $result.=" "; + $rowResult.=" "; } // Render defined department columns, fill the rest with some stuff @@ -351,19 +351,27 @@ class listing { $colspan= $config['span']; $this->useSpan= true; } - $result.="colprops[$index]." class='list1'>".$this->renderCell($config['value'], $entry, $row).""; + $rowResult.="colprops[$index]." class='list1'>".$this->renderCell($config['value'], $entry, $row).""; $rest-= $colspan; } // Fill remaining cols with nothing $last= $this->numColumns - $rest; for ($i= 0; $i<$rest; $i++){ - $result.= "colprops[$last+$i-1]." class='list1'> "; + $rowResult.= "colprops[$last+$i-1]." class='list1'> "; } - $result.=""; + $rowResult.=""; + // Apply label to objecttype icon? + if (preg_match("//i", $rowResult, $matches)){ + $objectType= image($matches[1], null, LDAP::fix(base64_decode($matches[2]))); + $rowResult= preg_replace("/]+>/", $objectType, $rowResult); + } + $result.= $rowResult; $alt++; } + + $deps= $alt; } @@ -401,6 +409,17 @@ class listing { $entryIterator= new listingSortIterator($this->entries, $this->sortDirection[$this->sortColumn], "_sort".$this->sortColumn, $this->sortType); foreach ($entryIterator as $row => $entry){ + // Apply label to objecttype icon? + if (preg_match("//i", $entry['_rendered'], $matches)){ + if (preg_match("//i", $entry['_rendered'], $m)) { + $objectType= image($matches[1]."[".$m[1]."]", null, LDAP::fix(base64_decode($matches[2]))); + } else { + $objectType= image($matches[1], null, LDAP::fix(base64_decode($matches[2]))); + } + $entry['_rendered']= preg_replace("/]+>/", $objectType, $entry['_rendered']); + $entry['_rendered']= preg_replace("/]+>/", '', $entry['_rendered']); + } + // Apply custom class to row? if (preg_match("//i", $entry['_rendered'], $matches)) { $result.="\n"; @@ -460,7 +479,7 @@ class listing { $result.= ''; $smarty= get_smarty(); - $smarty->assign("usePrototype", "true"); + $smarty->assign("FILTER", $this->filter->render()); $smarty->assign("SIZELIMIT", print_sizelimit_warning()); $smarty->assign("LIST", $result); @@ -502,6 +521,7 @@ class listing { // Take care of base selector if ($this->baseMode) { $this->baseSelector->update(); + // Check if a wrong base was supplied if(!$this->baseSelector->checkLastBaseUpdate()){ msg_dialog::display(_("Error"), msgPool::check_base(), ERROR_DIALOG); @@ -846,7 +866,7 @@ class listing { $objectType= $this->getObjectType($this->objectTypes, $classes); if ($objectType) { $this->objectDnMapping[$dn]= $objectType["objectClass"]; - $result= image($objectType["image"], null, LDAP::fix($dn)); + $result= ""; if (!isset($this->objectTypeCount[$objectType['label']])) { $this->objectTypeCount[$objectType['label']]= 0; } @@ -1581,7 +1601,6 @@ class listing { function getEntry($dn) { - $dn = LDAP::fix($dn); foreach ($this->entries as $entry) { if (isset($entry['dn']) && strcasecmp($dn, $entry['dn']) == 0){ return $entry;