--- loncom/homework/lonhomework.pm 2003/05/19 21:05:23 1.130 +++ loncom/homework/lonhomework.pm 2003/05/23 06:45:45 1.132 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Homework handler # -# $Id: lonhomework.pm,v 1.130 2003/05/19 21:05:23 albertel Exp $ +# $Id: lonhomework.pm,v 1.132 2003/05/23 06:45:45 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -399,7 +399,6 @@ sub analyze { my $subresult=&Apache::lonnet::ssi($request->uri, ('grade_target' => 'analyze'), ('rndseed' => $i+$rndseed)); - &Apache::lonxml::debug(":$subresult:"); (my $garbage,$subresult)=split(/_HASH_REF__/,$subresult,2); my %analyze=&Apache::lonnet::str2hash($subresult); my @parts; @@ -420,14 +419,16 @@ sub analyze { 'Analyzing Results'); foreach my $part (keys(%allparts)) { if (defined(@{ $overall{$part.'.answer'} })) { - $request->print(''); + my $num_cols=scalar(@{ $overall{$part.'.answer'}->[0] }); + $request->print('
Part '.$part.'
'); my %frequency; foreach my $answer (sort {$a->[0] <=> $b->[0]} (@{ $overall{$part.'.answer'} })) { - $frequency{join('\0',@{ $answer })}++; + $frequency{join("\0",@{ $answer })}++; } - foreach my $answer (sort {(split('\0',$a))[0] <=> (split('\0',$b))[0]} (keys(%frequency))) { - $request->print(''); + foreach my $answer (sort {(split("\0",$a))[0] <=> (split("\0",$b))[0]} (keys(%frequency))) { + $request->print(''); } @@ -572,6 +573,7 @@ sub newproblem { my $extension=$request->uri; $extension=~s:^.*\.([\w]+)$:$1:; &Apache::lonxml::debug("Looking for :$extension:"); + my $templatelist=&get_template_list('',$extension); if ($ENV{'form.template'} && $ENV{'form.template'} ne "Select a $extension template") { use File::Copy; @@ -579,8 +581,16 @@ sub newproblem { my $dest = &Apache::lonnet::filelocation("",$request->uri); copy($file,$dest); &renderpage($request,$dest); + } elsif($ENV{'form.newfile'} && !$templatelist) { + # I don't like hard-coded filenames but for now, this will work. + use File::Copy; + my $templatefilename = + $request->dir_config('lonIncludes').'/templates/blank.problem'; + &Apache::lonxml::debug("$templatefilename"); + my $dest = &Apache::lonnet::filelocation("",$request->uri); + copy($templatefilename,$dest); + &renderpage($request,$dest); } else { - my $templatelist=&get_template_list('',$extension); my $url=$request->uri; my $dest = &Apache::lonnet::filelocation("",$request->uri); my $errormsg;
Part '.$part.'
'. - join('',split('\0',$answer)). + $request->print('
AnswerFrequency
'. + join('',split("\0",$answer)). '('.$frequency{$answer}. ')