--- loncom/interface/lonprintout.pm 2003/08/18 19:57:36 1.218 +++ loncom/interface/lonprintout.pm 2003/09/02 20:58:31 1.225 @@ -1,7 +1,7 @@ # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.218 2003/08/18 19:57:36 sakharuk Exp $ +# $Id: lonprintout.pm,v 1.225 2003/09/02 20:58:31 bowersj2 Exp $ # # Copyright Michigan State University Board of Trustees # @@ -483,7 +483,7 @@ sub get_course { sub page_format_transformation { my ($papersize,$layout,$numberofcolumns,$choice,$text,$assignment,$tableofcontents,$indexlist) = @_; my ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin); - $assignment=~s/_/ /g; + $assignment=&Apache::lonxml::latex_special_symbols($assignment,'header'); if ($numberofcolumns != 1) { ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin) = &page_format($papersize,$layout,$numberofcolumns,$topmargin); } else { @@ -687,6 +687,10 @@ ENDPART if ($helper->{'VARS'}->{'TABLE_INDEX'} eq 'yes') { $texversion=&IndexCreation($texversion,$currentURL); } + if ($helper->{'VARS'}->{'CONSTR_RESOURSE_URL'} eq 'yes') { + $texversion=~s/(\\addcontentsline\{toc\}\{subsection\}\{[^\}]*\})/$1 URL: \\verb|$currentURL| \\strut\\\\\\strut /; + + } $result .= $texversion; if ($currentURL=~m/\.page\s*$/) { ($result,$number_of_columns) = &page_cleanup($result); @@ -729,7 +733,7 @@ ENDPART } $form{'symb'}=$master_seq[$i]; $master_seq[$i]=~/(.*)___\d*___/; - my $assignment=&Apache::lonnet::gettitle($1); #tittle of the assignment which contains this problem + my $assignment=&Apache::lonxml::latex_special_symbols(&Apache::lonnet::gettitle($1),'header'); #tittle of the assignment which contains this problem #&Apache::lonnet::logthis("Trying to get $urlp with symb $master_seq[$i]"); my $texversion=&Apache::lonnet::ssi($urlp,%form); if ($urlp=~/\.page$/) { @@ -812,13 +816,13 @@ ENDPART } my $courseidinfo = &get_course(); if (defined($courseidinfo)) { $courseidinfo=' - '.$courseidinfo } - + my $currentassignment=&Apache::lonxml::latex_special_symbols($helper->{VARS}->{'assignment'},'header'); if ($current_output=~/\\documentclass/) { - $current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm} \\begin{document}\\noindent\\lhead{\\textit{\\textbf{$fullname}}$courseidinfo \\hfill \\thepage \\\\ \\textit{$helper->{VARS}->{'assignment'}}}\\vskip 3 mm /; + $current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm} \\begin{document}\\noindent\\lhead{\\textit{\\textbf{$fullname}}$courseidinfo \\hfill \\thepage \\\\ \\textit{$currentassignment}}\\vskip 3 mm /; } else { my $blanspages = ''; for (my $j=0;$j<$helper->{'VARS'}->{'EMPTY_PAGES'};$j++) {$blanspages.='\clearpage\strut\clearpage';} - $current_output = '\strut\\newline\\noindent\\makebox[\\textwidth/$number_of_columns][b]{\\hrulefill}\\newline\\noindent{\\tiny Printed from LON-CAPA\\copyright MSU{\\hfill} Licensed under GNU General Public License }\\newpage '.$blanspages.'\setcounter{page}{1}\noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$fullname.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$helper->{VARS}->{'assignment'}.'}}} \vskip -5 mm '.$current_output; + $current_output = '\strut\\newline\\noindent\\makebox[\\textwidth/$number_of_columns][b]{\\hrulefill}\\newline\\noindent{\\tiny Printed from LON-CAPA\\copyright MSU{\\hfill} Licensed under GNU General Public License }\\newpage '.$blanspages.'\setcounter{page}{1}\noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$fullname.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$currentassignment.'}}} \vskip -5 mm '.$current_output; } $result .= $current_output; &Apache::lonnet::delenv('form.counter'); @@ -886,6 +890,10 @@ ENDPART if ($helper->{'VARS'}->{'TABLE_INDEX'} eq 'yes') { $texversion=&IndexCreation($texversion,$urlp); } + if ($helper->{'VARS'}->{'CONSTR_RESOURSE_URL'} eq 'yes') { + $texversion=~s/(\\addcontentsline\{toc\}\{subsection\}\{[^\}]*\})/$1 URL: \\verb|$urlp| \\strut\\\\\\strut /; + + } $result .= $texversion; } $flag_latex_header_remove = 'YES'; @@ -907,6 +915,7 @@ ENDPART if ($helper->{'VARS'}->{'TABLE_INDEX'} eq 'yes') { if ($selectionmade<10) {$selectionmade*=100;} else {$selectionmade*=10;} } + if ($ENV{'request.role.adv'}) {$selectionmade*=10000;} #-- writing .tex file in prtspool my $temp_file; my $filename = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout_".time."_".rand(10000000).".tex"; @@ -963,6 +972,13 @@ sub handler { use Apache::lonhelper; +sub addMessage { + my $text = shift; + my $paramHash = Apache::lonhelper::getParamHash(); + $paramHash->{MESSAGE_TEXT} = $text; + Apache::lonhelper::message->new(); +} + sub printHelper { my $r = shift; @@ -1147,7 +1163,7 @@ HELPERFRAGMENT - +
Select resources for the assignment
@@ -1180,8 +1196,8 @@ CHOOSE_STUDENTS CHOOSE_FROM_SUBDIR $xmlfrag .= <<'CHOOSE_FROM_SUBDIR'; - return $filename =~ - m/\.(problem|exam|quiz|assess|survey|form|library)$/; + return Apache::lonhelper::files::not_old_version($filename) && + $filename =~ m/\.(problem|exam|quiz|assess|survey|form|library)$/;
@@ -1190,7 +1206,7 @@ CHOOSE_FROM_SUBDIR } # Generate the first state, to select which resources get printed. - Apache::lonhelper::state->new("START", "What do you want to print? Make a choice."); + Apache::lonhelper::state->new("START", "Select Printing Options:"); $paramHash = Apache::lonhelper::getParamHash(); $paramHash->{MESSAGE_TEXT} = ""; Apache::lonhelper::message->new(); @@ -1200,63 +1216,81 @@ CHOOSE_FROM_SUBDIR $paramHash->{CHOICES} = $printChoices; Apache::lonhelper::choices->new(); + my $startedTable = 0; # have we started an HTML table yet? (need + # to close it later) + if (($ENV{'request.role.adv'} and &Apache::lonnet::allowed('vgr',$ENV{'request.course.id'})) or ($helper->{VARS}->{'construction'} eq '1')) { - $paramHash = Apache::lonhelper::getParamHash(); - $paramHash->{MESSAGE_TEXT} = "
Next four options are available only for advanced users: "; - Apache::lonhelper::message->new(); + addMessage("
"); + $startedTable = 1; } if ($ENV{'request.role.adv'}) { - $paramHash = Apache::lonhelper::getParamHash(); - $paramHash->{MESSAGE_TEXT} = "
Print With Answers:"); $paramHash = Apache::lonhelper::getParamHash(); $paramHash->{'variable'} = 'ANSWER_TYPE'; $helper->declareVar('ANSWER_TYPE'); $paramHash->{CHOICES} = [ - ['Print without answer', 'yes'], - ['Print with answers', 'no'] ]; + ['Yes', 'yes'], + ['No', 'no'] ]; Apache::lonhelper::dropdown->new(); + addMessage("
 "; - Apache::lonhelper::message->new(); + if (!$startedTable) { + addMessage("
"); - $paramHash = Apache::lonhelper::getParamHash(); - $paramHash->{MESSAGE_TEXT} = ""); + } - $paramHash = Apache::lonhelper::getParamHash(); - $paramHash->{MESSAGE_TEXT} = "
LaTeX mode: "); + $startedTable = 1; + } else { + addMessage("
LaTeX mode: "); + } $paramHash = Apache::lonhelper::getParamHash(); $paramHash->{'variable'} = 'LATEX_TYPE'; $helper->declareVar('LATEX_TYPE'); if ($helper->{VARS}->{'construction'} eq '1') { $paramHash->{CHOICES} = [ - ['Print in standard LaTeX mode', 'standard'], - ['Print in LaTeX batchmode', 'batchmode'], ]; + ['standard LaTeX mode', 'standard'], + ['LaTeX batchmode', 'batchmode'], ]; } else { $paramHash->{CHOICES} = [ - ['Print in LaTeX batchmode', 'batchmode'], - ['Print in standard LaTeX mode', 'standard'] ]; + ['LaTeX batchmode', 'batchmode'], + ['standard LaTeX mode', 'standard'] ]; } Apache::lonhelper::dropdown->new(); - $paramHash = Apache::lonhelper::getParamHash(); - $paramHash->{MESSAGE_TEXT} = "
 "; - Apache::lonhelper::message->new(); + addMessage("
Print Table of Contents: "); $paramHash = Apache::lonhelper::getParamHash(); $paramHash->{'variable'} = 'TABLE_CONTENTS'; $helper->declareVar('TABLE_CONTENTS'); $paramHash->{CHOICES} = [ - ['Print without Table of Contents', 'no'], - ['Print with Table of Contents', 'yes'] ]; + ['No', 'no'], + ['Yes', 'yes'] ]; Apache::lonhelper::dropdown->new(); + addMessage("
 "; - Apache::lonhelper::message->new(); - $paramHash = Apache::lonhelper::getParamHash(); - $paramHash->{'variable'} = 'TABLE_INDEX'; - $helper->declareVar('TABLE_INDEX'); - $paramHash->{CHOICES} = [ - ['Print without Index', 'no'], - ['Print with Index', 'yes'] ]; - Apache::lonhelper::dropdown->new(); + if (not $helper->{VARS}->{'construction'}) { + addMessage("
Print Index: "); + $paramHash = Apache::lonhelper::getParamHash(); + $paramHash->{'variable'} = 'TABLE_INDEX'; + $helper->declareVar('TABLE_INDEX'); + $paramHash->{CHOICES} = [ + ['No', 'no'], + ['Yes', 'yes'] ]; + Apache::lonhelper::dropdown->new(); + addMessage("
"; - Apache::lonhelper::message->new(); + if ($helper->{VARS}->{'construction'}) { + addMessage(""); + } + } + + if ($startedTable) { + addMessage("
Print With URL: "); + $paramHash = Apache::lonhelper::getParamHash(); + $paramHash->{'variable'} = 'CONSTR_RESOURSE_URL'; + $helper->declareVar('CONSTR_RESOURSE_URL'); + $paramHash->{CHOICES} = [ + ['No', 'no'], + ['Yes', 'yes'] ]; + Apache::lonhelper::dropdown->new(); + addMessage("
"); } Apache::lonprintout::page_format_state->new("FORMAT"); @@ -1347,7 +1381,7 @@ sub render { $result .= <What page format do you prefer?

+
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.

Page layout