Diff for /loncom/interface/lonprintout.pm between versions 1.104 and 1.108

version 1.104, 2003/01/13 21:20:51 version 1.108, 2003/01/29 15:57:44
Line 159  sub sequence_content_menu { Line 159  sub sequence_content_menu {
     if ($sequence[0]=~/^uploaded/) {$primary_sequence = '/'.$sequence[0];}       if ($sequence[0]=~/^uploaded/) {$primary_sequence = '/'.$sequence[0];} 
       else {$primary_sequence = '/res/'.$sequence[0];}         else {$primary_sequence = '/res/'.$sequence[0];} 
     my @master_seq = &coming_from_hash($primary_sequence,$sequence[0]);      my @master_seq = &coming_from_hash($primary_sequence,$sequence[0]);
     my @master_seq_view = sort @master_seq;      my @titles_master_seq = &titles_coming_from_hash($primary_sequence,$sequence[0]);
     @master_seq = sort @master_seq;      foreach my $entity (@titles_master_seq) {$entity=~/^(.*)&&/; $entity=$1}
     for (my $i=0;$i<=$#master_seq_view;$i++) {      my @master_seq_view = @master_seq;
  $master_seq_view[$i]=~/\/([^\/]+)$/;      if ($ENV{'user.adv'}) {
  $master_seq_view[$i]=$1;        for (my $i=0;$i<=$#master_seq_view;$i++) {
    $master_seq_view[$i]=~/___\d+___(.+)$/;
    $master_seq_view[$i]='/'.$1;
         }
       } else {
         for (my $i=0;$i<=$#master_seq_view;$i++) {
            $master_seq_view[$i]=' ';
         }
     }      }
     $r->print(<<ENDMENUOUT1);      $r->print(<<ENDMENUOUT1);
 <input type="hidden" name="url" value="$ENV{'form.url'}">  <input type="hidden" name="url" value="$ENV{'form.url'}">
Line 192  sub sequence_content_menu { Line 199  sub sequence_content_menu {
     }      }
 </script>  </script>
 <input type=button onClick="checkall()" value="Check All">&nbsp;  <input type=button onClick="checkall()" value="Check All">&nbsp;
 <input type=button onClick="uncheckall()" value="Uncheck">  <input type=button onClick="uncheckall()" value="Uncheck">&nbsp;
   <input type="submit" value="Submit">
 <p>  <p>
 ENDMENUOUT1  ENDMENUOUT1
     my $inc=0;       my $inc=0; 
     for (my $i=0;$i<=$#master_seq_view;$i++) {      for (my $i=0;$i<=$#master_seq_view;$i++) {
       if ($key_to==1 && $master_seq_view[$i]=~/\.(problem|exam|quiz|assess|survey|form|library)$/) {        if ($key_to==1 && $master_seq[$i]=~/\.(problem|exam|quiz|assess|survey|form|library)$/) {
  $r->print('<br /><input type=checkbox name="whatfile'.$inc.'" value="'.$master_seq[$i].'"> '."\n".   $r->print('<br /><input type=checkbox name="whatfile'.$inc.'" value="'.$master_seq[$i].'"> '."\n".'<b>'.
                   $master_seq_view[$i]);                    $titles_master_seq[$i].'</b>&nbsp;&nbsp;&nbsp;<small>'.$master_seq_view[$i].'</small>');
         $inc++;          $inc++;
     } elsif ($key_to==0 && $master_seq_view[$i]=~/\.(problem|exam|quiz|assess|survey|form|library|xml|htm|html|page)$/) {      } elsif ($key_to==0 && $master_seq[$i]=~/\.(problem|exam|quiz|assess|survey|form|library|xml|htm|html|page)$/) {
  $r->print('<br /><input type=checkbox name="whatfile'.$inc.'" value="'.$master_seq[$i].'"> '.   $r->print('<br /><input type=checkbox name="whatfile'.$inc.'" value="'.$master_seq[$i].'"> '."\n".'<b>'.
                   $master_seq_view[$i]);                    $titles_master_seq[$i].'</b>&nbsp;&nbsp;&nbsp;<small>'.$master_seq_view[$i].'</small>');
         $inc++;          $inc++;
       }        }
     }      }
     $r->print(<<ENDMENUOUT2);      $r->print(<<ENDMENUOUT2);
 <br />  <br /><br />
 <input type="hidden" name="numberoffiles" value="$inc">  <input type="hidden" name="numberoffiles" value="$inc">
 <input type="hidden" name="phase" value="three">  <input type="hidden" name="phase" value="three">
   <input type=button onClick="checkall()" value="Check All">&nbsp;
   <input type=button onClick="uncheckall()" value="Uncheck">&nbsp;
 <input type="submit" value="Submit">  <input type="submit" value="Submit">
 ENDMENUOUT2  ENDMENUOUT2
   
Line 269  sub problem_choice_menu { Line 279  sub problem_choice_menu {
     }      }
 </script>  </script>
 <input type=button onClick="checkall()" value="Check All">&nbsp;  <input type=button onClick="checkall()" value="Check All">&nbsp;
 <input type=button onClick="uncheckall()" value="Uncheck">  <input type=button onClick="uncheckall()" value="Uncheck">&nbsp;
   <input type="submit" value="Submit">
 <p>  <p>
 ENDMENUOUT1  ENDMENUOUT1
     my $i=0;      my $i=0;
Line 279  ENDMENUOUT1 Line 290  ENDMENUOUT1
  $i++;   $i++;
     }      }
     $r->print(<<ENDMENUOUT2);      $r->print(<<ENDMENUOUT2);
 <br />  <br /><br />
 <input type="hidden" name="papersize" value="$ENV{'form.papersize'}">  <input type="hidden" name="papersize" value="$ENV{'form.papersize'}">
 <input type="hidden" name="numberofproblems" value="$i">  <input type="hidden" name="numberofproblems" value="$i">
 <input type="hidden" name="phase" value="three">  <input type="hidden" name="phase" value="three">
   <input type=button onClick="checkall()" value="Check All">&nbsp;
   <input type=button onClick="uncheckall()" value="Uncheck">&nbsp;
 <input type="submit" value="Submit">  <input type="submit" value="Submit">
 ENDMENUOUT2  ENDMENUOUT2
 }  }
Line 496  ENDPART Line 509  ENDPART
  my $flag_latex_header_remove = 'NO';   my $flag_latex_header_remove = 'NO';
  my $flag_page_in_sequence = 'NO';   my $flag_page_in_sequence = 'NO';
  for (my $i=0;$i<=$#master_seq;$i++) {   for (my $i=0;$i<=$#master_seq;$i++) {
            my ($urlp,$symb) = split /&&/, $master_seq[$i];             my ($urlp,$symb) = split /&&/, $master_seq[$i];
     if ($choice eq 'Standard LaTeX output for the primary sequence') {      if ($choice eq 'Standard LaTeX output for the primary sequence') {
               $selectionmade = 2;                $selectionmade = 2;
     } elsif ($choice eq 'Standard LaTeX output for whole primary sequence') {      } elsif ($choice eq 'Standard LaTeX output for whole primary sequence') {
Line 529  ENDPART Line 542  ENDPART
     }  elsif ($choice eq 'Standard LaTeX output for the top level sequence') {      }  elsif ($choice eq 'Standard LaTeX output for the top level sequence') {
         # where is the main sequence of the course?          # where is the main sequence of the course?
  $selectionmade = 4;   $selectionmade = 4;
  my $main_seq = '/res/'.$ENV{'request.course.uri'};   my $main_seq;
    if ($ENV{'request.course.uri'}=~/\/?uploaded\//) {
       $main_seq = $ENV{'request.course.uri'};
    } else {
       $main_seq = '/res/'.$ENV{'request.course.uri'};
    }
  my @file_seq = &coming_from_hash_whole($main_seq);   my @file_seq = &coming_from_hash_whole($main_seq);
  my $flag_latex_header_remove = 'NO';   my $flag_latex_header_remove = 'NO';
         #-- produce an output string          #-- produce an output string
  for (my $i=0;$i<=$#file_seq;$i++) {   for (my $i=0;$i<=$#file_seq;$i++) {
             my ($urlp,$symb) = split /&&/, $file_seq[$i];     if (not $file_seq[$i]=~/^&&/) {
     $urlp=~s/\/home\/httpd\/html//;           my ($urlp,$symb) = split /&&/, $file_seq[$i];
             if ($urlp=~m/\.(problem|exam|quiz|assess|survey|form|library)/) {       $urlp=~s/\/home\/httpd\/html//;    
        if ($urlp=~m/\.(problem|exam|quiz|assess|survey|form|library)/) {
  my %moreenv;   my %moreenv;
  $moreenv{'form.grade_target'}='tex';   $moreenv{'form.grade_target'}='tex';
  $moreenv{'form.textwidth'}=$LaTeXwidth;   $moreenv{'form.textwidth'}=$LaTeXwidth;
Line 550  ENDPART Line 569  ENDPART
  }   }
  $result .= $texversion;     $result .= $texversion;  
  $flag_latex_header_remove = 'YES';   $flag_latex_header_remove = 'YES';
     }       }
      }
  }       }    
  $result .= '\end{document}';   $result .= '\end{document}';
     } elsif ($choice eq 'All class print') {       } elsif ($choice eq 'All class print') { 
Line 701  sub coming_from_hash_whole { Line 721  sub coming_from_hash_whole {
  if ($hash{'src_'.$current_resource}=~/\.sequence$/) {   if ($hash{'src_'.$current_resource}=~/\.sequence$/) {
     push @resourcelist,&coming_from_hash_whole($hash{'src_'.$current_resource});      push @resourcelist,&coming_from_hash_whole($hash{'src_'.$current_resource});
  } else {   } else {
             $mainsequence =~ /\/res\/(.*)$/;      my $presymb; 
     my $presymb = $1;      if ($mainsequence =~ /\/res\/(.*)$/) {$presymb = $1;} 
                 elsif ($mainsequence =~ /\/?(uploaded\/(.*))$/) {$presymb = $1;} 
     my $rid = $hash{'ids_'.$hash{'src_'.$current_resource}};      my $rid = $hash{'ids_'.$hash{'src_'.$current_resource}};
             if ($rid=~/,/) {      if ($rid=~/,/) {
  my @rid = split /,/, $rid;   my @rid = split /,/, $rid;
  foreach my $rid_element (@rid) {   foreach my $rid_element (@rid) {
     if ($rid_element =~ m/^$mapid\.(\d*)/) {      if ($rid_element =~ m/^$mapid\.(\d*)/) {
Line 713  sub coming_from_hash_whole { Line 734  sub coming_from_hash_whole {
     }      }
  }   }
     } else {      } else {
  $rid =~ m/^$mapid\.(\d*)/;          $rid =~ m/^$mapid\.(\d*)/;
                 $rid = $1;                    $rid = $1;  
     }      }
     $hash{'src_'.$current_resource} =~ m/\/res\/(.*)$/;      $hash{'src_'.$current_resource} =~ m/\/res\/(.*)$/;
Line 790  sub coming_from_hash { Line 811  sub coming_from_hash {
 }  }
   
   
   sub titles_coming_from_hash {
   
       my ($mainsequence,$symb) = @_;
       my @resourcelist = ();
       my $mapid = $hash{'map_pc_'.$mainsequence};
       my $mapstart = $hash{'map_start_'.$mainsequence};
       my $mapfinish = $hash{'map_finish_'.$mainsequence};
       my ($presymb);
       if ($symb) {
    ($presymb)=split(/___/,$symb);
       } else {
    $presymb=$mainsequence;
    $presymb=~s|^/res/||;
       }
       $presymb = $presymb.'___';
       my $current_resource = $mapstart;
       while ($current_resource ne $mapfinish) {
    if (not $hash{'src_'.$current_resource}=~/\.sequence$/) {
       my $rid = $hash{'ids_'.$hash{'src_'.$current_resource}};
               if ($rid=~/,/) {
    my @rid = split /,/, $rid;
    foreach my $rid_element (@rid) {
       if ($rid_element =~ m/^$mapid\.(\d*)/) {
    $rid = $1; 
    last;
       }
    }
       } else {
    $rid =~ m/^$mapid\.(\d*)/;
                   $rid = $1;  
       }
       $hash{'src_'.$current_resource} =~ m/\/res\/(.*)$/;
       $symb = $presymb.$rid.'___'.$1;
       push @resourcelist,$hash{'title_'.$current_resource}.'&&'.$symb;
    } else {
       push @resourcelist,&titles_coming_from_hash($hash{'src_'.$current_resource});
    }
    $current_resource = $hash{'goesto_'.$hash{'to_'.$current_resource}};
       }
       #needs if final resource in the map (type="finish") contains something
       if (not $hash{'src_'.$current_resource}=~/\.sequence$/) {
       my $rid = $hash{'ids_'.$hash{'src_'.$current_resource}};
               if ($rid=~/,/) {
    my @rid = split /,/, $rid;
    foreach my $rid_element (@rid) {
       if ($rid_element =~ m/^$mapid\.(\d*)/) {
    $rid = $1; 
    last;
       }
    }
       } else {
    $rid =~ m/^$mapid\.(\d*)/;
                   $rid = $1;  
       }
       $hash{'src_'.$current_resource} =~ m/\/res\/(.*)$/;
       $symb = $presymb.$rid.'___'.$1;
    push @resourcelist,$hash{'title_'.$current_resource}.'&&'.$symb;
       } else {
    push @resourcelist,&titles_coming_from_hash($hash{'src_'.$current_resource});
       }
       return @resourcelist;
   }
   
 sub latex_header_footer_remove {  sub latex_header_footer_remove {
     my $text = shift;      my $text = shift;
     $text =~ s/\\end{document}//;      $text =~ s/\\end{document}//;
Line 1200  sub page_format_transformation { Line 1284  sub page_format_transformation {
  } else {   } else {
   ($textwidth,$textheight,$oddoffset,$evenoffset) = ($ENV{'form.width'},$ENV{'form.height'},$ENV{'form.leftmargin'},$ENV{'form.leftmargin'});    ($textwidth,$textheight,$oddoffset,$evenoffset) = ($ENV{'form.width'},$ENV{'form.height'},$ENV{'form.leftmargin'},$ENV{'form.leftmargin'});
  }   }
  my $courseidinfo = $ENV{'course.'.$ENV{'request.course.id'}.'.description'};      my $firstname = &special_character_corrections(&Apache::lonnet::unescape($ENV{'environment.firstname'}));
  if ($layout eq 'CBI') {      my $lastname = &special_character_corrections(&Apache::lonnet::unescape($ENV{'environment.lastname'}));
     $text =~ s/\\begin{document}/\\setlength{\\oddsidemargin}{$oddoffset}\\setlength{\\evensidemargin}{$evenoffset}\\setlength{\\topmargin}{200pt}\\setlength{\\textwidth}{$textwidth}\\setlength{\\textheight}{$textheight}\\setlength{\\parindent}{20pt}\\setlength{\\marginparwidth}{90pt}\\setlength{\\textfloatsep}{8pt plus 2\.0pt minus 4\.0pt}\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm} \\begin{document}\\setcounter{page}{1}\\noindent\\parbox{\\minipagewidth}{\\noindent\\fbox{\\textbf{$ENV{'environment.firstname'} $ENV{'environment.lastname'}}} \\hfill  $courseidinfo} \\vskip 5 mm /;      my $courseidinfo = &special_character_corrections(&Apache::lonnet::unescape($ENV{'course.'.$ENV{'request.course.id'}.'.description'}));
  } elsif ($layout eq 'CAPA') {      if ($layout eq 'CBI') {
      if ($choice ne 'All class print') {       $text =~ s/\\begin{document}/\\setlength{\\oddsidemargin}{$oddoffset}\\setlength{\\evensidemargin}{$evenoffset}\\setlength{\\topmargin}{200pt}\\setlength{\\textwidth}{$textwidth}\\setlength{\\textheight}{$textheight}\\setlength{\\parindent}{20pt}\\setlength{\\marginparwidth}{90pt}\\setlength{\\textfloatsep}{8pt plus 2\.0pt minus 4\.0pt}\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm} \\begin{document}\\setcounter{page}{1}\\noindent\\parbox{\\minipagewidth}{\\noindent\\fbox{\\textbf{$firstname $lastname}} \\hfill  $courseidinfo} \\vskip 5 mm /;
  $text =~ s/\\begin{document}/\\textheight $textheight\\oddsidemargin = $evenoffset\\evensidemargin = $evenoffset\\textwidth= $textwidth\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\setlength{\\topmargin}{1cm}\\setlength{\\headheight}{1cm}\\setlength{\\headsep}{0.5cm}\\markboth{}{\\textbf{$ENV{'environment.firstname'} $ENV{'environment.lastname'}} $courseidinfo - $assignment}\\pagestyle{myheadings}\\begin{document}\\voffset=-1\.8cm\\setcounter{page}{1}/;      } elsif ($layout eq 'CAPA') {
     } else {   if ($choice ne 'All class print') { 
    $text =~ s/\\begin{document}/\\textheight $textheight\\oddsidemargin = $evenoffset\\evensidemargin = $evenoffset\\textwidth= $textwidth\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\setlength{\\topmargin}{1cm}\\setlength{\\headheight}{1cm}\\setlength{\\headsep}{0.5cm}\\markboth{}{\\textbf{$firstname $lastname} $courseidinfo - $assignment}\\pagestyle{myheadings}\\begin{document}\\voffset=-1\.8cm\\setcounter{page}{1}/;
    } else {
  $text =~ s/\\begin{document}/\\textheight $textheight\\oddsidemargin = $evenoffset\\evensidemargin = $evenoffset\\textwidth= $textwidth\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\begin{document}\\voffset=-1\.8cm\\setcounter{page}{1}  \\vskip 5 mm /;   $text =~ s/\\begin{document}/\\textheight $textheight\\oddsidemargin = $evenoffset\\evensidemargin = $evenoffset\\textwidth= $textwidth\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\begin{document}\\voffset=-1\.8cm\\setcounter{page}{1}  \\vskip 5 mm /;
     }  
  }   }
  return $text;      }
       return $text;
 }  }
   
   
Line 1253  sub details_for_menu { Line 1339  sub details_for_menu {
 }  }
   
   
   sub special_character_corrections {
       my $argument = shift;
       $argument =~ s/_/ /g;
       $argument =~ s/\^/ /g;
       $argument =~ s/&/\\&/g;
       return $argument;
   }
   
   
 sub latex_corrections {  sub latex_corrections {
   
     my ($number_of_columns,$result) = @_;      my ($number_of_columns,$result) = @_;

Removed from v.1.104  
changed lines
  Added in v.1.108


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