'.&mt('Username').' '.
+ ''.&mt('Username').' '.
' | '.
''.&mt('Domain').' '.$domform.' | ';
if (ref($sections) eq 'ARRAY') {
@@ -903,39 +1747,43 @@ sub select_sections {
}
sub print_discussion {
- my ($cdom,$settings,$ordered,$rowtotal) = @_;
- unless ((ref($settings) eq 'HASH') && (ref($ordered) eq 'ARRAY')) {
+ my ($cdom,$settings,$ordered,$itemtext,$rowtotal) = @_;
+ unless ((ref($settings) eq 'HASH') && (ref($ordered) eq 'ARRAY') && (ref($itemtext) eq 'HASH')) {
return;
}
my %items = (
'plc.roles.denied' => {
- text => ''.&mt('No Chat room use').''.
- &Apache::loncommon::help_open_topic("Course_Disable_Discussion"),
+ text => ''.&mt($itemtext->{'plc.roles.denied'}).''.
+ &Apache::loncommon::help_open_topic("Course_Disable_Discussion").
+ &mt('(roles-based)'),
input => 'checkbox',
},
'plc.users.denied' => {
- text => ''.&mt('No Chat room use').'',
+ text => ''.&mt($itemtext->{'plc.users.denied'}).' '.
+ &mt('(specific user(s))'),
input => 'checkbox',
},
'pch.roles.denied' => {
- text => ''.&mt('No Resource Discussion').''.
- &Apache::loncommon::help_open_topic("Course_Disable_Discussion"),
+ text => ''.&mt($itemtext->{'pch.roles.denied'}).''.
+ &Apache::loncommon::help_open_topic("Course_Disable_Discussion").' '.
+ &mt('(role-based)'),
input => 'checkbox',
},
'pch.users.denied' => {
- text => ''.&mt('No Resource Discussion').'',
+ text => ''.&mt($itemtext->{'pch.users.denied'}).' '.
+ &mt('(specific user(s))'),
input => 'checkbox',
},
'allow_limited_html_in_feedback' => {
- text => ''.&mt('Allow limited HTML in discussion posts').'',
+ text => ''.&mt($itemtext->{'allow_limited_html_in_feedback'}).'',
input => 'radio',
},
'allow_discussion_post_editing' => {
- text => ''.&mt('Users can edit/delete own discussion posts').'',
+ text => ''.&mt($itemtext->{'allow_discussion_post_editing'}).'',
input => 'checkbox',
},
);
@@ -1005,6 +1853,8 @@ sub role_checkboxes {
if (!grep(/^\Q$sec\E/,@{$currsec{$trole}})) {
push(@{$currsec{$trole}},$sec);
}
+ } else {
+ $currsec{$trole} = [$sec];
}
} else {
push(@curr_roles,$role);
@@ -1092,7 +1942,7 @@ sub role_checkboxes {
}
sub print_classlists {
- my ($position,$cdom,$settings,$rowtotal) = @_;
+ my ($position,$cdom,$settings,$itemtext,$rowtotal) = @_;
my @ordered;
if ($position eq 'top') {
@ordered = ('default_enrollment_start_date',
@@ -1105,21 +1955,21 @@ sub print_classlists {
}
my %items = (
'default_enrollment_start_date' => {
- text => ''.&mt('Start date').'',
+ text => ''.&mt($itemtext->{'default_enrollment_start_date'}).'',
input => 'dates',
},
'default_enrollment_end_date' => {
- text => ''.&mt('End date').'',
+ text => ''.&mt($itemtext->{'default_enrollment_end_date'}).'',
input => 'dates',
},
'nothideprivileged' => {
- text => ''.&mt('Domain Coodinators in course').'',
+ text => ''.&mt($itemtext->{'nothideprivileged'}).'',
input => 'checkbox',
},
'student_classlist_view' => {
- text => ''.&mt('Student-viewable classlist').'',
+ text => ''.&mt($itemtext->{'student_classlist_view'}).'',
input => 'selectbox',
options => {
disabled => &mt('No viewable classlist'),
@@ -1129,12 +1979,12 @@ sub print_classlists {
order => ['disabled','all','section'],
},
'student_opt_in' => {
- text => ''.&mt('Student agreement needed to be listed').'',
+ text => ''.&mt($itemtext->{'student_opt_in'}).'',
input => 'radio',
},
'student_classlist_portfiles' => {
- text => ''.&mt('Include link to accessible portfolio files').'',
+ text => ''.&mt($itemtext->{'student_classlist_portfiles'}).'',
input => 'radio',
},
);
@@ -1146,13 +1996,13 @@ sub print_classlists {
}
sub print_appearance {
- my ($cdom,$settings,$ordered,$rowtotal) = @_;
- unless ((ref($settings) eq 'HASH') && (ref($ordered) eq 'ARRAY')) {
+ my ($cdom,$settings,$ordered,$itemtext,$rowtotal) = @_;
+ unless ((ref($settings) eq 'HASH') && (ref($ordered) eq 'ARRAY') && (ref($itemtext) eq 'HASH')) {
return;
}
my %items = (
'default_xml_style' => {
- text => ''.&mt('Default XML Style File').' '.
+ text => ''.&mt($itemtext->{'default_xml_style'}).' '.
''.&mt('Select Style File').'',
@@ -1161,15 +2011,15 @@ sub print_appearance {
},
'pageseparators' => {
- text => ''.&mt('Visibly Separate Items on Pages').'',
+ text => ''.&mt($itemtext->{'pageseparators'}).'',
input => 'radio',
},
'disable_receipt_display' => {
- text => ''.&mt('Disable display of problem receipts').'',
+ text => ''.&mt($itemtext->{'disable_receipt_display'}).'',
input => 'radio',
},
'texengine' => {
- text => ''.&mt('Force use of a specific math rendering engine.').'',
+ text => ''.&mt($itemtext->{'texengine'}).'',
input => 'selectbox',
options => {
jsMath => 'jsMath',
@@ -1180,7 +2030,7 @@ sub print_appearance {
nullval => &mt("None specified - use student's choice"),
},
'tthoptions' => {
- text => ''.&mt('Default set of options to pass to tth/m when converting TeX').'',
+ text => ''.&mt($itemtext->{'tthoptions'}).'',
input => 'textbox',
size => 40,
},
@@ -1189,13 +2039,13 @@ sub print_appearance {
}
sub print_grading {
- my ($cdom,$settings,$ordered,$rowtotal) = @_;
- unless ((ref($settings) eq 'HASH') && (ref($ordered) eq 'ARRAY')) {
+ my ($cdom,$settings,$ordered,$itemtext,$rowtotal) = @_;
+ unless ((ref($settings) eq 'HASH') && (ref($ordered) eq 'ARRAY') && (ref($itemtext) eq 'HASH')) {
return;
}
my %items = (
'grading' => {
- text => ''.&mt('Grading').''.
+ text => ''.&mt($itemtext->{'grading'}).''.
&Apache::loncommon::help_open_topic('GradingOptions'),
input => 'selectbox',
options => {
@@ -1206,7 +2056,7 @@ sub print_grading {
order => ['standard','external','spreadsheet'],
},
'rndseed' => {
- text => ''.&mt('Randomization algorithm used').''.
+ text => ''.&mt($itemtext->{'rndseed'}).''.
''.' '.
&mt('Modifying this will make problems have different numbers and answers!').
'',
@@ -1222,7 +2072,7 @@ sub print_grading {
order => ['32bit','64bit','64bit2','64bit3','64bit4','64bit5'],
},
'receiptalg' => {
- text => ''.&mt('Receipt algorithm used').' '.
+ text => ''.&mt($itemtext->{'receiptalg'}).' '.
&mt('This controls how receipt numbers are generated.'),
input => 'selectbox',
options => {
@@ -1233,7 +2083,7 @@ sub print_grading {
order => ['receipt','receipt2','receipt3'],
},
'disablesigfigs' => {
- text => ''.&mt('Disable checking of Significant Figures').'',
+ text => ''.&mt($itemtext->{'disablesigfigs'}).'',
input => 'radio',
},
);
@@ -1241,21 +2091,21 @@ sub print_grading {
}
sub print_printouts {
- my ($cdom,$settings,$ordered,$rowtotal) = @_;
- unless ((ref($settings) eq 'HASH') && (ref($ordered) eq 'ARRAY')) {
+ my ($cdom,$settings,$ordered,$itemtext,$rowtotal) = @_;
+ unless ((ref($settings) eq 'HASH') && (ref($ordered) eq 'ARRAY') && (ref($itemtext) eq 'HASH')) {
return;
}
my %items = (
problem_stream_switch => {
- text => ''.&mt('Allow problems to be split over pages').'',
+ text => ''.&mt($itemtext->{'problem_stream_switch'}).'',
input => 'radio',
},
suppress_tries => {
- text => ''.&mt('Suppress number of tries in printing').'',
+ text => ''.&mt($itemtext->{'suppress_tries'}).'',
input => 'radio',
},
default_paper_size => {
- text => ''.&mt('Default paper type').'',
+ text => ''.&mt($itemtext->{'default_paper_size'}).'',
input => 'selectbox',
options => {
Letter => &mt('Letter').' [8 1/2x11 in]',
@@ -1272,11 +2122,11 @@ sub print_printouts {
nullval => 'None specified',
},
print_header_format => {
- text => ''.&mt('Print header format').'',
+ text => ''.&mt($itemtext->{'print_header_format'}).'',
input => 'checkbox',
},
disableexampointprint => {
- text => ''.&mt('Disable automatically printing point values on exams').'',
+ text => ''.&mt($itemtext->{'disableexampointprint'}).'',
input => 'radio',
},
);
@@ -1284,35 +2134,35 @@ sub print_printouts {
}
sub print_spreadsheet {
- my ($cdom,$settings,$ordered,$rowtotal) = @_;
- unless ((ref($settings) eq 'HASH') && (ref($ordered) eq 'ARRAY')) {
+ my ($cdom,$settings,$ordered,$itemtext,$rowtotal) = @_;
+ unless ((ref($settings) eq 'HASH') && (ref($ordered) eq 'ARRAY') && (ref($itemtext) eq 'HASH')) {
return;
}
my $SelectSpreadsheetFile=&mt('Select Spreadsheet File');
my %items = (
spreadsheet_default_classcalc => {
- text => ''.&mt('Default Course Spreadsheet').' '.
+ text => ''.&mt($itemtext->{'spreadsheet_default_classcalc'}).' '.
''.$SelectSpreadsheetFile.'',
input => 'textbox',
},
spreadsheet_default_studentcalc => {
- text => ''.&mt('Default Student Spreadsheet').' '.
+ text => ''.&mt($itemtext->{'spreadsheet_default_studentcalc'}).' '.
''.$SelectSpreadsheetFile.'',
input => 'textbox',
},
spreadsheet_default_assesscalc => {
- text => ''.&mt('Default Assessment Spreadsheet').' '.
+ text => ''.&mt($itemtext->{'spreadsheet_default_assesscalc'}).' '.
''.$SelectSpreadsheetFile.'',
input => 'textbox',
},
hideemptyrows => {
- text => ''.&mt('Hide Empty Rows in Spreadsheets').'',
+ text => ''.&mt($itemtext->{'hideemptyrows'}).'',
input => 'radio',
},
);
@@ -1320,13 +2170,13 @@ sub print_spreadsheet {
}
sub print_bridgetasks {
- my ($cdom,$settings,$ordered,$rowtotal) = @_;
- unless ((ref($settings) eq 'HASH') && (ref($ordered) eq 'ARRAY')) {
+ my ($cdom,$settings,$ordered,$itemtext,$rowtotal) = @_;
+ unless ((ref($settings) eq 'HASH') && (ref($ordered) eq 'ARRAY') && (ref($itemtext) eq 'HASH')) {
return;
}
my %items = (
task_messages => {
- text => ''.&mt('Send message to student when clicking Done on Tasks').'',
+ text => ''.&mt($itemtext->{'task_messages'}).'',
input => 'selectbox',
options => {
only_student => &mt('Send message to student'),
@@ -1336,7 +2186,7 @@ sub print_bridgetasks {
nullval => &mt('No message or record in user notes'),
},
task_grading => {
- text => ''.&mt('Bridge Task grading by instructors and TAs in sections').'',
+ text => ''.&mt($itemtext->{'task_grading'}).'',
input => 'selectbox',
options => {
any => &mt('Grade BTs in any section'),
@@ -1345,8 +2195,8 @@ sub print_bridgetasks {
order => ['any','section'],
},
suppress_embed_prompt => {
- text => ''.&mt('Hi$de upload references prompt if uploading file to portfolio').' '.
- &mt('(applies when current role is student)').'',
+ text => ''.&mt($itemtext->{'suppress_embed_prompt'}).''.
+ ' '.&mt('(applies when current role is student)').'',
input => 'radio',
},
);
@@ -1358,27 +2208,46 @@ sub print_other {
unless ((ref($settings) eq 'HASH') && (ref($allitems) eq 'ARRAY')) {
return;
}
- my @ordered;
+ my @ordered = &get_other_items($cdom,$settings,$allitems);
my %items;
+ foreach my $parameter (@ordered) {
+ $items{$parameter} = {
+ text => ''.$parameter.'',
+ input => 'textbox',
+ size => '15',
+ },
+ }
+ push (@ordered,'newp_value');
+ $items{'newp_value'} = {
+ text => ''.&mt('Create New Environment Variable').' '.
+ '',
+ input => 'textbox',
+ size => '30',
+ };
+ my $output = &make_item_rows($cdom,\%items,\@ordered,$settings,$rowtotal);
+}
+
+sub get_other_items {
+ my ($cdom,$settings,$allitems) = @_;
+ unless ((ref($settings) eq 'HASH') && (ref($allitems) eq 'ARRAY')) {
+ return;
+ }
+ my @ordered;
if (ref($settings) eq 'HASH') {
foreach my $parameter (sort(keys(%{$settings}))) {
next if (grep/^\Q$parameter\E$/,@{$allitems});
- next if (($parameter eq 'course.helper.not.run') &&
- (!exists($env{'user.role.dc./'.$env{'request.role.domain'}.'/'})));
+ next if (($parameter eq 'course.helper.not.run') &&
+ (!exists($env{'user.role.dc./'.$env{'request.role.domain'}.'/'})));
unless (($parameter =~ m/^internal\./)||($parameter =~ m/^metadata\./) ||
($parameter =~ m/^selfenroll_/) || ($parameter =~ /_selfenroll$/)
|| ($parameter eq 'type') ||
($parameter =~ m/^(cc|in|ta|ep|ad|st)\.plaintext$/)) {
push(@ordered,$parameter);
- $items{$parameter} = {
- text => $parameter,
- input => 'textbox',
- size => '15',
- },
}
}
}
- return &make_item_rows($cdom,\%items,\@ordered,$settings,$rowtotal);
+ return @ordered;
}
sub item_table_row_start {
@@ -1390,7 +2259,7 @@ sub item_table_row_start {
$output .= ' ';
}
$output .= ''.$text.
- ' | ';
+ ' | ';
return $output;
}
@@ -1517,6 +2386,7 @@ sub nothidepriv_row {
my %coursepersonnel = &Apache::lonnet::dump('nohist_userroles',$cdom,$cnum);
my $now = time;
my @privusers;
+ my %privileged;
foreach my $person (keys(%coursepersonnel)) {
my ($role,$user,$usec) = ($person =~ /^([^:]*):([^:]+:[^:]+):([^:]*)/);
$user =~ s/:$//;
@@ -1525,7 +2395,19 @@ sub nothidepriv_row {
next;
}
my ($uname,$udom) = split(':',$user);
- if (&Apache::lonnet::privileged($uname,$udom)) {
+ unless (ref($privileged{$udom}) eq 'HASH') {
+ my %dompersonnel = &Apache::lonnet::get_domain_roles($udom,['dc'],undef,$now);
+ $privileged{$udom} = {};
+ if (keys(%dompersonnel)) {
+ foreach my $server (keys(%dompersonnel)) {
+ foreach my $user (sort(keys(%{$dompersonnel{$server}}))) {
+ my ($trole,$uname,$udom) = split(/:/,$user);
+ $privileged{$udom}{$uname} = $trole;
+ }
+ }
+ }
+ }
+ if (exists($privileged{$udom}{$uname})) {
push(@privusers,$user);
}
}
@@ -1665,7 +2547,9 @@ ENDJS
''.&mt('New').' | '.
''.&mt('Text').' '.
' | '.
+ '" value="" size ="25" />'.
+ ''.
&Apache::loncommon::end_data_table_row().
&Apache::loncommon::end_data_table();
return $output;
@@ -1712,10 +2596,4 @@ sub substitution_selector {
return $output;
}
-sub modify_crsenv {
- my ($action,$cdom,%domconfig) = @_;
- return;
-}
-
1;
-
|