version 1.184, 2004/11/29 22:13:34
|
version 1.191, 2004/12/22 22:08:17
|
Line 53 use HTML::Entities();
|
Line 53 use HTML::Entities();
|
use Apache::loncommon(); |
use Apache::loncommon(); |
use Apache::lonlocal; |
use Apache::lonlocal; |
use Time::HiRes qw( gettimeofday tv_interval ); |
use Time::HiRes qw( gettimeofday tv_interval ); |
|
use Apache::lonnet(); |
|
|
|
# FIXME - improve commenting |
|
|
|
|
BEGIN { |
BEGIN { |
&Apache::lonxml::register_insert(); |
&Apache::lonxml::register_insert(); |
} |
} |
|
|
|
|
|
# |
|
# Decides what targets to render for. |
|
# Implicit inputs: |
|
# Various session environment variables: |
|
# request.state - published - is a /res/ resource |
|
# uploaded - is a /uploaded/ resource |
|
# contruct - is a /priv/ resource |
|
# form.grade_target - a form parameter requesting a specific target |
sub get_target { |
sub get_target { |
|
&Apache::lonxml::debug("request.state = $ENV{'request.state'}"); |
|
if( defined($ENV{'form.grade_target'})) { |
|
&Apache::lonxml::debug("form.grade_target= $ENV{'form.grade_target'}"); |
|
} else { |
|
&Apache::lonxml::debug("form.grade_target <undefined>"); |
|
} |
if (($ENV{'request.state'} eq "published") || |
if (($ENV{'request.state'} eq "published") || |
($ENV{'request.state'} eq "uploaded")) { |
($ENV{'request.state'} eq "uploaded")) { |
if ( defined($ENV{'form.grade_target'} ) |
if ( defined($ENV{'form.grade_target'} ) |
Line 96 sub get_target {
|
Line 115 sub get_target {
|
} else { |
} else { |
return ('web','answer'); |
return ('web','answer'); |
} |
} |
} elsif ( $ENV{'form.problemmode'} eq &mt('Edit') ) { |
} elsif ( $ENV{'form.problemmode'} eq &mt('Edit') || |
|
$ENV{'form.problemmode'} eq 'Edit') { |
if ( $ENV{'form.submitted'} eq 'edit' ) { |
if ( $ENV{'form.submitted'} eq 'edit' ) { |
if ( $ENV{'form.submit'} eq &mt('Submit Changes and View') ) { |
if ( $ENV{'form.submit'} eq &mt('Submit Changes and View') ) { |
return ('modified','web','answer'); |
return ('modified','web','answer'); |
Line 384 sub setuppermissions {
|
Line 404 sub setuppermissions {
|
$viewgrades = &Apache::lonnet::allowed('vgr',$ENV{'request.course.id'}. |
$viewgrades = &Apache::lonnet::allowed('vgr',$ENV{'request.course.id'}. |
'/'.$ENV{'request.course.sec'}); |
'/'.$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(); |
|
&Apache::lonnet::devalidatecourseresdata($ENV{"course.$courseid.num"}, |
|
$ENV{"course.$courseid.domain"}); |
|
} |
return '' |
return '' |
} |
} |
|
|
Line 602 sub editxmlmode {
|
Line 628 sub editxmlmode {
|
return ''; |
return ''; |
} |
} |
|
|
|
# |
|
# Render the page in whatever target desired. |
|
# |
sub renderpage { |
sub renderpage { |
my ($request,$file) = @_; |
my ($request,$file) = @_; |
|
|
Line 714 sub newproblem {
|
Line 743 sub newproblem {
|
$errormsg='<p><font color="red">'.&mt('You did not select a template.').'</font></p>'."\n"; |
$errormsg='<p><font color="red">'.&mt('You did not select a template.').'</font></p>'."\n"; |
} |
} |
my $instructions; |
my $instructions; |
my $bodytag=&Apache::loncommon::bodytag(undef,undef,undef,1); |
my $bodytag=&Apache::loncommon::bodytag(undef,undef,undef, |
|
($ENV{'environment.remote'} ne 'off')); |
if ($templatelist) { $instructions=&mt(", select a template from the pull-down menu below.").'<br />'.&mt("Then");} |
if ($templatelist) { $instructions=&mt(", select a template from the pull-down menu below.").'<br />'.&mt("Then");} |
my %lt=&Apache::lonlocal::texthash( 'create' => 'Creating a new', |
my %lt=&Apache::lonlocal::texthash( 'create' => 'Creating a new', |
'resource' => 'resource', |
'resource' => 'resource', |
Line 767 sub handler {
|
Line 797 sub handler {
|
my $request=$_[0]; |
my $request=$_[0]; |
|
|
$Apache::lonxml::debug=$ENV{'user.debug'}; |
$Apache::lonxml::debug=$ENV{'user.debug'}; |
if (&setupheader($request)) { return OK; } |
|
$ENV{'request.uri'}=$request->uri; |
$ENV{'request.uri'}=$request->uri; |
&setuppermissions(); |
&setuppermissions(); |
&Apache::lonxml::debug("Permissions:$Apache::lonhomework::browse:$Apache::lonhomework::viewgrades:"); |
&Apache::lonxml::debug("Permissions:$Apache::lonhomework::browse:$Apache::lonhomework::viewgrades:"); |
Line 793 sub handler {
|
Line 822 sub handler {
|
if ( &Apache::lonnet::mod_perl_version() == 2 ) { |
if ( &Apache::lonnet::mod_perl_version() == 2 ) { |
&Apache::lonnet::cleanenv(); |
&Apache::lonnet::cleanenv(); |
} |
} |
$request->internal_redirect('/adm/ambiguous'); return; |
&Apache::lonnet::logthis(&Apache::lonnet::mod_perl_version()); |
|
$request->internal_redirect('/adm/ambiguous'); return OK; |
} |
} |
} |
} |
|
if (&setupheader($request)) { return OK; } |
|
|
my ($symb) = &Apache::lonxml::whichuser(); |
my ($symb) = &Apache::lonxml::whichuser(); |
&Apache::lonxml::debug('symb is '.$symb); |
&Apache::lonxml::debug('symb is '.$symb); |
Line 817 sub handler {
|
Line 848 sub handler {
|
#&view_or_edit_menu($request); |
#&view_or_edit_menu($request); |
$ENV{'form.problemmode'}='View'; |
$ENV{'form.problemmode'}='View'; |
&renderpage($request,$file); |
&renderpage($request,$file); |
} elsif ($ENV{'form.problemmode'} eq &mt('EditXML')) { |
} elsif ($ENV{'form.problemmode'} eq &mt('EditXML') || |
|
$ENV{'form.problemmode'} eq 'EditXML') { |
&editxmlmode($request,$file); |
&editxmlmode($request,$file); |
} elsif ($ENV{'form.problemmode'} eq &mt('Calculate answers')) { |
} elsif ($ENV{'form.problemmode'} eq &mt('Calculate answers')) { |
&analyze($request,$file); |
&analyze($request,$file); |