--- loncom/interface/lonprintout.pm 2003/08/21 15:50:35 1.222 +++ loncom/interface/lonprintout.pm 2003/09/05 02:25:30 1.226 @@ -1,7 +1,7 @@ # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.222 2003/08/21 15:50:35 sakharuk Exp $ +# $Id: lonprintout.pm,v 1.226 2003/09/05 02:25:30 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -669,6 +669,9 @@ ENDPART $form{'problem_split'}=$parmhash{'problem_stream_switch'}; $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; my $rndseed=time; + if ($helper->{'VARS'}->{'curseed'}) { + $rndseed=$helper->{'VARS'}->{'curseed'}; + } $form{'rndseed'}=$rndseed; &Apache::lonnet::appenv(%moreenv); &Apache::lonnet::delenv('form.counter'); @@ -840,6 +843,9 @@ ENDPART @list_of_files=sort @list_of_files; my $flag_latex_header_remove = 'NO'; my $rndseed=time; + if ($helper->{'VARS'}->{'curseed'}) { + $rndseed=$helper->{'VARS'}->{'curseed'}; + } for (my $i=0;$i<=$#list_of_files;$i++) { my $urlp = $list_of_files[$i]; if ($urlp=~/\//) { @@ -915,6 +921,7 @@ ENDPART if ($helper->{'VARS'}->{'TABLE_INDEX'} eq 'yes') { if ($selectionmade<10) {$selectionmade*=100;} else {$selectionmade*=10;} } + if ($ENV{'request.role.adv'}) {$selectionmade*=10000;} #-- writing .tex file in prtspool my $temp_file; my $filename = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout_".time."_".rand(10000000).".tex"; @@ -971,6 +978,13 @@ sub handler { use Apache::lonhelper; +sub addMessage { + my $text = shift; + my $paramHash = Apache::lonhelper::getParamHash(); + $paramHash->{MESSAGE_TEXT} = $text; + Apache::lonhelper::message->new(); +} + sub printHelper { my $r = shift; @@ -1007,6 +1021,7 @@ sub printHelper { my $helper = Apache::lonhelper::helper->new("Printing Helper"); $helper->declareVar('symb'); $helper->declareVar('postdata'); + $helper->declareVar('curseed'); $helper->declareVar('filename'); $helper->declareVar('construction'); $helper->declareVar('assignment'); @@ -1062,6 +1077,9 @@ sub printHelper { } $subdir = &Apache::lonnet::filelocation("", $url); } + if (!$helper->{VARS}->{'curseed'} && $ENV{'form.curseed'}) { + $helper->{VARS}->{'curseed'}=$ENV{'form.curseed'}; + } my $userCanSeeHidden = Apache::lonnavmaps::advancedUser(); @@ -1155,7 +1173,7 @@ HELPERFRAGMENT - +
Select resources for the assignment
@@ -1188,8 +1206,8 @@ CHOOSE_STUDENTS CHOOSE_FROM_SUBDIR $xmlfrag .= <<'CHOOSE_FROM_SUBDIR'; - return $filename =~ - m/\.(problem|exam|quiz|assess|survey|form|library)$/; + return Apache::lonhelper::files::not_old_version($filename) && + $filename =~ m/\.(problem|exam|quiz|assess|survey|form|library)$/;
@@ -1198,7 +1216,7 @@ CHOOSE_FROM_SUBDIR } # 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->{MESSAGE_TEXT} = ""; Apache::lonhelper::message->new(); @@ -1208,78 +1226,93 @@ CHOOSE_FROM_SUBDIR $paramHash->{CHOICES} = $printChoices; 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 ($helper->{VARS}->{'construction'} eq '1')) { - $paramHash = Apache::lonhelper::getParamHash(); - $paramHash->{MESSAGE_TEXT} = "
Next four options are available only for advanced users: "; - Apache::lonhelper::message->new(); + addMessage("
"); + $startedTable = 1; } if ($ENV{'request.role.adv'}) { - $paramHash = Apache::lonhelper::getParamHash(); - $paramHash->{MESSAGE_TEXT} = "
Print With Answers:"); $paramHash = Apache::lonhelper::getParamHash(); $paramHash->{'variable'} = 'ANSWER_TYPE'; $helper->declareVar('ANSWER_TYPE'); $paramHash->{CHOICES} = [ - ['Print without answer', 'yes'], - ['Print with answers', 'no'] ]; + ['Yes', 'yes'], + ['No', 'no'] ]; Apache::lonhelper::dropdown->new(); + addMessage("
 "; - Apache::lonhelper::message->new(); + if (!$startedTable) { + addMessage("
"); if (not $helper->{VARS}->{'construction'}) { - $paramHash = Apache::lonhelper::getParamHash(); - $paramHash->{MESSAGE_TEXT} = ""); } if ($helper->{VARS}->{'construction'}) { - $paramHash = Apache::lonhelper::getParamHash(); - $paramHash->{MESSAGE_TEXT} = ""); + } + if ($helper->{'VARS'}->{'construction'}) { + my $xmlfrag .= <<'RNDSEED'; + +RNDSEED + &Apache::lonxml::xmlparse($r, 'helper', $xmlfrag); } + } - $paramHash = Apache::lonhelper::getParamHash(); - $paramHash->{MESSAGE_TEXT} = "
LaTeX mode: "); + $startedTable = 1; + } else { + addMessage("
LaTeX mode: "); + } $paramHash = Apache::lonhelper::getParamHash(); $paramHash->{'variable'} = 'LATEX_TYPE'; $helper->declareVar('LATEX_TYPE'); if ($helper->{VARS}->{'construction'} eq '1') { $paramHash->{CHOICES} = [ - ['Print in standard LaTeX mode', 'standard'], - ['Print in LaTeX batchmode', 'batchmode'], ]; + ['standard LaTeX mode', 'standard'], + ['LaTeX batchmode', 'batchmode'], ]; } else { $paramHash->{CHOICES} = [ - ['Print in LaTeX batchmode', 'batchmode'], - ['Print in standard LaTeX mode', 'standard'] ]; + ['LaTeX batchmode', 'batchmode'], + ['standard LaTeX mode', 'standard'] ]; } Apache::lonhelper::dropdown->new(); - $paramHash = Apache::lonhelper::getParamHash(); - $paramHash->{MESSAGE_TEXT} = "
 "; - Apache::lonhelper::message->new(); + addMessage("
Print Table of Contents: "); $paramHash = Apache::lonhelper::getParamHash(); $paramHash->{'variable'} = 'TABLE_CONTENTS'; $helper->declareVar('TABLE_CONTENTS'); $paramHash->{CHOICES} = [ - ['Print without Table of Contents', 'no'], - ['Print with Table of Contents', 'yes'] ]; + ['No', 'no'], + ['Yes', 'yes'] ]; Apache::lonhelper::dropdown->new(); + addMessage("
 "; - Apache::lonhelper::message->new(); + addMessage("
Print Index: "); $paramHash = Apache::lonhelper::getParamHash(); $paramHash->{'variable'} = 'TABLE_INDEX'; $helper->declareVar('TABLE_INDEX'); $paramHash->{CHOICES} = [ - ['Print without Index', 'no'], - ['Print with Index', 'yes'] ]; + ['No', 'no'], + ['Yes', 'yes'] ]; Apache::lonhelper::dropdown->new(); + addMessage("
 "; - Apache::lonhelper::message->new(); + addMessage("
Print With URL: "); $paramHash = Apache::lonhelper::getParamHash(); $paramHash->{'variable'} = 'CONSTR_RESOURSE_URL'; $helper->declareVar('CONSTR_RESOURSE_URL'); $paramHash->{CHOICES} = [ - ['Print without URL', 'no'], - ['Print with UTL', 'yes'] ]; + ['No', 'no'], + ['Yes', 'yes'] ]; Apache::lonhelper::dropdown->new(); + addMessage("
Use random seed: + + + return $helper->{VARS}->{'curseed'}; + + +
"; - Apache::lonhelper::message->new(); + if ($startedTable) { + addMessage("
"); } Apache::lonprintout::page_format_state->new("FORMAT"); @@ -1370,7 +1403,7 @@ sub render { $result .= <What page format do you prefer?

+
Page layout