Part of #6: show changed files + line counts in updated feed
[phorkie.git] / www / login.php
index 9c1b136d8fdcdc306d1d2fecb2a652cf376d5922..5782521bf25dadb2239d422c3fe7524ff714bc63 100644 (file)
@@ -34,11 +34,7 @@ $returnTo = Tools::fullUrl('/login');
 try {
     $o = new \OpenID_RelyingParty($returnTo, $realm, $openid_url);
 } catch (OpenID_Exception $e) {
-    $contents  = "<div class='openid_results'>\n";
-    $contents .= "<pre>" . $e->getMessage() . "</pre>\n";
-    $contents .= "</div class='openid_results'>";
-    include_once 'openid/wrapper.php';
-    exit;
+    throw new Exception($e->getMessage());
 }
 
 if (!empty($_POST['disable_associations']) || !empty($_SESSION['disable_associations'])) {
@@ -46,20 +42,13 @@ if (!empty($_POST['disable_associations']) || !empty($_SESSION['disable_associat
     $_SESSION['disable_associations'] = true;
 }
 
-$log = new \OpenID_Observer_Log;
-\OpenID::attach($log);
-
 if (isset($_POST['openid_url'])) {
 
     $_SESSION['openid_url'] = $openid_url;
     try {
         $authRequest = $o->prepare();
     } catch (OpenID_Exception $e) {
-        $contents  = "<div class='openid_results'>\n";
-        $contents .= "<pre>" . $e->getMessage() . "</pre>\n";
-        $contents .= "</div class='openid_results'>";
-        include_once 'openid/wrapper.php';
-        exit;
+        throw new Exception($e->getMessage());
     }
 
     // SREG
@@ -67,13 +56,14 @@ if (isset($_POST['openid_url'])) {
     $sreg->set('required', 'email,fullname');
     $authRequest->addExtension($sreg);
 
-    // AX
+    // AX, http://stackoverflow.com/a/7657061/282601
     $ax = new \OpenID_Extension_AX(\OpenID_Extension::REQUEST);
     $ax->set('type.email', 'http://axschema.org/contact/email');
     $ax->set('type.firstname', 'http://axschema.org/namePerson/first');
     $ax->set('type.lastname', 'http://axschema.org/namePerson/last');
+    $ax->set('type.fullname', 'http://axschema.org/namePerson');
     $ax->set('mode', 'fetch_request');
-    $ax->set('required', 'email,firstname,lastname');
+    $ax->set('required', 'email,firstname,lastname,fullname');
     $authRequest->addExtension($ax);
 
     $url = $authRequest->getAuthorizeURL();
@@ -130,7 +120,10 @@ $email = isset($openid['openid.ext2.value.email']) && !isset($email)
 $email = isset($openid['openid.sreg.email']) && !isset($email)
     ? $openid['openid.sreg.email']
     : $email;
-$email = isset($openid['openid.ax.value.email']) && !isset($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)
@@ -145,6 +138,12 @@ $name = isset($openid['openid.ext1.value.firstname'])
 $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'];