Diff for /loncom/homework/structuretags.pm between versions 1.177 and 1.185

version 1.177, 2003/05/23 16:26:28 version 1.185, 2003/06/17 15:36:11
Line 43  BEGIN { Line 43  BEGIN {
   
 sub start_web {  sub start_web {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
     my $bodytext=&Apache::lonxml::get_all_text("/web",$parser);      if (!($target eq 'web' || $target eq 'edit' || $target eq 'modified' ||
     if ($target eq 'web') {    $target eq 'answer' || $target eq 'grade' || $target eq 'meta' )) {
  return $bodytext;   my $bodytext=&Apache::lonxml::get_all_text("/web",$parser);
     }      }
     return '';      return '';
 }  }
Line 56  sub end_web { Line 56  sub end_web {
   
 sub start_tex {  sub start_tex {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
     my $bodytext=&Apache::lonxml::get_all_text("/tex",$parser);      if (!($target eq 'tex' || $target eq 'edit' || $target eq 'modified' ||
     if ($target eq 'tex') {    $target eq 'answer' || $target eq 'grade' || $target eq 'meta' )) {
  return $bodytext.' ';   &Apache::lonxml::debug("tex 1");
    my $bodytext=&Apache::lonxml::get_all_text("/tex",$parser);
     }      }
     return '';      return '';
 }  }
Line 154  sub setup_rndseed { Line 155  sub setup_rndseed {
  $rndseed=int(rand(1000000000));   $rndseed=int(rand(1000000000));
     }      }
     $ENV{'form.rndseed'}=$rndseed;      $ENV{'form.rndseed'}=$rndseed;
       delete($ENV{'form.resetdata'});
       delete($ENV{'form.newrandomization'});
  }   }
  &Apache::lonxml::debug("Setting rndseed to $rndseed");   &Apache::lonxml::debug("Setting rndseed to $rndseed");
  &Apache::run::run('$external::randomseed='.$rndseed.';',$safeeval);   &Apache::run::run('$external::randomseed='.$rndseed.';',$safeeval);
Line 263  ENDCHECKOUT Line 266  ENDCHECKOUT
 sub start_problem {  sub start_problem {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
   
     $Apache::lonhomework::parsing_a_problem=1;      if ( $Apache::inputtags::part ne '' ||
     # meta is called from lonpublisher, which doesn't uses the normal   $Apache::lonhomework::parsing_a_problem) {
     # lonhomework method of parsing the file which means that inputtags    &Apache::lonxml::error('Only one <problem> allowed in a .problem file');
     # won't get reset   #my $bodytext=&Apache::lonxml::get_all_text("/problem",$parser);
     if ( $Apache::inputtags::part ne '' && $target != 'meta' ) {  
  &Apache::lonxml::error('Only one problem allowed in a .problem file');  
  my $bodytext=&Apache::lonxml::get_all_text("/problem",$parser);  
  return '';   return '';
     }      }
   
       $Apache::lonhomework::parsing_a_problem=1;
 #initialize globals  #initialize globals
     $Apache::inputtags::part='0';      $Apache::inputtags::part='0';
     @Apache::inputtags::partlist=('0');      @Apache::inputtags::partlist=('0');
Line 345  sub start_problem { Line 347  sub start_problem {
     '<input type="submit" name="resetdata"      '<input type="submit" name="resetdata"
                              value="New Problem Variation" />'.                               value="New Problem Variation" />'.
     '<input type="hidden" name="username"      '<input type="hidden" name="username"
                              value="'.$ENV{'form.username'}.'" />';                               value="'.$ENV{'form.username'}.'" /> <br />';
  }   }
  ($status,$accessmsg) = &Apache::lonhomework::check_access('0');   ($status,$accessmsg) = &Apache::lonhomework::check_access('0');
  push (@Apache::inputtags::status,$status);   push (@Apache::inputtags::status,$status);
Line 403  sub start_problem { Line 405  sub start_problem {
     "<title>$name</title></head>\n$body_tag_start\n";      "<title>$name</title></head>\n$body_tag_start\n";
     }      }
  } elsif ($target eq 'tex') {   } elsif ($target eq 'tex') {
       my $startminipage = '';
       if ($ENV{'form.problem_split'} ne 'yes') {
    $startminipage = '\begin{minipage}{\textwidth}';
       }
     my $name= &Apache::lonxml::get_param('name',$parstack,$safeeval);      my $name= &Apache::lonxml::get_param('name',$parstack,$safeeval);
     if ($name eq '') {      if ($name eq '') {
  $name=&Apache::lonnet::EXT('resource.title');   $name=&Apache::lonnet::EXT('resource.title');
Line 437  sub start_problem { Line 443  sub start_problem {
  print $temp_file "$duedate\n";   print $temp_file "$duedate\n";
  if (not $ENV{'request.symb'} =~ m/\.page_/) {   if (not $ENV{'request.symb'} =~ m/\.page_/) {
     if(not $duedate=~m/1969/ and $Apache::lonhomework::type ne 'exam') {      if(not $duedate=~m/1969/ and $Apache::lonhomework::type ne 'exam') {
  $result .= '\begin{document} \typeout{STAMPOFPASSEDRESOURCESTART Resource <h2>"'.$name_of_resourse.'"</h2> located in <br /><small><b>'.$ENV{'request.uri'}.'</b></small><br /> STAMPOFPASSEDRESOURCEEND} \noindent\textit{Due date: '.$duedate.'} \vskip 1 mm\noindent \begin{minipage}{\textwidth}';   $result .= '\begin{document} \typeout{STAMPOFPASSEDRESOURCESTART Resource <h2>"'.$name_of_resourse.'"</h2> located in <br /><small><b>'.$ENV{'request.uri'}.'</b></small><br /> STAMPOFPASSEDRESOURCEEND} \noindent\textit{Due date: '.$duedate.'} \vskip 1 mm\noindent '.$startminipage;
     } else {      } else {
  $result .= '\begin{document} \typeout{STAMPOFPASSEDRESOURCESTART Resource <h2>"'.$name_of_resourse.'"</h2> located in <br /><small><b>'.$ENV{'request.uri'}.'</b></small><br /> STAMPOFPASSEDRESOURCEEND} \noindent \vskip 1 mm \noindent\begin{minipage}{\textwidth}';   $result .= '\begin{document} \typeout{STAMPOFPASSEDRESOURCESTART Resource <h2>"'.$name_of_resourse.'"</h2> located in <br /><small><b>'.$ENV{'request.uri'}.'</b></small><br /> STAMPOFPASSEDRESOURCEEND} \noindent \vskip 1 mm \noindent'.$startminipage;
  if ($Apache::lonhomework::type eq 'exam' and $allow_print_points==1) { $result .= '\fbox{\textit{'.$weight.' pt}}';}   if ($Apache::lonhomework::type eq 'exam' and $allow_print_points==1) { $result .= '\fbox{\textit{'.$weight.' pt}}';}
     }      }
  } else {   } else {
Line 447  sub start_problem { Line 453  sub start_problem {
  }   }
     } else {      } else {
  if (not $ENV{'request.symb'} =~ m/\.page_/) {   if (not $ENV{'request.symb'} =~ m/\.page_/) {
     $result .= '\begin{document} \typeout{STAMPOFPASSEDRESOURCESTART Resource <h2>"'.$name_of_resourse.'"</h2> located in <br /><small><b>'.$ENV{'request.uri'}.'</b></small><br /> STAMPOFPASSEDRESOURCEEND} \noindent \vskip 1 mm\noindent\begin{minipage}{\textwidth}';      $result .= '\begin{document} \typeout{STAMPOFPASSEDRESOURCESTART Resource <h2>"'.$name_of_resourse.'"</h2> located in <br /><small><b>'.$ENV{'request.uri'}.'</b></small><br /> STAMPOFPASSEDRESOURCEEND} \noindent \vskip 1 mm\noindent'.$startminipage;
     if (($Apache::lonhomework::type eq 'exam') and ($allow_print_points==1)) { $result .= '\fbox{\textit{'.$weight.' pt}}';}      if (($Apache::lonhomework::type eq 'exam') and ($allow_print_points==1)) { $result .= '\fbox{\textit{'.$weight.' pt}}';}
  } else {   } else {
     $result .= '\vskip 1mm \\\\\\\\';      $result .= '\vskip 1mm \\\\\\\\';
Line 505  sub end_problem { Line 511  sub end_problem {
     if ($target eq 'web') {      if ($target eq 'web') {
  $result.=&Apache::lonxml::xmlend();   $result.=&Apache::lonxml::xmlend();
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
    my $endminipage = '';
    if ($ENV{'form.problem_split'} ne 'yes') {
       $endminipage = '\end{minipage}';
    }
  $result .= '\keephidden{ENDOFPROBLEM}\vskip 0.5mm\noindent\makebox[\textwidth/$number_of_columns][b]{\hrulefill}';   $result .= '\keephidden{ENDOFPROBLEM}\vskip 0.5mm\noindent\makebox[\textwidth/$number_of_columns][b]{\hrulefill}';
  if (not $ENV{'request.symb'} =~ m/\.page_/) {   if (not $ENV{'request.symb'} =~ m/\.page_/) {
     $result .= '\end{minipage}\end{document} ';      $result .= $endminipage.'\end{document} ';
  } else {   } else {
     $result .= '';      $result .= '';
  }   }
Line 524  sub end_problem { Line 534  sub end_problem {
  }   }
     } elsif ($target eq 'meta') {      } elsif ($target eq 'meta') {
  if ($Apache::inputtags::part eq '0') {   if ($Apache::inputtags::part eq '0') {
       @Apache::inputtags::response=();
     $result=&Apache::response::mandatory_part_meta;      $result=&Apache::response::mandatory_part_meta;
  }   }
     } elsif ($target eq 'edit') {      } elsif ($target eq 'edit') {
Line 925  sub end_part { Line 936  sub end_part {
  $target);   $target);
  if ($Apache::lonhomework::type eq 'exam') {$gradestatus='';}   if ($Apache::lonhomework::type eq 'exam') {$gradestatus='';}
  $result=$gradestatus;   $result=$gradestatus;
       } elsif ($target eq 'edit') {
    $result=&Apache::edit::end_table();
     }      }
     pop @Apache::inputtags::status;      pop @Apache::inputtags::status;
     $Apache::inputtags::part='';      $Apache::inputtags::part='';

Removed from v.1.177  
changed lines
  Added in v.1.185


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