diff options
author | louise <louise> | 2009-10-20 14:37:46 +0000 |
---|---|---|
committer | louise <louise> | 2009-10-20 14:37:46 +0000 |
commit | c8e01f039f4dab8adaf57af13603e0e02dd60372 (patch) | |
tree | 5ddf404f2b5f40eef99577d91ae5fa65c4bbd439 | |
parent | 84629428b0503bae2440f757617c92590f7d7a72 (diff) |
Allowing cobrands to rewrite links in feeds
-rwxr-xr-x | web/reports.cgi | 12 | ||||
-rwxr-xr-x | web/rss.cgi | 21 |
2 files changed, 16 insertions, 17 deletions
diff --git a/web/reports.cgi b/web/reports.cgi index 6eff392c7..2cc541106 100755 --- a/web/reports.cgi +++ b/web/reports.cgi @@ -7,7 +7,7 @@ # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: matthew@mysociety.org. WWW: http://www.mysociety.org # -# $Id: reports.cgi,v 1.33 2009-08-03 10:45:28 matthew Exp $ +# $Id: reports.cgi,v 1.34 2009-10-20 14:37:46 louise Exp $ use strict; use Standard; @@ -22,12 +22,10 @@ sub main { my $q = shift; my $all = $q->param('all') || 0; my $rss = $q->param('rss') || ''; - + my $cobrand = Page::get_cobrand($q); # Look up council name, if given my $q_council = $q->param('council') || ''; - $q_council = 2260 if $q->{site} eq 'scambs'; - # Manual misspelling redirect if ($q_council =~ /^rhondda cynon taff$/i) { print $q->redirect('/reports/Rhondda+Cynon+Taf'); @@ -101,10 +99,8 @@ sub main { $type = 'area_problems'; # Problems within an area } print $q->header( -type => 'application/xml; charset=utf-8' ); - my $xsl = $q->{site} eq 'emptyhomes' ? '/xsl.eha.xsl' : '/xsl.xsl'; - my $out = mySociety::Alert::generate_rss($type, $xsl, "/$url", \@params, \%title_params); - $out =~ s/FixMyStreet/EnviroCrime/g if $q->{site} eq 'scambs'; - $out =~ s/matthew.fixmystreet/scambs.matthew.fixmystreet/g if $q->{site} eq 'scambs'; # XXX Temp + my $xsl = Cobrand::feed_xsl($cobrand); + my $out = mySociety::Alert::generate_rss($type, $xsl, "/$url", \@params, \%title_params, $cobrand); $out =~ s/matthew.fixmystreet/emptyhomes.matthew.fixmystreet/g if $q->{site} eq 'emptyhomes'; print $out; return; diff --git a/web/rss.cgi b/web/rss.cgi index 63be21b3b..24e7a576f 100755 --- a/web/rss.cgi +++ b/web/rss.cgi @@ -6,7 +6,7 @@ # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: matthew@mysociety.org. WWW: http://www.mysociety.org # -# $Id: rss.cgi,v 1.32 2009-09-24 21:32:57 matthew Exp $ +# $Id: rss.cgi,v 1.33 2009-10-20 14:37:46 louise Exp $ use strict; use Error qw(:try); @@ -20,7 +20,8 @@ use mySociety::Gaze; sub main { my $q = shift; my $type = $q->param('type') || ''; - my $xsl = $q->{site} eq 'emptyhomes' ? '/xsl.eha.xsl' : '/xsl.xsl'; + my $cobrand = Page::get_cobrand($q); + my $xsl = Cobrand::feed_xsl($cobrand); my $out; if ($type eq 'local_problems') { $out = rss_local_problems($q); @@ -28,20 +29,20 @@ sub main { } elsif ($type eq 'new_updates') { my $id = $q->param('id'); my $qs = 'report/' . $id; - $out = mySociety::Alert::generate_rss($type, $xsl, $qs, [$id]); + $out = mySociety::Alert::generate_rss($type, $xsl, $qs, [$id], undef, $cobrand); } elsif ($type eq 'new_problems' || $type eq 'new_fixed_problems') { - $out = mySociety::Alert::generate_rss($type, $xsl, ''); + $out = mySociety::Alert::generate_rss($type, $xsl, '', undef, undef, $cobrand); } elsif ($type eq 'council_problems') { my $id = $q->param('id'); my $qs = '/'.$id; - $out = mySociety::Alert::generate_rss($type, $xsl, $qs, [$id]); + $out = mySociety::Alert::generate_rss($type, $xsl, $qs, [$id], undef, $cobrand); } elsif ($type eq 'area_problems') { my $id = $q->param('id'); my $va_info = mySociety::MaPit::get_voting_area_info($id); my $qs = '/'.$id; - $out = mySociety::Alert::generate_rss($type, $xsl, $qs, [$id], { NAME => $va_info->{name} }); + $out = mySociety::Alert::generate_rss($type, $xsl, $qs, [$id], { NAME => $va_info->{name} }, $cobrand); } elsif ($type eq 'all_problems') { - $out = mySociety::Alert::generate_rss($type, $xsl, ''); + $out = mySociety::Alert::generate_rss($type, $xsl, '', undef, undef, $cobrand); } else { my $base = mySociety::Config::get('BASE_URL'); print $q->redirect($base . '/alert'); @@ -62,6 +63,7 @@ sub rss_local_problems { my $y = $q->param('y'); my $lat = $q->param('lat'); my $lon = $q->param('lon'); + my $cobrand = Page::get_cobrand($q); my ($e, $n); if ($lat) { # In the UK, it'll never be 0 :) ($e, $n) = mySociety::GeoUtil::wgs84_to_national_grid($lat, $lon, 'G'); @@ -98,7 +100,8 @@ sub rss_local_problems { $d = mySociety::Gaze::get_radius_containing_population($lat, $lon, 200000); $d = int($d*10+0.5)/10; } - my $xsl = $q->{site} eq 'emptyhomes' ? '/xsl.eha.xsl' : '/xsl.xsl'; - return mySociety::Alert::generate_rss('local_problems', $xsl, $qs, [$e, $n, $d]); + + my $xsl = Cobrand::feed_xsl($cobrand); + return mySociety::Alert::generate_rss('local_problems', $xsl, $qs, [$e, $n, $d], undef, $cobrand); } |