mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-11 19:24:01 +02:00
Well, here are all my changes ... don't blame me if things break :D
git-svn-id: file:///svn/phpbb/trunk@2923 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
//
|
||||
// Authentication plug-ins is largely down to
|
||||
// Sergey Kanareykin, our thanks to him.
|
||||
// Sergey Kanareykin, our thanks to him.
|
||||
//
|
||||
function login_ldap(&$username, &$password)
|
||||
{
|
||||
@@ -13,7 +13,7 @@ function login_ldap(&$username, &$password)
|
||||
return 'LDAP extension not available';
|
||||
}
|
||||
|
||||
if ( !($ldap = @ldap_connect($board_config['ldap_server'])) )
|
||||
if ( !($ldap = @ldap_connect($board_config['ldap_server'])) )
|
||||
{
|
||||
return 'Could not connect to LDAP server';
|
||||
}
|
||||
@@ -21,26 +21,30 @@ function login_ldap(&$username, &$password)
|
||||
$search = @ldap_search($ldap, $board_config['ldap_base_dn'], $board_config['ldap_uid'] . '=' . $username, array($board_config['ldap_uid']));
|
||||
$result = @ldap_get_entries($ldap, $search);
|
||||
|
||||
if ( is_array($result) && count($result) > 1 )
|
||||
if ( is_array($result) && count($result) > 1 )
|
||||
{
|
||||
if ( @ldap_bind($ldap, $result[0]['dn'], $password) )
|
||||
if ( @ldap_bind($ldap, $result[0]['dn'], $password) )
|
||||
{
|
||||
@ldap_close($ldap);
|
||||
|
||||
$sql = "SELECT user_id, username, user_password, user_email, user_active
|
||||
$sql = "SELECT user_id, username, user_password, user_email, user_active
|
||||
FROM " . USERS_TABLE . "
|
||||
WHERE username = '" . str_replace("\'", "''", $username) . "'";
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
return ( $row = $db->sql_fetchrow($result) ) ? $row : false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ldap_close($ldap);
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
//
|
||||
// This function is used to output any required fields in the authentication
|
||||
// admin panel. It also defines any required configuration table fields.
|
||||
//
|
||||
function admin_ldap(&$new)
|
||||
{
|
||||
global $lang;
|
||||
@@ -59,7 +63,7 @@ function admin_ldap(&$new)
|
||||
<td class="row2"><input type="text" size="40" name="ldap_uid" value="<?php echo $new['ldap_uid']; ?>" /></td>
|
||||
</tr>
|
||||
<?php
|
||||
|
||||
|
||||
//
|
||||
// These are fields required in the config table
|
||||
//
|
||||
@@ -67,4 +71,16 @@ function admin_ldap(&$new)
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
// Would be nice to allow syncing of 'appropriate' data when user updates
|
||||
// their username, password, etc. ... should be up to the plugin what data
|
||||
// is updated.
|
||||
//
|
||||
// $mode perhaps being one of NEW, UPDATE, DELETE
|
||||
//
|
||||
function usercp_ldap($mode)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
?>
|
Reference in New Issue
Block a user