Apache-Sling
view release on metacpan or search on metacpan
lib/Apache/Sling/GroupMember.pm view on Meta::CPAN
my $is_member = 0;
foreach my $member ( @{ $group_info->{'members'} } ) {
if ( $member eq "/system/userManager/user/$exists_member"
|| $member eq "/system/userManager/group/$exists_member"
|| $member eq "$exists_member" )
{
$is_member = 1;
last;
}
}
$success = $is_member;
$message =
"\"$exists_member\" is "
. ( $is_member ? q{} : 'not ' )
. "in group \"$act_on_group\"";
}
else {
$message = "Problem viewing group: \"$act_on_group\"";
}
$group->set_results( "$message", $res );
return $success;
}
#}}}
#{{{sub del
sub del {
my ( $group, $act_on_group, $delete_member ) = @_;
my $res = Apache::Sling::Request::request(
\$group,
Apache::Sling::GroupMemberUtil::delete_setup(
$group->{'BaseURL'}, $act_on_group, $delete_member
)
);
my $success = Apache::Sling::GroupMemberUtil::delete_eval($res);
my $message = "\"$delete_member\" ";
$message .= ( $success ? 'deleted' : 'was not deleted' );
$message .= " from group \"$act_on_group\"!";
$group->set_results( "$message", $res );
return $success;
}
#}}}
#{{{ sub help
sub help {
print <<"EOF";
Usage: perl $0 [-OPTIONS [-MORE_OPTIONS]] [--] [PROGRAM_ARG1 ...]
The following options are accepted:
--additions or -A (file) - file containing list of members to be added to groups.
--add or -a (member) - add specified member.
--auth (type) - Specify auth type. If ommitted, default is used.
--delete or -d (member) - delete specified group member.
--exists or -e (member) - check whether specified member exists in group.
--group or -g (actOnGroup) - group to perform membership actions on.
--help or -? - view the script synopsis and options.
--log or -L (log) - Log script output to specified log file.
--man or -M - view the full script documentation.
--pass or -p (password) - Password of user performing actions.
--threads or -t (threads) - Used with -A, defines number of parallel
processes to have running through file.
--url or -U (URL) - URL for system being tested against.
--user or -u (username) - Name of user to perform any actions as.
--verbose or -v or -vv or -vvv - Increase verbosity of output.
--view or -V - view members of specified group.
Options may be merged together. -- stops processing of options.
Space is not required between options and their arguments.
For full details run: perl $0 --man
EOF
return 1;
}
#}}}
#{{{ sub man
sub man {
my ($group_member) = @_;
print <<'EOF';
group membership perl script. Provides a means of managing membership of groups
in sling from the command line.
EOF
$group_member->help();
print <<"EOF";
Example Usage
* Authenticate and add a member testuser to the group with id g-test:
perl $0 -U http://localhost:8080 -g g-test -u admin -p admin -a testuser
* Authenticate and view members of group with id g-test:
perl $0 -U http://localhost:8080 -g g-test -u admin -p admin -V
* Authenticate and check whether testuser is a member of group with id g-test:
perl $0 -U http://localhost:8080 -g g-test -u admin -p admin -e testuser
* Authenticate and remove testuser from being a member of group with id g-test with very verbose output:
perl $0 -U http://localhost:8080 -g g-test -u admin -p admin -d testuser -vv
EOF
return 1;
}
#}}}
#{{{sub run
sub run {
my ( $group_member, $sling, $config ) = @_;
if ( !defined $config ) {
( run in 0.483 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )