API-DirectAdmin
    
    
  
  
  
view release on metacpan or search on metacpan
lib/API/DirectAdmin.pm view on Meta::CPAN
Example:
    my $disable_result = $da->user->disable( {
        select0 => 'username',
    } );
    
    my $enable_result = $da->user->enable( {
	   select0 => 'username',
    } );
=item change_password
Change password for user
Example:
    my $result = $da->user->change_password( {
        username => 'username',
        passwd   => 'new_password',
        passwd2  => 'new_password',
    } );
=item change_package
Change package (tariff plan) for user
Example:
    my $result = $da->user->change_package( {
        username => 'username',
        package  => 'new_package',
    } );
=item show_packages
Return list of available packages.
Note: If you created packages through administrator user - you must use admin's login and password for authorisation. Obviously, if packages was created by reseller user - use reseller authorisation.
lib/API/DirectAdmin/User.pm view on Meta::CPAN
			   delete
			   select0',
    );
    carp "Delete account: $responce->{text}, $responce->{details}" if $self->{debug};
    return $responce;
}
# Change passwd
# params: username, passwd, passwd2
sub change_password {
    my ($self, $params ) = @_;
    my $responce = $self->directadmin->query(
	command        => 'CMD_API_USER_PASSWD',
	method	       => 'POST',
	params         => $params,
	allowed_fields => 'passwd
			   passwd2
			   username',
    );
    carp "Change passwd account: $responce->{text}, $responce->{details}" if $self->{debug};
    return $responce;
}
# Change package for user
# params: user, package
sub change_package {
    my ($self, $params ) = @_;
    
    my $package = $params->{package};
    unless ( $self->{fake_answer} ) {
	unless ( $package ~~ $self->show_packages() ) {
	    return {error => 1, text => "No such package $package on server"};
	} 
    }
    
t/01-test.t view on Meta::CPAN
	email    => 'test@example.com',
	ip       => '127.0.0.1',
	package  => 'newpackage',
    }
);
is_deeply( $result, \%answer, 'API::DirectAdmin::User::create repeat');
%answer = (
    text 	=> 'Password Changed',
    error 	=> 0,
    details 	=> 'Password successfully changed'
);
$da->{fake_answer} = ! $ONLINE ? \%answer : undef;
$result = $da->user->change_password(
    {
	user => $manipulate_user,
	pass => 'sdfdsfsdfhsdfj',
    }
);
is_deeply( $result, \%answer, 'API::DirectAdmin::User::change_password');
%answer = (
    text 	=> 'Success',
    error 	=> 0,
    details 	=> 'All selected Users have been suspended',
);
$da->{fake_answer} = ! $ONLINE ? \%answer : undef;
$result = $da->user->disable(
t/01-test.t view on Meta::CPAN
$result = $da->user->list();
ok( ref $result eq 'ARRAY' && scalar @$result, 'API::DirectAdmin::User::list');
%answer = (
    text 	=> 'No such package newpackage on server',
    error 	=> 1,
);
$da->{fake_answer} = ! $ONLINE ? \%answer : undef;
$result = $da->user->change_package(
    {
	user    => $manipulate_user,
	package => 'newpackage',
    }
);
is_deeply( $result, \%answer, 'API::DirectAdmin::User::change_package');
%answer = (
    text 	=> 'Users deleted',
    error 	=> 0,
    details 	=> "User $manipulate_user Removed",
);
$da->{fake_answer} = ! $ONLINE ? \%answer : undef;
$result = $da->user->delete(
( run in 1.424 second using v1.01-cache-2.11-cpan-c333fce770f )