Diff for /loncom/interface/Attic/lonspreadsheet.pm between versions 1.82 and 1.83

version 1.82, 2002/04/09 18:41:11 version 1.83, 2002/04/10 15:30:13
Line 774  sub outrowassess { Line 774  sub outrowassess {
      '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') {
         my $fm=$f{$_.$n};          my $fm=$f{$_.$n};
         $fm=~s/[\'\"]/\&\#34;/g;          $fm=~s/[\'\"]/\&\#34;/g;
         $cols[$#cols+1]="'$_$n','$fm'".'___eq___'.$v{$_.$n};          push(@cols,"'$_$n','$fm'".'___eq___'.$v{$_.$n});
     }      }
     return @cols;      return @cols;
 }  }
Line 1189  sub readsheet { Line 1189  sub readsheet {
   my $cdom=&getcdom($safeeval);    my $cdom=&getcdom($safeeval);
   my $chome=&getchome($safeeval);    my $chome=&getchome($safeeval);
   
   if (! defined($fn) || $fn eq '') {    if (! defined($fn)) {
       # There is no filename. Look for defaults in course and global, cache        # There is no filename. Look for defaults in course and global, cache
       unless ($fn=$defaultsheets{$cnum.'_'.$cdom.'_'.$stype}) {        unless ($fn=$defaultsheets{$cnum.'_'.$cdom.'_'.$stype}) {
           my %tmphash = &Apache::lonnet::get('environment',            my %tmphash = &Apache::lonnet::get('environment',
Line 1203  sub readsheet { Line 1203  sub readsheet {
           }             } 
           $defaultsheets{$cnum.'_'.$cdom.'_'.$stype}=$fn;             $defaultsheets{$cnum.'_'.$cdom.'_'.$stype}=$fn; 
       }        }
   } else {  
       # We do have a filename, do a get on it.  
       my %tmphash = &Apache::lonnet::get('environment',  
                                          [$fn],  
                                          $cdom,$cnum);  
       my ($tmp) = keys(%tmphash);  
       if ($tmp =~ /^(con_lost|error|no_such_host)/i) {  
           # On error, grab the default filename  
           $fn = 'default_'.$stype;  
       } else {  
           $fn = $tmphash{$fn};  
       }  
       $defaultsheets{$cnum.'_'.$cdom.'_'.$stype}=$fn;   
   }    }
   
 # ---------------------------------------------------------- fn now has a value  # ---------------------------------------------------------- fn now has a value
Line 1242  sub readsheet { Line 1229  sub readsheet {
          } else {           } else {
              $sheetxml='<field row="0" col="A">"Error"</field>';               $sheetxml='<field row="0" col="A">"Error"</field>';
          }           }
          %f=&parse_sheet(\$sheetxml);           %f=%{&parse_sheet(\$sheetxml)};
      } elsif($fn=~/\/*\.spreadsheet$/) {       } elsif($fn=~/\/*\.spreadsheet$/) {
          my $sheetxml='';           my $sheetxml=&Apache::lonnet::getfile
          my $fh;               (&Apache::lonnet::filelocation('',$fn));
          my $dfn=$fn;           print "<pre>$sheetxml</pre>";
          $dfn=~s/\_/\./g;           if ($sheetxml == -1) {
   
          if ($fn !~ /^$Apache::lonnet::perlvar{'lonDocRoot'}\/res/) {  
              $fn = $Apache::lonnet::perlvar{'lonDocRoot'}.'/res'.$fn;  
          }  
          if ($fn !~ /^$Apache::lonnet::perlvar{'lonDocRoot'}/) {  
              $fn = $Apache::lonnet::perlvar{'lonDocRoot'}.$fn;  
          }  
          if ($fh=Apache::File->new($fn)) {  
              $sheetxml=join('',<$fh>);  
          } else {  
              $sheetxml='<field row="0" col="A">"Error loading spreadsheet '               $sheetxml='<field row="0" col="A">"Error loading spreadsheet '
                  .$fn.'"</field>';                   .$fn.'"</field>';
          }           }
          %f=&parse_sheet(\$sheetxml);           %f=%{&parse_sheet(\$sheetxml)};
            print "<pre>";
            foreach (sort( keys(%f))) {
                print "$_ = $f{$_}\n";
            }
            print "</pre>";
      } else {       } else {
          my $sheet='';           my $sheet='';
          my %tmphash = &Apache::lonnet::dump($fn,$cdom,$cnum);           my %tmphash = &Apache::lonnet::dump($fn,$cdom,$cnum);

Removed from v.1.82  
changed lines
  Added in v.1.83


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