diff options
author | louise <louise> | 2009-07-01 09:45:12 +0000 |
---|---|---|
committer | louise <louise> | 2009-07-01 09:45:12 +0000 |
commit | 7fc2945bacc86fb54b7c40291d2484098dda47a1 (patch) | |
tree | 2ba826e32f23aa3ab01a910bbbdb63f51fcc9a30 /web/json.cgi | |
parent | 03adc57aca74c6083eee2350112efed3bf00c4f4 (diff) |
Basic json interface for getting lists of problems
Diffstat (limited to 'web/json.cgi')
-rwxr-xr-x | web/json.cgi | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/web/json.cgi b/web/json.cgi new file mode 100755 index 000000000..91f2676a7 --- /dev/null +++ b/web/json.cgi @@ -0,0 +1,34 @@ +#!/usr/bin/perl -w -I../perllib + +# json.cgi: +# A small JSON API for FixMyStreet +# +# Copyright (c) 2009 UK Citizens Online Democracy. All rights reserved. +# Email: louise@mysociety.org. WWW: http://www.mysociety.org +# +# $Id: json.cgi,v 1.1 2009-07-01 09:45:12 louise Exp $ + +use strict; +use Error qw(:try); +use JSON; +use Standard; + +sub main { + my $q = shift; + my $problems; + my $type = $q->param('type') || ''; + my $start_date = $q->param('start_date') || ''; + my $end_date = $q->param('end_date') || ''; + print $q->header( -type => 'text/html; charset=utf-8' ); + if ($type eq 'new_problems'){ + $problems = Problems::created_in_interval($start_date, $end_date); + } elsif ($type eq 'fixed_problems') { + $problems = Problems::fixed_in_interval($start_date, $end_date); + } + my $out = JSON::to_json($problems); + print $out; +} + + +Page::do_fastcgi(\&main); + |