Ignore:
Timestamp:
May 14, 2006, 4:27:00 PM (15 years ago)
Author:
Dominic Hargreaves
Message:

Revert changeset 769 to reintroduce Atom support.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/OpenGuides/Feed.pm

    r769 r784  
    66$VERSION = '0.01';
    77
     8use CGI::Wiki::Plugin::Atom;
    89use CGI::Wiki::Plugin::RSS::ModWiki;
    910use Time::Piece;
     
    6364    my %known_types = (
    6465                          'rss'  => 1,
     66                          'atom' => 1,
    6567                      );
    6668                     
     
    7173        return $self->rss_maker->recent_changes(%args);
    7274    }
     75    elsif ($feed_type eq 'atom') {
     76        return $self->atom_maker->recent_changes(%args);
     77    }
     78}
     79
     80sub atom_maker {
     81    my $self = shift;
     82 
     83    unless ($self->{atom_maker}) {
     84        $self->{atom_maker} = CGI::Wiki::Plugin::Atom->new(
     85            wiki                => $self->{wiki},
     86            site_name           => $self->{site_name},
     87            site_url            => $self->{config}->script_url,
     88            site_description    => $self->{site_description},
     89            make_node_url       => $self->{make_node_url},
     90            recent_changes_link => $self->{config}->script_url . '?action=rc',
     91            atom_link           => $self->{config}->script_url . '?action=rc&format=atom',
     92            software_name       => 'OpenGuides',
     93            software_homepage   => 'http://openguides.org/',
     94            software_version    => $self->{og_version},
     95        );
     96    }
     97   
     98    $self->{atom_maker};
    7399}
    74100
     
    107133=head1 DESCRIPTION
    108134
    109 Produces RSS 1.0 feeds for OpenGuides.  Distributed and
     135Produces RSS 1.0 and Atom 1.0 feeds for OpenGuides.  Distributed and
    110136installed as part of the OpenGuides project, not intended for independent
    111137installation.  This documentation is probably only useful to OpenGuides
     
    151177invoked this module with.
    152178
     179=item B<atom_maker>
     180
     181Returns a raw L<CGI::Wiki::Plugin::Atom> object created with the values you
     182invoked this module with.
     183
    153184=item B<make_feed>
    154185
     
    160191    print $rdf_writer->make_feed( %args );
    161192
     193    # All the changes made by bob in the past week, ignoring minor edits, in Atom.
     194    $args{days}               = 7;
     195    $args{ignore_minor_edits  = 1;
     196    $args{filter_on_metadata} => { username => "bob" };
     197
     198    print "Content-Type: application/atom+xml\n";
     199    print "Last-Modified: " . $feed->feed_timestamp( %args ) . "\n\n";
     200    print $feed->make_feed( %args );
     201
    162202=item B<feed_timestamp>
    163203
     
    176216=over 4
    177217
    178 =item * L<CGI::Wiki> and L<CGI::Wiki::Plugin::RSS::ModWiki>
     218=item * L<CGI::Wiki>, L<CGI::Wiki::Plugin::RSS::ModWiki> and L<CGI::Wiki::Plugin::Atom>
    179219
    180220=item * L<http://openguides.org/>
Note: See TracChangeset for help on using the changeset viewer.