version 1.129.2.1, 2003/02/01 19:55:00
|
version 1.129.2.2, 2003/03/20 20:40:42
|
Line 403 sub real_handler {
|
Line 403 sub real_handler {
|
# just display first |
# just display first |
if (!$curRes->opendate("0")) { |
if (!$curRes->opendate("0")) { |
# no parts are open, display as one part |
# no parts are open, display as one part |
@parts = ("0"); |
@parts = (); |
$condensed = 1; |
$condensed = 1; |
} else { |
} else { |
# Otherwise, only display part 0 if we want to |
# Otherwise, only display part 0 if we want to |
Line 441 sub real_handler {
|
Line 441 sub real_handler {
|
if (($statusAllSame && defined($condenseStatuses{$status})) || |
if (($statusAllSame && defined($condenseStatuses{$status})) || |
($dueAllSame && $status == $curRes->OPEN && $statusAllSame)|| |
($dueAllSame && $status == $curRes->OPEN && $statusAllSame)|| |
($openAllSame && $status == $curRes->OPEN_LATER && $statusAllSame) ){ |
($openAllSame && $status == $curRes->OPEN_LATER && $statusAllSame) ){ |
@parts = ($parts[1]); |
@parts = (); |
$condensed = 1; |
$condensed = 1; |
} |
} |
} |
} |
} |
} |
} |
} |
|
|
} else { |
|
$parts[0] = "0"; # this is to get past foreach loop below |
|
# you can consider a non-problem resource as a resource |
|
# with only one part without loss, and it simplifies the looping |
|
} |
} |
|
|
# Is it a multipart problem with a single part, now in |
# Is it a multipart problem with a single part, now in |
# @parts with "0" filtered out? If so, 'forget' it's a multi-part |
# @parts with "0" filtered out? If so, 'forget' it's a multi-part |
# problem and treat it like a single-part problem. |
# problem and treat it like a single-part problem. |
if ( scalar(@parts) == 1 ) { |
if ( scalar(@parts) == 0 ) { |
$multipart = 0; |
$multipart = 0; |
} |
} |
|
|
Line 466 sub real_handler {
|
Line 462 sub real_handler {
|
# status, but if it's multipart, we're lost, since we can't |
# status, but if it's multipart, we're lost, since we can't |
# retreive the metadata to count the parts |
# retreive the metadata to count the parts |
if ($curRes->{RESOURCE_ERROR}) { |
if ($curRes->{RESOURCE_ERROR}) { |
@parts = ("0"); |
@parts = (); |
} |
} |
|
|
# Step Two: Print the actual data. |
# Step Two: Print the actual data. |
|
|
# For each part we intend to display... |
# For each part we intend to display... |
foreach my $part (@parts) { |
foreach my $part ('', @parts) { |
|
if ($part eq '0') { |
|
next; |
|
} |
|
|
my $nonLinkedText = ""; # unlinked stuff after title |
my $nonLinkedText = ""; # unlinked stuff after title |
|
|
Line 507 sub real_handler {
|
Line 506 sub real_handler {
|
|
|
my $icon = "<img src=\"/adm/lonIcons/html.gif\" alt=\"\" border=\"0\" />"; |
my $icon = "<img src=\"/adm/lonIcons/html.gif\" alt=\"\" border=\"0\" />"; |
if ($curRes->is_problem()) { |
if ($curRes->is_problem()) { |
if ($part eq "0" || $condensed) { |
if ($part eq "" || $condensed) { |
$icon = '<img src="/adm/lonIcons/problem.gif" alt="" border=\"0\" />'; |
$icon = '<img src="/adm/lonIcons/problem.gif" alt="" border=\"0\" />'; |
} else { |
} else { |
$icon = $indentString; |
$icon = $indentString; |
Line 584 sub real_handler {
|
Line 583 sub real_handler {
|
$displayedHereMarker = 1; |
$displayedHereMarker = 1; |
} |
} |
|
|
if ($curRes->is_problem() && $part ne "0" && !$condensed) { |
if ($curRes->is_problem() && $part ne "" && !$condensed) { |
$partLabel = " (Part $part)"; |
$partLabel = " (Part $part)"; |
$title = ""; |
$title = ""; |
} |
} |
if ($multipart && $condensed) { |
if ($condensed && $curRes->countParts() > 1) { |
$nonLinkedText .= ' (' . $curRes->countParts() . ' parts)'; |
$nonLinkedText .= ' (' . $curRes->countParts() . ' parts)'; |
} |
} |
|
|
Line 2288 sub countParts {
|
Line 2287 sub countParts {
|
my $self = shift; |
my $self = shift; |
|
|
my $parts = $self->parts(); |
my $parts = $self->parts(); |
|
my $delta = 0; |
|
for my $part (@$parts) { |
|
if ($part eq '0') { $delta--; } |
|
} |
|
|
if ($self->{RESOURCE_ERROR}) { |
if ($self->{RESOURCE_ERROR}) { |
return 0; |
return 0; |
} |
} |
|
|
if (scalar(@{$parts}) < 2) { return 1;} |
return scalar(@{$parts}) + $delta; |
|
|
return scalar(@{$parts}) - 1; |
|
} |
} |
|
|
# Private function: Extracts the parts information and saves it |
# Private function: Extracts the parts information and saves it |
Line 2309 sub extractParts {
|
Line 2310 sub extractParts {
|
|
|
# Retrieve part count, if this is a problem |
# Retrieve part count, if this is a problem |
if ($self->is_problem()) { |
if ($self->is_problem()) { |
my $metadata = &Apache::lonnet::metadata($self->src(), 'allpossiblekeys'); |
my $metadata = &Apache::lonnet::metadata($self->src(), 'packages'); |
if (!$metadata) { |
if (!$metadata) { |
$self->{RESOURCE_ERROR} = 1; |
$self->{RESOURCE_ERROR} = 1; |
$self->{PARTS} = []; |
$self->{PARTS} = []; |
Line 2317 sub extractParts {
|
Line 2318 sub extractParts {
|
} |
} |
|
|
foreach (split(/\,/,$metadata)) { |
foreach (split(/\,/,$metadata)) { |
if ($_ =~ /^parameter\_(.*)\_opendate$/) { |
if ($_ =~ /^part_(.*)$/) { |
push @{$self->{PARTS}}, $1; |
push @{$self->{PARTS}}, $1; |
} |
} |
} |
} |