Show
Ignore:
Timestamp:
05/18/06 17:06:43 (6 years ago)
Author:
nick
Message:

Finish shifting common code out into Listing.pm

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • wiki-toolkit/trunk/lib/Wiki/Toolkit/Feed/Atom.pm

    r295 r296  
    5555 
    5656    my @changes = $self->fetch_recently_changed_nodes(%args); 
    57     my $atom_timestamp = $self->feed_timestamp(%args); 
     57    my $atom_timestamp = $self->feed_timestamp( 
     58                              $self->fetch_oldest_for_recently_changed(%args) 
     59    ); 
    5860 
    5961    return $self->generate_node_list_feed($atom_timestamp, @changes); 
     
    147149} 
    148150 
     151=item B<feed_timestamp> 
     152 
     153Generate the timestamp for the Atom, based on the oldest node (if available) 
     154 
     155=cut 
    149156sub feed_timestamp 
    150157{ 
    151   my ($self, %args) = @_; 
    152    
    153   my %criteria = (ignore_case => 1); 
    154  
    155   $args{days} ? $criteria{days}           = $args{days} 
    156               : $criteria{last_n_changes} = $args{items} || 15; 
    157  
    158   $criteria{metadata_wasnt} = { major_change => 0 }     if $args{ignore_minor_edits}; 
    159   $criteria{metadata_was}   = $args{filter_on_metadata} if $args{filter_on_metadata}; 
    160  
    161   my @changes = $self->{wiki}->list_recent_changes(%criteria); 
    162  
    163   if ($changes[0]->{last_modified}) 
    164   { 
    165     my $time = Time::Piece->strptime( $changes[0]->{last_modified}, $self->{timestamp_fmt} ); 
     158  my ($self, $oldest_node) = @_; 
     159   
     160  if ($oldest_node->{last_modified}) 
     161  { 
     162    my $time = Time::Piece->strptime( $oldest_node->{last_modified}, $self->{timestamp_fmt} ); 
    166163 
    167164    my $utc_offset = $self->{utc_offset};