Minor code improvements for the pull-request

This commit is contained in:
Frederic Guillot
2015-01-19 21:49:01 -05:00
parent 525d31d1bf
commit 0d80102c48
2 changed files with 18 additions and 13 deletions

View File

@@ -208,27 +208,31 @@ class Ldap extends Base
} }
/** /**
* Retrieve info on LDAP user. * Retrieve info on LDAP user
* *
* @param resource $ldap LDAP connection
* @param string $username Username * @param string $username Username
* @param string $email Email address * @param string $email Email address
*/ */
public function lookup($username = null, $email = null) public function lookup($username = null, $email = null)
{ {
if ($username && $email) if ($username && $email) {
$query = '(&('.sprintf(LDAP_USER_PATTERN, $username).')('.sprintf(LDAP_ACCOUNT_EMAIL, $email).')'; $query = '(&('.sprintf(LDAP_USER_PATTERN, $username).')('.sprintf(LDAP_ACCOUNT_EMAIL, $email).')';
else if ($username) }
else if ($username) {
$query = sprintf(LDAP_USER_PATTERN, $username); $query = sprintf(LDAP_USER_PATTERN, $username);
else if ($email) }
else if ($email) {
$query = '('.LDAP_ACCOUNT_EMAIL.'='.$email.')'; $query = '('.LDAP_ACCOUNT_EMAIL.'='.$email.')';
else }
else {
return false; return false;
}
// Connect and attempt anonymous bind // Connect and attempt anonymous bind
$ldap = $this->connect(); $ldap = $this->connect();
if (!is_resource($ldap) || !$this->bind($ldap, null, null)) if (! is_resource($ldap) || ! $this->bind($ldap, null, null)) {
return false; return false;
}
// Try to find user // Try to find user
$sr = @ldap_search($ldap, LDAP_ACCOUNT_BASE, $query, array(LDAP_ACCOUNT_FULLNAME, LDAP_ACCOUNT_EMAIL, LDAP_ACCOUNT_ID)); $sr = @ldap_search($ldap, LDAP_ACCOUNT_BASE, $query, array(LDAP_ACCOUNT_FULLNAME, LDAP_ACCOUNT_EMAIL, LDAP_ACCOUNT_ID));
@@ -244,7 +248,7 @@ class Ldap extends Base
} }
// User id not retrieved: LDAP_ACCOUNT_ID not properly configured // User id not retrieved: LDAP_ACCOUNT_ID not properly configured
if (!$username && !isset($info[0][LDAP_ACCOUNT_ID][0])) { if (! $username && ! isset($info[0][LDAP_ACCOUNT_ID][0])) {
return false; return false;
} }

View File

@@ -160,15 +160,16 @@ $server->register('createUser', function($username, $password, $name = '', $emai
$server->register('createLdapUser', function($username = '', $email = '', $is_admin = 0, $default_project_id = 0) use ($container) { $server->register('createLdapUser', function($username = '', $email = '', $is_admin = 0, $default_project_id = 0) use ($container) {
$ldap = new Auth\Ldap($container); $ldap = new Auth\Ldap($container);
$res = $ldap->lookup($username, $email); $user = $ldap->lookup($username, $email);
if (!$res) if (! $user) {
return false; return false;
}
$values = array( $values = array(
'username' => $res['username'], 'username' => $user['username'],
'name' => $res['name'], 'name' => $user['name'],
'email' => $res['email'], 'email' => $user['email'],
'is_ldap_user' => 1, 'is_ldap_user' => 1,
'is_admin' => $is_admin, 'is_admin' => $is_admin,
'default_project_id' => $default_project_id, 'default_project_id' => $default_project_id,