Skip to content

Commit 1788054

Browse files
committed
Move responsibility for adding new users in to the user directory
Relates to: #55
1 parent 946c6ff commit 1788054

File tree

4 files changed

+7
-6
lines changed

4 files changed

+7
-6
lines changed

model/user.php

+7-3
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ public function check_csrf_token($token) {
298298
* @throws UserNotFoundException if the user is not found in LDAP
299299
*/
300300
public function get_details_from_ldap() {
301-
global $config, $group_dir;
301+
global $config, $group_dir, $user_dir;
302302
$attributes = array();
303303
$attributes[] = 'dn';
304304
$attributes[] = $config['ldap']['user_id'];
@@ -324,13 +324,18 @@ public function get_details_from_ldap() {
324324
} else {
325325
$this->active = 1;
326326
}
327-
$this->admin = 0;
328327
$group_member = $ldapuser[strtolower($config['ldap']['group_member_value'])];
329328
$ldapgroups = $this->ldap->search($config['ldap']['dn_group'], LDAP::escape($config['ldap']['group_member']).'='.LDAP::escape($group_member), array('cn'));
330329
$memberships = array();
331330
foreach($ldapgroups as $ldapgroup) {
332331
$memberships[$ldapgroup['cn']] = true;
333332
}
333+
$this->admin = isset($memberships[$config['ldap']['admin_group_cn']]);
334+
if(isset($this->id)) {
335+
$this->update();
336+
} else {
337+
$user_dir->add_user($this);
338+
}
334339
if(isset($config['ldap']['sync_groups']) && is_array($config['ldap']['sync_groups'])) {
335340
$syncgroups = $config['ldap']['sync_groups'];
336341
} else {
@@ -347,7 +352,6 @@ public function get_details_from_ldap() {
347352
$group_dir->add_group($group);
348353
}
349354
if(isset($memberships[$syncgroup])) {
350-
if($syncgroup == $config['ldap']['admin_group_cn']) $this->admin = 1;
351355
if(!$this->member_of($group)) {
352356
$group->add_member($this);
353357
}

model/userdirectory.php

-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,6 @@ public function get_user_by_uid($uid) {
9797
$user->uid = $uid;
9898
$this->cache_uid[$uid] = $user;
9999
$user->get_details_from_ldap();
100-
$this->add_user($user);
101100
}
102101
$stmt->close();
103102
return $user;

scripts/ldap_update.php

-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
$active = $user->active;
4141
try {
4242
$user->get_details_from_ldap();
43-
$user->update();
4443
if(isset($config['ldap']['user_superior'])) {
4544
$user->get_superior_from_ldap();
4645
}

views/user.php

-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@
4949
} elseif(isset($_POST['edit_user']) && $active_user->admin) {
5050
$user->force_disable = $_POST['force_disable'];
5151
$user->get_details_from_ldap();
52-
$user->update();
5352
redirect('#settings');
5453
} else {
5554
$content = new PageSection('user');

0 commit comments

Comments
 (0)