index 3db6b5a4b542aceaf8083a1c29179786f75b18bd..2afa3fe60685fe2e85029debd50dcb29552e9c1c 100644 (file)
var $xmlData;
var $searches= array();
var $search;
+
+ #FIXME - Seems to be obsolete. Categories are defined in the listing.xml <objectType>
+ # and not in the filter.xml anymore.
var $category= "";
var $objectStorage= array();
var $base= "";
var $converter= null;
var $pid;
+ /* An editor which allows to create user defined ldap-filter.
+ * Due to the fact that it requires additional ldap schemata
+ * (objectClasses=gosaProperties) this is currently optional.
+ */
+ var $filterEditor = NULL;
+
+ /* The categories this filter is made for (e.g. ['users'] or. ['server','workstation']).
+ * Since this is set we are able to create user defined filters.
+ */
+ var $categories = array();
function filter($filename)
{
$characters= $element['autocomplete']['characters'];
}
$result.= "<div id='autocomplete$tag' class='autocomplete'></div>".
- "<script type='text/javascript'>".
- "new Ajax.Autocompleter('$tag', 'autocomplete$tag', 'autocomplete.php', { minChars: $characters, frequency: $frequency });".
- "</script>";
+ "<script type='text/javascript'>".
+ "new Ajax.Autocompleter('$tag', 'autocomplete$tag', 'autocomplete.php', { minChars: $characters, frequency: $frequency });".
+ "</script>";
- $this->autocompleters[$tag]= $element['autocomplete'];
+ $this->autocompleters[$tag]= $element['autocomplete'];
}
return $result;
}
{
$content= "<table class='filter-wrapper'><tr><td>".$this->renderFilterMenu()."</td><td>";
$content.= "<div class='search-filter'><input type='text' name='search_filter' value='".$this->value."'></div>".
- " <button class='search-filter' type='submit' title='"._("Search")."'>".image("images/find.png")."</button></td></tr></table>";
+ " <button class='search-filter' type='submit' title='"._("Search")."'>".image("images/find.png")."</button></td></tr></table>";
// Return meta data
return ("<input type='hidden' name='FILTER_PID' value='".$this->pid."'>".$content);
$filter= preg_replace("/\\$/", "*".normalizeLdap($this->value)."*", $filter);
}
- $result= array_merge($result, call_user_func(array($backend, 'query'), $this->base, $this->scope, $filter, $attributes, $this->category, $this->objectStorage));
+ $result= array_merge($result, call_user_func(array($backend, 'query'), $this->base, $this->scope, $filter, $attributes, $this->categories, $this->objectStorage));
}
-
+
return ($result);
}
$filter= preg_replace("/\\$/", normalizeLdap($value), $filter);
if (isset($config['base']) && isset($config['scope']) && isset($config['category'])) {
$result= call_user_func(array($backend, 'query'), $config['base'], $config['scope'], $filter, $attributes,
- $config["category"], $config["objectStorage"]);
+ $config["category"], $config["objectStorage"]);
} else {
$result= call_user_func(array($backend, 'query'), $this->base, $this->scope, $filter, $attributes,
- $this->category, $this->objectStorage);
+ $this->categories, $this->objectStorage);
}
foreach ($result as $entry) {
{
// Load shortcut
$result= "<input type='hidden' name='act' id='filter' value=''><div style='display:none'><input type='submit' name='exec_filter' id='exec_filter' value=''></div>".
- "<ul class='level1' id='filter-root'><li><a href='#'>".image("images/filter.png")._("...")." ".image("images/lists/sort-down.png")."</a>";
+ "<ul class='level1' id='filter-root'><li><a href='#'>".image("images/filter.png")._("...")." ".image("images/lists/sort-down.png")."</a>";
// Build ul/li list
$result.= "<ul class='level2'>";
$result.= "<li><a href='#'>Dummy placeholder</a></li>";
- #$result.= "<li$separator><a href='#' onClick='document.getElementById(\"actionmenu\").value= \"".$action['name']."\";mainform.submit();'>$img"._($action['label'])."</a></li>";
+ $result.= "<li><a href='#'>Dummy placeholder</a></li>";
+#$result.= "<li$separator><a href='#' onClick='document.getElementById(\"actionmenu\").value= \"".$action['name']."\";mainform.submit();'>$img"._($action['label'])."</a></li>";
+
+# AUTOCOMPLETER and getTextbox
+
$result.= "</ul>";
$script= '<script type="text/javascript" language="JavaScript">var menu2; menu2= new Menu("filter-root", "menu2", configMenu)</script>';
return "<div id='filtermenu'>".$result."</li></ul><div>$script";
}
+
+
+ function setCategories($categories)
+ {
+ if(!is_array($categories) && !empty($categories)){
+ $categories = array($categories) ;
+ }
+ $this->categories = $categories;
+ }
}
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
?>