--- loncom/interface/lonprintout.pm 2004/05/27 17:30:48 1.304
+++ loncom/interface/lonprintout.pm 2004/06/07 19:08:36 1.306
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Printout
#
-# $Id: lonprintout.pm,v 1.304 2004/05/27 17:30:48 sakharuk Exp $
+# $Id: lonprintout.pm,v 1.306 2004/06/07 19:08:36 sakharuk Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1286,35 +1286,59 @@ sub print_resources {
($curresline!~ m/\.(problem|exam|quiz|assess|survey|form|library)$/)) ) {
my ($map,$id,$res_url) = &Apache::lonnet::decode_symb($curresline);
if (&Apache::lonnet::allowed('bre',$res_url)) {
- my $rendered = &Apache::loncommon::get_student_view($curresline,$username,$userdomain,$ENV{'request.course.id'},'tex',$moreenv);
- my $lonidsdir=$r->dir_config('lonIDsDir');
- my $envfile=$ENV{'user.environment'};
- $envfile=~/\/([^\/]+)\.id$/;
- $envfile=$1;
- &Apache::lonnet::transfer_profile_to_env($lonidsdir,$envfile);
- my $current_counter=$ENV{'form.counter'};
- if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') ||
- ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) {
- my %form;
- $form{'answer_output_mode'}='tex';
- $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'};
- my $ansrendered = &Apache::loncommon::get_student_answers($curresline,$username,$userdomain,$ENV{'request.course.id'},%form);
- &Apache::lonnet::appenv(('form.counter' => $current_counter));
- if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {
- $rendered=~s/(\\keephidden{ENDOFPROBLEM})/$ansrendered$1/;
+ if ($res_url=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) {
+ my $rendered = &Apache::loncommon::get_student_view($curresline,$username,$userdomain,$ENV{'request.course.id'},'tex',$moreenv);
+ my $lonidsdir=$r->dir_config('lonIDsDir');
+ my $envfile=$ENV{'user.environment'};
+ $envfile=~/\/([^\/]+)\.id$/;
+ $envfile=$1;
+ &Apache::lonnet::transfer_profile_to_env($lonidsdir,$envfile);
+ my $current_counter=$ENV{'form.counter'};
+ if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') ||
+ ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) {
+ my %form;
+ $form{'answer_output_mode'}='tex';
+ $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'};
+ my $ansrendered = &Apache::loncommon::get_student_answers($curresline,$username,$userdomain,$ENV{'request.course.id'},%form);
+ &Apache::lonnet::appenv(('form.counter' => $current_counter));
+ 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 ($remove_latex_header eq 'YES') {
+ $rendered = &latex_header_footer_remove($rendered);
} 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;
+ $rendered =~ s/\\end{document}//;
}
- }
- if ($remove_latex_header eq 'YES') {
- $rendered = &latex_header_footer_remove($rendered);
+ $current_output .= $rendered;
+ } elsif ($res_url=~/\/(smppg|syllabus|aboutme|bulletinboard)$/) {
+ my $rendered = &Apache::loncommon::get_student_view($curresline,$username,$userdomain,$ENV{'request.course.id'},'tex',$moreenv);
+ my $lonidsdir=$r->dir_config('lonIDsDir');
+ my $envfile=$ENV{'user.environment'};
+ $envfile=~/\/([^\/]+)\.id$/;
+ $envfile=$1;
+ &Apache::lonnet::transfer_profile_to_env($lonidsdir,$envfile);
+ my $current_counter=$ENV{'form.counter'};
+ if ($remove_latex_header eq 'YES') {
+ $rendered = &latex_header_footer_remove($rendered);
+ } else {
+ $rendered =~ s/\\end{document}//;
+ }
+ $current_output .= $rendered.'\vskip 0.5mm\noindent\makebox[\textwidth/$number_of_columns][b]{\hrulefill}\strut \vskip 0 mm \strut ';
} else {
- $rendered =~ s/\\end{document}//;
+ my $rendered = &unsupported($res_url);
+ if ($remove_latex_header ne 'NO') {
+ $rendered = &latex_header_footer_remove($rendered);
+ } else {
+ $rendered =~ s/\\end{document}//;
+ }
+ $current_output .= $rendered;
}
- $current_output .= $rendered;
}
$remove_latex_header = 'YES';
}
@@ -1572,7 +1596,8 @@ HELPERFRAGMENT
# If the user is priviledged, allow them to print all
# problems in the course, optionally for selected students
- if ($userPriviledged && ($helper->{VARS}->{'postdata'}=~/\/res\//)) {
+ if ($userPriviledged &&
+ ($helper->{VARS}->{'postdata'}=~/\/res\// || $helper->{VARS}->{'postdata'}=~/\/(syllabus|smppg|aboutme|bulletinboard)$/)) {
push @{$printChoices}, ['Problems from entire course', 'all_problems', 'ALL_PROBLEMS'];
&Apache::lonxml::xmlparse($r, 'helper', <