[LON-CAPA-cvs] cvs: loncom /build add_domain_coordinator_privilege.pl
raeburn
raeburn@source.lon-capa.org
Mon, 28 Mar 2011 21:15:25 -0000
raeburn Mon Mar 28 21:15:25 2011 EDT
Modified files:
/loncom/build add_domain_coordinator_privilege.pl
Log:
- Check script is being run as root.
- Localization.
Index: loncom/build/add_domain_coordinator_privilege.pl
diff -u loncom/build/add_domain_coordinator_privilege.pl:1.5 loncom/build/add_domain_coordinator_privilege.pl:1.6
--- loncom/build/add_domain_coordinator_privilege.pl:1.5 Mon Mar 28 14:18:22 2011
+++ loncom/build/add_domain_coordinator_privilege.pl Mon Mar 28 21:15:25 2011
@@ -14,7 +14,7 @@
# 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.5 2011/03/28 14:18:22 raeburn Exp $
+# $Id: add_domain_coordinator_privilege.pl,v 1.6 2011/03/28 21:15:25 raeburn Exp $
#
# This file is part of the LearningOnline Network with CAPA (LON-CAPA).
#
@@ -79,7 +79,6 @@
use Apache::lonnet;
use Apache::loncommon;
use Apache::lonlocal;
-&Apache::lonlocal::get_language_handle();
=pod
@@ -95,22 +94,33 @@
=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?
# Two arguments or abort
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");
+ exit;
}
-my ($user,$add_domain)=(@ARGV);
my ($username,$domain)=split(':',$user);
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);
if (!-d $udpath) {
- die ('**** ERROR **** '.$user.' is NOT already defined as a LON-CAPA '.
- 'user.'."\n");
+ print(&mt('**** ERROR **** [_1] is NOT already defined as a LON-CAPA '.
+ 'user.',$user)."\n");
+ exit;
}
=pod
@@ -150,7 +160,8 @@
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 $status;
my $now = time;
@@ -211,7 +222,8 @@
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
@@ -219,8 +231,9 @@
$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");
+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");
+exit;
=pod
@@ -232,5 +245,6 @@
=cut
# 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");