--- loncom/homework/lonhomework.pm 2004/12/17 22:30:30 1.187 +++ loncom/homework/lonhomework.pm 2004/12/20 12:16:47 1.188 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Homework handler # -# $Id: lonhomework.pm,v 1.187 2004/12/17 22:30:30 albertel Exp $ +# $Id: lonhomework.pm,v 1.188 2004/12/20 12:16:47 foxr Exp $ # # Copyright Michigan State University Board of Trustees # @@ -53,12 +53,76 @@ use HTML::Entities(); use Apache::loncommon(); use Apache::lonlocal; use Time::HiRes qw( gettimeofday tv_interval ); +use Apache::lonnet(); +# +# FIXME!!!!!!! +# Be nice if someone +# - Took credit/blame for this module. +# - At least commented the purpose of each major +# sub +# - Even better commented the major blocks. +# +# I'll have a go at it for what I need. +# ?'s- mean maybe this is right. +# The number of ?'s represents the rough level +# of doubt I have about rightness, with ??? representing +# uncertainty based on the first blush interpretation. +# ?? - I have some code to back up this interpretation. +# ? - I"m pretty sure I understand the code that backs up this +# interpretation. +# ???? - Absolutely clueless. +# . - I'm pretty sure the interpretation is correct. +# RF. + + +# 'Exported' Variables: + +# viewgrades is 'F' if users are not allowed to view the grades.. T otherwise. + +$Apache::lonhomework::viewgrades = 'F'; # By default cannot. + +# Internal variables. + +my $DEBUG=0; # set nonzero to enable debugging. BEGIN { &Apache::lonxml::register_insert(); } +# +# Issue debug log messages. +# Parameters: +# The log message to issue. +# Implicit Inputs: +# DEBUG - If non zero the message is issued, otherwise not. +# +sub Debug { + my ($message) = @_; + + if($DEBUG) { + my @call_context = caller(1); + my $prefix = "$call_context[3]:$call_context[2]:: "; + &Apache::lonnet::logthis($prefix.$message); + } +} + +# +# I believe this sub defines how to render the +# problem based on the context of the rendering? +# Implicit inputs: +# Various session environment variables: +# request.state - State of the resource actually ?? +# published - Examining in resource space. +# uploaded - Not sure how this happens????? +# contruct - Rendering in construction space for viewing. +# form.grade_target - sub get_target { + &Debug("request.state = $ENV{'request.state'}"); + if( defined($ENV{'form.grade_target'})) { + &Debug("form.grade_target = $ENV{'form.grade_target'}"); + } else { + &Debug("form.grade_target "); + } if (($ENV{'request.state'} eq "published") || ($ENV{'request.state'} eq "uploaded")) { if ( defined($ENV{'form.grade_target'} ) @@ -384,7 +448,7 @@ sub setuppermissions { $viewgrades = &Apache::lonnet::allowed('vgr',$ENV{'request.course.id'}. '/'.$ENV{'request.course.sec'}); } - $Apache::lonhomework::viewgrades = $viewgrades; + $Apache::lonhomework::viewgrades = $viewgrades; # File global variable...dirt. if ($Apache::lonhomework::browse eq 'F' && $ENV{'form.devalidatecourseresdata'} eq 'on') { my (undef,$courseid) = &Apache::lonxml::whichuser(); @@ -607,6 +671,9 @@ sub editxmlmode { } return ''; } +# +# Render the page in whatever target desired. +# sub renderpage { my ($request,$file) = @_;