⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.93
Server IP:
65.108.141.171
Server:
Linux server.heloix.com 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
webmin
/
virtual-server
/
View File Name :
mass_uninstall.cgi
#!/usr/bin/perl # Uninstall a bunch of scripts from some virtual server require './virtual-server-lib.pl'; &ReadParse(); $d = &get_domain($in{'dom'}); &can_edit_domain($d) && &can_edit_scripts() || &error($text{'edit_ecannot'}); if ($in{'upgrade'}) { # Just go to mass upgrade page &redirect("mass_upgrade.cgi?$in"); exit; } &error_setup($text{'massu_err'}); @d = split(/\0/, $in{'d'}); @d || &error($text{'masse_enone'}); # Get the scripts being removed @got = &list_domain_scripts($d); foreach $id (@d) { ($sinfo) = grep { $_->{'id'} eq $id } @got; if ($sinfo) { push(@del, $sinfo); } } if ($in{'confirm'}) { # Do it &ui_print_unbuffered_header(&domain_in($d), $text{'massu_title'}, ""); # Get locks &obtain_lock_web($d); &obtain_lock_cron($d); foreach $sinfo (@del) { # Call the un-install function $script = &get_script($sinfo->{'name'}); &$first_print(&text('scripts_uninstalling', $script->{'desc'}, $sinfo->{'version'})); ($ok, $msg) = &{$script->{'uninstall_func'}}( $d, $sinfo->{'version'}, $sinfo->{'opts'}); &$indent_print(); print $msg,"<br>\n"; &$outdent_print(); if ($ok) { &$second_print($text{'setup_done'}); # Remove any custom PHP directory &clear_php_version($d, $sinfo); # Remove custom proxy path &delete_noproxy_path($d, $script, $sinfo->{'version'}, $sinfo->{'opts'}); # Record script un-install in domain &remove_domain_script($d, $sinfo); } else { &$second_print($text{'scripts_failed'}); } &run_post_actions(); } &release_lock_web($d); &release_lock_cron($d); &webmin_log("uninstall", "scripts", scalar(@d)); } else { # Ask first &ui_print_header(&domain_in($d), $text{'massu_title'}, ""); print "<center>\n"; print &ui_form_start("mass_uninstall.cgi", "post"); print &ui_hidden("dom", $in{'dom'}),"\n"; foreach $id (@d) { print &ui_hidden("d", $id),"\n"; } $sz = $dbcount = 0; @descs = ( ); foreach $sinfo (@del) { $script = &get_script($sinfo->{'name'}); $opts = $sinfo->{'opts'}; $sz += &disk_usage_kb($opts->{'dir'})*1024; if ($opts->{'db'}) { if (!$donedb{$opts->{'db'}}++) { $dbcount++; } } if ($opts->{'dir'} eq &public_html_dir($d)) { $delhtml = 1; } push(@descs, $script->{'desc'}." ".$sinfo->{'version'}); } print &text('massu_rusure', scalar(@d), &nice_size($sz)),"\n"; if ($dbcount) { print &text('massu_rusuredb', $dbcount),"\n"; } print "<p>\n"; if ($delhtml) { print &text('massu_rusurehome', &public_html_dir($d, 1)), "<p>\n"; } print &text('massu_sel', "<tt>".ui_text_color(join(", ", @descs), 'danger')."</tt>"),"<br>\n"; print "</p>\n"; print &ui_submit($text{'scripts_uok2'}, "confirm"),"\n"; print &ui_form_end(),"\n"; print "</center>\n"; } &ui_print_footer("list_scripts.cgi?dom=$in{'dom'}", $text{'scripts_return'}, &domain_footer_link($d));