mirror of
https://github.com/webmin/webmin.git
synced 2025-07-21 23:40:34 +00:00
44 lines
1.2 KiB
Perl
Executable File
44 lines
1.2 KiB
Perl
Executable File
#!/usr/local/bin/perl
|
|
# Delete multiple .htaccess files
|
|
|
|
require './htaccess-lib.pl';
|
|
&foreign_require($apachemod, "apache-lib.pl");
|
|
&ReadParse();
|
|
&error_setup($text{'delete_err'});
|
|
$can_create || &error($text{'dir_ecannotcreate'});
|
|
@d = split(/\0/, $in{'d'});
|
|
@d || &error($text{'delete_enone'});
|
|
|
|
# Do the deletion of the .htaccess file and any user and group files
|
|
@dirs = &list_directories();
|
|
foreach $d (@d) {
|
|
($dir) = grep { $_->[0] eq $d } @dirs;
|
|
if ($dir) {
|
|
$htaccess = "$dir->[0]/$config{'htaccess'}";
|
|
&can_access_dir($htaccess) || &error($text{'dir_ecannot'});
|
|
if ($in{'remove'}) {
|
|
# Block away the whole file
|
|
&unlink_logged($htaccess);
|
|
&unlink_logged($dir->[1])
|
|
if (!-d $dir->[1]);
|
|
&unlink_logged($dir->[4])
|
|
if ($dir->[4] && !-d $dir->[4]);
|
|
}
|
|
else {
|
|
# Take the authentication directives out of .htaccess
|
|
$conf = &foreign_call($apachemod,
|
|
"get_htaccess_config", $htaccess);
|
|
&foreign_call($apachemod, "save_directive",
|
|
"require", [ ], $conf, $conf);
|
|
}
|
|
@dirs = grep { $_ ne $dir } @dirs;
|
|
}
|
|
}
|
|
&flush_file_lines();
|
|
|
|
# Save directory list
|
|
&save_directories(\@dirs);
|
|
&webmin_log("delete", "dirs", scalar(@d));
|
|
&redirect("");
|
|
|