Diff for /loncom/interface/lonprintout.pm between versions 1.60 and 1.62

version 1.60, 2002/09/11 18:07:35 version 1.62, 2002/09/12 15:08:43
Line 64  sub headerform { Line 64  sub headerform {
 </head>  </head>
 <body bgcolor="FFFFFF">  <body bgcolor="FFFFFF">
 <form method="post" enctype="multipart/form-data" action="/adm/printout" name="printform">  <form method="post" enctype="multipart/form-data" action="/adm/printout" name="printform">
 <tt>$ENV{'form.postdata'}</tt><p>  
 ENDHEADER  ENDHEADER
       if ($ENV{'request.role'}=~m/^cc\./ or $ENV{'request.role'}=~m/^in\./ or $ENV{'request.role'}=~m/^ta\./) { 
       $r->print(<<ENDHEADER1);
   <b>Path to current document: </b><tt>$ENV{'form.postdata'}</tt><p>
   ENDHEADER1
   }
 }  }
   
   
 sub menu_for_output {  sub menu_for_output {
     my $r = shift;      my $r = shift;
     my ($title_for_single_resource,$title_for_sequence) = &details_for_menu;      my ($title_for_single_resource,$title_for_sequence,$title_for_main_map) = &details_for_menu;
     if ($title_for_single_resource ne '') {$title_for_single_resource = '"'.$title_for_single_resource.'"';}      if ($title_for_single_resource ne '') {$title_for_single_resource = '"'.$title_for_single_resource.'"';}
     if ($title_for_sequence ne '') {$title_for_sequence = '"'.$title_for_sequence.'"';}      if ($title_for_sequence ne '') {$title_for_sequence = '"'.$title_for_sequence.'"';}
       if ($title_for_main_map ne '') {$title_for_main_map = '"'.$title_for_main_map.'"';}
       my $subdir_to_print = $ENV{'form.postdata'};
       $subdir_to_print =~ m/\/([^\/]+)$/;
       $subdir_to_print =~ s/$1//;
     $r->print(<<ENDMENUOUT1);      $r->print(<<ENDMENUOUT1);
 <h1>What do you want to print? Make a choice.</h1><br />  <h1>What do you want to print? Make a choice.</h1><br />
 <input type="hidden" name="phase" value="two">  <input type="hidden" name="phase" value="two">
 <input type="hidden" name="url" value="$ENV{'form.postdata'}">  <input type="hidden" name="url" value="$ENV{'form.postdata'}">
 <input type="radio" name="choice" value="Standard LaTeX output for current document" checked>  Current document <b>$title_for_single_resource</b>  <input type="radio" name="choice" value="Standard LaTeX output for current document" checked>  Current document <b>$title_for_single_resource</b>
 (you will print what you see on the screen)<br />  (you will print what you saw on the screen)<br />
 ENDMENUOUT1  ENDMENUOUT1
     if ((not $ENV{'request.role'}=~m/^au\./) and (not $ENV{'request.role'}=~m/^ca\./)) {      if ((not $ENV{'request.role'}=~m/^au\./) and (not $ENV{'request.role'}=~m/^ca\./)) {
  $r->print(<<ENDMENUOUT2);   $r->print(<<ENDMENUOUT2);
 <input type="radio" name="choice" value="Standard LaTeX output for the primary sequence">  All problems from the primary sequence <b>$title_for_sequence</b><br />  <input type="radio" name="choice" value="Standard LaTeX output for the primary sequence">  All problems from the sequence <b>$title_for_sequence</b><br />
 <input type="radio" name="choice" value="Standard LaTeX output for whole primary sequence">  The whole primary sequence <b>$title_for_sequence</b> (problems plus all html and xml files)<br />  <input type="radio" name="choice" value="Standard LaTeX output for whole primary sequence">  All problems plus any html/xml files from the sequence <b>$title_for_sequence</b><br />
 ENDMENUOUT2  ENDMENUOUT2
     }      }
     if ($ENV{'request.role'}=~m/^cc\./ or $ENV{'request.role'}=~m/^in\./ or $ENV{'request.role'}=~m/^ta\./) {       if ($ENV{'request.role'}=~m/^cc\./ or $ENV{'request.role'}=~m/^in\./ or $ENV{'request.role'}=~m/^ta\./) { 
  $r->print(<<ENDMENUOUT6);   $r->print(<<ENDMENUOUT6);
 <input type="radio" name="choice" value="Standard LaTeX output for the top level sequence">  All problems from the top level sequence<br />  <input type="radio" name="choice" value="Standard LaTeX output for the top level sequence">  All problems in this course (<b>warning:</b> this may be time consuming) <br />
 <br />  <br />
 <input type="radio" name="choice" value="All class print">  Print assignment <b>$title_for_sequence</b> (all problems from the primary sequence) for group of students<br /><br />  <input type="radio" name="choice" value="All class print">  All problems from the sequence <b>$title_for_sequence</b> for selected students<br /><br />
 ENDMENUOUT6  ENDMENUOUT6
     }      }
       my $subdirtoprint = &Apache::lonnet::filelocation("",$ENV{'form.url'});        my $subdirtoprint = &Apache::lonnet::filelocation("",$ENV{'form.url'});
       $subdirtoprint =~ s/\/[^\/]+$//;        $subdirtoprint =~ s/\/[^\/]+$//;
       if (&Apache::lonnet::allowed('bre',$subdirtoprint) eq 'F') {        if (&Apache::lonnet::allowed('bre',$subdirtoprint) eq 'F') {
   $r->print(<<ENDMENUOUT4);    $r->print(<<ENDMENUOUT4);
   <input type="radio" name="choice" value="Subdirectory print">  All problems from current subdirectory (where this particular problem is)<br />    <input type="radio" name="choice" value="Subdirectory print">  Problems from current subdirectory <b>$subdir_to_print</b><br />
 ENDMENUOUT4  ENDMENUOUT4
       }        }
     $r->print(<<ENDMENUOUT5);      $r->print(<<ENDMENUOUT5);
Line 119  ENDMENUOUT4 Line 127  ENDMENUOUT4
    </td>     </td>
    <td rawspan="2">     <td rawspan="2">
      Paper size (format [width x height]): <select name="papersize">       Paper size (format [width x height]): <select name="papersize">
                                             <option selected> Letter [216x297 mm] </option>                                              <option selected> Letter [8 1/2x11 in] </option>
                                             <option> Legal [216x356 mm] </option>                                              <option> Legal [8 1/2x14 in] </option>
                                             <option> Executive [190x254 mm] </option>                                              <option> Ledger/Tabloid [11x17 in] </option>
                                             <option> Ledger/Tabloid [279x432 mm] </option>                                              <option> Executive [7 1/2x10 in] </option>
                                             <option> A2 [420x594 mm] </option>                                              <option> A2 [420x594 mm] </option>
                                             <option> A3 [297x420 mm] </option>                                              <option> A3 [297x420 mm] </option>
                                             <option> A4 [210x297 mm] </option>                                              <option> A4 [210x297 mm] </option>
Line 366  ENDPART Line 374  ENDPART
         #-- open and analyses the primary sequence          #-- open and analyses the primary sequence
  my $sequence_file=&Apache::lonnet::filelocation("",$primary_sequence);   my $sequence_file=&Apache::lonnet::filelocation("",$primary_sequence);
  my $sequencefilecontents=&Apache::lonnet::getfile($sequence_file);   my $sequencefilecontents=&Apache::lonnet::getfile($sequence_file);
  my @master_seq = &content_map($sequencefilecontents);   my @master_seq = &coming_from_hash($primary_sequence); 
         #-- produce an output string          #-- produce an output string
  for (my $i=0;$i<=$#master_seq;$i++) {   for (my $i=0;$i<=$#master_seq;$i++) {
     $_ = $master_seq[$i];              my $urlp = $master_seq[$i];
     m/\"(.*)\"/;  
             $_ = $1;  
             my $urlp = $1;  
     if ($choice eq 'Standard LaTeX output for the primary sequence') {      if ($choice eq 'Standard LaTeX output for the primary sequence') {
  $selectionmade = 2;   $selectionmade = 2;
  if ($urlp =~ m/\.(problem|exam|quiz|assess|survey|form|library)/) {    if ($urlp =~ m/\.(problem|exam|quiz|assess|survey|form|library)/) {
     my %moreenv;      my %moreenv;
     $moreenv{'form.grade_target'}='tex';      $moreenv{'form.grade_target'}='tex';
     &Apache::lonnet::appenv(%moreenv);      &Apache::lonnet::appenv(%moreenv);
Line 474  ENDPART Line 479  ENDPART
  my $sequence_file=&Apache::lonnet::filelocation("",$primary_sequence);   my $sequence_file=&Apache::lonnet::filelocation("",$primary_sequence);
  my $sequencefilecontents=&Apache::lonnet::getfile($sequence_file);   my $sequencefilecontents=&Apache::lonnet::getfile($sequence_file);
  my @master_seq = &content_map($sequencefilecontents);   my @master_seq = &content_map($sequencefilecontents);
         #loop over students         #loop over students
  foreach my $person (@students) {   foreach my $person (@students) {
     my $current_output = '';       my $current_output = ''; 
     my ($usersection,$username,$userdomain) = split /:/,$person;      my ($usersection,$username,$userdomain) = split /:/,$person;
Line 595  $r->print(<<FINALEND); Line 600  $r->print(<<FINALEND);
 FINALEND  FINALEND
 }  }
   
   
   sub coming_from_hash {
   
       my $mainsequence = shift;
       my @resourcelist = ();
       my $mapstart = $hash{'map_start_'.$mainsequence};
       my $mapfinish = $hash{'map_finish_'.$mainsequence};
       my $current_resource = $mapstart;
       while ($current_resource ne $mapfinish) {
    if (not $hash{'src_'.$current_resource}=~/\.sequence$/) {
       push @resourcelist,$hash{'src_'.$current_resource};
    } else {
       push @resourcelist,&coming_from_hash($hash{'src_'.$current_resource});
    }
    $current_resource = $hash{'goesto_'.$hash{'to_'.$current_resource}};
       }
       return @resourcelist;
   }
   
   
 sub character_chart {  sub character_chart {
     my $result = shift;      my $result = shift;
     $result =~ s/&#0?0?7;//g;      $result =~ s/&#0?0?7;//g;
Line 1012  sub details_for_menu { Line 1037  sub details_for_menu {
     my $name_of_resourse = $hash{'title_'.$hash{'ids_'.$ENV{'form.postdata'}}};      my $name_of_resourse = $hash{'title_'.$hash{'ids_'.$ENV{'form.postdata'}}};
     my $symbolic = &Apache::lonnet::symbread($ENV{'form.postdata'});      my $symbolic = &Apache::lonnet::symbread($ENV{'form.postdata'});
     $symbolic =~ m/([^_]+)_/;      $symbolic =~ m/([^_]+)_/;
     my $primary_sequence = '/res/'.$1;      my $name_of_sequence = $hash{'title_'.$hash{'ids_/res/'.$1}};
     my $name_of_sequence = $hash{'title_'.$hash{'ids_'.$primary_sequence}};      my $name_of_map = $hash{'title_'.$hash{'ids_/res/'.$ENV{'request.course.uri'}}};
   
     return $name_of_resourse,$name_of_sequence;      return $name_of_resourse,$name_of_sequence,$name_of_map;
   
 }  }
   

Removed from v.1.60  
changed lines
  Added in v.1.62


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>