mirror of
https://github.com/webmin/webmin.git
synced 2025-08-16 14:51:18 +00:00
32 lines
810 B
Perl
Executable File
32 lines
810 B
Perl
Executable File
#!/usr/local/bin/perl
|
|
|
|
require './filemin-lib.pl';
|
|
&ReadParse();
|
|
|
|
get_paths();
|
|
|
|
my @errors;
|
|
|
|
# Validate inputs
|
|
my $file = &simplify_path($cwd.'/'.$in{'file'});
|
|
&check_allowed_path($file);
|
|
&error($text{'error_saving_file'}." : ".ucfirst($text{'error_write'}))
|
|
if (!can_write($file));
|
|
$data = $in{'data'};
|
|
$data =~ s/\r\n/\n/g;
|
|
|
|
if ( $in{'encoding'} && lc( $in{'encoding'} ) ne "utf-8" ) {
|
|
eval { $data = Encode::encode( $in{'encoding'}, Encode::decode( 'utf-8', $data ) ) };
|
|
}
|
|
&open_tempfile(SAVE, ">$file") ||
|
|
&error($text{'error_saving_file'}." : ".&html_escape("$!"));
|
|
&print_tempfile(SAVE, $data);
|
|
&close_tempfile(SAVE);
|
|
|
|
if ($in{'save_close'}) {
|
|
&redirect("index.cgi?path=".&urlize($path));
|
|
} else {
|
|
&redirect("edit_file.cgi?path=".&urlize($path).
|
|
"&file=".&urlize($in{'file'}));
|
|
}
|