version 1.40, 2005/03/10 17:33:57
|
version 1.41, 2005/04/07 06:56:23
|
Line 90 sub new {
|
Line 90 sub new {
|
$usymb = $usymb->symb; |
$usymb = $usymb->symb; |
} |
} |
if (! defined($name) || $name eq '') { |
if (! defined($name) || $name eq '') { |
$name = $ENV{'user.name'}; |
$name = $env{'user.name'}; |
} |
} |
if (! defined($domain) || $domain eq '') { |
if (! defined($domain) || $domain eq '') { |
$domain = $ENV{'user.domain'}; |
$domain = $env{'user.domain'}; |
} |
} |
# |
# |
my $self = { |
my $self = { |
Line 103 sub new {
|
Line 103 sub new {
|
symb => $usymb, |
symb => $usymb, |
errorlog => '', |
errorlog => '', |
maxrow => 0, |
maxrow => 0, |
cid => $ENV{'request.course.id'}, |
cid => $env{'request.course.id'}, |
cnum => $ENV{'course.'.$ENV{'request.course.id'}.'.num'}, |
cnum => $env{'course.'.$env{'request.course.id'}.'.num'}, |
cdom => $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}, |
cdom => $env{'course.'.$env{'request.course.id'}.'.domain'}, |
chome => $ENV{'course.'.$ENV{'request.course.id'}.'.home'}, |
chome => $env{'course.'.$env{'request.course.id'}.'.home'}, |
coursedesc => $ENV{'course.'.$ENV{'request.course.id'}.'.description'}, |
coursedesc => $env{'course.'.$env{'request.course.id'}.'.description'}, |
coursefilename => $ENV{'request.course.fn'}, |
coursefilename => $env{'request.course.fn'}, |
# |
# |
# Flags |
# Flags |
temporary => 0, # true if this sheet has been modified but not saved |
temporary => 0, # true if this sheet has been modified but not saved |
Line 132 sub new {
|
Line 132 sub new {
|
# |
# |
# Load in the spreadsheet definition |
# Load in the spreadsheet definition |
$self->filename($filename); |
$self->filename($filename); |
if (exists($ENV{'form.workcopy'}) && |
if (exists($env{'form.workcopy'}) && |
$self->{'type'} eq $ENV{'form.workcopy'}) { |
$self->{'type'} eq $env{'form.workcopy'}) { |
$self->load_tmp(); |
$self->load_tmp(); |
} else { |
} else { |
$self->load(); |
$self->load(); |
Line 160 sub filename {
|
Line 160 sub filename {
|
$newfilename !~ /\w/ || $newfilename eq '') { |
$newfilename !~ /\w/ || $newfilename eq '') { |
my $key = 'course.'.$self->{'cid'}.'.spreadsheet_default_'. |
my $key = 'course.'.$self->{'cid'}.'.spreadsheet_default_'. |
$self->{'type'}; |
$self->{'type'}; |
if (exists($ENV{$key}) && $ENV{$key} ne '') { |
if (exists($env{$key}) && $env{$key} ne '') { |
$newfilename = $ENV{$key}; |
$newfilename = $env{$key}; |
} else { |
} else { |
$newfilename = 'default_'.$self->{'type'}; |
$newfilename = 'default_'.$self->{'type'}; |
} |
} |
Line 259 sub initialize_spreadsheet_package {
|
Line 259 sub initialize_spreadsheet_package {
|
|
|
sub load_spreadsheet_expirationdates { |
sub load_spreadsheet_expirationdates { |
undef %expiredates; |
undef %expiredates; |
my $cid=$ENV{'request.course.id'}; |
my $cid=$env{'request.course.id'}; |
my @tmp = &Apache::lonnet::dump('nohist_expirationdates', |
my @tmp = &Apache::lonnet::dump('nohist_expirationdates', |
$ENV{'course.'.$cid.'.domain'}, |
$env{'course.'.$cid.'.domain'}, |
$ENV{'course.'.$cid.'.num'}); |
$env{'course.'.$cid.'.num'}); |
if (lc($tmp[0]) !~ /^error/){ |
if (lc($tmp[0]) !~ /^error/){ |
%expiredates = @tmp; |
%expiredates = @tmp; |
} |
} |
Line 318 sub initialize_safe_space {
|
Line 318 sub initialize_safe_space {
|
my $self = shift; |
my $self = shift; |
my $usection = &Apache::lonnet::getsection($self->{'domain'}, |
my $usection = &Apache::lonnet::getsection($self->{'domain'}, |
$self->{'name'}, |
$self->{'name'}, |
$ENV{'request.course.id'}); |
$env{'request.course.id'}); |
if (! defined($safeeval)) { |
if (! defined($safeeval)) { |
$safeeval = new Safe(shift); |
$safeeval = new Safe(shift); |
my $safehole = new Safe::Hole; |
my $safehole = new Safe::Hole; |
Line 1222 sub display {
|
Line 1222 sub display {
|
my ($r) = @_; |
my ($r) = @_; |
my $outputmode = 'html'; |
my $outputmode = 'html'; |
foreach ($self->output_options()) { |
foreach ($self->output_options()) { |
if ($ENV{'form.output_format'} eq $_->{'value'}) { |
if ($env{'form.output_format'} eq $_->{'value'}) { |
$outputmode = $_->{'value'}; |
$outputmode = $_->{'value'}; |
last; |
last; |
} |
} |
Line 1266 sub html_export_row {
|
Line 1266 sub html_export_row {
|
my $self = shift(); |
my $self = shift(); |
my ($color) = @_; |
my ($color) = @_; |
$color = '#CCCCFF' if (! defined($color)); |
$color = '#CCCCFF' if (! defined($color)); |
my $allowed = &Apache::lonnet::allowed('mgr',$ENV{'request.course.id'}); |
my $allowed = &Apache::lonnet::allowed('mgr',$env{'request.course.id'}); |
my $row_html; |
my $row_html; |
my @rowdata = $self->get_row(0); |
my @rowdata = $self->get_row(0); |
foreach my $cell (@rowdata) { |
foreach my $cell (@rowdata) { |
Line 1283 sub html_export_row {
|
Line 1283 sub html_export_row {
|
|
|
sub html_template_row { |
sub html_template_row { |
my $self = shift(); |
my $self = shift(); |
my $allowed = &Apache::lonnet::allowed('mgr',$ENV{'request.course.id'}); |
my $allowed = &Apache::lonnet::allowed('mgr',$env{'request.course.id'}); |
my ($num_uneditable,$importcolor) = @_; |
my ($num_uneditable,$importcolor) = @_; |
my $row_html; |
my $row_html; |
my @rowdata = $self->get_template_row(); |
my @rowdata = $self->get_template_row(); |
Line 1350 sub html_uneditable_cell {
|
Line 1350 sub html_uneditable_cell {
|
sub html_row { |
sub html_row { |
my $self = shift(); |
my $self = shift(); |
my ($num_uneditable,$row,$exportcolor,$importcolor) = @_; |
my ($num_uneditable,$row,$exportcolor,$importcolor) = @_; |
my $allowed = &Apache::lonnet::allowed('mgr',$ENV{'request.course.id'}); |
my $allowed = &Apache::lonnet::allowed('mgr',$env{'request.course.id'}); |
my @rowdata = $self->get_row($row); |
my @rowdata = $self->get_row($row); |
my $num_cols_output = 0; |
my $num_cols_output = 0; |
my $row_html; |
my $row_html; |
Line 1374 sub html_row {
|
Line 1374 sub html_row {
|
|
|
sub html_header { |
sub html_header { |
my $self = shift; |
my $self = shift; |
return '' if (! $ENV{'request.role.adv'}); |
return '' if (! $env{'request.role.adv'}); |
return "<table>\n". |
return "<table>\n". |
'<tr><th align="center">'.&mt('Output Format').'</th></tr>'."\n". |
'<tr><th align="center">'.&mt('Output Format').'</th></tr>'."\n". |
'<tr><td>'.$self->output_selector()."</td></tr>\n". |
'<tr><td>'.$self->output_selector()."</td></tr>\n". |
Line 1399 sub output_selector {
|
Line 1399 sub output_selector {
|
my $self = shift(); |
my $self = shift(); |
my $output_selector = '<select name="output_format" size="3">'."\n"; |
my $output_selector = '<select name="output_format" size="3">'."\n"; |
my $default = 'html'; |
my $default = 'html'; |
if (exists($ENV{'form.output_format'})) { |
if (exists($env{'form.output_format'})) { |
$default = $ENV{'form.output_format'} |
$default = $env{'form.output_format'} |
} else { |
} else { |
$ENV{'form.output_format'} = $default; |
$env{'form.output_format'} = $default; |
} |
} |
foreach ($self->output_options()) { |
foreach ($self->output_options()) { |
$output_selector.='<option value="'.$_->{'value'}.'"'; |
$output_selector.='<option value="'.$_->{'value'}.'"'; |
Line 1504 sub outsheet_csv {
|
Line 1504 sub outsheet_csv {
|
# |
# |
# Open the csv file |
# Open the csv file |
my $filename = '/prtspool/'. |
my $filename = '/prtspool/'. |
$ENV{'user.name'}.'_'.$ENV{'user.domain'}.'_'. |
$env{'user.name'}.'_'.$env{'user.domain'}.'_'. |
time.'_'.rand(1000000000).'.csv'; |
time.'_'.rand(1000000000).'.csv'; |
my $file; |
my $file; |
unless ($file = Apache::File->new('>'.'/home/httpd'.$filename)) { |
unless ($file = Apache::File->new('>'.'/home/httpd'.$filename)) { |
Line 1753 sub save {
|
Line 1753 sub save {
|
my $reply = &Apache::lonnet::put($filename,\%f,$cdom,$cnum); |
my $reply = &Apache::lonnet::put($filename,\%f,$cdom,$cnum); |
return $reply if ($reply ne 'ok'); |
return $reply if ($reply ne 'ok'); |
$reply = &Apache::lonnet::put($stype.'_spreadsheets', |
$reply = &Apache::lonnet::put($stype.'_spreadsheets', |
{$filename => $ENV{'user.name'}.'@'.$ENV{'user.domain'}}, |
{$filename => $env{'user.name'}.'@'.$env{'user.domain'}}, |
$cdom,$cnum); |
$cdom,$cnum); |
return $reply if ($reply ne 'ok'); |
return $reply if ($reply ne 'ok'); |
if ($makedef) { |
if ($makedef) { |
Line 1779 sub save {
|
Line 1779 sub save {
|
|
|
sub save_tmp { |
sub save_tmp { |
my $self = shift; |
my $self = shift; |
my $filename=$ENV{'user.name'}.'_'. |
my $filename=$env{'user.name'}.'_'. |
$ENV{'user.domain'}.'_spreadsheet_'.$self->{'symb'}.'_'. |
$env{'user.domain'}.'_spreadsheet_'.$self->{'symb'}.'_'. |
$self->{'filename'}; |
$self->{'filename'}; |
$filename=~s/\W/\_/g; |
$filename=~s/\W/\_/g; |
$filename=$Apache::lonnet::tmpdir.$filename.'.tmp'; |
$filename=$Apache::lonnet::tmpdir.$filename.'.tmp'; |
Line 1799 sub save_tmp {
|
Line 1799 sub save_tmp {
|
|
|
sub load_tmp { |
sub load_tmp { |
my $self = shift; |
my $self = shift; |
my $filename=$ENV{'user.name'}.'_'. |
my $filename=$env{'user.name'}.'_'. |
$ENV{'user.domain'}.'_spreadsheet_'.$self->{'symb'}.'_'. |
$env{'user.domain'}.'_spreadsheet_'.$self->{'symb'}.'_'. |
$self->{'filename'}; |
$self->{'filename'}; |
$filename=~s/\W/\_/g; |
$filename=~s/\W/\_/g; |
$filename=$Apache::lonnet::tmpdir.$filename.'.tmp'; |
$filename=$Apache::lonnet::tmpdir.$filename.'.tmp'; |