Page MenuHomePhorge

D2050.1775326421.diff
No OneTemporary

Authored By
Unknown
Size
1 KB
Referenced Files
None
Subscribers
None

D2050.1775326421.diff

diff --git a/src/app/Backends/LDAP.php b/src/app/Backends/LDAP.php
--- a/src/app/Backends/LDAP.php
+++ b/src/app/Backends/LDAP.php
@@ -713,6 +713,13 @@
$domainBaseDN = "ou={$domain->namespace},{$hostedRootDN}";
foreach ($group->members as $member) {
+ $member = strtolower($member);
+
+ // filter out duplicate members
+ if (in_array($member, $validMembers)) {
+ continue;
+ }
+
list($local, $domainName) = explode('@', $member);
$memberDN = "uid={$member},ou=People,{$domainBaseDN}";
@@ -747,7 +754,10 @@
// Update members in sql (some might have been removed),
// skip model events to not invoke another update job
+ sort($validMembers);
+
$group->members = $validMembers;
+
Group::withoutEvents(function () use ($group) {
$group->save();
});
diff --git a/src/app/Group.php b/src/app/Group.php
--- a/src/app/Group.php
+++ b/src/app/Group.php
@@ -197,7 +197,10 @@
*/
public function setMembersAttribute(array $members): void
{
- $members = array_filter(array_map('strtolower', $members));
+ $members = array_unique(array_filter(array_map('strtolower', $members)));
+
+ sort($members);
+
$this->attributes['members'] = implode(',', $members);
}

File Metadata

Mime Type
text/plain
Expires
Sat, Apr 4, 6:13 PM (10 h, 50 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18830652
Default Alt Text
D2050.1775326421.diff (1 KB)

Event Timeline