/** * Connection Test Function */ function wpmuLdapTestConnection() { $server = new LDAP_ro(wpmuSetupLdapOptions()); $server->DebugOff(); $result = $server->testConnect(); $server->Disconnect(); return $result; }
function wpmuLdapSSOAuthenticate($user, $username, $password) { if (is_a($user, 'WP_User')) { return $user; } // only try SSO if we have not just logged out and // we're not trying to log in with a different username if (empty($username) && empty($password) && empty($_GET['loggedout'])) { $username = wpmuLdapSSOGetUsername(); if (empty($username)) { return $user; } // can't log in without a username //$password = wp_generate_password(); //create a random password for the local user $ldapString = wpmuSetupLdapOptions(); $userDataArray = null; $result = wpmuLdapSearch($ldapString, $username, $userDataArray); $ldapauthresult = array('result' => $result, 'userdata' => $userDataArray); if ($ldapauthresult['result']) { return wpmuLdapProcess($user, $username, $password, $ldapauthresult['userdata']); } else { return new WP_Error('sso_failed', sprintf(__('Single Sign-On as user <em>%s</em> failed. Please login using the form below.'), $username)); } } return $user; }