Browse Source

Fix compatibility with PHP 5.3

Jerome TAMARELLE 9 years ago
parent
commit
211d4632bb

+ 1 - 1
src/Composer/Repository/Vcs/GitLabDriver.php

@@ -333,7 +333,7 @@ class GitLabDriver extends VcsDriver
                     throw $e;
             }
         }
-    }    
+    }
 
     /**
      * Uses the config `gitlab-domains` to see if the driver supports the url for the

+ 5 - 5
src/Composer/Util/GitLab.php

@@ -82,7 +82,7 @@ class GitLab
 
 
         $this->io->writeError(sprintf('A token will be created and stored in "%s", your password will never be stored', $this->config->getAuthConfigSource()->getName()));
-        $this->io->writeError('To revoke access to this token you can visit ' . $this->config->get('gitlab-domains')[0] . '/profile/applications');
+        $this->io->writeError('To revoke access to this token you can visit ' . $originUrl . '/profile/applications');
 
         $attemptCounter = 0;
 
@@ -90,7 +90,7 @@ class GitLab
             try {
                 $response = $this->createToken($originUrl);
             } catch (TransportException $e) {
-                // 401 is bad credentials, 
+                // 401 is bad credentials,
                 // 403 is max login attempts exceeded
                 if (in_array($e->getCode(), array(403, 401))) {
 
@@ -100,8 +100,8 @@ class GitLab
                         $this->io->writeError('Maximum number of login attempts exceeded. Please try again later.');
                     }
 
-                    $this->io->writeError('You can also manually create a personal token at ' . $this->config->get('gitlab-domains')[0] . '/profile/applications');
-                    $this->io->writeError('Add it using "composer config gitlab-oauth.' . $this->config->get('gitlab-domains')[0] . ' <token>"');
+                    $this->io->writeError('You can also manually create a personal token at ' . $originUrl . '/profile/applications');
+                    $this->io->writeError('Add it using "composer config gitlab-oauth.' . $originUrl . ' <token>"');
 
                     continue;
                 }
@@ -143,7 +143,7 @@ class GitLab
             array(
                 'username'  => $username,
                 'password'  => $password,
-                'grant_type' => 'password',            
+                'grant_type' => 'password',
                 )
             );
         $options = array(

+ 5 - 8
src/Composer/Util/RemoteFilesystem.php

@@ -168,7 +168,7 @@ class RemoteFilesystem
         if (isset($options['http'])) {
             $options['http']['ignore_errors'] = true;
         }
- 
+
         $ctx = StreamContextFactory::getContext($fileUrl, $options, array('notification' => array($this, 'callbackGet')));
 
         if ($this->progress) {
@@ -362,8 +362,8 @@ class RemoteFilesystem
             ) {
                 throw new TransportException('Could not authenticate against '.$this->originUrl, 401);
             }
-        } else if ($this->config && in_array($this->originUrl, $this->config->get('gitlab-domains'), true)) {
-            $message = "\n".'Could not fetch '.$this->fileUrl.', enter your ' . $this->config->get('gitlab-domains')[0] . ' credentials ' .($httpStatus === 401 ? 'to access private repos' : 'to go over the API rate limit');
+        } elseif ($this->config && in_array($this->originUrl, $this->config->get('gitlab-domains'), true)) {
+            $message = "\n".'Could not fetch '.$this->fileUrl.', enter your ' . $this->originUrl . ' credentials ' .($httpStatus === 401 ? 'to access private repos' : 'to go over the API rate limit');
             $gitLabUtil = new GitLab($this->io, $this->config, null);
             if (!$gitLabUtil->authorizeOAuth($this->originUrl)
                 && (!$this->io->isInteractive() || !$gitLabUtil->authorizeOAuthInteractively($this->originUrl, $message))
@@ -432,9 +432,9 @@ class RemoteFilesystem
             $auth = $this->io->getAuthentication($originUrl);
             if ('github.com' === $originUrl && 'x-oauth-basic' === $auth['password']) {
                 $options['github-token'] = $auth['username'];
-            } elseif ($originUrl === $this->config->get('gitlab-domains')[0]) {
+            } elseif ($this->config && in_array($originUrl, $this->config->get('gitlab-domains'), true)) {
                 if($auth['password'] === 'oauth2') {
-                    $headers[] = 'Authorization: Bearer '.$auth['username'];    
+                    $headers[] = 'Authorization: Bearer '.$auth['username'];
                 }
             } else {
                 $authStr = base64_encode($auth['username'] . ':' . $auth['password']);
@@ -449,9 +449,6 @@ class RemoteFilesystem
             $options['http']['header'][] = $header;
         }
 
-        if($this->config && $this->config->get('gitlab-domains') && $originUrl == $this->config->get('gitlab-domains')[0]) {
-            $options['retry-auth-failure'] = false;
-        }
         return $options;
     }
 }