--- loncom/interface/lonparmset.pm 2007/12/01 03:45:17 1.388 +++ loncom/interface/lonparmset.pm 2008/01/22 22:37:18 1.389 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.388 2007/12/01 03:45:17 albertel Exp $ +# $Id: lonparmset.pm,v 1.389 2008/01/22 22:37:18 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2824,6 +2824,33 @@ sub string_selector { return $result; } +# +# Shift all start and end dates by $shift +# + +sub dateshift { + my ($shift)=@_; + my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'}; + my $crs = $env{'course.'.$env{'request.course.id'}.'.num'}; + my %data=&Apache::lonnet::dump('resourcedata',$dom,$crs); +# ugly retro fix for broken version of types + foreach my $key (keys %data) { + if ($key=~/\wtype$/) { + my $newkey=$key; + $newkey=~s/type$/\.type/; + $data{$newkey}=$data{$key}; + delete $data{$key}; + } + } +# go through all parameters and look for dates + foreach my $key (keys %data) { + if ($data{$key.'.type'}=~/^date_(start|end)$/) { + my $newdate=$data{$key}+$shift; + &Apache::lonnet::put('resourcedata',{$key => $newdate},$dom,$crs); + } + } +} + sub newoverview { my ($r) = @_;