--- loncom/interface/lonprintout.pm 2004/04/19 15:39:35 1.291
+++ loncom/interface/lonprintout.pm 2004/04/22 22:59:11 1.293
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Printout
#
-# $Id: lonprintout.pm,v 1.291 2004/04/19 15:39:35 sakharuk Exp $
+# $Id: lonprintout.pm,v 1.293 2004/04/22 22:59:11 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1002,20 +1002,36 @@ ENDPART
$result .= $print_array[0].' \end{document}';
} elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'problems_for_anon') ||
($helper->{'VARS'}->{'PRINT_TYPE'} eq 'resources_for_anon') ) {
+ my $cdom =$ENV{'course.'.$ENV{'request.course.id'}.'.domain'};
+ my $cnum =$ENV{'course.'.$ENV{'request.course.id'}.'.num'};
my $num_todo=$helper->{'VARS'}->{'NUMBER_TO_PRINT_TOTAL'};
my $code_name=$helper->{'VARS'}->{'ANON_CODE_STORAGE_NAME'};
- if ($helper->{'VARS'}->{'REMEBER_ANON_CODES'} != 1) {
- $code_name=undef;
- }
+ my $old_name=$helper->{'VARS'}->{'REUSE_OLD_CODES'};
my @master_seq=split /\|\|\|/, $helper->{'VARS'}->{'RESOURCES'};
my ($type) = split(/_/,$helper->{'VARS'}->{'PRINT_TYPE'});
my $flag_latex_header_remove = 'NO';
my %moreenv = ('textwidth' => &get_textwidth($helper,$LaTeXwidth));
my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin($r,'Print Status','Class Print Status',$num_todo,'inline');
my $seed=time+($$<<16)+($$);
- my %allcodes;
- for (my $i=0;$i<$num_todo;$i++) {
- $moreenv{'CODE'}=&get_CODE(\%allcodes,$i,$seed,'6');
+ my @allcodes;
+ if ($old_name) {
+ my %result=&Apache::lonnet::get('CODEs',[$old_name],$cdom,$cnum);
+ @allcodes=split(',',$result{$old_name});
+ } else {
+ my %allcodes;
+ for (my $i=0;$i<$num_todo;$i++) {
+ $moreenv{'CODE'}=&get_CODE(\%allcodes,$i,$seed,'6');
+ }
+ if ($code_name) {
+ &Apache::lonnet::put('CODEs',
+ {$code_name =>join(',',keys(%allcodes))},
+ $cdom,$cnum);
+ }
+ @allcodes=keys(%allcodes);
+ }
+ my $i=0;
+ foreach my $code (sort(@allcodes)) {
+ $moreenv{'CODE'}=&num_to_letters($code);
my ($output,$fullname)=
&print_resources($r,$helper,'anonymous',$type,\%moreenv,
\@master_seq,$flag_latex_header_remove);
@@ -1023,13 +1039,7 @@ ENDPART
&Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state,
&mt('last assignment').' '.$fullname);
$flag_latex_header_remove = 'YES';
- }
- if ($code_name) {
- my $cdom = $ENV{'course.'.$ENV{'request.course.id'}.'.domain'};
- my $cnum = $ENV{'course.'.$ENV{'request.course.id'}.'.num'};
- &Apache::lonnet::put('CODEs',
- { $code_name => join(',',keys(%allcodes)) },
- $cdom,$cnum);
+ $i++;
}
&Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state);
$result .= $print_array[0].' \end{document}';
@@ -1212,7 +1222,7 @@ sub get_CODE {
srand($seed);
my $newcode;
while(1) {
- $newcode=int(rand($max));
+ $newcode=sprintf("%06d",int(rand($max)));
if (!exists($$all_codes{$newcode})) {
$$all_codes{$newcode}=1;
return &num_to_letters($newcode);
@@ -1567,19 +1577,27 @@ RESOURCE_SELECTOR
$resource_selector
CHOOSE_STUDENTS
+
+ my $cdom = $ENV{'course.'.$ENV{'request.course.id'}.'.domain'};
+ my $cnum = $ENV{'course.'.$ENV{'request.course.id'}.'.num'};
+ my @names=&Apache::lonnet::getkeys('CODEs',$cdom,$cnum);
+ my $namechoice='';
+ foreach my $name (@names) {
+ $namechoice.=''.$name.'';
+ }
&Apache::lonxml::xmlparse($r, 'helper', <
PAGESIZE
Number of anonymous assignments to print?
-
-
- Should the CODEs used on this printing be remebered for later?
-
-
- Names to store the CODEs under for later:
+
Names to store the CODEs under for later:
+ Reprint a set of saved CODEs:
+
+ $namechoice
+
+
$resource_selector
CHOOSE_ANON1