@@ -1585,37 +1585,37 @@ |
||
| 1585 | 1585 | } |
| 1586 | 1586 | |
| 1587 | 1587 | /** |
| 1588 | - * This method was adapted from Sslurp. |
|
| 1589 | - * https://github.com/EvanDotPro/Sslurp |
|
| 1590 | - * |
|
| 1591 | - * (c) Evan Coury <[email protected]> |
|
| 1592 | - * |
|
| 1593 | - * For the full copyright and license information, please see below: |
|
| 1594 | - * |
|
| 1595 | - * Copyright (c) 2013, Evan Coury |
|
| 1596 | - * All rights reserved. |
|
| 1597 | - * |
|
| 1598 | - * Redistribution and use in source and binary forms, with or without modification, |
|
| 1599 | - * are permitted provided that the following conditions are met: |
|
| 1600 | - * |
|
| 1601 | - * * Redistributions of source code must retain the above copyright notice, |
|
| 1602 | - * this list of conditions and the following disclaimer. |
|
| 1603 | - * |
|
| 1604 | - * * Redistributions in binary form must reproduce the above copyright notice, |
|
| 1605 | - * this list of conditions and the following disclaimer in the documentation |
|
| 1606 | - * and/or other materials provided with the distribution. |
|
| 1607 | - * |
|
| 1608 | - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
|
| 1609 | - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
|
| 1610 | - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|
| 1611 | - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR |
|
| 1612 | - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|
| 1613 | - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|
| 1614 | - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON |
|
| 1615 | - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
|
| 1616 | - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
|
| 1617 | - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
| 1618 | - */ |
|
| 1588 | + * This method was adapted from Sslurp. |
|
| 1589 | + * https://github.com/EvanDotPro/Sslurp |
|
| 1590 | + * |
|
| 1591 | + * (c) Evan Coury <[email protected]> |
|
| 1592 | + * |
|
| 1593 | + * For the full copyright and license information, please see below: |
|
| 1594 | + * |
|
| 1595 | + * Copyright (c) 2013, Evan Coury |
|
| 1596 | + * All rights reserved. |
|
| 1597 | + * |
|
| 1598 | + * Redistribution and use in source and binary forms, with or without modification, |
|
| 1599 | + * are permitted provided that the following conditions are met: |
|
| 1600 | + * |
|
| 1601 | + * * Redistributions of source code must retain the above copyright notice, |
|
| 1602 | + * this list of conditions and the following disclaimer. |
|
| 1603 | + * |
|
| 1604 | + * * Redistributions in binary form must reproduce the above copyright notice, |
|
| 1605 | + * this list of conditions and the following disclaimer in the documentation |
|
| 1606 | + * and/or other materials provided with the distribution. |
|
| 1607 | + * |
|
| 1608 | + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
|
| 1609 | + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
|
| 1610 | + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|
| 1611 | + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR |
|
| 1612 | + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|
| 1613 | + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|
| 1614 | + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON |
|
| 1615 | + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
|
| 1616 | + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
|
| 1617 | + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
| 1618 | + */ |
|
| 1619 | 1619 | public static function getSystemCaRootBundlePath() |
| 1620 | 1620 | { |
| 1621 | 1621 | if (self::$caPath !== null) { |
@@ -298,11 +298,11 @@ discard block |
||
| 298 | 298 | $warnings = array(); |
| 299 | 299 | |
| 300 | 300 | if ($iniPath = php_ini_loaded_file()) { |
| 301 | - $iniMessage = PHP_EOL.'The php.ini used by your command-line PHP is: ' . $iniPath; |
|
| 301 | + $iniMessage = PHP_EOL . 'The php.ini used by your command-line PHP is: ' . $iniPath; |
|
| 302 | 302 | } else { |
| 303 | - $iniMessage = PHP_EOL.'A php.ini file does not exist. You will have to create one.'; |
|
| 303 | + $iniMessage = PHP_EOL . 'A php.ini file does not exist. You will have to create one.'; |
|
| 304 | 304 | } |
| 305 | - $iniMessage .= PHP_EOL.'If you can not modify the ini file, you can also run `php -d option=value` to modify ini values on the fly. You can use -d multiple times.'; |
|
| 305 | + $iniMessage .= PHP_EOL . 'If you can not modify the ini file, you can also run `php -d option=value` to modify ini values on the fly. You can use -d multiple times.'; |
|
| 306 | 306 | |
| 307 | 307 | if (ini_get('detect_unicode')) { |
| 308 | 308 | $errors['unicode'] = array( |
@@ -320,7 +320,7 @@ discard block |
||
| 320 | 320 | $errors['suhosin'] = array( |
| 321 | 321 | 'The suhosin.executor.include.whitelist setting is incorrect.', |
| 322 | 322 | 'Add the following to the end of your `php.ini` or suhosin.ini (Example path [for Debian]: /etc/php5/cli/conf.d/suhosin.ini):', |
| 323 | - ' suhosin.executor.include.whitelist = phar '.$suhosin, |
|
| 323 | + ' suhosin.executor.include.whitelist = phar ' . $suhosin, |
|
| 324 | 324 | $iniMessage |
| 325 | 325 | ); |
| 326 | 326 | } |
@@ -373,7 +373,7 @@ discard block |
||
| 373 | 373 | if (extension_loaded('ionCube Loader') && ioncube_loader_iversion() < 40009) { |
| 374 | 374 | $ioncube = ioncube_loader_version(); |
| 375 | 375 | $errors['ioncube'] = array( |
| 376 | - 'Your ionCube Loader extension ('.$ioncube.') is incompatible with Phar files.', |
|
| 376 | + 'Your ionCube Loader extension (' . $ioncube . ') is incompatible with Phar files.', |
|
| 377 | 377 | 'Upgrade to ionCube 4.0.9 or higher or remove this line (path may be different) from your `php.ini` to disable it:', |
| 378 | 378 | ' zend_extension = /usr/lib/php5/20090626+lfs/ioncube_loader_lin_5.3.so', |
| 379 | 379 | $iniMessage |
@@ -382,13 +382,13 @@ discard block |
||
| 382 | 382 | |
| 383 | 383 | if (version_compare(PHP_VERSION, '5.3.2', '<')) { |
| 384 | 384 | $errors['php'] = array( |
| 385 | - 'Your PHP ('.PHP_VERSION.') is too old, you must upgrade to PHP 5.3.2 or higher.' |
|
| 385 | + 'Your PHP (' . PHP_VERSION . ') is too old, you must upgrade to PHP 5.3.2 or higher.' |
|
| 386 | 386 | ); |
| 387 | 387 | } |
| 388 | 388 | |
| 389 | 389 | if (version_compare(PHP_VERSION, '5.3.4', '<')) { |
| 390 | 390 | $warnings['php'] = array( |
| 391 | - 'Your PHP ('.PHP_VERSION.') is quite old, upgrading to PHP 5.3.4 or higher is recommended.', |
|
| 391 | + 'Your PHP (' . PHP_VERSION . ') is quite old, upgrading to PHP 5.3.4 or higher is recommended.', |
|
| 392 | 392 | 'Composer works with 5.3.2+ for most people, but there might be edge case issues.' |
| 393 | 393 | ); |
| 394 | 394 | } |
@@ -407,7 +407,7 @@ discard block |
||
| 407 | 407 | $opensslVersion = $opensslVersion ? $opensslVersion : OPENSSL_VERSION_TEXT; |
| 408 | 408 | |
| 409 | 409 | $warnings['openssl_version'] = array( |
| 410 | - 'The OpenSSL library ('.$opensslVersion.') used by PHP does not support TLSv1.2 or TLSv1.1.', |
|
| 410 | + 'The OpenSSL library (' . $opensslVersion . ') used by PHP does not support TLSv1.2 or TLSv1.1.', |
|
| 411 | 411 | 'If possible you should upgrade OpenSSL to version 1.0.1 or above.' |
| 412 | 412 | ); |
| 413 | 413 | } |
@@ -451,7 +451,7 @@ discard block |
||
| 451 | 451 | && version_compare(PHP_VERSION, '7.3.10', '<')))) { |
| 452 | 452 | $warnings['onedrive'] = array( |
| 453 | 453 | 'The Windows OneDrive folder is not supported on PHP versions below 7.2.23 and 7.3.10.', |
| 454 | - 'Upgrade your PHP ('.PHP_VERSION.') to use this location with Composer.' |
|
| 454 | + 'Upgrade your PHP (' . PHP_VERSION . ') to use this location with Composer.' |
|
| 455 | 455 | ); |
| 456 | 456 | } |
| 457 | 457 | |
@@ -486,11 +486,11 @@ discard block |
||
| 486 | 486 | |
| 487 | 487 | // Stringify the message arrays |
| 488 | 488 | foreach ($errors as $key => $value) { |
| 489 | - $errors[$key] = PHP_EOL.implode(PHP_EOL, $value); |
|
| 489 | + $errors[$key] = PHP_EOL . implode(PHP_EOL, $value); |
|
| 490 | 490 | } |
| 491 | 491 | |
| 492 | 492 | foreach ($warnings as $key => $value) { |
| 493 | - $warnings[$key] = PHP_EOL.implode(PHP_EOL, $value); |
|
| 493 | + $warnings[$key] = PHP_EOL . implode(PHP_EOL, $value); |
|
| 494 | 494 | } |
| 495 | 495 | |
| 496 | 496 | return !empty($errors) || !empty($warnings); |
@@ -576,7 +576,7 @@ discard block |
||
| 576 | 576 | $userDir = getUserDir(); |
| 577 | 577 | |
| 578 | 578 | if (defined('PHP_WINDOWS_VERSION_MAJOR')) { |
| 579 | - return $userDir.'/Composer'; |
|
| 579 | + return $userDir . '/Composer'; |
|
| 580 | 580 | } |
| 581 | 581 | |
| 582 | 582 | $dirs = array(); |
@@ -616,7 +616,7 @@ discard block |
||
| 616 | 616 | $userDir = getenv($userEnv); |
| 617 | 617 | |
| 618 | 618 | if (!$userDir) { |
| 619 | - throw new RuntimeException('The '.$userEnv.' or COMPOSER_HOME environment variable must be set for composer to run correctly'); |
|
| 619 | + throw new RuntimeException('The ' . $userEnv . ' or COMPOSER_HOME environment variable must be set for composer to run correctly'); |
|
| 620 | 620 | } |
| 621 | 621 | |
| 622 | 622 | return rtrim(strtr($userDir, '\\', '/'), '/'); |
@@ -714,7 +714,7 @@ discard block |
||
| 714 | 714 | |
| 715 | 715 | if ($result && $channel !== 'stable' && !$version && defined('PHP_BINARY')) { |
| 716 | 716 | $null = (defined('PHP_WINDOWS_VERSION_MAJOR') ? 'NUL' : '/dev/null'); |
| 717 | - @exec(escapeshellarg(PHP_BINARY) .' '.escapeshellarg($this->target).' self-update --'.$channel.' --set-channel-only -q > '.$null.' 2> '.$null, $output); |
|
| 717 | + @exec(escapeshellarg(PHP_BINARY) . ' ' . escapeshellarg($this->target) . ' self-update --' . $channel . ' --set-channel-only -q > ' . $null . ' 2> ' . $null, $output); |
|
| 718 | 718 | } |
| 719 | 719 | } catch (Exception $e) { |
| 720 | 720 | $result = false; |
@@ -742,18 +742,18 @@ discard block |
||
| 742 | 742 | */ |
| 743 | 743 | protected function initTargets($installDir, $filename) |
| 744 | 744 | { |
| 745 | - $this->displayPath = ($installDir ? rtrim($installDir, '/').'/' : '').$filename; |
|
| 745 | + $this->displayPath = ($installDir ? rtrim($installDir, '/') . '/' : '') . $filename; |
|
| 746 | 746 | $installDir = $installDir ? realpath($installDir) : getcwd(); |
| 747 | 747 | |
| 748 | 748 | if (!is_writeable($installDir)) { |
| 749 | - throw new RuntimeException('The installation directory "'.$installDir.'" is not writable'); |
|
| 749 | + throw new RuntimeException('The installation directory "' . $installDir . '" is not writable'); |
|
| 750 | 750 | } |
| 751 | 751 | |
| 752 | - $this->target = $installDir.DIRECTORY_SEPARATOR.$filename; |
|
| 753 | - $this->tmpFile = $installDir.DIRECTORY_SEPARATOR.basename($this->target, '.phar').'-temp.phar'; |
|
| 752 | + $this->target = $installDir . DIRECTORY_SEPARATOR . $filename; |
|
| 753 | + $this->tmpFile = $installDir . DIRECTORY_SEPARATOR . basename($this->target, '.phar') . '-temp.phar'; |
|
| 754 | 754 | |
| 755 | 755 | $uriScheme = $this->disableTls ? 'http' : 'https'; |
| 756 | - $this->baseUrl = $uriScheme.'://getcomposer.org'; |
|
| 756 | + $this->baseUrl = $uriScheme . '://getcomposer.org'; |
|
| 757 | 757 | } |
| 758 | 758 | |
| 759 | 759 | /** |
@@ -823,7 +823,7 @@ discard block |
||
| 823 | 823 | { |
| 824 | 824 | $this->errHandler->start(); |
| 825 | 825 | |
| 826 | - $target = $path.DIRECTORY_SEPARATOR.$filename; |
|
| 826 | + $target = $path . DIRECTORY_SEPARATOR . $filename; |
|
| 827 | 827 | $installed = file_exists($target); |
| 828 | 828 | $write = file_put_contents($target, $data, LOCK_EX); |
| 829 | 829 | @chmod($target, 0644); |
@@ -884,7 +884,7 @@ discard block |
||
| 884 | 884 | |
| 885 | 885 | if (!$this->quiet) { |
| 886 | 886 | if ($result) { |
| 887 | - out(PHP_EOL."Composer (version {$version}) successfully installed to: {$this->target}", 'success'); |
|
| 887 | + out(PHP_EOL . "Composer (version {$version}) successfully installed to: {$this->target}", 'success'); |
|
| 888 | 888 | out("Use it: php {$this->displayPath}", 'info'); |
| 889 | 889 | out(''); |
| 890 | 890 | } else { |
@@ -910,7 +910,7 @@ discard block |
||
| 910 | 910 | |
| 911 | 911 | if ($version) { |
| 912 | 912 | if (empty($url)) { |
| 913 | - $url = $this->baseUrl."/download/{$version}/composer.phar"; |
|
| 913 | + $url = $this->baseUrl . "/download/{$version}/composer.phar"; |
|
| 914 | 914 | } |
| 915 | 915 | return true; |
| 916 | 916 | } |
@@ -935,7 +935,7 @@ discard block |
||
| 935 | 935 | */ |
| 936 | 936 | protected function downloadVersionData(&$data, &$error) |
| 937 | 937 | { |
| 938 | - $url = $this->baseUrl.'/versions'; |
|
| 938 | + $url = $this->baseUrl . '/versions'; |
|
| 939 | 939 | $errFmt = 'The "%s" file could not be %s: %s'; |
| 940 | 940 | |
| 941 | 941 | if (!$json = $this->httpClient->get($url)) { |
@@ -963,7 +963,7 @@ discard block |
||
| 963 | 963 | { |
| 964 | 964 | $error = ''; |
| 965 | 965 | $errFmt = 'The "%s" file could not be downloaded: %s'; |
| 966 | - $sigUrl = $url.'.sig'; |
|
| 966 | + $sigUrl = $url . '.sig'; |
|
| 967 | 967 | $this->errHandler->start(); |
| 968 | 968 | |
| 969 | 969 | if (!$fh = fopen($this->tmpFile, 'w')) { |
@@ -997,7 +997,7 @@ discard block |
||
| 997 | 997 | $error = ''; |
| 998 | 998 | |
| 999 | 999 | if (!$this->validatePhar($this->tmpFile, $pharError)) { |
| 1000 | - $error = 'The download is corrupt: '.$pharError; |
|
| 1000 | + $error = 'The download is corrupt: ' . $pharError; |
|
| 1001 | 1001 | |
| 1002 | 1002 | } elseif (!$this->verifySignature($version, $signature, $this->tmpFile)) { |
| 1003 | 1003 | $error = 'Signature mismatch, could not verify the phar file integrity'; |
@@ -1028,7 +1028,7 @@ discard block |
||
| 1028 | 1028 | foreach ($data[$channel] as $candidate) { |
| 1029 | 1029 | if ($candidate['min-php'] <= PHP_VERSION_ID) { |
| 1030 | 1030 | $version = $candidate['version']; |
| 1031 | - $url = $this->baseUrl.$candidate['path']; |
|
| 1031 | + $url = $this->baseUrl . $candidate['path']; |
|
| 1032 | 1032 | break; |
| 1033 | 1033 | } |
| 1034 | 1034 | } |
@@ -1081,7 +1081,7 @@ discard block |
||
| 1081 | 1081 | { |
| 1082 | 1082 | if (!$result = $this->disableTls) { |
| 1083 | 1083 | $path = preg_match('{^[0-9a-f]{40}$}', $version) ? $this->pubKeys['dev'] : $this->pubKeys['tags']; |
| 1084 | - $pubkeyid = openssl_pkey_get_public('file://'.$path); |
|
| 1084 | + $pubkeyid = openssl_pkey_get_public('file://' . $path); |
|
| 1085 | 1085 | |
| 1086 | 1086 | $result = 1 === openssl_verify( |
| 1087 | 1087 | file_get_contents($file), |
@@ -1140,7 +1140,7 @@ discard block |
||
| 1140 | 1140 | if (function_exists('json_last_error_msg')) { |
| 1141 | 1141 | return json_last_error_msg(); |
| 1142 | 1142 | } else { |
| 1143 | - return 'json_last_error = '.json_last_error(); |
|
| 1143 | + return 'json_last_error = ' . json_last_error(); |
|
| 1144 | 1144 | } |
| 1145 | 1145 | } |
| 1146 | 1146 | |
@@ -1349,7 +1349,7 @@ discard block |
||
| 1349 | 1349 | if ($this->disableTls === false) { |
| 1350 | 1350 | if (!empty($cafile) && !is_dir($cafile)) { |
| 1351 | 1351 | if (!is_readable($cafile) || !validateCaFile(file_get_contents($cafile))) { |
| 1352 | - throw new RuntimeException('The configured cafile (' .$cafile. ') was not valid or could not be read.'); |
|
| 1352 | + throw new RuntimeException('The configured cafile (' . $cafile . ') was not valid or could not be read.'); |
|
| 1353 | 1353 | } |
| 1354 | 1354 | } |
| 1355 | 1355 | $options = $this->getTlsStreamContextDefaults($cafile); |
@@ -1378,7 +1378,7 @@ discard block |
||
| 1378 | 1378 | $result = zlib_decode($result); |
| 1379 | 1379 | } else { |
| 1380 | 1380 | // work around issue with gzuncompress & co that do not work with all gzip checksums |
| 1381 | - $result = file_get_contents('compress.zlib://data:application/octet-stream;base64,'.base64_encode($result)); |
|
| 1381 | + $result = file_get_contents('compress.zlib://data:application/octet-stream;base64,' . base64_encode($result)); |
|
| 1382 | 1382 | } |
| 1383 | 1383 | |
| 1384 | 1384 | if (!$result) { |
@@ -1577,7 +1577,7 @@ discard block |
||
| 1577 | 1577 | if (extension_loaded('zlib')) { |
| 1578 | 1578 | $options['http']['header'] .= "Accept-Encoding: gzip\r\n"; |
| 1579 | 1579 | } |
| 1580 | - $options['http']['header'] .= "User-Agent: ".COMPOSER_INSTALLER."\r\n"; |
|
| 1580 | + $options['http']['header'] .= "User-Agent: " . COMPOSER_INSTALLER . "\r\n"; |
|
| 1581 | 1581 | $options['http']['protocol_version'] = 1.1; |
| 1582 | 1582 | $options['http']['timeout'] = 600; |
| 1583 | 1583 | |
@@ -1671,7 +1671,7 @@ discard block |
||
| 1671 | 1671 | |
| 1672 | 1672 | foreach ($caBundlePaths as $caBundle) { |
| 1673 | 1673 | $caBundle = dirname($caBundle); |
| 1674 | - if (is_dir($caBundle) && glob($caBundle.'/*')) { |
|
| 1674 | + if (is_dir($caBundle) && glob($caBundle . '/*')) { |
|
| 1675 | 1675 | return self::$caPath = $caBundle; |
| 1676 | 1676 | } |
| 1677 | 1677 | } |