API-CPanel
view release on metacpan or search on metacpan
lib/API/CPanel.pm view on Meta::CPAN
return '' unless $params &&
ref $params eq 'HASH' && %$params ;
my $result = join '&', map { "$_=$params->{$_}" } sort keys %$params;
warn $result if $DEBUG;
return $result;
}
# Kill slashes at start / end string
# STATIC(STRING:input_string)
sub kill_start_end_slashes {
my $str = shift;
for ($str) {
s/^\/+//sgi;
s/\/+$//sgi;
}
return $str;
}
lib/API/CPanel.pm view on Meta::CPAN
my $host = delete $params->{host};
my $path = delete $params->{path} || '';
my $allow_http = delete $params->{allow_http} || '';
my $func = delete $params->{func};
unless ($path) {
$path = 'xml-api';
}
$path = kill_start_end_slashes( $path );
$host = kill_start_end_slashes( $host );
$func = kill_start_end_slashes( $func );
my $query_path = ( $allow_http ? 'http' : 'https' ) . "://$host:2087/$path/$func";
return %$params ? $query_path . '?' . mk_query_string( $params ) : $query_path;
}
# Make request to server and get answer
# STATIC (STRING: query_string)
sub mk_query_to_server {
lib/API/CPanel/Misc.pm view on Meta::CPAN
use Data::Dumper;
our $VERSION = 0.07;
# Ïåðåãðóæàåì CPanel
sub reload {
my $params = shift;
return API::CPanel::action_abstract(
params => $params,
func => 'restartservice',
container => 'restart',
allowed_fields => 'service',
);
}
1;
t/01-test.t view on Meta::CPAN
$a = 'mk_query_string';
is( API::CPanel::mk_query_string( { } ), '', $a );
is( API::CPanel::mk_query_string( '' ), '', $a );
is( API::CPanel::mk_query_string( undef ), '', $a );
is( API::CPanel::mk_query_string( { aaa => 111, bbb => 222 } ), 'aaa=111&bbb=222', $a );
is( API::CPanel::mk_query_string( { bbb => 222, aaa => 111 } ), 'aaa=111&bbb=222', $a );
is( API::CPanel::mk_query_string( [ ] ), '', $a );
is( API::CPanel::mk_query_string( { dddd => 'dfdf' } ), 'dddd=dfdf', $a );
my $kill_start_end_slashes_test = {
'////aaa////' => 'aaa',
'bbb////' => 'bbb',
'////ccc' => 'ccc',
'' => '',
};
for (keys %$kill_start_end_slashes_test) {
is(
API::CPanel::kill_start_end_slashes ($_),
$kill_start_end_slashes_test->{$_},
'kill_start_end_slashes'
);
}
$a = 'mk_full_query_string';
is( API::CPanel::mk_full_query_string( {
host => $test_host,
} ),
'',
$a
);
t/01-test.t view on Meta::CPAN
<maxftp>unlimited</maxftp>
<maxlst>unlimited</maxlst>
<maxparked>*unknown*</maxparked>
<maxpop>unlimited</maxpop>
<maxsql>unlimited</maxsql>
<maxsub>unlimited</maxsub>
<owner>root</owner>
<partition>home</partition>
<plan>default</plan>
<shell>/bin/bash</shell>
<startdate>10 Mar 22 16:18</startdate>
<suspended>0</suspended>
<suspendreason>not suspended</suspendreason>
<suspendtime></suspendtime>
<theme>x3</theme>
<unix_startdate>1269249522</unix_startdate>
<user>qewqeru</user>
</acct>
<acct>
<disklimit>unlimited</disklimit>
<diskused>0M</diskused>
<domain>zse1.ru</domain>
<email>*unknown*</email>
<ip>192.168.123.208</ip>
<maxaddons>*unknown*</maxaddons>
<maxftp>unlimited</maxftp>
<maxlst>unlimited</maxlst>
<maxparked>*unknown*</maxparked>
<maxpop>unlimited</maxpop>
<maxsql>14</maxsql>
<maxsub>unlimited</maxsub>
<owner>root</owner>
<partition>home</partition>
<plan>default</plan>
<shell>/usr/local/cpanel/bin/noshell</shell>
<startdate>10 Mar 24 11:55</startdate>
<suspended>0</suspended>
<suspendreason>not suspended</suspendreason>
<suspendtime></suspendtime>
<theme>x</theme>
<unix_startdate>1269406518</unix_startdate>
<user>zseasd</user>
</acct>
<acct>
<disklimit>unlimited</disklimit>
<diskused>0M</diskused>
<domain>zse.ru</domain>
<email>*unknown*</email>
<ip>192.168.123.208</ip>
<maxaddons>*unknown*</maxaddons>
<maxftp>unlimited</maxftp>
<maxlst>unlimited</maxlst>
<maxparked>*unknown*</maxparked>
<maxpop>unlimited</maxpop>
<maxsql>unlimited</maxsql>
<maxsub>unlimited</maxsub>
<owner>root</owner>
<partition>home</partition>
<plan>default</plan>
<shell>/bin/bash</shell>
<startdate>10 Mar 22 16:21</startdate>
<suspended>0</suspended>
<suspendreason>not suspended</suspendreason>
<suspendtime></suspendtime>
<theme>x3</theme>
<unix_startdate>1269249671</unix_startdate>
<user>zseru</user>
</acct>
<status>1</status>
<statusmsg>Ok</statusmsg>
</listaccts>
THEEND
my $active_count = API::CPanel::User::active_user_count(
{
%correct_params,
t/01-test.t view on Meta::CPAN
<maxftp>unlimited</maxftp>
<maxlst>unlimited</maxlst>
<maxparked>*unknown*</maxparked>
<maxpop>unlimited</maxpop>
<maxsql>unlimited</maxsql>
<maxsub>unlimited</maxsub>
<owner>root</owner>
<partition>home</partition>
<plan>default</plan>
<shell>/bin/bash</shell>
<startdate>10 Mar 22 16:18</startdate>
<suspended>0</suspended>
<suspendreason>not suspended</suspendreason>
<suspendtime></suspendtime>
<theme>x3</theme>
<unix_startdate>1269249522</unix_startdate>
<user>qewqeru</user>
</acct>
<acct>
<disklimit>unlimited</disklimit>
<diskused>0M</diskused>
<domain>zse1.ru</domain>
<email>*unknown*</email>
<ip>192.168.123.208</ip>
<maxaddons>*unknown*</maxaddons>
<maxftp>unlimited</maxftp>
<maxlst>unlimited</maxlst>
<maxparked>*unknown*</maxparked>
<maxpop>unlimited</maxpop>
<maxsql>14</maxsql>
<maxsub>unlimited</maxsub>
<owner>root</owner>
<partition>home</partition>
<plan>default</plan>
<shell>/bin/false</shell>
<startdate>10 Mar 24 11:55</startdate>
<suspended>1</suspended>
<suspendreason>test reason1</suspendreason>
<suspendtime>1269406521</suspendtime>
<theme>x</theme>
<unix_startdate>1269406518</unix_startdate>
<user>zseasd</user>
</acct>
<acct>
<disklimit>unlimited</disklimit>
<diskused>0M</diskused>
<domain>zse.ru</domain>
<email>*unknown*</email>
<ip>192.168.123.208</ip>
<maxaddons>*unknown*</maxaddons>
<maxftp>unlimited</maxftp>
<maxlst>unlimited</maxlst>
<maxparked>*unknown*</maxparked>
<maxpop>unlimited</maxpop>
<maxsql>unlimited</maxsql>
<maxsub>unlimited</maxsub>
<owner>root</owner>
<partition>home</partition>
<plan>default</plan>
<shell>/bin/bash</shell>
<startdate>10 Mar 22 16:21</startdate>
<suspended>0</suspended>
<suspendreason>not suspended</suspendreason>
<suspendtime></suspendtime>
<theme>x3</theme>
<unix_startdate>1269249671</unix_startdate>
<user>zseru</user>
</acct>
<status>1</status>
<statusmsg>Ok</statusmsg>
</listaccts>
THEEND
$result = API::CPanel::User::active_user_count(
{
%correct_params,
t/01-test.t view on Meta::CPAN
<maxftp>unlimited</maxftp>
<maxlst>unlimited</maxlst>
<maxparked>*unknown*</maxparked>
<maxpop>unlimited</maxpop>
<maxsql>unlimited</maxsql>
<maxsub>unlimited</maxsub>
<owner>root</owner>
<partition>home</partition>
<plan>default</plan>
<shell>/bin/bash</shell>
<startdate>10 Mar 22 16:18</startdate>
<suspended>0</suspended>
<suspendreason>not suspended</suspendreason>
<suspendtime></suspendtime>
<theme>x3</theme>
<unix_startdate>1269249522</unix_startdate>
<user>qewqeru</user>
</acct>
<acct>
<disklimit>unlimited</disklimit>
<diskused>0M</diskused>
<domain>zse.ru</domain>
<email>*unknown*</email>
<ip>192.168.123.208</ip>
<maxaddons>*unknown*</maxaddons>
<maxftp>unlimited</maxftp>
<maxlst>unlimited</maxlst>
<maxparked>*unknown*</maxparked>
<maxpop>unlimited</maxpop>
<maxsql>unlimited</maxsql>
<maxsub>unlimited</maxsub>
<owner>root</owner>
<partition>home</partition>
<plan>default</plan>
<shell>/bin/bash</shell>
<startdate>10 Mar 22 16:21</startdate>
<suspended>0</suspended>
<suspendreason>not suspended</suspendreason>
<suspendtime></suspendtime>
<theme>x3</theme>
<unix_startdate>1269249671</unix_startdate>
<user>zseru</user>
</acct>
<status>1</status>
<statusmsg>Ok</statusmsg>
</listaccts>
THEEND
$result = API::CPanel::User::list(
{
%correct_params,
t/01-test.t view on Meta::CPAN
<maxftp>unlimited</maxftp>
<maxlst>unlimited</maxlst>
<maxparked>*unknown*</maxparked>
<maxpop>unlimited</maxpop>
<maxsql>unlimited</maxsql>
<maxsub>unlimited</maxsub>
<owner>root</owner>
<partition>home</partition>
<plan>default</plan>
<shell>/bin/bash</shell>
<startdate>10 Mar 22 16:18</startdate>
<suspended>0</suspended>
<suspendreason>not suspended</suspendreason>
<suspendtime></suspendtime>
<theme>x3</theme>
<unix_startdate>1269249522</unix_startdate>
<user>qewqeru</user>
</acct>
<status>1</status>
<statusmsg>Ok</statusmsg>
</listaccts>
THEEND
$result = API::CPanel::User::list_simple(
{
%correct_params,
}
);
ok( ref $result eq 'ARRAY' && scalar @$result, 'API::CPanel::User::list_simple');
$API::CPanel::FAKE_ANSWER = ! $ONLINE ? <<THEEND : undef;
<restartservice>
<restart>
<rawout>Apache successfully restarted.</rawout>
<result>1</result>
<service>httpd</service>
<servicename>Apache Web Server</servicename>
</restart>
</restartservice>
THEEND
$result = API::CPanel::Misc::reload(
{
%correct_params,
service => 'httpd',
}
);
is( $result, 1, 'API::CPanel::Misc::reload');
( run in 0.257 second using v1.01-cache-2.11-cpan-0d8aa00de5b )