Merge pull request #5846 from markingman/master
Fixing local file VCS URLs with encoded characterspull/5886/head
commit
de9f333ec6
|
@ -67,13 +67,25 @@ abstract class VcsDownloader implements DownloaderInterface, ChangeReportInterfa
|
||||||
while ($url = array_shift($urls)) {
|
while ($url = array_shift($urls)) {
|
||||||
try {
|
try {
|
||||||
if (Filesystem::isLocalPath($url)) {
|
if (Filesystem::isLocalPath($url)) {
|
||||||
# realpath() below will not understand
|
// realpath() below will not understand
|
||||||
# url that starts with "file://"
|
// url that starts with "file://"
|
||||||
$needle = 'file://';
|
$needle = 'file://';
|
||||||
|
$isFileProtocol = false;
|
||||||
if (0 === strpos($url, $needle)) {
|
if (0 === strpos($url, $needle)) {
|
||||||
$url = substr($url, strlen($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);
|
$url = realpath($url);
|
||||||
|
|
||||||
|
if ($isFileProtocol) {
|
||||||
|
$url = $needle . $url;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$this->doDownload($package, $path, $url);
|
$this->doDownload($package, $path, $url);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue