Changeset 818

Show
Ignore:
Timestamp:
07/06/06 18:01:05 (2 years ago)
Author:
nick
Message:

Support (+test) searching as a feed

Location:
trunk
Files:
1 added
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/MANIFEST

    r797 r818  
    6767t/22_feed_recent_changes.t 
    6868t/23_feed_node_all_versions.t 
     69t/24_feed_node_listings.t 
    6970t/25_write_geo_data.t 
    7071t/26_geo_data_search_form.t 
     
    8182t/38_search_params.t 
    8283t/39_search_form.t 
     84t/40_search_as_feed.t 
    8385t/41_deletion.t 
    8486t/51_display_node.t 
  • trunk/lib/OpenGuides/Search.pm

    r799 r818  
    150150 
    151151    my %tt_vars = ( 
     152                   format      => $args{'vars'}->{'format'}, 
    152153                   ss_version  => $VERSION, 
    153154                   ss_info_url => 'http://openguides.org/page/search_help' 
     
    694695} 
    695696 
    696 # thin wrapper around OpenGuides::Template 
     697# thin wrapper around OpenGuides::Template, or OpenGuides::Feed 
    697698sub process_template { 
    698699    my ($self, %args) = @_; 
     
    702703    $tt_vars->{not_deletable} = 1; 
    703704    return %$tt_vars if $self->{return_tt_vars}; 
    704     my $output =  OpenGuides::Template->output( 
     705 
     706    # Do we want a feed, or TT html? 
     707    my $output; 
     708    if($tt_vars->{'format'}) { 
     709        my $format = $tt_vars->{'format'}; 
     710        my @nodes = @{$tt_vars->{'results'}}; 
     711 
     712        my $feed = OpenGuides::Feed->new( 
     713                                               wiki       => $self->wiki, 
     714                                               config     => $self->config, 
     715                                               og_version => $VERSION, 
     716                                        ); 
     717        $output  = "Content-Type: ".$feed->default_content_type($format)."\n"; 
     718        $output .= $feed->build_mini_feed_for_nodes($format,@nodes); 
     719    } else { 
     720        $output =  OpenGuides::Template->output( 
    705721                                                wiki     => $self->wiki, 
    706722                                                config   => $self->config, 
     
    708724                                                vars     => $tt_vars, 
    709725                                              ); 
     726    } 
     727 
    710728    return $output if $self->{return_output}; 
    711729