Diff for /loncom/build/add_domain_coordinator_privilege.pl between versions 1.1 and 1.4

version 1.1, 2007/06/26 19:39:25 version 1.4, 2008/01/03 21:16:11
Line 87  use Apache::lonlocal; Line 87  use Apache::lonlocal;
   
 There are no flags to this script.  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.  The first argument specifies the user name domain of an existing user.
   
Line 154  if (!$rolesref) { Line 154  if (!$rolesref) {
 }  }
 if (exists($rolesref->{'/'.$add_domain.'/_dc'})) {  if (exists($rolesref->{'/'.$add_domain.'/_dc'})) {
     my ($role,$end,$start) = split('_',$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");        $user,$add_domain)."\n");
     if ($start) {      if ($start) {
  print(&mt("Start date: [_1]",&Apache::lonlocal::locallocaltime($start)).   print(&mt("Start date: [_1]",&Apache::lonlocal::locallocaltime($start)).
Line 178  if (exists($rolesref->{'/'.$add_domain.' Line 178  if (exists($rolesref->{'/'.$add_domain.'
  print(&mt("It is currently active.")."\n");   print(&mt("It is currently active.")."\n");
  exit(0);   exit(0);
     }      }
       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.  open(OUT, ">$udpath/roles.hist"); # roles.hist is the synchronous plain text.
 foreach my $key (keys(%{$rolesref})) {  foreach my $key (keys(%{$rolesref})) {
     print(OUT $key.' : '.$rolesref->{$key}."\n");      print(OUT $key.' : '.$rolesref->{$key}."\n");
Line 192  close(OUT); Line 194  close(OUT);
 `chown www:www $udpath/roles.hist`; # Must be writeable by httpd process.  `chown www:www $udpath/roles.hist`; # Must be writeable by httpd process.
 `chown www:www $udpath/roles.db`; # 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);
   
    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");
   
 =pod  =pod
   
 =item 2.  =item 2.

Removed from v.1.1  
changed lines
  Added in v.1.4


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