aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/Page.pm
diff options
context:
space:
mode:
authormatthew <matthew>2009-08-12 11:55:12 +0000
committermatthew <matthew>2009-08-12 11:55:12 +0000
commit180a4d2c74b92efefcbcd0a4982f48c64edeaadd (patch)
treec1c3d2b1b1adba3c4a7ea96fb7a41e3750f32e8f /perllib/Page.pm
parentac736a3f9886f22eb43b7e30ae632bd05c6903f3 (diff)
Put lang in email confirmation URLs, so we can be sure we stay the same.
Diffstat (limited to 'perllib/Page.pm')
-rw-r--r--perllib/Page.pm25
1 files changed, 18 insertions, 7 deletions
diff --git a/perllib/Page.pm b/perllib/Page.pm
index 8ccfc762c..efb126d80 100644
--- a/perllib/Page.pm
+++ b/perllib/Page.pm
@@ -6,7 +6,7 @@
# Copyright (c) 2006 UK Citizens Online Democracy. All rights reserved.
# Email: matthew@mysociety.org; WWW: http://www.mysociety.org/
#
-# $Id: Page.pm,v 1.157 2009-08-12 11:14:21 louise Exp $
+# $Id: Page.pm,v 1.158 2009-08-12 11:55:12 matthew Exp $
#
package Page;
@@ -122,6 +122,22 @@ sub microsite {
Memcached::set_namespace(mySociety::Config::get('BCI_DB_NAME') . ":");
}
+sub base_url_with_lang {
+ my $reverse = shift;
+ my $base = mySociety::Config::get('BASE_URL');
+ my $lang = $mySociety::Locale::lang;
+ if ($reverse && $lang eq 'en-gb') {
+ $base =~ s{http://}{$&cy.};
+ } elsif ($reverse) {
+ $base =~ s{http://}{$&en.};
+ } elsif ($lang eq 'cy') {
+ $base =~ s{http://}{$&cy.};
+ } else {
+ $base =~ s{http://}{$&en.};
+ }
+ return $base;
+}
+
=item header Q [PARAM VALUE ...]
Return HTML for the top of the page, given PARAMs (TITLE is required).
@@ -156,13 +172,8 @@ sub header ($%) {
close FP;
my %vars;
if ($q->{site} eq 'emptyhomes') {
- my $lang_url = mySociety::Config::get('BASE_URL');
+ my $lang_url = base_url_with_lang(1);
$lang_url .= $ENV{REQUEST_URI} if $ENV{REQUEST_URI};
- if ($lang eq 'en-gb') {
- $lang_url =~ s{http://}{$&cy.};
- } else {
- $lang_url =~ s{http://}{$&en.};
- }
%vars = (
'report' => _('Report a problem'),
'reports' => _('All reports'),