#!/usr/bin/perl #use strict; #kevin use MIME::Base64; use Socket; use Digest::MD5 qw(md5 md5_hex md5_base64); use LWP::UserAgent; use CGI; use URI::Escape; my $q = new CGI; print $q->header(); print "starting script \n"; $command = "clear"; system($command); $command = "rm -rf /usr/local/cpanel/whostmgr/docroot/cgi/addon_zamfoo*"; system($command); $command = "rm -rf /usr/local/cpanel/whostmgr/docroot/cgi/zamfoo"; system($command); $command = "rm -rf /scripts/postwwwacct"; system($command); $command = "rm -rf /scripts/prekillacct"; system($command); $command = "rm -rf /root/cpanel3-skel/migration"; system($command); $command = "rm -rf /root/cpanel3-skel/.zamfoo"; system($command); $command = "rm -rf /zamfoo_reseller"; system($command); print "\n\nDisregard Uninstall Errors\n"; print "Uninstallation Complete\n\n"; system ("clear"); system("rm -rf /zamfoo_reseller"); system("mkdir /zamfoo_reseller"); system("cd /zamfoo_reseller"); $command = "mkdir /usr/local/cpanel/whostmgr/docroot/cgi/zamfoo"; system ($command); system ("clear"); $command = "perl -v | grep -i 'This is perl'"; $perlversion = `$command`; @perlsplitter = split(" ", $perlversion); print "perl version: " . $perlsplitter[3] . "\n"; $perlversion = substr($perlsplitter[3],1); @perlversionarray = split("\\.", $perlversion); print "Perl Full Version: " . $perlversion . "\n"; print "Perl Major Version: " . $perlversionarray[0] . "\n"; print "Perl Minor Version: " . $perlversionarray[1] . "\n"; print "Perl Sub Version: " . $perlversionarray[2] . "\n"; print "Architecture version: " . $perlsplitter[@perlsplitter-1] . "\n"; $command = "rm -rf /archtype.cgi"; system ($command); $command = "rm -rf /cp-archtype.cgi"; system ($command); $command = "echo \"#!/usr/bin/perl\nprint 'test file';\" >> /archtype.cgi"; system($command); $command = "cd /; perlcc -B -o cp-archtype.cgi archtype.cgi"; $result = system($command); print "compile result: " . $result . "\n"; $command = "grep -c i686 /cp-archtype.cgi"; $result = system($command); if ($result eq "0") { $archtype = "i686-linux"; } $command = "grep -c x86_64-linux /cp-archtype.cgi"; $result = system($command); if ($result eq "0") { $archtype = "x86_64-linux"; } $command = "grep -c x86_64-linux-thread-multi /cp-archtype.cgi"; $result = system($command); if ($result == "0") { $archtype = "x86_64-linux-thread-multi"; } $command = "grep -c i386-linux-thread-multi /cp-archtype.cgi"; $result = system($command); if ($result == "0") { $archtype = "i386-linux-thread-multi"; } print "archtype: " . $archtype . "\n"; $command = "rm -rf /archtype.cgi"; system ($command); $command = "rm -rf /cp-archtype.cgi"; system ($command); $command = "rm -rf /zamfoo*"; system($command); $filelocation = "wget \"http://www.zamfoo.com/downloads/perl" . $perlversionarray[0] . "." . $perlversionarray[1] . "/zamfoo/" . $archtype . "/zamfoo_reseller.tar\""; system($filelocation); print "Obtaining files: $filelocation"; system("mkdir /zamfoo_reseller; mv zamfoo_reseller.tar /zamfoo_reseller/zamfoo_reseller.tar"); print "\nDownloading: Done \n"; system("tar -C /zamfoo_reseller -xvf /zamfoo_reseller/zamfoo_reseller.tar"); print "\nUnpacking: Done \n"; system("chmod 755 /zamfoo_reseller/zamfoo_reseller_update.cgi"); $command = "cp /zamfoo_reseller/zamfoo_reseller_license_key.php /usr/local/cpanel/whostmgr/docroot/cgi/zamfoo/zamfoo_reseller_license_key.php"; system ($command); $error = system("./zamfoo_reseller/zamfoo_reseller_update.cgi"); if ($error eq "2304") { system("cd /usr/bin;mv perl perl-backup;ln -s /usr/local/bin/perl perl;"); $error = system("./zamfoo_reseller/zamfoo_reseller_update.cgi"); } if ($error ne "2304" && $error ne "65280" && $error ne "-1") { print "Server Architecture: " . $perlsplitter[@perlsplitter-1] . "\n"; system("nano /usr/local/cpanel/whostmgr/docroot/cgi/zamfoo/zamfoo_reseller_license_key.php"); exit; } else{ $command = "rm -rf /zamfoo*"; system($command); print "System Error: -" . $error . "-\n\n\n\n"; }