/**
* 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;
}