Diff for /loncom/interface/spreadsheet/Spreadsheet.pm between versions 1.22 and 1.25

version 1.22, 2003/09/05 01:06:45 version 1.25, 2003/09/12 18:59:48
Line 48  Spreadsheet Line 48  Spreadsheet
 package Apache::Spreadsheet;  package Apache::Spreadsheet;
   
 use strict;  use strict;
 use warnings FATAL=>'all';  #use warnings FATAL=>'all';
 no warnings 'uninitialized';  #no warnings 'uninitialized';
 use Apache::Constants qw(:common :http);  use Apache::Constants qw(:common :http);
 use Apache::lonnet;  use Apache::lonnet;
 use Safe;  use Safe;
Line 231  sub initialize { Line 231  sub initialize {
     # the descendents of the spreadsheet class.      # the descendents of the spreadsheet class.
 }  }
   
   sub clear_package {
       # This method is here to remind you that it will be overridden by
       # the descendents of the spreadsheet class.
   }
   
   sub cleanup {
       my $self = shift();
       $self->clear_package();
   }
   
 sub initialize_spreadsheet_package {  sub initialize_spreadsheet_package {
     &load_spreadsheet_expirationdates();      &load_spreadsheet_expirationdates();
     &clear_spreadsheet_definition_cache();      &clear_spreadsheet_definition_cache();
Line 289  Returns the safe space required by a Spr Line 299  Returns the safe space required by a Spr
 =cut  =cut
   
 ######################################################  ######################################################
   { 
   
       my $safeeval;
   
 sub initialize_safe_space {  sub initialize_safe_space {
     my $self = shift;    my $self = shift;
     my $safeeval = new Safe(shift);    if (! defined($safeeval)) {
     my $safehole = new Safe::Hole;        $safeeval = new Safe(shift);
     $safeeval->permit("entereval");        my $safehole = new Safe::Hole;
     $safeeval->permit(":base_math");        $safeeval->permit("entereval");
     $safeeval->permit("sort");        $safeeval->permit(":base_math");
     $safeeval->deny(":base_io");        $safeeval->permit("sort");
     $safehole->wrap(\&Apache::lonnet::EXT,$safeeval,'&EXT');        $safeeval->deny(":base_io");
     $safehole->wrap(\&mask,$safeeval,'&mask');        $safehole->wrap(\&Apache::lonnet::EXT,$safeeval,'&EXT');
     $safeeval->share('$@');        $safehole->wrap(\&mask,$safeeval,'&mask');
     my $code=<<'ENDDEFS';        $safeeval->share('$@');
         my $code=<<'ENDDEFS';
 # ---------------------------------------------------- Inside of the safe space  # ---------------------------------------------------- Inside of the safe space
 #  #
 # f: formulas  # f: formulas
Line 667  sub calc { Line 682  sub calc {
   
 # ------------------------------------------- End of "Inside of the safe space"  # ------------------------------------------- End of "Inside of the safe space"
 ENDDEFS  ENDDEFS
     $safeeval->reval($code);          $safeeval->reval($code);
       }
     $self->{'safe'} = $safeeval;      $self->{'safe'} = $safeeval;
     $self->{'root'} = $self->{'safe'}->root();      $self->{'root'} = $self->{'safe'}->root();
     #      #
Line 681  ENDDEFS Line 697  ENDDEFS
     $self->{'safe'}->reval($initstring);      $self->{'safe'}->reval($initstring);
     return $self;      return $self;
 }  }
   
   }
   
 ######################################################  ######################################################
   
 =pod  =pod
Line 1341  sub create_excel_spreadsheet { Line 1360  sub create_excel_spreadsheet {
 sub outsheet_excel {  sub outsheet_excel {
     my $self = shift;      my $self = shift;
     my ($r) = @_;      my ($r) = @_;
       my $connection = $r->connection();
     $r->print("<h2>Preparing Excel Spreadsheet</h2>");      $r->print("<h2>Preparing Excel Spreadsheet</h2>");
     #      #
     # Create excel worksheet      # Create excel worksheet
Line 1364  sub outsheet_excel { Line 1384  sub outsheet_excel {
     $self->excel_output_row($worksheet,0,$rows_output++,'Summary');      $self->excel_output_row($worksheet,0,$rows_output++,'Summary');
     $rows_output++;    # skip a line      $rows_output++;    # skip a line
     #      #
     $self->excel_rows($worksheet,$cols_output,$rows_output);      $self->excel_rows($connection,$worksheet,$cols_output,$rows_output);
     #      #
     #      #
     # Close the excel file      # Close the excel file
Line 1382  sub outsheet_excel { Line 1402  sub outsheet_excel {
 sub outsheet_csv   {  sub outsheet_csv   {
     my $self = shift;      my $self = shift;
     my ($r) = @_;      my ($r) = @_;
       my $connection = $r->connection();
     my $csvdata = '';      my $csvdata = '';
     my @Values;      my @Values;
     #      #
Line 1405  sub outsheet_csv   { Line 1426  sub outsheet_csv   {
     }      }
     #      #
     # Output the body of the spreadsheet      # Output the body of the spreadsheet
     $self->csv_rows($file);      $self->csv_rows($connection,$file);
     #      #
     # Close the csv file      # Close the csv file
     close($file);      close($file);

Removed from v.1.22  
changed lines
  Added in v.1.25


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