version 1.238, 2003/10/08 19:22:17
|
version 1.240, 2003/10/09 21:48:51
|
Line 3578 sub extractParts {
|
Line 3578 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 $partorder = &Apache::lonnet::metadata($self->src(), 'partorder'); |
my $metadata = &Apache::lonnet::metadata($self->src(), 'packages'); |
my $metadata = &Apache::lonnet::metadata($self->src(), 'packages'); |
if (!$metadata) { |
|
$self->{RESOURCE_ERROR} = 1; |
if ($partorder) { |
$self->{PARTS} = []; |
my @parts; |
$self->{PART_TYPE} = {}; |
for my $part (split (/,/,$partorder)) { |
return; |
if (!Apache::loncommon::check_if_partid_hidden($part, $self->symb())) { |
} |
push @parts, $part; |
foreach (split(/\,/,$metadata)) { |
} |
if ($_ =~ /^part_(.*)$/) { |
} |
my $part = $1; |
$self->{PARTS} = \@parts; |
# This floods the logs if it blows up |
} else { |
if (defined($parts{$part})) { |
if (!$metadata) { |
Apache::lonnet::logthis("$part multiply defined in metadata for " . $self->symb()); |
$self->{RESOURCE_ERROR} = 1; |
} |
$self->{PARTS} = []; |
|
$self->{PART_TYPE} = {}; |
# check to see if part is turned off. |
return; |
|
} |
if (!Apache::loncommon::check_if_partid_hidden($part, $self->symb())) { |
foreach (split(/\,/,$metadata)) { |
$parts{$part} = 1; |
if ($_ =~ /^part_(.*)$/) { |
} |
my $part = $1; |
} |
# This floods the logs if it blows up |
|
if (defined($parts{$part})) { |
|
Apache::lonnet::logthis("$part multiply defined in metadata for " . $self->symb()); |
|
} |
|
|
|
# check to see if part is turned off. |
|
|
|
if (!Apache::loncommon::check_if_partid_hidden($part, $self->symb())) { |
|
$parts{$part} = 1; |
|
} |
|
} |
|
} |
|
my @sortedParts = sort keys %parts; |
|
$self->{PARTS} = \@sortedParts; |
} |
} |
|
|
|
|
my @sortedParts = sort keys %parts; |
|
$self->{PARTS} = \@sortedParts; |
|
|
|
my %responseIdHash; |
my %responseIdHash; |
my %responseTypeHash; |
my %responseTypeHash; |
Line 3615 sub extractParts {
|
Line 3626 sub extractParts {
|
} |
} |
|
|
# Now, the unfortunate thing about this is that parts, part name, and |
# Now, the unfortunate thing about this is that parts, part name, and |
# response if are delimited by underscores, but both the part |
# response id are delimited by underscores, but both the part |
# name and response id can themselves have underscores in them. |
# name and response id can themselves have underscores in them. |
# So we have to use our knowlege of part names to figure out |
# So we have to use our knowlege of part names to figure out |
# where the part names begin and end, and even then, it is possible |
# where the part names begin and end, and even then, it is possible |