version 1.192, 2005/01/11 19:38:53
|
version 1.195, 2005/01/28 21:08:45
|
Line 377 sub showarray {
|
Line 377 sub showarray {
|
my ($array)=@_; |
my ($array)=@_; |
my $string="("; |
my $string="("; |
foreach my $elm (@{ $array }) { |
foreach my $elm (@{ $array }) { |
if (ref($elm)) { |
if (ref($elm) eq 'ARRAY') { |
if ($elm =~ /ARRAY/ ) { |
$string.=&showarray($elm); |
$string.=&showarray($elm); |
} elsif (ref($elm) eq 'HASH') { |
} |
$string.= "HASH --- \n<br />"; |
|
$string.= &showhashsubset($elm,'.'); |
} else { |
} else { |
$string.="$elm," |
$string.="$elm," |
} |
} |
Line 394 sub showhashsubset {
|
Line 395 sub showhashsubset {
|
my ($hash,$keyre) = @_; |
my ($hash,$keyre) = @_; |
my $resultkey; |
my $resultkey; |
foreach $resultkey (sort keys %$hash) { |
foreach $resultkey (sort keys %$hash) { |
if ($resultkey =~ /$keyre/) { |
if ($resultkey !~ /$keyre/) { next; } |
if (ref($$hash{$resultkey})) { |
if (ref($$hash{$resultkey}) eq 'ARRAY' ) { |
if ($$hash{$resultkey} =~ /ARRAY/ ) { |
&Apache::lonxml::debug("$resultkey ---- ". |
&Apache::lonxml::debug("$resultkey ---- ". |
&showarray($$hash{$resultkey})); |
&showarray($$hash{$resultkey})); |
} elsif (ref($$hash{$resultkey}) eq 'HASH' ) { |
} elsif ($$hash{$resultkey} =~ /HASH/ ) { |
&Apache::lonxml::debug("$resultkey ---- $$hash{$resultkey}"); |
&Apache::lonxml::debug("$resultkey ---- $$hash{$resultkey}"); |
&showhashsubset($$hash{$resultkey},'.'); |
&showhashsubset($$hash{$resultkey},'.'); |
} else { |
} else { |
&Apache::lonxml::debug("$resultkey ---- $$hash{$resultkey}"); |
&Apache::lonxml::debug("$resultkey ---- $$hash{$resultkey}"); |
|
} |
|
} else { |
|
&Apache::lonxml::debug("$resultkey ---- $$hash{$resultkey}"); |
|
} |
|
} |
} |
} |
} |
&Apache::lonxml::debug("\n<br />restored values^</br>\n"); |
&Apache::lonxml::debug("\n<br />restored values^</br>\n"); |
Line 443 sub setupheader {
|
Line 439 sub setupheader {
|
if (!$Apache::lonxml::debug && ($ENV{'REQUEST_METHOD'} eq 'GET')) { |
if (!$Apache::lonxml::debug && ($ENV{'REQUEST_METHOD'} eq 'GET')) { |
&Apache::loncommon::no_cache($request); |
&Apache::loncommon::no_cache($request); |
} |
} |
|
$request->set_last_modified(&Apache::lonnet::metadata($request->uri, |
|
'lastrevisiondate')); |
$request->send_http_header; |
$request->send_http_header; |
return OK if $request->header_only; |
return OK if $request->header_only; |
return '' |
return '' |
Line 818 sub handler {
|
Line 816 sub handler {
|
$Apache::lonxml::debug=$ENV{'user.debug'}; |
$Apache::lonxml::debug=$ENV{'user.debug'}; |
$ENV{'request.uri'}=$request->uri; |
$ENV{'request.uri'}=$request->uri; |
&setuppermissions(); |
&setuppermissions(); |
&Apache::lonxml::debug("Permissions:$Apache::lonhomework::browse:$Apache::lonhomework::viewgrades:"); |
|
# some times multiple problemmodes are submitted, need to select |
# some times multiple problemmodes are submitted, need to select |
# the last one |
# the last one |
&Apache::lonxml::debug("Problem Mode ".$ENV{'form.problemmode'}); |
if ( defined($ENV{'form.problemmode'}) && ref($ENV{'form.problemmode'}) ) { |
if ( defined($ENV{'form.problemmode'}) && |
|
ref($ENV{'form.problemmode'}) ) { |
|
&Apache::lonxml::debug("Problem Mode ".join(",",@$ENV{'form.problemmode'})); |
|
my $mode=$ENV{'form.problemmode'}->[-1]; |
my $mode=$ENV{'form.problemmode'}->[-1]; |
undef $ENV{'form.problemmode'}; |
undef $ENV{'form.problemmode'}; |
$ENV{'form.problemmode'}=$mode; |
$ENV{'form.problemmode'}=$mode; |
} |
} |
&Apache::lonxml::debug("Problem Mode ".$ENV{'form.problemmode'}); |
|
my $file=&Apache::lonnet::filelocation("",$request->uri); |
my $file=&Apache::lonnet::filelocation("",$request->uri); |
|
|
#check if we know where we are |
#check if we know where we are |
Line 846 sub handler {
|
Line 840 sub handler {
|
} |
} |
} |
} |
if (&setupheader($request)) { return OK; } |
if (&setupheader($request)) { return OK; } |
|
&Apache::lonxml::debug("Permissions:$Apache::lonhomework::browse:$Apache::lonhomework::viewgrades:"); |
|
&Apache::lonxml::debug("Problem Mode ".$ENV{'form.problemmode'}); |
my ($symb) = &Apache::lonxml::whichuser(); |
my ($symb) = &Apache::lonxml::whichuser(); |
&Apache::lonxml::debug('symb is '.$symb); |
&Apache::lonxml::debug('symb is '.$symb); |
if ($ENV{'request.state'} eq "construct" || $symb eq '') { |
if ($ENV{'request.state'} eq "construct" || $symb eq '') { |