version 1.560.2.6, 2009/10/13 11:01:16
|
version 1.560.2.7, 2009/10/26 09:55:32
|
Line 1
|
Line 1
|
# |
# |
|
|
|
|
# The LearningOnline Network |
# The LearningOnline Network |
# Printout |
# Printout |
# |
# |
Line 92 sub generate_student_chooser {
|
Line 90 sub generate_student_chooser {
|
$sort_choice, |
$sort_choice, |
$variable, |
$variable, |
$next_state) = @_; |
$next_state) = @_; |
&Apache::lonnet::logthis("Student chooser next state: $next_state, this state: $this_state"); |
|
my $result = <<CHOOSE_STUDENTS; |
my $result = <<CHOOSE_STUDENTS; |
<state name="$this_state" title="Select Students and Resources"> |
<state name="$this_state" title="Select Students and Resources"> |
<message><b>Select sorting order of printout</b> </message> |
<message><b>Select sorting order of printout</b> </message> |
Line 148 sub generate_resource_chooser {
|
Line 145 sub generate_resource_chooser {
|
$value_func, |
$value_func, |
$start_new_option) = @_; |
$start_new_option) = @_; |
|
|
&Apache::lonnet::logthis("Top URL = $top_url"); |
|
my $result = <<CHOOSE_RESOURCES; |
my $result = <<CHOOSE_RESOURCES; |
<state name="$this_state" title="$prompt_text"> |
<state name="$this_state" title="$prompt_text"> |
<resource variable="$variable" $resource_options |
<resource variable="$variable" $resource_options |
Line 1746 sub recently_generated {
|
Line 1742 sub recently_generated {
|
# A reference to a page break hash. |
# A reference to a page break hash. |
# |
# |
# |
# |
use Data::Dumper; |
# use Data::Dumper; |
#sub dump_helper_vars { |
#sub dump_helper_vars { |
# my ($helper) = @_; |
# my ($helper) = @_; |
# my $helpervars = Dumper($helper->{'VARS'}); |
# my $helpervars = Dumper($helper->{'VARS'}); |
Line 2164 ENDPART
|
Line 2160 ENDPART
|
} elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems_pages') or |
} elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems_pages') or |
($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_resources_in_page')) |
($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_resources_in_page')) |
{ |
{ |
&Apache::lonnet::logthis("Selectionmade => 3"); |
|
$selectionmade = 3; |
$selectionmade = 3; |
} elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'all_problems') |
} elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'all_problems') |
) { |
) { |
Line 2208 ENDPART
|
Line 2203 ENDPART
|
$urlp=&Apache::lonnet::clutter($urlp); |
$urlp=&Apache::lonnet::clutter($urlp); |
$form{'symb'}=$master_seq[$i]; |
$form{'symb'}=$master_seq[$i]; |
|
|
&Apache::lonnet::logthis("Element $i Sequence $sequence Middle $middle_thingy URLP $urlp"); |
|
my $assignment=&Apache::lonxml::latex_special_symbols(&Apache::lonnet::gettitle($sequence),'header'); #title of the assignment which contains this problem |
my $assignment=&Apache::lonxml::latex_special_symbols(&Apache::lonnet::gettitle($sequence),'header'); #title of the assignment which contains this problem |
|
|
if ($selectionmade==7) {$helper->{VARS}->{'assignment'}=$assignment;} |
if ($selectionmade==7) {$helper->{VARS}->{'assignment'}=$assignment;} |
Line 2216 ENDPART
|
Line 2210 ENDPART
|
my $texversion=''; |
my $texversion=''; |
if ($urlp!~m|^/adm/| |
if ($urlp!~m|^/adm/| |
&& $urlp=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) { |
&& $urlp=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) { |
&Apache::lonnet::logthis("Problem"); |
|
$resources_printed .= $urlp.':'; |
$resources_printed .= $urlp.':'; |
&Apache::lonxml::remember_problem_counter(); |
&Apache::lonxml::remember_problem_counter(); |
&Apache::lonnet::logthis("Fetching tex for $urlp"); |
|
my $debug = Dumper(%form); |
|
&Apache::lonnet::logthis("Form: $debug"); |
|
|
|
$texversion.=&ssi_with_retries($urlp, $ssi_retry_count, %form); |
$texversion.=&ssi_with_retries($urlp, $ssi_retry_count, %form); |
&Apache::lonnet::logthis("texversion so far: $texversion"); |
|
if ($urlp=~/\.page$/) { |
if ($urlp=~/\.page$/) { |
&Apache::lonnet::logthis("Special page actions"); |
|
($texversion,my $number_of_columns_page) = &page_cleanup($texversion); |
($texversion,my $number_of_columns_page) = &page_cleanup($texversion); |
if ($number_of_columns_page > $number_of_columns) {$number_of_columns=$number_of_columns_page;} |
if ($number_of_columns_page > $number_of_columns) {$number_of_columns=$number_of_columns_page;} |
$texversion =~ s/\\end{document}\d*/\\end{document}/; |
$texversion =~ s/\\end{document}\d*/\\end{document}/; |
Line 2248 ENDPART
|
Line 2236 ENDPART
|
$texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/; |
$texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/; |
} else { |
} else { |
if ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library)$/) { |
if ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library)$/) { |
&Apache::lonnet::logthis("problem printing"); |
|
$texversion=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'}); |
$texversion=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'}); |
$texversion =~ s/\\begin{document}//; |
$texversion =~ s/\\begin{document}//; |
my $title = &Apache::lonnet::gettitle($master_seq[$i]); |
my $title = &Apache::lonnet::gettitle($master_seq[$i]); |
Line 2270 ENDPART
|
Line 2257 ENDPART
|
} |
} |
|
|
if ($flag_latex_header_remove ne 'NO') { |
if ($flag_latex_header_remove ne 'NO') { |
&Apache::lonnet::logthis("Removing header/footer 1"); |
|
$texversion = &latex_header_footer_remove($texversion); |
$texversion = &latex_header_footer_remove($texversion); |
&Apache::lonnet::logthis("With h/f removed we have: $texversion"); |
|
} else { |
} else { |
$texversion =~ s/\\end{document}//; |
$texversion =~ s/\\end{document}//; |
} |
} |
Line 2296 ENDPART
|
Line 2281 ENDPART
|
} |
} |
} |
} |
$result .= $texversion; |
$result .= $texversion; |
&Apache::lonnet::logthis("About to set rem header true with $result"); |
|
$flag_latex_header_remove = 'YES'; |
$flag_latex_header_remove = 'YES'; |
} elsif ($urlp=~/\/(smppg|syllabus|aboutme|bulletinboard)$/) { |
} elsif ($urlp=~/\/(smppg|syllabus|aboutme|bulletinboard)$/) { |
$form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; |
$form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; |
Line 2309 ENDPART
|
Line 2293 ENDPART
|
} |
} |
|
|
if ($flag_latex_header_remove ne 'NO') { |
if ($flag_latex_header_remove ne 'NO') { |
&Apache::lonnet::logthis("Removing header & footer 2"); |
|
$texversion = &latex_header_footer_remove($texversion); |
$texversion = &latex_header_footer_remove($texversion); |
} else { |
} else { |
$texversion =~ s/\\end{document}/\\vskip 0\.5mm\\noindent\\makebox\[\\textwidth\/\$number_of_columns\]\[b\]\{\\hrulefill\}/; |
$texversion =~ s/\\end{document}/\\vskip 0\.5mm\\noindent\\makebox\[\\textwidth\/\$number_of_columns\]\[b\]\{\\hrulefill\}/; |
Line 2337 ENDPART
|
Line 2320 ENDPART
|
$texversion=&unsupported($urlp,$helper->{'VARS'}->{'LATEX_TYPE'}, |
$texversion=&unsupported($urlp,$helper->{'VARS'}->{'LATEX_TYPE'}, |
$master_seq[$i]); |
$master_seq[$i]); |
if ($flag_latex_header_remove ne 'NO') { |
if ($flag_latex_header_remove ne 'NO') { |
&Apache::lonnet::logthis("Removing header/footer 3"); |
|
$texversion = &latex_header_footer_remove($texversion); |
$texversion = &latex_header_footer_remove($texversion); |
} else { |
} else { |
$texversion =~ s/\\end{document}//; |
$texversion =~ s/\\end{document}//; |
Line 2401 ENDPART
|
Line 2383 ENDPART
|
$helper->{'VARS'}->{'NUMBER_TO_PRINT'} = $#students+1; |
$helper->{'VARS'}->{'NUMBER_TO_PRINT'} = $#students+1; |
} |
} |
my @master_seq=split /\|\|\|/, $helper->{'VARS'}->{'RESOURCES'}; |
my @master_seq=split /\|\|\|/, $helper->{'VARS'}->{'RESOURCES'}; |
&Apache::lonnet::logthis("RESOURCES: ". $helper->{'VARS'}->{'RESOURCES'}); |
|
|
|
#loop over students |
#loop over students |
|
|
Line 2605 ENDPART
|
Line 2586 ENDPART
|
$newurlp=&path_to_problem($newurlp,$LaTeXwidth); |
$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') { |
&Apache::lonnet::logthis("Removing header/footer: 4"); |
|
$texversion = &latex_header_footer_remove($texversion); |
$texversion = &latex_header_footer_remove($texversion); |
} else { |
} else { |
$texversion =~ s/\\end{document}//; |
$texversion =~ s/\\end{document}//; |
Line 2810 sub print_resources {
|
Line 2790 sub print_resources {
|
# so we will just rely on prntout.pl to strip ENDOFSTUDENTSTAMP from the |
# so we will just rely on prntout.pl to strip ENDOFSTUDENTSTAMP from the |
# postscript. Each ENDOFSTUDENTSTAMP will go on a line by itself. |
# postscript. Each ENDOFSTUDENTSTAMP will go on a line by itself. |
# |
# |
&Apache::lonnet::logthis("In print_resources"); |
|
|
|
foreach my $curresline (@{$master_seq}) { |
foreach my $curresline (@{$master_seq}) { |
&Apache::lonnet::logthis("Res: $curresline"); |
|
if (defined $page_breaks{$curresline}) { |
if (defined $page_breaks{$curresline}) { |
if($i != 0) { |
if($i != 0) { |
$current_output.= "\\newpage\n"; |
$current_output.= "\\newpage\n"; |
Line 2831 sub print_resources {
|
Line 2809 sub print_resources {
|
&Apache::lonxml::remember_problem_counter(); |
&Apache::lonxml::remember_problem_counter(); |
|
|
my $rendered = &get_student_view_with_retries($curresline,$ssi_retry_count,$username,$userdomain,$env{'request.course.id'},'tex',$moreenv); |
my $rendered = &get_student_view_with_retries($curresline,$ssi_retry_count,$username,$userdomain,$env{'request.course.id'},'tex',$moreenv); |
&Apache::lonnet::logthis("student view: $rendered"); |
|
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')) { |
# Use a copy of the hash so we don't pervert it on future loop passes. |
# Use a copy of the hash so we don't pervert it on future loop passes. |
Line 2859 sub print_resources {
|
Line 2836 sub print_resources {
|
$rendered = $header.$body; |
$rendered = $header.$body; |
} |
} |
} |
} |
&Apache::lonnet::logthis("After preprending header: $rendered"); |
|
if ($helper->{'VARS'}->{'PRINT_ANNOTATIONS'} eq 'yes') { |
if ($helper->{'VARS'}->{'PRINT_ANNOTATIONS'} eq 'yes') { |
my $url = &Apache::lonnet::clutter($res_url); |
my $url = &Apache::lonnet::clutter($res_url); |
my $annotation = &annotate($url); |
my $annotation = &annotate($url); |
$rendered =~ s/(\\keephidden{ENDOFPROBLEM})/$annotation$1/; |
$rendered =~ s/(\\keephidden{ENDOFPROBLEM})/$annotation$1/; |
} |
} |
|
my $junk; |
if ($remove_latex_header eq 'YES') { |
if ($remove_latex_header eq 'YES') { |
&Apache::lonnet::logthis("Removing header/footer: 5"); |
|
$rendered = &latex_header_footer_remove($rendered); |
$rendered = &latex_header_footer_remove($rendered); |
} else { |
} else { |
$rendered =~ s/\\end{document}//; |
$rendered =~ s/\\end{document}//; |
Line 2881 sub print_resources {
|
Line 2857 sub print_resources {
|
$annotation =~ s/(\\end{document})/$annotation$1/; |
$annotation =~ s/(\\end{document})/$annotation$1/; |
} |
} |
if ($remove_latex_header eq 'YES') { |
if ($remove_latex_header eq 'YES') { |
&Apache::lonnet::logthis("Removing header/footer: 6"); |
|
$rendered = &latex_header_footer_remove($rendered); |
$rendered = &latex_header_footer_remove($rendered); |
} else { |
} else { |
$rendered =~ s/\\end{document}//; |
$rendered =~ s/\\end{document}//; |
Line 2891 sub print_resources {
|
Line 2866 sub print_resources {
|
my $url = &Apache::lonnet::clutter($res_url); |
my $url = &Apache::lonnet::clutter($res_url); |
my $rendered = &include_pdf($url); |
my $rendered = &include_pdf($url); |
if ($remove_latex_header ne 'NO') { |
if ($remove_latex_header ne 'NO') { |
&Apache::lonnet::logthis("Removing header/footer: 7"); |
|
$rendered = &latex_header_footer_remove($rendered); |
$rendered = &latex_header_footer_remove($rendered); |
} |
} |
$current_output .= $rendered; |
$current_output .= $rendered; |
} else { |
} else { |
my $rendered = &unsupported($res_url,$helper->{'VARS'}->{'LATEX_TYPE'},$curresline); |
my $rendered = &unsupported($res_url,$helper->{'VARS'}->{'LATEX_TYPE'},$curresline); |
if ($remove_latex_header ne 'NO') { |
if ($remove_latex_header ne 'NO') { |
&Apache::lonnet::logthis("Removing header/footer: 8"); |
|
$rendered = &latex_header_footer_remove($rendered); |
$rendered = &latex_header_footer_remove($rendered); |
} else { |
} else { |
$rendered =~ s/\\end{document}//; |
$rendered =~ s/\\end{document}//; |
Line 3151 sub printHelper {
|
Line 3124 sub printHelper {
|
} else { |
} else { |
$url = $helper->{VARS}->{'postdata'}; |
$url = $helper->{VARS}->{'postdata'}; |
$is_published=1; # From resource space. |
$is_published=1; # From resource space. |
&Apache::lonnet::logthis("Resource url $url"); |
|
} |
} |
$url = &Apache::lonnet::clutter($url); |
$url = &Apache::lonnet::clutter($url); |
if (!$resourceTitle) { # if the resource doesn't have a title, use the filename |
if (!$resourceTitle) { # if the resource doesn't have a title, use the filename |
Line 3277 sub printHelper {
|
Line 3249 sub printHelper {
|
push @{$printChoices}, [&mt('Selected [_1]Resources[_2] from folder [_3]','<b>','</b>','<b><i>'.$sequenceTitle.'</i></b>'), |
push @{$printChoices}, [&mt('Selected [_1]Resources[_2] from folder [_3]','<b>','</b>','<b><i>'.$sequenceTitle.'</i></b>'), |
'map_problems_pages', |
'map_problems_pages', |
'CHOOSE_PROBLEMS_HTML']; |
'CHOOSE_PROBLEMS_HTML']; |
&Apache::lonnet::logthis("Map url : $map"); |
|
my $helperFragment = &generate_resource_chooser('CHOOSE_PROBLEMS', |
my $helperFragment = &generate_resource_chooser('CHOOSE_PROBLEMS', |
'Select Problem(s) to print', |
'Select Problem(s) to print', |
'multichoice="1" toponly="1" addstatus="1" closeallpages="1"', |
'multichoice="1" toponly="1" addstatus="1" closeallpages="1"', |
Line 3388 ALL_PROBLEMS
|
Line 3359 ALL_PROBLEMS
|
'RESOURCES', |
'RESOURCES', |
'PRINT_FORMATTING', |
'PRINT_FORMATTING', |
'', |
'', |
$isProblem, , $symbFilter, |
$isProblem, '', $symbFilter, |
$start_new_option); |
$start_new_option); |
$resource_selector .= <<RESOURCE_SELECTOR; |
$resource_selector .= <<RESOURCE_SELECTOR; |
<state name="PRINT_FORMATTING" title="How should results be printed?"> |
<state name="PRINT_FORMATTING" title="How should results be printed?"> |
Line 3516 RESOURCE_SELECTOR
|
Line 3487 RESOURCE_SELECTOR
|
$url, |
$url, |
$isProblem, '', $symbFilter, |
$isProblem, '', $symbFilter, |
$start_new_option); |
$start_new_option); |
&Apache::lonnet::logthis('XML for anonpage: '.$anon_page); |
|
&Apache::lonxml::xmlparse($r, 'helper', $anon_page); |
&Apache::lonxml::xmlparse($r, 'helper', $anon_page); |
|
|
|
|