#!/usr/bin/perl
###############################################################################
# Copyright 2013, Way to the Web Limited
# URL: http://www.configserver.com
# Email: sales@waytotheweb.com
###############################################################################

my $item = "all";
if ($ARGV[0]) {$item = $ARGV[0]}

unless (-x "/usr/bin/wget") {
	print "This script requires /usr/bin/wget to be available and executable to run.\n";
	exit;
}

if ($item =~ /cmc/ or $item eq "all") {&cmc}
if ($item =~ /cmm/ or $item eq "all") {&cmm}
if ($item =~ /cmq/ or $item eq "all") {&cmq}
if ($item =~ /cse/ or $item eq "all") {&cse}
if ($item =~ /csf/ or $item eq "all") {&csf}
if ($item =~ /cxs/ or $item eq "all") {&cxs}
if ($item =~ /osm/ or $item eq "all") {&osm}
if ($item =~ /mailscanner/ or $item eq "all") {&mailscanner}

exit;

###############################################################################
sub cmc {
	if (-e "/usr/local/cpanel/whostmgr/docroot/cgi/addon_cmc.cgi" or -e "/usr/local/cpanel/whostmgr/docroot/cgi/configserver/cmc.cgi") {
		print "\nRetrieving latest cmc package...\n";
		system ("rm -Rf /usr/src/cmc* ; cd /usr/src ; wget -q https://download.configserver.com/cmc.tgz");
		if (! -z "/usr/src/cmc.tgz") {
			print "Unpacking new cmc package...\n";
			system ("cd /usr/src ; tar -xzf cmc.tgz ; cd cmc ; sh install.sh");
			print "Tidying up...\n";
			system ("rm -Rf /usr/src/cmc*");
			print "...Installed.\n\n";
		}
	}
}
###############################################################################
sub cmm {
	if (-e "/usr/local/cpanel/whostmgr/docroot/cgi/addon_cmm.cgi" or -e "/usr/local/cpanel/whostmgr/docroot/cgi/configserver/cmm.cgi") {
		print "\nRetrieving latest cmm package...\n";
		system ("rm -Rf /usr/src/cmm* ; cd /usr/src ; wget -q https://download.configserver.com/cmm.tgz");
		if (! -z "/usr/src/cmm.tgz") {
			print "Unpacking new cmm package...\n";
			system ("cd /usr/src ; tar -xzf cmm.tgz ; cd cmm ; sh install.sh");
			print "Tidying up...\n";
			system ("rm -Rf /usr/src/cmm*");
			print "...Installed.\n\n";
		}
	}
}
###############################################################################
sub cmq {
	if (-e "/usr/local/cpanel/whostmgr/docroot/cgi/addon_cmq.cgi" or -e "/usr/local/cpanel/whostmgr/docroot/cgi/configserver/cmq.cgi") {
		print "\nRetrieving latest cmq package...\n";
		system ("rm -Rf /usr/src/cmq* ; cd /usr/src ; wget -q https://download.configserver.com/cmq.tgz");
		if (! -z "/usr/src/cmq.tgz") {
			print "Unpacking new cmq package...\n";
			system ("cd /usr/src ; tar -xzf cmq.tgz ; cd cmq ; sh install.sh");
			print "Tidying up...\n";
			system ("rm -Rf /usr/src/cmq*");
			print "...Installed.\n\n";
		}
	}
}
###############################################################################
sub cse {
	if (-e "/usr/local/cpanel/whostmgr/docroot/cgi/addon_cse.cgi" or -e "/usr/local/cpanel/whostmgr/docroot/cgi/configserver/cse.cgi") {
		print "\nRetrieving latest cse package...\n";
		system ("rm -Rf /usr/src/cse* ; cd /usr/src ; wget -q https://download.configserver.com/cse.tgz");
		if (! -z "/usr/src/cse.tgz") {
			print "Unpacking new cse package...\n";
			system ("cd /usr/src ; tar -xzf cse.tgz ; cd cse ; sh install.sh");
			print "Tidying up...\n";
			system ("rm -Rf /usr/src/cse*");
			print "...Installed.\n\n";
		}
	}
}
###############################################################################
sub csf {
	if (-e "/usr/local/cpanel/whostmgr/docroot/cgi/addon_csf.cgi" or -e "/usr/local/cpanel/whostmgr/docroot/cgi/configserver/csf.cgi") {
		print "\nRetrieving latest csf package...\n";
		system ("rm -Rf /usr/src/csf* ; cd /usr/src ; wget -q https://download.configserver.com/csf.tgz");
		if (! -z "/usr/src/csf.tgz") {
			print "Unpacking new csf package...\n";
			system ("cd /usr/src ; tar -xzf csf.tgz ; cd csf ; sh install.sh");
			print "Tidying up...\n";
			system ("rm -Rf /usr/src/csf*");
			print "Restarting csf and lfd...\n";
			system ("csf -r ; /etc/init.d/lfd restart");
			print "...Installed.\n\n";
		}
	}
}
###############################################################################
sub cxs {
	if (-e "/usr/local/cpanel/whostmgr/docroot/cgi/addon_cxs.cgi" or -e "/usr/local/cpanel/whostmgr/docroot/cgi/configserver/cxs.cgi") {
		print "\nRetrieving latest cxs package...\n";
		system ("rm -Rf /usr/src/cxs* ; cd /usr/src ; wget -q https://download.configserver.com/cxsinstaller.tgz");
		if (! -z "/usr/src/cxsinstaller.tgz") {
			print "Unpacking new cxs package...\n";
			system ("cd /usr/src ; tar -xzf cxsinstaller.tgz ; perl cxsinstaller.pl");
			print "Tidying up...\n";
			system ("rm -Rf /usr/src/cxs*");
			print "...Installed.\n\n";
		}
	}
}
###############################################################################
sub osm {
	if (-e "/usr/local/cpanel/whostmgr/docroot/cgi/addon_osm.cgi" or -e "/usr/local/cpanel/whostmgr/docroot/cgi/configserver/osm.cgi") {
		print "\nRetrieving latest osm package...\n";
		system ("rm -Rf /usr/src/osm* ; cd /usr/src ; wget -q https://download.configserver.com/osminstaller.tgz");
		if (! -z "/usr/src/osminstaller.tgz") {
			print "Unpacking new osm package...\n";
			system ("cd /usr/src ; tar -xzf osminstaller.tgz ; perl osminstaller.pl");
			print "Tidying up...\n";
			system ("rm -Rf /usr/src/osm*");
			print "...Installed.\n\n";
		}
	}
}
###############################################################################
sub mailscanner {
	if (-e "/usr/local/cpanel/whostmgr/docroot/cgi/addon_mailscanner.cgi" or -e "/usr/local/cpanel/whostmgr/docroot/cgi/configserver/mailscanner.cgi") {
		print "\nRetrieving latest MailScanner package...\n";
		system ("rm -Rf /usr/src/msinstall* ; cd /usr/src ; wget -q https://download.configserver.com/msinstall.tar.gz");
		if (! -z "/usr/src/msinstall.tar.gz") {
			print "Unpacking new MailScanner package...\n";
			system ("cd /usr/src ; tar -xzf msinstall.tar.gz ; cd msinstall ; sh install.sh");
			print "Tidying up...\n";
			system ("rm -Rf /usr/src/msinstall*");
			print "...Installed.\n\n";
		}
		print "\nRetrieving latest MailScanner Front-End package...\n";
		system ("rm -Rf /usr/src/msfe* ; cd /usr/src ; wget -q https://download.configserver.com/msfeinstaller.tgz");
		if (! -z "/usr/src/msfeinstaller.tgz") {
			print "Unpacking new MailScanner Front-End package...\n";
			system ("cd /usr/src ; tar -xzf msfeinstaller.tgz ; perl msfeinstaller.pl");
			system ("rm -Rf /usr/src/msfe*");
			print "...Installed.\n\n";
		}
	}
}
###############################################################################
