Diff for /loncom/interface/Attic/lonspreadsheet.pm between versions 1.23 and 1.24

version 1.23, 2001/01/01 16:16:08 version 1.24, 2001/01/01 19:28:37
Line 496  sub exportrow { Line 496  sub exportrow {
 sub rown {  sub rown {
     my ($safeeval,$n)=@_;      my ($safeeval,$n)=@_;
     my $defaultbg;      my $defaultbg;
       my $rowdata='';
     unless ($n eq '-') {      unless ($n eq '-') {
        $defaultbg=((($n-1)/5)==int(($n-1)/5))?'#E0E0':'#FFFF';         $defaultbg=((($n-1)/5)==int(($n-1)/5))?'#E0E0':'#FFFF';
     } else {      } else {
        $defaultbg='#E0FF';         $defaultbg='#E0FF';
     }      }
     my $rowdata="\n<tr><td><b><font size=+1>$n</font></b></td>";      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>";
     my $showf=0;      my $showf=0;
     my $proc;      my $proc;
     my $maxred;      my $maxred;
Line 537  sub rown { Line 555  sub rown {
 # ------------------------------------------------------------- Print out sheet  # ------------------------------------------------------------- Print out sheet
   
 sub outsheet {  sub outsheet {
     my $safeeval=shift;      my ($r,$safeeval)=@_;
     my $maxred;      my $maxred;
     my $realm;      my $realm;
     if (&gettype($safeeval) eq 'assesscalc') {      if (&gettype($safeeval) eq 'assesscalc') {
Line 551  sub outsheet { Line 569  sub outsheet {
         $realm='Course';          $realm='Course';
     }      }
     my $maxyellow=52-$maxred;      my $maxyellow=52-$maxred;
     my $tabledata='<table border=2><tr><th colspan=2 rowspan=2><font size=+2>'.      my $tabledata=
           '<table border=2><tr><th colspan=2 rowspan=2><font size=+2>'.
                   $realm.'</font></th>'.                    $realm.'</font></th>'.
                   '<td bgcolor=#FFDDDD colspan='.$maxred.                    '<td bgcolor=#FFDDDD colspan='.$maxred.
                   '><b><font size=+1>Import</font></b></td>'.                    '><b><font size=+1>Import</font></b></td>'.
Line 574  sub outsheet { Line 593  sub outsheet {
     my $row;      my $row;
     my $maxrow=&getmaxrow($safeeval);      my $maxrow=&getmaxrow($safeeval);
     $tabledata.=&rown($safeeval,'-');      $tabledata.=&rown($safeeval,'-');
       $r->print($tabledata);
     for ($row=0;$row<=$maxrow;$row++) {      for ($row=0;$row<=$maxrow;$row++) {
         $tabledata.=&rown($safeeval,$row);          $r->print(&rown($safeeval,$row));
     }      }
     $tabledata.='</table>';      $r->print('</table>');
 }  }
   
   
Line 818  sub updatestudentrows { Line 838  sub updatestudentrows {
     unless ($classlst=~/^error\:/) {      unless ($classlst=~/^error\:/) {
         map {          map {
             my ($name,$value)=split(/\=/,$_);              my ($name,$value)=split(/\=/,$_);
             my ($end,$start)=split(/\_/,&Apache::lonnet::unescape($value));              my ($end,$start)=split(/\:/,&Apache::lonnet::unescape($value));
             my $active=1;              my $active=1;
             if (($end) && ($now>$end)) { $active=0; }              if (($end) && ($now>$end)) { $active=0; }
             if ($active) {              if ($active) {
  $currentlist{&Apache::lonnet::unescape($name)}=1;                  my $rowlabel='';
                   $name=&Apache::lonnet::unescape($name);
                   my ($cname,$cdom)=split(/\:/,$name);
                   my $csec=
                &Apache::lonnet::usection($cdom,$cname,$ENV{'request.course.id'});
                   if ($csec==-1) {
                       $rowlabel='<font color=red>Data not available: '.$name.
         '</font>';
                   } else {
                       my %reply=&Apache::lonnet::idrget($cdom,$cname);
                       my $reply=&Apache::lonnet::reply('get:'.$cdom.':'.$cname.
         ':environment:firstname&middlename&lastname&generation',
                         &Apache::lonnet::homeserver($cname,$cdom));
                       $rowlabel=$csec.'&nbsp;'.$reply{$cname}.'<br>';
                       map {
                           $rowlabel.=&Apache::lonnet::unescape($_).' ';
                       } split(/\&/,$reply);
                   }
                  
    $currentlist{&Apache::lonnet::unescape($name)}=$rowlabel;
             }              }
         } split(/\&/,$classlst);          } split(/\&/,$classlst);
 #  #
Line 854  sub updatestudentrows { Line 893  sub updatestudentrows {
                 $maxrow++;                  $maxrow++;
                 $f{'A'.$maxrow}=$_;                  $f{'A'.$maxrow}=$_;
             }              }
         } keys %currentlist;                  } sort keys %currentlist;        
             
         if ($changed) { &setformulas($safeeval,%f); }          if ($changed) { &setformulas($safeeval,%f); }
   
Line 963  sub updaterows { Line 1002  sub updaterows {
     }      }
 }  }
   
 # --------------------------------------------------- Load data for one student  # ------------------------------------------------ Load data for one assessment
   
 sub rowazstudent {  sub rowazstudent {
     my $safeeval=shift;      my $safeeval=shift;
Line 975  sub rowazstudent { Line 1014  sub rowazstudent {
            unless ($f{$_}=~/^\!/) {             unless ($f{$_}=~/^\!/) {
               my @assessdata=split(/\_\_\_\;\_\_\_/,                my @assessdata=split(/\_\_\_\;\_\_\_/,
                              &Apache::lonnet::ssi(                               &Apache::lonnet::ssi(
         '/res/msu/korte/junk.assesscalc',('utarget' => 'export',                         '/adm/assesscalc',('utarget' => 'export',
                                           'uname'   => $uname,                                            'uname'   => $uname,
                                           'udom'    => $udom,                                            'udom'    => $udom,
                   'usymb'   => $f{$_})));                    'usymb'   => $f{$_})));
Line 997  sub rowazstudent { Line 1036  sub rowazstudent {
     &setconstants($safeeval,%c);      &setconstants($safeeval,%c);
 }  }
   
   # --------------------------------------------------- Load data for one student
   
   sub rowazclass {
       my $safeeval=shift;
       my %c=();
       my %f=&getformulas($safeeval);
       map {
    if ($_=~/^A(\d+)/) {
      my $row=$1;
              unless ($f{$_}=~/^\!/) {
         my ($tname,$tdom)=split(/\:/,$_);
                 my @assessdata=split(/\_\_\_\;\_\_\_/,
                                &Apache::lonnet::ssi(
                         '/adm/studentcalc',('utarget' => 'export',
                                             'uname'   => $tname,
                                             'udom'    => $tdom,
                     'usymb'   => $f{$_})));
                 my $index=0;
                 map {
                     if ($assessdata[$index]) {
        $c{$_.$row}=$assessdata[$index];
                        unless ($_ eq 'A') { 
    $f{$_.$row}='import';
                        }
     }
                     $index++;
                 } ('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');
      }
           }
       } keys %f;
       &setformulas($safeeval,%f);
       &setconstants($safeeval,%c);
   }
   
 # ------------------------------------------------ Load data for one assessment  # ------------------------------------------------ Load data for one assessment
   
 sub rowaassess {  sub rowaassess {
Line 1189  ENDSCRIPT Line 1263  ENDSCRIPT
        &hiddenfield('unewfield','').         &hiddenfield('unewfield','').
        &hiddenfield('unewformula',''));         &hiddenfield('unewformula',''));
   }    }
       $r->rflush();
 # ---------------------------------------- Read new sheet or modified worksheet  # ---------------------------------------- Read new sheet or modified worksheet
   
     my $sheetone=initsheet();      my $sheetone=initsheet();
Line 1286  ENDSCRIPT Line 1360  ENDSCRIPT
   
 # ------------------------------------------------------- Print or export sheet  # ------------------------------------------------------- Print or export sheet
    unless ($reroute) {        unless ($reroute) {   
     $r->print(&outsheet($sheetone));      &outsheet($r,$sheetone);
   
     $r->print('</form></body></html>');      $r->print('</form></body></html>');
   } else {    } else {

Removed from v.1.23  
changed lines
  Added in v.1.24


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