version 1.159, 2003/03/13 20:46:36
|
version 1.163, 2003/03/20 18:38:01
|
Line 700 sub render_resource {
|
Line 700 sub render_resource {
|
$title = ""; |
$title = ""; |
} |
} |
|
|
if ($params->{'multipart'} && $params->{'condensed'}) { |
if ($params->{'condensed'} && $resource->countParts() > 1) { |
$nonLinkedText .= ' (' . $resource->countParts() . ' parts)'; |
$nonLinkedText .= ' (' . $resource->countParts() . ' parts)'; |
} |
} |
|
|
Line 1107 sub render {
|
Line 1107 sub render {
|
|
|
if ($condenseParts) { # do the condensation |
if ($condenseParts) { # do the condensation |
if (!$curRes->opendate("0")) { |
if (!$curRes->opendate("0")) { |
@parts = ("0"); |
@parts = (); |
$args->{'condensed'} = 1; |
$args->{'condensed'} = 1; |
} |
} |
if (!$args->{'condensed'}) { |
if (!$args->{'condensed'}) { |
Line 1139 sub render {
|
Line 1139 sub render {
|
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 = (); |
$args->{'condensed'} = 1; |
$args->{'condensed'} = 1; |
} |
} |
|
|
Line 1623 sub parmval_real {
|
Line 1623 sub parmval_real {
|
my ($space,@qualifier)=split(/\./,$rwhat); |
my ($space,@qualifier)=split(/\./,$rwhat); |
my $qualifier=join('.',@qualifier); |
my $qualifier=join('.',@qualifier); |
unless ($space eq '0') { |
unless ($space eq '0') { |
my ($part,$id)=split(/\_/,$space); |
my @parts=split(/_/,$space); |
if ($id) { |
my $id=pop(@parts); |
my $partgeneral=$self->parmval($part.".$qualifier",$symb); |
my $part=join('_',@parts); |
if (defined($partgeneral)) { return $partgeneral; } |
if ($part eq '') { $part='0'; } |
} else { |
my $partgeneral=$self->parmval($part.".$qualifier",$symb); |
my $resourcegeneral=$self->parmval("0.$qualifier",$symb); |
if (defined($partgeneral)) { return $partgeneral; } |
if (defined($resourcegeneral)) { return $resourcegeneral; } |
|
} |
|
} |
} |
return ''; |
return ''; |
} |
} |
Line 1759 getIterator behaves as follows:
|
Line 1757 getIterator behaves as follows:
|
|
|
=over 4 |
=over 4 |
|
|
=item * B<getIterator>(firstResource, finishResource, filterHash, condition, forceTop): All parameters are optional. firstResource is a resource reference corresponding to where the iterator should start. It defaults to navmap->firstResource() for the corresponding nav map. finishResource corresponds to where you want the iterator to end, defaulting to navmap->finishResource(). filterHash is a hash used as a set containing strings representing the resource IDs, defaulting to empty. Condition is a 1 or 0 that sets what to do with the filter hash: If a 0, then only resource that exist IN the filterHash will be recursed on. If it is a 1, only resources NOT in the filterHash will be recursed on. Defaults to 0. forceTop is a boolean value. If it is false (default), the iterator will only return the first level of map that is not just a single, 'redirecting' map. If true, the iterator will return all information, starting with the top-level map, regardless of content. |
=item * B<getIterator>(firstResource, finishResource, filterHash, condition, forceTop, returnTopMap): All parameters are optional. firstResource is a resource reference corresponding to where the iterator should start. It defaults to navmap->firstResource() for the corresponding nav map. finishResource corresponds to where you want the iterator to end, defaulting to navmap->finishResource(). filterHash is a hash used as a set containing strings representing the resource IDs, defaulting to empty. Condition is a 1 or 0 that sets what to do with the filter hash: If a 0, then only resource that exist IN the filterHash will be recursed on. If it is a 1, only resources NOT in the filterHash will be recursed on. Defaults to 0. forceTop is a boolean value. If it is false (default), the iterator will only return the first level of map that is not just a single, 'redirecting' map. If true, the iterator will return all information, starting with the top-level map, regardless of content. returnTopMap, if true (default false), will cause the iterator to return the top-level map object (resource 0.0) before anything else. |
|
|
Thus, by default, only top-level resources will be shown. Change the condition to a 1 without changing the hash, and all resources will be shown. Changing the condition to 1 and including some values in the hash will allow you to selectively suppress parts of the navmap, while leaving it on 0 and adding things to the hash will allow you to selectively add parts of the nav map. See the handler code for examples. |
Thus, by default, only top-level resources will be shown. Change the condition to a 1 without changing the hash, and all resources will be shown. Changing the condition to 1 and including some values in the hash will allow you to selectively suppress parts of the navmap, while leaving it on 0 and adding things to the hash will allow you to selectively add parts of the nav map. See the handler code for examples. |
|
|
Line 1834 sub new {
|
Line 1832 sub new {
|
# Do we want to automatically follow "redirection" maps? |
# Do we want to automatically follow "redirection" maps? |
$self->{FORCE_TOP} = shift; |
$self->{FORCE_TOP} = shift; |
|
|
|
# Do we want to return the top-level map object (resource 0.0)? |
|
$self->{RETURN_0} = shift; |
|
# have we done that yet? |
|
$self->{HAVE_RETURNED_0} = 0; |
|
|
# Now, we need to pre-process the map, by walking forward and backward |
# Now, we need to pre-process the map, by walking forward and backward |
# over the parts of the map we're going to look at. |
# over the parts of the map we're going to look at. |
|
|
Line 1947 sub new {
|
Line 1950 sub new {
|
sub next { |
sub next { |
my $self = shift; |
my $self = shift; |
|
|
|
# If we want to return the top-level map object, and haven't yet, |
|
# do so. |
|
if ($self->{RETURN_0} && !$self->{HAVE_RETURNED_0}) { |
|
$self->{HAVE_RETURNED_0} = 1; |
|
return $self->{NAV_MAP}->getById('0.0'); |
|
} |
|
|
if ($self->{RECURSIVE_ITERATOR_FLAG}) { |
if ($self->{RECURSIVE_ITERATOR_FLAG}) { |
# grab the next from the recursive iterator |
# grab the next from the recursive iterator |
my $next = $self->{RECURSIVE_ITERATOR}->next(); |
my $next = $self->{RECURSIVE_ITERATOR}->next(); |
Line 2688 sub countParts {
|
Line 2698 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 |