--- loncom/interface/lonprintout.pm 2023/01/17 18:09:25 1.627.2.32.2.3 +++ loncom/interface/lonprintout.pm 2024/07/01 19:14:14 1.627.2.34 @@ -1,7 +1,7 @@ # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.627.2.32.2.3 2023/01/17 18:09:25 raeburn Exp $ +# $Id: lonprintout.pm,v 1.627.2.34 2024/07/01 19:14:14 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1344,8 +1344,8 @@ sub latex_header_footer_remove { # necessity is determined by the problem_split param. # sub encapsulate_minipage { - my ($text,$problem_split) = @_; - if (!($problem.split =~ /yes/i)) { + my ($text) = @_; + if (!($env{'form.problem.split'} =~ /yes/i)) { $text = '\begin{minipage}{\textwidth}'.$text.'\end{minipage}'; } return $text; @@ -2553,7 +2553,7 @@ sub print_construction_sequence { my $body ='\vskip 0 mm \noindent\textbf{'.$title.'}\vskip 0 mm '; $body.=&path_to_problem($urlp,$LaTeXwidth); $body.='\vskip 1 mm '.$answer.'\end{document}'; - $body = &encapsulate_minipage($body,$answerform{'problem_split'}); + $body = &encapsulate_minipage($body); $texversion.=$body; } } @@ -3017,7 +3017,7 @@ ENDPART my $body ='\vskip 0 mm \noindent\textbf{'.$title.'}\vskip 0 mm '; $body .= &path_to_problem ($urlp,$LaTeXwidth); $body .='\vskip 1 mm '.$answer; - $body = &encapsulate_minipage($body,$answerform{'problem_split'}); + $body = &encapsulate_minipage($body); $texversion .= $body; } else { $texversion=''; @@ -3170,8 +3170,12 @@ ENDPART my $map; if ($helper->{VARS}->{'symb'}) { - ($map, my $id, my $resource) = - &Apache::lonnet::decode_symb($helper->{VARS}->{'symb'}); + unless ((($print_type eq 'all_problems_students') || + ($print_type eq 'incomplete_problems_selpeople_course')) && + $perm{'pfo'}) { + ($map, my $id, my $resource) = + &Apache::lonnet::decode_symb($helper->{VARS}->{'symb'}); + } } #loop over students @@ -3243,7 +3247,7 @@ ENDPART my @lines = &Apache::lonnet::get_scantronformat_file(); my ($code_type,$code_length,$bubbles_per_row)=('letter',6,10); foreach my $line (@lines) { - next if (($line =~ /^\#/) || ($line eq '')); + chomp($line); my ($name,$type,$length,$bubbles_per_item) = (split(/:/,$line))[0,2,4,17]; if ($name eq $code_option) { @@ -3732,7 +3736,7 @@ sub print_resources { my $body ='\vskip 0 mm \noindent\textbf{'.$title.'}\vskip 0 mm '; $body .=&path_to_problem($res_url,$LaTeXwidth); $body .='\vskip 1 mm '.$ansrendered; - $body = &encapsulate_minipage($body,$answerenv{'problem_split'}); + $body = &encapsulate_minipage($body); $rendered = $header.$body; } } @@ -3765,7 +3769,7 @@ sub print_resources { $rendered =~ s/\\end\{document}//; } $current_output .= $rendered.'\vskip 0.5mm\noindent\makebox[\textwidth/$number_of_columns][b]{\hrulefill}\strut \vskip 0 mm \strut '; - } elsif($res_url = ~/\.pdf$/) { + } elsif($res_url =~ /\.pdf$/) { my $url = &Apache::lonnet::clutter($res_url); my $rendered = &include_pdf($url); if ($remove_latex_header ne 'NO') { @@ -3822,7 +3826,7 @@ sub print_resources { $message = &mt('No incomplete resources'); } if ($message) { - $current_output = &encapsulate_minipage("\\vskip -10mm \n$message\n \\vskip 100 mm { }\n",$moreenv->{'problem_split'}); + $current_output = &encapsulate_minipage("\\vskip -10mm \n$message\n \\vskip 100 mm { }\n"); } if ($remove_latex_header eq "NO") { $current_output = &print_latex_header() . $current_output; @@ -4072,12 +4076,18 @@ sub printHelper { $helper->{VARS}->{'symb'} = $env{'form.symb'}; } if ($env{'form.url'}) { - unless ($env{'form.url'} eq '/adm/navmaps') { - $helper->{VARS}->{'symb'} = &Apache::lonnet::symbread($helper->{VARS}->{'postdata'}); - } + $helper->{VARS}->{'symb'} = &Apache::lonnet::symbread($helper->{VARS}->{'postdata'}); } + } + if ($env{'form.symb'}) { + $helper->{VARS}->{'symb'} = $env{'form.symb'}; + } + if ($env{'form.url'}) { + $helper->{VARS}->{'symb'} = &Apache::lonnet::symbread($helper->{VARS}->{'postdata'}); + + } if ($helper->{VARS}->{'symb'} ne '') { $helper->{VARS}->{'symb'}= &Apache::lonenc::check_encrypt($helper->{VARS}->{'symb'}); @@ -4302,7 +4312,7 @@ sub printHelper { if ($userCanPrint || &printable($map_open, $map_close)) { push(@{$printChoices}, - [&mt('Selected [_1]Incomplete Problems[_2] from folder [_3]' . $textSuffix, + [&mt('Selected [_1]Incomplete Problems[_2] from folder [_3]' . $textSuffix, '', '', ''. $sequenceTitle . ''), $printSelector, @@ -4352,8 +4362,7 @@ sub printHelper { # BZ 5209 - incomplete problems from entire course: push(@{$printChoices}, - [&mt('Selected [_1]Incomplete Problems[_2] from [_3]entire course[_4] for [_5]selected people[_6]', - '','','','','',''), + [&mtn('Selected Incomplete Problems from entire course for selected people'), 'incomplete_problems_selpeople_course', 'INCOMPLETE_PROBLEMS_COURSE_RESOURCES']); my $helperFragment = &create_incomplete_course_helper($helper); # Create needed states. @@ -4361,9 +4370,9 @@ sub printHelper { # Selected problems/resources from entire course: - push @{$printChoices}, [&mt('Selected [_1]Problems[_2] from [_3]entire course[_4]','','','',''), 'all_problems', 'ALL_PROBLEMS']; - push @{$printChoices}, [&mt('Selected [_1]Resources[_2] from [_3]entire course[_4]','','','',''), 'all_resources', 'ALL_RESOURCES']; - push @{$printChoices}, [&mt('Selected [_1]Problems[_2] from [_3]entire course[_4] for [_5]selected people[_6]','','','','','',''), 'all_problems_students', 'ALL_PROBLEMS_STUDENTS']; + push @{$printChoices}, [&mtn('Selected Problems from entire course'), 'all_problems', 'ALL_PROBLEMS']; + push @{$printChoices}, [&mtn('Selected Resources from entire course'), 'all_resources', 'ALL_RESOURCES']; + push @{$printChoices}, [&mtn('Selected Problems from entire course for selected people'), 'all_problems_students', 'ALL_PROBLEMS_STUDENTS']; my $suffixXml = < Select sorting order of printout @@ -4520,7 +4529,6 @@ ALL_PROBLEMS my @lines = &Apache::lonnet::get_scantronformat_file(); my $codechoice=''; foreach my $line (@lines) { - next if (($line =~ /^\#/) || ($line eq '')); my ($name,$description,$code_type,$code_length)= (split(/:/,$line))[0,1,2,4]; if ($code_length > 0 && @@ -4698,9 +4706,8 @@ CHOOSE_FROM_SUBDIR # Allow the user to select any sequence in the course, feed it to # another resource selector for that sequence if (!$helper->{VARS}->{'construction'} && !$is_published) { - push(@$printChoices, [&mt('Selected [_1]Resources[_2] from [_3]selected folder[_4] in course', - '','','',''), - 'select_sequences', 'CHOOSE_SEQUENCE']); + push @$printChoices, [&mtn("Selected Resources from selected folder in course"), + 'select_sequences', 'CHOOSE_SEQUENCE']; my $escapedSequenceName = $helper->{VARS}->{'SEQUENCE'}; #Escape apostrophes and backslashes for Perl $escapedSequenceName =~ s/\\/\\\\/g; @@ -4719,7 +4726,7 @@ CHOOSE_FROM_SUBDIR (mark desired resources then click "next" button)
+ closeallpages="1" modallink="1"> PAGESIZE return $isNotMap return '$escapedSequenceName';