1: # The LON-CAPA Homework handler
2: # Guy Albertelli
3:
4: package Apache::lonhomework;
5: use strict;
6: use Apache::style;
7: use Apache::lonxml;
8: use Apache::lonnet;
9: use Apache::inputtags;
10: use Apache::structuretags;
11:
12: sub handler {
13: my $request=shift;
14:
15: my $target=&get_target();
16: $request->content_type('text/html');
17: $request->send_http_header;
18: &Apache::lonhomework::send_header($request);
19: my $file = $request->uri;
20: my %mystyle;
21: my $result = '';
22: &Apache::inputtags::initialize_inputtags;
23: $result = Apache::lonxml::xmlparse($target, &getfile($file),
24: &getfile('/res/103/albertel/default_homework').&setup_vars($target),%mystyle);
25: #$request->print("Result follows:");
26: $request->print($result);
27: #$request->print(":Result ends");
28: &Apache::lonhomework::send_footer($request);
29: }
30:
31: sub get_target {
32: return "web";
33: }
34:
35: sub setup_vars {
36: my ($target) = @_;
37: return ';$external::target='.$target.';';
38: }
39:
40: sub send_header {
41: my ($request)= @_;
42: $request->print('<html>');
43: $request->print('<form method="POST" action="'.$request->uri.'">');
44: }
45:
46: sub send_footer {
47: my ($request)= @_;
48: $request->print('</form>');
49: $request->print('</html>');
50: }
51:
52: sub getfile {
53: my ($filename) = @_;
54: my $a="";
55: &Apache::lonnet::repcopy($filename);
56: {
57: my $fh=Apache::File->new("/home/httpd/html".$filename);
58:
59: while (<$fh>) {
60: $a .=$_;
61: }
62: }
63: return $a
64: }
65:
66: 1;
67: __END__
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>