- $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($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;
-
- $_SESSION['name'] = isset($name) ? $name : $_SERVER['REMOTE_ADDR'];
- $_SESSION['identity'] = $openid['openid.identity'];
-
- $redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SESSION['REQUEST_URI'];
- header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));
- exit;
+$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'];
+
+if (isset($_SESSION['REQUEST_URI'])) {
+ $redirect = Tools::fullUrl($_SESSION['REQUEST_URI']);
+} else {
+ $redirect = Tools::fullUrl('/');