%PDF- %PDF-
Direktori : /usr/share/webmin/authentic-theme/extensions/file-manager/ |
Current File : //usr/share/webmin/authentic-theme/extensions/file-manager/chattr.cgi |
#!/usr/bin/perl # # Authentic Theme (https://github.com/authentic-theme/authentic-theme) # Copyright Ilia Rostovtsev <programming@rostovtsev.io> # Licensed under MIT (https://github.com/authentic-theme/authentic-theme/blob/master/LICENSE) # use strict; use File::Basename; our (%in, %text, $cwd, $path); require(dirname(__FILE__) . '/file-manager-lib.pm'); my $recursive; my %errors; my $error_fatal; if ($in{'recursive'} eq 'true') { $recursive = '-R'; } else { $recursive = ''; } if (!$in{'label'}) { redirect_local('list.cgi?path=' . urlize($path) . '&module=' . $in{'module'}); } my $label = quotemeta("$in{'label'}"); $label =~ s/\\-/-/g; $label =~ s/\\+//g; $label =~ tr/a-zA-Z\-\+ //dc; my @entries_list = get_entries_list(); foreach my $file (@entries_list) { my $file_ = $file; $file = simplify_path($file); if (system_logged("chattr $recursive " . $label . " " . quotemeta("$cwd/$file")) != 0) { $errors{ $file_ } = lc("$text{'attr_label_error_proc'}: $?"); } } redirect_local('list.cgi?path=' . urlize($path) . '&module=' . $in{'module'} . '&error=' . get_errors(\%errors) . '&error_fatal=' . $error_fatal . extra_query());