version 1.560.2.5, 2009/10/12 10:59:48
|
version 1.564, 2009/11/16 11:13:24
|
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 171 CHOOSE_RESOURCES
|
Line 167 CHOOSE_RESOURCES
|
|
|
return $result; |
return $result; |
} |
} |
|
# |
|
# Generate the helper XML for a code choice helper dialog: |
|
# |
|
# Paramters: |
|
# $helper - Reference to the helper. |
|
# $state - Name of the state for the chooser. |
|
# $next_state - Name fo the state to follow the chooser. |
|
# $bubble_types - Populates the bubble sheet type dropt down. |
|
# $code_selections - Provides set of code choices that have been used |
|
# $saved_codes - Provides the list of saved codes. |
|
# |
|
# Returns; |
|
# The Xml of the code chooser. |
|
# |
|
sub generate_code_selector { |
|
my ($helper, |
|
$state, |
|
$next_state, |
|
$bubble_types, |
|
$code_selections, |
|
$saved_codes) = @_; # Unpack the parameters. |
|
|
|
my $result = <<CHOOSE_ANON1; |
|
<state name="$state" title="Specify CODEd Assignments"> |
|
<nextstate>$next_state</nextstate> |
|
<message><h4>Fill out one of the forms below</h4></message> |
|
<message><br /><hr /> <br /></message> |
|
<message><h3>Generate new CODEd Assignments</h3></message> |
|
<message><table><tr><td><b>Number of CODEd assignments to print:</b></td><td></message> |
|
<string variable="NUMBER_TO_PRINT_TOTAL" maxlength="5" size="5"> |
|
<validator> |
|
if (((\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'}+0) < 1) && |
|
!\$helper->{'VARS'}{'REUSE_OLD_CODES'} && |
|
!\$helper->{'VARS'}{'SINGLE_CODE'} && |
|
!\$helper->{'VARS'}{'CODE_SELECTED_FROM_LIST'}) { |
|
return "You need to specify the number of assignments to print"; |
|
} |
|
return undef; |
|
</validator> |
|
</string> |
|
<message></td></tr><tr><td></message> |
|
<message><b>Names to save the CODEs under for later:</b></message> |
|
<message></td><td></message> |
|
<string variable="ANON_CODE_STORAGE_NAME" maxlength="50" size="20" /> |
|
<message></td></tr><tr><td></message> |
|
<message><b>Bubble sheet type:</b></message> |
|
<message></td><td></message> |
|
<dropdown variable="CODE_OPTION" multichoice="0" allowempty="0"> |
|
$bubble_types |
|
</dropdown> |
|
<message></td></tr><tr><td colspan="2"></td></tr><tr><td></message> |
|
<message></td></tr><tr><td></table></message> |
|
<message><br /><hr /><h3>Print a Specific CODE </h3><br /><table></message> |
|
<message><tr><td><b>Enter a CODE to print:</b></td><td></message> |
|
<string variable="SINGLE_CODE" size="10"> |
|
<validator> |
|
if(!\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'} && |
|
!\$helper->{'VARS'}{'REUSE_OLD_CODES'} && |
|
!\$helper->{'VARS'}{'CODE_SELECTED_FROM_LIST'}) { |
|
return &Apache::lonprintout::is_code_valid(\$helper->{'VARS'}{'SINGLE_CODE'}, |
|
\$helper->{'VARS'}{'CODE_OPTION'}); |
|
} else { |
|
return undef; # Other forces control us. |
|
} |
|
</validator> |
|
</string> |
|
<message></td></tr><tr><td></message> |
|
$code_selections |
|
<message></td></tr></table></message> |
|
<message><hr /><h3>Reprint a Set of Saved CODEs</h3><table><tr><td></message> |
|
<message><b>Select saved CODEs:</b></message> |
|
<message></td><td></message> |
|
<dropdown variable="REUSE_OLD_CODES"> |
|
$saved_codes |
|
</dropdown> |
|
<message></td></tr></table></message> |
|
</state> |
|
CHOOSE_ANON1 |
|
|
|
return $result; |
|
} |
|
|
#----------------------------------------------------------------------- |
#----------------------------------------------------------------------- |
|
|
Line 1187 sub page_format_transformation {
|
Line 1263 sub page_format_transformation {
|
|
|
if ($selectionmade eq '4') { |
if ($selectionmade eq '4') { |
if ($choice eq 'all_problems') { |
if ($choice eq 'all_problems') { |
$assignment='Problems from the Whole Course'; |
$assignment=&mt('Problems from the Whole Course'); |
} else { |
} else { |
$assignment='Resources from the Whole Course'; |
$assignment=&mt('Resources from the Whole Course'); |
} |
} |
} else { |
} else { |
$assignment=&Apache::lonxml::latex_special_symbols($assignment,'header'); |
$assignment=&Apache::lonxml::latex_special_symbols($assignment,'header'); |
Line 1463 sub print_page_in_course {
|
Line 1539 sub print_page_in_course {
|
|
|
# First is the overall page description. This is then followed by the |
# First is the overall page description. This is then followed by the |
# components of the page. Each of which must be printed independently. |
# components of the page. Each of which must be printed independently. |
|
|
my $the_page = shift(@page_resources); |
my $the_page = shift(@page_resources); |
|
|
|
|
foreach my $resource (@page_resources) { |
foreach my $resource (@page_resources) { |
my $resource_src = $resource->src(); # Essentially the URL of the resource. |
my $resource_src = $resource->src(); # Essentially the URL of the resource. |
$result .= $resource->title() . '\\\\'; |
$result .= $resource->title() . '\\\\'; |
Line 1666 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 2030 ENDPART
|
Line 2106 ENDPART
|
$form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; |
$form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; |
if ($currentURL=~/\/syllabus$/) {$currentURL=~s/\/res//;} |
if ($currentURL=~/\/syllabus$/) {$currentURL=~s/\/res//;} |
$resources_printed .= $currentURL.':'; |
$resources_printed .= $currentURL.':'; |
my $texversion=&ssi_with_retries($currentURL, $ssi_retry_count, %form); |
my $texversion = &print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'}); |
|
$texversion .= &ssi_with_retries($currentURL, $ssi_retry_count, %form); |
if ($helper->{'VARS'}->{'PRINT_ANNOTATIONS'} eq 'yes') { |
if ($helper->{'VARS'}->{'PRINT_ANNOTATIONS'} eq 'yes') { |
my $annotation = &annotate($currentURL); |
my $annotation = &annotate($currentURL); |
$texversion =~ s/(\\end{document})/$annotation$1/; |
$texversion =~ s/(\\end{document})/$annotation$1/; |
Line 2084 ENDPART
|
Line 2161 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 2124 ENDPART
|
Line 2200 ENDPART
|
$result.="\\newpage\n"; |
$result.="\\newpage\n"; |
} |
} |
} |
} |
my ($sequence,$middle_thingy,$urlp)=&Apache::lonnet::decode_symb($master_seq[$i]); |
my ($sequence,$middle_thingy,$urlp)=&Apache::lonnet::decode_symb($master_seq[$i]); |
$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 2136 ENDPART
|
Line 2211 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"); |
$texversion.=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'}); # RF |
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 2168 ENDPART
|
Line 2237 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 2190 ENDPART
|
Line 2258 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 2216 ENDPART
|
Line 2282 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'}; |
if ($urlp=~/\/syllabus$/) {$urlp=~s/\/res//;} |
if ($urlp=~/\/syllabus$/) {$urlp=~s/\/res//;} |
$resources_printed .= $urlp.':'; |
$resources_printed .= $urlp.':'; |
my $texversion=&ssi_with_retries($urlp, $ssi_retry_count, %form); |
my $texversion = &print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'}); |
|
$texversion .= &ssi_with_retries($urlp, $ssi_retry_count, %form); |
if ($helper->{'VARS'}->{'PRINT_ANNOTATIONS'} eq 'yes') { |
if ($helper->{'VARS'}->{'PRINT_ANNOTATIONS'} eq 'yes') { |
my $annotation = &annotate($urlp); |
my $annotation = &annotate($urlp); |
$texversion =~ s/(\\end{document)/$annotation$1/; |
$texversion =~ s/(\\end{document)/$annotation$1/; |
} |
} |
|
|
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 2257 ENDPART
|
Line 2322 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 2321 ENDPART
|
Line 2385 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 2373 ENDPART
|
Line 2436 ENDPART
|
&Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state); |
&Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state); |
$result .= $print_array[0].' \end{document}'; |
$result .= $print_array[0].' \end{document}'; |
} elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'problems_for_anon') || |
} elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'problems_for_anon') || |
|
($helper->{'VARS'}->{'PRINT_TYPE'} eq 'problems_for_anon_page') || |
($helper->{'VARS'}->{'PRINT_TYPE'} eq 'resources_for_anon') ) { |
($helper->{'VARS'}->{'PRINT_TYPE'} eq 'resources_for_anon') ) { |
my $cdom =$env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $cdom =$env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $cnum =$env{'course.'.$env{'request.course.id'}.'.num'}; |
my $cnum =$env{'course.'.$env{'request.course.id'}.'.num'}; |
Line 2524 ENDPART
|
Line 2588 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 2729 sub print_resources {
|
Line 2792 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 2750 sub print_resources {
|
Line 2811 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 2778 sub print_resources {
|
Line 2838 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 2800 sub print_resources {
|
Line 2859 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 2810 sub print_resources {
|
Line 2868 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 3070 sub printHelper {
|
Line 3126 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 3140 sub printHelper {
|
Line 3195 sub printHelper {
|
my $varspostdata = $helper->{VARS}->{'postdata'}; |
my $varspostdata = $helper->{VARS}->{'postdata'}; |
my $varsassignment = $helper->{VARS}->{'assignment'}; |
my $varsassignment = $helper->{VARS}->{'assignment'}; |
my $page_navmap = Apache::lonnavmaps::navmap->new(); |
my $page_navmap = Apache::lonnavmaps::navmap->new(); |
my @page_resources = $page_navmap->retrieveResources($url); |
if (defined($page_navmap)) { |
if(defined($page_resources[0])) { |
my @page_resources = $page_navmap->retrieveResources($url); |
$page_ispage = $page_resources[0]->is_page(); |
if(defined($page_resources[0])) { |
$page_title = $page_resources[0]->title(); |
$page_ispage = $page_resources[0]->is_page(); |
my $resourcesymb = $page_resources[0]->symb(); |
$page_title = $page_resources[0]->title(); |
my ($pagemap, $pageid, $pageurl) = &Apache::lonnet::decode_symb($symb); |
my $resourcesymb = $page_resources[0]->symb(); |
if ($page_ispage) { |
my ($pagemap, $pageid, $pageurl) = &Apache::lonnet::decode_symb($symb); |
push @{$printChoices}, |
if ($page_ispage) { |
[&mt('Selected [_1]Problems[_2] from page [_3]', '<b>', '</b>', '<b><i>'.$page_title.'</i></b>'), |
push @{$printChoices}, |
'map_problems_in_page', |
[&mt('Selected [_1]Problems[_2] from page [_3]', '<b>', '</b>', '<b><i>'.$page_title.'</i></b>'), |
'CHOOSE_PROBLEMS_PAGE']; |
'map_problems_in_page', |
push @{$printChoices}, |
'CHOOSE_PROBLEMS_PAGE']; |
[&mt('Selected [_1]Resources[_2] from page [_3]', '<b>', '</b>', '<b><i>'.$page_title.'</i></b>'), |
push @{$printChoices}, |
'map_resources_in_page', |
[&mt('Selected [_1]Resources[_2] from page [_3]', '<b>', '</b>', '<b><i>'.$page_title.'</i></b>'), |
'CHOOSE_RESOURCES_PAGE']; |
'map_resources_in_page', |
} |
'CHOOSE_RESOURCES_PAGE']; |
|
} |
my $helperFragment = &generate_resource_chooser('CHOOSE_PROBLEMS_PAGE', |
my $helperFragment = &generate_resource_chooser('CHOOSE_PROBLEMS_PAGE', |
'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 3181 sub printHelper {
|
Line 3237 sub printHelper {
|
|
|
&Apache::lonxml::xmlparse($r, 'helper', $helperFragment); |
&Apache::lonxml::xmlparse($r, 'helper', $helperFragment); |
|
|
} |
} |
|
} |
} |
} |
|
|
if (($helper->{'VAR'}->{'construction'} ne '1' ) && |
if (($helper->{'VAR'}->{'construction'} ne '1' ) && |
Line 3196 sub printHelper {
|
Line 3253 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 3279 ALL_PROBLEMS
|
Line 3335 ALL_PROBLEMS
|
'problems_for_students_from_page', 'CHOOSE_TGT_STUDENTS_PAGE']; |
'problems_for_students_from_page', 'CHOOSE_TGT_STUDENTS_PAGE']; |
push @{$printChoices}, [&mt('Selected [_1]Problems[_2] from page [_3] for [_4]CODEd assignments[_5]', |
push @{$printChoices}, [&mt('Selected [_1]Problems[_2] from page [_3] for [_4]CODEd assignments[_5]', |
'<b>', '</b>', '<b><i>'.$page_title.'</i></b>', '<b>', '</b>'), |
'<b>', '</b>', '<b><i>'.$page_title.'</i></b>', '<b>', '</b>'), |
'problems_for_anon', 'CHOOSE_ANON1_PAGE']; |
'problems_for_anon_page', 'CHOOSE_ANON1_PAGE']; |
} |
} |
push @{$printChoices}, [&mt('Selected [_1]Problems[_2] from folder [_3] for [_4]selected people[_5]', |
push @{$printChoices}, [&mt('Selected [_1]Problems[_2] from folder [_3] for [_4]selected people[_5]', |
'<b>','</b>','<b><i>'.$sequenceTitle.'</i></b>','<b>','</b>'), |
'<b>','</b>','<b><i>'.$sequenceTitle.'</i></b>','<b>','</b>'), |
Line 3307 ALL_PROBLEMS
|
Line 3363 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 3411 RESOURCE_SELECTOR
|
Line 3467 RESOURCE_SELECTOR
|
if ($codechoice eq '') { |
if ($codechoice eq '') { |
$codechoice='<choice computer="default">Default</choice>'; |
$codechoice='<choice computer="default">Default</choice>'; |
} |
} |
&Apache::lonxml::xmlparse($r, 'helper', <<CHOOSE_ANON1); |
my $anon1 = &generate_code_selector($helper, |
<state name="CHOOSE_ANON1" title="Specify CODEd Assignments"> |
'CHOOSE_ANON1', |
<nextstate>SELECT_PROBLEMS</nextstate> |
'SELECT_PROBLEMS', |
<message><h4>Fill out one of the forms below</h4></message> |
$codechoice, |
<message><br /><hr /> <br /></message> |
$code_selection, |
<message><h3>Generate new CODEd Assignments</h3></message> |
$namechoice) . $resource_selector; |
<message><table><tr><td><b>Number of CODEd assignments to print:</b></td><td></message> |
|
<string variable="NUMBER_TO_PRINT_TOTAL" maxlength="5" size="5"> |
|
<validator> |
&Apache::lonxml::xmlparse($r, 'helper',$anon1); |
if (((\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'}+0) < 1) && |
|
!\$helper->{'VARS'}{'REUSE_OLD_CODES'} && |
my $anon_page = &generate_code_selector($helper, |
!\$helper->{'VARS'}{'SINGLE_CODE'} && |
'CHOOSE_ANON1_PAGE', |
!\$helper->{'VARS'}{'CODE_SELECTED_FROM_LIST'}) { |
'SELECT_PROBLEMS_PAGE', |
return "You need to specify the number of assignments to print"; |
$codechoice, |
} |
$code_selection, |
return undef; |
$namechoice) . |
</validator> |
&generate_resource_chooser('SELECT_PROBLEMS_PAGE', |
</string> |
'Select Problem(s) to print', |
<message></td></tr><tr><td></message> |
"multichoice='1' addstatus='1' closeallpages ='1'", |
<message><b>Names to save the CODEs under for later:</b></message> |
'RESOURCES', |
<message></td><td></message> |
'PRINT_FORMATTING', |
<string variable="ANON_CODE_STORAGE_NAME" maxlength="50" size="20" /> |
$url, |
<message></td></tr><tr><td></message> |
$isProblem, '', $symbFilter, |
<message><b>Bubble sheet type:</b></message> |
$start_new_option); |
<message></td><td></message> |
&Apache::lonxml::xmlparse($r, 'helper', $anon_page); |
<dropdown variable="CODE_OPTION" multichoice="0" allowempty="0"> |
|
$codechoice |
|
</dropdown> |
|
<message></td></tr><tr><td colspan="2"></td></tr><tr><td></message> |
|
<message></td></tr><tr><td></table></message> |
|
<message><br /><hr /><h3>Print a Specific CODE </h3><br /><table></message> |
|
<message><tr><td><b>Enter a CODE to print:</b></td><td></message> |
|
<string variable="SINGLE_CODE" size="10"> |
|
<validator> |
|
if(!\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'} && |
|
!\$helper->{'VARS'}{'REUSE_OLD_CODES'} && |
|
!\$helper->{'VARS'}{'CODE_SELECTED_FROM_LIST'}) { |
|
return &Apache::lonprintout::is_code_valid(\$helper->{'VARS'}{'SINGLE_CODE'}, |
|
\$helper->{'VARS'}{'CODE_OPTION'}); |
|
} else { |
|
return undef; # Other forces control us. |
|
} |
|
</validator> |
|
</string> |
|
<message></td></tr><tr><td></message> |
|
$code_selection |
|
<message></td></tr></table></message> |
|
<message><hr /><h3>Reprint a Set of Saved CODEs</h3><table><tr><td></message> |
|
<message><b>Select saved CODEs:</b></message> |
|
<message></td><td></message> |
|
<dropdown variable="REUSE_OLD_CODES"> |
|
$namechoice |
|
</dropdown> |
|
<message></td></tr></table></message> |
|
</state> |
|
$resource_selector |
|
CHOOSE_ANON1 |
|
|
|
|
|
if ($helper->{VARS}->{'assignment'}) { |
if ($helper->{VARS}->{'assignment'}) { |