version 1.16, 2000/11/21 18:39:35
|
version 1.17, 2000/11/30 16:20:49
|
Line 1
|
Line 1
|
# The LON-CAPA Homework handler |
# The LON-CAPA Homework handler |
# Guy Albertelli |
# Guy Albertelli |
|
# 11/30 Gerd Kortemeyer |
|
|
package Apache::lonhomework; |
package Apache::lonhomework; |
use strict; |
use strict; |
Line 11 use Apache::structuretags;
|
Line 12 use Apache::structuretags;
|
use Apache::response; |
use Apache::response; |
|
|
|
|
sub handler { |
sub subhandler { |
my $request=shift; |
my ($target,$problem)=@_; |
|
|
my $target=&get_target(); |
|
$Apache::lonxml::debug=1; |
|
if ($ENV{'browser.mathml'}) { |
|
$request->content_type('text/xml'); |
|
} else { |
|
$request->content_type('text/html'); |
|
} |
|
$request->send_http_header; |
|
return 'OK' if $request->header_only; |
|
|
|
&Apache::lonhomework::send_header($request); |
|
my $file = &Apache::lonnet::filelocation("",$request->uri); |
|
my %mystyle; |
my %mystyle; |
my $result = ''; |
my $result = ''; |
&Apache::inputtags::initialize_inputtags; |
&Apache::inputtags::initialize_inputtags; |
Line 40 sub handler {
|
Line 28 sub handler {
|
&Apache::lonxml::debug("$resultkey ---- $Apache::lonhomework::history{$resultkey}"); |
&Apache::lonxml::debug("$resultkey ---- $Apache::lonhomework::history{$resultkey}"); |
} |
} |
&Apache::lonxml::debug("\n<br>restored values^</br>\n"); |
&Apache::lonxml::debug("\n<br>restored values^</br>\n"); |
|
|
my $problem=&Apache::lonnet::getfile($file); |
|
if ($problem == -1) { |
|
&Apache::lonxml::error("<b> Unable to find <i>$file</i></b>"); |
|
$problem=''; |
|
} |
|
my $default=&Apache::lonnet::getfile('/home/httpd/html/res/adm/includes/default_homework.lcpm'); |
my $default=&Apache::lonnet::getfile('/home/httpd/html/res/adm/includes/default_homework.lcpm'); |
if ($default == -1) { |
if ($default == -1) { |
&Apache::lonxml::error("<b>Unable to find <i>$file</i></b>"); |
&Apache::lonxml::error("<b>Unable to find <i>default_homework.lcpm</i></b>"); |
$default=''; |
$default=''; |
} |
} |
|
|
$result = Apache::lonxml::xmlparse($target, $problem, |
return Apache::lonxml::xmlparse($target, $problem, |
$default.&setup_vars($target),%mystyle); |
$default.&setup_vars($target),%mystyle); |
#$request->print("Result follows:"); |
|
$request->print($result); |
|
#$request->print(":Result ends"); |
|
|
|
foreach $resultkey (sort keys %Apache::lonhomework::results) { |
|
&Apache::lonxml::debug("$resultkey ---- $Apache::lonhomework::results{$resultkey}"); |
|
} |
|
&Apache::lonxml::debug("\n<br>storing values^</br>\n"); |
|
|
|
&Apache::lonhomework::send_footer($request); |
|
($temp) = keys %Apache::lonhomework::results; |
|
if ( $temp ne '' ) { |
|
&Apache::lonxml::debug("Store return message:".&Apache::lonnet::cstore(%Apache::lonhomework::results)); |
|
} |
|
return 'OK'; |
|
} |
} |
|
|
sub get_target { |
sub get_target { |
Line 119 sub getfilenothere {
|
Line 86 sub getfilenothere {
|
return $a |
return $a |
} |
} |
|
|
|
sub handler { |
|
my $request=shift; |
|
|
|
$Apache::lonxml::debug=1; |
|
if ($ENV{'browser.mathml'}) { |
|
$request->content_type('text/xml'); |
|
} else { |
|
$request->content_type('text/html'); |
|
} |
|
$request->send_http_header; |
|
return 'OK' if $request->header_only; |
|
|
|
&Apache::lonhomework::send_header($request); |
|
my $file=&Apache::lonnet::filelocation("",$request->uri); |
|
my $problem=&Apache::lonnet::getfile($file); |
|
if ($problem == -1) { |
|
&Apache::lonxml::error("<b> Unable to find <i>$file</i></b>"); |
|
$problem=''; |
|
} |
|
|
|
my $result=&subhandler(&get_target(),$problem); |
|
|
|
#$request->print("Result follows:"); |
|
$request->print($result); |
|
#$request->print(":Result ends"); |
|
|
|
my $temp; |
|
my $resultkey; |
|
foreach $resultkey (sort keys %Apache::lonhomework::results) { |
|
&Apache::lonxml::debug("$resultkey ---- $Apache::lonhomework::results{$resultkey}"); |
|
} |
|
&Apache::lonxml::debug("\n<br>storing values^</br>\n"); |
|
|
|
&Apache::lonhomework::send_footer($request); |
|
($temp) = keys %Apache::lonhomework::results; |
|
if ( $temp ne '' ) { |
|
&Apache::lonxml::debug("Store return message:".&Apache::lonnet::cstore(%Apache::lonhomework::results)); |
|
} |
|
return 'OK'; |
|
|
|
} |
|
|
1; |
1; |
__END__ |
__END__ |