- $openid_url = trim($_POST['openid_url'] ? : $_POST['username']);
-
- // if it's an email address or doesn't resolve to a URL, fail.
- if ($noid || strpos($openid_url, '@') || !validate_url($openid_url)) {
- notice(L10n::t('Login failed.') . EOL);
- goaway(self::getApp()->get_baseurl());
- // NOTREACHED
- }
-
- // Otherwise it's probably an openid.
- try {
- require_once 'library/openid.php';
- $openid = new \LightOpenID;
- $openid->identity = $openid_url;
- $_SESSION['openid'] = $openid_url;
- $_SESSION['remember'] = $_POST['remember'];
- $openid->returnUrl = self::getApp()->get_baseurl(true) . '/openid';
- goaway($openid->authUrl());
- } catch (Exception $e) {
- notice(L10n::t('We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID.') . '<br /><br >' . t('The error message was:') . ' ' . $e->getMessage());
- }
- // NOTREACHED