File:  [LON-CAPA] / loncom / homework / lonhomework.pm
Revision 1.7: download - view: text, annotated - select for diffs
Fri Aug 11 14:35:13 2000 UTC (23 years, 8 months ago) by albertel
Branches: MAIN
CVS tags: HEAD
- getfile update

    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>