Changeset 1224


Ignore:
Timestamp:
Oct 18, 2008, 2:42:42 PM (13 years ago)
Author:
nick
Message:

Finish applying the JSON support from ticket #154

Location:
trunk
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Build.PL

    r1216 r1224  
    293293        'Wiki::Toolkit::Plugin::Categoriser'  => 0,
    294294        'Wiki::Toolkit::Plugin::Diff'         => 0,
     295        'Wiki::Toolkit::Plugin::JSON'         => 0,
    295296        'Wiki::Toolkit::Plugin::Locator::Grid'=> 0,
    296297        'Wiki::Toolkit::Plugin::RSS::Reader'  => 0,
  • trunk/MANIFEST

    r1178 r1224  
    1818lib/OpenGuides/Config.pm
    1919lib/OpenGuides/Feed.pm
     20lib/OpenGuides/JSON.pm
    2021lib/OpenGuides/RDF.pm
    2122lib/OpenGuides/Search.pm
  • trunk/lib/OpenGuides.pm

    r1207 r1224  
    946946            $template = "rdf_index.tt";
    947947            $conf{content_type} = "application/rdf+xml";
    948         }
    949         elsif ( $args{format} eq "plain" ) {
     948        } elsif ( $args{format} eq "json" ) {
     949            $template = "json_index.tt";
     950            $conf{content_type} = "text/javascript";
     951        } elsif ( $args{format} eq "plain" ) {
    950952            $template = "plain_index.tt";
    951953            $conf{content_type} = "text/plain";
  • trunk/wiki.cgi

    r1207 r1224  
    1717use OpenGuides::Config;
    1818use OpenGuides::RDF;
     19use OpenGuides::JSON;
    1920use OpenGuides::Utils;
    2021use OpenGuides::Template;
     
    188189    } elsif ($action eq 'about') {
    189190        $guide->display_about(format => $format);
     191    } elsif ($action eq 'metadata' && $q->param("type")) {
     192        $guide->show_metadata(
     193                            type   => $q->param("type"),
     194                            format => $format,
     195                          );
    190196    } elsif ($action eq 'display') {
    191197        if ( $format and $format eq "rdf" ) {
    192198            display_node_rdf( node => $node );
     199        } elsif ( $format and $format eq "json" ) {
     200            display_node_json( node => $node );
    193201        } elsif ( $format and $format eq 'raw' ) {
    194202            $guide->display_node(
     
    292300sub display_node_rdf {
    293301    my %args = @_;
    294     my $rdf_writer = OpenGuides::RDF->new( wiki      => $wiki,
    295                        config => $config );
     302    my $rdf_writer = OpenGuides::RDF->new( wiki => $wiki,
     303                                           config => $config );
    296304    print "Content-type: application/rdf+xml\n\n";
    297305    print $rdf_writer->emit_rdfxml( node => $args{node} );
    298306}
     307
     308sub display_node_json {
     309    my %args = @_;
     310    my $json_writer = OpenGuides::JSON->new( wiki => $wiki,
     311                                             config => $config );
     312    print "Content-type: text/javascript\n\n";
     313    print $json_writer->emit_json( node => $args{node} );
     314}
    299315
    300316sub process_template {
Note: See TracChangeset for help on using the changeset viewer.