--- loncom/homework/lonhomework.pm 2007/04/07 00:12:42 1.267
+++ loncom/homework/lonhomework.pm 2007/08/24 21:13:53 1.271
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# The LON-CAPA Homework handler
#
-# $Id: lonhomework.pm,v 1.267 2007/04/07 00:12:42 albertel Exp $
+# $Id: lonhomework.pm,v 1.271 2007/08/24 21:13:53 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -188,7 +188,6 @@ sub proctor_checked_in {
return 0;
}
-$Apache::lonxml::browse='';
sub check_ip_acc {
my ($acc)=@_;
&Apache::lonxml::debug("acc is $acc");
@@ -861,10 +860,18 @@ sub editxmlmode {
if ($cols > 80) { $cols = 80; }
if ($cols < 70) { $cols = 70; }
if ($rows < 20) { $rows = 20; }
+ my $js =
+ &Apache::edit::js_change_detection().
+ &Apache::loncommon::resize_textarea_js();
+ my $only_body = ($env{'environment.remote'} eq 'off')? 0 : 1;
my $start_page =
- &Apache::loncommon::start_page(&mt("EditXML [_1]",$file),
- &Apache::edit::js_change_detection(),
- {'no_auto_mt_title' => 1,});
+ &Apache::loncommon::start_page(&mt("EditXML [_1]",$file),$js,
+ {'no_auto_mt_title' => 1,
+ 'only_body' => $only_body,
+ 'add_entries' => {
+ 'onresize' => q[resize_textarea('LC_editxmltext','LC_aftertextarea')],
+ 'onload' => q[resize_textarea('LC_editxmltext','LC_aftertextarea')],
+ }});
$result.=$start_page.
&renderpage($request,$file,['no_output_web'],1).
@@ -881,10 +888,14 @@ sub editxmlmode {
' . $xml_help . '
-
-
-
+
+
+
+
+
'.&Apache::loncommon::end_page();
&Apache::lonxml::add_messages(\$result);
$request->print($result);
@@ -901,6 +912,7 @@ sub renderpage {
my @targets = @{$targets || [&get_target()]};
&Apache::lonhomework::showhashsubset(\%env,'form.');
&Apache::lonxml::debug("Running targets ".join(':',@targets));
+
my $overall_result;
foreach my $target (@targets) {
# FIXME need to do something intelligent when a problem goes
@@ -977,7 +989,9 @@ sub get_template_list {
my @allnames;
&Apache::lonxml::debug("Looking for :$extension:");
foreach my $file () {
+ &Apache::lonxml::debug("Looking at $file");
my $name=&Apache::lonnet::metadata($file,'title');
+ &Apache::lonxml::debug("Got a name $name");
if ($namewanted && ($name eq $namewanted)) {
$result=$file;
last;
@@ -1047,6 +1061,24 @@ $errormsg
return '';
}
+sub update_construct_style {
+ if ($env{'request.state'} eq "construct"
+ && $env{'form.problemmode'} eq &mt('View')
+ && defined($env{'form.submitted'})
+ && !defined($env{'form.resetdata'})
+ && !defined($env{'form.newrandomization'})) {
+ if ((!$env{'form.style_file'} && $env{'construct.style'})
+ ||$env{'form.clear_style_file'}) {
+ &Apache::lonnet::delenv('construct\\.style');
+ } elsif ($env{'form.style_file'}
+ && $env{'construct.style'} ne $env{'form.style_file'}) {
+ &Apache::lonnet::appenv('construct.style' =>
+ $env{'form.style_file'});
+ }
+ }
+}
+
+
sub handler {
#my $t0 = [&gettimeofday()];
my $request=$_[0];
@@ -1097,6 +1129,7 @@ sub handler {
} elsif ($env{'form.problemmode'} eq &mt('Calculate answers')) {
&analyze($request,$file);
} else {
+ &update_construct_style();
&renderpage($request,$file);
}
} else {