Set correct ownership on compressed files

This commit is contained in:
Jamie Cameron
2017-05-31 15:05:20 -07:00
parent 06752583db
commit 5b0606c9fc

View File

@ -5,25 +5,33 @@ require './filemin-lib.pl';
get_paths(); get_paths();
if(!$in{'arch'}) { if(!$in{'arch'}) {
&redirect("index.cgi?path=".&urlize($path)); &redirect("index.cgi?path=".&urlize($path));
} return;
}
my $command; my $command;
if($in{'method'} eq 'tar') { if ($in{'method'} eq 'tar') {
$command = "tar czf ".quotemeta("$cwd/$in{'arch'}.tar.gz"). $full = "$cwd/$in{'arch'}.tar.gz";
" -C ".quotemeta($cwd); $command = "tar czf ".quotemeta($full)." -C ".quotemeta($cwd);
} elsif($in{'method'} eq 'zip') { }
$command = "cd ".quotemeta($cwd)." && zip -r ". elsif ($in{'method'} eq 'zip') {
quotemeta("$cwd/$in{'arch'}.zip"); $full = "$cwd/$in{'arch'}.zip";
} $command = "cd ".quotemeta($cwd)." && zip -r ".quotemeta($full);
}
else {
&error("Unknown method!");
}
$newfile = !-e $full;
foreach my $name(split(/\0/, $in{'name'})) foreach my $name (split(/\0/, $in{'name'})) {
{ $command .= " ".quotemeta($name);
$name =~ s/$in{'cwd'}\///ig; }
$command .= " ".quotemeta($name);
}
system_logged($command); my @st = stat($cwd);
&system_logged($command);
if ($newfile) {
&set_ownership_permissions($st[4], $st[5], undef, $full);
}
&redirect("index.cgi?path=".&urlize($path)); &redirect("index.cgi?path=".&urlize($path));