--- loncom/interface/lonparmset.pm 2007/11/02 23:30:56 1.385 +++ 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.385 2007/11/02 23:30:56 albertel Exp $ +# $Id: lonparmset.pm,v 1.389 2008/01/22 22:37:18 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2599,8 +2599,8 @@ sub parse_listdata_key { $realm=~s/\.type//; } # split into resource+part and parameter name - my ($res, $parm) = ($realm=~/^(.*)\.(.*)$/); - my ($res, $part) = ($res =~/^(.*)\.(.*)$/); + my ($res, $parm) = ($realm=~/^(.*)\.(.*)$/); + ($res, my $part) = ($res =~/^(.*)\.(.*)$/); return ($student,$res,$part,$parm); } @@ -2752,7 +2752,6 @@ sub listdata { sub date_interval_selector { my ($thiskey, $showval) = @_; my $result; - &Apache::lonnet::logthis($showval); foreach my $which (['days', 86400, 31], ['hours', 3600, 23], ['minutes', 60, 59], @@ -2760,7 +2759,6 @@ sub date_interval_selector { my ($name, $factor, $max) = @{ $which }; my $amount = int($showval/$factor); $showval %= $factor; - &Apache::lonnet::logthis("$amount $factor $showval"); my %select = ((map {$_ => $_} (0..$max)), 'select_form_order' => [0..$max]); $result .= &Apache::loncommon::select_form($amount,$name.'_'.$thiskey, @@ -2800,6 +2798,7 @@ my %strings = [ 'no', 'No' ]], 'string_problemstatus' => [[ 'yes', 'Yes' ], + [ 'answer', 'Yes, and show correct answer if they exceed the maxium number of tries.' ], [ 'no', 'No, don\'t show correct/incorrect feedback.' ], [ 'no_feedback_ever', 'No, show no feedback at all.' ]], ); @@ -2825,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) = @_;