Changeset View
Changeset View
Standalone View
Standalone View
src/app/Backends/LDAP.php
Show First 20 Lines • Show All 948 Lines • ▼ Show 20 Lines | class LDAP | ||||
/** | /** | ||||
* Convert group member addresses in to valid entries. | * Convert group member addresses in to valid entries. | ||||
*/ | */ | ||||
private static function setGroupAttributes($ldap, Group $group, &$entry) | private static function setGroupAttributes($ldap, Group $group, &$entry) | ||||
{ | { | ||||
$settings = $group->getSettings(['sender_policy']); | $settings = $group->getSettings(['sender_policy']); | ||||
$entry['kolaballowsmtpsender'] = json_decode($settings['sender_policy'] ?: '[]', true); | // Make sure the policy does not contain duplicates, they aren't allowed | ||||
// by the ldap definition of kolabAllowSMTPSender attribute | |||||
$sender_policy = json_decode($settings['sender_policy'] ?: '[]', true); | |||||
$sender_policy = array_values(array_unique(array_map('strtolower', $sender_policy))); | |||||
$entry['kolaballowsmtpsender'] = $sender_policy; | |||||
$entry['cn'] = $group->name; | $entry['cn'] = $group->name; | ||||
$entry['uniquemember'] = []; | $entry['uniquemember'] = []; | ||||
$groupDomain = explode('@', $group->email, 2)[1]; | $groupDomain = explode('@', $group->email, 2)[1]; | ||||
$domainBaseDN = self::baseDN($ldap, $groupDomain); | $domainBaseDN = self::baseDN($ldap, $groupDomain); | ||||
$validMembers = []; | $validMembers = []; | ||||
foreach ($group->members as $member) { | foreach ($group->members as $member) { | ||||
▲ Show 20 Lines • Show All 449 Lines • Show Last 20 Lines |