Diff for /loncom/interface/lonprintout.pm between versions 1.242 and 1.253

version 1.242, 2003/09/29 20:06:20 version 1.253, 2003/10/09 19:15:25
Line 656  sub path_to_problem { Line 656  sub path_to_problem {
  }   }
     }      }
  }   }
       } else {
    $newurlp=$urlp;
     }      }
     return '{\small\noindent\verb|'.$newurlp.'|\vskip 0 mm}';      return '{\small\noindent\verb|'.$newurlp.'|\vskip 0 mm}';
 }  }
Line 740  ENDPART Line 742  ENDPART
     $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/;      $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/;
  } else {   } else {
     $texversion=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});      $texversion=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});
     $texversion.='\vskip 0 mm \noindent\textbf{'.&Apache::lonnet::gettitle($helper->{'VARS'}->{'symb'}).'}\vskip 0 mm ';      if ($helper->{'VARS'}->{'construction'} ne '1') {
     $texversion.=&path_to_problem ($currentURL,$LaTeXwidth);   $texversion.='\vskip 0 mm \noindent\textbf{'.&Apache::lonnet::gettitle($helper->{'VARS'}->{'symb'}).'}\vskip 0 mm ';
    $texversion.=&path_to_problem ($currentURL,$LaTeXwidth);
       } else {
    $texversion.='\vskip 0 mm \noindent\textbf{Prints from construction space - there is no title.}\vskip 0 mm ';
    my $URLpath=$currentURL;
    $URLpath=~s/~([^\/]+)/public_html\/$1\/$1/;
    $texversion.=&path_to_problem ($URLpath,$LaTeXwidth);
       }
     $texversion.='\vskip 1 mm '.$answer.'\end{document}';      $texversion.='\vskip 1 mm '.$answer.'\end{document}';
  }   }
     }      }
Line 769  ENDPART Line 778  ENDPART
  $Apache::lonratedt::resources[$Apache::lonratedt::order[$member]]=~/^([^:]*):([^:]*):/;   $Apache::lonratedt::resources[$Apache::lonratedt::order[$member]]=~/^([^:]*):([^:]*):/;
  my $urlp=$2;   my $urlp=$2;
  if ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library|xml|html|htm|xhtml|xhtm)$/) {   if ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library|xml|html|htm|xhtml|xhtm)$/) {
     my %form;      my $texversion='';
     $form{'grade_target'}='tex';      if ($helper->{'VARS'}->{'ANSWER_TYPE'} ne 'only') {
     $form{'textwidth'}=$LaTeXwidth;   my %form;
     $form{'problem_split'}=$parmhash{'problem_stream_switch'};   $form{'grade_target'}='tex';
     $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'};   $form{'textwidth'}=$LaTeXwidth;
     $form{'rndseed'}=$rndseed;   $form{'problem_split'}=$parmhash{'problem_stream_switch'};
     my $texversion=&Apache::lonnet::ssi($urlp,%form);   $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'};
     if($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {   $form{'rndseed'}=$rndseed;
    $texversion=&Apache::lonnet::ssi($urlp,%form);
       }
       if((($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') ||
          ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) && 
          ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library|page)$/)) {
  my %form;   my %form;
  $form{'grade_target'}='answer';   $form{'grade_target'}='answer';
  $form{'answer_output_mode'}='tex';   $form{'answer_output_mode'}='tex';
  $form{'rndseed'}=$rndseed;   $form{'rndseed'}=$rndseed;
                         if ($urlp=~/\/res\//) {$ENV{'request.state'}='published';}                          if ($urlp=~/\/res\//) {$ENV{'request.state'}='published';}
  my $answer=&Apache::lonnet::ssi($urlp,%form);   my $answer=&Apache::lonnet::ssi($urlp,%form);
  $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/;   if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {
       $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/;
    } else {
       $texversion=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});
       $texversion.='\vskip 0 mm \noindent\textbf{'.&Apache::lonnet::gettitle($helper->{'VARS'}->{'symb'}).'}\vskip 0 mm ';
       $texversion.=&path_to_problem ($currentURL,$LaTeXwidth);
       $texversion.='\vskip 1 mm '.$answer.'\end{document}';
    }
     }      }
     if ($flag_latex_header_remove ne 'NO') {      if ($flag_latex_header_remove ne 'NO') {
  $texversion = &latex_header_footer_remove($texversion);   $texversion = &latex_header_footer_remove($texversion);
Line 817  ENDPART Line 838  ENDPART
  }   }
     } elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems') or      } elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems') or
              ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems_pages') or               ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems_pages') or
              ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'all_problems')) {                ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'all_problems') or
        ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'select_sequences')) { 
         #-- produce an output string          #-- produce an output string
  my %form=();      my %form=();   
  $form{'grade_target'}='tex';   $form{'grade_target'}='tex';
Line 843  ENDPART Line 865  ENDPART
     $form{'symb'}=$master_seq[$i];      $form{'symb'}=$master_seq[$i];
     my ($sequence)=&Apache::lonnet::decode_symb($master_seq[$i]);      my ($sequence)=&Apache::lonnet::decode_symb($master_seq[$i]);
     my $assignment=&Apache::lonxml::latex_special_symbols(&Apache::lonnet::gettitle($sequence),'header'); #tittle of the assignment which contains this problem      my $assignment=&Apache::lonxml::latex_special_symbols(&Apache::lonnet::gettitle($sequence),'header'); #tittle of the assignment which contains this problem
       if ($i==0) {$prevassignment=$assignment;}
     #&Apache::lonnet::logthis("Trying to get $urlp with symb $master_seq[$i]");      #&Apache::lonnet::logthis("Trying to get $urlp with symb $master_seq[$i]");
     my $texversion=&Apache::lonnet::ssi($urlp,%form);      my $texversion=&Apache::lonnet::ssi($urlp,%form);
     if ($urlp=~/\.page$/) {      if ($urlp=~/\.page$/) {
Line 851  ENDPART Line 874  ENDPART
  $texversion =~ s/\\end{document}\d*/\\end{document}/;   $texversion =~ s/\\end{document}\d*/\\end{document}/;
  $flag_page_in_sequence = 'YES';   $flag_page_in_sequence = 'YES';
     }       } 
     if ($flag_latex_header_remove ne 'NO') {      if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') ||
  $texversion = &latex_header_footer_remove($texversion);         ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) {
     } else {  
  $texversion =~ s/\\end{document}//;  
     }  
     if($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {  
  my %form;   my %form;
  $form{'grade_target'}='answer';   $form{'grade_target'}='answer';
  $form{'answer_output_mode'}='tex';   $form{'answer_output_mode'}='tex';
  my $answer=&Apache::lonnet::ssi($urlp,%form);   my $answer=&Apache::lonnet::ssi($urlp,%form);
  $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/;   if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {
       $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/;
    } else {
       if ($urlp=~/\.(problem|exam|quiz|library)$/) {
    $texversion=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});
    $texversion.='\vskip 0 mm \noindent\textbf{'.&Apache::lonnet::gettitle($urlp).'}\vskip 0 mm ';
    $texversion.=&path_to_problem ($urlp,$LaTeXwidth);
    $texversion.='\vskip 1 mm '.$answer;
       } else {
    $texversion='';
       }
    }
       }
       if ($flag_latex_header_remove ne 'NO') {
    $texversion = &latex_header_footer_remove($texversion);
       } else {
    $texversion =~ s/\\end{document}//;
     }      }
     if ($helper->{'VARS'}->{'TABLE_INDEX'} eq 'yes') {      if ($helper->{'VARS'}->{'TABLE_INDEX'} eq 'yes') {
  $texversion=&IndexCreation($texversion,$urlp);   $texversion=&IndexCreation($texversion,$urlp);
     }      }
     if (($selectionmade == 4) and ($assignment ne $prevassignment) and ($i>=1)) {      if (($selectionmade == 4) and ($assignment ne $prevassignment)) {
  my ($name,$courseidinfo) = &get_name;   my $name = &get_name();
  $courseidinfo = &get_course();   my $courseidinfo = &get_course();
  if (defined($courseidinfo)) { $courseidinfo=' - '.$courseidinfo }   if (defined($courseidinfo)) { $courseidinfo=' - '.$courseidinfo }
  $prevassignment=$assignment;   $prevassignment=$assignment;
  $result .='\newpage \noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$name.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$assignment.'}}} \vskip -5 mm ';   $result .='\newpage \noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$name.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$assignment.'}}} \vskip -5 mm ';
Line 906  ENDPART Line 941  ENDPART
     if (&Apache::lonnet::allowed('bre',$res_url)) {      if (&Apache::lonnet::allowed('bre',$res_url)) {
  my $rendered = &Apache::loncommon::get_student_view($curresline,$username,$userdomain,   my $rendered = &Apache::loncommon::get_student_view($curresline,$username,$userdomain,
                                                                         $ENV{'request.course.id'},'tex');                                                                          $ENV{'request.course.id'},'tex');
  if ($flag_latex_header_remove eq 'YES') {   if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') ||
     $rendered = &latex_header_footer_remove($rendered);     ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) {
  } else {  
     $rendered =~ s/\\end{document}//;  
  }  
  if($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {  
     my %form;      my %form;
     $form{'answer_output_mode'}='tex';      $form{'answer_output_mode'}='tex';
     $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'};      $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'};
     my $ansrendered = &Apache::loncommon::get_student_answers($curresline,$username,$userdomain,$ENV{'request.course.id'},%form);      my $ansrendered = &Apache::loncommon::get_student_answers($curresline,$username,$userdomain,$ENV{'request.course.id'},%form);
     $rendered=~s/(\\keephidden{ENDOFPROBLEM})/$ansrendered$1/;      if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {
    $rendered=~s/(\\keephidden{ENDOFPROBLEM})/$ansrendered$1/;
       } else {
    $rendered=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});
    $rendered.='\vskip 0 mm \noindent\textbf{'.&Apache::lonnet::gettitle($curresline).'}\vskip 0 mm ';
    $rendered.=&path_to_problem ($curresline,$LaTeXwidth);
    $rendered.='\vskip 1 mm '.$ansrendered;
       }
    }
    if ($flag_latex_header_remove eq 'YES') {
       $rendered = &latex_header_footer_remove($rendered);
    } else {
       $rendered =~ s/\\end{document}//;
  }   }
  $current_output .= $rendered;   $current_output .= $rendered;
     }      }
Line 954  ENDPART Line 997  ENDPART
  }   }
  for (my $i=0;$i<=$#list_of_files;$i++) {   for (my $i=0;$i<=$#list_of_files;$i++) {
     my $urlp = $list_of_files[$i];      my $urlp = $list_of_files[$i];
       $urlp=~s|//|/|;
     if ($urlp=~/\//) {      if ($urlp=~/\//) {
  my %form;   my %form;
  $form{'grade_target'}='tex';   $form{'grade_target'}='tex';
Line 965  ENDPART Line 1009  ENDPART
     $urlp =~ s|^/home/httpd/html||;      $urlp =~ s|^/home/httpd/html||;
  }   }
  my $texversion=&Apache::lonnet::ssi($urlp,%form);   my $texversion=&Apache::lonnet::ssi($urlp,%form);
  if($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {   if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') ||
      ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) {
     my %form;      my %form;
     $form{'grade_target'}='answer';      $form{'grade_target'}='answer';
     $form{'answer_output_mode'}='tex';      $form{'answer_output_mode'}='tex';
     $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'};      $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'};
     $form{'rndseed'}=$rndseed;      $form{'rndseed'}=$rndseed;
     my $answer=&Apache::lonnet::ssi($urlp,%form);      my $answer=&Apache::lonnet::ssi($urlp,%form);
     $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/;      if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {
    $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/;
       } else {
    $texversion=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});
    if ($helper->{'VARS'}->{'construction'} ne '1') {
       $texversion.='\vskip 0 mm \noindent ';
       $texversion.=&path_to_problem ($urlp,$LaTeXwidth);
    } else {
       $texversion.='\vskip 0 mm \noindent\textbf{Prints from construction space - there is no title.}\vskip 0 mm ';
       my $URLpath=$urlp;
       $URLpath=~s/~([^\/]+)/public_html\/$1\/$1/;
       $texversion.=&path_to_problem ($URLpath,$LaTeXwidth);
    }
    $texversion.='\vskip 1 mm '.$answer.'\end{document}';
       }
  }   }
                 #this chunck is responsible for printing the path to problem                  #this chunck is responsible for printing the path to problem
  my $newurlp=&path_to_problem($urlp,$LaTeXwidth);   my $newurlp=$urlp;
    if ($newurlp=~/~/) {$newurlp=~s|\/~([^\/]+)\/|\/home\/$1\/public_html\/|;}
    $newurlp=&path_to_problem($newurlp,$LaTeXwidth);
  $texversion =~ s/(\\begin{minipage}{\\textwidth})/$1 $newurlp/;   $texversion =~ s/(\\begin{minipage}{\\textwidth})/$1 $newurlp/;
  if ($flag_latex_header_remove ne 'NO') {   if ($flag_latex_header_remove ne 'NO') {
     $texversion = &latex_header_footer_remove($texversion);      $texversion = &latex_header_footer_remove($texversion);
Line 1225  sub printHelper { Line 1286  sub printHelper {
   
     # If we're in a sequence...      # If we're in a sequence...
     if (($helper->{'VARS'}->{'construction'} ne '1') &&      if (($helper->{'VARS'}->{'construction'} ne '1') &&
  $helper->{VARS}->{'postdata'} && $sequenceTitle) {   $helper->{VARS}->{'postdata'} &&
    $helper->{VARS}->{'assignment'}) {
         # Allow problems from sequence          # Allow problems from sequence
         push @{$printChoices}, ["<b>Problems</b> in $sequenceTitle", 'map_problems', 'CHOOSE_PROBLEMS'];          push @{$printChoices}, ["<b>Problems</b> in $sequenceTitle", 'map_problems', 'CHOOSE_PROBLEMS'];
         # Allow all resources from sequence          # Allow all resources from sequence
Line 1260  HELPERFRAGMENT Line 1322  HELPERFRAGMENT
     # problems in the course, optionally for selected students      # problems in the course, optionally for selected students
     if ($userPriviledged && ($helper->{VARS}->{'postdata'}=~/\/res\//)) {       if ($userPriviledged && ($helper->{VARS}->{'postdata'}=~/\/res\//)) { 
         push @{$printChoices}, ['Problems from <b>entire course</b>', 'all_problems', 'ALL_PROBLEMS'];          push @{$printChoices}, ['Problems from <b>entire course</b>', 'all_problems', 'ALL_PROBLEMS'];
  if ($sequenceTitle) {   if ($helper->{VARS}->{'assignment'}) {
     push @{$printChoices}, ["Problems from $sequenceTitle for <b>selected students</b>", 'problems_for_students', 'CHOOSE_STUDENTS'];      push @{$printChoices}, ["Problems from $sequenceTitle for <b>selected students</b>", 'problems_for_students', 'CHOOSE_STUDENTS'];
  }   }
   
Line 1324  CHOOSE_FROM_SUBDIR Line 1386  CHOOSE_FROM_SUBDIR
     # another resource selector for that sequence      # another resource selector for that sequence
     if (!$helper->{VARS}->{'construction'}) {      if (!$helper->{VARS}->{'construction'}) {
  push @$printChoices, ["Resources from <b>selected sequence</b> in course",   push @$printChoices, ["Resources from <b>selected sequence</b> in course",
       'map_problems_pages', 'CHOOSE_SEQUENCE'];        'select_sequences', 'CHOOSE_SEQUENCE'];
    my $escapedSequenceName = $helper->{VARS}->{'SEQUENCE'};
    #Escape apostrophes and backslashes for Perl
    $escapedSequenceName =~ s/\\/\\\\/g;
    $escapedSequenceName =~ s/'/\\'/g;
  &Apache::lonxml::xmlparse($r, 'helper', <<CHOOSE_FROM_ANY_SEQUENCE);   &Apache::lonxml::xmlparse($r, 'helper', <<CHOOSE_FROM_ANY_SEQUENCE);
   <state name="CHOOSE_SEQUENCE" title="Select Sequence To Print From">    <state name="CHOOSE_SEQUENCE" title="Select Sequence To Print From">
     <message>Select the sequence to print resources from:</message>      <message>Select the sequence to print resources from:</message>
Line 1339  CHOOSE_FROM_SUBDIR Line 1405  CHOOSE_FROM_SUBDIR
     <resource variable="RESOURCES" multichoice="1" toponly='1' addstatus="1">      <resource variable="RESOURCES" multichoice="1" toponly='1' addstatus="1">
       <nextstate>PAGESIZE</nextstate>        <nextstate>PAGESIZE</nextstate>
       <filterfunc>return $isProblem</filterfunc>        <filterfunc>return $isProblem</filterfunc>
       <mapurl evaluate='1'>return $helper->{VARS}->{'SEQUENCE'};</mapurl>        <mapurl evaluate='1'>return '$escapedSequenceName';</mapurl>
       <valuefunc>return $symbFilter;</valuefunc>        <valuefunc>return $symbFilter;</valuefunc>
       </resource>        </resource>
     </state>      </state>

Removed from v.1.242  
changed lines
  Added in v.1.253


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