Changeset 374


Ignore:
Timestamp:
Jun 10, 2004, 9:55:31 PM (18 years ago)
Author:
kake
Message:

Move list_all_versions stuff into OpenGuides.pm

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/OpenGuides.pm

    r373 r374  
    294294                  );
    295295
    296     $self->process_template(
    297                              id       => "index", # KLUDGE
    298                              template => "site_index.tt",
    299                              vars     => \%tt_vars,
    300                            );
     296    print $self->process_template(
     297                                   id       => "index", # KLUDGE
     298                                   template => "site_index.tt",
     299                                   vars     => \%tt_vars,
     300                                 );
    301301}
    302302
     
    383383}
    384384
    385 
     385=item B<list_all_versions>
     386
     387  $guide->list_all_versions ( id => "Home Page" );
     388
     389=cut
     390
     391sub list_all_versions {
     392    my ($self, %args) = @_;
     393    my $node = $args{id};
     394    my %curr_data = $self->wiki->retrieve_node($node);
     395    my $curr_version = $curr_data{version};
     396    croak "This is the first version" unless $curr_version > 1;
     397    my @history;
     398    for my $version ( 1 .. $curr_version ) {
     399        my %node_data = $self->wiki->retrieve_node( name    => $node,
     400                                                    version => $version );
     401        push @history, { version  => $version,
     402                         modified => $node_data{last_modified},
     403                         username => $node_data{metadata}{username}[0],
     404                         comment  => $node_data{metadata}{comment}[0]   };
     405    }
     406    @history = reverse @history;
     407    my %tt_vars = ( node    => $node,
     408                    version => $curr_version,
     409                    history => \@history );
     410    print $self->process_template(
     411                                   id       => $node,
     412                                   template => "node_history.tt",
     413                                   tt_vars  => \%tt_vars,
     414                                 );
     415}
    386416
    387417sub process_template {
  • trunk/wiki.cgi

    r373 r374  
    9494        show_userstats( $username );
    9595    } elsif ($action eq 'list_all_versions') {
    96         list_all_versions($node);
     96        $guide->list_all_versions( id => $node );
    9797    } elsif ($action eq 'rss') {
    9898        my $feed = $q->param("feed");
     
    147147    print $q->redirect("$script_url$script_name?" . $q->escape($formatter->node_name_to_node_param($node)));
    148148    exit 0;
    149 }
    150 
    151 sub list_all_versions {
    152     my $node = shift;
    153     my %curr_data = $wiki->retrieve_node($node);
    154     my $curr_version = $curr_data{version};
    155     croak "This is the first version" unless $curr_version > 1;
    156     my @history;
    157     for my $version ( 1 .. $curr_version ) {
    158         my %node_data = $wiki->retrieve_node( name    => $node,
    159                                               version => $version );
    160         push @history, { version  => $version,
    161                          modified => $node_data{last_modified},
    162                          username => $node_data{metadata}{username}[0],
    163                          comment  => $node_data{metadata}{comment}[0]   };
    164     }
    165     @history = reverse @history;
    166     my %tt_vars = ( node    => $node,
    167                     version => $curr_version,
    168                     history => \@history );
    169     process_template("node_history.tt", $node, \%tt_vars );
    170149}
    171150
Note: See TracChangeset for help on using the changeset viewer.