provide method to define server side filtering
This commit is contained in:
parent
fc0c396f64
commit
97cb8bcce9
|
@ -980,11 +980,24 @@ class lamList {
|
|||
protected function buildLDAPAttributeFilter() {
|
||||
$text = '';
|
||||
foreach ($this->filters as $attr => $filter) {
|
||||
if (!$this->isAttributeFilteredByServer($attr)) {
|
||||
continue;
|
||||
}
|
||||
$text .= '(' . $attr . '=' . $filter . ')';
|
||||
}
|
||||
return $text;
|
||||
}
|
||||
|
||||
/**
|
||||
* Specifies if the given attribute name is used for server side filtering (LDAP filter string).
|
||||
*
|
||||
* @param string $attrName attribute name
|
||||
* @return bool filter server side
|
||||
*/
|
||||
protected function isAttributeFilteredByServer($attrName) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Forces a refresh of the LDAP data.
|
||||
* Function must be called before $this->refresh option is checked to load new LDAP data (e.g. in listGetParams).
|
||||
|
|
|
@ -915,15 +915,22 @@ class lamUserList extends lamList {
|
|||
*/
|
||||
protected function buildLDAPAttributeFilter() {
|
||||
$this->accountStatusFilter = null;
|
||||
$text = '';
|
||||
foreach ($this->filters as $attr => $filter) {
|
||||
if ($attr == self::ATTR_ACCOUNT_STATUS) {
|
||||
$this->accountStatusFilter = $filter;
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
$text .= '(' . $attr . '=' . $filter . ')';
|
||||
}
|
||||
return $text;
|
||||
return parent::buildLDAPAttributeFilter();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
* @see lamList::isAttributeFilteredByServer()
|
||||
*/
|
||||
protected function isAttributeFilteredByServer($attrName) {
|
||||
// do not filter status server side
|
||||
return $attrName != self::ATTR_ACCOUNT_STATUS;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue