#!/usr/bin/perl -w # use strict; use GDBM_File; my %roles; my $user = shift; my $userdom = shift; my $target = shift; # The account to make $user a co-author on my $targetdom = shift; my $days = shift; # The number of days to have the role last if (! defined($user)) { die "usage: make_user_ca.pl user userdom course coursedom daysuntilexpire"; } my $endtime = time + 24*60*60*$days; print "user = $user\n"; print "userdom = $userdom\n"; print "target = $target\n"; print "targetdom = $targetdom\n"; print "days = $days\n"; print "endtime = $endtime\n"; my ($a,$b,$c,undef) = split(//,$user,4); my $dbfile = "/home/httpd/lonUsers/$userdom/$a/$b/$c/$user/roles.db"; print "dbfile = $dbfile\n"; tie (%roles,'GDBM_File',$dbfile, &GDBM_WRCREAT(),0640); $roles{'/'.$targetdom.'/'.$target.'_ca'}='ca_'.$endtime.'_'.time; open OUT, ">/home/httpd/lonUsers/$userdom/$a/$b/$c/$user/roles.hist"; foreach (keys(%roles)) { print OUT $_.' : '.$roles{$_}."\n"; } close OUT; untie %roles; `chown www:www /home/httpd/lonUsers/$userdom/$a/$b/$c/$user/roles.hist`; `chown www:www /home/httpd/lonUsers/$userdom/$a/$b/$c/$user/roles.db`;