--- loncom/build/add_domain_coordinator_privilege.pl 2007/06/26 19:48:52 1.2 +++ loncom/build/add_domain_coordinator_privilege.pl 2007/12/31 16:49:23 1.3 @@ -14,7 +14,7 @@ exisiting user on a LON-CAPA system. # add_domain_coordinator_privilege.pl - Add domain coordinator to an # exisiting user on a LON-CAPA system. # -# $Id: add_domain_coordinator_privilege.pl,v 1.2 2007/06/26 19:48:52 albertel Exp $ +# $Id: add_domain_coordinator_privilege.pl,v 1.3 2007/12/31 16:49:23 raeburn Exp $ # # This file is part of the LearningOnline Network with CAPA (LON-CAPA). # @@ -87,7 +87,7 @@ use Apache::lonlocal; There are no flags to this script. -usage: add_domain_coordinator_privledge.pl [USERNAME:DOMAIN] [NEWDOMAIN] +usage: add_domain_coordinator_privilege.pl [USERNAME:DOMAIN] [NEWDOMAIN] The first argument specifies the user name domain of an existing user. @@ -154,7 +154,7 @@ if (!$rolesref) { } if (exists($rolesref->{'/'.$add_domain.'/_dc'})) { my ($role,$end,$start) = split('_',$rolesref->{'/'.$add_domain.'/_dc'}); - print(&mt("[_1] already has a dc priviledge for [_2].", + print(&mt("[_1] already has a dc privilege for [_2].", $user,$add_domain)."\n"); if ($start) { print(&mt("Start date: [_1]",&Apache::lonlocal::locallocaltime($start)). @@ -181,7 +181,8 @@ if (exists($rolesref->{'/'.$add_domain.' print(&mt("It is currently not active. Proceeding to re-enable")."\n"); } -$rolesref->{'/'.$add_domain.'/_dc'}='dc'; # Set the domain coordinator role. +my $now = time; +$rolesref->{'/'.$add_domain.'/_dc'}='dc_0_'.$now; # Set the domain coordinator role. open(OUT, ">$udpath/roles.hist"); # roles.hist is the synchronous plain text. foreach my $key (keys(%{$rolesref})) { print(OUT $key.' : '.$rolesref->{$key}."\n"); @@ -193,6 +194,19 @@ close(OUT); `chown www:www $udpath/roles.hist`; # Must be writeable by httpd process. `chown www:www $udpath/roles.db`; # Must be writeable by httpd process. +my %perlvar = %{&LONCAPA::Configuration::read_conf('loncapa.conf')}; +my $dompath = $perlvar{'lonUsersDir'}.'/'.$domain; +my $domrolesref = &LONCAPA::locking_hash_tie("$dompath/nohist_domainroles.db",&GDBM_WRCREAT()); + +if (!$domrolesref) { + die('unable to tie nohist_domainroles db: '."$dompath/nohist_domainroles.db"); +} + +# Store in nohist_domainroles.db +my $domkey=&LONCAPA::escape('dc:'.$username.':'.$domain.'::'.$domain.':'); +$domrolesref->{$domkey}= &LONCAPA::escape('0:'.$now); +&LONCAPA::locking_hash_untie($domrolesref); + =pod =item 2.