Diff for /loncom/homework/structuretags.pm between versions 1.258 and 1.267

version 1.258, 2004/06/29 22:32:12 version 1.267, 2004/09/09 08:59:56
Line 36  use Apache::File(); Line 36  use Apache::File();
 use Apache::lonmenu;  use Apache::lonmenu;
 use Apache::lonlocal;  use Apache::lonlocal;
 use Apache::lonxml;  use Apache::lonxml;
   use Time::HiRes qw( gettimeofday tv_interval );
 BEGIN {  BEGIN {
     &Apache::lonxml::register('Apache::structuretags',('block','languageblock','instructorcomment','while','randomlist','problem','library','web','tex','part','preduedate','postanswerdate','solved','notsolved','problemtype','startouttext','endouttext','simpleeditbutton','definetag'));      &Apache::lonxml::register('Apache::structuretags',('block','languageblock','instructorcomment','while','randomlist','problem','library','web','tex','part','preduedate','postanswerdate','solved','notsolved','problemtype','startouttext','endouttext','simpleeditbutton','definetag'));
 }  }
Line 83  sub page_start { Line 83  sub page_start {
  $result=&Apache::londefdef::start_html($target,$token,$tagstack,   $result=&Apache::londefdef::start_html($target,$token,$tagstack,
        $parstack,$parser,$safeeval);         $parstack,$parser,$safeeval);
  $head_tag_start='<head>'.&Apache::lonmenu::registerurl(undef,$target).   $head_tag_start='<head>'.&Apache::lonmenu::registerurl(undef,$target).
     &Apache::lonhtmlcommon::htmlareaheaders();      &Apache::lonhtmlcommon::htmlareaheaders().
       &Apache::lonhtmlcommon::spellheader();
     }      }
     my $body_tag_start;      my $body_tag_start;
     if (!defined($found{'body'})) {      if (!defined($found{'body'})) {
Line 191  sub problem_edit_header { Line 192  sub problem_edit_header {
        <input type="submit" name="Undo" accesskey="u" value="'.&mt('undo').'" /> <hr />         <input type="submit" name="Undo" accesskey="u" value="'.&mt('undo').'" /> <hr />
        <input type="submit" name="submit" accesskey="s" value="'.&mt('Submit Changes and Edit').'" />         <input type="submit" name="submit" accesskey="s" value="'.&mt('Submit Changes and Edit').'" />
        <input type="submit" name="submit" accesskey="v" value="'.&mt('Submit Changes and View').'" /><table><tr><td>'.         <input type="submit" name="submit" accesskey="v" value="'.&mt('Submit Changes and View').'" /><table><tr><td>'.
        &Apache::loncommon::help_open_topic('Problem_Editor_XML_Index',         &Apache::loncommon::help_open_menu('','Problem Editing Help','Problem_Editor_XML_Index','',5,'Authoring',undef,undef,undef,'Problem Editing Help')
    'Problem Editing Help').'</td><td>'.         .'</td></tr></table>'.
        &Apache::loncommon::help_open_faq(5).  
        &Apache::loncommon::help_open_bug('Authoring').'</td></tr></table>'.  
        '<table border="0"><tr><td bgcolor="#DDDDDD">';         '<table border="0"><tr><td bgcolor="#DDDDDD">';
 }  }
   
Line 355  sub init_problem_globals { Line 354  sub init_problem_globals {
     if ($type eq 'problem') {      if ($type eq 'problem') {
  $Apache::inputtags::part='0';   $Apache::inputtags::part='0';
  @Apache::inputtags::partlist=('0');   @Apache::inputtags::partlist=('0');
    $Apache::lonhomework::problemstatus=&get_problem_status('0');
  $Apache::lonhomework::problemstatus=&get_problem_status('0')   $Apache::lonhomework::ignore_response_errors=0;
     } else {      } elsif ($type eq 'library') {
  $Apache::inputtags::part='';   $Apache::inputtags::part='';
  @Apache::inputtags::partlist=();   @Apache::inputtags::partlist=();
  $Apache::lonhomework::problemstatus='';   $Apache::lonhomework::problemstatus='';
    $Apache::lonhomework::ignore_response_errors=1;
     }      }
     @Apache::inputtags::responselist = ();      @Apache::inputtags::responselist = ();
     @Apache::inputtags::importlist = ();      @Apache::inputtags::importlist = ();
Line 396  sub set_problem_state { Line 396  sub set_problem_state {
   
 sub get_problem_status {  sub get_problem_status {
     my ($part)=@_;      my ($part)=@_;
     my $problem_status=&Apache::lonnet::EXT("resource.$part.problemstatus");      my $problem_status;
     &Apache::lonxml::debug("problem status for $part is $problem_status");  
     &Apache::lonxml::debug("env probstat is ".$ENV{'form.problemstatus'});  
     if ($ENV{'request.state'} eq 'construct' &&      if ($ENV{'request.state'} eq 'construct' &&
  defined($ENV{'form.problemstatus'})) {   defined($ENV{'form.problemstatus'})) {
  $problem_status=$ENV{'form.problemstatus'};   $problem_status=$ENV{'form.problemstatus'};
       } else {
    $problem_status=&Apache::lonnet::EXT("resource.$part.problemstatus");
    &Apache::lonxml::debug("problem status for $part is $problem_status");
    &Apache::lonxml::debug("env probstat is ".$ENV{'form.problemstatus'});
     }      }
     return $problem_status;      return $problem_status;
 }  }
Line 485  sub start_problem { Line 487  sub start_problem {
     '<input type="submit" name="resetdata"      '<input type="submit" name="resetdata"
                              value="'.&mt('New Problem Variation').'" />'.                               value="'.&mt('New Problem Variation').'" />'.
     '<input type="hidden" name="username"      '<input type="hidden" name="username"
                              value="'.$ENV{'form.username'}.'" /> <br />';                               value="'.$ENV{'form.username'}.'" />';
       if ($ENV{'user.adv'}) {
    $form_tag_start.=
       ' <input type="checkbox" name="showallfoils" ';
    if (defined($ENV{'form.showallfoils'})) {
       $form_tag_start.='checked="on"';
    }
    $form_tag_start.= ' />'.&mt('&nbsp;Show&nbsp;All&nbsp;Foils');
       }
       $form_tag_start.='<hr />';
  }   }
  ($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 647  sub end_problem { Line 658  sub end_problem {
     $endminipage = '\end{minipage}';      $endminipage = '\end{minipage}';
  }   }
                 if ($ENV{'form.print_discussions'} eq 'yes') {                  if ($ENV{'form.print_discussions'} eq 'yes') {
     $result.=&Apache::lonxml::xmlend();      $result.=&Apache::lonxml::xmlend($target,$parser);
     $result=~s/<\/html>//;      $result=~s/<\/html>//;
  }  
  $result .= '\keephidden{ENDOFPROBLEM}\vskip 0.5mm\noindent\makebox[\textwidth/$number_of_columns][b]{\hrulefill}';  
  if (not $ENV{'request.symb'} =~ m/\.page_/) {  
     $result .= $endminipage.'\end{document} ';  
  } else {   } else {
     $result .= '';      $result .= '\keephidden{ENDOFPROBLEM}\vskip 0.5mm\noindent\makebox[\textwidth/$number_of_columns][b]{\hrulefill}';
       if (not $ENV{'request.symb'} =~ m/\.page_/) {
    $result .= $endminipage.'\end{document} ';
       } else {
    $result .= '';
       }
  }   }
     }      }
  }   }
Line 1042  sub start_part { Line 1054  sub start_part {
     @Apache::inputtags::previous_version=();      @Apache::inputtags::previous_version=();
     $Apache::lonhomework::problemstatus=&get_problem_status($id);      $Apache::lonhomework::problemstatus=&get_problem_status($id);
     my $hidden=&Apache::loncommon::check_if_partid_hidden($Apache::inputtags::part);      my $hidden=&Apache::loncommon::check_if_partid_hidden($Apache::inputtags::part);
       my $newtype=&Apache::lonnet::EXT("resource.$id.type");
       if ($newtype) { $Apache::lonhomework::type=$newtype; }
   
     my $expression='$external::part=\''.$Apache::inputtags::part.'\';';      my $expression='$external::part=\''.$Apache::inputtags::part.'\';';
       $expression.='$external::type=\''.$Apache::lonhomework::type.'\';';
     &Apache::run::run($expression,$safeeval);      &Apache::run::run($expression,$safeeval);
   
     if ($target eq 'meta') {      if ($target eq 'meta') {
Line 1081  sub start_part { Line 1097  sub start_part {
     } else {      } else {
  if ($target eq 'tex') {   if ($target eq 'tex') {
     if (not $ENV{'form.problem_split'}=~/yes/) {      if (not $ENV{'form.problem_split'}=~/yes/) {
  $result.='\noindent \end{minipage}\vskip 0 mm \noindent \begin{minipage}{\textwidth}\noindent';   if ($$tagstack[-2] eq 'td') {
       $result.='\vskip 0 mm \noindent \begin{minipage}{\textwidth}\noindent';
    } else {
       $result.='\noindent \end{minipage}\vskip 0 mm \noindent \begin{minipage}{\textwidth}\noindent';
    }
     }      }
     my $weight = &Apache::lonnet::EXT("resource.$id.weight");      my $weight = &Apache::lonnet::EXT("resource.$id.weight");
     my $allkeys=&Apache::lonnet::metadata($ENV{'request.uri'},'packages');      my $allkeys=&Apache::lonnet::metadata($ENV{'request.uri'},'packages');
Line 1141  sub end_part { Line 1161  sub end_part {
     $gradestatus='';      $gradestatus='';
  }   }
  $result=$gradestatus;   $result=$gradestatus;
    if ($$tagstack[-2] eq 'td' and $target eq 'tex') {$result.='\end{minipage}';} 
     } elsif ($target eq 'edit') {      } elsif ($target eq 'edit') {
  $result=&Apache::edit::end_table();   $result=&Apache::edit::end_table();
     }      }

Removed from v.1.258  
changed lines
  Added in v.1.267


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