Diff for /loncom/interface/Attic/lonspreadsheet.pm between versions 1.61 and 1.68

version 1.61, 2001/09/11 20:50:04 version 1.68, 2001/10/16 20:50:28
Line 6 Line 6
 # 01/01/01,02/01,03/01,19/01,20/01,22/01,  # 01/01/01,02/01,03/01,19/01,20/01,22/01,
 # 03/05,03/08,03/10,03/12,03/13,03/15,03/17,  # 03/05,03/08,03/10,03/12,03/13,03/15,03/17,
 # 03/19,03/20,03/21,03/27,04/05,04/09,  # 03/19,03/20,03/21,03/27,04/05,04/09,
 # 07/09,07/14,07/21,09/01,09/10,9/11 Gerd Kortemeyer  # 07/09,07/14,07/21,09/01,09/10,9/11,9/12,9/13,9/14,9/17,10/16 Gerd Kortemeyer
   
 package Apache::lonspreadsheet;  package Apache::lonspreadsheet;
                           
Line 676  sub rown { Line 676  sub rown {
     } else {      } else {
        $defaultbg='#E0FF';         $defaultbg='#E0FF';
     }      }
     if ((($n-1)/25)==int(($n-1)/25)) {  
         my $what='Student';  
         if (&gettype($safeeval) eq 'assesscalc') {  
     $what='Item';  
  } elsif (&gettype($safeeval) eq 'studentcalc') {  
             $what='Assessment';  
         }  
  $rowdata.="</table>\n<br><table border=2>".  
         '<tr><td>&nbsp;<td>'.$what.'</td>';  
         map {  
            $rowdata.='<td>'.$_.'</td>';  
         } ('A','B','C','D','E','F','G','H','I','J','K','L','M',  
            'N','O','P','Q','R','S','T','U','V','W','X','Y','Z',  
            'a','b','c','d','e','f','g','h','i','j','k','l','m',  
            'n','o','p','q','r','s','t','u','v','w','x','y','z');  
         $rowdata.='</tr>';  
     }  
     $rowdata.="\n<tr><td><b><font size=+1>$n</font></b></td>";      $rowdata.="\n<tr><td><b><font size=+1>$n</font></b></td>";
     my $showf=0;      my $showf=0;
     my $proc;      my $proc;
     my $maxred;      my $maxred;
     if (&gettype($safeeval) eq 'studentcalc') {      my $sheettype=&gettype($safeeval);
       if ($sheettype eq 'studentcalc') {
         $proc='&outrowassess';          $proc='&outrowassess';
         $maxred=26;          $maxred=26;
     } else {      } else {
         $proc='&outrow';          $proc='&outrow';
     }      }
     if (&gettype($safeeval) eq 'assesscalc') {      if ($sheettype eq 'assesscalc') {
         $maxred=1;          $maxred=1;
     } else {      } else {
         $maxred=26;          $maxred=26;
Line 712  sub rown { Line 696  sub rown {
     map {      map {
        my $bgcolor=$defaultbg.((($showf-1)/5==int(($showf-1)/5))?'99':'DD');         my $bgcolor=$defaultbg.((($showf-1)/5==int(($showf-1)/5))?'99':'DD');
        my ($fm,$vl)=split(/\_\_\_eq\_\_\_/,$_);         my ($fm,$vl)=split(/\_\_\_eq\_\_\_/,$_);
        if ($vl ne '') { $dataflag=1; }         if ((($vl ne '') || ($vl eq '0')) &&
              (($showf==1) || ($sheettype ne 'studentcalc'))) { $dataflag=1; }
        if ($showf==0) { $vl=$_; }         if ($showf==0) { $vl=$_; }
        if ($showf<=$maxred) { $bgcolor='#FFDDDD'; }         if ($showf<=$maxred) { $bgcolor='#FFDDDD'; }
        if (($n==0) && ($showf<=26)) { $bgcolor='#CCCCFF'; }          if (($n==0) && ($showf<=26)) { $bgcolor='#CCCCFF'; } 
Line 775  sub outsheet { Line 760  sub outsheet {
     $tabledata.='</tr>';      $tabledata.='</tr>';
     my $row;      my $row;
     my $maxrow=&getmaxrow($safeeval);      my $maxrow=&getmaxrow($safeeval);
     $tabledata.=&rown($safeeval,'-');      $tabledata.=&rown($safeeval,'-').&rown($safeeval,0);
     $r->print($tabledata);      $r->print($tabledata);
     for ($row=0;$row<=$maxrow;$row++) {  
         $r->print(&rown($safeeval,$row));      my @sortby=();
       my @sortidx=();
       for ($row=1;$row<=$maxrow;$row++) {
          $sortby[$row-1]=$safeeval->reval('$f{"A'.$row.'"}');
          $sortidx[$row-1]=$row-1;
       }
       @sortidx=sort { $sortby[$a] cmp $sortby[$b]; } @sortidx;
   
           my $what='Student';
           if (&gettype($safeeval) eq 'assesscalc') {
       $what='Item';
    } elsif (&gettype($safeeval) eq 'studentcalc') {
               $what='Assessment';
           }
   
       my $n=0;
       for ($row=0;$row<$maxrow;$row++) {
        my $thisrow=&rown($safeeval,$sortidx[$row]+1);
        if ($thisrow) {
          if ($n/25==int($n/25)) {
    $r->print("</table>\n<br>\n");
           $r->rflush();
           $r->print('<table border=2><tr><td>&nbsp;<td>'.$what.'</td>');
           map {
              $r->print('<td>'.$_.'</td>');
           } ('A','B','C','D','E','F','G','H','I','J','K','L','M',
              'N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
              'a','b','c','d','e','f','g','h','i','j','k','l','m',
              'n','o','p','q','r','s','t','u','v','w','x','y','z');
           $r->print('</tr>');
          }
          $n++;
          $r->print($thisrow);
         }
     }      }
     $r->print('</table>');      $r->print('</table>');
 }  }
Line 1031  sub parmval { Line 1049  sub parmval {
 # ----------------------------------------------------- Cascading lookup scheme  # ----------------------------------------------------- Cascading lookup scheme
        my $rwhat=$what;         my $rwhat=$what;
        $what=~s/^parameter\_//;         $what=~s/^parameter\_//;
        $what=~s/\_/\./;         $what=~s/\_([^\_]+)$/\.$1/;
   
        my $symbparm=$symb.'.'.$what;         my $symbparm=$symb.'.'.$what;
        my $mapparm=$mapname.'___(all).'.$what;         my $mapparm=$mapname.'___(all).'.$what;
Line 2117  ENDSCRIPT Line 2135  ENDSCRIPT
   
    &tmpwrite($asheet);     &tmpwrite($asheet);
   
     $r->print(      if (&gettype($asheet) eq 'studentcalc') {
  '<br>Show empty rows: <input type=checkbox name=showall onClick="submit()"');   $r->print('<br>Show rows with empty A column: ');
       } else {
           $r->print('<br>Show empty rows: ');
       } 
       $r->print('<input type=checkbox name=showall onClick="submit()"');
     if ($ENV{'form.showall'}) { $r->print(' checked'); }      if ($ENV{'form.showall'}) { $r->print(' checked'); }
     $r->print('>');      $r->print('>');
   

Removed from v.1.61  
changed lines
  Added in v.1.68


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