update composer
[pharext/pharext.org] / app / Controller / Github / Callback.php
index baa6c4d47389f0d4aba92eede281c180f2e742f0..2347d0e67069ca946dbea6c924af10e59b312f06 100644 (file)
@@ -23,9 +23,7 @@ class Callback extends Github
        
        function __invoke(array $args = null) {
                if ($this->app->getRequest()->getQuery("error")) {
-                       $this->app->getView()->addData([
-                               "error" => $this->app->getRequest()->getQuery("error_description")
-                       ]);
+                       $this->app->getView()->addData($this->app->getRequest()->getQuery()->toArray());
                } else {
                        $this->validateUser();
                        
@@ -35,7 +33,7 @@ class Callback extends Github
                                $this->app->redirect($returnto);
                        } else {
                                $this->app->redirect(
-                                       $this->app->getBaseUrl()->mod("./github"));
+                                       $this->app->getBaseUrl()->mod(":./github"));
                        }
                }
                $this->app->display("github/callback");
@@ -45,18 +43,16 @@ class Callback extends Github
                $this->github->fetchToken(
                        $this->app->getRequest()->getQuery("code"),
                        $this->app->getRequest()->getQuery("state")
-               )->then(function($result) {
+               )->then(function($result) use (&$oauth) {
                        list($oauth) = $result;
                        $this->github->setToken($oauth->access_token);
-                       return $this->github->readAuthUser()->then(function($result) use($oauth) {
-                               list($user) = $result;
-                               return $this->persistUser($oauth, $user);
-                       });
-               })->done(function($result) {
-                       $this->login(...$result);
+                       return $this->github->readAuthUser();
+               })->done(function($result) use(&$oauth) {
+                       list($user) = $result;
+                       $this->login(...$this->persistUser($oauth, $user));
                });
 
-               $this->github->getClient()->send();
+               $this->github->drain();
        }
        
        private function persistUser($oauth, $user) {