-
Notifications
You must be signed in to change notification settings - Fork 0
/
add_user_to_sites.pl
57 lines (38 loc) · 1.21 KB
/
add_user_to_sites.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/usr/bin/perl -w
# Add a user with a specified role to sites listed in a file: data/siteids.csv.
use SOAP::Lite;
##################### EDIT HERE #####################
my $user = 'admin-user';
my $password = 'password';
my $loginURI = "[your server]/sakai-axis/SakaiLogin.jws?wsdl";
my $scriptURI = "[your server]/sakai-axis/SakaiScript.jws?wsdl";
my $role = "Instructor";
my $eid = "username";
############## DO NOT EDIT BELOW HERE ###############
#START
print "\n";
my $loginsoap = SOAP::Lite
-> proxy($loginURI)
-> uri($loginURI);
my $scriptsoap = SOAP::Lite
-> proxy($scriptURI)
-> uri($scriptURI);
my $ua = LWP::UserAgent->new( timeout => 90 );
my $session = $loginsoap->login($user, $password)->result;
print "session is: " . $session . "\n";
#read file
open FILE, "data/siteids.csv" or die $!;
while (<FILE>) {
@parts = split(/,/, $_);
my $site = $parts[0];
print "processing site: " . $site . "\n";
print "\t Adding user: " . $eid . " as role: " . $role . "...";
my $result = $scriptsoap->addMemberToSiteWithRole($session, $site, $eid, $role)->result;
print $result . "\n";
}
# logout
my $logout = $loginsoap->logout($session)->result;
print "logging out: " . $logout . "\n";
#END
print "\n";
exit;