File:  [LON-CAPA] / loncom / homework / lonhomework.pm
Revision 1.5: download - view: text, annotated - select for diffs
Tue Aug 8 19:14:53 2000 UTC (23 years, 9 months ago) by albertel
Branches: MAIN
CVS tags: HEAD
- working on edit target

    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 = "/home/httpd/html".$request->uri;
   20:   my %mystyle;
   21:   my $result = '';
   22:   &Apache::inputtags::initialize_inputtags;
   23:   if ($target eq "web") {
   24:     $result = Apache::lonxml::xmlparse($target,'<scriptlib>/res/103/albertel/default_homework</scriptlib>'.&setup_vars($target).&getfile($file),%mystyle);
   25:   } else {
   26:     $result = Apache::lonxml::xmlparse($target,&getfile($file),%mystyle);
   27:   }
   28:   #$request->print("Result follows:");
   29:   $request->print($result);
   30:   #$request->print(":Result ends");
   31:   &Apache::lonhomework::send_footer($request);
   32: }
   33: 
   34: sub get_target {
   35:   return "edit";
   36: }
   37: 
   38: sub setup_vars {
   39:   my ($target) = @_;
   40:   $Apache::lonhomework::target=$target;
   41:   return '<script>$external::target='.$target.';</script>';
   42: }
   43: 
   44: sub send_header {
   45:   my ($request)= @_;
   46:   $request->print('<html>');
   47:   $request->print('<form method="POST" action="'.$request->uri.'">');
   48: }
   49: 
   50: sub send_footer {
   51:   my ($request)= @_;
   52:   $request->print('</form>');
   53:   $request->print('</html>');
   54: }
   55: 
   56: sub getfile {
   57:   my ($filename) = @_;
   58:   my $a="";
   59:   &Apache::lonnet::repcopy($filename);
   60:   {
   61:     my $fh=Apache::File->new($filename);
   62: 
   63:     while (<$fh>) {
   64:       $a .=$_;
   65:     }
   66:   }
   67:   return $a
   68: }
   69: 
   70: 1;
   71: __END__

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>