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(); } ?>