--- loncom/html/adm/helper/resettimes.helper 2012/04/01 16:12:42 1.9
+++ loncom/html/adm/helper/resettimes.helper 2016/03/17 15:10:10 1.10
@@ -81,7 +81,35 @@
$result.="Removing access time from ".
$title.": ".$res.'
';
if ($res eq 'ok') {
- &Apache::lonnet::del('timerinterval',[$key],$udom,$uname);
+ if ($symb ne 'course') {
+ my $what = [];
+ my ($storeunder,@recurseup,$recursed);
+ my $mapp = &Apache::lonnet::deversion((
+ &Apache::lonnet::decode_symb($symb))[2]);
+ if ($symb =~ /\.(page|sequence)$/) {
+ $storeunder = $env{'request.course.id'}.'.'.$mapp.'___(all).0.interval';
+ $what = [$storeunder,'map'];
+ } else {
+ $storeunder = $env{'request.course.id'}.'.'.$symb.'.0.interval';
+ $what = [$storeunder,'resource'];
+ }
+ &Apache::lonnet::del('timerinterval',[$key],$udom,$uname);
+ my $userreply=&Apache::lonnet::resdata($uname,$udom,'user',$mapp,
+ \$recursed,\@recurseup,
+ $env{'request.course.id'},
+ '.','0.interval',($what));
+ if (ref($userreply) eq 'ARRAY') {
+ if ($userreply->[0] =~ /^\d+$/) {
+ if (($userreply->[1] eq 'map') || ($userreply->[1] eq 'resource')) {
+ my %storecontent=($storeunder => $userreply->[0],
+ $storeunder.'.type' => 'date_interval');
+ &Apache::lonnet::del
+ ('resourcedata',[keys(%storecontent)],$udom,$uname);
+ &Apache::lonparmset::log_parmset(\%storecontent,1,$uname,$udom);
+ }
+ }
+ }
+ }
}
}
$result=~s/$//;
@@ -133,6 +161,17 @@
my $symb=$helper->{'VARS'}{'res2'};
my $key=$env{'request.course.id'}."\0".$symb;
my @names=split(/\|\|\|/,$helper->{'VARS'}{'stu1'});
+ my $what = [];
+ my ($storeunder,@recurseup,$recursed);
+ my $mapp = &Apache::lonnet::deversion((
+ &Apache::lonnet::decode_symb($symb))[2]);
+ if ($symb =~ /\.(page|sequence)$/) {
+ $storeunder = $env{'request.course.id'}.'.'.$mapp.'___(all).0.interval';
+ $what = [$storeunder,'map'];
+ } else {
+ $storeunder = $env{'request.course.id'}.'.'.$symb.'.0.interval';
+ $what = [$storeunder,'resource'];
+ }
foreach my $name (@names) {
my ($uname,$udom,$sec,$fullname)=split(':',$name);
if (!$fullname) { $fullname="$uname\@$udom"; }
@@ -150,6 +189,21 @@
if ($delres eq 'ok') {
&Apache::lonnet::del('timerinterval',
[$key],$udom,$uname);
+ my $userreply=&Apache::lonnet::resdata($uname,$udom,'user',$mapp,
+ \$recursed,\@recurseup,
+ $env{'request.course.id'},
+ '.','0.interval',($what));
+ if (ref($userreply) eq 'ARRAY') {
+ if ($userreply->[0] =~ /^\d+$/) {
+ if (($userreply->[1] eq 'map') || ($userreply->[1] eq 'resource')) {
+ my %storecontent=($storeunder => $userreply->[0],
+ $storeunder.'.type' => 'date_interval');
+ my $reply = &Apache::lonnet::del
+ ('resourcedata',[keys(%storecontent)],$udom,$uname);
+ &Apache::lonparmset::log_parmset(\%storecontent,1,$uname,$udom);
+ }
+ }
+ }
}
}
$result.="\n";