Diff for /loncom/build/add_domain_coordinator_privilege.pl between versions 1.5 and 1.6

version 1.5, 2011/03/28 14:18:22 version 1.6, 2011/03/28 21:15:25
Line 79  use LONCAPA; Line 79  use LONCAPA;
 use Apache::lonnet;  use Apache::lonnet;
 use Apache::loncommon;  use Apache::loncommon;
 use Apache::lonlocal;  use Apache::lonlocal;
 &Apache::lonlocal::get_language_handle();  
   
 =pod  =pod
   
Line 95  The second argument specifies the domain Line 94  The second argument specifies the domain
   
 =cut  =cut
   
   my ($user,$add_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 assign domain coordinator roles.').
            "\n");
   }
   
 # ----------------------------------------------- So, are we invoked correctly?  # ----------------------------------------------- So, are we invoked correctly?
 # Two arguments or abort  # Two arguments or abort
 if (@ARGV!=2) {  if (@ARGV!=2) {
     die('usage: add_domain_coordinator_privilege.pl [USERNAME:DOMAIN] [NEWDOMAIN]'.      print(&mt('usage: [_1]','add_domain_coordinator_privilege.pl [USERNAME:DOMAIN] [NEWDOMAIN]').
  "\n");   "\n");
       exit;
 }  }
 my ($user,$add_domain)=(@ARGV);  
 my ($username,$domain)=split(':',$user);  my ($username,$domain)=split(':',$user);
 if (!grep(/^\Q$add_domain\E$/,&Apache::lonnet::current_machine_domains())) {  if (!grep(/^\Q$add_domain\E$/,&Apache::lonnet::current_machine_domains())) {
     die('**** ERROR **** Domain '.$add_domain.' is unknown'."\n");      print(&mt('**** ERROR **** Domain [_1] is unknown.',$add_domain)."\n");
       exit;
 }  }
   
 my $udpath=&propath($domain,$username);  my $udpath=&propath($domain,$username);
 if (!-d $udpath) {  if (!-d $udpath) {
     die ('**** ERROR **** '.$user.' is NOT already defined as a LON-CAPA '.      print(&mt('**** ERROR **** [_1] is NOT already defined as a LON-CAPA '.
  'user.'."\n");   'user.',$user)."\n");
       exit;
 }  }
   
 =pod  =pod
Line 150  use GDBM_File; # A simple key-value pair Line 160  use GDBM_File; # A simple key-value pair
   
 my $rolesref=&LONCAPA::locking_hash_tie("$udpath/roles.db",&GDBM_WRCREAT());  my $rolesref=&LONCAPA::locking_hash_tie("$udpath/roles.db",&GDBM_WRCREAT());
 if (!$rolesref) {  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 $status;  my $status;
 my $now = time;  my $now = time;
Line 211  my $dompath = $perlvar{'lonUsersDir'}.'/ Line 222  my $dompath = $perlvar{'lonUsersDir'}.'/
 my $domrolesref = &LONCAPA::locking_hash_tie("$dompath/nohist_domainroles.db",&GDBM_WRCREAT());  my $domrolesref = &LONCAPA::locking_hash_tie("$dompath/nohist_domainroles.db",&GDBM_WRCREAT());
   
 if (!$domrolesref) {  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  # Store in nohist_domainroles.db
Line 219  my $domkey=&LONCAPA::escape('dc:'.$usern Line 231  my $domkey=&LONCAPA::escape('dc:'.$usern
 $domrolesref->{$domkey}= &LONCAPA::escape('0:'.$now);  $domrolesref->{$domkey}= &LONCAPA::escape('0:'.$now);
 &LONCAPA::locking_hash_untie($domrolesref);  &LONCAPA::locking_hash_untie($domrolesref);
   
  system('/bin/chown',"www:www","$dompath/nohist_domainroles.db"); # Must be writeable by httpd process.  system('/bin/chown',"www:www","$dompath/nohist_domainroles.db"); # Must be writeable by httpd process.
  system('/bin/chown',"www:www","$dompath/nohist_domainroles.db.lock");  system('/bin/chown',"www:www","$dompath/nohist_domainroles.db.lock");
   exit;
   
 =pod  =pod
   
Line 232  by going to http://MACHINENAME/adm/creat Line 245  by going to http://MACHINENAME/adm/creat
 =cut  =cut
   
 # Output success message, and inform sysadmin about how to further proceed.  # Output success message, and inform sysadmin about how to further proceed.
 print("$username is now a domain coordinator for $add_domain\n");  print(&mt('[_1] is now a domain coordinator for [_2].',$username,$add_domain).
         "\n");
   

Removed from v.1.5  
changed lines
  Added in v.1.6


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