Merge remote-tracking branch 'tot-ra/patch-2'

Conflicts:
	src/Composer/Downloader/ArchiveDownloader.php
main
Jordi Boggiano 12 years ago
commit ebc0f8884f

@ -47,18 +47,23 @@ abstract class ArchiveDownloader extends FileDownloader
if (1 === count($contentDir)) {
$contentDir = $contentDir[0];
// Rename the content directory to avoid error when moving up
// a child folder with the same name
$temporaryName = md5(time().rand());
$this->filesystem->rename($contentDir, $temporaryName);
$contentDir = $temporaryName;
if (is_file($contentDir)) {
$this->filesystem->rename($contentDir, $path . '/' . basename($contentDir));
} else {
// Rename the content directory to avoid error when moving up
// a child folder with the same name
$temporaryName = md5(time().rand());
$this->filesystem->rename($contentDir, $temporaryName);
$contentDir = $temporaryName;
foreach (array_merge(glob($contentDir . '/.*'), glob($contentDir . '/*')) as $file) {
if (trim(basename($file), '.')) {
$this->filesystem->rename($file, $path . '/' . basename($file));
foreach (array_merge(glob($contentDir . '/.*'), glob($contentDir . '/*')) as $file) {
if (trim(basename($file), '.')) {
$this->filesystem->rename($file, $path . '/' . basename($file));
}
}
rmdir($contentDir);
}
rmdir($contentDir);
}
} catch (\Exception $e) {
// clean up

Loading…
Cancel
Save