version 1.101, 2002/11/12 05:05:26
|
version 1.106, 2003/01/19 08:11:38
|
Line 48 use Apache::optionresponse();
|
Line 48 use Apache::optionresponse();
|
use Apache::imageresponse(); |
use Apache::imageresponse(); |
use Apache::essayresponse(); |
use Apache::essayresponse(); |
use Apache::externalresponse(); |
use Apache::externalresponse(); |
|
use Apache::rankresponse(); |
use Apache::Constants qw(:common); |
use Apache::Constants qw(:common); |
use HTML::Entities(); |
use HTML::Entities(); |
use Apache::loncommon(); |
use Apache::loncommon(); |
Line 144 $Apache::lonxml::browse='';
|
Line 145 $Apache::lonxml::browse='';
|
sub check_access { |
sub check_access { |
my ($id) = @_; |
my ($id) = @_; |
my $date =''; |
my $date =''; |
my $status = ''; |
my $status; |
my $datemsg = ''; |
my $datemsg = ''; |
my $lastdate = ''; |
my $lastdate = ''; |
my $temp; |
my $temp; |
my $type; |
my $type; |
my $passed; |
my $passed; |
|
|
|
if ($ENV{'request.state'} eq "construct") { |
|
&Apache::lonxml::debug("in construction ignoring dates"); |
|
$status='CAN_ANSWER'; |
|
$datemsg='is in under construction'; |
|
return ($status,$datemsg); |
|
} |
|
|
&Apache::lonxml::debug("checking for part :$id:"); |
&Apache::lonxml::debug("checking for part :$id:"); |
&Apache::lonxml::debug("time:".time); |
&Apache::lonxml::debug("time:".time); |
foreach $temp ("opendate","duedate","answerdate") { |
foreach $temp ("opendate","duedate","answerdate") { |
$lastdate = $date; |
$lastdate = $date; |
$date = &Apache::lonnet::EXT("resource.$id.$temp"); |
$date = &Apache::lonnet::EXT("resource.$id.$temp"); |
my $thistype = &Apache::lonnet::EXT("resource.$id.$temp.type"); |
my $thistype = &Apache::lonnet::EXT("resource.$id.$temp.type"); |
|
if ($thistype =~ /^(con_lost|no_such_host)/ || |
|
$date =~ /^(con_lost|no_such_host)/) { |
|
$status='UNAVAILABLE'; |
|
$date="may open later."; |
|
return($status,$date); |
|
} |
if ($thistype eq 'date_interval') { |
if ($thistype eq 'date_interval') { |
if ($temp eq 'opendate') { |
if ($temp eq 'opendate') { |
$date=&Apache::lonnet::EXT("resource.$id.duedate")-$date; |
$date=&Apache::lonnet::EXT("resource.$id.duedate")-$date; |
Line 210 sub check_access {
|
Line 225 sub check_access {
|
$status='CAN_ANSWER'; |
$status='CAN_ANSWER'; |
$datemsg='is closed but you are allowed to view it'; |
$datemsg='is closed but you are allowed to view it'; |
} |
} |
if ($ENV{'request.state'} eq "construct") { |
|
&Apache::lonxml::debug("in construction ignoring dates"); |
|
$status='CAN_ANSWER'; |
|
$datemsg='is in under construction'; |
|
} |
|
return ($status,$datemsg); |
return ($status,$datemsg); |
} |
} |
|
|
Line 224 sub showhash {
|
Line 235 sub showhash {
|
return ''; |
return ''; |
} |
} |
|
|
|
sub showarray { |
|
my ($array)=@_; |
|
my $string="("; |
|
foreach my $elm (@{ $array }) { |
|
if (ref($elm)) { |
|
if ($elm =~ /ARRAY/ ) { |
|
$string.=&showarray($elm); |
|
} |
|
} else { |
|
$string.="$elm," |
|
} |
|
} |
|
chop($string); |
|
$string.=")"; |
|
return $string; |
|
} |
|
|
sub showhashsubset { |
sub showhashsubset { |
my ($hash,$keyre) = @_; |
my ($hash,$keyre) = @_; |
my $resultkey; |
my $resultkey; |
Line 231 sub showhashsubset {
|
Line 259 sub showhashsubset {
|
if ($resultkey =~ /$keyre/) { |
if ($resultkey =~ /$keyre/) { |
if (ref($$hash{$resultkey})) { |
if (ref($$hash{$resultkey})) { |
if ($$hash{$resultkey} =~ /ARRAY/ ) { |
if ($$hash{$resultkey} =~ /ARRAY/ ) { |
my $string="$resultkey ---- ("; |
&Apache::lonxml::debug("$resultkey ---- ". |
foreach my $elm (@{ $$hash{$resultkey} }) { |
&showarray($$hash{$resultkey})); |
$string.="$elm,"; |
} elsif ($$hash{$resultkey} =~ /HASH/ ) { |
} |
&Apache::lonxml::debug("$resultkey ---- $$hash{$resultkey}"); |
chop($string); |
&showhashsubset($$hash{$resultkey},'.'); |
&Apache::lonxml::debug("$string)"); |
|
} else { |
} else { |
&Apache::lonxml::debug("$resultkey ---- $$hash{$resultkey}"); |
&Apache::lonxml::debug("$resultkey ---- $$hash{$resultkey}"); |
} |
} |
} else { |
} else { |
&Apache::lonxml::debug("$resultkey ---- $$hash{$resultkey}"); |
&Apache::lonxml::debug("$resultkey ---- $$hash{$resultkey}"); |
Line 332 sub analyze {
|
Line 359 sub analyze {
|
my %overall; |
my %overall; |
my %allparts; |
my %allparts; |
my $rndseed=$ENV{'form.rndseed'}; |
my $rndseed=$ENV{'form.rndseed'}; |
srand($rndseed); |
|
&analyze_header($request); |
&analyze_header($request); |
for(my $i;$i<$ENV{'form.numtoanalyze'};$i++) { |
for(my $i=1;$i<$ENV{'form.numtoanalyze'}+1;$i++) { |
my $subresult=&Apache::lonnet::ssi($request->uri, |
my $subresult=&Apache::lonnet::ssi($request->uri, |
('grade_target' => 'analyze'), |
('grade_target' => 'analyze'), |
('rndseed' => rand)); |
('rndseed' => $i)); |
#&Apache::lonxml::debug(":$subresult:"); |
&Apache::lonxml::debug(":$subresult:"); |
(my $garbage,$subresult)=split(/_HASH_REF__/,$subresult,2); |
(my $garbage,$subresult)=split(/_HASH_REF__/,$subresult,2); |
my %analyze=&Apache::lonnet::str2hash($subresult); |
my %analyze=&Apache::lonnet::str2hash($subresult); |
&Apache::lonhomework::showhash(%analyze); |
&Apache::lonhomework::showhash(%analyze); |
Line 465 sub get_template_list {
|
Line 491 sub get_template_list {
|
$result=$file; |
$result=$file; |
last; |
last; |
} else { |
} else { |
push (@allnames, $name); |
if ($name) { push (@allnames, $name); } |
} |
} |
} |
} |
if (@allnames && !$result) { |
if (@allnames && !$result) { |
Line 501 sub newproblem {
|
Line 527 sub newproblem {
|
my $url=$request->uri; |
my $url=$request->uri; |
my $dest = &Apache::lonnet::filelocation("",$request->uri); |
my $dest = &Apache::lonnet::filelocation("",$request->uri); |
my $instructions; |
my $instructions; |
if ($templatelist) { $instructions=", select a template from the pull-down menu below. Then";} |
if ($templatelist) { $instructions=", select a template from the pull-down menu below.<br />Then";} |
$request->print(<<ENDNEWPROBLEM); |
$request->print(<<ENDNEWPROBLEM); |
<body bgcolor="#FFFFFF"> |
<body bgcolor="#FFFFFF"> |
The requested file $url doesn\'t exist. <br /> |
<h1>Creating a new $extension resource</h1> |
To create a new $extension$instructions click on the Create $extension button. |
The requested file <tt>$url</tt> currently does not exist. |
<form action="$url" method="POST"> |
<p> |
|
To create a new $extension$instructions click on the "Create $extension" button. |
|
</p> |
|
<p><form action="$url" method="POST"> |
ENDNEWPROBLEM |
ENDNEWPROBLEM |
if (defined($templatelist)) { |
if (defined($templatelist)) { |
$request->print("<select name=\"template\">$templatelist</select>"); |
$request->print("<select name=\"template\">$templatelist</select>"); |
} |
} |
$request->print("<br /><input type=\"submit\" name=\"newfile\" value=\"Create $extension\" />"); |
$request->print("<br /><input type=\"submit\" name=\"newfile\" value=\"Create $extension\" />"); |
$request->print("</form></body>"); |
$request->print("</form></p></body>"); |
} |
} |
return ''; |
return ''; |
} |
} |