version 1.59, 2005/12/06 06:04:49
|
version 1.68, 2006/05/01 06:17:16
|
Line 85 sub new {
|
Line 85 sub new {
|
my $class = ref($this) || $this; |
my $class = ref($this) || $this; |
my ($stype) = ($class =~ /Apache::(.*)$/); |
my ($stype) = ($class =~ /Apache::(.*)$/); |
# |
# |
my ($name,$domain,$filename,$usymb)=@_; |
my ($name,$domain,$filename,$usymb,$section,$groups)=@_; |
if (defined($usymb) && ref($usymb)) { |
if (defined($usymb) && ref($usymb)) { |
$usymb = $usymb->symb; |
$usymb = $usymb->symb; |
} |
} |
Line 95 sub new {
|
Line 95 sub new {
|
if (! defined($domain) || $domain eq '') { |
if (! defined($domain) || $domain eq '') { |
$domain = $env{'user.domain'}; |
$domain = $env{'user.domain'}; |
} |
} |
|
if (! defined($section) || $section eq '') { |
|
$section = &Apache::lonnet::getsection($domain,$name, |
|
$env{'request.course.id'}); |
|
} |
|
if (! defined($groups)) { |
|
|
|
my @usersgroups = &Apache::lonnet::get_users_groups($domain,$name, |
|
$env{'request.course.id'}); |
|
$groups = \@usersgroups; |
|
} |
# |
# |
my $self = { |
my $self = { |
name => $name, |
name => $name, |
domain => $domain, |
domain => $domain, |
|
section => $section, |
|
groups => $groups, |
type => $stype, |
type => $stype, |
symb => $usymb, |
symb => $usymb, |
errorlog => '', |
errorlog => '', |
Line 378 Calls the system EXT function to determi
|
Line 390 Calls the system EXT function to determi
|
|
|
#------------------------------------------------------- |
#------------------------------------------------------- |
sub EXT { |
sub EXT { |
my ($parameter) = @_; |
my ($parameter,$specific_symb) = @_; |
return '' if (! defined($parameter) || $parameter eq ''); |
return '' if (! defined($parameter) || $parameter eq ''); |
$parameter =~ s/^parameter\./resource\./; |
$parameter =~ s/^parameter\./resource\./; |
my $value = &Apache::lonnet::EXT($parameter,$symb,$domain,$name,$usection); |
if ($specific_symb eq '') { $specific_symb = $symb; } |
|
my $value = &Apache::lonnet::EXT($parameter,$specific_symb,$domain,$name, |
|
$usection); |
return $value; |
return $value; |
} |
} |
|
|
Line 697 sub get_values {
|
Line 711 sub get_values {
|
} |
} |
return \@values; |
return \@values; |
} else { |
} else { |
$num = '(\d+)'; |
$num = '([1-9]\d*)'; |
} |
} |
if (($la eq '*') || ($ua eq '*')) { |
if (($la eq '*') || ($ua eq '*')) { |
$alpha='[A-z]'; |
$alpha='[A-z]'; |
Line 806 sub expandnamed {
|
Line 820 sub expandnamed {
|
$result.=$thissum.'+'; |
$result.=$thissum.'+'; |
} |
} |
$result=~s/\+$//; |
$result=~s/\+$//; |
return $result; |
return '('.$result.')'; |
} else { |
} else { |
return 0; |
return 0; |
} |
} |
Line 1193 sub display {
|
Line 1207 sub display {
|
last; |
last; |
} |
} |
} |
} |
|
$self->{outputmode} = $outputmode; |
if ($outputmode eq 'html') { |
if ($outputmode eq 'html') { |
$self->compute($r); |
$self->compute($r); |
$self->outsheet_html($r); |
$self->outsheet_html($r); |
} elsif ($outputmode eq 'htmlclasslist') { |
} elsif ($outputmode eq 'htmlclasslist') { |
# No computation neccessary... This is kludgy |
# No computation neccessary... This is kludgy |
$self->outsheet_htmlclasslist($r); |
$self->outsheet_htmlclasslist($r); |
|
} elsif ($outputmode eq 'source') { |
|
# No computation necessary. Rumor has it that this is some |
|
# sort of kludge w.r.t. not "computing". It's also |
|
# a bit of of a kludge that we call "outsheet_html" and |
|
# let the 'outputmode' cause the outputting of source. |
|
$self->outsheet_html($r); |
} elsif ($outputmode eq 'excel') { |
} elsif ($outputmode eq 'excel') { |
$self->compute($r); |
$self->compute($r); |
$self->outsheet_excel($r); |
$self->outsheet_excel($r); |
Line 1238 sub html_export_row {
|
Line 1259 sub html_export_row {
|
foreach my $cell (@rowdata) { |
foreach my $cell (@rowdata) { |
if ($cell->{'name'} =~ /^[A-Z]/) { |
if ($cell->{'name'} =~ /^[A-Z]/) { |
$row_html .= '<td bgcolor="'.$color.'">'. |
$row_html .= '<td bgcolor="'.$color.'">'. |
&html_editable_cell($cell,$color,$allowed).'</td>'; |
&html_editable_cell($cell,$color,$allowed, |
|
$self->{outputmode} eq 'source').'</td>'; |
} else { |
} else { |
$row_html .= '<td bgcolor="#DDCCFF">'. |
$row_html .= '<td bgcolor="#DDCCFF">'. |
&html_editable_cell($cell,'#DDCCFF',$allowed).'</td>'; |
&html_editable_cell($cell,'#DDCCFF',$allowed, |
|
$self->{outputmode} eq 'source').'</td>'; |
} |
} |
} |
} |
return $row_html; |
return $row_html; |
Line 1261 sub html_template_row {
|
Line 1284 sub html_template_row {
|
&html_uneditable_cell($cell,'#FFDDDD',$allowed).'</td>'; |
&html_uneditable_cell($cell,'#FFDDDD',$allowed).'</td>'; |
} else { |
} else { |
$row_html .= '<td bgcolor="#EOFFDD">'. |
$row_html .= '<td bgcolor="#EOFFDD">'. |
&html_editable_cell($cell,'#EOFFDD',$allowed).'</td>'; |
&html_editable_cell($cell,'#EOFFDD',$allowed, |
|
$self->{outputmode} eq 'source').'</td>'; |
} |
} |
} |
} |
return $row_html; |
return $row_html; |
} |
} |
|
|
sub html_editable_cell { |
sub html_editable_cell { |
my ($cell,$bgcolor,$allowed) = @_; |
my ($cell,$bgcolor,$allowed,$showsource) = @_; |
my $result; |
my $result; |
my ($name,$formula,$value); |
my ($name,$formula,$value); |
if (defined($cell)) { |
if (defined($cell)) { |
Line 1278 sub html_editable_cell {
|
Line 1302 sub html_editable_cell {
|
} |
} |
$name = '' if (! defined($name)); |
$name = '' if (! defined($name)); |
$formula = '' if (! defined($formula)); |
$formula = '' if (! defined($formula)); |
if (! defined($value)) { |
if ($showsource) { |
|
if (!defined($formula) || $formula =~ /^\s*$/) { |
|
$value = '<font color="'.$bgcolor.'">#</font>'; |
|
} else { |
|
$value = &HTML::Entities::encode($formula, '<>&"'); |
|
} |
|
} elsif (! defined($value)) { |
$value = '<font color="'.$bgcolor.'">#</font>'; |
$value = '<font color="'.$bgcolor.'">#</font>'; |
if ($formula ne '') { |
if ($formula ne '') { |
$value = '<i>undefined value</i>'; |
$value = '<i>undefined value</i>'; |
Line 1331 sub html_row {
|
Line 1361 sub html_row {
|
$row_html .= &html_uneditable_cell($cell,'#FFDDDD'); |
$row_html .= &html_uneditable_cell($cell,'#FFDDDD'); |
} else { |
} else { |
$row_html .= '<td bgcolor="#EOFFDD">'; |
$row_html .= '<td bgcolor="#EOFFDD">'; |
$row_html .= &html_editable_cell($cell,'#E0FFDD',$allowed); |
$row_html .= &html_editable_cell($cell,'#E0FFDD',$allowed, |
|
$self->{outputmode} eq 'source'); |
} |
} |
$row_html .= '</td>'; |
$row_html .= '</td>'; |
} |
} |
Line 1355 sub output_options {
|
Line 1386 sub output_options {
|
description => 'HTML'}, |
description => 'HTML'}, |
{value => 'excel', |
{value => 'excel', |
description => 'Excel'}, |
description => 'Excel'}, |
|
{value => 'source', |
|
description => 'Show Source'}, |
# {value => 'xml', |
# {value => 'xml', |
# description => 'XML'}, |
# description => 'XML'}, |
{value => 'csv', |
{value => 'csv', |