version 1.412, 2005/12/23 08:32:46
|
version 1.423, 2006/02/24 22:37:45
|
Line 226 sub latex_header_footer_remove {
|
Line 226 sub latex_header_footer_remove {
|
$text =~ s/\\documentclass([^&]*)\\begin{document}//; |
$text =~ s/\\documentclass([^&]*)\\begin{document}//; |
return $text; |
return $text; |
} |
} |
|
# |
|
# If necessary, encapsulate text inside |
|
# a minipage env. |
|
# necessity is determined by the problem_split param. |
|
# |
|
sub encapsulate_minipage { |
|
my ($text) = @_; |
|
if (!(env{'form.problem.split'} =~ /yes/i)) { |
|
$text = '\begin{minipage}{\textwidth}'.$text.'\end{minipage}'; |
|
} |
|
return $text; |
|
} |
|
|
|
|
sub character_chart { |
sub character_chart { |
Line 751 sub details_for_menu {
|
Line 763 sub details_for_menu {
|
|
|
sub latex_corrections { |
sub latex_corrections { |
my ($number_of_columns,$result,$selectionmade,$answer_mode) = @_; |
my ($number_of_columns,$result,$selectionmade,$answer_mode) = @_; |
|
|
# $result =~ s/\\includegraphics{/\\includegraphics\[width=\\minipagewidth\]{/g; |
# $result =~ s/\\includegraphics{/\\includegraphics\[width=\\minipagewidth\]{/g; |
$result =~ s/\$number_of_columns/$number_of_columns/g; |
$result =~ s/\$number_of_columns/$number_of_columns/g; |
if ($selectionmade eq '1' || $answer_mode eq 'only') { |
if ($selectionmade eq '1' || $answer_mode eq 'only') { |
Line 781 sub latex_corrections {
|
Line 792 sub latex_corrections {
|
} |
} |
$result =~ s/(\\end{tabular})\s*\\vskip 0 mm/$1/g; |
$result =~ s/(\\end{tabular})\s*\\vskip 0 mm/$1/g; |
$result =~ s/(\\begin{enumerate})\s*\\noindent/$1/g; |
$result =~ s/(\\begin{enumerate})\s*\\noindent/$1/g; |
|
|
return $result; |
return $result; |
} |
} |
|
|
Line 895 sub get_textwidth {
|
Line 905 sub get_textwidth {
|
|
|
|
|
sub unsupported { |
sub unsupported { |
my ($currentURL,$mode)=@_; |
my ($currentURL,$mode,$symb)=@_; |
if ($mode ne '') {$mode='\\'.$mode} |
if ($mode ne '') {$mode='\\'.$mode} |
my $result.= &print_latex_header($mode); |
my $result.= &print_latex_header($mode); |
if ($currentURL=~/\/ext\//) { |
if ($currentURL=~m|^(/adm/wrapper/)?ext/|) { |
$result.=' \strut \\\\ THIS IS EXTERNAL RESOURCE WITH URL \strut \\\\ '.$currentURL.' '; |
$currentURL=~s|^(/adm/wrapper/)?ext/|http://|; |
|
my $title=&Apache::lonnet::gettitle($symb); |
|
$title = &Apache::lonxml::latex_special_symbols($title); |
|
$result.=' \strut \\\\ '.$title.' \strut \\\\ '.$currentURL.' '; |
} else { |
} else { |
$result.=$currentURL; |
$result.=$currentURL; |
} |
} |
Line 960 sub recently_generated {
|
Line 973 sub recently_generated {
|
# A reference to a page break hash. |
# A reference to a page break hash. |
# |
# |
# |
# |
|
#use Data::Dumper; |
|
#sub dump_helper_vars { |
|
# my ($helper) = @_; |
|
# my $helpervars = Dumper($helper->{'VARS'}); |
|
# &Apache::lonnet::logthis("Dump of helper vars:\n $helpervars"); |
|
#} |
|
|
sub get_page_breaks { |
sub get_page_breaks { |
my ($helper) = @_; |
my ($helper) = @_; |
my %page_breaks; |
my %page_breaks; |
|
|
foreach my $break (split /\|\|\|/, $helper->{'VARS'}->{'FINISHPAGE'}) { |
foreach my $break (split /\|\|\|/, $helper->{'VARS'}->{'FINISHPAGE'}) { |
$page_breaks{$break} = 1; |
$page_breaks{$break} = 1; |
} |
} |
|
|
return %page_breaks; |
return %page_breaks; |
} |
} |
|
|
Line 1078 ENDPART
|
Line 1096 ENDPART
|
$cleanURL=$currentURL; |
$cleanURL=$currentURL; |
} |
} |
$selectionmade = 1; |
$selectionmade = 1; |
if ($cleanURL=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) { |
if ($cleanURL!~m|^/adm/| |
|
&& $cleanURL=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) { |
my $rndseed=time; |
my $rndseed=time; |
my $texversion=''; |
my $texversion=''; |
if ($helper->{'VARS'}->{'ANSWER_TYPE'} ne 'only') { |
if ($helper->{'VARS'}->{'ANSWER_TYPE'} ne 'only') { |
Line 1109 ENDPART
|
Line 1128 ENDPART
|
&Apache::lonnet::delenv('form.counter'); |
&Apache::lonnet::delenv('form.counter'); |
&Apache::lonnet::delenv('request.filename'); |
&Apache::lonnet::delenv('request.filename'); |
} |
} |
|
# current document with answers.. no need to encap in minipage |
|
# since there's only one answer. |
|
|
if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') || |
if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') || |
($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) { |
($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) { |
$form{'problem_split'}=$parmhash{'problem_stream_switch'}; |
$form{'problem_split'}=$parmhash{'problem_stream_switch'}; |
Line 1147 ENDPART
|
Line 1169 ENDPART
|
if ($currentURL=~m/\.page\s*$/) { |
if ($currentURL=~m/\.page\s*$/) { |
($result,$number_of_columns) = &page_cleanup($result); |
($result,$number_of_columns) = &page_cleanup($result); |
} |
} |
} elsif ($currentURL=~/\.sequence$/ && $helper->{'VARS'}->{'construction'} eq '1') { |
} elsif ($cleanURL!~m|^/adm/| |
|
&& $currentURL=~/\.sequence$/ && $helper->{'VARS'}->{'construction'} eq '1') { |
#printing content of sequence from the construction space |
#printing content of sequence from the construction space |
my $flag_latex_header_remove = 'NO'; |
my $flag_latex_header_remove = 'NO'; |
my $rndseed=time; |
my $rndseed=time; |
Line 1184 ENDPART
|
Line 1207 ENDPART
|
if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { |
if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { |
$texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/; |
$texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/; |
} else { |
} else { |
|
# If necessary, encapsulate answer in minipage: |
|
|
$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 '; |
my $body ='\vskip 0 mm \noindent\textbf{'.&Apache::lonnet::gettitle($helper->{'VARS'}->{'symb'}).'}\vskip 0 mm '; |
$texversion.=&path_to_problem($urlp,$LaTeXwidth); |
$body.=&path_to_problem($urlp,$LaTeXwidth); |
$texversion.='\vskip 1 mm '.$answer.'\end{document}'; |
$body.='\vskip 1 mm '.$answer.'\end{document}'; |
|
$body = &encapsulate_minipage($body); |
|
$texversion.=$body; |
} |
} |
} |
} |
if ($flag_latex_header_remove ne 'NO') { |
if ($flag_latex_header_remove ne 'NO') { |
Line 1216 ENDPART
|
Line 1243 ENDPART
|
my $texversion=&Apache::lonnet::ssi($currentURL,%form); |
my $texversion=&Apache::lonnet::ssi($currentURL,%form); |
$result .= $texversion; |
$result .= $texversion; |
} else { |
} else { |
$result.=&unsupported($currentURL,$helper->{'VARS'}->{'LATEX_TYPE'}); |
$result.=&unsupported($currentURL,$helper->{'VARS'}->{'LATEX_TYPE'}, |
|
$helper->{'VARS'}->{'symb'}); |
} |
} |
} 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 |
Line 1247 ENDPART
|
Line 1275 ENDPART
|
&Apache::lonnet::delenv('form.counter'); |
&Apache::lonnet::delenv('form.counter'); |
&Apache::lonxml::init_counter(); |
&Apache::lonxml::init_counter(); |
&Apache::lonxml::store_counter(); |
&Apache::lonxml::store_counter(); |
|
my $pbreakresources = keys %page_breaks; |
for (my $i=0;$i<=$#master_seq;$i++) { |
for (my $i=0;$i<=$#master_seq;$i++) { |
|
|
# Note due to document structure, not allowed to put \newpage |
# Note due to document structure, not allowed to put \newpage |
Line 1265 ENDPART
|
Line 1294 ENDPART
|
if ($selectionmade==7) {$helper->{VARS}->{'assignment'}=$assignment;} |
if ($selectionmade==7) {$helper->{VARS}->{'assignment'}=$assignment;} |
if ($i==0) {$prevassignment=$assignment;} |
if ($i==0) {$prevassignment=$assignment;} |
my $texversion=''; |
my $texversion=''; |
if ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) { |
if ($urlp!~m|^/adm/| |
|
&& $urlp=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) { |
$resources_printed .= $urlp.':'; |
$resources_printed .= $urlp.':'; |
my $pre_counter=$env{'form.counter'}; |
my $pre_counter=$env{'form.counter'}; |
$texversion.=&Apache::lonnet::ssi($urlp,%form); |
$texversion.=&Apache::lonnet::ssi($urlp,%form); |
Line 1294 ENDPART
|
Line 1324 ENDPART
|
} else { |
} else { |
if ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library)$/) { |
if ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library)$/) { |
$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($master_seq[$i]).'}\vskip 0 mm '; |
my $body ='\vskip 0 mm \noindent\textbf{'.&Apache::lonnet::gettitle($master_seq[$i]).'}\vskip 0 mm '; |
$texversion.=&path_to_problem ($urlp,$LaTeXwidth); |
$body .= &path_to_problem ($urlp,$LaTeXwidth); |
$texversion.='\vskip 1 mm '.$answer; |
$body .='\vskip 1 mm '.$answer; |
|
$body = &encapsulate_minipage($body); |
|
$texversion .= $body; |
} else { |
} else { |
$texversion=''; |
$texversion=''; |
} |
} |
Line 1315 ENDPART
|
Line 1347 ENDPART
|
my $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 '; |
if ($numberofcolumns eq '1') { |
|
$result .='\newpage \noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$name.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$assignment.'}}} \vskip 5 mm '; |
|
} else { |
|
$result .='\newpage \noindent\parbox{\minipagewidth}{\noindent\\fancyhead[LO]{\\textit{\\textbf{'.$name.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$assignment.'}}} \vskip 5 mm '; |
|
} |
} |
} |
$result .= $texversion; |
$result .= $texversion; |
$flag_latex_header_remove = 'YES'; |
$flag_latex_header_remove = 'YES'; |
Line 1332 ENDPART
|
Line 1368 ENDPART
|
$result .= $texversion; |
$result .= $texversion; |
$flag_latex_header_remove = 'YES'; |
$flag_latex_header_remove = 'YES'; |
} else { |
} else { |
$texversion=&unsupported($urlp,$helper->{'VARS'}->{'LATEX_TYPE'}); |
$texversion=&unsupported($urlp,$helper->{'VARS'}->{'LATEX_TYPE'}, |
|
$master_seq[$i]); |
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); |
} else { |
} else { |
Line 1402 ENDPART
|
Line 1439 ENDPART
|
$person,$type, |
$person,$type, |
\%moreenv,\@master_seq, |
\%moreenv,\@master_seq, |
$flag_latex_header_remove, |
$flag_latex_header_remove, |
$LaTeXwidth, |
$LaTeXwidth); |
$number_of_columns); |
|
$resources_printed .= ":"; |
$resources_printed .= ":"; |
$print_array[$i].=$output; |
$print_array[$i].=$output; |
$student_names[$i].=$person.':'.$fullname.'_END_'; |
$student_names[$i].=$person.':'.$fullname.'_END_'; |
Line 1435 ENDPART
|
Line 1471 ENDPART
|
} |
} |
my %moreenv = ('textwidth' => &get_textwidth($helper,$LaTeXwidth)); |
my %moreenv = ('textwidth' => &get_textwidth($helper,$LaTeXwidth)); |
$moreenv{'problem_split'} = $parmhash{'problem_stream_switch'}; |
$moreenv{'problem_split'} = $parmhash{'problem_stream_switch'}; |
|
$moreenv{'instructor_comments'}='hide'; |
my $seed=time+($$<<16)+($$); |
my $seed=time+($$<<16)+($$); |
my @allcodes; |
my @allcodes; |
if ($old_name) { |
if ($old_name) { |
Line 1708 sub get_CODE {
|
Line 1745 sub get_CODE {
|
|
|
sub print_resources { |
sub print_resources { |
my ($r,$helper,$person,$type,$moreenv,$master_seq,$remove_latex_header, |
my ($r,$helper,$person,$type,$moreenv,$master_seq,$remove_latex_header, |
$LaTeXwidth,$number_of_columns)=@_; |
$LaTeXwidth)=@_; |
my $current_output = ''; |
my $current_output = ''; |
my $printed = ''; |
my $printed = ''; |
my ($username,$userdomain,$usersection) = split /:/,$person; |
my ($username,$userdomain,$usersection) = split /:/,$person; |
Line 1725 sub print_resources {
|
Line 1762 sub print_resources {
|
&Apache::lonxml::init_counter(); |
&Apache::lonxml::init_counter(); |
&Apache::lonxml::store_counter(); |
&Apache::lonxml::store_counter(); |
my %page_breaks = &get_page_breaks($helper); |
my %page_breaks = &get_page_breaks($helper); |
|
my @format_array = split(/\|/,$helper->{'VARS'}->{'FORMAT'}); |
|
my $columns_in_format = $format_array[1]; |
|
|
foreach my $curresline (@{$master_seq}) { |
foreach my $curresline (@{$master_seq}) { |
if (defined $page_breaks{$curresline}) { |
if (defined $page_breaks{$curresline}) { |
Line 1737 sub print_resources {
|
Line 1776 sub print_resources {
|
($curresline!~ m/\.(problem|exam|quiz|assess|survey|form|library)$/)) ) { |
($curresline!~ m/\.(problem|exam|quiz|assess|survey|form|library)$/)) ) { |
my ($map,$id,$res_url) = &Apache::lonnet::decode_symb($curresline); |
my ($map,$id,$res_url) = &Apache::lonnet::decode_symb($curresline); |
if (&Apache::lonnet::allowed('bre',$res_url)) { |
if (&Apache::lonnet::allowed('bre',$res_url)) { |
if ($res_url=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) { |
if ($res_url!~m|^ext/| |
|
&& $res_url=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) { |
$printed .= $curresline.':'; |
$printed .= $curresline.':'; |
my $pre_counter=$env{'form.counter'}; |
my $pre_counter=$env{'form.counter'}; |
my $rendered = &Apache::loncommon::get_student_view($curresline,$username,$userdomain,$env{'request.course.id'},'tex',$moreenv); |
my $rendered = &Apache::loncommon::get_student_view($curresline,$username,$userdomain,$env{'request.course.id'},'tex',$moreenv); |
Line 1758 sub print_resources {
|
Line 1798 sub print_resources {
|
if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { |
if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { |
$rendered=~s/(\\keephidden{ENDOFPROBLEM})/$ansrendered$1/; |
$rendered=~s/(\\keephidden{ENDOFPROBLEM})/$ansrendered$1/; |
} else { |
} 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($res_url,$LaTeXwidth); |
my $header =&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'}); |
$rendered.='\vskip 1 mm '.$ansrendered; |
my $body ='\vskip 0 mm \noindent\textbf{'.&Apache::lonnet::gettitle($curresline).'}\vskip 0 mm '; |
|
$body .=&path_to_problem($res_url,$LaTeXwidth); |
|
$body .='\vskip 1 mm '.$ansrendered; |
|
$body = &encapsulate_minipage($body); |
|
$rendered = $header.$body; |
} |
} |
} |
} |
if ($remove_latex_header eq 'YES') { |
if ($remove_latex_header eq 'YES') { |
Line 1783 sub print_resources {
|
Line 1827 sub print_resources {
|
} else { |
} else { |
$rendered =~ s/\\end{document}//; |
$rendered =~ s/\\end{document}//; |
} |
} |
$current_output .= $rendered.'\vskip 0.5mm\noindent\makebox[\textwidth/'.$number_of_columns.'][b]{\hrulefill}\strut \vskip 0 mm \strut '; |
$current_output .= $rendered.'\vskip 0.5mm\noindent\makebox[\textwidth/$number_of_columns][b]{\hrulefill}\strut \vskip 0 mm \strut '; |
|
|
} else { |
} else { |
my $rendered = &unsupported($res_url,$helper->{'VARS'}->{'LATEX_TYPE'}); |
my $rendered = &unsupported($res_url,$helper->{'VARS'}->{'LATEX_TYPE'},$curresline); |
if ($remove_latex_header ne 'NO') { |
if ($remove_latex_header ne 'NO') { |
$rendered = &latex_header_footer_remove($rendered); |
$rendered = &latex_header_footer_remove($rendered); |
} else { |
} else { |
Line 1803 sub print_resources {
|
Line 1848 sub print_resources {
|
if ($usersection ne '') {$courseidinfo.=' - Sec. '.$usersection} |
if ($usersection ne '') {$courseidinfo.=' - Sec. '.$usersection} |
my $currentassignment=&Apache::lonxml::latex_special_symbols($helper->{VARS}->{'assignment'},'header'); |
my $currentassignment=&Apache::lonxml::latex_special_symbols($helper->{VARS}->{'assignment'},'header'); |
if ($current_output=~/\\documentclass/) { |
if ($current_output=~/\\documentclass/) { |
$current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm} \\begin{document}\\noindent\\parbox{\\minipagewidth}{\\noindent\\lhead{\\textit{\\textbf{$fullname}}$courseidinfo \\hfill \\thepage \\\\ \\textit{$currentassignment}$namepostfix}}\\vskip 5 mm /; |
if ($columns_in_format == 1) { |
|
$current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm} \\begin{document}\\noindent\\parbox{\\minipagewidth}{\\noindent\\lhead{\\textit{\\textbf{$fullname}}$courseidinfo \\hfill \\thepage \\\\ \\textit{$currentassignment}$namepostfix}}\\vskip 5 mm /; |
|
} else { |
|
$current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm} \\begin{document}\\noindent\\parbox{\\minipagewidth}{\\noindent\\fancyhead[LO]{\\textit{\\textbf{$fullname}}$courseidinfo \\hfill \\thepage \\\\ \\textit{$currentassignment}$namepostfix}}\\vskip 5 mm /; |
|
|
|
} |
} else { |
} else { |
my $blankpages = ''; |
my $blankpages = ''; |
for (my $j=0;$j<$helper->{'VARS'}->{'EMPTY_PAGES'};$j++) {$blankpages.='\clearpage\strut\clearpage';} |
for (my $j=0;$j<$helper->{'VARS'}->{'EMPTY_PAGES'};$j++) {$blankpages.='\clearpage\strut\clearpage';} |
$current_output = '\strut\vspace*{-6 mm}\\newline\\noindent\\makebox[\\textwidth/$number_of_columns][b]{\\hrulefill}\vspace*{-2 mm}\\newline\\noindent{\\tiny Printed from LON-CAPA\\copyright MSU{\\hfill} Licensed under GNU General Public License }\\newpage '.$blankpages.'\setcounter{page}{1}\noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$fullname.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$currentassignment.'}'.$namepostfix.'}} \vskip 5 mm '.$current_output; |
if ($columns_in_format == 1) { |
|
$current_output = '\strut\vspace*{-6 mm}\\newline\\noindent\\makebox[\\textwidth/$number_of_columns][b]{\\hrulefill}\vspace*{-2 mm}\\newline\\noindent{\\tiny Printed from LON-CAPA\\copyright MSU{\\hfill} Licensed under GNU General Public License }\\newpage '.$blankpages.'\setcounter{page}{1}\noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$fullname.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$currentassignment.'}'.$namepostfix.'}} \vskip 5 mm '.$current_output; |
|
} else { |
|
$current_output = '\strut\vspace*{-6 mm}\\newline\\noindent\\makebox[\\textwidth/$number_of_columns][b]{\\hrulefill}\vspace*{-2 mm}\\newline\\noindent{\\tiny Printed from LON-CAPA\\copyright MSU{\\hfill} Licensed under GNU General Public License }\\newpage '.$blankpages.'\setcounter{page}{1}\noindent\parbox{\minipagewidth}{\noindent\\fancyhead[LO]{\\textit{\\textbf{'.$fullname.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$currentassignment.'}'.$namepostfix.'}} \vskip 5 mm '.$current_output; |
|
} |
} |
} |
return ($current_output,$fullname, $printed); |
return ($current_output,$fullname, $printed); |
|
|
Line 1819 sub handler {
|
Line 1873 sub handler {
|
|
|
&init_perm(); |
&init_perm(); |
|
|
# my $loaderror=&Apache::lonnet::overloaderror($r); |
|
# if ($loaderror) { return $loaderror; } |
|
# $loaderror= |
|
# &Apache::lonnet::overloaderror($r, |
|
# $env{'course.'.$env{'request.course.id'}.'.home'}); |
|
# if ($loaderror) { return $loaderror; } |
|
|
|
my $helper = printHelper($r); |
my $helper = printHelper($r); |
if (!ref($helper)) { |
if (!ref($helper)) { |
return $helper; |
return $helper; |
} |
} |
|
|
# my $key; |
|
# foreach $key (keys %{$helper->{'VARS'}}) { |
|
# $r->print(' '.$key.'->'.$helper->{'VARS'}->{$key}.'<-<br />'); |
|
# } |
|
# foreach $key (keys %env) { |
|
# $r->print(' '.$key.'->'.$env{$key}.'<-<br />'); |
|
# } |
|
# return OK; |
|
|
|
my %parmhash=&Apache::lonnet::coursedescription($env{'request.course.id'}); |
my %parmhash=&Apache::lonnet::coursedescription($env{'request.course.id'}); |
|
|
# my $key; |
|
# foreach $key (keys %parmhash) { |
|
# $r->print(' '.$key.'->'.$parmhash{$key}.'<-<br />'); |
|
# } |
|
# |
|
|
|
|
|
# If a figure conversion queue file exists for this user.domain |
# If a figure conversion queue file exists for this user.domain |
Line 1870 sub addMessage {
|
Line 1907 sub addMessage {
|
Apache::lonhelper::message->new(); |
Apache::lonhelper::message->new(); |
} |
} |
|
|
use Data::Dumper; |
|
|
|
sub init_perm { |
sub init_perm { |
undef(%perm); |
undef(%perm); |
Line 1932 sub printHelper {
|
Line 1969 sub printHelper {
|
# But we only do this in the initial state so that they are allowed to change. |
# But we only do this in the initial state so that they are allowed to change. |
# |
# |
|
|
$helper->{VARS}->{FINISHPAGE} = ''; |
# $helper->{VARS}->{FINISHPAGE} = ''; |
|
|
&Apache::loncommon::restore_course_settings('print', |
&Apache::loncommon::restore_course_settings('print', |
{'pagebreaks' => 'scalar', |
{'pagebreaks' => 'scalar', |
Line 1951 sub printHelper {
|
Line 1988 sub printHelper {
|
} |
} |
|
|
} |
} |
|
|
|
|
# This will persistently load in the data we want from the |
# This will persistently load in the data we want from the |
# very first screen. |
# very first screen. |
Line 1969 sub printHelper {
|
Line 2006 sub printHelper {
|
if ($env{'form.url'}) { |
if ($env{'form.url'}) { |
$helper->{VARS}->{'symb'} = &Apache::lonnet::symbread($helper->{VARS}->{'postdata'}); |
$helper->{VARS}->{'symb'} = &Apache::lonnet::symbread($helper->{VARS}->{'postdata'}); |
} |
} |
|
|
} |
} |
|
|
if ($env{'form.symb'}) { |
if ($env{'form.symb'}) { |
Line 2055 sub printHelper {
|
Line 2093 sub printHelper {
|
|
|
$helper->declareVar('SEQUENCE'); |
$helper->declareVar('SEQUENCE'); |
|
|
# Useful for debugging: Dump the help vars |
|
# $r->print(Dumper($helper->{VARS})); |
|
# $r->print($map); |
|
|
|
# If we're in a sequence... |
# If we're in a sequence... |
if (($helper->{'VARS'}->{'construction'} ne '1') && |
if (($helper->{'VARS'}->{'construction'} ne '1') && |
Line 2509 CHOOSE_FROM_ANY_SEQUENCE
|
Line 2545 CHOOSE_FROM_ANY_SEQUENCE
|
</defaultvalue> |
</defaultvalue> |
</string> |
</string> |
<message></td></tr><tr><td align="right">Use style file:</td><td></message> |
<message></td></tr><tr><td align="right">Use style file:</td><td></message> |
<message><input type="text" size="40" name="style_file_value" value="$stylevalue" /> <a href="javascript:openbrowser('helpform','style_file','sty')">Select style file</a> </td><tr><td></message> |
<message><input type="text" size="40" name="style_file_value" value="$stylevalue" /> <a href="javascript:openbrowser('helpform','style_file_value','sty')">Select style file</a> </td><tr><td></message> |
<choices allowempty="1" multichoice="true" variable="showallfoils"> |
<choices allowempty="1" multichoice="true" variable="showallfoils"> |
<choice computer="1">Show all foils?</choice> |
<choice computer="1">Show all foils?</choice> |
</choices> |
</choices> |
Line 2538 RNDSEED
|
Line 2574 RNDSEED
|
|
|
$helper->process(); |
$helper->process(); |
|
|
|
|
# MANUAL BAILOUT CONDITION: |
# MANUAL BAILOUT CONDITION: |
# If we're in the "final" state, bailout and return to handler |
# If we're in the "final" state, bailout and return to handler |
if ($helper->{STATE} eq 'FINAL') { |
if ($helper->{STATE} eq 'FINAL') { |