Ignore:
Timestamp:
1999-09-08T12:27:29+12:00 (25 years ago)
Author:
sjboddie
Message:

changed sorting slightly

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/perllib/classify/SectionList.pm

    r537 r545  
    8686    my $self = shift (@_);
    8787
    88     if (defined $self->{'metaname'}) {
     88    if (defined $self->{'sortname'}) {
    8989    $self->{'list'} = {};
    9090    } else {
     
    128128    $sortmeta = "" unless defined $sortmeta;
    129129
    130     if (defined $self->{'metaname'}) {
     130    if (defined $self->{'sortname'}) {
     131    if (defined $self->{'metaname'}) {
    131132
    132     my $metavalue = $doc_obj->get_metadata_element ($section, $self->{'metaname'});
    133     if (defined $metavalue) {
     133        my $metavalue = $doc_obj->get_metadata_element ($section, $self->{'metaname'});
     134        if (defined $metavalue) {
     135        if (defined $self->{'list'}->{"$doc_OID.$section"}) {
     136            print STDERR "WARNING: SectionList::classify called multiple times for $doc_OID.$section\n";
     137        }
     138        $self->{'list'}->{"$doc_OID.$section"} = $sortmeta;
     139        }
     140    } else {
    134141        if (defined $self->{'list'}->{"$doc_OID.$section"}) {
    135142        print STDERR "WARNING: SectionList::classify called multiple times for $doc_OID.$section\n";
     
    137144        $self->{'list'}->{"$doc_OID.$section"} = $sortmeta;
    138145    }
     146
    139147    } else {
    140     push (@{$self->{'list'}}, "$doc_OID.$section");
     148    if (defined $self->{'metaname'}) {
     149
     150        my $metavalue = $doc_obj->get_metadata_element ($section, $self->{'metaname'});
     151        if (defined $metavalue) {
     152        push (@{$self->{'list'}}, "$doc_OID.$section");
     153        }
     154    } else {
     155        push (@{$self->{'list'}}, "$doc_OID.$section");
     156    }
    141157    }
    142158}
     
    145161    my $self = shift (@_);
    146162
    147     my $contains = "";
    148163    my @list = ();
    149     if (defined $self->{'metaname'}) {
     164    if (defined $self->{'sortname'}) {
    150165    if (keys %{$self->{'list'}}) {
    151166        @list = sort {$self->{'list'}->{$a}
Note: See TracChangeset for help on using the changeset viewer.