#!/usr/bin/perl
use strict;
use Carp;
use Socket;
use POSIX();
use File::Basename;
use File::Copy;
use MIME::Base64;
use IPC::Open3;
BEGIN {
push(@INC, dirname($0));
}
use RVSInstaller::Config qw(%InstallConf $NEWLINE $BROWSER $WEBROOT %MONS $INS_PHP_FILE_TYPE $INS_CGI_FILE_TYPE);
system('/scripts/phpextensionmgr --prefix=/usr/local/cpanel/3rdparty install IonCubeLoader > /dev/null') if (-x '/scripts/phpextensionmgr');
open( my $FD, '<', $InstallConf{'cpModeConfigPath'}{'root'} . '/cpanel.config');
open(my $FW, '>', $InstallConf{'cpModeConfigPath'}{'root'} . '/cpanel.config.tmp');
foreach my $line (<$FD>) {
if ($line =~/^phploader=/gi) {
print $FW "phploader=ioncube\n";
} else {
print $FW $line;
}
}
close($FD);
close($FW);
unlink($InstallConf{'cpModeConfigPath'}{'root'} . '/cpanel.config');
rename($InstallConf{'cpModeConfigPath'}{'root'} . '/cpanel.config.tmp', '/var/cpanel/cpanel.config');
system('/usr/local/cpanel/bin/checkphpini > /dev/null') if (-x '/usr/local/cpanel/bin/checkphpini');
my (%get) = parseform();
if (defined($get{'action'})) {
print "Location: index.php?skipplupdate=1&action=" . $get{'action'} . "\n";
} else {
print "Location: index.php?skipplupdate\n";
}
print "Content-Type: text/html\n\n";
sub parseform{
my ($formthing, @fields, %lookup, $f, $name, $value);
if ($ENV{REQUEST_METHOD} eq "GET") {
$formthing = $ENV{QUERY_STRING};
} else {
$formthing = "";
my($read) = read(STDIN, $formthing, $ENV{CONTENT_LENGTH});
}
return () unless $formthing;
@fields = split('&', $formthing);
%lookup = ();
foreach $f (@fields) {
($name, $value) = split('=', $f);
$value =~ y/\+/ /;
$value =~ s/%([\da-f]{1,2})/pack('C',hex($1))/eig;
$lookup{$name} = $value;
}
return(%lookup);
}
1;
Copyright 2K16 - 2K18 Indonesian Hacker Rulez