--- loncom/interface/lonprintout.pm 2004/12/13 23:28:43 1.341
+++ loncom/interface/lonprintout.pm 2005/01/04 14:01:21 1.348
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Printout
#
-# $Id: lonprintout.pm,v 1.341 2004/12/13 23:28:43 foxr Exp $
+# $Id: lonprintout.pm,v 1.348 2005/01/04 14:01:21 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -432,8 +432,8 @@ sub character_chart {
my %page_formats=
('letter' => {
'book' => {
- '1' => [ '7.1 in','10.2 in', '-0.57 in','-0.57 in','1 cm'],
- '2' => ['3.66 in','10.2 in', '-0.57 in','-0.57 in','1 cm']
+ '1' => [ '7.1 in','10.0 in', '-0.57 in','-0.57 in','1 cm'],
+ '2' => ['3.66 in','10.0 in', '-0.57 in','-0.57 in','1 cm']
},
'album' => {
'1' => [ '8.8 in', '6.8 in','-40 pt in', '-60 pt','1 cm'],
@@ -703,7 +703,8 @@ sub print_latex_header {
}
$output.='\newcommand{\keephidden}[1]{}\renewcommand{\deg}{$^{\circ}$}'."\n".
'\usepackage{longtable}\usepackage{textcomp}\usepackage{makeidx}'."\n".
- '\usepackage[dvips]{graphicx}\usepackage{epsfig}\usepackage{calc}'."\n".
+ '\usepackage[dvips]{graphicx}\usepackage{epsfig}'."\n".
+ '\usepackage{picins}\usepackage{calc}'."\n".
'\newenvironment{choicelist}{\begin{list}{}{\setlength{\rightmargin}{0in}'."\n".
'\setlength{\leftmargin}{0.13in}\setlength{\topsep}{0.05in}'."\n".
'\setlength{\itemsep}{0.022in}\setlength{\parsep}{0in}'."\n".
@@ -838,22 +839,24 @@ ENDPART
if ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'current_document') {
#-- single document - problem, page, html, xml, ...
- my $currentURL;
+ my ($currentURL,$cleanURL);
if ($helper->{'VARS'}->{'construction'} ne '1') {
#prints published resource
$currentURL=$helper->{'VARS'}->{'postdata'};
+ $cleanURL=&Apache::lonenc::check_decrypt($currentURL);
} else {
#prints resource from the construction space
$currentURL='/'.$helper->{'VARS'}->{'filename'};
if ($currentURL=~/([^?]+)/) {$currentURL=$1;}
+ $cleanURL=$currentURL;
}
$selectionmade = 1;
- if ($currentURL=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) {
+ if ($cleanURL=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) {
my $rndseed=time;
my $texversion='';
if ($helper->{'VARS'}->{'ANSWER_TYPE'} ne 'only') {
my %moreenv;
- $moreenv{'request.filename'}=$currentURL;
+ $moreenv{'request.filename'}=$cleanURL;
if ($helper->{'VARS'}->{'style_file'}=~/\w/) {
$moreenv{'construct.style'}=$helper->{'VARS'}->{'style_file'};
my $dom = $ENV{'user.domain'};
@@ -893,10 +896,10 @@ ENDPART
$texversion=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});
if ($helper->{'VARS'}->{'construction'} ne '1') {
$texversion.='\vskip 0 mm \noindent\textbf{'.&Apache::lonnet::gettitle($helper->{'VARS'}->{'symb'}).'}\vskip 0 mm ';
- $texversion.=&path_to_problem ($currentURL,$LaTeXwidth);
+ $texversion.=&path_to_problem($cleanURL,$LaTeXwidth);
} else {
$texversion.='\vskip 0 mm \noindent\textbf{Prints from construction space - there is no title.}\vskip 0 mm ';
- my $URLpath=$currentURL;
+ my $URLpath=$cleanURL;
$URLpath=~s/~([^\/]+)/public_html\/$1\/$1/;
$texversion.=&path_to_problem ($URLpath,$LaTeXwidth);
}
@@ -975,7 +978,7 @@ ENDPART
}
if ($helper->{VARS}->{'construction'} eq '1') {$result=~s/(\\begin{document})/$1 \\fbox\{RANDOM SEED IS $rndseed\} /;}
$result .= '\end{document}';
- } elsif ($currentURL=~/\/(smppg|syllabus|aboutme|bulletinboard)$/) {
+ } elsif ($cleanURL=~/\/(smppg|syllabus|aboutme|bulletinboard)$/) {
my %form;
$form{'grade_target'}='tex';
$form{'textwidth'}=&get_textwidth($helper,$LaTeXwidth);
@@ -1101,7 +1104,9 @@ ENDPART
if (&Apache::loncommon::connection_aborted($r)) { last; }
}
&Apache::lonnet::delenv('form.counter');
- if ($flag_page_in_sequence eq 'YES') {$result =~ s/\\usepackage{calc}/\\usepackage{calc}\\usepackage{longtable}/;}
+ if ($flag_page_in_sequence eq 'YES') {
+ $result =~ s/\\usepackage{calc}/\\usepackage{calc}\\usepackage{longtable}/;
+ }
$result .= '\end{document}';
} elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'problems_for_students') ||
($helper->{'VARS'}->{'PRINT_TYPE'} eq 'resources_for_students')){
@@ -1343,7 +1348,7 @@ ENDPART
my $URLback=''; #link to original document
if ($helper->{'VARS'}->{'construction'} ne '1') {
#prints published resource
- $URLback=$helper->{'VARS'}->{'postdata'};
+ $URLback=&Apache::lonnet::escape('/adm/flip?postdata=return:');
} else {
#prints resource from the construction space
$URLback='/'.$helper->{'VARS'}->{'filename'};
@@ -1601,7 +1606,8 @@ sub printHelper {
$helper->{VARS}->{'symb'} = &Apache::lonnet::symbread($helper->{VARS}->{'postdata'});
}
-
+ $helper->{VARS}->{'symb'}=
+ &Apache::lonenc::check_encrypt($helper->{VARS}->{'symb'});
my ($resourceTitle,$sequenceTitle,$mapTitle) = &details_for_menu($helper);
if ($sequenceTitle ne '') {$helper->{VARS}->{'assignment'}=$sequenceTitle;}
@@ -1619,7 +1625,8 @@ sub printHelper {
0, rindex($helper->{VARS}->{'filename'}, '/') + 1);
} else {
($map, $id, $url) = &Apache::lonnet::decode_symb($symb);
- $helper->{VARS}->{'postdata'} = Apache::lonnet::clutter($url);
+ $helper->{VARS}->{'postdata'} =
+ &Apache::lonenc::check_encrypt(&Apache::lonnet::clutter($url));
if (!$resourceTitle) { # if the resource doesn't have a title, use the filename
my $postdata = $helper->{VARS}->{'postdata'};
@@ -1674,8 +1681,8 @@ sub printHelper {
my $isNotMap = '!$res->is_sequence()';
$isNotMap .= ' && !$res->randomout()' if !$userCanSeeHidden;
my $isMap = '$res->is_map()';
- my $symbFilter = '$res->symb()';
- my $urlValue = '$res->src()';
+ my $symbFilter = '$res->shown_symb()';
+ my $urlValue = '$res->link()';
$helper->declareVar('SEQUENCE');
@@ -1701,6 +1708,7 @@ sub printHelper {
return $isProblem;
$map
return $symbFilter;
+
@@ -1712,6 +1720,7 @@ sub printHelper {
return $isNotMap;
$map
return $symbFilter;
+
HELPERFRAGMENT
@@ -1733,6 +1742,7 @@ HELPERFRAGMENT
return $isProblemOrMap;
return $isNotMap;
return $symbFilter;
+
ALL_PROBLEMS
@@ -1748,6 +1758,7 @@ ALL_PROBLEMS
return $isProblem;
$map
return $symbFilter;
+
How should the results be printed?
@@ -1810,6 +1821,7 @@ CHOOSE_ANON1
return $isNotMap;
$map
return $symbFilter;
+
How should the results be printed?
@@ -1893,6 +1905,7 @@ CHOOSE_FROM_SUBDIR
CHOOSE_FROM_ANY_SEQUENCE
return \$res->is_sequence;
return $urlValue;
+
@@ -1903,6 +1916,7 @@ CHOOSE_FROM_SUBDIR
return $isProblem
return '$escapedSequenceName';
return $symbFilter;
+
CHOOSE_FROM_ANY_SEQUENCE