📄 delete_mod.cgi
字号:
#!/usr/local/bin/perl# delete_mod.cgi# Delete selected modules from webmin, without askingrequire './webmin-lib.pl';&ReadParse();&error_setup($text{'delete_err'});# check if any other module depends on those to be deletedopendir(DIR, "..");while($m = readdir(DIR)) { local %minfo; if (%minfo = &get_module_info($m)) { foreach $d (split(/\s+/, $minfo{'depends'})) { $depends{$d} = $minfo{'desc'}; } } }closedir(DIR);foreach $m (split(/\0/, $in{'mod'})) { %minfo = &get_module_info($m); if (!-l "../$m" && $depends{$m}) { &error(&text('delete_edep', "<tt>$minfo{'desc'}</tt>", "<tt>$depends{$m}</tt>")); } }# delete the selected modulesforeach $m (split(/\0/, $in{'mod'})) { next if (!$m || !-d "../$m"); local (%minfo, %cinfo); %minfo = &get_module_info($m); if ($minfo{'clone'}) { # Deleting a clone &read_file("$config_directory/$m/clone", \%cinfo); unlink("../$m"); system("rm -rf $config_directory/$m"); push(@mdesc, &text('delete_desc1', $minfo{'desc'}, $minfo{'clone'})); } else { # Delete any clones of this module local @mst = stat("../$m"); opendir(DIR, ".."); foreach $l (readdir(DIR)) { @lst = stat("../$l"); if (-l "../$l" && $lst[1] == $mst[1]) { unlink("../$l"); system("rm -rf $config_directory/$l"); } } closedir(DIR); # Deleting the real module chop($pwd = `cd ../$m ; pwd`); `du -sk ../$m` =~ /(\d+)/; local $size = $1; push(@mdesc, &text('delete_desc2', $minfo{'desc'}, $pwd, $size)); system("rm -rf ../$m"); } }&header($text{'delete_title'}, "");print "<hr>\n";print $text{'delete_msg'},"<p>\n";print "<ul>\n";for($i=0; $i<@mdesc; $i++) { print $mdesc[$i],"<p>\n"; }print "</ul><p>\n";print "<hr>\n";&footer("", $text{'index_return'});
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -