version 1.119, 2016/10/16 23:19:59
|
version 1.125, 2017/09/13 23:35:07
|
Line 62 sub handler {
|
Line 62 sub handler {
|
my $command = $env{'form.command'}; |
my $command = $env{'form.command'}; |
my $refpage = $env{'form.refpage'}; |
my $refpage = $env{'form.refpage'}; |
|
|
my %checkallowed = ( coursenormalmail => 1, |
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
coursecritmail => 1, ); |
my $crs = $env{'course.'.$env{'request.course.id'}.'.num'}; |
|
|
|
my ($isadhoc,%checkallowed); |
|
|
|
if ($env{'request.role'} =~ m{^(cc|co)/}) { |
|
my $rolecode = $1; |
|
if ($env{"environment.internal.$cdom.$crs.$env{'request.role'}.adhoc"}) { |
|
$isadhoc = 1; |
|
} |
|
} elsif ($env{'request.role'} =~ m{^cr/$cdom/$cdom\-domainconfig/(\w+)\./}) { |
|
my $rolename = $1; |
|
if ($env{"environment.internal.$cdom.$crs.cr/$cdom/$cdom-domainconfig/$rolename.adhoc"}) { |
|
$isadhoc = 1; |
|
} |
|
} |
|
unless ($isadhoc) { |
|
%checkallowed = ( coursenormalmail => 1, |
|
coursecritmail => 1,); |
|
} |
foreach my $perm_check (['whn','whatsnew',1], |
foreach my $perm_check (['whn','whatsnew',1], |
['pch','coursediscussion',1], |
['pch','coursediscussion',1], |
['mgr','handgrading',1], |
['mgr','handgrading',1], |
['vgr','abovethreshold',1], |
['vgr','abovethreshold',1], |
['opa','haserrors',1], |
['vgr','haserrors',1], |
['mdc','versionchanges',0], |
['whn','versionchanges',1], |
['vcl','newroles',1], |
['vcl','newroles',1], |
['vcl','oldroles',1], |
['vcl','oldroles',1], |
['whn','crslogin',1], |
['whn','crslogin',1], |
Line 157 sub handler {
|
Line 175 sub handler {
|
("What's New?",#'Course_Action_Items_Display' |
("What's New?",#'Course_Action_Items_Display' |
)); |
)); |
} |
} |
&display_main_box($r,$command,$refpage,\%checkallowed); |
&display_main_box($r,$command,$refpage,\%checkallowed,$cdom,$crs); |
return OK; |
return OK; |
} |
} |
|
|
Line 168 sub handler {
|
Line 186 sub handler {
|
#------------------------------ |
#------------------------------ |
|
|
sub display_main_box { |
sub display_main_box { |
my ($r,$command,$refpage,$checkallowed) = @_; |
my ($r,$command,$refpage,$checkallowed,$cdom,$crs) = @_; |
my $domain=&Apache::loncommon::determinedomain(); |
my $domain=&Apache::loncommon::determinedomain(); |
my $function = &Apache::loncommon::get_users_function(); |
my $function = &Apache::loncommon::get_users_function(); |
my $lctype = lc(&Apache::loncommon::course_type()); |
my $lctype = lc(&Apache::loncommon::course_type()); |
Line 215 sub display_main_box {
|
Line 233 sub display_main_box {
|
userpref => 'your general user preferences', |
userpref => 'your general user preferences', |
coursespecific => "specific setting for this $lctype", |
coursespecific => "specific setting for this $lctype", |
); |
); |
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
|
my $crs = $env{'course.'.$env{'request.course.id'}.'.num'}; |
|
|
|
if (($command eq 'chgthreshold') |
if (($command eq 'chgthreshold') |
&& $checkallowed->{'abovethreshold'}) { |
&& $checkallowed->{'abovethreshold'}) { |
&display_threshold_config($r,$refpage,\%threshold_titles, |
&display_threshold_config($r,$refpage,\%threshold_titles,$cdom,$crs); |
$cdom,$crs); |
|
} elsif (($command eq 'chginterval') |
} elsif (($command eq 'chginterval') |
&& $checkallowed->{'versionchanges'}) { |
&& $checkallowed->{'versionchanges'}) { |
&display_interval_config($r,$refpage,\%interval_titles,'versions'); |
&display_interval_config($r,$refpage,\%interval_titles,'versions'); |
Line 574 sub display_actions_box {
|
Line 589 sub display_actions_box {
|
'<br />',$threshold{'numstudents'}); |
'<br />',$threshold{'numstudents'}); |
|
|
my @actionorder = ('handgrading','haserrors','abovethreshold','versionchanges','coursediscussion','coursenormalmail','coursecritmail','newroles','oldroles','crslogin'); |
my @actionorder = ('handgrading','haserrors','abovethreshold','versionchanges','coursediscussion','coursenormalmail','coursecritmail','newroles','oldroles','crslogin'); |
|
my %actioncolumn = ( |
|
handgrading => 'left', |
|
haserrors => 'left', |
|
abovethreshold => 'left', |
|
versionchanges => 'left', |
|
coursediscussion => 'right', |
|
coursenormalmail => 'right', |
|
coursecritmail => 'right', |
|
newroles => 'right', |
|
oldroles => 'right', |
|
crslogin => 'right', |
|
); |
|
|
foreach my $key (keys(%{$checkallowed})) { |
foreach my $key (keys(%{$checkallowed})) { |
if ($key =~ /_section$/) { next; } |
if ($key =~ /_section$/) { next; } |
Line 639 sub display_actions_box {
|
Line 666 sub display_actions_box {
|
$totalboxes ++; |
$totalboxes ++; |
} |
} |
} |
} |
my $halfway = 4; |
my $currcolumn = 'left'; |
# my $halfway = int($totalboxes/2) + $totalboxes%2; |
# my $halfway = int($totalboxes/2) + $totalboxes%2; |
foreach my $actionitem (@actionorder) { |
foreach my $actionitem (@actionorder) { |
if ($$checkallowed{$actionitem}) { |
if ($checkallowed->{$actionitem}) { |
if ($displayed == $halfway) { |
if (($actioncolumn{$actionitem} eq 'right') && ($currcolumn eq 'left')) { |
$r->print('</td><td> </td><td class="LC_right_col" >'); |
$r->print('</td><td> </td><td class="LC_right_col" >'); |
|
$currcolumn = 'right'; |
} |
} |
&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,\%loggedin,$logincount,$classlist); |
&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,\%loggedin,$logincount,$classlist); |
$displayed ++; |
$displayed ++; |
Line 1145 sub check_thresholds {
|
Line 1173 sub check_thresholds {
|
<td>'.$stats{$part}{attempts}.'</td> |
<td>'.$stats{$part}{attempts}.'</td> |
<td>'.$stats{$part}{degdiff}.'</td> |
<td>'.$stats{$part}{degdiff}.'</td> |
<td>'.$lastreset{$part}.'</td>'; |
<td>'.$lastreset{$part}.'</td>'; |
if ($checkallowed->{'resetcounters'}) { |
if ($checkallowed->{'resetcounters'}) { |
$$triggered{$symb}{text}[$partcount] .= |
$$triggered{$symb}{text}[$partcount] .= |
'<td><input type="checkbox" name="'.$resetname.'" />'. |
'<td><input type="checkbox" name="'.$resetname.'" />'. |
'<input type="hidden" name="'.$resettitle.'" value="'.&escape($$triggered{$symb}{title}).'" /></td>'; |
'<input type="hidden" name="'.$resettitle.'" value="'.&escape($$triggered{$symb}{title}).'" /></td>'; |
} |
} |
Line 1213 sub get_current {
|
Line 1241 sub get_current {
|
sub process_reset { |
sub process_reset { |
my ($dom,$crs,$checkallowed) = @_; |
my ($dom,$crs,$checkallowed) = @_; |
if (!$checkallowed->{'resetcounters'}) { |
if (!$checkallowed->{'resetcounters'}) { |
return '<b>'.&mt('You do not the required privileges to reset counters'). |
return '<b>'.&mt('You do not have the required privileges to reset counters'). |
'</b><br />'; |
'</b><br />'; |
} |
} |
my $result = '<b>'.&mt('Counters reset for following problems (and parts):'). |
my $result = '<b>'.&mt('Counters reset for following problems (and parts):'). |
'</b><br />'; |
'</b><br />'; |
Line 1297 sub getnormalmail {
|
Line 1325 sub getnormalmail {
|
if ($emailstatus{$msgid} eq 'new') { |
if ($emailstatus{$msgid} eq 'new') { |
$skipstatus = 1; |
$skipstatus = 1; |
} |
} |
|
my $esc_msgid = &escape($msgid); |
my ($sendtime,$shortsubj,$fromname,$fromdom,$status,$fromcid)= |
my ($sendtime,$shortsubj,$fromname,$fromdom,$status,$fromcid)= |
&Apache::lonmsg::unpackmsgid($msgid,undef,$skipstatus,undef, |
&Apache::lonmsg::unpackmsgid($esc_msgid,undef,$skipstatus,undef, |
$env{'request.course.id'}); |
$env{'request.course.id'}); |
if (($fromcid) && ($fromcid eq $env{'request.course.id'})) { |
if (($fromcid) && ($fromcid eq $env{'request.course.id'})) { |
if (defined($sendtime) && $sendtime!~/error/) { |
if (defined($sendtime) && $sendtime!~/error/) { |
Line 1309 sub getnormalmail {
|
Line 1338 sub getnormalmail {
|
$shortsubj = &mt('No subject'); |
$shortsubj = &mt('No subject'); |
} |
} |
push(@{$newmsgs}, { |
push(@{$newmsgs}, { |
msgid => $msgid, |
msgid => $esc_msgid, |
sendtime => $sendtime, |
sendtime => $sendtime, |
shortsub => $shortsubj, |
shortsub => $shortsubj, |
from => $fromname, |
from => $fromname, |
Line 1330 sub getcritmail {
|
Line 1359 sub getcritmail {
|
my $result = ''; |
my $result = ''; |
my $critmsgcount = 0; |
my $critmsgcount = 0; |
foreach my $msgid (sort(keys(%what))) { |
foreach my $msgid (sort(keys(%what))) { |
|
my $esc_msgid = &escape($msgid); |
my ($sendtime,$shortsubj,$fromname,$fromdom,$status,$fromcid)= |
my ($sendtime,$shortsubj,$fromname,$fromdom,$status,$fromcid)= |
&Apache::lonmsg::unpackmsgid($msgid,undef,1,undef, |
&Apache::lonmsg::unpackmsgid($esc_msgid,undef,1,undef, |
$env{'request.course.id'}); |
$env{'request.course.id'}); |
if (($fromcid) && ($fromcid eq $env{'request.course.id'})) { |
if (($fromcid) && ($fromcid eq $env{'request.course.id'})) { |
if (defined($sendtime) && $sendtime!~/error/) { |
if (defined($sendtime) && $sendtime!~/error/) { |
Line 1341 sub getcritmail {
|
Line 1371 sub getcritmail {
|
$shortsubj = &mt('No subject'); |
$shortsubj = &mt('No subject'); |
} |
} |
push(@{$critmsgs}, { |
push(@{$critmsgs}, { |
msgid => $msgid, |
msgid => $esc_msgid, |
sendtime => $sendtime, |
sendtime => $sendtime, |
shortsub => $shortsubj, |
shortsub => $shortsubj, |
from => $fromname, |
from => $fromname, |
Line 1741 sub display_abovethreshold {
|
Line 1771 sub display_abovethreshold {
|
} |
} |
} |
} |
} |
} |
if ($checkallowed->{'resetcounters'}) { |
if ($checkallowed->{'resetcounters'}) { |
$r->print('<tr class="LC_info_row"><td colspan="7" class="LC_right_item"><br /><input type="button" name="counters" value="'.$lt{'rese'}.'" onclick="javascript:thresholdreset();" /></td></tr>'); |
$r->print('<tr class="LC_info_row"><td colspan="7" class="LC_right_item"><br /><input type="button" name="counters" value="'.$lt{'rese'}.'" onclick="javascript:thresholdreset();" /></td></tr>'); |
} |
} |
} elsif ($itemserror) { |
} elsif ($itemserror) { |