function ldap_views_plugin_query_ldap::build_condition in Lightweight Directory Access Protocol (LDAP) 7
Same name and namespace in other branches
- 8.2 ldap_views/plugins/ldap_views_plugin_query_ldap.inc \ldap_views_plugin_query_ldap::build_condition()
- 7.2 ldap_views/plugins/ldap_views_plugin_query_ldap.inc \ldap_views_plugin_query_ldap::build_condition()
Construct the filter
Parameters
$where: 'where' or 'having'.
1 call to ldap_views_plugin_query_ldap::build_condition()
- ldap_views_plugin_query_ldap::build_ldap_filter in ldap_views/
plugins/ ldap_views_plugin_query_ldap.inc
File
- ldap_views/
plugins/ ldap_views_plugin_query_ldap.inc, line 137 - Defines the default query object which builds and execute a ldap query
Class
- ldap_views_plugin_query_ldap
- @file Defines the default query object which builds and execute a ldap query
Code
function build_condition() {
$operator = array(
'AND' => '&',
'OR' => '|',
);
$main_group = '';
if (!isset($this->where)) {
$this->where = array();
// Initialize where clause if not set
}
foreach ($this->where as $group => $info) {
if (!empty($info['conditions'])) {
$sub_group = '';
foreach ($info['conditions'] as $key => $clause) {
$item = '(' . $clause['field'] . $clause['operator'] . $clause['value'] . ')';
$sub_group .= $clause['negate'] ? "(!{$item})" : $item;
}
$main_group .= count($info['conditions']) <= 1 ? $sub_group : '(' . $operator[$info['type']] . $sub_group . ')';
}
}
return count($this->where) <= 1 ? $main_group : '(' . $operator[$this->group_operator] . $main_group . ')';
}