Diff for /loncom/interface/Attic/lonspreadsheet.pm between versions 1.17 and 1.18

version 1.17, 2000/12/18 13:45:40 version 1.18, 2000/12/18 17:14:49
Line 328  sub outrowassess { Line 328  sub outrowassess {
     return @cols;      return @cols;
 }  }
   
   sub outrow {
       my $n=shift;
       my @cols=();
       if ($n) {
          $cols[0]=$rl{$f{'A'.$n}}.' stuff';
       } else {
          $cols[0]='<b><font size=+1>Export</font></b>';
       }
       map {
           my $fm=$f{$_.$n};
           $fm=~s/[\'\"]/\&\#34;/g;
           $cols[$#cols+1]="'$_$n','$fm'".'___eq___'.$v{$_.$n};
       } ('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');
       return @cols;
   }
   
 sub exportrowa {  sub exportrowa {
     my $rowa='';      my $rowa='';
     map {      map {
  $rowa.=$v{$_.'0'}."','";   $rowa.=$v{$_.'0'}."___;___";
     } ('A','B','C','D','E','F','G','H','I','J','K','L','M',      } ('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');         'N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
     $rowa=~s/\'\,\'$//;      $rowa=~s/\_\_\_\;\_\_\_$//;
     return $rowa;      return $rowa;
 }  }
   
Line 446  sub rown { Line 465  sub rown {
     my $rowdata="\n<tr><td><b><font size=+1>$n</font></b></td>";      my $rowdata="\n<tr><td><b><font size=+1>$n</font></b></td>";
     my $showf=0;      my $showf=0;
     my $proc;      my $proc;
       my $maxred;
     if (&gettype($safeeval) eq 'assesscalc') {      if (&gettype($safeeval) eq 'assesscalc') {
         $proc='&outrowassess';          $proc='&outrowassess';
           $maxred=1;
     } else {      } else {
         $proc='&outrow';          $proc='&outrow';
           $maxred=26;
     }      }
     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 ($showf==0) { $vl=$_; }         if ($showf==0) { $vl=$_; }
        if ($showf<=1) { $bgcolor='#FFDDDD'; }         if ($showf<=$maxred) { $bgcolor='#FFDDDD'; }
        if (($n==0) && ($showf<=26)) { $bgcolor='#CCCCFF'; }          if (($n==0) && ($showf<=26)) { $bgcolor='#CCCCFF'; } 
        if (($showf>1) || ((!$n) && ($showf>0))) {         if (($showf>$maxred) || ((!$n) && ($showf>0))) {
    if ($vl eq '') {     if ($vl eq '') {
        $vl='<font size=+2 color='.$bgcolor.'>&#35;</font>';         $vl='<font size=+2 color='.$bgcolor.'>&#35;</font>';
            }             }
Line 476  sub rown { Line 498  sub rown {
   
 sub outsheet {  sub outsheet {
     my $safeeval=shift;      my $safeeval=shift;
     my $tabledata='<table border=2><tr><td colspan=2>&nbsp;</td>'.      my $maxred;
                   '<td bgcolor=#FFDDDD><b>A Import</b></td>';      my $realm;
       if (&gettype($safeeval) eq 'assesscalc') {
           $maxred=1;
           $realm='Assessment';
       } elsif (&gettype($safeeval) eq 'studentcalc') {
           $maxred=26;
           $realm='User';
       } else {
           $maxred=26;
           $realm='Course';
       }
       my $maxyellow=52-$maxred;
       my $tabledata='<table border=2><tr><th colspan=2 rowspan=2><font size=+2>'.
                     $realm.'</font></th>'.
                     '<td bgcolor=#FFDDDD colspan='.$maxred.
                     '><b><font size=+1>Import</font></b></td>'.
                     '<td colspan='.$maxyellow.
     '><b><font size=+1>Calculations</font></b></td></tr><tr>';
       my $showf=0;
     map {      map {
         $tabledata.="<td><b><font size=+1>$_</font></b></td>";          $showf++;
     } ('B','C','D','E','F','G','H','I','J','K','L','M',          if ($showf<=$maxred) { 
              $tabledata.='<td bgcolor="#FFDDDD">'; 
           } else {
              $tabledata.='<td>';
           }
           $tabledata.="<b><font size=+1>$_</font></b></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',         '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',         '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');         'n','o','p','q','r','s','t','u','v','w','x','y','z');
Line 774  sub rowazstudent { Line 820  sub rowazstudent {
  if ($_=~/^A(\d+)/) {   if ($_=~/^A(\d+)/) {
    my $row=$1;     my $row=$1;
            unless ($f{$_}=~/^\!/) {             unless ($f{$_}=~/^\!/) {
               my @assessdata=split(/\,/,                my @assessdata=split(/\_\_\_\;\_\_\_/,
                              &Apache::lonnet::ssi(                               &Apache::lonnet::ssi(
         '/res/msu/korte/junk.assesscalc',('utarget' => 'export',          '/res/msu/korte/junk.assesscalc',('utarget' => 'export',
                                           'uname'   => $uname,                                            'uname'   => $uname,
Line 782  sub rowazstudent { Line 828  sub rowazstudent {
                   'usymb'   => $f{$_})));                    'usymb'   => $f{$_})));
               my $index=0;                my $index=0;
               map {                map {
   $c{$_.$row}=$assessdata[$index];                    if ($assessdata[$index]) {
   print $_.':'.$c{$_.$row}.'<br>';       $c{$_.$row}=$assessdata[$index];
                        unless ($_ eq 'A') { 
    $f{$_.$row}='import';
                        }
     }
                   $index++;                    $index++;
               } ('A','B','C','D','E','F','G','H','I','J','K','L','M',                } ('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');                   'N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
                 
    }     }
         }          }
     } keys %f;      } keys %f;
       &setformulas($safeeval,%f);
     &setconstants($safeeval,%c);      &setconstants($safeeval,%c);
 }  }
   
Line 1041  ENDSCRIPT Line 1090  ENDSCRIPT
     } elsif  (&gettype($sheetone) eq 'studentcalc') {      } elsif  (&gettype($sheetone) eq 'studentcalc') {
  &rowazstudent($sheetone);   &rowazstudent($sheetone);
     }      }
     &calcsheet($sheetone);      my $calcoutput=&calcsheet($sheetone);
       unless ($reroute) {
          $r->print('<h3><font color=red>'.$calcoutput.'</h3></font>');
       }
   
 # ------------------------------------------------------- Print or export sheet  # ------------------------------------------------------- Print or export sheet
    unless ($reroute) {        unless ($reroute) {   
Line 1049  ENDSCRIPT Line 1101  ENDSCRIPT
   
     $r->print('</form></body></html>');      $r->print('</form></body></html>');
   } else {    } else {
       $r->print(&exportrow($sheetone));       $r->print(&exportrow($sheetone));
   }    }
 # ------------------------------------------------------------------------ Done  # ------------------------------------------------------------------------ Done
   } else {    } else {

Removed from v.1.17  
changed lines
  Added in v.1.18


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