version 1.208, 2003/08/02 13:57:05
|
version 1.212, 2003/08/13 19:38:16
|
Line 465 sub page_format {
|
Line 465 sub page_format {
|
sub get_name { |
sub get_name { |
my ($uname,$udom)=@_; |
my ($uname,$udom)=@_; |
if (!defined($uname)) { $uname=$ENV{'user.name'}; } |
if (!defined($uname)) { $uname=$ENV{'user.name'}; } |
if (!defined($udom)) { $uname=$ENV{'user.domain'}; } |
if (!defined($udom)) { $udom=$ENV{'user.domain'}; } |
my $plainname=&Apache::loncommon::plainname($uname,$udom); |
my $plainname=&Apache::loncommon::plainname($uname,$udom); |
if ($plainname=~/^\s*$/) { $plainname=$uname; } |
if ($plainname=~/^\s*$/) { $plainname=$uname; } |
return &Apache::lonxml::latex_special_symbols($plainname,undef,undef, |
return &Apache::lonxml::latex_special_symbols($plainname,'header'); |
'header'); |
|
} |
} |
|
|
|
|
sub page_format_transformation { |
sub page_format_transformation { |
my ($papersize,$layout,$numberofcolumns,$choice,$text,$assignment) = @_; |
my ($papersize,$layout,$numberofcolumns,$choice,$text,$assignment,$tableofcontents) = @_; |
my ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin); |
my ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin); |
$assignment=~s/_/ /g; |
$assignment=~s/_/ /g; |
if ($numberofcolumns != 1) { |
if ($numberofcolumns != 1) { |
Line 484 sub page_format_transformation {
|
Line 483 sub page_format_transformation {
|
} |
} |
my $name = &get_name(); |
my $name = &get_name(); |
if ($name =~ /^\s*$/) { |
if ($name =~ /^\s*$/) { |
$name=&Apache::lonxml::latex_special_symbols($ENV{'user.name'},undef, |
$name=&Apache::lonxml::latex_special_symbols($ENV{'user.name'},'header'); |
undef,'header'); |
|
} |
} |
my $courseidinfo = &Apache::lonxml::latex_special_symbols(&Apache::lonnet::unescape($ENV{'course.'.$ENV{'request.course.id'}.'.description'}),'','','header'); |
my $courseidinfo = &Apache::lonxml::latex_special_symbols(&Apache::lonnet::unescape($ENV{'course.'.$ENV{'request.course.id'}.'.description'}),'header'); |
if ($layout eq 'album') { |
if ($layout eq 'album') { |
my $topmargintoinsert = ''; |
my $topmargintoinsert = ''; |
if ($topmargin ne '0') {$topmargintoinsert='\setlength{\topmargin}{'.$topmargin.'}';} |
if ($topmargin ne '0') {$topmargintoinsert='\setlength{\topmargin}{'.$topmargin.'}';} |
Line 499 sub page_format_transformation {
|
Line 497 sub page_format_transformation {
|
$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 /; |
$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 /; |
} |
} |
} |
} |
|
if ($tableofcontents eq 'yes') {$text=~s/(\\begin{document})/$1 \\tableofcontents \\vskip 0\.5mm\\noindent\\makebox\[\\textwidth\/1\]\[b\]{\\hrulefill}/;} |
return $text; |
return $text; |
} |
} |
|
|
Line 713 ENDPART
|
Line 712 ENDPART
|
if (($selectionmade == 4) and ($assignment ne $prevassignment) and ($i>=1)) { |
if (($selectionmade == 4) and ($assignment ne $prevassignment) and ($i>=1)) { |
my $name = &get_name(); |
my $name = &get_name(); |
if ($name =~ /^\s*$/) { |
if ($name =~ /^\s*$/) { |
$name=&Apache::lonxml::latex_special_symbols($ENV{'user.name'},undef, |
$name=&Apache::lonxml::latex_special_symbols($ENV{'user.name'},'header'); |
undef,'header'); |
|
} |
} |
my $courseidinfo = &Apache::lonxml::latex_special_symbols(&Apache::lonnet::unescape($ENV{'course.'.$ENV{'request.course.id'}.'.description'}),'','','header'); |
my $courseidinfo = &Apache::lonxml::latex_special_symbols(&Apache::lonnet::unescape($ENV{'course.'.$ENV{'request.course.id'}.'.description'}),'header'); |
$prevassignment=$assignment; |
$prevassignment=$assignment; |
$result .='\newpage \noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$name.'}} - '.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$assignment.'}}} \vskip -5 mm '; |
$result .='\newpage \noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$name.'}} - '.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$assignment.'}}} \vskip -5 mm '; |
} |
} |
Line 849 ENDPART
|
Line 847 ENDPART
|
$result .= '\end{document}'; |
$result .= '\end{document}'; |
} |
} |
#-------------------------------------------------------- corrections for the different page formats |
#-------------------------------------------------------- corrections for the different page formats |
$result = &page_format_transformation($papersize,$laystyle,$numberofcolumns,$helper->{'VARS'}->{'PRINT_TYPE'},$result,$helper->{VARS}->{'assignment'}); |
$result = &page_format_transformation($papersize,$laystyle,$numberofcolumns,$helper->{'VARS'}->{'PRINT_TYPE'},$result,$helper->{VARS}->{'assignment'},$helper->{'VARS'}->{'TABLE_CONTENTS'}); |
$result = &latex_corrections($number_of_columns,$result); |
$result = &latex_corrections($number_of_columns,$result); |
#changes page's parameters for the one column output |
#changes page's parameters for the one column output |
if ($numberofcolumns == 1) { |
if ($numberofcolumns == 1) { |
Line 858 ENDPART
|
Line 856 ENDPART
|
$result =~ s/\\evensidemargin = -0\.57in/\\evensidemargin= $helper->{'VARS'}->{'pagesize.lmargin'} $helper->{'VARS'}->{'pagesize.lmarginunit'} /; |
$result =~ s/\\evensidemargin = -0\.57in/\\evensidemargin= $helper->{'VARS'}->{'pagesize.lmargin'} $helper->{'VARS'}->{'pagesize.lmarginunit'} /; |
$result =~ s/\\oddsidemargin = -0\.57in/\\oddsidemargin= $helper->{'VARS'}->{'pagesize.lmargin'} $helper->{'VARS'}->{'pagesize.lmarginunit'} /; |
$result =~ s/\\oddsidemargin = -0\.57in/\\oddsidemargin= $helper->{'VARS'}->{'pagesize.lmargin'} $helper->{'VARS'}->{'pagesize.lmarginunit'} /; |
} |
} |
|
if ($helper->{'VARS'}->{'TABLE_CONTENTS'} eq 'yes') {$selectionmade+=10;} |
#-- writing .tex file in prtspool |
#-- writing .tex file in prtspool |
my $temp_file; |
my $temp_file; |
my $filename = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout_".time."_".rand(10000000).".tex"; |
my $filename = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout_".time."_".rand(10000000).".tex"; |
Line 867 ENDPART
|
Line 866 ENDPART
|
} |
} |
print $temp_file $result; |
print $temp_file $result; |
|
|
#<meta http-equiv="Refresh" content="0; url=/cgi-bin/printout.pl?$filename&$laystyle&$numberofcolumns&$selectionmade"> |
|
$r->print(<<FINALEND); |
$r->print(<<FINALEND); |
<meta http-equiv="Refresh" content="0; url=/cgi-bin/printout.pl?$filename&$laystyle&$numberofcolumns&$selectionmade"> |
<meta http-equiv="Refresh" content="0; url=/cgi-bin/printout.pl?$filename&$laystyle&$numberofcolumns&$selectionmade"> |
</body> |
</body> |
Line 1155 CHOOSE_FROM_SUBDIR
|
Line 1153 CHOOSE_FROM_SUBDIR
|
if (($ENV{'request.role.adv'} and &Apache::lonnet::allowed('vgr',$ENV{'request.course.id'})) or |
if (($ENV{'request.role.adv'} and &Apache::lonnet::allowed('vgr',$ENV{'request.course.id'})) or |
($helper->{VARS}->{'construction'} eq '1')) { |
($helper->{VARS}->{'construction'} eq '1')) { |
$paramHash = Apache::lonhelper::getParamHash(); |
$paramHash = Apache::lonhelper::getParamHash(); |
$paramHash->{MESSAGE_TEXT} = "<br /><big><b><i>Next option is available only for advanced users:</i></b></big><br />"; |
$paramHash->{MESSAGE_TEXT} = "<br /><big><b><i>Next option is available only for advanced users: </i></b></big>"; |
Apache::lonhelper::message->new(); |
Apache::lonhelper::message->new(); |
$paramHash = Apache::lonhelper::getParamHash(); |
$paramHash = Apache::lonhelper::getParamHash(); |
$paramHash->{'variable'} = 'ANSWER_TYPE'; |
$paramHash->{'variable'} = 'ANSWER_TYPE'; |
Line 1163 CHOOSE_FROM_SUBDIR
|
Line 1161 CHOOSE_FROM_SUBDIR
|
$paramHash->{CHOICES} = [ |
$paramHash->{CHOICES} = [ |
['Print without answer', 'yes'], |
['Print without answer', 'yes'], |
['Print with answers', 'no'] ]; |
['Print with answers', 'no'] ]; |
Apache::lonhelper::choices->new(); |
Apache::lonhelper::dropdown->new(); |
} |
} |
|
|
if ($ENV{'request.role.adv'}) { |
if ($ENV{'request.role.adv'}) { |
$paramHash = Apache::lonhelper::getParamHash(); |
$paramHash = Apache::lonhelper::getParamHash(); |
$paramHash->{MESSAGE_TEXT} = "<br /><big><b><i>Another option available only for advanced users:</i></b></big><br />"; |
$paramHash->{MESSAGE_TEXT} = "<br /><big><b><i>Another option available only for advanced users: </i></b></big>"; |
Apache::lonhelper::message->new(); |
Apache::lonhelper::message->new(); |
$paramHash = Apache::lonhelper::getParamHash(); |
$paramHash = Apache::lonhelper::getParamHash(); |
$paramHash->{'variable'} = 'LATEX_TYPE'; |
$paramHash->{'variable'} = 'LATEX_TYPE'; |
Line 1181 CHOOSE_FROM_SUBDIR
|
Line 1180 CHOOSE_FROM_SUBDIR
|
['Print in LaTeX batchmode', 'batchmode'], |
['Print in LaTeX batchmode', 'batchmode'], |
['Print in standard LaTeX mode', 'standard'] ]; |
['Print in standard LaTeX mode', 'standard'] ]; |
} |
} |
Apache::lonhelper::choices->new(); |
Apache::lonhelper::dropdown->new(); |
} |
} |
|
|
|
|
|
$paramHash = Apache::lonhelper::getParamHash(); |
|
$paramHash->{MESSAGE_TEXT} = "<br /><big><b>Print with <i>Table of Contents: </i></b></big>"; |
|
Apache::lonhelper::message->new(); |
|
$paramHash = Apache::lonhelper::getParamHash(); |
|
$paramHash->{'variable'} = 'TABLE_CONTENTS'; |
|
$helper->declareVar('TABLE_CONTENTS'); |
|
$paramHash->{CHOICES} = [ |
|
['No', 'no'], |
|
['Yes', 'yes'] ]; |
|
Apache::lonhelper::dropdown->new(); |
|
|
|
|
Apache::lonprintout::page_format_state->new("FORMAT"); |
Apache::lonprintout::page_format_state->new("FORMAT"); |
|
|
# Generate the PAGESIZE state which will offer the user the margin |
# Generate the PAGESIZE state which will offer the user the margin |