|
|
|
@ -112,6 +112,20 @@ class acl extends rcube_plugin
|
|
|
|
|
$keys[] = $display ?: $user['name'];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($this->rc->config->get('acl_groups')) {
|
|
|
|
|
$prefix = $this->rc->config->get('acl_group_prefix');
|
|
|
|
|
$result = $this->ldap->list_groups($search, $mode);
|
|
|
|
|
|
|
|
|
|
foreach ($result as $record) {
|
|
|
|
|
$group = $record['name'];
|
|
|
|
|
|
|
|
|
|
if ($group) {
|
|
|
|
|
$users[] = array('name' => ($prefix ? $prefix : '') . $group, 'display' => $group);
|
|
|
|
|
$keys[] = $group;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (count($users)) {
|
|
|
|
@ -448,9 +462,13 @@ class acl extends rcube_plugin
|
|
|
|
|
$result = 0;
|
|
|
|
|
|
|
|
|
|
foreach ($users as $user) {
|
|
|
|
|
$user = trim($user);
|
|
|
|
|
$user = trim($user);
|
|
|
|
|
$prefix = $this->rc->config->get('acl_groups') ? $this->rc->config->get('acl_group_prefix') : '';
|
|
|
|
|
|
|
|
|
|
if (!empty($this->specials) && in_array($user, $this->specials)) {
|
|
|
|
|
if ($prefix && strpos($user, $prefix) === 0) {
|
|
|
|
|
$username = $user;
|
|
|
|
|
}
|
|
|
|
|
else if (!empty($this->specials) && in_array($user, $this->specials)) {
|
|
|
|
|
$username = $this->gettext($user);
|
|
|
|
|
}
|
|
|
|
|
else if (!empty($user)) {
|
|
|
|
|