MOON
Server: Apache/2.2.31 (Unix) mod_ssl/2.2.31 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4
System: Linux csr818.wilogic.com 2.6.18-419.el5xen #1 SMP Fri Feb 24 22:50:37 UTC 2017 x86_64
User: digitals (531)
PHP: 5.4.45
Disabled: NONE
Upload Files
File: //var/usr/webmin-1.941/usermin/export_mod.cgi
#!/usr/bin/perl
# Create and output a wbm.gz file of selected modules

require './usermin-lib.pl';
&ReadParse();
&error_setup($text{'export_err'});
@mods = split(/\0/, $in{'mod'});
@mods || &error($text{'delete_enone'});

# Make sure we have the needed commands
&has_command("tar") || &error(&text('export_ecmd', "<tt>tar</tt>"));
&has_command("gzip") || &error(&twebmin::ext('export_ecmd', "<tt>gzip</tt>"));
$in{'to'} == 0 || $in{'file'} =~ /^\// || &error($text{'export_efile'});

# Make the tar.gz file
$temp = $in{'to'} ? $in{'file'} : &transname();
local %miniserv;
&get_usermin_miniserv_config(\%miniserv);
chdir($miniserv{'root'});
$cmd = "tar chf -";
foreach $m (@mods) {
	$cmd .= " $m";
	}
$cmd .= " | gzip -c >".quotemeta($temp);
$out = &backquote_logged("($cmd) 2>&1 </dev/null");
$? && &error("<pre>$out</pre>");

if ($in{'to'} == 0) {
	# Output the file
	print "Content-type: application/octet-stream\n\n";
	open(TEMP, $temp);
        my $buf;         
        while(read(TEMP, $buf, 32768)) {
                print $buf;
                }
	close(TEMP);
	unlink($temp);
	}
else {
	# Tell the user
	&ui_print_header(undef, $text{'export_title'}, "");

	print &text('export_done', "<tt>$in{'file'}</tt>"),"<p>\n";

	&ui_print_footer("/$module_name/edit_mods.cgi", $text{'mods_return'},
			 "", $text{'index_return'});
	}