version 1.204, 2003/07/18 15:47:35
|
version 1.211, 2003/08/13 18:57:28
|
Line 468 sub get_name {
|
Line 468 sub get_name {
|
if (!defined($udom)) { $uname=$ENV{'user.domain'}; } |
if (!defined($udom)) { $uname=$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 619 ENDPART
|
Line 618 ENDPART
|
$currentURL=$helper->{'VARS'}->{'filename'}; |
$currentURL=$helper->{'VARS'}->{'filename'}; |
$currentURL=~s/\/home\//\/~/; |
$currentURL=~s/\/home\//\/~/; |
$currentURL=~s/public_html\///; |
$currentURL=~s/public_html\///; |
|
if ($currentURL=~/([^?]+)/) {$currentURL=$1;} |
} |
} |
$selectionmade = 1; |
$selectionmade = 1; |
if ($currentURL=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) { |
if ($currentURL=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) { |
Line 650 ENDPART
|
Line 650 ENDPART
|
($result,$number_of_columns) = &page_cleanup($result); |
($result,$number_of_columns) = &page_cleanup($result); |
} |
} |
} else { |
} else { |
# $result='\documentclass[letterpaper]{article}\usepackage{calc}\begin{document}Printout of this type of document is currently not supported: '; |
$result='\documentclass[letterpaper]{article}\usepackage{calc}\begin{document}Printout of this type of document is currently not supported: '; |
# if ($ENV{'form.url'}=~/\/(aboutme|syllabus|bulletinboard|smppg)$/) { |
if ($currentURL=~/\/(aboutme|syllabus|bulletinboard|smppg)$/) { |
# $result.=$1; |
$result.=$1; |
# } else { |
} elsif ($currentURL=~/\/ext\//) { |
# $result.=$ENV{'form.url'}; |
$result.=' \strut \\\\ THIS IS EXTERNAL RESOURCE WITH URL \strut \\\\ '.$currentURL.' '; |
# } |
} else { |
# $result.=' \end{document}' |
$result.=$currentURL; |
|
} |
|
$result.=' \end{document}' |
} |
} |
} elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems') or |
} elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems') or |
($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems_pages') or |
($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems_pages') or |
Line 710 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 846 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 855 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 864 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 900 sub handler {
|
Line 901 sub handler {
|
|
|
my %parmhash=&Apache::lonnet::coursedescription($ENV{'request.course.id'}); |
my %parmhash=&Apache::lonnet::coursedescription($ENV{'request.course.id'}); |
|
|
my $key; |
# my $key; |
# foreach $key (keys %parmhash) { |
# foreach $key (keys %parmhash) { |
# $r->print(' '.$key.'->'.$parmhash{$key}.'<-<br />'); |
# $r->print(' '.$key.'->'.$parmhash{$key}.'<-<br />'); |
# } |
# } |
Line 955 sub printHelper {
|
Line 956 sub printHelper {
|
# This will persistently load in the data we want from the |
# This will persistently load in the data we want from the |
# very first screen. |
# very first screen. |
# Detect whether we're coming from construction space |
# Detect whether we're coming from construction space |
if ($ENV{'form.postdata'} =~ /http:\/\// ) { |
if ($ENV{'form.postdata'}=~/^(?:http:\/\/[^\/]+\/|\/|)\~([^\/]+)\/(.*)$/) { |
$ENV{'form.postdata'} =~ /http:\/\/[^\/]+\/~([^\/]+)\/(.*)/; |
|
$helper->{VARS}->{'filename'} = "/home/$1/public_html/$2"; |
$helper->{VARS}->{'filename'} = "/home/$1/public_html/$2"; |
$helper->{VARS}->{'construction'} = 1; |
$helper->{VARS}->{'construction'} = 1; |
} else { |
} else { |
Line 1131 CHOOSE_FROM_SUBDIR
|
Line 1131 CHOOSE_FROM_SUBDIR
|
|
|
$xmlfrag .= <<'CHOOSE_FROM_SUBDIR'; |
$xmlfrag .= <<'CHOOSE_FROM_SUBDIR'; |
<filefilter>return $filename =~ |
<filefilter>return $filename =~ |
m/^[^\.]+\.(problem|exam|quiz|assess|survey|form|library)$/; |
m/\.(problem|exam|quiz|assess|survey|form|library)$/; |
</filefilter> |
</filefilter> |
</files> |
</files> |
</state> |
</state> |
Line 1153 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 1161 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 1179 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 |