--- loncom/interface/lonprintout.pm 2002/08/12 18:06:55 1.50 +++ loncom/interface/lonprintout.pm 2002/09/04 03:59:20 1.53 @@ -1,7 +1,7 @@ # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.50 2002/08/12 18:06:55 albertel Exp $ +# $Id: lonprintout.pm,v 1.53 2002/09/04 03:59:20 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -47,6 +47,7 @@ use Apache::inputtags; use Apache::edit; use Apache::File(); use POSIX qw(strftime); +use Apache::loncoursedata; sub headerform { @@ -73,13 +74,18 @@ sub menu_for_output { (you will print what you see on the screen)
ENDMENUOUT1 if ((not $ENV{'request.role'}=~m/^au\./) and (not $ENV{'request.role'}=~m/^ca\./)) { - $r->print(<print(< All problems from the primary sequence
The whole primary sequence (problems plus all html and xml files)
All problems from the top level sequence

ENDMENUOUT2 } + if ($ENV{'request.role'}=~m/^cc\./ or $ENV{'request.role'}=~m/^in\./ or $ENV{'request.role'}=~m/^ta\./) { + $r->print(< Print assignment for students in class
+ENDMENUOUT6 + } my $subdirtoprint = &Apache::lonnet::filelocation("",$ENV{'form.url'}); $subdirtoprint =~ s/\/[^\/]+$//; if (&Apache::lonnet::allowed('bre',$subdirtoprint) eq 'F') { @@ -114,13 +120,59 @@ ENDMENUOUT4
- - - ENDMENUOUT5 } +sub additional_class_menu { + my $r = shift; + $r->print(< + + + +

Mark students which assignments you want to print

+ENDMENUOUT1 + my $c = $r->connection; + my %cache; + my $courseID=$ENV{'request.course.id'}; + my $classlist=&Apache::loncoursedata::DownloadClasslist($courseID, + $cache{'ClasslistTimestamp'}, + $c); + foreach (keys(%$classlist)) { + if(/^(con_lost|error|no_such_host)/i) { + untie(%cache); + return "Error getting student data."; + } + } + my $classlistaa = ''; + foreach my $st (keys(%$classlist)) { + $classlistaa .= ' SSS '.$st.' => '.$$classlist{$st}.' FFF '."\r\n"; + } + + $r->print(< + + +ENDMENUOUT2 +} + + +sub additional_print_menu { + my $r = shift; + $r->print(< + + + +Enter width of the page:
+ + + + + +ENDMENUOUT +} sub output_data { @@ -140,7 +192,6 @@ ENDPART my $laystyle = 'book'; my $result = ''; my $number_of_columns = 1; -# my $number_of_columns = $ENV{'form.numberofcolumns'}; if ($choice eq 'Standard LaTeX output for current document') { #-- single document - problem, page, html, xml @@ -185,7 +236,7 @@ ENDPART &Apache::lonnet::delenv('form.grade_target'); $result .= $texversion; } - } else { + } elsif ($urlp =~ /\S+/) { my %moreenv; $moreenv{'form.grade_target'}='tex'; &Apache::lonnet::appenv(%moreenv); @@ -243,7 +294,7 @@ ENDPART if ($file_seq[-1]=~m/REMOVE IT PLEASE/) { pop @file_seq; } -#-- produce an output string + #-- produce an output string for (my $i=0;$i<=$#file_seq;$i++) { my $urlp = $file_seq[$i]; $urlp=~s/\/home\/httpd\/html//; @@ -257,6 +308,10 @@ ENDPART } } $result = &additional_cleanup($result); + } elsif ($choice eq 'All class print') { + + + } elsif ($choice eq 'Subdirectory print') { my $subdirtoprint = &Apache::lonnet::filelocation("",$ENV{'form.url'}); $subdirtoprint =~ s/\/[^\/]+$//; @@ -294,11 +349,7 @@ ENDPART } $result = &additional_cleanup($result); - - - - - + } #-- corrections for the different page formats if ($layout eq 'CBI' and $numberofcolumns eq '1') { @@ -322,6 +373,10 @@ ENDPART $result =~ s/(\\end{longtable}\s*)\\newline/$1/g; $result =~ s/\$number_of_columns/$number_of_columns/g; } + #changes page's parameters for the one column output + if ($ENV{'form.numberofcolumns'} == 1) { + $result =~ s/\\textwidth= 9cm/\\textwidth= $ENV{'form.width'}/; + } #-- LaTeX corrections my $first_comment = index($result,'