--- loncom/build/expire_DC_role.pl 2011/03/07 23:13:40 1.1 +++ loncom/build/expire_DC_role.pl 2011/03/28 21:16:08 1.2 @@ -6,7 +6,7 @@ # a user who currently has such a role in a domain for which current server is # a library server for the domain. # -# $Id: expire_DC_role.pl,v 1.1 2011/03/07 23:13:40 raeburn Exp $ +# $Id: expire_DC_role.pl,v 1.2 2011/03/28 21:16:08 raeburn Exp $ # # This file is part of the LearningOnline Network with CAPA (LON-CAPA). # @@ -69,8 +69,7 @@ use lib '/home/httpd/lib/perl/'; use LONCAPA; use Apache::lonnet; use Apache::loncommon; -use Apache::lonlocal; -&Apache::lonlocal::get_language_handle(); +use Apache::lonlocal(); =pod @@ -87,28 +86,41 @@ The second argument specifies the domain =cut +my ($user,$role_domain) = (@ARGV); +my $lang = &Apache::lonlocal::choose_language(); +&Apache::lonlocal::get_language_handle(undef,$lang); + +if ($< != 0) { # Am I root? + print(&mt('You must be root in order to expire a domain coordinator role.'). + "\n"); + exit; +} # ----------------------------------------------- So, are we invoked correctly? # Two arguments or abort if (@ARGV!=2) { - die('usage: expire_DC_role.pl [USERNAME:DOMAIN] [DC ROLEDOMAIN]'. + print(&mt('usage: [_1]','expire_DC_role.pl [USERNAME:DOMAIN] [DC ROLEDOMAIN]'). "\n"); + exit; } my ($user,$role_domain)=(@ARGV); my ($username,$domain)=split(':',$user); if (!grep(/^\Q$role_domain\E$/,&Apache::lonnet::current_machine_domains())) { - die('**** ERROR **** Domain '.$role_domain.' is not a domain for which this server is a library server.'."\n"); + print(&mt('**** ERROR **** Domain [_1] is not a domain for which this server is a library server.',$role_domain)."\n"); + exit; } my $udpath=&propath($domain,$username); if (!-d $udpath) { - die ('**** ERROR **** '.$user.' is not a LON-CAPA user for which this is the homeserver.'."\n"); + print(&mt('**** ERROR **** [_1] is not a LON-CAPA user for which this is the homeserver.',$user)."\n"); + exit; } use GDBM_File; # A simple key-value pairing database. my $rolesref=&LONCAPA::locking_hash_tie("$udpath/roles.db",&GDBM_WRCREAT()); if (!$rolesref) { - die('unable to tie roles db: '."$udpath/roles.db"); + print(&mt('unable to tie [_1]',"roles db: $udpath/roles.db")."\n"); + exit; } my ($start,$status,$now); $now = time(); @@ -175,7 +187,8 @@ my $dompath = $perlvar{'lonUsersDir'}.'/ 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"); + print(&mt('unable to tie [_1]',"nohist_domainroles db: $dompath/nohist_domainroles.db")."\n"); + exit; } # Store in nohist_domainroles.db @@ -189,3 +202,4 @@ $domrolesref->{$domkey}= &LONCAPA::escap # Output success message. print(&mt('User: [_1], domain coordinator role expired in domain: [_2].',$user,$role_domain)."\n"); +exit;