--- loncom/interface/lonprintout.pm 2003/04/30 16:29:07 1.132 +++ loncom/interface/lonprintout.pm 2003/05/01 17:19:25 1.139 @@ -1,7 +1,7 @@ # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.132 2003/04/30 16:29:07 bowersj2 Exp $ +# $Id: lonprintout.pm,v 1.139 2003/05/01 17:19:25 bowersj2 Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1415,7 +1415,7 @@ HELPERFRAGMENT my $isProblemOrMap = '$res->is_problem() || $res->is_map()'; my $symb = '$res->symb();'; &Apache::lonxml::xmlparse($r, 'helper', < + Select problems to print: FINAL @@ -1437,17 +1437,22 @@ CHOOSE_STUDENTS push @{$printChoices}, ["Problems from $subdir", 'problems_from_directory', 'CHOOSE_FROM_SUBDIR']; my $f = '$filename'; - &Apache::lonxml::xmlparse($r, 'helper', < Select problems you wish to print from $subdir - + FINAL - $subdir - return $f =~ + return '$subdir'; +CHOOSE_FROM_SUBDIR + + $xmlfrag .= <<'CHOOSE_FROM_SUBDIR'; + return $filename =~ m/^[^\.]+\.(problem|exam|quiz|assess|survey|form|library)$/; + CHOOSE_FROM_SUBDIR + &Apache::lonxml::xmlparse($r, 'helper', $xmlfrag); } # Generate the first state, to select which resources get printed. @@ -1457,6 +1462,7 @@ CHOOSE_FROM_SUBDIR Apache::lonhelper::message->new(); $paramHash = Apache::lonhelper::getParamHash(); $paramHash->{'variable'} = 'PRINT_TYPE'; + $helper->declareVar('PRINT_TYPE'); $paramHash->{CHOICES} = $printChoices; Apache::lonhelper::choices->new(); Apache::lonprintout::page_format_state->new("FORMAT"); @@ -1524,7 +1530,11 @@ my @paperSize = ("Letter [8 1/2x11 in]", sub new { my $self = Apache::lonhelper::element->new(); + shift; + $self->{'variable'} = shift; + my $helper = Apache::lonhelper::getHelper(); + $helper->declareVar($self->{'variable'}); bless($self); return $self; } @@ -1582,6 +1592,17 @@ STATEHTML return $result; } +sub postprocess { + my $self = shift; + + my $var = $self->{'variable'}; + my $helper = Apache::lonhelper->getHelper(); + $helper->{VARS}->{$var} = + $ENV{"form.$var.layout"} . '|' . $ENV{"form.$var.cols"} . '|' . + $ENV{"form.$var.paper"}; + return 1; +} + 1; __END__