#!/usr/bin/perl # cpanel12 - cpaneldownacct.cgi Copyright(c) 1997-2006 cPanel, Inc. # All Rights Reserved. # copyright@cpanel.net http://cpanel.net # This code is subject to the cPanel license. Unauthorized copying is prohibited $ENV{'QUERY_STRING'} =~ s/\n//g; $ENV{'QUERY_STRING'} =~ s/\s//g; my $user = (split( /\&/, $ENV{'QUERY_STRING'}, 2 ))[0]; if ( !$user ) { print "Content-type: text/html\r\n\r\n"; print "INVALID PARAMETERS\n"; exit 1; } my $homedir = ( getpwnam($user) )[7]; if ( !$homedir || !-d $homedir || $homedir eq '/' ) { print "Content-type: text/html\r\n\r\n"; print "INVALID USER\n"; exit 1; } my $acct_pkg; my @account_pkgs = glob $homedir . '/backup-*_' . $user . '.tar.gz'; if ( @account_pkgs ) { $acct_pkg = pop @account_pkgs; # Latest backup } else { print "Content-type: text/html\r\n\r\n"; print "NO VALID ACCOUNT PACKAGES EXIST\n"; exit 1; } if ( !-e $acct_pkg ) { print "Content-type: text/html\r\n\r\n"; print "INVALIDE ACCOUNT PACKAGE\n"; exit 1; } if ( open my $pkg_fh, '<', $acct_pkg ) { print "Content-type: application/x-tar\r\nContent-Encoding: x-gzip\r\n\r\n"; while ( readline $pkg_fh ) { print; } close $pkg_fh; exit; } else { print "Content-type: text/html\r\n\r\n"; print "UNABLE TO OPEN ARCHIVE: $!\n"; } exit 1;