--- loncom/interface/lonwhatsnew.pm 2008/04/30 23:52:00 1.77
+++ loncom/interface/lonwhatsnew.pm 2009/02/19 16:12:21 1.88
@@ -1,5 +1,5 @@
#
-# $Id: lonwhatsnew.pm,v 1.77 2008/04/30 23:52:00 raeburn Exp $
+# $Id: lonwhatsnew.pm,v 1.88 2009/02/19 16:12:21 hauer Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -169,19 +169,19 @@ sub display_main_box {
degdiff => 'Degree of difficulty',
numstudents => 'Total number of students with submissions',
);
- my %versions = &Apache::lonlocal::texthash (
+ my %versions = (
-1 => "version changes since start of $lctype",
2592000 => 'version changes since last month',
604800 => 'version changes since last week',
86400 => 'version changes since yesterday',
);
- my %newroles = &Apache::lonlocal::texthash (
+ my %newroles = (
-1 => "roles which have become active since start of $lctype",
2592000 => 'roles which have become active since last month',
604800 => 'roles which have become active since last week',
86400 => 'roles which have become active since yesterday',
);
- my %oldroles = &Apache::lonlocal::texthash (
+ my %oldroles = (
-1 => "roles which expired since start of $lctype",
2592000 => 'roles which expired since last month',
604800 => 'roles which expired since last week',
@@ -194,7 +194,7 @@ sub display_main_box {
);
my %initpage = &Apache::lonlocal::texthash (
firstres => "first resource in the $lctype",
- whatsnew => "what's new? page",
+ whatsnew => "What's New Page",
userpref => 'your general user preferences',
coursespecific => "specific setting for this $lctype",
);
@@ -327,7 +327,7 @@ sub display_actions_box {
my %threshold = ();
my %pagedesc = &Apache::lonlocal::texthash (
firstres => 'First resource',
- whatsnew => "What's New? page",
+ whatsnew => "What's New Page",
userpref => 'user preference',
coursespecific => $lctype.' only',
default => 'default',
@@ -352,15 +352,15 @@ sub display_actions_box {
}
$r->print(&mt('Page set to be displayed after you have selected a role in this '.$lctype).'.'
.' '
- .&mt('Currently: [_1]',$currinit)
- .'. '
-# &mt('Change for just this '.$lctype.'',$refpage).' '.
-# &mt('or for all your courses.',$refpage).'
');
- .&mt('Change for just [_1]this course[_2]'
- .' or for all [_3]your courses[_2].'
+ .&mt('Currently: [_1].',''.$currinit.'')
+ .' '
+ .&mt('[_1]Change[_2] for just [_3]this course[_4] or for all [_5]your courses[_6].'
+ ,''
+ ,''
,''
,''
- ,'')
+ ,''
+ ,'')
.' ');
if ($command eq 'reset') {
@@ -402,13 +402,13 @@ sub display_actions_box {
);
if ($timediff{'versions'} == -1) {
- $headings{'versionchanges'} = 'Resources in '.$lctype.' with version changes since start of '.$lctype;
+ $headings{'versionchanges'} = &mt('Resources in '.$lctype.' with version changes since start of '.$lctype);
} elsif ($timediff{'versions'} == 2592000) {
- $headings{'versionchanges'} = 'Resources in '.$lctype.' with version changes since last month';
+ $headings{'versionchanges'} = &mt('Resources in '.$lctype.' with version changes since last month');
} elsif ($timediff{'versions'} == 604800) {
- $headings{'versionchanges'} = 'Resources in '.$lctype.' with version changes since last week';
+ $headings{'versionchanges'} = &mt('Resources in '.$lctype.' with version changes since last week');
} elsif ($timediff{'versions'} == 86400) {
- $headings{'versionchanges'} = 'Resources in '.$lctype.' with version changes since yesterday';
+ $headings{'versionchanges'} = &mt('Resources in '.$lctype.' with version changes since yesterday');
}
$timediff{'oldroles'} = $display_settings{$cid.':oldroleinterval'};
@@ -416,13 +416,13 @@ sub display_actions_box {
$interval{'oldroles'} = $interval_titles->{'oldroles'}->{$timediff{'oldroles'}};
if ($timediff{'oldroles'} == -1) {
- $headings{'oldroles'} = 'Roles for which access to '.$lctype.' has expired since start of '.$lctype;
+ $headings{'oldroles'} = &mt('Roles for which access to '.$lctype.' has expired since start of '.$lctype);
} elsif ($timediff{'oldroles'} == 2592000) {
- $headings{'oldroles'} = 'Roles for which access to '.$lctype.' has expired since last month';
+ $headings{'oldroles'} = &mt('Roles for which access to '.$lctype.' has expired since last month');
} elsif ($timediff{'oldroles'} == 604800) {
- $headings{'oldroles'} = 'Roles for which access to '.$lctype.' has expired since last week';
+ $headings{'oldroles'} = &mt('Roles for which access to '.$lctype.' has expired since last week');
} elsif ($timediff{'oldroles'} == 86400) {
- $headings{'oldroles'} = 'Roles for which access to '.$lctype.' has expired since yesterday';
+ $headings{'oldroles'} = &mt('Roles for which access to '.$lctype.' has expired since yesterday');
}
$timediff{'newroles'} = $display_settings{$cid.':newroleinterval'};
@@ -430,13 +430,13 @@ sub display_actions_box {
$interval{'newroles'} = $interval_titles->{'newroles'}->{$timediff{'newroles'}};
if ($timediff{'newroles'} == -1) {
- $headings{'newroles'} = 'Roles for which access to '.$lctype.' has become available since start of '.$lctype;
+ $headings{'newroles'} = &mt('Roles for which access to '.$lctype.' has become available since start of '.$lctype);
} elsif ($timediff{'newroles'} == 2592000) {
- $headings{'newroles'} = 'Roles for which access to '.$lctype.' has become available since last month';
+ $headings{'newroles'} = &mt('Roles for which access to '.$lctype.' has become available since last month');
} elsif ($timediff{'newroles'} == 604800) {
- $headings{'newroles'} = 'Roles for which access to '.$lctype.' has become available since last week';
+ $headings{'newroles'} = &mt('Roles for which access to '.$lctype.' has become available since last week');
} elsif ($timediff{'newroles'} == 86400) {
- $headings{'newroles'} = 'Roles for which access to '.$lctype.' has become available since yesterday';
+ $headings{'newroles'} = &mt('Roles for which access to '.$lctype.' has become available since yesterday');
}
my $now = time;
@@ -464,9 +464,9 @@ sub display_actions_box {
}
$headings{'abovethreshold'} =
- &mt('Problems with av. attempts ≥ [_1] or deg. difficulty ≥ [_2] and total number of '.$stulabel{$crstype}.' with submissions ≥ [_3]',
+ &mt('(Problems with av. attempts ≥ [_1] or deg. difficulty ≥ [_2]) [_3] and total number of '.$stulabel{$crstype}.' with submissions ≥ [_4]',
$threshold{'av_attempts'},$threshold{'degdiff'},
- $threshold{'numstudents'});
+ ' ',$threshold{'numstudents'});
my @actionorder = ('handgrading','haserrors','abovethreshold','versionchanges','coursediscussion','coursenormalmail','coursecritmail','newroles','oldroles');
@@ -490,8 +490,9 @@ sub display_actions_box {
}
}
+ my $itemserror;
if ($needitems) {
- &getitems(\%unread,\%ungraded,\%bombed,\%triggered,\%changed,\@newdiscussions,\@tograde,\@bombs,\@warnings,\%threshold,$cdom,$crs,\%res_title,\%show,$starttime,$countunread);
+ $itemserror = &getitems(\%unread,\%ungraded,\%bombed,\%triggered,\%changed,\@newdiscussions,\@tograde,\@bombs,\@warnings,\%threshold,$cdom,$crs,\%res_title,\%show,$starttime,$countunread);
}
if ($show{'coursenormalmail'}) {
$msgcount = &getnormalmail(\@newmsgs);
@@ -533,7 +534,7 @@ sub display_actions_box {
if ($displayed == $halfway) {
$r->print('
');
}
- &display_launcher($r,$actionitem,$refpage,$checkallowed,\%show,\%headings,\%res_title,\@tograde,\%ungraded,\@bombs,\%bombed,\%changed,\@warnings,\%triggered,\@newdiscussions,\%unread,$msgcount,\@newmsgs,$critmsgcount,\@critmsgs,\%interval,$countunread,\%expired,$expirecount,\%activated,$activecount,$crstype);
+ &display_launcher($r,$actionitem,$refpage,$checkallowed,\%show,\%headings,\%res_title,\@tograde,\%ungraded,\@bombs,\%bombed,\%changed,\@warnings,\%triggered,\@newdiscussions,\%unread,$msgcount,\@newmsgs,$critmsgcount,\@critmsgs,\%interval,$countunread,\%expired,$expirecount,\%activated,$activecount,$crstype,$itemserror);
$displayed ++;
}
}
@@ -593,7 +594,7 @@ sub display_threshold_config {
&Apache::loncommon::end_data_table_row());
}
$r->print(&Apache::loncommon::end_data_table()."\n".
- '
+ '
');
@@ -637,19 +638,19 @@ sub display_interval_config {
'.
&mt('Display:').'
');
+ &mt('Save').'" />');
return;
}
@@ -679,7 +680,13 @@ function toggle_countunread(choice) {
document.discussionswitch.submit();
}
');
- $r->print(' '.&mt('Choose whether or not to display a count of the number of new posts for each resource or bulletin board which has unread posts.').' '.&mt("This can increase the time taken to gather data for the 'What's New?' page by a few seconds.").' '.&mt("Currently set to $current."));
+ $r->print(' '
+ .&mt('Choose whether or not to display a count of the number of new posts for each resource or discussion board which has unread posts.')
+ .' '
+ .&mt("This can increase the time taken to gather data for the 'What's New Page' by a few seconds.")
+ .' '
+ .&mt('Currently set to [_1].',''.$current.'.')
+ );
$r->print('
');
@@ -780,23 +787,23 @@ sub display_launcher {
$tograde,$ungraded,$bombs,$bombed,$changed,$warnings,$triggered,
$newdiscussions,$unread,$msgcount,$newmsgs,$critmsgcount,$critmsgs,
$interval,$countunread,$expired,$expirecount,$activated,$activecount,
- $crstype) = @_;
+ $crstype,$itemserror) = @_;
if ($$checkallowed{$action}) {
&start_box($r,$show,$headings,$action,$refpage,$action);
if ($$show{$action}) {
if ($action eq 'handgrading') { # UNGRADED ITEMS
- &display_handgrade($r,$tograde,$ungraded);
+ &display_handgrade($r,$tograde,$ungraded,$itemserror);
} elsif ($action eq 'haserrors') { # BOMBS
- &display_haserrors($r,$bombs,$bombed,$res_title);
+ &display_haserrors($r,$bombs,$bombed,$res_title,$itemserror);
} elsif ($action eq 'versionchanges') { # VERSION CHANGES
- &display_versionchanges($r,$changed,$res_title,$interval->{'versions'});
+ &display_versionchanges($r,$changed,$res_title,$interval->{'versions'},$itemserror);
} elsif ($action eq 'abovethreshold') { # DEGDIFF/AV. TRIES TRIGGERS
&display_abovethreshold($r,$refpage,$warnings,$triggered,
- $res_title);
+ $res_title,$itemserror);
} elsif ($action eq 'coursediscussion') { # UNREAD COURSE DISCUSSION
&display_coursediscussion($r,$newdiscussions,$unread,
- $countunread,$res_title);
+ $countunread,$res_title,$itemserror);
} elsif ($action eq 'coursenormalmail') { # NORMAL MESSAGES
&display_coursenormalmail($r,$msgcount,$newmsgs);
} elsif ($action eq 'coursecritmail') { # CRITICAL MESSAGES
@@ -819,6 +826,10 @@ sub getitems {
$tograde,$bombs,$warnings,$threshold,$cdom,$crs,$res_title,$show,
$starttime,$countunread) = @_;
my $navmap = Apache::lonnavmaps::navmap->new();
+ if (!defined($navmap)) {
+ my $itemserror = ''.&mt('An error occurred retrieving information about the course.').' '.&mt('It is recommended that you [_1]re-select the course[_2].','','').'';
+ return $itemserror;
+ }
# force retrieve Resource to seed the part id cache we'll need it later
my @allres=$navmap->retrieveResources(undef,
sub {if ($_[0]->is_problem) { $_[0]->parts();} return 1;});
@@ -877,6 +888,7 @@ sub getitems {
}
}
+ return;
}
sub check_discussions {
@@ -1222,8 +1234,8 @@ sub getactivated {
if (ref($changes{$chg}) eq 'HASH') {
my $timestamp = $changes{$chg}{'exe_time'};
if ($timestamp) {
- if ($rolechgtime > -1) {
- if ($now - $rolechgtime < $timestamp) {
+ if ($rolechgtime > 0) {
+ if ($timestamp < $rolechgtime) {
last;
}
}
@@ -1440,7 +1452,7 @@ sub checkversions {
}
sub display_handgrade {
- my ($r,$tograde,$ungraded) = @_;
+ my ($r,$tograde,$ungraded,$itemserror) = @_;
my %lt = &Apache::lonlocal::texthash(
'prna' => 'Problem Name',
'nmun' => 'Number ungraded',
@@ -1463,13 +1475,15 @@ sub display_handgrade {
}
$r->print('
');
}
return;
}
sub display_coursediscussion {
- my ($r,$newdiscussions,$unread,$countunread,$res_title) = @_;
+ my ($r,$newdiscussions,$unread,$countunread,$res_title,$itemserror) = @_;
my $lctype = lc(&Apache::loncommon::course_type());
my %lt = &Apache::lonlocal::texthash(
'loca' => 'Location',
@@ -1681,7 +1699,7 @@ sub display_coursediscussion {
my $feedurl=&Apache::lonfeedback::get_feedurl($ressymb);
my $disclink = $feedurl.'?symb='.$$unread{$ressymb}{symb};
if ($feedurl =~ /bulletinboard/) {
- $type = 'Bulletin Board';
+ $type = 'Discussion Board';
}
if ($$unread{$ressymb}{'enclink'}) {
$disclink = $$unread{$ressymb}{'enclink'}.'?symb='.$$unread{$ressymb}{'encsymb'};
@@ -1699,6 +1717,8 @@ sub display_coursediscussion {
}
$r->print("\n");
}
+ } elsif ($itemserror) {
+ $r->print('
'.$itemserror.'
');
} else {
$r->print('
'.$lt{'noun'}.'
');
}
@@ -1877,9 +1897,10 @@ sub store_courseinit_setting {
\%courseinit_settings,$udom,$uname);
if ($outcome eq 'ok') {
if ($page_control eq 'global preferences') {
- $result = &mt("Page displayed after role selection in $lctype now set by user's global preferences.");
+ $result = &mt("Page displayed after role selection in $lctype now set by [_1]user's global preferences[_2].",'','');
} else {
- $result = &mt('Page displayed after role selection in this '.$lctype.' set to [_2]',$lctype,$$initpage{$env{'form.courseinit_page'}});
+ $result = &mt('Page displayed after role selection in this '.$lctype.' set to [_1].'
+ ,''.$$initpage{$env{'form.courseinit_page'}}.'');
}
} else {
&Apache::lonnet::logthis('Error saving whatsnew courseinit '.
@@ -1891,8 +1912,10 @@ sub store_courseinit_setting {
''.$page_control.'',
''.$outcome.'. ');
} else {
- $result = &mt('Unable to set page display, after role selection, for this '.$lctype.' to [_2] due to [_3]. ',
- $$initpage{$env{'form.courseinit_page'}},$outcome);
+ $result = &mt('Unable to set page display, after role selection, for this '.$lctype.' to [_1] due to [_2].'
+ ,''.$$initpage{$env{'form.courseinit_page'}}.''
+ ,''.$outcome.'')
+ .' ';
}
}
}