File:  [LON-CAPA] / loncom / debugging_tools / make_user_cc.pl
Revision 1.1: download - view: text, annotated - select for diffs
Sun Sep 12 21:27:05 2004 UTC (19 years, 8 months ago) by matthew
Branches: MAIN
CVS tags: version_2_1_X, version_2_1_3, version_2_1_2, version_2_1_1, version_2_1_0, version_2_0_X, version_2_0_99_1, version_2_0_2, version_2_0_1, version_2_0_0, version_1_99_3, version_1_99_2, version_1_99_1_tmcc, version_1_99_1, version_1_99_0_tmcc, version_1_99_0, version_1_3_X, version_1_3_3, version_1_3_2, version_1_3_1, version_1_3_0, version_1_2_99_1, version_1_2_99_0, HEAD
Some debugging tools that have been sitting around for a while.

    1: #!/usr/bin/perl -w
    2: #
    3: use strict;
    4: use GDBM_File;
    5: my %roles;
    6: 
    7: my $user      = shift;
    8: my $userdom   = shift;
    9: my $course    = shift; # The account to make $user a course coordinator on
   10: my $coursedom = shift;
   11: my $days      = shift; # The number of days to have the role last
   12: 
   13: if (! defined($user)) {
   14:     die "usage: make_user_cc.pl user userdom course coursedom daysuntilexpire";
   15: }
   16: 
   17: my $endtime = time + 24*60*60*$days;
   18: 
   19: print "user      = $user\n";
   20: print "userdom   = $userdom\n";
   21: print "target    = $course\n";
   22: print "targetdom = $coursedom\n";
   23: print "days      = $days\n";
   24: print "endtime   = $endtime\n";
   25: 
   26: my ($a,$b,$c,undef) = split(//,$user,4);
   27: my $dbfile   = "/home/httpd/lonUsers/$userdom/$a/$b/$c/$user/roles.db";
   28: my $histfile = "/home/httpd/lonUsers/$userdom/$a/$b/$c/$user/roles.hist";
   29: 
   30: tie (%roles,'GDBM_File',$dbfile,&GDBM_WRCREAT(),0640);
   31: $roles{'/'.$coursedom.'/'.$course.'_cc'}='cc';
   32: 
   33: open OUT, ">".$histfile;
   34: foreach (keys(%roles)) {
   35:     print OUT $_.' : '.$roles{$_}."\n";
   36: }
   37: close OUT;
   38: 
   39: untie %roles;
   40: 
   41: system ("chown www:www $histfile");
   42: system ("chown www:www $dbfile");
   43: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>