Using the Cpanel::Accounting Perl module

The Cpanel::Accounting perl module is designed to give programs that need access to create/remove/modify accounts an easy way to implement this in their perl program.

For security reasons if you are connecting to a remote server you should set the usessl varible to 1. You must have the Net::SSLeay perl module installed for this to work.

Cpanel::Accounting supports the following methods:

Below is a sample Perl program.

#!/usr/bin/perl

BEGIN {

       push (@INC,"/usr/local/cpanel");

}

use Cpanel::Accounting;



my($whm) = Cpanel::Accounting->new;

$whm->{host} = "localhost";

$whm->{user} = "<USERNAME HERE>";

$whm->{accesshash} = '<REMOTE ACCESS KEY HERE>';

$whm->{usessl} = 1;



my %ACCTS = $whm->listaccts();    

if ($whm->{error} ne "") {

       print "There was an error while processing your request: Cpanel::Accounting returned [$whm->{error}]\n";

       exit;

}



#$name,$hasshell,$bwlimit,$quota,$ip,$cgi,$frontpage,$cpmod,$maxftp,$maxsql,$maxpop,$maxlst,$maxsub,$maxpark,$maxaddon

$response = $whm->editpkg("testpkg2",0,50000,5000,0,1,1,"bluelagoon",10,10,10,10,10,10,10);    

if ($whm->{error} ne "") {

       print "There was an error while processing your request: Cpanel::Accounting returned [$whm->{error}]\n";

       exit;

}



foreach $acct (sort keys %ACCTS) {

       @ACCTCT = @{$ACCTS{$acct}};

       print "$acct @ACCTCT\n";

}



$response = $whm->killacct("<USERNAME TO TERMINATE>");

if ($whm->{error} ne "") {

       print "There was an error while processing your request: Cpanel::Accounting returned [$whm->{error}]\n";

       exit;

}

print $response;

       







my %PKGS = $whm->listpkgs();

if ($whm->{error} ne "") {

       print "There was an error while processing your request: Cpanel::Accounting returned [$whm->{error}]\n";

       exit;

}

foreach $package (sort keys %PKGS) {

       @PKCTS = @{$PKGS{$package}};

       print "$package @PKCTS\n";

}





$response = $whm->createacct("<DOMAIN NAME HERE>","<USERNAME HERE>","<PASSWORD HERE>","<PACKAGE HERE>");

if ($whm->{error} ne "") {

       print "There was an error while processing your request: Cpanel::Accounting returned [$whm->{error}]\n";

       exit;

}      

print $response;





$response = $whm->suspend('<USERNAME HERE>');

if ($whm->{error} ne "") {

       print "There was an error while processing your request: Cpanel::Accounting returned [$whm->{error}]\n";

       exit;

}      

print $response . "\n";



$response = $whm->unsuspend('<USERNAME HERE>');

if ($whm->{error} ne "") {

       print "There was an error while processing your request: Cpanel::Accounting returned [$whm->{error}]\n";

       exit

}

print $response . "\n";
 
			
Reseller Web Hosting Manager Contents A-M Contents N-Z
Contents N-Z
Click Here for an overview on our Web Control Panel
Click Here for Control Panel
Earth Web Hosting Service. Professional Hosting Plans you can count on !