version 1.202, 2003/08/13 15:25:59
|
version 1.205, 2003/08/13 18:49:41
|
Line 130 sub page_start {
|
Line 130 sub page_start {
|
#use Time::HiRes(); |
#use Time::HiRes(); |
sub get_resource_name { |
sub get_resource_name { |
my ($parstack,$safeeval)=@_; |
my ($parstack,$safeeval)=@_; |
|
if (defined($Apache::lonhomework::name)) { |
|
return $Apache::lonhomework::name; |
|
} |
my $name=&Apache::lonnet::gettitle(); |
my $name=&Apache::lonnet::gettitle(); |
if ($name eq '') { |
if ($name eq '') { |
$name=&Apache::lonnet::EXT('resource.title'); |
$name=&Apache::lonnet::EXT('resource.title'); |
if ($name eq 'con_lost') { $name = ''; } |
if ($name eq 'con_lost') { $name = ''; } |
} |
} |
|
if ($name!~/\S+/) { |
|
$name=$ENV{'request.uri'}; |
|
$name=~s-.*/([^/]+)$-$1-; |
|
} |
$Apache::lonhomework::name=$name; |
$Apache::lonhomework::name=$name; |
return $name; |
return $name; |
} |
} |
Line 268 credit even if done erroneously.<p />
|
Line 275 credit even if done erroneously.<p />
|
ENDCHECKOUT |
ENDCHECKOUT |
} |
} |
|
|
|
sub init_problem_globals { |
|
my ($type)=@_; |
|
#initialize globals |
|
if ($type eq 'problem') { |
|
$Apache::inputtags::part='0'; |
|
@Apache::inputtags::partlist=('0'); |
|
$Apache::lonhomework::problemstatus= |
|
&Apache::lonnet::EXT('resource.0.problemstatus'); |
|
} else { |
|
$Apache::inputtags::part=''; |
|
@Apache::inputtags::partlist=(); |
|
$Apache::lonhomework::problemstatus=''; |
|
} |
|
@Apache::inputtags::responselist = (); |
|
@Apache::inputtags::importlist = (); |
|
@Apache::inputtags::previous=(); |
|
@Apache::inputtags::previous_version=(); |
|
$Apache::structuretags::printanswer='No'; |
|
@Apache::structuretags::whileconds=(); |
|
@Apache::structuretags::whilebody=(); |
|
@Apache::structuretags::whileline=(); |
|
$Apache::lonhomework::scantronmode=0; |
|
undef($Apache::lonhomework::name); |
|
|
|
} |
|
|
|
sub reset_problem_globals { |
|
my ($type)=@_; |
|
undef(%Apache::lonhomework::history); |
|
undef(%Apache::lonhomework::results); |
|
undef($Apache::inputtags::part); |
|
undef($Apache::lonhomework::parsing_a_problem); |
|
undef($Apache::lonhomework::name); |
|
} |
|
|
sub start_problem { |
sub start_problem { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
|
|
Line 279 sub start_problem {
|
Line 321 sub start_problem {
|
} |
} |
|
|
$Apache::lonhomework::parsing_a_problem=1; |
$Apache::lonhomework::parsing_a_problem=1; |
#initialize globals |
&init_problem_globals('problem'); |
$Apache::inputtags::part='0'; |
|
@Apache::inputtags::partlist=('0'); |
|
@Apache::inputtags::responselist = (); |
|
@Apache::inputtags::importlist = (); |
|
@Apache::inputtags::previous=(); |
|
@Apache::inputtags::previous_version=(); |
|
$Apache::structuretags::printanswer='No'; |
|
@Apache::structuretags::whileconds=(); |
|
@Apache::structuretags::whilebody=(); |
|
@Apache::structuretags::whileline=(); |
|
$Apache::lonhomework::scantronmode=0; |
|
$Apache::lonhomework::problemstatus= |
|
&Apache::lonnet::EXT('resource.0.problemstatus'); |
|
|
|
if (defined($ENV{'scantron.maxquest'})) { |
if (defined($ENV{'scantron.maxquest'})) { |
$Apache::lonhomework::scantronmode=1; |
$Apache::lonhomework::scantronmode=1; |
Line 414 sub start_problem {
|
Line 443 sub start_problem {
|
if (not $ENV{'form.problem_split'}=~/yes/) { |
if (not $ENV{'form.problem_split'}=~/yes/) { |
$startminipage = '\begin{minipage}{\textwidth}'; |
$startminipage = '\begin{minipage}{\textwidth}'; |
} |
} |
my $name= &Apache::lonxml::get_param('name',$parstack,$safeeval); |
|
if ($name eq '') { |
|
$name=&Apache::lonnet::EXT('resource.title'); |
|
if ($name eq 'con_lost') { $name = ''; } |
|
} |
|
$Apache::lonhomework::name=$name; |
|
my $id = $Apache::inputtags::part; |
my $id = $Apache::inputtags::part; |
my $weight = &Apache::lonnet::EXT("resource.$id.weight"); |
my $weight = &Apache::lonnet::EXT("resource.$id.weight"); |
my $allkeys=&Apache::lonnet::metadata($ENV{'request.uri'},'keys'); |
my $allkeys=&Apache::lonnet::metadata($ENV{'request.uri'},'keys'); |
Line 551 sub end_problem {
|
Line 574 sub end_problem {
|
if ($ENV{'request.state'} eq 'construct' && $target eq 'web') { |
if ($ENV{'request.state'} eq 'construct' && $target eq 'web') { |
&Apache::inputtags::check_for_duplicate_ids(); |
&Apache::inputtags::check_for_duplicate_ids(); |
} |
} |
undef(%Apache::lonhomework::history); |
|
undef(%Apache::lonhomework::results); |
&reset_problem_globals('problem'); |
undef($Apache::inputtags::part); |
|
undef($Apache::lonhomework::parsing_a_problem); |
|
|
|
return $result; |
return $result; |
} |
} |
Line 563 sub end_problem {
|
Line 584 sub end_problem {
|
sub start_library { |
sub start_library { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($result,$head_tag_start,$body_tag_start,$form_tag_start); |
my ($result,$head_tag_start,$body_tag_start,$form_tag_start); |
|
if ($$tagstack[0] eq 'library') { &init_problem_globals('library') }; |
if ($target eq 'edit') { |
if ($target eq 'edit') { |
($result,$head_tag_start,$body_tag_start,$form_tag_start)= |
($result,$head_tag_start,$body_tag_start,$form_tag_start)= |
&page_start($target,$token,$tagstack,$parstack,$parser,$safeeval); |
&page_start($target,$token,$tagstack,$parstack,$parser,$safeeval); |
Line 597 sub end_library {
|
Line 618 sub end_library {
|
$ENV{'request.state'} eq "construct") { |
$ENV{'request.state'} eq "construct") { |
$result.='</form></body>'.&Apache::lonxml::xmlend(); |
$result.='</form></body>'.&Apache::lonxml::xmlend(); |
} |
} |
|
if ($$tagstack[0] eq 'library') { &reset_problem_globals('library') }; |
return $result; |
return $result; |
} |
} |
|
|