version 1.116, 2003/02/14 21:43:35
|
version 1.120, 2003/02/25 16:45:25
|
Line 202 sub sequence_content_menu {
|
Line 202 sub sequence_content_menu {
|
} |
} |
} |
} |
</script> |
</script> |
<b>DDD=$#titles_master_seq</b> $titles_master_seq[0]<br /> |
<b> |
<input type=button onClick="checkall()" value="Check All"> |
<input type=button onClick="checkall()" value="Check All"> |
<input type=button onClick="uncheckall()" value="Uncheck"> |
<input type=button onClick="uncheckall()" value="Uncheck"> |
<input type="submit" value="Submit"> |
<input type="submit" value="Submit"> |
Line 238 sub problem_choice_menu {
|
Line 238 sub problem_choice_menu {
|
$subdirtoprint =~ s/\/[^\/]+$//; |
$subdirtoprint =~ s/\/[^\/]+$//; |
my @list_of_files = (); |
my @list_of_files = (); |
my @content_directory = (); |
my @content_directory = (); |
|
$r->print("Subdir: " . $subdirtoprint . "<br />"); |
if ($subdirtoprint =~ m|/home/([^/]+)/public_html|) { |
if ($subdirtoprint =~ m|/home/([^/]+)/public_html|) { |
#localmachine CSTR space |
#localmachine CSTR space |
my $user=$1; |
my $user=$1; |
Line 381 ENDDISHEADER
|
Line 382 ENDDISHEADER
|
} |
} |
} |
} |
$r->print(<<ENDMENUOUT2); |
$r->print(<<ENDMENUOUT2); |
<br />Number of blank pages to add: <select name="addedpages"><option selected>0</option> |
<br /><br /><br /> |
<option>1</option> |
<table><tr><td width=300>Number of blank pages added to each student assignments to print these assignments on physically different sheets (<b>requires manual addjustment</b>): <select name="addedpages"><option selected>0</option> |
<option>2</option> |
<option>1</option> |
<option>3</option> |
<option>2</option> |
</select> |
<option>3</option> |
|
</select></td></tr></table> |
<br /> |
<br /> |
<input type="hidden" name="papersize" value="$ENV{'form.papersize'}"> |
<input type="hidden" name="papersize" value="$ENV{'form.papersize'}"> |
<input type="hidden" name="numberofstudents" value="$i"> |
<input type="hidden" name="numberofstudents" value="$i"> |
Line 611 ENDPART
|
Line 613 ENDPART
|
foreach my $person (@students) { |
foreach my $person (@students) { |
my $current_output = ''; |
my $current_output = ''; |
my ($usersection,$username,$userdomain) = split /:/,$person; |
my ($usersection,$username,$userdomain) = split /:/,$person; |
my $fullname = &Apache::grades::get_fullname($username,$userdomain); |
my $fullname = &Apache::grades::get_fullname($username,$userdomain); |
#goes through all resources, checks if they are available for current student, and produces output |
#goes through all resources, checks if they are available for current student, and produces output |
foreach my $curresline (@master_seq) { |
foreach my $curresline (@master_seq) { |
my ($curres,$symb) = split /&&/, $curresline; |
my ($curres,$symb) = split /&&/, $curresline; |
Line 630 ENDPART
|
Line 632 ENDPART
|
$flag_latex_header_remove = 'YES'; |
$flag_latex_header_remove = 'YES'; |
} |
} |
} |
} |
|
my $courseidinfo = $ENV{'course.'.$ENV{'request.course.id'}.'.description'}; |
if ($current_output=~/\\documentclass/) { |
if ($current_output=~/\\documentclass/) { |
my $courseidinfo = $ENV{'course.'.$ENV{'request.course.id'}.'.description'}; |
$current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm}\\usepackage{fancyhdr}\\pagestyle{fancy}\\rhead{}\\chead{} \\begin{document}\\noindent\\lhead{\\textit{\\textbf{$fullname}} - $courseidinfo \\hfill \\thepage \\\\ \\textit{$assignment}}\\vskip 3 mm /; |
$current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm}\\usepackage{fancyhdr}\\pagestyle{fancy}\\rhead{}\\chead{}\\lhead{$courseidinfo \\hfill \\thepage \\\\ \\textit{$assignment}} \\begin{document}\\noindent\\textit{\\textbf{$fullname}}\\vskip 3 mm /; |
|
} else { |
} else { |
my $blanspages = ''; |
my $blanspages = ''; |
for (my $j=0;$j<$ENV{'form.addedpages'};$j++) {$blanspages.='\clearpage\strut\clearpage';} |
for (my $j=0;$j<$ENV{'form.addedpages'};$j++) {$blanspages.='\clearpage\strut\clearpage';} |
$current_output = '\strut\\newline\\noindent\\makebox[\\textwidth/$number_of_columns][b]{\\hrulefill}\\newline\\noindent{\\tiny Printed from LON-CAPA\\copyright MSU{\\hfill} Licensed under GNU General Public License } \\vskip 3mm'.$blanspages.'\setcounter{page}{1}\noindent\parbox{\minipagewidth}{\noindent\textit{\textbf{'.$fullname.'}}\hskip 1.4in } \vskip 5 mm '.$current_output; |
$current_output = '\strut\\newline\\noindent\\makebox[\\textwidth/$number_of_columns][b]{\\hrulefill}\\newline\\noindent{\\tiny Printed from LON-CAPA\\copyright MSU{\\hfill} Licensed under GNU General Public License }\\newpage \\vskip 3mm'.$blanspages.'\setcounter{page}{1}\noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$fullname.'}} - '.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$assignment.'}}\hskip 1.4in } \vskip 5 mm '.$current_output; |
} |
} |
$result .= $current_output; |
$result .= $current_output; |
&Apache::lonnet::delenv('form.counter'); |
&Apache::lonnet::delenv('form.counter'); |
|
&Apache::lonxml::init_counter(); |
} |
} |
$result .= '\end{document}'; |
$result .= '\end{document}'; |
&Apache::lonnet::delenv('form.textwidth'); |
&Apache::lonnet::delenv('form.textwidth'); |
Line 834 sub character_chart {
|
Line 837 sub character_chart {
|
$result =~ s/&\#0?61;/\$=\$/g; |
$result =~ s/&\#0?61;/\$=\$/g; |
$result =~ s/&(\#0?62|gt|\#155);/\$>\$/g; |
$result =~ s/&(\#0?62|gt|\#155);/\$>\$/g; |
$result =~ s/&\#0?63;/\?/g; |
$result =~ s/&\#0?63;/\?/g; |
# $result =~ s/�?64;//g; |
|
$result =~ s/&\#0?65;/A/g; |
$result =~ s/&\#0?65;/A/g; |
$result =~ s/&\#0?66;/B/g; |
$result =~ s/&\#0?66;/B/g; |
$result =~ s/&\#0?67;/C/g; |
$result =~ s/&\#0?67;/C/g; |
Line 924 sub character_chart {
|
Line 926 sub character_chart {
|
$result =~ s/&(\#168|uml);/\\texthighdieresis /g; |
$result =~ s/&(\#168|uml);/\\texthighdieresis /g; |
$result =~ s/&(\#169|copy);/\\copyright /g; |
$result =~ s/&(\#169|copy);/\\copyright /g; |
$result =~ s/&(\#170|ordf);/\\textordfeminine /g; |
$result =~ s/&(\#170|ordf);/\\textordfeminine /g; |
# $result =~ s/«//g; |
|
# $result =~ s/«//g; |
|
$result =~ s/&(\#172|not);/\$\\neg\$/g; |
$result =~ s/&(\#172|not);/\$\\neg\$/g; |
$result =~ s/&(\#173|shy);/ - /g; |
$result =~ s/&(\#173|shy);/ - /g; |
$result =~ s/&(\#174|reg);/\\textregistered /g; |
$result =~ s/&(\#174|reg);/\\textregistered /g; |
Line 941 sub character_chart {
|
Line 941 sub character_chart {
|
$result =~ s/&(\#184|cedil);/\\c{\\strut}/g; |
$result =~ s/&(\#184|cedil);/\\c{\\strut}/g; |
$result =~ s/&(\#185|sup1);/\$^1\$/g; |
$result =~ s/&(\#185|sup1);/\$^1\$/g; |
$result =~ s/&(\#186|ordm);/\\textordmasculine /g; |
$result =~ s/&(\#186|ordm);/\\textordmasculine /g; |
# $result =~ s/»//g; |
|
# $result =~ s/»//g; |
|
$result =~ s/&(\#188|frac14);/\\textonequarter /g; |
$result =~ s/&(\#188|frac14);/\\textonequarter /g; |
$result =~ s/&(\#189|frac12);/\\textonehalf /g; |
$result =~ s/&(\#189|frac12);/\\textonehalf /g; |
$result =~ s/&(\#190|frac34);/\\textthreequarters /g; |
$result =~ s/&(\#190|frac34);/\\textthreequarters /g; |
Line 963 sub character_chart {
|
Line 961 sub character_chart {
|
$result =~ s/&(\#205|Iacute);/\\\'{I}/g; |
$result =~ s/&(\#205|Iacute);/\\\'{I}/g; |
$result =~ s/&(\#206|Icirc);/\\^{I}/g; |
$result =~ s/&(\#206|Icirc);/\\^{I}/g; |
$result =~ s/&(\#207|Iuml);/\\\"{I}/g; |
$result =~ s/&(\#207|Iuml);/\\\"{I}/g; |
# $result =~ s/Ð//g; |
|
# $result =~ s/Ð//g; |
|
$result =~ s/&(\#209|Ntilde);/\\~{N}/g; |
$result =~ s/&(\#209|Ntilde);/\\~{N}/g; |
$result =~ s/&(\#210|Ograve);/\\\`{O}/g; |
$result =~ s/&(\#210|Ograve);/\\\`{O}/g; |
$result =~ s/&(\#211|Oacute);/\\\'{O}/g; |
$result =~ s/&(\#211|Oacute);/\\\'{O}/g; |
Line 978 sub character_chart {
|
Line 974 sub character_chart {
|
$result =~ s/&(\#219|Ucirc);/\\^{U}/g; |
$result =~ s/&(\#219|Ucirc);/\\^{U}/g; |
$result =~ s/&(\#220|Uuml);/\\\"{U}/g; |
$result =~ s/&(\#220|Uuml);/\\\"{U}/g; |
$result =~ s/&(\#221|Yacute);/\\\'{Y}/g; |
$result =~ s/&(\#221|Yacute);/\\\'{Y}/g; |
# $result =~ s/Þ//g; |
|
# $result =~ s/Þ//g; |
|
$result =~ s/&(\#223|szlig);/\\ss/g; |
$result =~ s/&(\#223|szlig);/\\ss/g; |
$result =~ s/&(\#224|agrave);/\\\`{a}/g; |
$result =~ s/&(\#224|agrave);/\\\`{a}/g; |
$result =~ s/&(\#225|aacute);/\\\'{a}/g; |
$result =~ s/&(\#225|aacute);/\\\'{a}/g; |
Line 1011 sub character_chart {
|
Line 1005 sub character_chart {
|
$result =~ s/&(\#251|ucirc);/\\^{u}/g; |
$result =~ s/&(\#251|ucirc);/\\^{u}/g; |
$result =~ s/&(\#252|uuml);/\\\"{u}/g; |
$result =~ s/&(\#252|uuml);/\\\"{u}/g; |
$result =~ s/&(\#253|yacute);/\\\'{y}/g; |
$result =~ s/&(\#253|yacute);/\\\'{y}/g; |
# $result =~ s/þ//g; |
|
# $result =~ s/þ//g; |
|
$result =~ s/&(\#255|yuml);/\\\"{y}/g; |
$result =~ s/&(\#255|yuml);/\\\"{y}/g; |
$result =~ s/&\#952;/\$\\theta\$/g; |
$result =~ s/&\#952;/\$\\theta\$/g; |
|
#Greek Alphabet |
|
$result =~ s/&(alpha|\#945);/\$\\alpha \$/g; |
|
$result =~ s/&(beta|\#946);/\$\\beta \$/g; |
|
$result =~ s/&(gamma|\#947);/\$\\gamma \$/g; |
|
$result =~ s/&(delta|\#948);/\$\\delta \$/g; |
|
$result =~ s/&(epsilon|\#949);/\$\\epsilon \$/g; |
|
$result =~ s/&(zeta|\#950);/\$\\zeta \$/g; |
|
$result =~ s/&(eta|\#951);/\$\\eta \$/g; |
|
$result =~ s/&(theta|\#952);/\$\\theta \$/g; |
|
$result =~ s/&(iota|\#953);/\$\\iota \$/g; |
|
$result =~ s/&(kappa|\#954);/\$\\kappa \$/g; |
|
$result =~ s/&(lambda|\#955);/\$\\lambda \$/g; |
|
$result =~ s/&(mu|\#956);/\$\\mu \$/g; |
|
$result =~ s/&(nu|\#957);/\$\\nu \$/g; |
|
$result =~ s/&(xi|\#958);/\$\\xi \$/g; |
|
$result =~ s/&(pi|\#960);/\$\\pi \$/g; |
|
$result =~ s/&(rho|\#961);/\$\\rho \$/g; |
|
$result =~ s/&(sigma|\#963);/\$\\sigma \$/g; |
|
$result =~ s/&(tau|\#964);/\$\\tau \$/g; |
|
$result =~ s/&(upsilon|\#965);/\$\\upsilon \$/g; |
|
$result =~ s/&(phi|\#966);/\$\\phi \$/g; |
|
$result =~ s/&(chi|\#967);/\$\\chi \$/g; |
|
$result =~ s/&(psi|\#968);/\$\\psi \$/g; |
|
$result =~ s/&(omega|\#969);/\$\\omega \$/g; |
|
$result =~ s/&(Gamma|\#915);/\$\\Gamma \$/g; |
|
$result =~ s/&(Delta|\#916);/\$\\Delta \$/g; |
|
$result =~ s/&(Theta|\#920);/\$\\Theta \$/g; |
|
$result =~ s/&(Lambda|\#923);/\$\\Lambda \$/g; |
|
$result =~ s/&(Xi|\#926);/\$\\Xi \$/g; |
|
$result =~ s/&(Pi|\#928);/\$\\Pi \$/g; |
|
$result =~ s/&(Sigma|\#931);/\$\\Sigma \$/g; |
|
$result =~ s/&(Upsilon|\#933);/\$\\Upsilon \$/g; |
|
$result =~ s/&(Phi|\#934);/\$\\Phi \$/g; |
|
$result =~ s/&(Psi|\#936);/\$\\Psi \$/g; |
|
$result =~ s/&(Omega|\#937);/\$\\Omega \$/g; |
|
|
return $result; |
return $result; |
} |
} |
|
|
Line 1104 sub page_format_transformation {
|
Line 1132 sub page_format_transformation {
|
if ($choice ne 'All class print') { |
if ($choice ne 'All class print') { |
$text =~ s/\\begin{document}/\\textheight $textheight\\oddsidemargin = $evenoffset\\evensidemargin = $evenoffset\\textwidth= $textwidth\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\usepackage{fancyhdr}\\pagestyle{fancy}\\rhead{}\\chead{}\\lhead{\\textbf{$firstname $lastname} - $courseidinfo \\hfill \\thepage \\\\ \\textit{$assignment}}\\begin{document}\\voffset=-0\.8 cm\\setcounter{page}{1}/; |
$text =~ s/\\begin{document}/\\textheight $textheight\\oddsidemargin = $evenoffset\\evensidemargin = $evenoffset\\textwidth= $textwidth\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\usepackage{fancyhdr}\\pagestyle{fancy}\\rhead{}\\chead{}\\lhead{\\textbf{$firstname $lastname} - $courseidinfo \\hfill \\thepage \\\\ \\textit{$assignment}}\\begin{document}\\voffset=-0\.8 cm\\setcounter{page}{1}/; |
} else { |
} else { |
$text =~ s/\\begin{document}/\\textheight $textheight\\oddsidemargin = $evenoffset\\evensidemargin = $evenoffset\\textwidth= $textwidth\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\begin{document}\\voffset=-0\.8cm\\setcounter{page}{1} \\vskip 5 mm /; |
$text =~ s/\\pagestyle{fancy}\\rhead{}\\chead{}\s*\\begin{document}/\\textheight $textheight\\oddsidemargin = $evenoffset\\evensidemargin = $evenoffset\\textwidth= $textwidth\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\pagestyle{fancy}\\rhead{}\\chead{}\\begin{document}\\voffset=-0\.8cm\\setcounter{page}{1} \\vskip 5 mm /; |
|
|
} |
} |
} |
} |
return $text; |
return $text; |
Line 1188 sub handler {
|
Line 1217 sub handler {
|
|
|
my $r = shift; |
my $r = shift; |
|
|
# not sure where the form.* was getting processed. |
|
Apache::loncommon::get_unprocessed_cgi($ENV{QUERY_STRING}); |
|
|
|
# A hook for me to work without disturbing Alex. |
# A hook for me to work without disturbing Alex. |
if ($ENV{'form.jeremy'}) { |
if ($ENV{'form.jeremy'}) { |
printWizard($r); |
printWizard($r); |
Line 1282 sub printWizard {
|
Line 1308 sub printWizard {
|
|
|
my ($resourceTitle,$sequenceTitle,$mapTitle) = &details_for_menu; |
my ($resourceTitle,$sequenceTitle,$mapTitle) = &details_for_menu; |
|
|
my $wizard = Apache::lonwizard->new("Printing Wizard"); |
my $wizard = Apache::lonwizard->new("Printing Wizard", $ENV{QUERY_STRING}); |
# PRINT_TYPE: What the user wants to print (current docs, |
# PRINT_TYPE: What the user wants to print (current docs, |
# whole sequence, etc. |
# whole sequence, etc. |
$wizard->declareVars(['PRINT_TYPE']); |
$wizard->declareVars(['PRINT_TYPE', 'FORMAT', 'postdata', 'url', |
|
'symb', 'RESOURCES', 'FILES']); |
|
|
|
# Extract map |
|
my $symb = $wizard->{VARS}->{'symb'}; |
|
my ($map, $id, $url) = split(/__/, $symb); |
|
|
|
my $subdir = &Apache::lonnet::filelocation("", $ENV{'form.url'}); |
|
|
|
# "Delete everything after the last slash." |
|
$subdir =~ s|/[^/]+$||; |
|
|
|
# This really ought to be in some repository in loncommon or |
|
# something where it can just be grabbed. |
|
my $problemFilter = sub { |
|
my $name = shift; |
|
return $name =~ m/^[^\.]+\.(problem|exam|quiz|assess|survey|form|library)$/; |
|
}; |
|
|
my $subdir = $ENV{'form.postdata'}; |
|
$subdir =~ s|http://[^/]+||; |
|
$subdir =~ m/\/([^\/]+)$/; |
|
$subdir =~ s/\Q$1\E//; |
|
|
|
# This code also shows up above... which is prefered? Is one |
|
# right for this context? |
|
#my $subdir = &Apache::lonnet::filelocation("",$ENV{'form.url'}); |
|
#$subdir =~ s/\/[^\/]+$//; |
|
|
|
Apache::lonwizard::switch_state->new($wizard, "START", "Selecting Resources to Print", "PRINT_TYPE", [ |
Apache::lonwizard::switch_state->new($wizard, "START", "Selecting Resources to Print", "PRINT_TYPE", [ |
['current_document', "<b>$resourceTitle</b> (exactly what was on the screen)", 'CHOOSE_FORMAT'], |
['current_document', "<b>$resourceTitle</b> (exactly what was on the screen)", 'CHOOSE_FORMAT'], |
['map_problems', "Problems from <b>$sequenceTitle</b>", 'CHOOSE_FORMAT'], |
['map_problems', "Problems from <b>$sequenceTitle</b>", 'CHOOSE_PROBLEMS'], |
['map_problems_pages', "All of <b>$sequenceTitle</b>", 'CHOOSE_FORMAT'], |
['map_problems_pages', "Problems and pages from <b>$sequenceTitle</b>", 'CHOOSE_PROBLEMS_HTML'], |
['problems_for_students', "Problems from <b>$sequenceTitle</b> for selected students", 'CHOOSE_FORMAT'], |
['problems_for_students', "Problems from <b>$sequenceTitle</b> for selected students", 'CHOOSE_FORMAT'], |
['problems_from_directory', "Problems from <b>$subdir</b>", 'CHOOSE_FORMAT'] ], |
['problems_from_directory', "Problems from <b>$subdir</b>", 'CHOOSE_FROM_SUBDIR'] ], |
"What do you want to print?"); |
"What do you want to print?"); |
|
Apache::lonwizard::resource_multichoice->new($wizard, "CHOOSE_PROBLEMS", 'Select Problems', "Select problems to print from <b>$sequenceTitle</b>:", '', 'CHOOSE_FORMAT', 'RESOURCES', sub {my $res = shift; return $res->is_problem()}, undef, $map); |
|
Apache::lonwizard::resource_multichoice->new($wizard, "CHOOSE_PROBLEMS_HTML", 'Select Resources', "Select resources to print from <b>$sequenceTitle</b>:", '', "CHOOSE_FORMAT", 'RESOURCES', sub {my $res = shift; return !$res->is_map()}, undef, $map); |
|
Apache::lonwizard::choose_files->new($wizard, "CHOOSE_FROM_SUBDIR", "Select Files","Select problems you wish to print from <b>$subdir</b>:", '', 'CHOOSE_FORMAT', 'FILES', $subdir, $problemFilter); |
|
Apache::lonprintout::page_format_state->new($wizard, "CHOOSE_FORMAT", "Page Format", "FORMAT", "FINAL"); |
|
|
$r->print($wizard->display()); |
$r->print($wizard->display()); |
|
|
untie %hash; |
untie %hash; |
Line 1315 sub printWizard {
|
Line 1352 sub printWizard {
|
|
|
|
|
1; |
1; |
|
|
|
package Apache::lonprintout::page_format_state; |
|
|
|
=pod |
|
|
|
=head1 Wizard state: page_format_state |
|
|
|
See lonwizard.pm documentation for discussion of the wizard framework. |
|
|
|
Apache::lonprintout::page_format_state is a state that gives the user an opportunity to select the page layout they wish to print with: Number of columns, portrait/landscape, and paper size. If you want to change the paper size choices, change the @paperSize array contents in this package. |
|
|
|
=over 4 |
|
|
|
=item * B<new>(parentLonWizReference, stateName, stateTitle, varName, nextState): varName is where the print information will be stored in the format FIXME. nextState is the state that follows this one. |
|
|
|
=back |
|
|
|
=cut |
|
|
|
use Apache::lonwizard; |
|
|
|
no strict; |
|
@ISA = ("Apache::lonwizard::state"); |
|
use strict; |
|
|
|
my $maxColumns = 2; |
|
my @paperSize = ("Letter [8 1/2x11 in]", "Legal [8 1/2x14 in]", |
|
"Ledger/Tabloid [11x17 in]", "Executive [7 1/2x10 in]", |
|
"A2 [420x594 mm]", "A3 [297x420 mm]", "A4 [210x297 mm]", |
|
"A5 [148x210 mm]", "A6 [105x148 mm]" ); |
|
|
|
# Tentative format: Orientation (L = Landscape, P = portrait) | Colnum | |
|
# Paper type |
|
|
|
sub new { |
|
my $proto = shift; |
|
my $class = ref($proto) || $proto; |
|
my $self = bless $proto->SUPER::new(shift, shift, shift); |
|
|
|
$self->{VAR_NAME} = shift; |
|
$self->{NEXT_STATE} = shift; |
|
return $self; |
|
} |
|
|
|
sub postprocess { |
|
my $self = shift; |
|
my $wizard = $self->{WIZARD}; |
|
|
|
# We have to manually collect the value and store it in the |
|
# wizard variable |
|
my $result = $ENV{'form.' . $self->{VAR_NAME} . '.layout'} . '|'; |
|
$result .= $ENV{'form.' . $self->{VAR_NAME} . '.cols'} . '|'; |
|
$result .= $ENV{'form.' . $self->{VAR_NAME} . '.paper'}; |
|
|
|
$wizard->setVar($self->{VAR_NAME}, $result); |
|
$wizard->changeState($self->{NEXT_STATE}); |
|
} |
|
|
|
sub render { |
|
my $self = shift; |
|
my $wizard = $self->{WIZARD}; |
|
my $result = ''; |
|
my $var = $self->{VAR_NAME}; |
|
my $curVal = $self->{WIZARD}->{VARS}->{$var}; |
|
|
|
my ($layout, $cols, $paper) = split(/\|/, $curVal); |
|
|
|
my $landscapeChecked = ($layout ne "L")? '' : 'checked '; |
|
my $portraitChecked = $landscapeChecked ? '' : 'checked '; |
|
|
|
$result .= <<STATEHTML; |
|
|
|
<p>How should the printing be formatted?</p> |
|
<table cellpadding="3"> |
|
<tr> |
|
<td align="center"><b>Layout</b></td> |
|
<td align="center"><b>Columns</b></td> |
|
<td align="center"><b>Paper type</b></td> |
|
</tr> |
|
<tr> |
|
<td> |
|
<input type="radio" name="${var}.layout" value="L" $landscapeChecked> Landscape<br /> |
|
<input type="radio" name="${var}.layout" value="P" $portraitChecked> Portrait |
|
</td> |
|
<td> |
|
<select name="${var}.cols"> |
|
STATEHTML |
|
|
|
my $i; |
|
for ($i = 1; $i <= $maxColumns; $i++) { |
|
if ($i == $cols) { |
|
$result .= "<option value='$i' selected>$i</option>\n"; |
|
} else { |
|
$result .= "<option value='$i'>$i</option>\n"; |
|
} |
|
} |
|
|
|
$result .= "</select></td><td>\n"; |
|
$result .= "<select name='${var}.paper'>\n"; |
|
|
|
$i = 0; |
|
foreach (@paperSize) { |
|
if ($paper == $i) { |
|
$result .= "<option selected value='$i'>" . $paperSize[$i] . "</option>\n"; |
|
} else { |
|
$result .= "<option value='$i'>" . $paperSize[$i] . "</option>\n"; |
|
} |
|
$i++; |
|
} |
|
|
|
$result .= "</select></td></tr></table>"; |
|
return $result; |
|
} |
|
|
|
1; |
|
|
|
package Apache::lonprintout::printwizfinal; |
|
|
|
# This is the final state for the print wizard. It is not generally useful, |
|
# so it is not perldoc'ed. |
|
|
|
no strict; |
|
@ISA = ('Apache::lonwizard::state'); |
|
use strict; |
|
|
|
sub new { |
|
my $proto = shift; |
|
my $class = ref($proto) || $proto; |
|
my $self = bless $proto->SUPER::new(shift, shift, shift); |
|
|
|
# All other variables come from the wizard. |
|
} |
|
|
|
sub render { |
|
my $self = shift; |
|
my $wizard = $self->{WIZARD}; |
|
my $wizvars = $wizard->{VARS}; |
|
|
|
my $result = ''; |
|
|
|
$result .= "<form method='get' action='/adm/printout'>\n"; |
|
|
|
# Nope, I'm lost. |
|
$result .= "</form>"; |
|
} |
|
|
|
1; |
|
|
__END__ |
__END__ |
|
|