aboutsummaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorlouise <louise>2009-11-09 16:43:09 +0000
committerlouise <louise>2009-11-09 16:43:09 +0000
commitd3ef8685366a3e9635c5e4e905f59c15ca811858 (patch)
treedc68959d41b7964f2c4b3ce35b5397b8c578b277 /web
parent5563601140230085dd581d3ef4f32a79e6d54db1 (diff)
Allow extra params to be passed in rss redirects
Diffstat (limited to 'web')
-rwxr-xr-xweb/alert.cgi16
1 files changed, 12 insertions, 4 deletions
diff --git a/web/alert.cgi b/web/alert.cgi
index b846ebb9e..1e1728849 100755
--- a/web/alert.cgi
+++ b/web/alert.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: alert.cgi,v 1.57 2009-11-05 13:05:37 matthew Exp $
+# $Id: alert.cgi,v 1.58 2009-11-09 16:43:09 louise Exp $
use strict;
use Standard;
@@ -309,16 +309,24 @@ sub alert_rss {
return alert_list($q, _('Please select the feed you want')) unless $feed;
my $cobrand = Page::get_cobrand($q);
my $base_url = Cobrand::base_url($cobrand);
+ my $extra_params = Cobrand::extra_params($cobrand, $q);
+ my $url;
if ($feed =~ /^area:(?:\d+:)+(.*)$/) {
(my $id = $1) =~ tr{:_}{/+};
- print $q->redirect($base_url . '/rss/area/' . $id);
+ $url = $base_url . '/rss/area/' . $id;
+ $url .= "?" . $extra_params if ($extra_params);
+ print $q->redirect($url);
return;
} elsif ($feed =~ /^(?:council|ward):(?:\d+:)+(.*)$/) {
(my $id = $1) =~ tr{:_}{/+};
- print $q->redirect($base_url . '/rss/reports/' . $id);
+ $url = $base_url . '/rss/reports/' . $id;
+ $url .= "?" . $extra_params if ($extra_params);
+ print $q->redirect($url);
return;
} elsif ($feed =~ /^local:(\d+):(\d+)$/) {
- print $q->redirect($base_url . '/rss/' . $1 . ',' . $2);
+ $url = $base_url . '/rss/' . $1 . ',' . $2;
+ $url .= "?" . $extra_params if ($extra_params);
+ print $q->redirect($url);
return;
} else {
return alert_list($q, _('Illegal feed selection'));