ID, 'users');
if (function_exists('add_submenu_page') &&
is_site_admin($cached_user->user_login)) {
add_submenu_page('wpmu-admin.php', 'LDAP Import', 'LDAP Import', 9, basename(__FILE__), array(&$this, 'render_options'));
}
}
function render_options() {
if( ! is_site_admin() ) {
wp_die( __('
You do not have permission to access this page.
') );
}
if ($_POST['ldapOptionsSave']) {
update_site_option('ldap_server', $_POST['ldap_server']);
update_site_option('ldap_dn', $_POST['ldap_dn']);
?>
LDAP User Information Import Options
user_login, -1, PREG_SPLIT_NO_EMPTY);
$username = $principal[0];
$ldap_server = get_site_option("ldap_server");
$ldap_dn = get_site_option("ldap_dn");
if ( ! $ldap_server || ! $ldap_dn )
die("LDAP options not set");
$ds = ldap_connect($ldap_server);
$filter ="(uid=$username)";
$justthese = array("sn", "givenname", "mail");
$sr = ldap_search($ds, $ldap_dn, $filter, $justthese);
$info = ldap_get_entries($ds, $sr);
if ($info["count"] <= 0) {
// bad things happened...
die("User authenticated, but not found in LDAP!\n");
}
update_usermeta($user->ID, 'first_name', $wpdb->escape($info[0]['givenname'][0]));
update_usermeta($user->ID, 'last_name', $wpdb->escape($info[0]['sn'][0]));
wp_update_user(array('ID' => $user_id, 'user_email' => $info[0]['mail'][0], 'display_name' => $username));
return true;
}
}
$ldap_userinfo_import_plugin = new LDAPImportPlugin();
}
?>