#!/usr/local/cpanel/3rdparty/bin/perl

use File::Path qw(rmtree);

print "Uninstalling autoinstallssl plugin ...\n";

# make sure we're running as root
if ( $< != 0 ) {
    print "You must be root to uninstall autoinstallssl plugin.\n";
    exit(0);
}

my $theme_base = '/usr/local/cpanel/base/frontend/default';

my $theme_base1 = '/usr/local/cpanel/base/frontend/x3';

my $theme_base2 = '/usr/local/cpanel/base/frontend/paper_lantern';

print_line_break();

unregister_autoinstallssl_plugin();

unregister_autoinstallssl_plugin_from_paperlantern();

print_line_break();

remove_pluginfiles();

remove_autoinstallssl_plugin_directories();

print_line_break();

print "\nSuccessfully uninstalled autoinstallssl plugin!!! \n";

exit;

# unregister autoinstallssl plugin using unregister_cpanelplugin script
sub unregister_autoinstallssl_plugin {
    if ( -x "/usr/local/cpanel/bin/unregister_cpanelplugin" ) {
        print "Unregister plugin with cPanel...\n";
        `/usr/local/cpanel/bin/unregister_cpanelplugin /var/cpanel/registered_cpanelplugins/autoinstallssl`;
    }
    else {
        print "Failed to unregister plugin with cPanel.\n";
    }
}

# unregister autoinstallssl plugin from Paper_Lantern Theme
sub unregister_autoinstallssl_plugin_from_paperlantern {
    if ( -x "/usr/local/cpanel/bin/register_cpanelplugin" ) {
        print "\nUnregister plugin with paper lantern theme...\n";
        `/usr/local/cpanel/scripts/uninstall_plugin /usr/local/cpanel/base/frontend/paper_lantern/autoinstallssl`;
    }
    else {
        print "\nFailed to unregister plugin with paper lantern theme\n";
    }
}

# remove the plugin files
sub remove_pluginfiles {

    print "Removing files installed by autoinstallssl plugin...\n";

    my $manifest = './autoinstallssl_manifest';

    open( my $fh, '<', $manifest ) or die "Could not find $manifest: $!\n";

    while ( my $line = <$fh> ) {
        chomp $line;

        #allow blank lines for organization
        next if ( $line =~ /^$/ );

        my $path = $line;

        print `rm -rfv $path`;
    }
    close($fh);

    # removing the /var/cpanel/plugins/autoinstallssl directory
    my $plugin_content_directory = "/var/cpanel/plugins/autoinstallssl";

    if ( -d $plugin_content_directory ) {
        rmtree($plugin_content_directory);
    }
}

sub remove_autoinstallssl_plugin_directories {
    print "\nRemoving directories... \n";
    rmtree("$theme_base/autoinstallssl");
	rmtree("$theme_base1/autoinstallssl");
	rmtree("$theme_base2/autoinstallssl");
 }


sub print_line_break {
    print "=" x 50 . "\n";
}
