API-CPanel
    
    
  
  
  
view release on metacpan or search on metacpan
	- add fetch_hash_abstract function
	- add Domain module
        - fixed Bug #57646 for API-CPanel: Error when XML::Simple don't create arrays in fetch_array_abstract
0.07  Wed Jun 09 18:23:28 2010
        - add Mysql module
        - add Mysql::adduser
        - add Mysql::adddb
        - add Mysql::grant_perms
0.08  Tue Jun 22 13:09:04 2010
        - little fix action_abstract
        - add Domain:change_site_ip
0.09  Thu Aug 05 16:47:11 2010
        - add Domain::add_addon_domain
lib/API/CPanel/Domain.pm view on Meta::CPAN
	params       => $params,
	func         => 'listaccts',
	container    => 'acct',
	result_field => 'domain',
	want_hash    => '1',
    );
}
# Èçìåíÿåò îñíîâíîé èï ñàéòà
sub change_site_ip {
    my $params = shift;
    return API::CPanel::action_abstract(
        params         => $params,
        func           => 'setsiteip',
        container      => 'result',
        allowed_fields => 'ip user domain',
    );
}
lib/API/CPanel/User.pm view on Meta::CPAN
    my $params = shift;
    return API::CPanel::action_abstract(
	params         => $params,
	func           => 'suspendacct',
	container      => 'result',
	allowed_fields => 'user reason',
    );
}
# This function changes the hosting package associated with a cPanel account.
# user* -- user name
# pkg   -- Name of the package that the account should use.
sub change_package {
    my $params = shift;
    return API::CPanel::action_abstract(
	params         => $params,
	func           => 'changepackage',
	container      => 'result',
	allowed_fields => 'user pkg',
    );
}
# This function changes the password of a domain owner (cPanel) or reseller (WHM) account
# user* -- user name
# pass* -- New password for the user.
sub change_account_password {
    my $params = shift;
    return API::CPanel::action_abstract(
	params         => $params,
	func           => 'passwd',
	container      => 'passwd',
	allowed_fields => 'user pass',
    );
}
t/01-test.t view on Meta::CPAN
	password    => 'sdfdsGdhd',
	domain      => 'zse1.ru',
    }
);
is( $result, '', 'API::CPanel::User::create repeat');
$API::CPanel::FAKE_ANSWER = ! $ONLINE ? <<THEEND : undef;
<passwd>
  <passwd>
    <rawout>Changing password for zsezse
Password for zsezse has been changed
Updating ftp passwords for zsezse
Ftp password files updated.
Ftp vhost passwords synced
</rawout>
    <services>
      <app>system</app>
    </services>
    <services>
      <app>ftp</app>
    </services>
    <services>
      <app>mail</app>
    </services>
    <services>
      <app>mySQL</app>
    </services>
    <status>1</status>
    <statusmsg>Password changed for user zsezse</statusmsg>
  </passwd>
</passwd>
THEEND
$result = API::CPanel::User::change_account_password(
    {
	%correct_params,
	user => $manipulate_user,
	pass => 'sdfdsfsdfhsdfj',
    }
);
is( $result, 1, 'API::CPanel::User::change_account_password');
$API::CPanel::FAKE_ANSWER = ! $ONLINE ? <<THEEND : undef;
<modifyacct>
  <result>
    <newcfg>
      <cpuser>
        <BWLIMIT>unlimited</BWLIMIT>
        <CONTACTEMAIL></CONTACTEMAIL>
        <CONTACTEMAIL2></CONTACTEMAIL2>
        <DEMO>0</DEMO>
t/01-test.t view on Meta::CPAN
);
ok( $result =~ /^\d+$/ , 'API::CPanel::User::active_user_count');
$API::CPanel::FAKE_ANSWER = ! $ONLINE ? <<THEEND : undef;
<suspendacct>
  <result>
    <status>1</status>
    <statusmsg><script>if (self[]) { clear_ui_status(); }</script>
Changing Shell to /bin/false...Changing shell for zseasd.
Warning: "/bin/false" is not listed in /etc/shells
Shell changed.
Done
Locking Password...Locking password for user zseasd.
passwd: Success
Done
Suspending mysql users
Notification => root\@localhost via EMAIL [level => 3]
Using Quota v3 Support
Suspended document root /home/zseasd/public_html
Using Quota v3 Support
Suspending FTP accounts...
t/01-test.t view on Meta::CPAN
);
is( $result, $active_count - 1, 'API::CPanel::User::active_user_count');
$API::CPanel::FAKE_ANSWER = ! $ONLINE ? <<THEEND : undef;
<suspendacct>
  <result>
    <status>1</status>
    <statusmsg><script>if (self['clear_ui_status']) { clear_ui_status(); }</script>
Changing Shell to /bin/false...Changing shell for zseasd.
Warning: "/bin/false" is not listed in /etc/shells
Shell not changed.
Done
Locking Password...Locking password for user zseasd.
passwd: Success
Done
Suspending mysql users
Notification => root\@localhost via EMAIL [level => 3]
Account Already Suspended
</statusmsg>
  </result>
</suspendacct>
t/01-test.t view on Meta::CPAN
    }
);
is( $result, 1, 'API::CPanel::User::disable repeat');
$API::CPanel::FAKE_ANSWER = ! $ONLINE ? <<THEEND : undef;
<unsuspendacct>
  <result>
    <status>1</status>
    <statusmsg><script>if (self['clear_ui_status']) { clear_ui_status(); }</script>
Changing shell for zseasd.
Shell changed.
Unlocking password for user zseasd.
passwd: Success.
Unsuspending FTP accounts...
Updating ftp passwords for zseasd
Ftp password files updated.
Ftp vhost passwords synced
zseasds account is now active
Unsuspending mysql users
Notification => root\@localhost via EMAIL [level => 3]
</statusmsg>
t/01-test.t view on Meta::CPAN
	quota     => 110,
	frontpage => 1,
	maxlsts   => 15,
	maxsql    => 99,
    }
);
is( $result, 1, 'API::CPanel::Package::add');
$API::CPanel::FAKE_ANSWER = ! $ONLINE ? <<THEEND : undef;
<changepackage>
  <result>
    <rawout><pre>
Changing bwlimit to unlimited Meg
Changing Feature List to default
Changing max pop accounts from unlimited to unlimited
Changing max sql accounts from 14 to 99
Changing max ftp accounts from unlimited to unlimited
Changing max lists from unlimited to unlimited
Changing max sub domains from unlimited to unlimited
Changing language from ru to en
t/01-test.t view on Meta::CPAN
Shell Access Set Correctly (noshell)
Changing cPanel theme from x to
Changing plan from default to Host-343
Resetting QUOTA....
Using Quota v3 Support
Bandwidth limit (0) is lower than (unlimited) (all limits removed)<br /><blockquote><div style='float:left;'>Enabling...</div><div style='float:left;'>...zse1.ru...</div><div style='float:left;'>Done</div&...
</rawout>
    <status>1</status>
    <statusmsg>Account Upgrade/Downgrade Complete for zsezse</statusmsg>
  </result>
</changepackage>
THEEND
$result = API::CPanel::User::change_package(
    {
	%correct_params,
	user        => $manipulate_user,
	pkg         => 'Host-343',
    }
);
is( $result, 1, 'API::CPanel::User::change_package');
$API::CPanel::FAKE_ANSWER = ! $ONLINE ? <<THEEND : undef;
<editpkg>
  <result>
    <pkg>Host-3</pkg>
    <status>1</status>
    <statusmsg>Modified the package Host-343</statusmsg>
  </result>
</editpkg>
THEEND
t/01-test.t view on Meta::CPAN
$API::CPanel::FAKE_ANSWER = ! $ONLINE ? <<THEEND : undef;
<setsiteip>
  <result>
      <status>1</status>
      <statusmsg></statusmsg>
  </result>
</setsiteip>
THEEND
$result = API::CPanel::Domain::change_site_ip(
    {
        %correct_params,
        ip      => '192.168.123.150',
        user    => $manipulate_user,
    }
);
is( $result, 1, 'API::CPanel::Domain::change_site_ip');
$API::CPanel::FAKE_ANSWER = ! $ONLINE ? <<THEEND : undef;
<setsiteip>
  <result>
      <status>1</status>
      <statusmsg></statusmsg>
  </result>
</setsiteip>
THEEND
$result = API::CPanel::Domain::change_site_ip(
    {
        %correct_params,
        ip      => $main_shared_ip,
        user    => $manipulate_user,
    }
);
is( $result, 1, 'API::CPanel::Domain::change_site_ip to main_shared_ip');
$API::CPanel::FAKE_ANSWER = ! $ONLINE ? <<THEEND : undef;
<delip>
  <delip>
      <status>1</status>
      <statusmsg>eth0:4 is now down, 192.168.123.150 has been removed</statusmsg>
  </delip>
</delip>
THEEND
( run in 0.685 second using v1.01-cache-2.11-cpan-c333fce770f )