1
0
Fork 0

Merge pull request #5846 from markingman/master

Fixing local file VCS URLs with encoded characters
pull/5886/head
Jordi Boggiano 2016-11-18 19:45:28 +01:00 committed by GitHub
commit de9f333ec6
1 changed files with 14 additions and 2 deletions

View File

@ -67,13 +67,25 @@ abstract class VcsDownloader implements DownloaderInterface, ChangeReportInterfa
while ($url = array_shift($urls)) {
try {
if (Filesystem::isLocalPath($url)) {
# realpath() below will not understand
# url that starts with "file://"
// realpath() below will not understand
// url that starts with "file://"
$needle = 'file://';
$isFileProtocol = false;
if (0 === strpos($url, $needle)) {
$url = substr($url, strlen($needle));
$isFileProtocol = true;
}
// realpath() below will not understand %20 spaces etc.
if (false !== strpos($url, '%')) {
$url = rawurldecode($url);
}
$url = realpath($url);
if ($isFileProtocol) {
$url = $needle . $url;
}
}
$this->doDownload($package, $path, $url);
break;