--- loncom/interface/printout.pl 2004/02/16 22:32:59 1.48 +++ loncom/interface/printout.pl 2004/02/17 00:26:20 1.49 @@ -1,7 +1,7 @@ #!/usr/bin/perl # CGI-script to run LaTeX, dvips, ps2ps, ps2pdf etc. # -# $Id: printout.pl,v 1.48 2004/02/16 22:32:59 albertel Exp $ +# $Id: printout.pl,v 1.49 2004/02/17 00:26:20 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -34,7 +34,7 @@ use IO::File; use Image::Magick; use Apache::lonhtmlcommon; - +$|=1; my %origENV=%ENV; if (! &LONCAPA::loncgi::check_cookie_and_load_env()) { print <; close $temporary_file; my $noteps; - my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin('','Pictures CreationPrint Status','Pictires Status window',$#content_of_file); + my %prog_state; + if ($adv) { %prog_state=&Apache::lonhtmlcommon::Create_PrgWin('','Coverting Images to EPS','Picture Conversion Status',$#content_of_file); } foreach $not_eps (@content_of_file) { + chomp($not_eps); if ($not_eps ne '') { my $status_statement='EPS picture for '.$not_eps; - &Apache::lonhtmlcommon::Update_PrgWin('',\%prog_state,'last PDF file '.$not_eps); $not_eps=~s|\/\.\/|\/|g; my $eps_f = $not_eps; $eps_f =~ s/\.[^.]*$/\.eps/i; @@ -108,6 +111,11 @@ END if ( exists($done_conversion{$not_eps})) { next; } + if ($adv) { + my $prettyname=$not_eps; + $prettyname=~s|/home/([^/]+)/public_html|/priv/$1|; + $prettyname=~s|/home/httpd/html/|/|; + &Apache::lonhtmlcommon::Update_PrgWin('',\%prog_state,'Converting to EPS '.$prettyname); } $done_conversion{$not_eps}=1; $status = $image->Read($not_eps); if ($status) {print " $status ";} @@ -125,46 +133,48 @@ END } } } - &Apache::lonhtmlcommon::Close_PrgWin('',\%prog_state); + if ($adv) { &Apache::lonhtmlcommon::Close_PrgWin('',\%prog_state); } } #print "$texfile\n"; #name of the tex file for debugging only my @texfile=($texfile); if ($number_of_files>1) { - for (my $i=1;$i<=$number_of_files-1;$i++) { + @texfile=(); + for (my $i=1;$i<=$number_of_files;$i++) { my $new_texfile=$texfile; - $new_texfile=~s/\.tex/_add$i\.tex/; + $new_texfile=~s/\.tex/_$i\.tex/; push @texfile,$new_texfile; } } + my $ind=-1; -my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin('','Print Status','Class Print Status',$number_of_files); +my %prog_state; +if ($adv) { %prog_state=&Apache::lonhtmlcommon::Create_PrgWin('','Print Status','Class Print Status',$number_of_files); } +my $final_statement="Return to last resource.

Generated PDF File for:
"; foreach $texfile (@texfile) { - my $final_statement="
Back to where you started

Link to your PDF document: "; - my $status_statement='PDF document for '; - if ($number_of_files>1) { - $ind++; - my @stud_info=split(/_END_/,$names_pack[$ind]); - my @tempo_array=split(/:/,$stud_info[0]); - my $name; + my $status_statement=''; + my $link_text='download PDF'; + $ind++; + my @stud_info=split(/_END_/,$names_pack[$ind]); + my @tempo_array=split(/:/,$stud_info[0]); + my $name; + if ($tempo_array[3]) { + $name=$tempo_array[3]; + } else { + $name=$tempo_array[0].'@'.$tempo_array[1]; + } + $link_text=''.$name.' '; + $status_statement.=$name; + if ($#stud_info>0) { + @tempo_array=split(/:/,$stud_info[-1]); if ($tempo_array[3]) { $name=$tempo_array[3]; } else { $name=$tempo_array[0].'@'.$tempo_array[1]; } - $final_statement='Link to PDF document for '.$name.' '; - $status_statement.=$name; - if ($#stud_info>0) { - @tempo_array=split(/:/,$stud_info[-1]); - if ($tempo_array[3]) { - $name=$tempo_array[3]; - } else { - $name=$tempo_array[0].'@'.$tempo_array[1]; - } - $final_statement.='- '.$name.': '; - $status_statement.=' - '.$name; - } - } -&Apache::lonhtmlcommon::Update_PrgWin('',\%prog_state,'last PDF file '.$status_statement); + $link_text.='- '.$name.': '; + $status_statement.=' - '.$name; + } + if ($adv) { &Apache::lonhtmlcommon::Update_PrgWin('',\%prog_state,'Creating PDF for '.$status_statement); } if (-e $texfile) { $texfile =~ m/^(.*)\/([^\/]+)$/; my $name_file = $2; @@ -306,6 +316,7 @@ foreach $texfile (@texfile) { system("$comma $name_file 1>/dev/null 2>/dev/null"); if (-e $new_name_file) { print "
$final_statement "; + $final_statement=''; $new_name_file =~ m/^(.*)\./; my $tempo_file = $1.'temporar.ps'; my $name_file = $1.'.pdf'; @@ -331,7 +342,7 @@ foreach $texfile (@texfile) { my @garb = ($texlog,$texaux,$texdvi,$texps); # unlink @garb; unlink $duefile; - print "Your PDF document"; + print "$link_text"; print "\n"; } } @@ -348,11 +359,13 @@ if ($number_of_files>1) { $file=~s/\.tex/.\pdf/; $statement.=' '.$file; } - system("$statement"); + print("
Zip Output:\n");
+    system($statement);
+    print("
"); $zipfile=~s/\/home\/httpd//; - print "
Your ZIP file is here"; + print "
A ZIP file of all the PDFs."; } -&Apache::lonhtmlcommon::Close_PrgWin('',\%prog_state); +if ($adv) { &Apache::lonhtmlcommon::Close_PrgWin('',\%prog_state); }