--- loncom/homework/lonhomework.pm 2002/03/29 18:32:46 1.74
+++ loncom/homework/lonhomework.pm 2002/07/29 20:40:34 1.83
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# The LON-CAPA Homework handler
#
-# $Id: lonhomework.pm,v 1.74 2002/03/29 18:32:46 albertel Exp $
+# $Id: lonhomework.pm,v 1.83 2002/07/29 20:40:34 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -28,6 +28,7 @@
# Guy Albertelli
# 11/30 Gerd Kortemeyer
# 6/1,8/17,8/18 Gerd Kortemeyer
+# 7/18 Jeremy Bowers
package Apache::lonhomework;
use strict;
@@ -41,8 +42,15 @@ use Apache::randomlabel();
use Apache::response();
use Apache::hint();
use Apache::outputtags();
+use Apache::caparesponse();
+use Apache::radiobuttonresponse();
+use Apache::optionresponse();
+use Apache::imageresponse();
+use Apache::essayresponse();
+use Apache::externalresponse();
use Apache::Constants qw(:common);
use HTML::Entities();
+use Apache::loncommon();
#use Time::HiRes qw( gettimeofday tv_interval );
BEGIN {
@@ -80,7 +88,11 @@ sub get_target {
}
} elsif ( $ENV{'form.problemmode'} eq 'Edit' ) {
if ( $ENV{'form.submitted'} eq 'edit' ) {
- return ('modified','edit');
+ if ( $ENV{'form.submit'} eq 'Submit Changes and View' ) {
+ return ('modified','web','answer');
+ } else {
+ return ('modified','edit');
+ }
} else {
return ('edit');
}
@@ -192,21 +204,29 @@ sub check_access {
sub showhash {
my (%hash) = @_;
+ &showhashsubset(\%hash,'');
+ return '';
+}
+
+sub showhashsubset {
+ my ($hash,$keyre) = @_;
my $resultkey;
- foreach $resultkey (sort keys %hash) {
- if (ref($hash{$resultkey})) {
- if ($hash{$resultkey} =~ /ARRAY/ ) {
- my $string="$resultkey ---- (";
- foreach my $elm (@{ $hash{$resultkey} }) {
- $string.="$elm,";
+ foreach $resultkey (sort keys %$hash) {
+ if ($resultkey =~ /$keyre/) {
+ if (ref($$hash{$resultkey})) {
+ if ($$hash{$resultkey} =~ /ARRAY/ ) {
+ my $string="$resultkey ---- (";
+ foreach my $elm (@{ $$hash{$resultkey} }) {
+ $string.="$elm,";
+ }
+ chop($string);
+ &Apache::lonxml::debug("$string)");
+ } else {
+ &Apache::lonxml::debug("$resultkey ---- $$hash{$resultkey}");
}
- chop($string);
- &Apache::lonxml::debug("$string)");
} else {
- &Apache::lonxml::debug("$resultkey ---- $hash{$resultkey}");
+ &Apache::lonxml::debug("$resultkey ---- $$hash{$resultkey}");
}
- } else {
- &Apache::lonxml::debug("$resultkey ---- $hash{$resultkey}");
}
}
&Apache::lonxml::debug("\n
restored values^\n");
@@ -296,22 +316,32 @@ sub editxmlmode {
\$ENV{'form.editxmltext'});
if (!$error) { $problem=&Apache::lonnet::getfile($file); }
}
- my ($rows,$cols) = &Apache::edit::textarea_sizes(\$problem);
- if ($cols > 80) { $cols = 80; }
- $result.='