- $name = (isset($openid['openid.ext1.value.firstname']) && isset($openid['openid.ext1.value.lastname'])) ? $openid['openid.ext1.value.firstname']." ".$openid['openid.ext1.value.lastname'] : null;
- $name = (isset($openid['openid.sreg.firstname']) && isset($openid['openid.sreg.lastname']) && !isset($name)) ? $openid['openid.sreg.firstname']." ".$openid['openid.sreg.lastname'] : $name;
- $name = (isset($openid['openid.sreg.nickname']) && !isset($name)) ? $openid['openid.sreg.nickname'] : $name;
- $_SESSION['name'] = (isset($name)) ? $name : $_SERVER['REMOTE_ADDR'];
+$openid = $message->getArrayFormat();
+
+$email = isset($openid['openid.ext1.value.email'])
+ ? $openid['openid.ext1.value.email']
+ : null;
+$email = isset($openid['openid.ext2.value.email']) && !isset($email)
+ ? $openid['openid.ext2.value.email']
+ : $email;
+$email = isset($openid['openid.sreg.email']) && !isset($email)
+ ? $openid['openid.sreg.email']
+ : $email;
+$email = isset($openid['openid.ax.value.email'])
+ && isset($openid['openid.ax.type.email'])
+ && $openid['openid.ax.type.email'] == 'http://axschema.org/contact/email'
+ && !isset($email)
+ ? $openid['openid.ax.value.email']
+ : $email;
+$_SESSION['email'] = isset($email)
+ ? $email
+ : $GLOBALS['phorkie']['auth']['anonymousEmail'];
+
+$name = isset($openid['openid.ext1.value.firstname'])
+ && isset($openid['openid.ext1.value.lastname'])
+ ? $openid['openid.ext1.value.firstname'] . ' '
+ . $openid['openid.ext1.value.lastname']
+ : null;
+$name = isset($openid['openid.sreg.fullname']) && !isset($name)
+ ? $openid['openid.sreg.fullname']
+ : $name;
+$name = isset($openid['openid.ax.value.fullname'])
+ && isset($openid['openid.ax.type.fullname'])
+ && $openid['openid.ax.type.fullname'] == 'http://axschema.org/namePerson'
+ && !isset($name)
+ ? $openid['openid.ax.value.fullname']
+ : $name;
+
+$_SESSION['name'] = isset($name) ? $name : $_SERVER['REMOTE_ADDR'];
+$_SESSION['identity'] = $openid['openid.identity'];
+
+setcookie('tried-autologin', '0', time() - 3600);//delete
+setcookie('lastopenid', $_SESSION['identity'], time() + 84600 * 60);
+
+if ($bAutologin) {
+ $alres = new Login_AutologinResponse('ok');
+ $alres->name = $_SESSION['name'];
+ $alres->identity = $_SESSION['identity'];
+ $alres->send();
+ exit(0);
+}