--- rat/lonwrapper.pm 2003/04/15 03:53:03 1.12 +++ rat/lonwrapper.pm 2003/05/13 15:13:17 1.13 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Wrapper for external and binary files as standalone resources # -# $Id: lonwrapper.pm,v 1.12 2003/04/15 03:53:03 www Exp $ +# $Id: lonwrapper.pm,v 1.13 2003/05/13 15:13:17 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -66,28 +66,39 @@ sub handler { # # Actual URL # - if ($url=~/^\/uploaded\//) { - $url=&Apache::lonnet::tokenwrapper($url); - } - $url.=(($url=~/\?/)?'&':'?').$ENV{'QUERY_STRING'}; #reappend the query arguments - my $events='onLoad="'.&Apache::lonmenu::loadevents. - '" onUnload="'.&Apache::lonmenu::unloadevents.'"'; - my $script=&Apache::lonmenu::registerurl(1,undef); + if ($url=~/\.(problem|exam|quiz|assess|survey|form|library)$/) { +# +# This is uploaded homework +# + $ENV{'request.state'}='uploaded'; + &Apache::lonhomework::renderpage($r,$url); + } else { +# +# This is not homework +# + if ($url=~/^\/uploaded\//) { + $url=&Apache::lonnet::tokenwrapper($url); + } + $url.=(($url=~/\?/)?'&':'?').$ENV{'QUERY_STRING'}; + # reappend the query arguments + my $events='onLoad="'.&Apache::lonmenu::loadevents. + '" onUnload="'.&Apache::lonmenu::unloadevents.'"'; + my $script=&Apache::lonmenu::registerurl(1,undef); - if ($ENV{'browser.interface'} eq 'textual') { + if ($ENV{'browser.interface'} eq 'textual') { # # ssi-based rendering for text-based interface # - $r->print(''. - &Apache::lonmenu::registerurl(1). - ''. - &Apache::lonmenu::menubuttons(1). - &Apache::lonnet::ssi_body($url).''); - } elsif ($ENV{'environment.remote'} eq 'off') { + $r->print(''. + &Apache::lonmenu::registerurl(1). + ''. + &Apache::lonmenu::menubuttons(1). + &Apache::lonnet::ssi_body($url).''); + } elsif ($ENV{'environment.remote'} eq 'off') { # # This is inline remote # - $r->print(<print(< $script @@ -98,7 +109,7 @@ $script ENDDOCUMENTINL - } else { + } else { # # frame-based rendering for graphical interface # @@ -113,10 +124,11 @@ $script ENDDOCUMENT - } - } + } + } # not homework + } # not just the menu return OK; -} +} # handler 1; __END__