version 1.221, 2003/08/20 18:34:14
|
version 1.226, 2003/09/05 02:25:30
|
Line 483 sub get_course {
|
Line 483 sub get_course {
|
sub page_format_transformation { |
sub page_format_transformation { |
my ($papersize,$layout,$numberofcolumns,$choice,$text,$assignment,$tableofcontents,$indexlist) = @_; |
my ($papersize,$layout,$numberofcolumns,$choice,$text,$assignment,$tableofcontents,$indexlist) = @_; |
my ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin); |
my ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin); |
$assignment=~s/_/ /g; |
$assignment=&Apache::lonxml::latex_special_symbols($assignment,'header'); |
if ($numberofcolumns != 1) { |
if ($numberofcolumns != 1) { |
($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin) = &page_format($papersize,$layout,$numberofcolumns,$topmargin); |
($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin) = &page_format($papersize,$layout,$numberofcolumns,$topmargin); |
} else { |
} else { |
Line 669 ENDPART
|
Line 669 ENDPART
|
$form{'problem_split'}=$parmhash{'problem_stream_switch'}; |
$form{'problem_split'}=$parmhash{'problem_stream_switch'}; |
$form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; |
$form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; |
my $rndseed=time; |
my $rndseed=time; |
|
if ($helper->{'VARS'}->{'curseed'}) { |
|
$rndseed=$helper->{'VARS'}->{'curseed'}; |
|
} |
$form{'rndseed'}=$rndseed; |
$form{'rndseed'}=$rndseed; |
&Apache::lonnet::appenv(%moreenv); |
&Apache::lonnet::appenv(%moreenv); |
&Apache::lonnet::delenv('form.counter'); |
&Apache::lonnet::delenv('form.counter'); |
Line 733 ENDPART
|
Line 736 ENDPART
|
} |
} |
$form{'symb'}=$master_seq[$i]; |
$form{'symb'}=$master_seq[$i]; |
$master_seq[$i]=~/(.*)___\d*___/; |
$master_seq[$i]=~/(.*)___\d*___/; |
my $assignment=&Apache::lonnet::gettitle($1); #tittle of the assignment which contains this problem |
my $assignment=&Apache::lonxml::latex_special_symbols(&Apache::lonnet::gettitle($1),'header'); #tittle of the assignment which contains this problem |
#&Apache::lonnet::logthis("Trying to get $urlp with symb $master_seq[$i]"); |
#&Apache::lonnet::logthis("Trying to get $urlp with symb $master_seq[$i]"); |
my $texversion=&Apache::lonnet::ssi($urlp,%form); |
my $texversion=&Apache::lonnet::ssi($urlp,%form); |
if ($urlp=~/\.page$/) { |
if ($urlp=~/\.page$/) { |
Line 840 ENDPART
|
Line 843 ENDPART
|
@list_of_files=sort @list_of_files; |
@list_of_files=sort @list_of_files; |
my $flag_latex_header_remove = 'NO'; |
my $flag_latex_header_remove = 'NO'; |
my $rndseed=time; |
my $rndseed=time; |
|
if ($helper->{'VARS'}->{'curseed'}) { |
|
$rndseed=$helper->{'VARS'}->{'curseed'}; |
|
} |
for (my $i=0;$i<=$#list_of_files;$i++) { |
for (my $i=0;$i<=$#list_of_files;$i++) { |
my $urlp = $list_of_files[$i]; |
my $urlp = $list_of_files[$i]; |
if ($urlp=~/\//) { |
if ($urlp=~/\//) { |
Line 915 ENDPART
|
Line 921 ENDPART
|
if ($helper->{'VARS'}->{'TABLE_INDEX'} eq 'yes') { |
if ($helper->{'VARS'}->{'TABLE_INDEX'} eq 'yes') { |
if ($selectionmade<10) {$selectionmade*=100;} else {$selectionmade*=10;} |
if ($selectionmade<10) {$selectionmade*=100;} else {$selectionmade*=10;} |
} |
} |
|
if ($ENV{'request.role.adv'}) {$selectionmade*=10000;} |
#-- 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 971 sub handler {
|
Line 978 sub handler {
|
|
|
use Apache::lonhelper; |
use Apache::lonhelper; |
|
|
|
sub addMessage { |
|
my $text = shift; |
|
my $paramHash = Apache::lonhelper::getParamHash(); |
|
$paramHash->{MESSAGE_TEXT} = $text; |
|
Apache::lonhelper::message->new(); |
|
} |
|
|
sub printHelper { |
sub printHelper { |
my $r = shift; |
my $r = shift; |
|
|
Line 1007 sub printHelper {
|
Line 1021 sub printHelper {
|
my $helper = Apache::lonhelper::helper->new("Printing Helper"); |
my $helper = Apache::lonhelper::helper->new("Printing Helper"); |
$helper->declareVar('symb'); |
$helper->declareVar('symb'); |
$helper->declareVar('postdata'); |
$helper->declareVar('postdata'); |
|
$helper->declareVar('curseed'); |
$helper->declareVar('filename'); |
$helper->declareVar('filename'); |
$helper->declareVar('construction'); |
$helper->declareVar('construction'); |
$helper->declareVar('assignment'); |
$helper->declareVar('assignment'); |
Line 1062 sub printHelper {
|
Line 1077 sub printHelper {
|
} |
} |
$subdir = &Apache::lonnet::filelocation("", $url); |
$subdir = &Apache::lonnet::filelocation("", $url); |
} |
} |
|
if (!$helper->{VARS}->{'curseed'} && $ENV{'form.curseed'}) { |
|
$helper->{VARS}->{'curseed'}=$ENV{'form.curseed'}; |
|
} |
|
|
my $userCanSeeHidden = Apache::lonnavmaps::advancedUser(); |
my $userCanSeeHidden = Apache::lonnavmaps::advancedUser(); |
|
|
Line 1155 HELPERFRAGMENT
|
Line 1173 HELPERFRAGMENT
|
</resource> |
</resource> |
</state> |
</state> |
|
|
<state name="CHOOSE_STUDENTS" title="Choose Students whose assignments you want to print"> |
<state name="CHOOSE_STUDENTS" title="Select Students and Resources"> |
<student multichoice='1' variable="STUDENTS" nextstate="PAGESIZE" /> |
<student multichoice='1' variable="STUDENTS" nextstate="PAGESIZE" /> |
<message><br /><big><i><b>Select resources for the assignment</b></i></big><br /></message> |
<message><br /><big><i><b>Select resources for the assignment</b></i></big><br /></message> |
<resource variable="RESOURCES" multichoice="1"> |
<resource variable="RESOURCES" multichoice="1"> |
Line 1188 CHOOSE_STUDENTS
|
Line 1206 CHOOSE_STUDENTS
|
CHOOSE_FROM_SUBDIR |
CHOOSE_FROM_SUBDIR |
|
|
$xmlfrag .= <<'CHOOSE_FROM_SUBDIR'; |
$xmlfrag .= <<'CHOOSE_FROM_SUBDIR'; |
<filefilter>return $filename =~ |
<filefilter>return Apache::lonhelper::files::not_old_version($filename) && |
m/\.(problem|exam|quiz|assess|survey|form|library)$/; |
$filename =~ m/\.(problem|exam|quiz|assess|survey|form|library)$/; |
</filefilter> |
</filefilter> |
</files> |
</files> |
</state> |
</state> |
Line 1198 CHOOSE_FROM_SUBDIR
|
Line 1216 CHOOSE_FROM_SUBDIR
|
} |
} |
|
|
# Generate the first state, to select which resources get printed. |
# Generate the first state, to select which resources get printed. |
Apache::lonhelper::state->new("START", "What do you want to print? Make a choice."); |
Apache::lonhelper::state->new("START", "Select Printing Options:"); |
$paramHash = Apache::lonhelper::getParamHash(); |
$paramHash = Apache::lonhelper::getParamHash(); |
$paramHash->{MESSAGE_TEXT} = ""; |
$paramHash->{MESSAGE_TEXT} = ""; |
Apache::lonhelper::message->new(); |
Apache::lonhelper::message->new(); |
Line 1208 CHOOSE_FROM_SUBDIR
|
Line 1226 CHOOSE_FROM_SUBDIR
|
$paramHash->{CHOICES} = $printChoices; |
$paramHash->{CHOICES} = $printChoices; |
Apache::lonhelper::choices->new(); |
Apache::lonhelper::choices->new(); |
|
|
|
my $startedTable = 0; # have we started an HTML table yet? (need |
|
# to close it later) |
|
|
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(); |
addMessage("<hr width='33%' /><table><tr><td align='right'>Print With Answers:</td><td>"); |
$paramHash->{MESSAGE_TEXT} = "<br /><table><tr><td><big><b><i>Next four options are available only for advanced users: </i></b></big></td><td>"; |
|
Apache::lonhelper::message->new(); |
|
$paramHash = Apache::lonhelper::getParamHash(); |
$paramHash = Apache::lonhelper::getParamHash(); |
$paramHash->{'variable'} = 'ANSWER_TYPE'; |
$paramHash->{'variable'} = 'ANSWER_TYPE'; |
$helper->declareVar('ANSWER_TYPE'); |
$helper->declareVar('ANSWER_TYPE'); |
$paramHash->{CHOICES} = [ |
$paramHash->{CHOICES} = [ |
['Print without answer', 'yes'], |
['Yes', 'yes'], |
['Print with answers', 'no'] ]; |
['No', 'no'] ]; |
Apache::lonhelper::dropdown->new(); |
Apache::lonhelper::dropdown->new(); |
|
addMessage("</td></tr>"); |
|
$startedTable = 1; |
} |
} |
|
|
if ($ENV{'request.role.adv'}) { |
if ($ENV{'request.role.adv'}) { |
$paramHash = Apache::lonhelper::getParamHash(); |
if (!$startedTable) { |
$paramHash->{MESSAGE_TEXT} = "</td></tr><tr><td> </td><td>"; |
addMessage("<hr width='33%' /><table><tr><td align='right'>LaTeX mode: </td><td>"); |
Apache::lonhelper::message->new(); |
$startedTable = 1; |
|
} else { |
|
addMessage("<tr><td align='right'>LaTeX mode: </td><td>"); |
|
} |
$paramHash = Apache::lonhelper::getParamHash(); |
$paramHash = Apache::lonhelper::getParamHash(); |
$paramHash->{'variable'} = 'LATEX_TYPE'; |
$paramHash->{'variable'} = 'LATEX_TYPE'; |
$helper->declareVar('LATEX_TYPE'); |
$helper->declareVar('LATEX_TYPE'); |
if ($helper->{VARS}->{'construction'} eq '1') { |
if ($helper->{VARS}->{'construction'} eq '1') { |
$paramHash->{CHOICES} = [ |
$paramHash->{CHOICES} = [ |
['Print in standard LaTeX mode', 'standard'], |
['standard LaTeX mode', 'standard'], |
['Print in LaTeX batchmode', 'batchmode'], ]; |
['LaTeX batchmode', 'batchmode'], ]; |
} else { |
} else { |
$paramHash->{CHOICES} = [ |
$paramHash->{CHOICES} = [ |
['Print in LaTeX batchmode', 'batchmode'], |
['LaTeX batchmode', 'batchmode'], |
['Print in standard LaTeX mode', 'standard'] ]; |
['standard LaTeX mode', 'standard'] ]; |
} |
} |
Apache::lonhelper::dropdown->new(); |
Apache::lonhelper::dropdown->new(); |
|
|
$paramHash = Apache::lonhelper::getParamHash(); |
addMessage("</td></tr><tr><td align='right'>Print Table of Contents: </td><td>"); |
$paramHash->{MESSAGE_TEXT} = "</td></tr><tr><td> </td><td>"; |
|
Apache::lonhelper::message->new(); |
|
$paramHash = Apache::lonhelper::getParamHash(); |
$paramHash = Apache::lonhelper::getParamHash(); |
$paramHash->{'variable'} = 'TABLE_CONTENTS'; |
$paramHash->{'variable'} = 'TABLE_CONTENTS'; |
$helper->declareVar('TABLE_CONTENTS'); |
$helper->declareVar('TABLE_CONTENTS'); |
$paramHash->{CHOICES} = [ |
$paramHash->{CHOICES} = [ |
['Print without Table of Contents', 'no'], |
['No', 'no'], |
['Print with Table of Contents', 'yes'] ]; |
['Yes', 'yes'] ]; |
Apache::lonhelper::dropdown->new(); |
Apache::lonhelper::dropdown->new(); |
|
addMessage("</td></tr>"); |
|
|
if (not $helper->{VARS}->{'construction'}) { |
if (not $helper->{VARS}->{'construction'}) { |
$paramHash = Apache::lonhelper::getParamHash(); |
addMessage("<tr><td align='right'>Print Index: </td><td>"); |
$paramHash->{MESSAGE_TEXT} = "</td></tr><tr><td> </td><td>"; |
|
Apache::lonhelper::message->new(); |
|
$paramHash = Apache::lonhelper::getParamHash(); |
$paramHash = Apache::lonhelper::getParamHash(); |
$paramHash->{'variable'} = 'TABLE_INDEX'; |
$paramHash->{'variable'} = 'TABLE_INDEX'; |
$helper->declareVar('TABLE_INDEX'); |
$helper->declareVar('TABLE_INDEX'); |
$paramHash->{CHOICES} = [ |
$paramHash->{CHOICES} = [ |
['Print without Index', 'no'], |
['No', 'no'], |
['Print with Index', 'yes'] ]; |
['Yes', 'yes'] ]; |
Apache::lonhelper::dropdown->new(); |
Apache::lonhelper::dropdown->new(); |
|
addMessage("</td></tr>"); |
} |
} |
|
|
if ($helper->{VARS}->{'construction'}) { |
if ($helper->{VARS}->{'construction'}) { |
$paramHash = Apache::lonhelper::getParamHash(); |
addMessage("<tr><td align='right'>Print With URL: </td><td>"); |
$paramHash->{MESSAGE_TEXT} = "</td></tr><tr><td> </td><td>"; |
|
Apache::lonhelper::message->new(); |
|
$paramHash = Apache::lonhelper::getParamHash(); |
$paramHash = Apache::lonhelper::getParamHash(); |
$paramHash->{'variable'} = 'CONSTR_RESOURSE_URL'; |
$paramHash->{'variable'} = 'CONSTR_RESOURSE_URL'; |
$helper->declareVar('CONSTR_RESOURSE_URL'); |
$helper->declareVar('CONSTR_RESOURSE_URL'); |
$paramHash->{CHOICES} = [ |
$paramHash->{CHOICES} = [ |
['Print without URL', 'no'], |
['No', 'no'], |
['Print with UTL', 'yes'] ]; |
['Yes', 'yes'] ]; |
Apache::lonhelper::dropdown->new(); |
Apache::lonhelper::dropdown->new(); |
|
addMessage("</td></tr>"); |
|
} |
|
if ($helper->{'VARS'}->{'construction'}) { |
|
my $xmlfrag .= <<'RNDSEED'; |
|
<message><tr><td align='right'>Use random seed: </td><td></message> |
|
<string variable="curseed" size="15" maxlength="15"> |
|
<defaultvalue> |
|
return $helper->{VARS}->{'curseed'}; |
|
</defaultvalue> |
|
</string> |
|
<message></td></tr></message> |
|
RNDSEED |
|
&Apache::lonxml::xmlparse($r, 'helper', $xmlfrag); |
} |
} |
|
} |
|
|
$paramHash = Apache::lonhelper::getParamHash(); |
if ($startedTable) { |
$paramHash->{MESSAGE_TEXT} = "</td></tr><table>"; |
addMessage("</table>"); |
Apache::lonhelper::message->new(); |
|
} |
} |
|
|
Apache::lonprintout::page_format_state->new("FORMAT"); |
Apache::lonprintout::page_format_state->new("FORMAT"); |
Line 1370 sub render {
|
Line 1403 sub render {
|
|
|
$result .= <<STATEHTML; |
$result .= <<STATEHTML; |
|
|
<p><big><i><b>What page format do you prefer?</b></i></big></p> |
<hr width="33%" /> |
<table cellpadding="3"> |
<table cellpadding="3"> |
<tr> |
<tr> |
<td align="center"><b>Page layout</b></td> |
<td align="center"><b>Page layout</b></td> |