enclosing_map_src());
- $$mapp{$mapid}=$$mapp{$id};
- $$allmaps{$mapid}=$$mapp{$id};
- if ($mapid eq '1') {
- $$maptitles{$mapid}='Main Course Documents';
+
+
+ if (!exists($$mapp{$mapid})) {
+ $$mapp{$id}=
+ &Apache::lonnet::declutter($resource->enclosing_map_src());
+ $$mapp{$mapid}=$$mapp{$id};
+ $$allmaps{$mapid}=$$mapp{$id};
+ if ($mapid eq '1') {
+ $$maptitles{$mapid}='Main Course Documents';
+ } else {
+ $$maptitles{$mapid}=
+ &Apache::lonnet::gettitle($$mapp{$id});
+ }
+ $$maptitles{$$mapp{$id}}=$$maptitles{$mapid};
+ $$symbp{$mapid}=$$mapp{$id}.'___(all)';
} else {
- $$maptitles{$mapid}=&Apache::lonnet::gettitle(&Apache::lonnet::clutter($$mapp{$id}));
+ $$mapp{$id} = $$mapp{$mapid};
}
- $$maptitles{$$mapp{$id}}=$$maptitles{$mapid};
$$symbp{$id}=&Apache::lonnet::encode_symb($$mapp{$id},$resid,$srcf);
- $$symbp{$mapid}=$$mapp{$id}.'___(all)';
}
}
@@ -1514,7 +1525,7 @@ sub assessparms {
$message="\n\n".&mt("Full Name").": ".
$name{'firstname'}.' '.$name{'middlename'}.' '
.$name{'lastname'}.' '.$name{'generation'}.
- "
\n".&mt('ID').": ".$name{'id'}.'
';
+ "
\n".&mt('ID').": ".$name{'id'}.'
';
}
@usersgroups = &Apache::lonnet::get_users_groups(
$udom,$uname,$env{'request.course.id'});
@@ -1562,7 +1573,7 @@ sub assessparms {
foreach ('tolerance','date_default','date_start','date_end',
'date_interval','int','float','string') {
$r->print('');
+ $env{'form.recent_'.$_}.'" name="recent_'.$_.'" />');
}
if (!$pssymb) {
@@ -1639,7 +1650,7 @@ sub assessparms {
);
$r->print(<$lt{'pie'}
-$lt{'csv'} ($csuname $lt{'at'} $csudom) |
+$lt{'csv'} ($csuname $lt{'at'} $csudom) |
| $lt{'ic'} | $lt{'rl'} |
$lt{'ic'} |
@@ -1740,8 +1751,8 @@ ENDTABLEHEADFOUR
"$title");
+ "', 'metadatafile', '450', '500', 'no', 'yes');\"".
+ " target=\"_self\">$title");
if ($thistitle) {
$r->print(' ('.$thistitle.')');
@@ -2005,7 +2016,7 @@ sub crsenv {
('environment',
{'top level map backup '.$bkuptime => $tmp[1] },
$dom,$crs).
- '
';
+ '
';
}
#
# Deal with modified default spreadsheets
@@ -2033,6 +2044,22 @@ sub crsenv {
if ($name =~ /^default_enrollment_(start|end)_date$/) {
$value=&Apache::lonhtmlcommon::get_date_from_form($name.'_value');
}
+ #
+ # Deal with the emails
+ if ($name =~ /\.email$/) {
+ my ($user,$domain) = split(/:/,$value);
+ if (!defined($user) || !defined($domain)) {
+ $setoutput.= '
'.
+ &mt("Invalid email address specified, address must be of the form username:domain").
+ '';
+ undef($value);
+ } elsif (&Apache::lonnet::homeserver($user,$domain) eq 'no_host') {
+ $setoutput.= '
'.
+ &mt("Invalid email address specified, user [_1] is unknown.",$value).
+ '';
+ undef($value);
+ }
+ }
# Get existing cloners
my @oldcloner = ();
if ($name eq 'cloners') {
@@ -2116,14 +2143,20 @@ sub crsenv {
'default_xml_style' => ''.&mt('Default XML Style File').' '.
'$SelectStyleFile
",
+ ",'sty')\">$SelectStyleFile
",
'question.email' => ''.&mt('Feedback Addresses for Resource Content Question').
'
(user:domain,'.
'user:domain(section;section;...;*;...),...)',
+ 'question.email.text' => ''.&mt('Custom Text for Resource Content Question Option in Feedback').
+ '',
'comment.email' => ''.&mt('Feedback Addresses for Course Content Comments').'
'.
'(user:domain,user:domain(section;section;...;*;...),...)',
+ 'comment.email.text' => ''.&mt('Custom Text for Course Content Option in Feedback').
+ '',
'policy.email' => ''.&mt('Feedback Addresses for Course Policy').''.
'
(user:domain,user:domain(section;section;...;*;...),...)',
+ 'policy.email.text' => ''.&mt('Custom Text for Course Policy Option in Feedback').
+ '',
'hideemptyrows' => ''.&mt('Hide Empty Rows in Spreadsheets').'
'.
'('.&mt('"[_1]" for default hiding','yes').')',
'pageseparators' => ''.&mt('Visibly Separate Items on Pages').'
'.
@@ -2193,7 +2226,7 @@ sub crsenv {
' Tabloid [11x17 in], Executive [7 1/2x10 in], A2 [420x594 mm],'.
' A3 [297x420 mm], A4 [210x297 mm], A5 [148x210 mm], A6 [105x148 mm])',
'print_header_format'
- => 'Print header format; substitutions: %n student name %c course id %a assignment',
+ => 'Print header format; substitutions: %n student name %c course id %a assignment note, numbers after the % limit the field size',
'anonymous_quiz'
=> ''.&mt('Anonymous quiz/exam').'
'.
' ('.&mt('yes').' '.&mt('to avoid print students names').' )',
@@ -2206,7 +2239,7 @@ sub crsenv {
=> ''.&mt('Disable display of problem receipts').'
'.
' ('.&mt('"[_1]" to disable, anything else if not','yes').')',
'task_messages'
- => ''.&mt('Send message to student when clicking Done on Tasks. [_1] to send a message only to student, [_2] to send message to student and add record to user information page for instructors. Leave blank to disable.','only_student','student_and_user_notes_screen').'',
+ => ''.&mt('Send message to student when clicking Done on Tasks').'
('.&mt('[_1] to send a message only to student, [_2] to send message to student and add record to user information page for instructors. Leave blank to disable.','only_student','student_and_user_notes_screen').')',
'disablesigfigs'
=> ''.&mt('Disable checking of Significant Figures').'
'.
' ('.&mt('"[_1]" to disable, anything else if not','yes').')',
@@ -2221,7 +2254,7 @@ sub crsenv {
my @Display_Order = ('url','description','courseid','cloners','grading',
'externalsyllabus',
'default_xml_style','pageseparators',
- 'question.email','comment.email','policy.email',
+ 'question.email','question.email.text','comment.email','comment.email.text','policy.email','policy.email.text',
'student_classlist_view',
'plc.roles.denied','plc.users.denied',
'pch.roles.denied','pch.users.denied',
@@ -2310,7 +2343,7 @@ sub crsenv {
'';
my $start_page =
- &Apache::loncommon::start_page('Set Course Environment Parameters',
+ &Apache::loncommon::start_page('Set Course Environment',
$browse_js);
my $end_page =
&Apache::loncommon::end_page();
@@ -2363,8 +2396,7 @@ sub readdata {
my $classlist=&Apache::loncoursedata::get_classlist();
foreach (keys %$classlist) {
- # the following undefs are for 'domain', and 'username' respectively.
- if ($_=~/^(\w+)\:(\w+)$/) {
+ if ($_=~/^($match_username)\:($match_domain)$/) {
my ($tuname,$tudom)=($1,$2);
my $useropt=&Apache::lonnet::get_userresdata($tuname,$tudom);
foreach my $userkey (keys %{$useropt}) {
@@ -2409,11 +2441,11 @@ sub storedata {
$tkey.'.type' => $typeof},
$tudom,$tuname) eq 'ok') {
&log_parmset({$tkey=>$data,$tkey.'.type' => $typeof},0,$tuname,$tudom);
- $r->print('
'.&mt('Stored modified parameter for').' '.
+ $r->print('
'.&mt('Saved modified parameter for').' '.
&Apache::loncommon::plainname($tuname,$tudom));
} else {
$r->print(''.
- &mt('Error storing parameters').'
');
+ &mt('Error saving parameters').'');
}
&Apache::lonnet::devalidateuserresdata($tuname,$tudom);
} else {
@@ -2432,7 +2464,7 @@ sub storedata {
}
&Apache::lonnet::devalidateuserresdata($tuname,$tudom);
} else {
- push (@deldata,$thiskey);
+ push (@deldata,$thiskey,$thiskey.'.type');
}
} elsif ($cmd eq 'datepointer') {
my $data=&Apache::lonhtmlcommon::get_date_from_form($env{$_});
@@ -2443,10 +2475,10 @@ sub storedata {
$tkey.'.type' => $typeof},
$tudom,$tuname) eq 'ok') {
&log_parmset({$tkey=>$data,$tkey.'.type' => $typeof},0,$tuname,$tudom);
- $r->print('
'.&mt('Stored modified date for').' '.&Apache::loncommon::plainname($tuname,$tudom));
+ $r->print('
'.&mt('Saved modified date for').' '.&Apache::loncommon::plainname($tuname,$tudom));
} else {
$r->print(''.
- &mt('Error storing parameters').'
');
+ &mt('Error saving parameters').'');
}
&Apache::lonnet::devalidateuserresdata($tuname,$tudom);
} else {
@@ -2475,10 +2507,10 @@ sub storedata {
if ($putentries) {
if (&Apache::lonnet::put('resourcedata',\%newdata,$dom,$crs) eq 'ok') {
&log_parmset(\%newdata,0);
- $r->print(''.&mt('Stored [_1] parameter(s)',$putentries/2).'
');
+ $r->print(''.&mt('Saved [_1] parameter(s)',$putentries/2).'
');
} else {
$r->print(''.
- &mt('Error storing parameters').'
');
+ &mt('Error saving parameters').'');
}
&Apache::lonnet::devalidatecourseresdata($crs,$dom);
}
@@ -2486,7 +2518,7 @@ sub storedata {
sub extractuser {
my $key=shift;
- return ($key=~/^$env{'request.course.id'}.\[useropt\:(\w+)\:(\w+)\]\./);
+ return ($key=~/^$env{'request.course.id'}.\[useropt\:($match_username)\:($match_domain)\]\./);
}
sub listdata {
@@ -2544,7 +2576,7 @@ sub listdata {
my $section=&mt('All Students');
if ($middle=~/^\[(.*)\]/) {
my $issection=$1;
- if ($issection=~/^useropt\:(\w+)\:(\w+)/) {
+ if ($issection=~/^useropt\:($match_username)\:($match_domain)/) {
$section=&mt('User').": ".&Apache::loncommon::plainname($1,$2);
} else {
$section=&mt('Group/Section').': '.$issection;
@@ -2589,15 +2621,6 @@ sub listdata {
$oldpart=$part;
}
#
-# Preset defaults?
-#
- my ($hour,$min,$sec,$val)=('','','','');
- unless ($$resourcedata{$thiskey}) {
- my ($parmname)=($thiskey=~/\.(\w+)$/);
- ($hour,$min,$sec,$val)=&preset_defaults($parmname);
- }
-
-#
# Ready to print
#
$r->print(&tablestart().
@@ -2613,7 +2636,7 @@ sub listdata {
&Apache::lonhtmlcommon::date_setter('parmform',
$jskey,
$$resourcedata{$thiskey},
- '',1,'','',$hour,$min,$sec).
+ '',1,'','').
''.
&date_sanity_info($$resourcedata{$thiskey})
);
@@ -2621,8 +2644,6 @@ sub listdata {
my $showval;
if (defined($$resourcedata{$thiskey})) {
$showval=$$resourcedata{$thiskey};
- } else {
- $showval=$val;
}
$r->print('
---|