Diff for /loncom/homework/structuretags.pm between versions 1.203 and 1.204

version 1.203, 2003/08/13 17:54:12 version 1.204, 2003/08/13 18:19:59
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 443  sub start_problem { Line 472  sub start_problem {
     my $due_file_content = $due_file_content[$#due_file_content];      my $due_file_content = $due_file_content[$#due_file_content];
     chomp $due_file_content;      chomp $due_file_content;
     my $name_of_resourse= &get_resource_name($parstack,$safeeval);      my $name_of_resourse= &get_resource_name($parstack,$safeeval);
     if (not $name_of_resourse=~/\S+/) {  
  $name_of_resourse=$ENV{'request.uri'};  
  $name_of_resourse=~/\/([^\/]+)$/;  
  $name_of_resourse=$1;  
     }  
     if ($due_file_content ne $duedate) {      if ($due_file_content ne $duedate) {
  $temp_file = Apache::File->new('>'.$filename);   $temp_file = Apache::File->new('>'.$filename);
  print $temp_file "$duedate\n";   print $temp_file "$duedate\n";
Line 556  sub end_problem { Line 580  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 568  sub end_problem { Line 590  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 602  sub end_library { Line 624  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;
 }  }
   

Removed from v.1.203  
changed lines
  Added in v.1.204


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>