aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStruan Donald <struan@exo.org.uk>2012-08-22 10:57:10 +0100
committerStruan Donald <struan@exo.org.uk>2012-08-22 10:57:10 +0100
commit2e0a4e8ec45579e4e5c9cf8aa123d5ab215b9703 (patch)
treec13e3c59b686e01460dc7960547f7e9c53c288bd
parentb99c5ff97b29a27eeba52ed24385ac30388e875c (diff)
parent88a7d38dffa3dabdf0f85573b254cea9c8ab232b (diff)
Merge remote-tracking branch 'origin/master' into fmb-read-only
Conflicts: .gitignore bin/make_css conf/general.yml-example perllib/FixMyStreet/App/Controller/Council.pm perllib/FixMyStreet/App/Controller/Report/New.pm perllib/FixMyStreet/Cobrand/Default.pm templates/web/default/around/around_index.html templates/web/default/index.html templates/web/emptyhomes/index.html templates/web/fixmystreet/around/around_index.html templates/web/fixmystreet/index.html web/fixmystreet_app_cgi.cgi web/fixmystreet_app_fastcgi.cgi
-rw-r--r--.gitignore8
-rw-r--r--README.md28
-rw-r--r--README.pod76
-rw-r--r--bin/generate_council_location4
-rwxr-xr-xbin/install_perl_modules4
-rwxr-xr-xbin/make_css3
-rwxr-xr-xbin/send-comments12
-rwxr-xr-xbin/test-mailin38
-rwxr-xr-xbin/test-run583
-rw-r--r--blog/conf/general-example27
-rw-r--r--blog/conf/httpd.conf18
-rw-r--r--blog/conf/wp-config.php46
-rw-r--r--blog/web/.htaccess11
-rwxr-xr-xblog/web/fcgi/php-basic3
-rw-r--r--blog/web/index.php6
-rw-r--r--carton.lock3910
-rw-r--r--conf/crontab.ugly6
-rw-r--r--conf/general.yml-example130
-rw-r--r--conf/packages.debian-squeeze25
-rw-r--r--conf/packages.debian-squeeze+testing25
-rw-r--r--locale/.gitignore1
-rw-r--r--locale/FixMyStreet.po860
-rw-r--r--locale/cy_GB.UTF-8/LC_MESSAGES/.gitignore2
-rw-r--r--locale/cy_GB.UTF-8/LC_MESSAGES/EmptyHomes.po1411
-rw-r--r--locale/de_DE.UTF-8/LC_MESSAGES/FixMyStreet.mobin0 -> 13250 bytes
-rw-r--r--locale/de_DE.UTF-8/LC_MESSAGES/FixMyStreet.po3899
-rw-r--r--locale/en_GB.UTF-8/LC_MESSAGES/.gitignore4
-rw-r--r--locale/nb_NO.UTF-8/LC_MESSAGES/.gitignore1
-rw-r--r--locale/nb_NO.UTF-8/LC_MESSAGES/FixMyStreet.po1619
-rw-r--r--locale/nn_NO.UTF-8/LC_MESSAGES/.gitignore1
-rw-r--r--locale/nn_NO.UTF-8/LC_MESSAGES/FixMyStreet.po1417
-rw-r--r--notes/INSTALL.pod359
-rw-r--r--notes/cobranding.txt5
-rw-r--r--notes/code_structure.txt33
-rw-r--r--notes/customisation.pod205
-rw-r--r--notes/glossary.txt5
-rw-r--r--notes/location_related_flow.txt23
-rw-r--r--notes/no-update-server6
-rw-r--r--perl-external/.gitignore1
-rwxr-xr-xperl-external/bin/cpanm5748
-rwxr-xr-xperl-external/bin/module-manage.pl265
-rw-r--r--perl-external/files.txt261
-rw-r--r--perl-external/lib/perl5/local/lib.pm1030
-rw-r--r--perl-external/minicpan/.gitignore3
-rw-r--r--perl-external/minicpan/modules/02packages.details.txt.gzbin20439 -> 0 bytes
-rw-r--r--perl-external/minicpan/modules/03modlist.data.gzbin222 -> 0 bytes
-rw-r--r--perl-external/modules.txt62
-rw-r--r--perllib/FixMyStreet/App.pm24
-rw-r--r--perllib/FixMyStreet/App/Controller/Admin.pm26
-rw-r--r--perllib/FixMyStreet/App/Controller/Alert.pm2
-rw-r--r--perllib/FixMyStreet/App/Controller/Contact.pm2
-rw-r--r--perllib/FixMyStreet/App/Controller/Council.pm23
-rw-r--r--perllib/FixMyStreet/App/Controller/Location.pm2
-rw-r--r--perllib/FixMyStreet/App/Controller/Open311.pm14
-rwxr-xr-xperllib/FixMyStreet/App/Controller/Questionnaire.pm28
-rw-r--r--perllib/FixMyStreet/App/Controller/Report.pm4
-rw-r--r--perllib/FixMyStreet/App/Controller/Report/New.pm32
-rw-r--r--perllib/FixMyStreet/App/Controller/Report/Update.pm4
-rw-r--r--perllib/FixMyStreet/App/Controller/Reports.pm27
-rwxr-xr-xperllib/FixMyStreet/App/Controller/Rss.pm18
-rw-r--r--perllib/FixMyStreet/App/Controller/Tokens.pm5
-rw-r--r--perllib/FixMyStreet/App/View/Web.pm4
-rw-r--r--perllib/FixMyStreet/Cobrand.pm28
-rw-r--r--perllib/FixMyStreet/Cobrand/Barnet.pm77
-rw-r--r--perllib/FixMyStreet/Cobrand/Base.pm14
-rw-r--r--perllib/FixMyStreet/Cobrand/Bromley.pm42
-rw-r--r--perllib/FixMyStreet/Cobrand/Default.pm513
-rw-r--r--perllib/FixMyStreet/Cobrand/EmptyHomes.pm77
-rw-r--r--perllib/FixMyStreet/Cobrand/FiksGataMi.pm37
-rw-r--r--perllib/FixMyStreet/Cobrand/FixMyStreet.pm73
-rw-r--r--perllib/FixMyStreet/Cobrand/LichfieldDC.pm17
-rw-r--r--perllib/FixMyStreet/Cobrand/Reading.pm2
-rw-r--r--perllib/FixMyStreet/Cobrand/Southampton.pm2
-rw-r--r--perllib/FixMyStreet/Cobrand/UK.pm339
-rw-r--r--perllib/FixMyStreet/Cobrand/UKCouncils.pm29
-rw-r--r--perllib/FixMyStreet/DB/Result/Problem.pm8
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/AlertType.pm18
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/Problem.pm51
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/Questionnaire.pm2
-rw-r--r--perllib/FixMyStreet/Geocode.pm14
-rw-r--r--perllib/FixMyStreet/Geocode/Bing.pm14
-rw-r--r--perllib/FixMyStreet/Geocode/Google.pm15
-rw-r--r--perllib/FixMyStreet/Geocode/OSM.pm69
-rw-r--r--perllib/FixMyStreet/Map.pm4
-rw-r--r--perllib/FixMyStreet/Map/FMS.pm14
-rw-r--r--perllib/FixMyStreet/Map/OSM.pm16
-rw-r--r--perllib/FixMyStreet/Map/OSM/MapQuest.pm3
-rw-r--r--perllib/FixMyStreet/SendReport.pm6
-rw-r--r--perllib/FixMyStreet/SendReport/Barnet.pm16
-rw-r--r--perllib/FixMyStreet/SendReport/EastHants.pm2
-rw-r--r--perllib/FixMyStreet/SendReport/Email.pm41
-rw-r--r--perllib/FixMyStreet/SendReport/EmptyHomes.pm16
-rw-r--r--perllib/FixMyStreet/SendReport/London.pm2
-rw-r--r--perllib/FixMyStreet/SendReport/NI.pm40
-rw-r--r--perllib/FixMyStreet/SendReport/Open311.pm25
-rw-r--r--perllib/FixMyStreet/TestMech.pm26
-rw-r--r--perllib/Open311.pm11
-rw-r--r--t/app/controller/alert_new.t2
-rw-r--r--t/app/controller/around.t2
-rw-r--r--t/app/controller/auth.t4
-rw-r--r--t/app/controller/contact.t37
-rw-r--r--t/app/controller/dashboard.t6
-rw-r--r--t/app/controller/questionnaire.t23
-rw-r--r--t/app/controller/report_display.t24
-rw-r--r--t/app/controller/report_new.t105
-rw-r--r--t/app/controller/report_new_open311.t8
-rw-r--r--t/app/controller/report_updates.t4
-rw-r--r--t/app/controller/rss.t11
-rw-r--r--t/app/model/alert_type.t69
-rw-r--r--t/app/model/problem.t177
-rw-r--r--t/app/sendreport/email.t77
-rw-r--r--t/cobrand/closest.t28
-rw-r--r--t/open311.t43
-rw-r--r--templates/email/barnet/site-name.txt1
-rw-r--r--templates/email/bromley/site-name.txt1
-rw-r--r--templates/email/default/alert-confirm.txt4
-rw-r--r--templates/email/default/problem-confirm.txt4
-rw-r--r--templates/email/default/site-name.txt1
-rw-r--r--templates/email/default/update-confirm.txt2
-rw-r--r--templates/email/lichfielddc/site-name.txt1
-rw-r--r--templates/email/reading/site-name.txt1
-rw-r--r--templates/email/southampton/site-name.txt1
-rw-r--r--templates/web/barnet/header.html2
-rw-r--r--templates/web/barnet/index.html100
-rwxr-xr-xtemplates/web/bromley/faq/faq-en-gb.html9
-rw-r--r--templates/web/bromley/header.html19
-rw-r--r--templates/web/bromley/report/display.html7
-rw-r--r--templates/web/bromley/report/new/councils_extra_text.html1
-rw-r--r--templates/web/bromley/report/new/fill_in_details_form.html5
-rw-r--r--templates/web/default/alert/_list.html100
-rw-r--r--templates/web/default/alert/choose.html2
-rw-r--r--templates/web/default/alert/index.html41
-rw-r--r--templates/web/default/alert/list.html106
-rw-r--r--templates/web/default/around/around_index.html17
-rw-r--r--templates/web/default/around/around_map_list_items.html2
-rwxr-xr-xtemplates/web/default/around/display_location.html2
-rw-r--r--templates/web/default/around/on_map_list_items.html2
-rw-r--r--templates/web/default/around/postcode_form.html13
-rw-r--r--templates/web/default/common_header_tags.html2
-rw-r--r--templates/web/default/dashboard/index.html63
-rwxr-xr-xtemplates/web/default/faq/faq-en-gb.html5
-rw-r--r--templates/web/default/index.html11
-rw-r--r--templates/web/default/my/my.html6
-rw-r--r--templates/web/default/questionnaire/completed-open.html5
-rw-r--r--templates/web/default/questionnaire/completed.html7
-rw-r--r--templates/web/default/report/banner.html22
-rw-r--r--templates/web/default/report/display.html7
-rw-r--r--templates/web/default/report/new/category.html6
-rw-r--r--templates/web/default/report/new/councils_extra_text.html1
-rw-r--r--templates/web/default/report/new/councils_text_all.html9
-rw-r--r--templates/web/default/report/updates.html1
-rwxr-xr-xtemplates/web/default/reports/_list-entry.html6
-rw-r--r--templates/web/default/reports/_rss.html2
-rwxr-xr-xtemplates/web/default/reports/_ward-list.html9
-rwxr-xr-xtemplates/web/default/reports/council.html130
-rw-r--r--templates/web/default/tokens/confirm_problem.html7
-rw-r--r--templates/web/emptyhomes/header.html2
-rw-r--r--templates/web/emptyhomes/index.html2
-rw-r--r--templates/web/emptyhomes/report/display.html6
-rw-r--r--templates/web/fiksgatami/header.html2
-rw-r--r--templates/web/fiksgatami/questionnaire/completed-open.html6
-rwxr-xr-xtemplates/web/fiksgatami/reports/index.html1
-rw-r--r--templates/web/fixmystreet/alert/_list.html4
-rw-r--r--templates/web/fixmystreet/alert/choose.html14
-rw-r--r--templates/web/fixmystreet/alert/index.html53
-rw-r--r--templates/web/fixmystreet/alert/list.html39
-rw-r--r--templates/web/fixmystreet/around/around_index.html24
-rw-r--r--templates/web/fixmystreet/around/around_map_list_items.html22
-rw-r--r--templates/web/fixmystreet/around/on_map_list_items.html19
-rw-r--r--templates/web/fixmystreet/around/postcode_form.html37
-rwxr-xr-xtemplates/web/fixmystreet/faq/faq-en-gb.html5
-rw-r--r--templates/web/fixmystreet/front/news.html2
-rw-r--r--templates/web/fixmystreet/header.html8
-rw-r--r--templates/web/fixmystreet/index.html25
-rw-r--r--templates/web/fixmystreet/my/my.html22
-rw-r--r--templates/web/fixmystreet/questionnaire/completed-open.html6
-rw-r--r--templates/web/fixmystreet/questionnaire/index.html7
-rw-r--r--templates/web/fixmystreet/report/_item.html26
-rw-r--r--templates/web/fixmystreet/report/banner.html21
-rw-r--r--templates/web/fixmystreet/report/display.html8
-rwxr-xr-xtemplates/web/fixmystreet/reports/_list-entry.html1
-rw-r--r--templates/web/fixmystreet/reports/_rss.html19
-rwxr-xr-xtemplates/web/fixmystreet/reports/_ward-list.html12
-rw-r--r--templates/web/lichfielddc/around/extra_text.html5
-rw-r--r--templates/web/lichfielddc/front/news.html3
-rw-r--r--templates/web/lichfielddc/header.html4
-rw-r--r--templates/web/reading/header.html2
-rw-r--r--templates/web/southampton/header.html2
-rwxr-xr-xtemplates/web/zurich/faq/faq-de.html192
-rw-r--r--templates/web/zurich/header.html60
-rw-r--r--web/cobrands/default/_colours.scss9
-rw-r--r--web/cobrands/default/base.scss7
-rw-r--r--web/cobrands/default/config.rb25
-rw-r--r--web/cobrands/default/layout.scss60
-rw-r--r--web/cobrands/fixmystreet/_base.scss48
-rw-r--r--web/cobrands/fixmystreet/dashboard.scss97
-rw-r--r--web/cobrands/lichfielddc/css/layout.css5
-rw-r--r--web/cobrands/zurich/_colours.scss9
-rw-r--r--web/cobrands/zurich/base.scss7
-rw-r--r--web/cobrands/zurich/config.rb25
-rw-r--r--web/cobrands/zurich/layout.scss3
-rwxr-xr-xweb/fixmystreet_app_cgi.cgi7
-rwxr-xr-xweb/fixmystreet_app_fastcgi.cgi6
-rw-r--r--web/js/map-bing-ol.js33
-rw-r--r--web/js/southampton.js6
-rw-r--r--web/xsl.eha.xsl95
-rw-r--r--web/xsl.xsl87
207 files changed, 12849 insertions, 13766 deletions
diff --git a/.gitignore b/.gitignore
index e0f87998d..8034d46d2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,16 +14,22 @@ inc/
_Inline/
lib
tags
+
+*.mo
+FixMyStreet-EmptyHomes.po
+
/web/cobrands/fiksgatami/css.css
/web/cobrands/southampton/css.css
/web/cobrands/reading/css/css.css
/web/css/core.css
/web/css/main.css
+/web/cobrands/default/*.css
/web/cobrands/fixmystreet/*.css
/web/cobrands/bromley/*.css
/web/cobrands/fixmybarangay/*.css
-/web/photo
/web/cobrands/barnet/*.css
+/web/cobrands/zurich/*.css
+/web/photo
/local
/web/cobrands/fixmystreet/compass_app_log.txt
diff --git a/README.md b/README.md
new file mode 100644
index 000000000..32d3c4740
--- /dev/null
+++ b/README.md
@@ -0,0 +1,28 @@
+# Welcome to FixMyStreet Platform
+
+FixMyStreet Platform is an open source project to help people run websites for
+reporting common street problems such as potholes and broken street lights to
+the appropriate authority.
+
+Users locate problems using a combination of address and sticking a pin
+in a map without worrying about the correct authority to report it to.
+FixMyStreet then works out the correct authority using the problem location and
+type and sends a report, by email or using a web service such as Open311.
+Reported problems are visible to everyone so they can see if something has
+already been reported and leave updates. Users can also subscribe to email or
+RSS alerts of problems in their area.
+
+It was created in 2007 by [mySociety](http://www.mysociety.org/) for reporting
+problems to UK councils and has been copied around the world.
+
+## Installation
+
+We're working hard to make FixMyStreet Platform easy to install and re-use in
+other countries - please see our site at <http://code.fixmystreet.com/> for
+help and documentation in installing FixMyStreet Platform.
+
+## Examples
+
+* <http://www.fixmystreet.com/>
+* <http://www.fiksgatami.no/>
+
diff --git a/README.pod b/README.pod
deleted file mode 100644
index 6b4494f38..000000000
--- a/README.pod
+++ /dev/null
@@ -1,76 +0,0 @@
-=head1 Welcome to FixMyStreet
-
-FixMyStreet is an open source project to develop a website for reporting
-problems such as potholes and broken street lights to the appropriate authority.
-
-Users locate problems using a combination of address and sticking a pin
-in a map without worrying about the correct authority to report it to.
-FixMyStreet then works out the correct authority to report it to using
-the problem location and type and sends a report.
-
-It was created in 2007 by L<mySociety|http://www.mysociety.org> for reporting problems to UK councils and
-has been copied around the world.
-
-We're working hard to make it easy to install and re-use in other
-countries and welcome questions about how it works on our mailing list:
-L<https://secure.mysociety.org/admin/lists/mailman/listinfo/fixmystreet>.
-
-We've also got a new site and blog which over time will become a useful
-resource for people interested in installing or developing FixMyStreet
-at L<http://code.fixmystreet.com/>.
-
-FixMyStreet is written in Perl and uses the Catalyst web framework.
-
-=head1 EXAMPLES
-
-L<http://www.fixmystreet.com>
-
-L<http://www.fiksgatami.no/>
-
-=head1 QUICKSTART
-
-If you're reasonably sure what you are doing then you can follow the
-quickstart instructions. Otherwise there are more detailed instructions
-in C<notes/INSTALL.pod>
-
-=over
-
-=item *
-
-Fetch the latest version from L<Github|https://github.com/mysociety/fixmystreet/>
-
-=item *
-
-Create a new PostGIS enabled database
-
-=item *
-
-Create the database using C<db/schema.sql> and the C<db/alert_types.sql>
-
-=item *
-
-Run C<./bin/install_perl_modules> to install the required Perl modules.
-
-=item *
-
-Create a new Apache vhost based on C<conf/httpd-conf.example>
-
-=item *
-
-Copy C<conf/general.yml-example> to C<conf/general.yml> and update
-the defaults accordingly.
-
-=item *
-
-Generate the CSS by running C<bin/make_css>
-
-=item *
-
-Restart the webserver
-
-=item *
-
-Edit the crontab from C<conf/crontab> to replace the placeholders and
-install it. See C<notes/INSTALL.pod> for more details on the placeholders.
-
-=back
diff --git a/bin/generate_council_location b/bin/generate_council_location
index 36bf14d04..c7aea8074 100644
--- a/bin/generate_council_location
+++ b/bin/generate_council_location
@@ -1,3 +1,5 @@
+#!/usr/bin/perl
+
use strict;
use JSON;
use LWP::Simple;
@@ -22,5 +24,5 @@ my $spn_lon = $max_lon - $min_lon;
print <<"EOT";
centre => '$c_lat,$c_lon',
span => '$spn_lat,$spn_lon',
- bounds => [ '$min_lat,$min_lon','$max_lat,$max_lon' ],
+ bounds => [ $min_lat, $min_lon, $max_lat, $max_lon ],
EOT
diff --git a/bin/install_perl_modules b/bin/install_perl_modules
index 0563baf96..2df4ffbf8 100755
--- a/bin/install_perl_modules
+++ b/bin/install_perl_modules
@@ -2,7 +2,7 @@
DIR="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd | sed -e 's/\/bin$//' )"
-$DIR/bin/cpanm -l local Carton
+$DIR/bin/cpanm -l $DIR/local Carton
export PATH=$DIR/local/bin:$PATH
export PERL5LIB=$DIR/local/lib/perl5
@@ -17,7 +17,7 @@ if [ $HAVE_IM -ne 0 ]
then
read -p "Image::Magick is not installed. Do you want to attempt to install it?" yn
case $yn in
- [Yy]* ) ./local/bin/carton install Image::Magick;;
+ [Yy]* ) $DIR/local/bin/carton install Image::Magick;;
* ) echo 'You will need to install it for FixMyStreet to work';;
esac
fi
diff --git a/bin/make_css b/bin/make_css
index 9f330e7ee..175440bb4 100755
--- a/bin/make_css
+++ b/bin/make_css
@@ -14,8 +14,7 @@
DIRECTORY=$(cd `dirname $0`/../web && pwd)
# FixMyStreet uses compass
-
-NEWSTYLE="fixmystreet bromley fixmybarangay barnet"
+NEWSTYLE="fixmystreet bromley fixmybarangay barnet zurich default"
NEWSTYLE_REGEX=${NEWSTYLE// /\\|}
for site in $NEWSTYLE; do
compass compile --output-style compressed $DIRECTORY/cobrands/$site
diff --git a/bin/send-comments b/bin/send-comments
index b1c1463ce..b054ebd8f 100755
--- a/bin/send-comments
+++ b/bin/send-comments
@@ -69,6 +69,18 @@ while ( my $council = $councils->next ) {
next if bromley_retry_timeout( $comment );
}
+ if ( $council->area_id == 2482 ) {
+ my $extra = $comment->extra;
+ if ( !$extra ) {
+ $extra = {};
+ }
+
+ unless ( $extra->{title} ) {
+ $extra->{title} = $comment->user->title;
+ $comment->extra( $extra );
+ }
+ }
+
my $id = $o->post_service_request_update( $comment );
if ( $id ) {
diff --git a/bin/test-mailin b/bin/test-mailin
deleted file mode 100755
index 3f101b438..000000000
--- a/bin/test-mailin
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/perl -w -I../commonlib/perllib
-#
-# test-mailin:
-# Receives incoming mail for the test harness, and stores it in the database
-# for the test harness to access.
-#
-# Hook this up with something like this in /etc/aliases...
-# pbharness: "| /home/francis/devel/mysociety/pb/bin/test-mailin"
-# ... or some other appropriate way.
-#
-# Copyright (c) 2005 UK Citizens Online Democracy. All rights reserved.
-# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
-#
-
-# Horrible boilerplate to set up appropriate library paths.
-use FindBin;
-use lib "$FindBin::Bin/../perllib";
-use lib "$FindBin::Bin/../commonlib/perllib";
-chdir $FindBin::Bin;
-
-use File::Slurp;
-
-use mySociety::SystemMisc qw(print_log);
-mySociety::SystemMisc::log_to_stderr(0);
-
-use mySociety::Config;
-mySociety::Config::set_file('../conf/general');
-use mySociety::WebTestHarness;
-
-print_log('notice', "started");
-our $wth = new mySociety::WebTestHarness();
-$wth->database_connect('FMS_');
-print_log('notice', "reading mail from STDIN");
-my $slurped = read_file(\*STDIN);
-print_log('notice', "calling email_incoming");
-$wth->email_incoming($slurped);
-print_log('notice', "done");
-
diff --git a/bin/test-run b/bin/test-run
deleted file mode 100755
index 29e975ce4..000000000
--- a/bin/test-run
+++ /dev/null
@@ -1,583 +0,0 @@
-#!/usr/bin/perl -w -I../commonlib/perllib
-#
-# test-run:
-# Test harness for FixMyStreet. Makes sure we haven't broken the code.
-#
-# Requires:
-# * ../conf/general file set up for FixMyStreet, and matching the below requirements
-# * apache configured to serve ../web on BASE_URL
-# * a database with name ending "_testharness"; this script will drop and remake the
-# database, so make sure it is never used for anything important
-# * email addresses (email_n below) configured to pipe to ./test-mailin with fast
-# local delivery
-#
-# Copyright (c) 2009 UK Citizens Online Democracy. All rights reserved.
-# Email: matthew@mysociety.org; WWW: http://www.mysociety.org/
-
-# TODO
-# Admin
-# Whatever I've missed!
-
-my $rcsid = ''; $rcsid .= '$Id: test-run,v 1.28 2009-11-12 14:37:25 louise Exp $';
-
-use strict;
-require 5.8.0;
-
-use FindBin;
-use mySociety::Config;
-mySociety::Config::set_file('../conf/general');
-use mySociety::DBHandle qw(dbh);
-use mySociety::WebTestHarness;
-use Test::Harness;
-use File::Find;
-use lib "$FindBin::Bin/../perllib";
-use Cobrand;
-use FixMyStreet::Geocode;
-use Utils;
-
-my @actions = ('report', 'update', 'questionnaire', 'alert', 'static', 'cobrand', 'unit', 'eha_alert', 'import', 'rss');
-my %actions_desc = (
- 'report' => 'report a problem',
- 'update' => 'leave an update on a report',
- 'questionnaire' => 'receive and answer a questionnaire or two',
- 'alert' => 'sign up for a local alert, and an update alert, check they arrive',
- 'eha_alert' => 'sign up for an eha alert, check cobranding and localization',
- 'static' => 'check static pages',
- 'cobrand' => 'check cobranding',
- 'unit' => 'run the unit tests',
- 'import' => 'check the ability to programmatically import a problem',
- 'rss' => 'check RSS feeds',
-);
-
-date_print("Set up web test harness...");
-
-my ($wth, $action, $verbose, $pause, $multispawn) = mySociety::WebTestHarness::setup({
- actions => \@actions,
- actions_desc => \%actions_desc,
- dbname => 'FMS',
- 'sql_extra' => ['../db/alert_types.sql'],
-});
-$multispawn = 1;
-
-# Set up options
-our $base_url;
-sub set_base_url($) {
- my $cobrand = shift;
- $base_url = mySociety::Config::get('BASE_URL');
- $base_url =~ m#^http://(.+)/?$#;
- $base_url = $1;
- $base_url = "http://" . $cobrand . $base_url;
-}
-set_base_url('');
-die "domain conf not consistent" if (mySociety::Config::get('BASE_URL') ne $base_url);
-
-my $email_domain = mySociety::Config::get('EMAIL_DOMAIN');
-my $contact_email = mySociety::Config::get('CONTACT_EMAIL');
-my $test_email_prefix = mySociety::Config::get('TEST_EMAIL_PREFIX');
-sub email_n { my $n = shift; return "$test_email_prefix+$n\@$email_domain"; }
-sub name_n { my $n = shift; return ($n % 100 == 0) ? "Rachel Reporter $n" : "Peter Person $n"; }
-
-#############################################################################
-# Main code
-
-# Setup error log watching
-$wth->log_watcher_self_test($base_url . "/test.cgi?error=1", "Illegal division by zero");
-sleep(1); # XXX Without this, the above/below suck in one error line but not the other?!
-my $errors = $wth->_log_watcher_get_errors(); # As Perl has two error lines.
-
-# Run the reports
-foreach (@actions) {
- next unless $action->{$_};
- date_print($actions_desc{$_}) if $actions_desc{$_};
- do_report() if $_ eq 'report';
- do_update() if $_ eq 'update';
- do_questionnaire() if $_ eq 'questionnaire';
- do_alert() if $_ eq 'alert';
- do_static() if $_ eq 'static';
- do_cobrand() if $_ eq 'cobrand';
- do_unit() if $_ eq 'unit';
- do_eha_alert() if $_ eq 'eha_alert';
- do_import() if $_ eq 'import';
- do_rss() if $_ eq 'rss';
-}
-
-# Check for any unhandled mails or errors
-call_send_emails();
-$wth->email_check_none_left();
-$wth->log_watcher_check();
-if ($action->{'all'}) {
- print "Everything completed successfully\n";
-} else {
- print "Tests completed successfully\n";
-}
-
-#############################################################################
-# Functions to make reports, and so on
-
-# Print log line with date
-sub date_print {
- print scalar localtime() . ' ' . shift() . "\n";
-}
-
-# Print what we're doing
-sub comment {
- my $comment = shift;
- date_print(" $comment") if $verbose > 0;
-}
-sub verbose {
- my $comment = shift;
- date_print(" $comment") if $verbose > 1;
-}
-
-# display_url URL
-# Print the URL if in verbose mode. If --pause set, also print it and
-# wait for RETURN to be pressed.
-sub display_url {
- my ($circumstance, $url) = @_;
- $wth->email_check_url($url);
- date_print("$circumstance: " . $url . "\n") if $verbose > 1 || $pause;
- if ($pause) {
- print "Press RETURN to continue";
- readline(*STDIN);
- }
-}
-
-# Change the date that all parts of FixMyStreet think is today. Call with no
-# parameters to reset it to the actual today.
-sub set_fms_date {
- my $new_date = shift;
- if (defined($new_date)) {
- dbh()->do('delete from debugdate');
- dbh()->do('insert into debugdate (override_today) values (?)', {}, $new_date);
- } else {
- dbh()->do('delete from debugdate');
- }
- dbh()->commit();
-}
-
-# Database functions
-sub do_something_databasey {
- my ($param) = @_;
- dbh()->do('update something set foo = 1 where bar = ?', {}, $param);
- dbh()->commit();
-}
-
-sub create_fake_contact {
- my ($area_id) = @_;
- dbh()->do("INSERT INTO contacts (area_id, email, editor, whenedited, note, confirmed, deleted)
- VALUES (?, ?, 'fake-import', ms_current_timestamp(), 'Fake import', 't', 'f')",
- {}, $area_id, $contact_email);
-}
-
-# Call all the email sending scripts
-sub call_send_emails {
- $wth->multi_spawn($multispawn, "./send-reports " . ($verbose > 1 ? qw(--verbose) : ''), $verbose);
- $wth->multi_spawn($multispawn, "./send-alerts", $verbose);
- $wth->multi_spawn($multispawn, "./send-questionnaires " . ($verbose > 1 ? qw(--verbose) : ''), $verbose);
-}
-
-# Load the EHA alert types
-sub load_eha_schema {
- $wth->database_drop_reload('../db/schema.sql');
- $wth->database_load_schema('../db/alert_types_eha.sql');
- $wth->database_cycle_sequences(200);
-}
-
-# Load the basic alert types
-sub load_basic_schema {
- $wth->database_drop_reload('../db/schema.sql');
- $wth->database_load_schema('../db/alert_types.sql');
- $wth->database_cycle_sequences(200);
-}
-
-sub english_fms_messages {
- my @messages = ('Problems in this area',
- 'Reporting a problem',
- 'Now check your email',
- 'Confirm your problem on FixMyStreet',
- 'to confirm the problem',
- 'successfully confirmed your problem');
- return \@messages;
-}
-
-sub submit_postcode{
- my $cobrand = shift;
- my $postcode = shift;
- my $next_text = shift;
- set_base_url($cobrand);
- $wth->browser_get($base_url);
- $wth->browser_submit_form(form_name => 'postcodeForm',
- fields => { pc => $postcode},
- );
- $wth->browser_check_contents($next_text);
-}
-
-sub submit_report {
- my ($postcode, $x, $y, $easting, $northing, $user_num, $council, $texts, $cobrand ) = @_;
- my @messages = @{$texts};
-
- # convert easting, northing to lat lon
- my ( $latitude, $longitude ) =
- Utils::convert_en_to_latlon( $easting, $northing );
-
- submit_postcode($cobrand, $postcode, $messages[0]);
- {
- # Writing values to hidden fields, so switching
- # off errors in a local context
-
- local $^W = 0;
-
- # WWW::Mechanize doesn't like the added tile coords, so
- # just post them
- $wth->browser_post($base_url,
- { pc => $postcode,
- x => $x,
- y => $y,
- 'tile_' . $x . '.' . $y . '.x' => 221,
- 'tile_' . $x . '.' . $y . '.y' => 158,
- submit_map => 1});
- $wth->browser_check_contents('<h1>' . $messages[1] . '</h1>');
- my $fields = { submit_map => 1,
- x => $x,
- y => $y,
- pc => $postcode,
- council => -1,
- latitude => $latitude,
- longitude => $longitude,
- title => 'My test problem',
- detail => 'Detail of my test problem',
- anonymous => 1,
- name => name_n($user_num),
- email => email_n($user_num),
- phone => '555 5555'};
-
- if ($cobrand eq 'cy.emptyhomes.') {
- $fields->{category} = "Bloc cyfan o fflatiau gwag";
- } elsif ($postcode =~ /^(SW|SE)/) {
- # London needs a category
- $fields->{category} = "Street sign";
- }
-
- if ($council){
- $fields->{council} = $council;
- }
- $wth->browser_submit_form(form_name => 'mapForm',
- button => 'submit_problem',
- fields => $fields
- );
- }
- $wth->browser_check_contents($messages[2]);
- my $confirmation_email = $wth->email_get_containing(
- '%Subject: '. $messages[3] .
- '%To: "'.name_n($user_num).'" <'.email_n($user_num).'>'.
- '%' . $messages[4] . '%');
- die "Message confirmation link not found" if ($confirmation_email !~ m#^\s*($base_url.*$)#m);
- print "Message confirm URL is $1\n" if $verbose > 1;
- $wth->browser_get($1);
- $wth->browser_check_contents($messages[5]);
-}
-
-#############################################################################
-
-sub do_report {
-
- my $postcode = 'SW1A 0AA';
- my $messages = english_fms_messages();
- my $x_coord = 3287;
- my $y_coord = 1113;
- submit_report($postcode, $x_coord, $y_coord, 530268, 179545, 1, undef, $messages, '');
-
- # Check that the report is now available through the AJAX interface
- $wth->browser_get($base_url . "/ajax?sx=$x_coord;sy=$y_coord;x=$x_coord;y=$y_coord;all_pins=");
- $wth->browser_check_contents("'pins': '<a title=\"My test problem\"");
-}
-
-sub do_update {
- set_base_url('');
- my $postcode = 'ME15 6RS';
- my $messages = english_fms_messages();
- my $x_coord = 3570;
- my $y_coord = 969;
- submit_report($postcode, $x_coord, $y_coord, 575794, 156256, 1, undef, $messages, '');
- $wth->browser_follow_link(text => 'view the problem on this site');
- $wth->browser_submit_form(with_fields => { name => name_n(1),
- rznvy => email_n(1),
- update => "my test update",
- fixed => 1 });
- $wth->browser_check_contents('Nearly Done!');
- my $confirmation_email = $wth->email_get_containing(
- '%Subject: Confirm your update on FixMyStreet'.
- '%To: "' . name_n(1) . '" <' .email_n(1).''.
- '%to confirm the update%');
- die "Alert confirmation link not found" if ($confirmation_email !~ m#^\s*($base_url.*$)#m);
- print "Message confirm URL is $1\n" if $verbose > 1;
- $wth->browser_get($1);
- $wth->browser_check_contents("Thanks, glad to hear it's been fixed!");
-
-}
-
-sub do_import {
- set_base_url('');
- my $import_url = $base_url . "/import";
- $wth->browser_get($import_url);
- $wth->browser_check_contents("You may inject problem reports into FixMyStreet programatically");
- $wth->browser_post($import_url,
- { service => "Web Test Harness",
- id => "Test run",
- subject => "Programmatically submitted problem",
- detail => "This problem was submitted through the problem interface",
- name => name_n(6),
- email => email_n(6),
- phone => '555 5555',
- easting => 530375.1,
- northing => 179503 } );
- # Check for the success response
- $wth->browser_check_contents("SUCCESS");
-
- my $confirmation_email = $wth->email_get_containing(
- '%Subject: Confirm your report on FixMyStreet' .
- '%To: "'.name_n(6).'" <'.email_n(6).'>'.
- '%confirm the report%');
- die "Message confirmation link not found" if ($confirmation_email !~ m#^\s*($base_url.*$)#m);
- print "Message confirm URL is $1\n" if $verbose > 1;
-
- $wth->browser_get($1);
- $wth->browser_check_contents('not yet been sent');
-
-}
-
-sub do_questionnaire {
-
- my $council_id = 2514;
- my $council_name = "Birmingham City Council";
-
- # set up a fake contact record for a council
- create_fake_contact($council_id);
-
- # submit a problem report
- set_fms_date('2009-11-01');
- my $postcode = 'B14';
- my $messages = english_fms_messages();
- submit_report($postcode, 2529, 1738, 407903, 280322, 5, $council_id, $messages, '');
-
- # send emails (for the report)
- call_send_emails();
-
- # check for the report
- my $report_email = $wth->email_get_containing(
- '%Subject: Problem Report: My test problem'.
- '%To: "' . $council_name . '" <' . $contact_email . '>'.
- '%A user of FixMyStreet has submitted the following report %');
-
- # set the date four weeks ahead
- set_fms_date('2009-11-30');
-
- # send emails (for the questionnaire)
- call_send_emails();
-
- # check for a questionnaire
- my $questionnaire_email = $wth->email_get_containing(
- '%Subject: Questionnaire about your problem on FixMyStreet'.
- '%To: "' . name_n(5) . '" <'. email_n(5) .'>'.
- '%From: FixMyStreet <' . $contact_email . '>'.
- '%you left a problem on %');
-}
-
-sub do_alert {
-
- # sign up for alerts in an area
- my $postcode = 'EH1 2NG';
-
- my $x = 2015;
- my $y = 4175;
-
- my $e = 325066;
- my $n = 673533;
-
- my ( $lat, $lon ) = (55.948967, -3.201478);
-
- my $messages = english_fms_messages();
- submit_postcode('', $postcode, 'Problems in this area');
- $wth->browser_follow_link(text => 'Email me new local problems');
- $wth->browser_submit_form(form_name => 'alerts',
- fields => {feed => "local:$lat:$lon",
- rznvy => email_n(2)} );
- $wth->browser_check_contents('Nearly Done!');
- my $confirmation_email = $wth->email_get_containing(
- '%Subject: Confirm your alert on FixMyStreet'.
- '%To: '.email_n(2).''.
- '%to confirm the alert%');
- die "Alert confirmation link not found" if ($confirmation_email !~ m#^\s*($base_url.*$)#m);
- print "Message confirm URL is $1\n" if $verbose > 1;
- $wth->browser_get($1);
- $wth->browser_check_contents('successfully confirmed your alert');
-
- # create and confirm a new problem in the area
- submit_report($postcode, $x, $y, $e, $n, 3, undef, $messages, '');
-
- # run the alert script
- call_send_emails();
-
- # expect an update
- my $update_email = $wth->email_get_containing(
- '%Subject: New nearby problems'.
- '%To: '.email_n(2).
- '%The following nearby problems%');
-
- # should have an unsubscribe link
- die "Unsubscribe link not found" if ($update_email !~ m#^\s*($base_url/A/.*?)\s#m);
- print "Message unsubscribe URL is $1\n" if $verbose > 1;
- $wth->browser_get($1);
- $wth->browser_check_contents('You have successfully deleted your alert.');
-}
-
-sub do_eha_alert {
- # sign up for alerts in an area
- my $postcode = 'EH1 2NG';
- my $x = 2015; my $e = 325066;
- my $y = 4175; my $n = 673533;
-
- my ( $lat, $lon ) = (55.948967, -3.201478);
-
- my @texts = ('Eiddo gwag yn yr ardal hon',
- 'Adrodd am eiddo gwag',
- 'Nawr, gwiriwch eich e-bost',
- 'Cadarnhau eich adroddiad am eiddo gwag',
- 'Cliciwch ar y ddolen isod i gadarnhau\'r adroddiad am eiddo gwag',
- 'Diolch am roi gwybod am eiddo gwag');
- submit_postcode('cy.emptyhomes.', $postcode, $texts[0]);
- $wth->browser_follow_link(text => 'Anfonwch fanylion eiddo gwag lleol newydd ataf i drwy\'r e-bost');
- $wth->browser_submit_form(form_name => 'alerts',
- fields => {feed => "local:$lat:$lon",
- rznvy => email_n(4)} );
- $wth->browser_check_contents($texts[2]);
- my $confirmation_email = $wth->email_get_containing(
- '%Subject: Cadarnhau eich rhybudd'.
- '%To: '.email_n(4).''.
- '%isod i gadarnhau\'r rhybudd yr ydych%');
- die "Alert confirmation link not found" if ($confirmation_email !~ m#^\s*($base_url.*$)#m);
- print "Message confirm URL is $1\n" if $verbose > 1;
- $wth->browser_get($1);
- $wth->browser_check_contents('Rydych wedi cadarnhau\'ch hysbysiad yn llwyddiannus.');
-
- # create and confirm a new problem in the area
- submit_report($postcode, $x, $y, $e, $n, 3, undef, \@texts, 'cy.emptyhomes.');
-
- # run the alert script
- call_send_emails();
-
- # expect an update
- my $update_email = $wth->email_get_containing(
- '%Subject: Eiddo gwag cyfagos newydd ar '.
- '%To: '.email_n(4).
- '%Mae\'r eiddo gwag cyfagos%');
-}
-
-sub do_cobrand {
- set_base_url('emptyhomes.');
- $wth->browser_get($base_url);
- $wth->browser_check_contents("Empty Homes Agency");
- $wth->browser_check_contents("Report and view empty properties");
-
- # Check language setting
- set_base_url('cy.emptyhomes.');
- $wth->browser_get($base_url);
- $wth->browser_check_contents("Empty Homes Agency");
- $wth->browser_check_contents("Adrodd am eiddo gwag a gweld y rhain");
-
- # Run tests in any TestHarness.pm files in for Cobrands
- my $allowed_cobrands = Cobrand::get_allowed_cobrands();
- foreach my $cobrand (@{$allowed_cobrands}){
- my $cobrand_class = ucfirst($cobrand);
- my $class = "Cobrands::" . $cobrand_class . "::TestHarness";
- comment "Looking for tests for $cobrand_class";
- eval "use $class";
- my $test_handle;
- eval{ $test_handle = $class->new($wth, $verbose, $multispawn); };
- next if $@;
- comment "Running tests for $cobrand_class";
- foreach my $test_function ($test_handle->test_functions()){
- $test_handle->$test_function();
- }
- }
-
-}
-
-sub do_unit {
- use File::Find;
- my $testdir = '../t';
- my @files;
- find(sub { push(@files, $File::Find::name) if /\.t$/ }, $testdir);
- runtests(@files);
-}
-
-sub do_static {
- set_base_url('');
- $wth->browser_get($base_url);
- $wth->browser_follow_link(text => 'All reports');
- $wth->browser_follow_link(text => 'Cheltenham Borough Council');
- $wth->browser_follow_link(text => 'see more details');
- $wth->browser_follow_link(text => 'Help');
- $wth->browser_follow_link(text => 'Contact');
- $wth->browser_submit_form(
- with_fields => {
- name => 'Mr Test Example',
- em => email_n(1),
- subject => 'This is a test message.',
- message => 'FixMyStreet rocks!',
- }
- );
- $wth->email_get_containing('%This is a test message%');
-}
-
-# Check RSS feeds redirect to the right places and so on.
-# Just checks header, doesn't check any contents.
-sub do_rss {
-
- my %redirects = (
-
- # should always go to lat lon, except postcode (actually, query string)
- '/rss/n/406886,289126' => '/rss/l/52.499994,-1.899993',
- '/rss/2524/1779' => '/rss/l/52.480294,-1.896931',
- '/rss/pc/SW1A1AA' => '/rss/pc/SW1A1AA',
- '/rss/l/52.5/-1.9' => '/rss/l/52.5/-1.9',
-
- # go to reports
- '/rss/area/Birmingham' => '/rss/reports/Birmingham',
- '/rss/area/Birmingham/Lozells' => '/rss/reports/Birmingham/Lozells+and+East+Handsworth',
- );
-
- my $error_count = 0;
- foreach my $from ( sort keys %redirects ) {
- my $to = $redirects{$from};
- $wth->browser_get( $base_url . $from );
- my ($got) = $wth->browser_uri() =~ m{(/rss/.*)$};
-
- next if $got eq $to;
-
- warn "RSS redirect from '$from' to '$to' failed - got '$got'";
- $error_count++;
- }
-
- die "Found errors doing redirect - aborting" if $error_count;
-
- $wth->browser_get($base_url . '/rss/l/52.5/-1.94');
- $wth->browser_check_contents('New local problems on FixMyStreet');
-
- $wth->browser_get($base_url . '/rss/reports/Birmingham');
- $wth->browser_check_contents('New problems to Birmingham City Council on FixMyStreet');
- $wth->browser_get($base_url . '/rss/reports/Birmingham/Lozells');
- $wth->browser_check_contents('New problems for Birmingham City Council within Lozells ward on FixMyStreet');
- $wth->browser_get($base_url . '/rss/area/Gloucestershire');
- $wth->browser_check_contents('New problems within Gloucestershire\'s boundary on FixMyStreet');
-}
-
-#browser_get(URL)
-#browser_follow_link(text_regex => qr//)
-#browser_check_contents(qr// | '')
-#browser_check_no_contents("successful");
-#browser_submit_form(form_name => '', fields => '', button => '')
-#browser_content();
-#email_get_containing( '%To: "' . name_n(3) . '" <' . email_n(3) . '>%From: "' . name_n(0) . '"%You signed this pledge after this message%Love and kisses%');
-#email_check_none_left();
-
diff --git a/blog/conf/general-example b/blog/conf/general-example
deleted file mode 100644
index dca1e9dcc..000000000
--- a/blog/conf/general-example
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-/*
- * general-example:
- * Example values for the "general" config file.
- *
- * Configuration parameters, in PHP syntax. Configuration parameters are set
- * using the PHP define('OPTION_...', '...') function. Both perl and PHP code
- * parse this properly, so you can use comments and conditionals and whatnot,
- * but unless essential it's better to keep it simple....
- *
- * Copy this file to one called "general" in the same directory. Or
- * have multiple config files and use a symlink to change between them.
- *
- * Copyright (c) 2005 UK Citizens Online Democracy. All rights reserved.
- * Email: francis@mysociety.org; WWW: http://www.mysociety.org
- *
- * $Id: general-example,v 1.2 2010-01-28 00:47:37 francis Exp $
- *
- */
-
-// MySQL database for FMSBLOG mySociety WordPress
-define('OPTION_FMSBLOG_DB_NAME', '');
-define('OPTION_FMSBLOG_DB_USER', '');
-define('OPTION_FMSBLOG_DB_PASS', '');
-define('OPTION_FMSBLOG_DB_HOST', '');
-define('OPTION_STAGING', '0');
-
diff --git a/blog/conf/httpd.conf b/blog/conf/httpd.conf
deleted file mode 100644
index 2f93bc3cc..000000000
--- a/blog/conf/httpd.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-# Apache configuration for code.fixmystreet.com.
-#
-# Copyright (c) 2012 UK Citizens Online Democracy. All rights reserved.
-# Email: struan@mysociety.org; WWW: http://www.mysociety.org
-
-<Location /fcgi>
- Options +ExecCGI
- SetHandler fastcgi-script
-</Location>
-
-RewriteEngine on
-#RewriteLog /var/log/apache2/rewrite.log
-#RewriteLogLevel 5
-
-# PHP files can be referred without PHP
-RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.php -f
-RewriteRule /(.+) /$1.php [PT]
-
diff --git a/blog/conf/wp-config.php b/blog/conf/wp-config.php
deleted file mode 100644
index 38599b326..000000000
--- a/blog/conf/wp-config.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-/** WordPress's config file **/
-/** http://wordpress.org/ **/
-
-// ** MySQL settings ** //
-if (!@include "../conf/general") {
- if (!@include "../../conf/general") {
- if (!@include "../../../conf/general") {
- if (!@include(dirname(__FILE__) . "../../../conf/general")) {
- print "Error including conf/general in wp-config.php on code.fixmystreet.com WordPress";
- exit;
- }
- }
- }
-}
-define('DB_NAME', OPTION_FMSBLOG_DB_NAME); // The name of the database
-define('DB_USER', OPTION_FMSBLOG_DB_USER); // Your MySQL username
-define('DB_PASSWORD', OPTION_FMSBLOG_DB_PASS); // ...and password
-define('DB_HOST', OPTION_FMSBLOG_DB_HOST); // 99% chance you won't need to change this value
-
-// Change the prefix if you want to have multiple blogs in a single database.
-
-$table_prefix = 'wp_'; // example: 'wp_' or 'b2' or 'mylogin_'
-
-// Change this to localize WordPress. A corresponding MO file for the
-// chosen language must be installed to wp-includes/languages.
-// For example, install de.mo to wp-includes/languages and set WPLANG to 'de'
-// to enable German language support.
-define ('WPLANG', '');
-
-$toppath = $_SERVER['DOCUMENT_ROOT'];
-$trimmed = rtrim($toppath, "blog/web");
-define('TOP_PATH', $trimmed);
-
-/* Stop editing */
-
-$server = DB_HOST;
-$loginsql = DB_USER;
-$passsql = DB_PASSWORD;
-$base = DB_NAME;
-
-define('ABSPATH', dirname(__FILE__).'/');
-
-// Get everything else
-require_once(ABSPATH.'wp-settings.php');
-?>
diff --git a/blog/web/.htaccess b/blog/web/.htaccess
deleted file mode 100644
index 8d2ba9aa2..000000000
--- a/blog/web/.htaccess
+++ /dev/null
@@ -1,11 +0,0 @@
-
-# BEGIN WordPress
-<IfModule mod_rewrite.c>
-RewriteEngine On
-RewriteBase /
-RewriteCond %{REQUEST_FILENAME} !-f
-RewriteCond %{REQUEST_FILENAME} !-d
-RewriteRule . /index.php [L]
-</IfModule>
-
-# END WordPress
diff --git a/blog/web/fcgi/php-basic b/blog/web/fcgi/php-basic
deleted file mode 100755
index f3034d9e2..000000000
--- a/blog/web/fcgi/php-basic
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-PHP_FCGI_CHILDREN=1 PHPRC=/etc/php5/fcgi exec /usr/bin/php5-cgi
-
diff --git a/blog/web/index.php b/blog/web/index.php
deleted file mode 100644
index fbc0ef37f..000000000
--- a/blog/web/index.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-# Copy of the lines from WP main index.php, so it can be in subdirectory
-define('WP_USE_THEMES', true);
-require('./wp/wp-blog-header.php');
-
diff --git a/carton.lock b/carton.lock
index cd7b0e70b..cdca29bff 100644
--- a/carton.lock
+++ b/carton.lock
@@ -1,7 +1,7 @@
{
"modules" : {
"App::cpanminus" : {
- "dist" : "App-cpanminus-1.5007",
+ "dist" : "App-cpanminus-1.5017",
"module" : "App::cpanminus",
"mymeta" : {
"abstract" : "Get, unpack, build and install modules from CPAN.",
@@ -9,7 +9,7 @@
"unknown"
],
"dynamic_config" : 0,
- "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112621, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.120921, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -44,21 +44,29 @@
}
},
"release_status" : "stable",
- "version" : "1.5007"
+ "resources" : {
+ "bugtracker" : {
+ "web" : "https://github.com/miyagawa/cpanminus/issues"
+ },
+ "repository" : {
+ "type" : "git",
+ "url" : "git://github.com/miyagawa/cpanminus.git"
+ }
+ },
+ "version" : "1.5017"
},
"name" : "App::cpanminus",
- "pathname" : "M/MI/MIYAGAWA/App-cpanminus-1.5007.tar.gz",
+ "pathname" : "M/MI/MIYAGAWA/App-cpanminus-1.5017.tar.gz",
"provides" : {
"App::cpanminus" : {
"file" : "App/cpanminus.pm",
- "version" : "1.5007"
+ "version" : "1.5017"
}
},
- "version" : "1.5007"
+ "version" : "1.5017"
},
"AppConfig" : {
"dist" : "AppConfig-1.66",
- "module" : "AppConfig",
"mymeta" : {
"abstract" : "AppConfig is a bundle of Perl5 modules for reading configuration files and parsing command line arguments.",
"author" : [
@@ -121,6 +129,7 @@
"version" : "1.65"
}
},
+ "target" : "AppConfig",
"version" : "1.66"
},
"Archive::Zip" : {
@@ -180,7 +189,7 @@
"version" : "1.30"
},
"name" : "Archive::Zip",
- "pathname" : "/authors/id/A/AD/ADAMK/Archive-Zip-1.30.tar.gz",
+ "pathname" : "A/AD/ADAMK/Archive-Zip-1.30.tar.gz",
"provides" : {
"Archive::Zip" : {
"file" : "Archive/Zip.pm",
@@ -235,7 +244,6 @@
},
"B::Hooks::EndOfScope" : {
"dist" : "B-Hooks-EndOfScope-0.09",
- "module" : "B::Hooks::EndOfScope",
"mymeta" : {
"abstract" : "Execute code after a scope finished compilation",
"author" : [
@@ -433,18 +441,18 @@
"version" : "0.09"
}
},
+ "target" : "B::Hooks::EndOfScope",
"version" : "0.09"
},
"CGI::Simple" : {
"dist" : "CGI-Simple-1.113",
- "module" : "CGI::Simple::Cookie",
"mymeta" : {
"abstract" : "A Simple totally OO CGI interface that is CGI.pm compliant",
"author" : [
"Andy Armstrong <andy@hexten.net>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -519,11 +527,11 @@
"version" : "1.113"
}
},
+ "target" : "CGI::Simple::Cookie",
"version" : "1.113"
},
"CPAN::Checksums" : {
"dist" : "CPAN-Checksums-2.07",
- "module" : "CPAN::Checksums",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -582,6 +590,7 @@
"version" : "2.07"
}
},
+ "target" : "CPAN::Checksums",
"version" : "2.07"
},
"CPAN::DistnameInfo" : {
@@ -645,7 +654,6 @@
},
"CPAN::PackageDetails" : {
"dist" : "CPAN-PackageDetails-0.25",
- "module" : "CPAN::PackageDetails",
"mymeta" : {
"abstract" : "Create or read PAUSE's 02packages.details.txt.gz",
"author" : [
@@ -712,11 +720,11 @@
"version" : "0.25"
}
},
+ "target" : "CPAN::PackageDetails",
"version" : "0.25"
},
"Cache::Memcached" : {
"dist" : "Cache-Memcached-1.29",
- "module" : "Cache::Memcached",
"mymeta" : {
"abstract" : "client library for memcached (memory cache daemon)",
"author" : [
@@ -772,11 +780,157 @@
"file" : "Cache/Memcached/GetParser.pm"
}
},
+ "target" : "Cache::Memcached",
"version" : "1.29"
},
+ "Capture::Tiny" : {
+ "dist" : "Capture-Tiny-0.19",
+ "module" : "Capture::Tiny",
+ "mymeta" : {
+ "abstract" : "Capture STDOUT and STDERR from Perl, XS or external programs",
+ "author" : [
+ "David Golden <dagolden@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Dist::Zilla version 4.300018, CPAN::Meta::Converter version 2.120921, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "apache_2_0"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Capture-Tiny",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "xt",
+ "examples",
+ "corpus"
+ ],
+ "package" : [
+ "DB"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "Config" : 0,
+ "File::Find" : 0,
+ "IO::File" : 0,
+ "Test::More" : "0.62"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.30"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Carp" : 0,
+ "Exporter" : 0,
+ "File::Spec" : 0,
+ "File::Temp" : 0,
+ "IO::Handle" : 0,
+ "Scalar::Util" : 0,
+ "strict" : 0,
+ "warnings" : 0
+ }
+ }
+ },
+ "provides" : {
+ "Capture::Tiny" : {
+ "file" : "lib/Capture/Tiny.pm",
+ "version" : "0.19"
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "bugtracker" : {
+ "web" : "http://rt.cpan.org/Public/Dist/Display.html?Name=Capture-Tiny"
+ },
+ "homepage" : "https://github.com/dagolden/capture-tiny",
+ "repository" : {
+ "url" : "https://github.com/dagolden/capture-tiny.git"
+ }
+ },
+ "version" : "0.19"
+ },
+ "name" : "Capture::Tiny",
+ "pathname" : "D/DA/DAGOLDEN/Capture-Tiny-0.19.tar.gz",
+ "provides" : {
+ "Capture::Tiny" : {
+ "file" : "Capture/Tiny.pm",
+ "version" : "0.19"
+ }
+ },
+ "version" : "0.19"
+ },
+ "Carp" : {
+ "dist" : "Carp-1.26",
+ "module" : "Carp",
+ "mymeta" : {
+ "abstract" : "alternative warn and die for modules",
+ "author" : [
+ "unknown"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "ExtUtils::MakeMaker version 6.6302, CPAN::Meta::Converter version 2.120921, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Carp",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Exporter" : 0,
+ "IPC::Open3" : "1.0103",
+ "Test::More" : 0,
+ "strict" : 0,
+ "warnings" : 0
+ }
+ }
+ },
+ "release_status" : "stable",
+ "version" : "1.26"
+ },
+ "name" : "Carp",
+ "pathname" : "Z/ZE/ZEFRAM/Carp-1.26.tar.gz",
+ "provides" : {
+ "Carp" : {
+ "file" : "Carp.pm",
+ "version" : "1.26"
+ },
+ "Carp::Heavy" : {
+ "file" : "Carp/Heavy.pm",
+ "version" : "1.26"
+ }
+ },
+ "version" : "1.26"
+ },
"Carp::Assert" : {
"dist" : "Carp-Assert-0.20",
- "module" : "Carp::Assert",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -816,11 +970,11 @@
"version" : "0.20"
}
},
+ "target" : "Carp::Assert",
"version" : "0.20"
},
"Carp::Assert::More" : {
"dist" : "Carp-Assert-More-1.12",
- "module" : "Carp::Assert::More",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -865,11 +1019,11 @@
"version" : "1.12"
}
},
+ "target" : "Carp::Assert::More",
"version" : "1.12"
},
"Carp::Clan" : {
"dist" : "Carp-Clan-6.04",
- "module" : "Carp::Clan",
"mymeta" : {
"abstract" : "Report errors from perspective of caller of a \"clan\" of modules",
"author" : [
@@ -908,11 +1062,11 @@
"version" : "6.04"
}
},
+ "target" : "Carp::Clan",
"version" : "6.04"
},
"Catalyst::Action::RenderView" : {
"dist" : "Catalyst-Action-RenderView-0.16",
- "module" : "Catalyst::Action::RenderView",
"mymeta" : {
"abstract" : "Sensible default end action.",
"author" : [
@@ -975,11 +1129,11 @@
"version" : "0.16"
}
},
+ "target" : "Catalyst::Action::RenderView",
"version" : "0.16"
},
"Catalyst::Authentication::Store::DBIx::Class" : {
"dist" : "Catalyst-Authentication-Store-DBIx-Class-0.1503",
- "module" : "Catalyst::Authentication::Store::DBIx::Class",
"mymeta" : {
"abstract" : "A storage class for Catalyst Authentication using DBIx::Class",
"author" : [
@@ -1068,11 +1222,11 @@
"file" : "Catalyst/Authentication/Store/DBIx/Class/User.pm"
}
},
+ "target" : "Catalyst::Authentication::Store::DBIx::Class",
"version" : "0.1503"
},
"Catalyst::Component::InstancePerContext" : {
"dist" : "Catalyst-Component-InstancePerContext-0.001001",
- "module" : "Catalyst::Component::InstancePerContext",
"mymeta" : {
"abstract" : "Moose role to create only one instance of component per context",
"author" : [
@@ -1120,11 +1274,117 @@
"version" : "0.001001"
}
},
+ "target" : "Catalyst::Component::InstancePerContext",
"version" : "0.001001"
},
+ "Catalyst::Devel" : {
+ "dist" : "Catalyst-Devel-1.33",
+ "module" : "http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/Catalyst-Devel-1.33.tar.gz",
+ "mymeta" : {
+ "abstract" : "Catalyst Development Tools",
+ "author" : [
+ "Catalyst Contributors, see Catalyst.pm"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Module::Install version 1.00, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Catalyst-Devel",
+ "no_index" : {
+ "directory" : [
+ "inc",
+ "share",
+ "t"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.42",
+ "Test::Fatal" : "0.003",
+ "Test::More" : "0.94"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.42"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Catalyst" : "5.80015",
+ "Catalyst::Action::RenderView" : "0.10",
+ "Catalyst::Plugin::ConfigLoader" : "0.30",
+ "Catalyst::Plugin::Static::Simple" : "0.28",
+ "Config::General" : "2.42",
+ "ExtUtils::MakeMaker" : "6.11",
+ "File::ChangeNotify" : "0.07",
+ "File::Copy::Recursive" : 0,
+ "File::ShareDir" : 0,
+ "Module::Install" : "0.91",
+ "Moose" : 0,
+ "MooseX::Emulate::Class::Accessor::Fast" : 0,
+ "Path::Class" : "0.09",
+ "Template" : "2.14",
+ "Test::Fatal" : "0.003",
+ "Test::More" : "0.94",
+ "namespace::autoclean" : 0,
+ "namespace::clean" : 0
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "homepage" : "http://dev.catalyst.perl.org/",
+ "license" : [
+ "http://dev.perl.org/licenses/"
+ ],
+ "repository" : {
+ "type" : "git",
+ "url" : "git://git.shadowcat.co.uk/catagits/Catalyst-Devel.git"
+ },
+ "x_IRC" : "irc://irc.perl.org/#catalyst",
+ "x_MailingList" : "http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst"
+ },
+ "version" : "1.33"
+ },
+ "name" : "Catalyst::Devel",
+ "pathname" : "http:/search.cpan.org/CPAN/authors/id/F/FL/FLORA/Catalyst-Devel-1.33.tar.gz",
+ "provides" : {
+ "Catalyst::Devel" : {
+ "file" : "Catalyst/Devel.pm",
+ "version" : "1.33"
+ },
+ "Catalyst::Helper" : {
+ "file" : "Catalyst/Helper.pm",
+ "version" : "1.33"
+ },
+ "Catalyst::Module::Install" : {
+ "file" : "Module/Install/Catalyst.pm"
+ },
+ "Catalyst::Restarter" : {
+ "file" : "Catalyst/Restarter.pm"
+ },
+ "Catalyst::Restarter::Forking" : {
+ "file" : "Catalyst/Restarter/Forking.pm"
+ },
+ "Catalyst::Restarter::Win32" : {
+ "file" : "Catalyst/Restarter/Win32.pm"
+ },
+ "Module::Install::Catalyst" : {
+ "file" : "Module/Install/Catalyst.pm"
+ },
+ "http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/Catalyst-Devel-1.33.tar.gz" : {}
+ },
+ "version" : "1.33"
+ },
"Catalyst::Model::Adaptor" : {
"dist" : "Catalyst-Model-Adaptor-0.10",
- "module" : "Catalyst::Model::Adaptor",
"mymeta" : {
"abstract" : "use a plain class as a Catalyst model",
"author" : [
@@ -1206,11 +1466,11 @@
"version" : "0.10"
}
},
+ "target" : "Catalyst::Model::Adaptor",
"version" : "0.10"
},
"Catalyst::Model::DBIC::Schema" : {
"dist" : "Catalyst-Model-DBIC-Schema-0.59",
- "module" : "Catalyst::Model::DBIC::Schema",
"mymeta" : {
"abstract" : "DBIx::Class::Schema Model Class",
"author" : [
@@ -1333,11 +1593,11 @@
"file" : "Catalyst/TraitFor/Model/DBIC/Schema/SchemaProxy.pm"
}
},
+ "target" : "Catalyst::Model::DBIC::Schema",
"version" : "0.59"
},
"Catalyst::Plugin::Authentication" : {
"dist" : "Catalyst-Plugin-Authentication-0.10017",
- "module" : "Catalyst::Plugin::Authentication",
"mymeta" : {
"abstract" : "Infrastructure plugin for the Catalyst",
"author" : [
@@ -1446,11 +1706,78 @@
"file" : "Catalyst/Plugin/Authentication/User/Hash.pm"
}
},
+ "target" : "Catalyst::Plugin::Authentication",
"version" : "0.10017"
},
+ "Catalyst::Plugin::ConfigLoader" : {
+ "dist" : "Catalyst-Plugin-ConfigLoader-0.30",
+ "module" : "Catalyst::Plugin::ConfigLoader",
+ "mymeta" : {
+ "abstract" : "Load config files of various types",
+ "author" : [
+ "Brian Cassidy <bricas@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Module::Install version 1.00, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Catalyst-Plugin-ConfigLoader",
+ "no_index" : {
+ "directory" : [
+ "inc",
+ "t"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.42",
+ "Test::More" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.42"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Catalyst::Runtime" : "5.7008",
+ "Config::Any" : "0.20",
+ "Data::Visitor" : "0.24",
+ "MRO::Compat" : "0.09",
+ "perl" : "5.008"
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "license" : [
+ "http://dev.perl.org/licenses/"
+ ],
+ "repository" : {
+ "url" : "http://dev.catalystframework.org/repos/Catalyst/Catalyst-Plugin-ConfigLoader/trunk/"
+ }
+ },
+ "version" : "0.30"
+ },
+ "name" : "Catalyst::Plugin::ConfigLoader",
+ "pathname" : "B/BR/BRICAS/Catalyst-Plugin-ConfigLoader-0.30.tar.gz",
+ "provides" : {
+ "Catalyst::Plugin::ConfigLoader" : {
+ "file" : "Catalyst/Plugin/ConfigLoader.pm",
+ "version" : "0.30"
+ }
+ },
+ "version" : "0.30"
+ },
"Catalyst::Plugin::Session" : {
"dist" : "Catalyst-Plugin-Session-0.31",
- "module" : "Catalyst::Plugin::Session",
"mymeta" : {
"abstract" : "Generic Session plugin - ties together server side storage and client side state required to maintain session data.",
"author" : [
@@ -1534,11 +1861,11 @@
"version" : "123"
}
},
+ "target" : "Catalyst::Plugin::Session",
"version" : "0.31"
},
"Catalyst::Plugin::Session::State::Cookie" : {
"dist" : "Catalyst-Plugin-Session-State-Cookie-0.17",
- "module" : "Catalyst::Plugin::Session::State::Cookie",
"mymeta" : {
"abstract" : "Maintain session IDs using cookies.",
"author" : [
@@ -1602,11 +1929,11 @@
"version" : "0.17"
}
},
+ "target" : "Catalyst::Plugin::Session::State::Cookie",
"version" : "0.17"
},
"Catalyst::Plugin::Session::Store::DBIC" : {
"dist" : "Catalyst-Plugin-Session-Store-DBIC-0.12",
- "module" : "Catalyst::Plugin::Session::Store::DBIC",
"mymeta" : {
"abstract" : "Store your sessions via DBIx::Class",
"author" : [
@@ -1672,11 +1999,11 @@
"file" : "Catalyst/Plugin/Session/Store/DBIC/Delegate.pm"
}
},
+ "target" : "Catalyst::Plugin::Session::Store::DBIC",
"version" : "0.12"
},
"Catalyst::Plugin::Session::Store::Delegate" : {
"dist" : "Catalyst-Plugin-Session-Store-Delegate-0.06",
- "module" : "Catalyst::Plugin::Session::Store::Delegate",
"mymeta" : {
"abstract" : "Delegate session storage to an",
"author" : [
@@ -1742,11 +2069,11 @@
"version" : "0.06"
}
},
+ "target" : "Catalyst::Plugin::Session::Store::Delegate",
"version" : "0.06"
},
"Catalyst::Plugin::SmartURI" : {
"dist" : "Catalyst-Plugin-SmartURI-0.036",
- "module" : "Catalyst::Plugin::SmartURI",
"mymeta" : {
"abstract" : "Configurable URIs for Catalyst",
"author" : [
@@ -1825,11 +2152,11 @@
"file" : "Catalyst/Plugin/SmartURI.pm"
}
},
+ "target" : "Catalyst::Plugin::SmartURI",
"version" : "0.036"
},
"Catalyst::Plugin::Static::Simple" : {
"dist" : "Catalyst-Plugin-Static-Simple-0.29",
- "module" : "Catalyst::Plugin::Static::Simple",
"mymeta" : {
"abstract" : "Make serving static pages painless.",
"author" : [
@@ -1893,11 +2220,11 @@
"version" : "0.29"
}
},
+ "target" : "Catalyst::Plugin::Static::Simple",
"version" : "0.29"
},
"Catalyst::Plugin::Unicode" : {
"dist" : "Catalyst-Plugin-Unicode-0.93",
- "module" : "Catalyst::Plugin::Unicode",
"mymeta" : {
"abstract" : "Unicode aware Catalyst (old style)",
"author" : [
@@ -1961,11 +2288,11 @@
"version" : "0.93"
}
},
+ "target" : "Catalyst::Plugin::Unicode",
"version" : "0.93"
},
"Catalyst::Plugin::Unicode::Encoding" : {
"dist" : "Catalyst-Plugin-Unicode-Encoding-1.1",
- "module" : "Catalyst::Plugin::Unicode::Encoding",
"mymeta" : {
"abstract" : "Unicode aware Catalyst",
"author" : [
@@ -2029,11 +2356,11 @@
"version" : "1.1"
}
},
+ "target" : "Catalyst::Plugin::Unicode::Encoding",
"version" : "1.1"
},
"Catalyst::Runtime" : {
"dist" : "Catalyst-Runtime-5.80032",
- "module" : "Catalyst::Runtime",
"mymeta" : {
"abstract" : "The Catalyst Framework Runtime",
"author" : [
@@ -2268,11 +2595,11 @@
"file" : "Catalyst/View.pm"
}
},
+ "target" : "Catalyst::Runtime",
"version" : "5.80032"
},
"Catalyst::View::TT" : {
"dist" : "Catalyst-View-TT-0.36",
- "module" : "Catalyst::View::TT",
"mymeta" : {
"abstract" : "Template View Class",
"author" : [
@@ -2344,11 +2671,11 @@
"version" : "0.36"
}
},
+ "target" : "Catalyst::View::TT",
"version" : "0.36"
},
"CatalystX::Component::Traits" : {
"dist" : "CatalystX-Component-Traits-0.16",
- "module" : "CatalystX::Component::Traits",
"mymeta" : {
"abstract" : "Automatic Trait Loading and Resolution for",
"author" : [
@@ -2422,11 +2749,11 @@
"version" : "0.16"
}
},
+ "target" : "CatalystX::Component::Traits",
"version" : "0.16"
},
"Class::Accessor" : {
"dist" : "Class-Accessor-0.34",
- "module" : "Class::Accessor",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -2473,18 +2800,18 @@
"version" : "0.34"
}
},
+ "target" : "Class::Accessor",
"version" : "0.34"
},
"Class::Accessor::Chained" : {
"dist" : "Class-Accessor-Chained-0.01",
- "module" : "Class::Accessor::Chained::Fast",
"mymeta" : {
"abstract" : "unknown",
"author" : [
"unknown"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -2529,11 +2856,11 @@
"file" : "Class/Accessor/Chained/Fast.pm"
}
},
+ "target" : "Class::Accessor::Chained::Fast",
"version" : "0.01"
},
"Class::Accessor::Grouped" : {
"dist" : "Class-Accessor-Grouped-0.10003",
- "module" : "Class::Accessor::Grouped",
"mymeta" : {
"abstract" : "Lets you build groups of accessors",
"author" : [
@@ -2601,11 +2928,11 @@
"version" : "0.10003"
}
},
+ "target" : "Class::Accessor::Grouped",
"version" : "0.10003"
},
"Class::C3" : {
"dist" : "Class-C3-0.23",
- "module" : "Class::C3",
"mymeta" : {
"abstract" : "A pragma to use the C3 method resolution order algortihm",
"author" : [
@@ -2658,11 +2985,11 @@
"version" : "0.23"
}
},
+ "target" : "Class::C3",
"version" : "0.23"
},
"Class::C3::Adopt::NEXT" : {
"dist" : "Class-C3-Adopt-NEXT-0.13",
- "module" : "Class::C3::Adopt::NEXT",
"mymeta" : {
"abstract" : "make NEXT suck less",
"author" : [
@@ -2866,11 +3193,11 @@
"version" : "0.13"
}
},
+ "target" : "Class::C3::Adopt::NEXT",
"version" : "0.13"
},
"Class::C3::Componentised" : {
"dist" : "Class-C3-Componentised-1.001000",
- "module" : "Class::C3::Componentised",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -2937,6 +3264,7 @@
"file" : "Class/C3/Componentised/ApplyHooks.pm"
}
},
+ "target" : "Class::C3::Componentised",
"version" : "1.001000"
},
"Class::Data::Inheritable" : {
@@ -2982,7 +3310,6 @@
},
"Class::Factory::Util" : {
"dist" : "Class-Factory-Util-1.7",
- "module" : "Class::Factory::Util",
"mymeta" : {
"abstract" : "Provide utility methods for factory classes",
"author" : [
@@ -2990,7 +3317,7 @@
"Removed from Alzabo and packaged by Terrence Brannon,\n<tbone@cpan.org>."
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -3022,11 +3349,11 @@
"version" : "1.7"
}
},
+ "target" : "Class::Factory::Util",
"version" : "1.7"
},
"Class::Inspector" : {
"dist" : "Class-Inspector-1.25",
- "module" : "Class::Inspector",
"mymeta" : {
"abstract" : "Get information about a class and its structure",
"author" : [
@@ -3093,11 +3420,11 @@
"version" : "1.25"
}
},
+ "target" : "Class::Inspector",
"version" : "1.25"
},
"Class::Load" : {
"dist" : "Class-Load-0.12",
- "module" : "Class::Load",
"mymeta" : {
"abstract" : "a working (require \"Class::Name\") and more",
"author" : [
@@ -3159,18 +3486,18 @@
"version" : "0.12"
}
},
+ "target" : "Class::Load",
"version" : "0.12"
},
"Class::Load::XS" : {
"dist" : "Class-Load-XS-0.03",
- "module" : "Class::Load::XS",
"mymeta" : {
"abstract" : "XS implementation of parts of Class::Load",
"author" : [
"Dave Rolsky <autarch@urth.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"artistic_2"
],
@@ -3219,18 +3546,18 @@
"version" : "0.03"
}
},
+ "target" : "Class::Load::XS",
"version" : "0.03"
},
"Class::Mix" : {
"dist" : "Class-Mix-0.005",
- "module" : "Class::Mix",
"mymeta" : {
"abstract" : "dynamic class mixing",
"author" : [
"Andrew Main (Zefram) <zefram@fysh.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -3293,11 +3620,11 @@
"version" : "0.005"
}
},
+ "target" : "Class::Mix",
"version" : "0.005"
},
"Class::Singleton" : {
"dist" : "Class-Singleton-1.4",
- "module" : "Class::Singleton",
"mymeta" : {
"abstract" : "Base class for creating singleton objects",
"author" : [
@@ -3334,18 +3661,18 @@
"version" : "1.4"
}
},
+ "target" : "Class::Singleton",
"version" : "1.4"
},
"Class::Std" : {
"dist" : "Class-Std-0.011",
- "module" : "Class::Std",
"mymeta" : {
"abstract" : "Support for creating standard \"inside-out\" classes",
"author" : [
"Damian Conway <DCONWAY@cpan.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"unknown"
],
@@ -3377,18 +3704,18 @@
"file" : "Class/Std.pm"
}
},
+ "target" : "Class::Std",
"version" : "0.011"
},
"Class::Std::Fast" : {
"dist" : "Class-Std-Fast-v0.0.8",
- "module" : "Class::Std::Fast::Storable",
"mymeta" : {
"abstract" : "faster but less secure than Class::Std",
"author" : [
"Andreas 'ac0v' Specht - ACID@cpan.org"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -3442,11 +3769,11 @@
"version" : "v0.0.8"
}
},
+ "target" : "Class::Std::Fast",
"version" : "v0.0.8"
},
"Class::Unload" : {
"dist" : "Class-Unload-0.07",
- "module" : "Class::Unload",
"mymeta" : {
"abstract" : "Unload a class",
"author" : [
@@ -3490,11 +3817,11 @@
"version" : "0.07"
}
},
+ "target" : "Class::Unload",
"version" : "0.07"
},
"Class::XSAccessor" : {
"dist" : "Class-XSAccessor-1.13",
- "module" : "Class::XSAccessor",
"mymeta" : {
"abstract" : "Generate fast XS accessors without runtime compilation",
"author" : [
@@ -3555,11 +3882,11 @@
"version" : "1.13"
}
},
+ "target" : "Class::XSAccessor",
"version" : "1.13"
},
"Clone" : {
"dist" : "Clone-0.31",
- "module" : "Clone",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -3598,11 +3925,11 @@
"version" : "0.31"
}
},
+ "target" : "Clone",
"version" : "0.31"
},
"Compress::Bzip2" : {
"dist" : "Compress-Bzip2-2.09",
- "module" : "Compress::Bzip2",
"mymeta" : {
"abstract" : "Interface to Bzip2 compression library",
"author" : [
@@ -3658,11 +3985,11 @@
"version" : "2.09"
}
},
+ "target" : "Compress::Bzip2",
"version" : "2.09"
},
"Compress::Raw::Bzip2" : {
"dist" : "Compress-Raw-Bzip2-2.048",
- "module" : "Compress::Raw::Bzip2",
"mymeta" : {
"abstract" : "Low-Level Interface to bzip2 compression library",
"author" : [
@@ -3710,11 +4037,11 @@
"version" : "2.048"
}
},
+ "target" : "Compress::Raw::Bzip2",
"version" : "2.048"
},
"Compress::Raw::Zlib" : {
"dist" : "Compress-Raw-Zlib-2.048",
- "module" : "Compress::Raw::Zlib",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -3762,11 +4089,11 @@
"version" : "2.048"
}
},
+ "target" : "Compress::Raw::Zlib",
"version" : "2.048"
},
"Config::Any" : {
"dist" : "Config-Any-0.20",
- "module" : "Config::Any",
"mymeta" : {
"abstract" : "Load configuration from different file formats, transparently",
"author" : [
@@ -3847,11 +4174,76 @@
"file" : "Config/Any/YAML.pm"
}
},
+ "target" : "Config::Any",
"version" : "0.20"
},
+ "Config::General" : {
+ "dist" : "Config-General-2.51",
+ "module" : "Config::General",
+ "mymeta" : {
+ "abstract" : "unknown",
+ "author" : [
+ "unknown"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "ExtUtils::MakeMaker version 6.55_02, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Config-General",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "File::Glob" : 0,
+ "File::Spec::Functions" : 0,
+ "FileHandle" : 0,
+ "IO::File" : 0
+ }
+ }
+ },
+ "release_status" : "stable",
+ "version" : "2.51"
+ },
+ "name" : "Config::General",
+ "pathname" : "T/TL/TLINDEN/Config-General-2.51.tar.gz",
+ "provides" : {
+ "Config::General" : {
+ "file" : "Config/General.pm",
+ "version" : "2.51"
+ },
+ "Config::General::Extended" : {
+ "file" : "Config/General/Extended.pm",
+ "version" : "2.05"
+ },
+ "Config::General::Interpolated" : {
+ "file" : "Config/General/Interpolated.pm",
+ "version" : "2.14"
+ }
+ },
+ "version" : "2.51"
+ },
"ConfigReader::Simple" : {
"dist" : "ConfigReader-Simple-1.28",
- "module" : "ConfigReader::Simple",
"mymeta" : {
"abstract" : "Simple configuration file parser",
"author" : [
@@ -3914,11 +4306,11 @@
"version" : "1.28"
}
},
+ "target" : "ConfigReader::Simple",
"version" : "1.28"
},
"Context::Preserve" : {
"dist" : "Context-Preserve-0.01",
- "module" : "Context::Preserve",
"mymeta" : {
"abstract" : "run code after a subroutine call, preserving the context the subroutine would have seen if it were the last statement in the caller",
"author" : [
@@ -3966,11 +4358,11 @@
"version" : "0.01"
}
},
+ "target" : "Context::Preserve",
"version" : "0.01"
},
"Crypt::Eksblowfish" : {
"dist" : "Crypt-Eksblowfish-0.009",
- "module" : "Crypt::Eksblowfish",
"mymeta" : {
"abstract" : "the Eksblowfish block cipher",
"author" : [
@@ -3978,7 +4370,7 @@
"Andrew Main (Zefram) <zefram@fysh.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -4082,11 +4474,11 @@
"version" : "0.009"
}
},
+ "target" : "Crypt::Eksblowfish",
"version" : "0.009"
},
"DBD::Pg" : {
"dist" : "DBD-Pg-2.18.1",
- "module" : "DBD::Pg",
"mymeta" : {
"abstract" : "DBI PostgreSQL interface",
"author" : [
@@ -4196,11 +4588,11 @@
"file" : "DBD/Pg.pm"
}
},
+ "target" : "DBD::Pg",
"version" : "v2.18.1"
},
"DBD::SQLite" : {
"dist" : "DBD-SQLite-1.31",
- "module" : "DBD::SQLite",
"mymeta" : {
"abstract" : "Self Contained SQLite RDBMS in a DBI Driver",
"author" : [
@@ -4276,11 +4668,11 @@
"file" : "DBD/SQLite.pm"
}
},
+ "target" : "DBD::SQLite",
"version" : "1.31"
},
"DBI" : {
"dist" : "DBI-1.616",
- "module" : "DBI",
"mymeta" : {
"abstract" : "Database independent interface for Perl",
"author" : [
@@ -4647,11 +5039,11 @@
"file" : "DBI.pm"
}
},
+ "target" : "DBI",
"version" : "1.616"
},
"DBIx::Class" : {
"dist" : "DBIx-Class-0.08196",
- "module" : "DBIx::Class",
"mymeta" : {
"abstract" : "Extensible and flexible object <-> relational mapper.",
"author" : [
@@ -5031,11 +5423,11 @@
"version" : "0.1"
}
},
+ "target" : "DBIx::Class",
"version" : "0.08196"
},
"DBIx::Class::EncodedColumn" : {
"dist" : "DBIx-Class-EncodedColumn-0.00011",
- "module" : "DBIx::Class::EncodedColumn",
"mymeta" : {
"abstract" : "Automatically encode column values",
"author" : [
@@ -5121,11 +5513,11 @@
"version" : "0.00001"
}
},
+ "target" : "DBIx::Class::EncodedColumn",
"version" : "0.00011"
},
"DBIx::Class::IntrospectableM2M" : {
"dist" : "DBIx-Class-IntrospectableM2M-0.001001",
- "module" : "DBIx::Class::IntrospectableM2M",
"mymeta" : {
"abstract" : "Introspect many-to-many relationships",
"author" : [
@@ -5177,11 +5569,11 @@
"version" : "0.001001"
}
},
+ "target" : "DBIx::Class::IntrospectableM2M",
"version" : "0.001001"
},
"DBIx::Class::Schema::Loader" : {
"dist" : "DBIx-Class-Schema-Loader-0.07017",
- "module" : "DBIx::Class::Schema::Loader",
"mymeta" : {
"abstract" : "Create a DBIx::Class::Schema based on a database",
"author" : [
@@ -5426,11 +5818,11 @@
"file" : "DBIx/Class/Schema/Loader/Table/Sybase.pm"
}
},
+ "target" : "DBIx::Class::Schema::Loader",
"version" : "0.07017"
},
"Data::Compare" : {
"dist" : "Data-Compare-1.22",
- "module" : "Data::Compare",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -5485,11 +5877,11 @@
"version" : "1"
}
},
+ "target" : "Data::Compare",
"version" : "1.22"
},
"Data::Dump" : {
"dist" : "Data-Dump-1.21",
- "module" : "Data::Dump",
"mymeta" : {
"abstract" : "Pretty printing of data structures",
"author" : [
@@ -5564,11 +5956,11 @@
"file" : "Data/Dump/Trace.pm"
}
},
+ "target" : "Data::Dump",
"version" : "1.21"
},
"Data::Dumper::Concise" : {
"dist" : "Data-Dumper-Concise-2.020",
- "module" : "Data::Dumper::Concise",
"mymeta" : {
"abstract" : "Less indentation and newlines plus sub deparsing",
"author" : [
@@ -5630,11 +6022,11 @@
"file" : "Devel/Dwarn.pm"
}
},
+ "target" : "Data::Dumper::Concise",
"version" : "2.020"
},
"Data::OptList" : {
"dist" : "Data-OptList-0.107",
- "module" : "Data::OptList",
"mymeta" : {
"abstract" : "parse and validate simple name/value option pairs",
"author" : [
@@ -5883,18 +6275,18 @@
"version" : "0.107"
}
},
+ "target" : "Data::OptList",
"version" : "0.107"
},
"Data::Page" : {
"dist" : "Data-Page-2.02",
- "module" : "Data::Page",
"mymeta" : {
"abstract" : "help when paging through sets of results",
"author" : [
"Based on code originally by Leo Lapworth, with many changes added by\nby Leon Brocard <acme@astray.com>."
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -5939,11 +6331,11 @@
"version" : "2.02"
}
},
+ "target" : "Data::Page",
"version" : "2.02"
},
"Data::UUID" : {
"dist" : "Data-UUID-1.217",
- "module" : "Data::UUID",
"mymeta" : {
"abstract" : "Perl extension for generating Globally/Universally",
"author" : [
@@ -5993,11 +6385,11 @@
"version" : "1.217"
}
},
+ "target" : "Data::UUID",
"version" : "1.217"
},
"Data::Visitor" : {
"dist" : "Data-Visitor-0.27",
- "module" : "Data::Visitor",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -6055,18 +6447,18 @@
"file" : "Data/Visitor/Callback.pm"
}
},
+ "target" : "Data::Visitor",
"version" : "0.27"
},
"DateTime" : {
"dist" : "DateTime-0.70",
- "module" : "DateTime",
"mymeta" : {
"abstract" : "A date and time object",
"author" : [
"Dave Rolsky <autarch@urth.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"artistic_2"
],
@@ -6144,11 +6536,11 @@
"version" : "0.70"
}
},
+ "target" : "DateTime",
"version" : "0.70"
},
"DateTime::Format::Builder" : {
"dist" : "DateTime-Format-Builder-0.80",
- "module" : "DateTime::Format::Builder",
"mymeta" : {
"abstract" : "Create DateTime parser classes and objects.",
"author" : [
@@ -6156,7 +6548,7 @@
"Maintained by Dave Rolsky <autarch@urth.org>."
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -6256,18 +6648,18 @@
"version" : "0.77"
}
},
+ "target" : "DateTime::Format::Builder",
"version" : "0.80"
},
"DateTime::Format::HTTP" : {
"dist" : "DateTime-Format-HTTP-0.40",
- "module" : "DateTime::Format::HTTP",
"mymeta" : {
"abstract" : "Date conversion routines",
"author" : [
"Christiaan Kras <ckras@cpan.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -6312,18 +6704,18 @@
"version" : "0.40"
}
},
+ "target" : "DateTime::Format::HTTP",
"version" : "0.40"
},
"DateTime::Format::ISO8601" : {
"dist" : "DateTime-Format-ISO8601-0.07",
- "module" : "DateTime::Format::ISO8601",
"mymeta" : {
"abstract" : "Parses ISO8601 formats",
"author" : [
"Joshua Hoblitt <jhoblitt@cpan.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -6372,11 +6764,11 @@
"version" : "0.07"
}
},
+ "target" : "DateTime::Format::ISO8601",
"version" : "0.07"
},
"DateTime::Format::Mail" : {
"dist" : "DateTime-Format-Mail-0.3001",
- "module" : "DateTime::Format::Mail",
"mymeta" : {
"abstract" : "Convert between DateTime and RFC2822/822 formats",
"author" : [
@@ -6384,7 +6776,7 @@
"Maintained by Dave Rolsky <autarch@urth.org>."
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -6429,11 +6821,11 @@
"version" : "0.3001"
}
},
+ "target" : "DateTime::Format::Mail",
"version" : "0.3001"
},
"DateTime::Format::Pg" : {
"dist" : "DateTime-Format-Pg-0.16007",
- "module" : "DateTime::Format::Pg",
"mymeta" : {
"abstract" : "Parse and format PostgreSQL dates and times",
"author" : [
@@ -6495,11 +6887,11 @@
"version" : "0.16007"
}
},
+ "target" : "DateTime::Format::Pg",
"version" : "0.16007"
},
"DateTime::Format::Strptime" : {
"dist" : "DateTime-Format-Strptime-1.5000",
- "module" : "DateTime::Format::Strptime",
"mymeta" : {
"abstract" : "Parse and format strp and strf time patterns",
"author" : [
@@ -6553,11 +6945,11 @@
"version" : "1.5000"
}
},
+ "target" : "DateTime::Format::Strptime",
"version" : "1.5000"
},
"DateTime::Format::W3CDTF" : {
"dist" : "DateTime-Format-W3CDTF-0.06",
- "module" : "DateTime::Format::W3CDTF",
"mymeta" : {
"abstract" : "Parse and format W3CDTF datetime strings",
"author" : [
@@ -6622,18 +7014,18 @@
"version" : "0.06"
}
},
+ "target" : "DateTime::Format::W3CDTF",
"version" : "0.06"
},
"DateTime::Locale" : {
"dist" : "DateTime-Locale-0.45",
- "module" : "DateTime::Locale",
"mymeta" : {
"abstract" : "Localization support for DateTime.pm",
"author" : [
"Dave Rolsky <autarch@urth.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -9966,11 +10358,11 @@
"file" : "DateTime/Locale/zu_ZA.pm"
}
},
+ "target" : "DateTime::Locale",
"version" : "0.45"
},
"DateTime::TimeZone" : {
"dist" : "DateTime-TimeZone-1.42",
- "module" : "DateTime::TimeZone",
"mymeta" : {
"abstract" : "Time zone object base class and factory",
"author" : [
@@ -11704,11 +12096,66 @@
"version" : "1.42"
}
},
+ "target" : "DateTime::TimeZone",
"version" : "1.42"
},
+ "Devel::Caller" : {
+ "dist" : "Devel-Caller-2.05",
+ "module" : "Devel::Caller",
+ "mymeta" : {
+ "abstract" : "unknown",
+ "author" : [
+ "unknown"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "ExtUtils::MakeMaker version 6.48, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "unknown"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Devel-Caller",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "PadWalker" : "0.08",
+ "Test::More" : 0
+ }
+ }
+ },
+ "release_status" : "stable",
+ "version" : "2.05"
+ },
+ "name" : "Devel::Caller",
+ "pathname" : "R/RC/RCLAMP/Devel-Caller-2.05.tar.gz",
+ "provides" : {
+ "Devel::Caller" : {
+ "file" : "Devel/Caller.pm",
+ "version" : "2.05"
+ }
+ },
+ "version" : "2.05"
+ },
"Devel::GlobalDestruction" : {
"dist" : "Devel-GlobalDestruction-0.04",
- "module" : "Devel::GlobalDestruction",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -11759,6 +12206,7 @@
"version" : "0.04"
}
},
+ "target" : "Devel::GlobalDestruction",
"version" : "0.04"
},
"Devel::StackTrace" : {
@@ -11824,7 +12272,6 @@
},
"Digest::HMAC" : {
"dist" : "Digest-HMAC-1.03",
- "module" : "Digest::HMAC_MD5",
"mymeta" : {
"abstract" : "Keyed-Hashing for Message Authentication",
"author" : [
@@ -11884,11 +12331,11 @@
"version" : "1.03"
}
},
- "version" : "1.01"
+ "target" : "Digest::HMAC_MD5",
+ "version" : "1.03"
},
"Digest::SHA1" : {
"dist" : "Digest-SHA1-2.13",
- "module" : "Digest::SHA1",
"mymeta" : {
"abstract" : "Perl interface to the SHA-1 algorithm",
"author" : [
@@ -11940,11 +12387,11 @@
"version" : "2.13"
}
},
+ "target" : "Digest::SHA1",
"version" : "2.13"
},
"Dir::Self" : {
"dist" : "Dir-Self-0.10",
- "module" : "Dir::Self",
"mymeta" : {
"abstract" : "a __DIR__ constant for the directory your source file is in",
"author" : [
@@ -11985,11 +12432,11 @@
"version" : "0.10"
}
},
+ "target" : "Dir::Self",
"version" : "0.10"
},
"Dist::CheckConflicts" : {
"dist" : "Dist-CheckConflicts-0.02",
- "module" : "Dist::CheckConflicts",
"mymeta" : {
"abstract" : "declare version conflicts for your dist",
"author" : [
@@ -12239,11 +12686,508 @@
"version" : "0.02"
}
},
+ "target" : "Dist::CheckConflicts",
"version" : "0.02"
},
+ "Dist::Metadata" : {
+ "dist" : "Dist-Metadata-0.923",
+ "module" : "Dist::Metadata",
+ "mymeta" : {
+ "abstract" : "Information about a perl module distribution",
+ "author" : [
+ "Randy Stauner <rwstauner@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Dist::Zilla version 4.300018, CPAN::Meta::Converter version 2.120921, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Dist-Metadata",
+ "no_index" : {
+ "directory" : [
+ "corpus",
+ "examples",
+ "inc",
+ "share",
+ "t",
+ "xt"
+ ],
+ "namespace" : [
+ "Local",
+ "t::lib"
+ ],
+ "package" : [
+ "DB"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0,
+ "File::Spec" : 0,
+ "File::Spec::Functions" : 0,
+ "Test::Fatal" : 0,
+ "Test::MockObject" : "1.09",
+ "Test::More" : "0.96"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.30"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Archive::Tar" : "1",
+ "Archive::Zip" : "1.30",
+ "CPAN::DistnameInfo" : "0.12",
+ "CPAN::Meta" : "2.1",
+ "Carp" : 0,
+ "File::Basename" : 0,
+ "File::Find" : 0,
+ "File::Spec::Native" : "1.002",
+ "File::Temp" : "0.19",
+ "List::Util" : 0,
+ "Module::Metadata" : 0,
+ "Path::Class" : "0.24",
+ "Try::Tiny" : "0.09",
+ "constant" : 0,
+ "parent" : 0,
+ "strict" : 0,
+ "warnings" : 0
+ }
+ }
+ },
+ "provides" : {
+ "Dist::Metadata" : {
+ "file" : "lib/Dist/Metadata.pm",
+ "version" : "0.923"
+ },
+ "Dist::Metadata::Archive" : {
+ "file" : "lib/Dist/Metadata/Archive.pm",
+ "version" : "0.923"
+ },
+ "Dist::Metadata::Dir" : {
+ "file" : "lib/Dist/Metadata/Dir.pm",
+ "version" : "0.923"
+ },
+ "Dist::Metadata::Dist" : {
+ "file" : "lib/Dist/Metadata/Dist.pm",
+ "version" : "0.923"
+ },
+ "Dist::Metadata::Struct" : {
+ "file" : "lib/Dist/Metadata/Struct.pm",
+ "version" : "0.923"
+ },
+ "Dist::Metadata::Tar" : {
+ "file" : "lib/Dist/Metadata/Tar.pm",
+ "version" : "0.923"
+ },
+ "Dist::Metadata::Zip" : {
+ "file" : "lib/Dist/Metadata/Zip.pm",
+ "version" : "0.923"
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "bugtracker" : {
+ "web" : "http://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Metadata"
+ },
+ "homepage" : "https://github.com/rwstauner/Dist-Metadata",
+ "repository" : {
+ "url" : "https://github.com/rwstauner/Dist-Metadata.git"
+ }
+ },
+ "version" : "0.923",
+ "x_Dist_Zilla" : {
+ "plugins" : [
+ {
+ "class" : "Dist::Zilla::Plugin::Git::NextVersion",
+ "name" : "@Author::RWSTAUNER/Git::NextVersion",
+ "version" : "1.121010"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::GenerateFile",
+ "name" : "@Author::RWSTAUNER/GenerateManifestSkip",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::GatherDir",
+ "name" : "@Author::RWSTAUNER/GatherDir",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PruneCruft",
+ "name" : "@Author::RWSTAUNER/PruneCruft",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ManifestSkip",
+ "name" : "@Author::RWSTAUNER/ManifestSkip",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PruneFiles",
+ "name" : "@Author::RWSTAUNER/PruneDevelCoverDatabase",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PruneFiles",
+ "name" : "@Author::RWSTAUNER/PruneCodeStatCollection",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Authority",
+ "name" : "@Author::RWSTAUNER/Authority",
+ "version" : "1.006"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::NextRelease",
+ "name" : "@Author::RWSTAUNER/NextRelease",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PkgVersion",
+ "name" : "@Author::RWSTAUNER/PkgVersion",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Prepender",
+ "name" : "@Author::RWSTAUNER/Prepender",
+ "version" : "1.112280"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PodWeaver",
+ "name" : "@Author::RWSTAUNER/PodWeaver",
+ "version" : "3.101641"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::License",
+ "name" : "@Author::RWSTAUNER/License",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Readme",
+ "name" : "@Author::RWSTAUNER/Readme",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
+ "name" : "@Author::RWSTAUNER/ReadmeAnyFromPod",
+ "version" : "0.120120"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Bugtracker",
+ "name" : "@Author::RWSTAUNER/Bugtracker",
+ "version" : "1.111080"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Repository",
+ "name" : "@Author::RWSTAUNER/Repository",
+ "version" : "0.18"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::GithubMeta",
+ "name" : "@Author::RWSTAUNER/GithubMeta",
+ "version" : "0.28"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::AutoPrereqs",
+ "name" : "@Author::RWSTAUNER/AutoPrereqs",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaNoIndex",
+ "name" : "@Author::RWSTAUNER/MetaNoIndex",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaProvides::Package",
+ "name" : "@Author::RWSTAUNER/MetaProvides::Package",
+ "version" : "1.14000001"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MinimumPerl",
+ "name" : "@Author::RWSTAUNER/MinimumPerl",
+ "version" : "1.003"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaConfig",
+ "name" : "@Author::RWSTAUNER/MetaConfig",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaYAML",
+ "name" : "@Author::RWSTAUNER/MetaYAML",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaJSON",
+ "name" : "@Author::RWSTAUNER/MetaJSON",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ExecDir",
+ "name" : "@Author::RWSTAUNER/ExecDir",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ShareDir",
+ "name" : "@Author::RWSTAUNER/ShareDir",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MakeMaker",
+ "name" : "@Author::RWSTAUNER/MakeMaker",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Test::PodSpelling",
+ "name" : "@Author::RWSTAUNER/Test::PodSpelling",
+ "version" : "2.002004"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Test::UnusedVars",
+ "name" : "@Author::RWSTAUNER/@TestingMania/Test::UnusedVars",
+ "version" : "2.000003"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Test::Synopsis",
+ "name" : "@Author::RWSTAUNER/@TestingMania/Test::Synopsis",
+ "version" : "2.000002"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Test::Version",
+ "name" : "@Author::RWSTAUNER/@TestingMania/Test::Version",
+ "version" : "0.002004"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PodCoverageTests",
+ "name" : "@Author::RWSTAUNER/@TestingMania/PodCoverageTests",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Test::Perl::Critic",
+ "name" : "@Author::RWSTAUNER/@TestingMania/Test::Perl::Critic",
+ "version" : "2.112410"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Test::CPAN::Changes",
+ "name" : "@Author::RWSTAUNER/@TestingMania/Test::CPAN::Changes",
+ "version" : "0.005"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Test::CPAN::Meta::JSON",
+ "name" : "@Author::RWSTAUNER/@TestingMania/Test::CPAN::Meta::JSON",
+ "version" : "0.003"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Test::DistManifest",
+ "name" : "@Author::RWSTAUNER/@TestingMania/Test::DistManifest",
+ "version" : "2.000002"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaTests",
+ "name" : "@Author::RWSTAUNER/@TestingMania/MetaTests",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Test::Compile",
+ "name" : "@Author::RWSTAUNER/@TestingMania/Test::Compile",
+ "version" : "1.112820"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Test::Kwalitee",
+ "name" : "@Author::RWSTAUNER/@TestingMania/Test::Kwalitee",
+ "version" : "2.03"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::NoTabsTests",
+ "name" : "@Author::RWSTAUNER/@TestingMania/NoTabsTests",
+ "version" : "0.01"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Test::MinimumVersion",
+ "name" : "@Author::RWSTAUNER/@TestingMania/Test::MinimumVersion",
+ "version" : "2.000002"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Test::Pod::LinkCheck",
+ "name" : "@Author::RWSTAUNER/@TestingMania/Test::Pod::LinkCheck",
+ "version" : "1.001"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Test::EOL",
+ "name" : "@Author::RWSTAUNER/@TestingMania/Test::EOL",
+ "version" : "0.07"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
+ "name" : "@Author::RWSTAUNER/@TestingMania/PodSyntaxTests",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MojibakeTests",
+ "name" : "@Author::RWSTAUNER/@TestingMania/MojibakeTests",
+ "version" : "0.3"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Manifest",
+ "name" : "@Author::RWSTAUNER/Manifest",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::CheckExtraTests",
+ "name" : "@Author::RWSTAUNER/CheckExtraTests",
+ "version" : "0.006"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::CheckChangesHasContent",
+ "name" : "@Author::RWSTAUNER/CheckChangesHasContent",
+ "version" : "0.005"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::TestRelease",
+ "name" : "@Author::RWSTAUNER/TestRelease",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Check",
+ "name" : "@Author::RWSTAUNER/@Git/Check",
+ "version" : "1.121010"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Commit",
+ "name" : "@Author::RWSTAUNER/@Git/Commit",
+ "version" : "1.121010"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Tag",
+ "name" : "@Author::RWSTAUNER/@Git/Tag",
+ "version" : "1.121010"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Push",
+ "name" : "@Author::RWSTAUNER/@Git/Push",
+ "version" : "1.121010"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ConfirmRelease",
+ "name" : "@Author::RWSTAUNER/ConfirmRelease",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::UploadToCPAN",
+ "name" : "@Author::RWSTAUNER/UploadToCPAN",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::InstallRelease",
+ "name" : "@Author::RWSTAUNER/InstallRelease",
+ "version" : "0.008"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Prereqs",
+ "config" : {
+ "Dist::Zilla::Plugin::Prereqs" : {
+ "phase" : "runtime",
+ "type" : "requires"
+ }
+ },
+ "name" : "Prereqs",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Run::BeforeBuild",
+ "name" : "Run::BeforeBuild",
+ "version" : "0.013"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs",
+ "name" : "Test::ReportPrereqs",
+ "version" : "0.004"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":InstallModules",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":IncModules",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":TestFiles",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":ExecFiles",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":ShareFiles",
+ "version" : "4.300018"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":MainModule",
+ "version" : "4.300018"
+ }
+ ],
+ "zilla" : {
+ "class" : "Dist::Zilla::Dist::Builder",
+ "config" : {
+ "is_trial" : "0"
+ },
+ "version" : "4.300018"
+ }
+ },
+ "x_authority" : "cpan:RWSTAUNER"
+ },
+ "name" : "Dist::Metadata",
+ "pathname" : "R/RW/RWSTAUNER/Dist-Metadata-0.923.tar.gz",
+ "provides" : {
+ "Dist::Metadata" : {
+ "file" : "Dist/Metadata.pm",
+ "version" : "0.923"
+ },
+ "Dist::Metadata::Archive" : {
+ "file" : "Dist/Metadata/Archive.pm",
+ "version" : "0.923"
+ },
+ "Dist::Metadata::Dir" : {
+ "file" : "Dist/Metadata/Dir.pm",
+ "version" : "0.923"
+ },
+ "Dist::Metadata::Dist" : {
+ "file" : "Dist/Metadata/Dist.pm",
+ "version" : "0.923"
+ },
+ "Dist::Metadata::Struct" : {
+ "file" : "Dist/Metadata/Struct.pm",
+ "version" : "0.923"
+ },
+ "Dist::Metadata::Tar" : {
+ "file" : "Dist/Metadata/Tar.pm",
+ "version" : "0.923"
+ },
+ "Dist::Metadata::Zip" : {
+ "file" : "Dist/Metadata/Zip.pm",
+ "version" : "0.923"
+ }
+ },
+ "version" : "0.923"
+ },
"Distribution::Guess::BuildSystem" : {
"dist" : "Distribution-Guess-BuildSystem-0.12",
- "module" : "Distribution::Guess::BuildSystem",
"mymeta" : {
"abstract" : "This is what the module does",
"author" : [
@@ -12296,11 +13240,11 @@
"version" : "0.12"
}
},
+ "target" : "Distribution::Guess::BuildSystem",
"version" : "0.12"
},
"Email::Address" : {
"dist" : "Email-Address-1.892",
- "module" : "Email::Address",
"mymeta" : {
"abstract" : "RFC 2822 Address Parsing",
"author" : [
@@ -12350,11 +13294,11 @@
"version" : "1.892"
}
},
+ "target" : "Email::Address",
"version" : "1.892"
},
"Email::Date::Format" : {
"dist" : "Email-Date-Format-1.002",
- "module" : "Email::Date::Format",
"mymeta" : {
"abstract" : "produce RFC 8822 date strings",
"author" : [
@@ -12394,11 +13338,11 @@
"version" : "1.002"
}
},
+ "target" : "Email::Date::Format",
"version" : "1.002"
},
"Email::Send" : {
"dist" : "Email-Send-2.198",
- "module" : "Email::Send",
"mymeta" : {
"abstract" : "Simply Sending Email",
"author" : [
@@ -12475,11 +13419,11 @@
"version" : "2.198"
}
},
+ "target" : "Email::Send",
"version" : "2.198"
},
"Email::Simple" : {
"dist" : "Email-Simple-2.100",
- "module" : "Email::Simple",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -12541,11 +13485,11 @@
"version" : "2.005"
}
},
+ "target" : "Email::Simple",
"version" : "2.100"
},
"Email::Valid" : {
"dist" : "Email-Valid-0.185",
- "module" : "Email::Valid",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -12603,11 +13547,11 @@
"version" : "0.185"
}
},
+ "target" : "Email::Valid",
"version" : "0.185"
},
"Encode::Locale" : {
"dist" : "Encode-Locale-1.02",
- "module" : "Encode::Locale",
"mymeta" : {
"abstract" : "Determine the locale encoding",
"author" : [
@@ -12668,11 +13612,11 @@
"version" : "1.02"
}
},
+ "target" : "Encode::Locale",
"version" : "1.02"
},
"Eval::Closure" : {
"dist" : "Eval-Closure-0.06",
- "module" : "Eval::Closure",
"mymeta" : {
"abstract" : "safely and cleanly create closures via string eval",
"author" : [
@@ -12959,6 +13903,7 @@
"version" : "0.06"
}
},
+ "target" : "Eval::Closure",
"version" : "0.06"
},
"Exception::Class" : {
@@ -13024,16 +13969,15 @@
"version" : "1.32"
},
"ExtUtils::CBuilder" : {
- "dist" : "ExtUtils-CBuilder-0.280202",
+ "dist" : "ExtUtils-CBuilder-0.280205",
"module" : "ExtUtils::CBuilder",
"mymeta" : {
"abstract" : "Compile and link C code for Perl modules",
"author" : [
- "Ken Williams <kwilliams@cpan.org>",
- "The Perl 5 Porters"
+ "Ken Williams <kwilliams@cpan.org>, The Perl 5 Porters"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 4.200001, CPAN::Meta::Converter version 2.102400, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.120351, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -13042,6 +13986,12 @@
"version" : "2"
},
"name" : "ExtUtils-CBuilder",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
+ },
"prereqs" : {
"build" : {
"requires" : {
@@ -13050,7 +14000,7 @@
},
"configure" : {
"requires" : {
- "ExtUtils::MakeMaker" : "6.31"
+ "ExtUtils::MakeMaker" : "6.30"
}
},
"runtime" : {
@@ -13061,248 +14011,71 @@
"File::Temp" : 0,
"IO::File" : 0,
"IPC::Cmd" : 0,
+ "Perl::OSType" : 0,
"Text::ParseWords" : 0
}
}
},
"release_status" : "stable",
- "resources" : {
- "bugtracker" : {
- "web" : "http://rt.perl.org/rt3/"
- },
- "homepage" : "http://search.cpan.org/dist/ExtUtils-CBuilder",
- "repository" : {
- "type" : "git",
- "url" : "git://github.com/dagolden/extutils-cbuilder.git"
- }
- },
- "version" : "0.280202",
- "x_Dist_Zilla" : {
- "plugins" : [
- {
- "class" : "Dist::Zilla::Plugin::VersionFromModule",
- "name" : "VersionFromModule",
- "version" : "0.08"
- },
- {
- "class" : "Dist::Zilla::Plugin::CheckExtraTests",
- "name" : "CheckExtraTests",
- "version" : "0.004"
- },
- {
- "class" : "Dist::Zilla::Plugin::CheckChangesHasContent",
- "name" : "CheckChangesHasContent",
- "version" : "0.003"
- },
- {
- "class" : "Dist::Zilla::Plugin::GatherDir",
- "name" : "@Filter/GatherDir",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::PruneCruft",
- "name" : "@Filter/PruneCruft",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::ManifestSkip",
- "name" : "@Filter/ManifestSkip",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::MetaYAML",
- "name" : "@Filter/MetaYAML",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::License",
- "name" : "@Filter/License",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::Readme",
- "name" : "@Filter/Readme",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::ExecDir",
- "name" : "@Filter/ExecDir",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::ShareDir",
- "name" : "@Filter/ShareDir",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::MakeMaker",
- "name" : "@Filter/MakeMaker",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::Manifest",
- "name" : "@Filter/Manifest",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::TestRelease",
- "name" : "@Filter/TestRelease",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::ConfirmRelease",
- "name" : "@Filter/ConfirmRelease",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::UploadToCPAN",
- "name" : "@Filter/UploadToCPAN",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::PruneFiles",
- "name" : "PruneFiles",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::DualLife",
- "name" : "DualLife",
- "version" : "0.01"
- },
- {
- "class" : "Dist::Zilla::Plugin::MetaConfig",
- "name" : "MetaConfig",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::MetaJSON",
- "name" : "MetaJSON",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
- "name" : "PodSyntaxTests",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::EOLTests",
- "name" : "EOLTests",
- "version" : "0.02"
- },
- {
- "class" : "Dist::Zilla::Plugin::Prereqs",
- "config" : {
- "Dist::Zilla::Plugin::Prereqs" : {
- "phase" : "runtime",
- "type" : "requires"
- }
- },
- "name" : "Prereqs",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::Prereqs",
- "config" : {
- "Dist::Zilla::Plugin::Prereqs" : {
- "phase" : "test",
- "type" : "requires"
- }
- },
- "name" : "TestRequires",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::MetaResources",
- "name" : "MetaResources",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::FinderCode",
- "name" : ":InstallModules",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::FinderCode",
- "name" : ":TestFiles",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::FinderCode",
- "name" : ":ExecFiles",
- "version" : "4.200001"
- },
- {
- "class" : "Dist::Zilla::Plugin::FinderCode",
- "name" : ":ShareFiles",
- "version" : "4.200001"
- }
- ],
- "zilla" : {
- "class" : "Dist::Zilla::Dist::Builder",
- "config" : {
- "is_trial" : 0
- },
- "version" : "4.200001"
- }
- }
+ "version" : "0.280205"
},
"name" : "ExtUtils::CBuilder",
- "pathname" : "D/DA/DAGOLDEN/ExtUtils-CBuilder-0.280202.tar.gz",
+ "pathname" : "D/DA/DAGOLDEN/ExtUtils-CBuilder-0.280205.tar.gz",
"provides" : {
"ExtUtils::CBuilder" : {
"file" : "ExtUtils/CBuilder.pm",
- "version" : "0.280202"
+ "version" : "0.280205"
},
"ExtUtils::CBuilder::Base" : {
"file" : "ExtUtils/CBuilder/Base.pm",
- "version" : "0.280202"
+ "version" : "0.280205"
},
"ExtUtils::CBuilder::Platform::Unix" : {
"file" : "ExtUtils/CBuilder/Platform/Unix.pm",
- "version" : "0.280202"
+ "version" : "0.280205"
},
"ExtUtils::CBuilder::Platform::VMS" : {
"file" : "ExtUtils/CBuilder/Platform/VMS.pm",
- "version" : "0.280202"
+ "version" : "0.280205"
},
"ExtUtils::CBuilder::Platform::Windows" : {
"file" : "ExtUtils/CBuilder/Platform/Windows.pm",
- "version" : "0.280202"
+ "version" : "0.280205"
},
"ExtUtils::CBuilder::Platform::Windows::BCC" : {
"file" : "ExtUtils/CBuilder/Platform/Windows/BCC.pm",
- "version" : "0.280202"
+ "version" : "0.280205"
},
"ExtUtils::CBuilder::Platform::Windows::GCC" : {
"file" : "ExtUtils/CBuilder/Platform/Windows/GCC.pm",
- "version" : "0.280202"
+ "version" : "0.280205"
},
"ExtUtils::CBuilder::Platform::Windows::MSVC" : {
"file" : "ExtUtils/CBuilder/Platform/Windows/MSVC.pm",
- "version" : "0.280202"
+ "version" : "0.280205"
},
"ExtUtils::CBuilder::Platform::aix" : {
"file" : "ExtUtils/CBuilder/Platform/aix.pm",
- "version" : "0.280202"
+ "version" : "0.280205"
},
"ExtUtils::CBuilder::Platform::cygwin" : {
"file" : "ExtUtils/CBuilder/Platform/cygwin.pm",
- "version" : "0.280202"
+ "version" : "0.280205"
},
"ExtUtils::CBuilder::Platform::darwin" : {
"file" : "ExtUtils/CBuilder/Platform/darwin.pm",
- "version" : "0.280202"
+ "version" : "0.280205"
},
"ExtUtils::CBuilder::Platform::dec_osf" : {
"file" : "ExtUtils/CBuilder/Platform/dec_osf.pm",
- "version" : "0.280202"
+ "version" : "0.280205"
},
"ExtUtils::CBuilder::Platform::os2" : {
"file" : "ExtUtils/CBuilder/Platform/os2.pm",
- "version" : "0.280202"
+ "version" : "0.280205"
}
},
- "version" : "0.280202"
+ "version" : "0.280205"
},
"ExtUtils::MakeMaker" : {
"dist" : "ExtUtils-MakeMaker-6.62",
@@ -13667,7 +14440,6 @@
},
"FCGI" : {
"dist" : "FCGI-0.74",
- "module" : "FCGI",
"mymeta" : {
"abstract" : "Fast CGI module",
"author" : [
@@ -13724,11 +14496,112 @@
"file" : "FCGI.pm"
}
},
+ "target" : "FCGI",
"version" : "0.74"
},
+ "File::ChangeNotify" : {
+ "dist" : "File-ChangeNotify-0.22",
+ "module" : "File::ChangeNotify",
+ "mymeta" : {
+ "abstract" : "Watch for changes to files, cross-platform style",
+ "author" : [
+ "Dave Rolsky <autarch@urth.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "artistic_2"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "File-ChangeNotify",
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "Data::Dumper" : 0,
+ "Exporter" : 0,
+ "File::Path" : 0,
+ "File::Temp" : 0,
+ "FindBin" : 0,
+ "Module::Build" : "0.3601",
+ "Test::Exception" : 0,
+ "Test::More" : 0,
+ "base" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "Module::Build" : "0.3601"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Carp" : 0,
+ "Class::Load" : 0,
+ "File::Find" : 0,
+ "File::Spec" : 0,
+ "List::MoreUtils" : 0,
+ "Module::Pluggable::Object" : 0,
+ "Moose" : 0,
+ "Moose::Util::TypeConstraints" : 0,
+ "MooseX::Params::Validate" : 0,
+ "MooseX::SemiAffordanceAccessor" : 0,
+ "Time::HiRes" : 0,
+ "namespace::autoclean" : 0,
+ "strict" : 0,
+ "warnings" : 0
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "bugtracker" : {
+ "web" : "http://rt.cpan.org/NoAuth/Bugs.html?Dist=File-ChangeNotify"
+ },
+ "repository" : {
+ "type" : "git",
+ "url" : "git://git.urth.org/File-ChangeNotify.git"
+ }
+ },
+ "version" : "0.22"
+ },
+ "name" : "File::ChangeNotify",
+ "pathname" : "D/DR/DROLSKY/File-ChangeNotify-0.22.tar.gz",
+ "provides" : {
+ "File::ChangeNotify" : {
+ "file" : "File/ChangeNotify.pm",
+ "version" : "0.22"
+ },
+ "File::ChangeNotify::ConfigData" : {
+ "file" : "File/ChangeNotify/ConfigData.pm"
+ },
+ "File::ChangeNotify::Event" : {
+ "file" : "File/ChangeNotify/Event.pm",
+ "version" : "0.22"
+ },
+ "File::ChangeNotify::Watcher" : {
+ "file" : "File/ChangeNotify/Watcher.pm",
+ "version" : "0.22"
+ },
+ "File::ChangeNotify::Watcher::Default" : {
+ "file" : "File/ChangeNotify/Watcher/Default.pm",
+ "version" : "0.22"
+ },
+ "File::ChangeNotify::Watcher::Inotify" : {
+ "file" : "File/ChangeNotify/Watcher/Inotify.pm",
+ "version" : "0.22"
+ },
+ "File::ChangeNotify::Watcher::KQueue" : {
+ "file" : "File/ChangeNotify/Watcher/KQueue.pm",
+ "version" : "0.22"
+ }
+ },
+ "version" : "0.22"
+ },
"File::Find::Closures" : {
"dist" : "File-Find-Closures-1.09",
- "module" : "File::Find::Closures",
"mymeta" : {
"abstract" : "functions you can use with File::Find",
"author" : [
@@ -13767,11 +14640,11 @@
"version" : "1.09"
}
},
+ "target" : "File::Find::Closures",
"version" : "1.09"
},
"File::Find::Rule" : {
"dist" : "File-Find-Rule-0.33",
- "module" : "File::Find::Rule",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -13825,11 +14698,11 @@
"version" : "0.33"
}
},
+ "target" : "File::Find::Rule",
"version" : "0.33"
},
"File::Listing" : {
"dist" : "File-Listing-6.03",
- "module" : "File::Listing",
"mymeta" : {
"abstract" : "parse directory listing",
"author" : [
@@ -13901,11 +14774,11 @@
"file" : "File/Listing.pm"
}
},
+ "target" : "File::Listing",
"version" : "6.03"
},
"File::Remove" : {
"dist" : "File-Remove-1.48",
- "module" : "File::Remove",
"mymeta" : {
"abstract" : "Remove files and directories",
"author" : [
@@ -13969,11 +14842,82 @@
"version" : "1.48"
}
},
+ "target" : "File::Remove",
"version" : "1.48"
},
+ "File::ShareDir" : {
+ "dist" : "File-ShareDir-1.03",
+ "module" : "File::ShareDir",
+ "mymeta" : {
+ "abstract" : "Locate per-dist and per-module shared files",
+ "author" : [
+ "Adam Kennedy <adamk@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Module::Install version 1.00, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "File-ShareDir",
+ "no_index" : {
+ "directory" : [
+ "foo",
+ "inc",
+ "share",
+ "t",
+ "xt"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.42",
+ "Test::More" : "0.47"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.42"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Carp" : 0,
+ "Class::Inspector" : "1.12",
+ "File::Spec" : "0.80",
+ "perl" : "5.005"
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "license" : [
+ "http://dev.perl.org/licenses/"
+ ],
+ "repository" : {
+ "url" : "http://svn.ali.as/cpan/trunk/File-ShareDir"
+ },
+ "x_ChangeLog" : "http://fisheye2.atlassian.com/changelog/cpan/trunk/File-ShareDir"
+ },
+ "version" : "1.03",
+ "x_module_name" : "File::ShareDir"
+ },
+ "name" : "File::ShareDir",
+ "pathname" : "A/AD/ADAMK/File-ShareDir-1.03.tar.gz",
+ "provides" : {
+ "File::ShareDir" : {
+ "file" : "File/ShareDir.pm",
+ "version" : "1.03"
+ }
+ },
+ "version" : "1.03"
+ },
"File::Slurp" : {
"dist" : "File-Slurp-9999.19",
- "module" : "File::Slurp",
"mymeta" : {
"abstract" : "Simple and Efficient Reading/Writing/Modifying of Complete Files",
"author" : [
@@ -14015,11 +14959,528 @@
"version" : "9999.19"
}
},
+ "target" : "File::Slurp",
"version" : "9999.19"
},
+ "File::Spec::Native" : {
+ "dist" : "File-Spec-Native-1.003",
+ "module" : "File::Spec::Native",
+ "mymeta" : {
+ "abstract" : "Use native OS implementation of File::Spec from a subclass",
+ "author" : [
+ "Randy Stauner <rwstauner@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Dist::Zilla version 4.200009, CPAN::Meta::Converter version 2.110930001, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "File-Spec-Native",
+ "no_index" : {
+ "directory" : [
+ "corpus",
+ "examples",
+ "inc",
+ "share",
+ "t",
+ "xt"
+ ],
+ "namespace" : [
+ "Local",
+ "t::lib"
+ ],
+ "package" : [
+ "DB"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "File::Find" : 0,
+ "File::Spec::Functions" : 0,
+ "File::Temp" : 0,
+ "Test::More" : "0.88"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.30"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "File::Spec" : 0
+ }
+ }
+ },
+ "provides" : {
+ "File::Spec::Native" : {
+ "file" : "lib/File/Spec/Native.pm",
+ "version" : "1.003"
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "bugtracker" : {
+ "web" : "http://rt.cpan.org/Public/Dist/Display.html?Name=File-Spec-Native"
+ },
+ "homepage" : "http://github.com/rwstauner/File-Spec-Native",
+ "repository" : {
+ "url" : "http://github.com/rwstauner/File-Spec-Native"
+ }
+ },
+ "version" : "1.003",
+ "x_Dist_Zilla" : {
+ "plugins" : [
+ {
+ "class" : "Dist::Zilla::Plugin::Git::NextVersion",
+ "name" : "@Author::RWSTAUNER/Git::NextVersion",
+ "version" : "1.111590"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::GenerateFile",
+ "name" : "@Author::RWSTAUNER/GenerateManifestSkip",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::GatherDir",
+ "name" : "@Author::RWSTAUNER/GatherDir",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PruneCruft",
+ "name" : "@Author::RWSTAUNER/PruneCruft",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ManifestSkip",
+ "name" : "@Author::RWSTAUNER/ManifestSkip",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PruneFiles",
+ "name" : "@Author::RWSTAUNER/PruneBuilderFiles",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PruneFiles",
+ "name" : "@Author::RWSTAUNER/PruneRepoMetaFiles",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PruneFiles",
+ "name" : "@Author::RWSTAUNER/PruneDevelCoverDatabase",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Authority",
+ "name" : "@Author::RWSTAUNER/Authority",
+ "version" : "1.005"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::NextRelease",
+ "name" : "@Author::RWSTAUNER/NextRelease",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PkgVersion",
+ "name" : "@Author::RWSTAUNER/PkgVersion",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Prepender",
+ "name" : "@Author::RWSTAUNER/Prepender",
+ "version" : "1.103470"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PodWeaver",
+ "name" : "@Author::RWSTAUNER/PodWeaver",
+ "version" : "3.101641"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::License",
+ "name" : "@Author::RWSTAUNER/License",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Readme",
+ "name" : "@Author::RWSTAUNER/Readme",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Bugtracker",
+ "name" : "@Author::RWSTAUNER/Bugtracker",
+ "version" : "1.111080"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Repository",
+ "name" : "@Author::RWSTAUNER/Repository",
+ "version" : "0.18"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::GithubMeta",
+ "name" : "@Author::RWSTAUNER/GithubMeta",
+ "version" : "0.14"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::AutoPrereqs",
+ "name" : "@Author::RWSTAUNER/AutoPrereqs",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaNoIndex",
+ "name" : "@Author::RWSTAUNER/MetaNoIndex",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaProvides::Package",
+ "name" : "@Author::RWSTAUNER/MetaProvides::Package",
+ "version" : "1.12060501"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MinimumPerl",
+ "name" : "@Author::RWSTAUNER/MinimumPerl",
+ "version" : "1.003"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaConfig",
+ "name" : "@Author::RWSTAUNER/MetaConfig",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaYAML",
+ "name" : "@Author::RWSTAUNER/MetaYAML",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaJSON",
+ "name" : "@Author::RWSTAUNER/MetaJSON",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ExecDir",
+ "name" : "@Author::RWSTAUNER/ExecDir",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ShareDir",
+ "name" : "@Author::RWSTAUNER/ShareDir",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MakeMaker",
+ "name" : "@Author::RWSTAUNER/MakeMaker",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ReportVersions::Tiny",
+ "name" : "@Author::RWSTAUNER/ReportVersions::Tiny",
+ "version" : "1.03_01"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PodSpellingTests",
+ "name" : "@Author::RWSTAUNER/PodSpellingTests",
+ "version" : "1.111520"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::UnusedVarsTests",
+ "name" : "@Author::RWSTAUNER/@TestingMania/UnusedVarsTests",
+ "version" : "1.100860"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PortabilityTests",
+ "name" : "@Author::RWSTAUNER/@TestingMania/PortabilityTests",
+ "version" : "1.111840"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Test::Version",
+ "name" : "@Author::RWSTAUNER/@TestingMania/Test::Version",
+ "version" : "0.1.2"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PodCoverageTests",
+ "name" : "@Author::RWSTAUNER/@TestingMania/PodCoverageTests",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::CompileTests",
+ "name" : "@Author::RWSTAUNER/@TestingMania/CompileTests",
+ "version" : "1.110930"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Test::CPAN::Changes",
+ "name" : "@Author::RWSTAUNER/@TestingMania/Test::CPAN::Changes",
+ "version" : "0.005"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaTests",
+ "name" : "@Author::RWSTAUNER/@TestingMania/MetaTests",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::KwaliteeTests",
+ "name" : "@Author::RWSTAUNER/@TestingMania/KwaliteeTests",
+ "version" : "1.101420"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MinimumVersionTests",
+ "name" : "@Author::RWSTAUNER/@TestingMania/MinimumVersionTests",
+ "version" : "1.101421"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::CriticTests",
+ "name" : "@Author::RWSTAUNER/@TestingMania/CriticTests",
+ "version" : "1.111450"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::DistManifestTests",
+ "name" : "@Author::RWSTAUNER/@TestingMania/DistManifestTests",
+ "version" : "1.101420"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Test::CPAN::Meta::JSON",
+ "name" : "@Author::RWSTAUNER/@TestingMania/Test::CPAN::Meta::JSON",
+ "version" : "0.003"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::SynopsisTests",
+ "name" : "@Author::RWSTAUNER/@TestingMania/SynopsisTests",
+ "version" : "1.101420"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::EOLTests",
+ "name" : "@Author::RWSTAUNER/@TestingMania/EOLTests",
+ "version" : "0.02"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Test::Pod::LinkCheck",
+ "name" : "@Author::RWSTAUNER/@TestingMania/Test::Pod::LinkCheck",
+ "version" : "1.001"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::NoTabsTests",
+ "name" : "@Author::RWSTAUNER/@TestingMania/NoTabsTests",
+ "version" : "0.01"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MojibakeTests",
+ "name" : "@Author::RWSTAUNER/@TestingMania/MojibakeTests",
+ "version" : "0.3"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
+ "name" : "@Author::RWSTAUNER/@TestingMania/PodSyntaxTests",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Manifest",
+ "name" : "@Author::RWSTAUNER/Manifest",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::CheckExtraTests",
+ "name" : "@Author::RWSTAUNER/CheckExtraTests",
+ "version" : "0.004"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::CheckChangesHasContent",
+ "name" : "@Author::RWSTAUNER/CheckChangesHasContent",
+ "version" : "0.003"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::TestRelease",
+ "name" : "@Author::RWSTAUNER/TestRelease",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ConfirmRelease",
+ "name" : "@Author::RWSTAUNER/ConfirmRelease",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::UploadToCPAN",
+ "name" : "@Author::RWSTAUNER/UploadToCPAN",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Check",
+ "name" : "@Author::RWSTAUNER/@Git/Check",
+ "version" : "1.111590"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Commit",
+ "name" : "@Author::RWSTAUNER/@Git/Commit",
+ "version" : "1.111590"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Tag",
+ "name" : "@Author::RWSTAUNER/@Git/Tag",
+ "version" : "1.111590"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Push",
+ "name" : "@Author::RWSTAUNER/@Git/Push",
+ "version" : "1.111590"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::InstallRelease",
+ "name" : "@Author::RWSTAUNER/InstallRelease",
+ "version" : "0.007"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":InstallModules",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":IncModules",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":TestFiles",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":ExecFiles",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":ShareFiles",
+ "version" : "4.200009"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":MainModule",
+ "version" : "4.200009"
+ }
+ ],
+ "zilla" : {
+ "class" : "Dist::Zilla::Dist::Builder",
+ "config" : {
+ "is_trial" : 0
+ },
+ "version" : "4.200009"
+ }
+ },
+ "x_authority" : "cpan:RWSTAUNER"
+ },
+ "name" : "File::Spec::Native",
+ "pathname" : "R/RW/RWSTAUNER/File-Spec-Native-1.003.tar.gz",
+ "provides" : {
+ "File::Spec::Native" : {
+ "file" : "File/Spec/Native.pm",
+ "version" : "1.003"
+ }
+ },
+ "version" : "1.003"
+ },
+ "File::chdir" : {
+ "dist" : "File-chdir-0.1006",
+ "module" : "File::chdir",
+ "mymeta" : {
+ "abstract" : "a more sensible way to change directories",
+ "author" : [
+ "David A Golden <dagolden@cpan.org>",
+ "Michael G Schwern <schwern@pobox.com> (original author)"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Dist::Zilla version 4.300002, CPAN::Meta::Converter version 2.112580, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "File-chdir",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "xt",
+ "examples",
+ "corpus"
+ ],
+ "package" : [
+ "DB"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "File::Find" : 0,
+ "File::Temp" : 0,
+ "Test::More" : 0,
+ "warnings" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.30"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Carp" : 0,
+ "Cwd" : "3.16",
+ "Exporter" : 0,
+ "File::Spec::Functions" : "3.27",
+ "strict" : 0,
+ "vars" : 0
+ }
+ }
+ },
+ "provides" : {
+ "File::chdir" : {
+ "file" : "lib/File/chdir.pm",
+ "version" : "0.1006"
+ },
+ "File::chdir::ARRAY" : {
+ "file" : "lib/File/chdir.pm",
+ "version" : "0.1006"
+ },
+ "File::chdir::SCALAR" : {
+ "file" : "lib/File/chdir.pm",
+ "version" : "0.1006"
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "bugtracker" : {
+ "web" : "http://rt.cpan.org/Public/Dist/Display.html?Name=File-chdir"
+ },
+ "homepage" : "https://github.com/dagolden/file-chdir",
+ "repository" : {
+ "url" : "https://github.com/dagolden/file-chdir.git"
+ }
+ },
+ "version" : "0.1006"
+ },
+ "name" : "File::chdir",
+ "pathname" : "D/DA/DAGOLDEN/File-chdir-0.1006.tar.gz",
+ "provides" : {
+ "File::chdir" : {
+ "file" : "File/chdir.pm",
+ "version" : "0.1006"
+ },
+ "File::chdir::ARRAY" : {
+ "file" : "File/chdir.pm"
+ },
+ "File::chdir::SCALAR" : {
+ "file" : "File/chdir.pm"
+ }
+ },
+ "version" : "0.1006"
+ },
"Geography::NationalGrid" : {
"dist" : "Geography-NationalGrid-1.6",
- "module" : "Geography::NationalGrid",
"mymeta" : {
"abstract" : "Convert national grid references to/from lat/long",
"author" : [
@@ -14075,11 +15536,11 @@
"version" : "1.2"
}
},
+ "target" : "Geography::NationalGrid",
"version" : "1.6"
},
"Getopt::Long::Descriptive" : {
"dist" : "Getopt-Long-Descriptive-0.090",
- "module" : "Getopt::Long::Descriptive",
"mymeta" : {
"abstract" : "Getopt::Long, but simpler and more powerful",
"author" : [
@@ -14328,11 +15789,11 @@
"version" : "0.090"
}
},
+ "target" : "Getopt::Long::Descriptive",
"version" : "0.090"
},
"HTML::Form" : {
"dist" : "HTML-Form-6.00",
- "module" : "HTML::Form",
"mymeta" : {
"abstract" : "Class that represents an HTML form element",
"author" : [
@@ -14417,11 +15878,11 @@
"file" : "HTML/Form.pm"
}
},
+ "target" : "HTML::Form",
"version" : "6.00"
},
"HTML::Parser" : {
"dist" : "HTML-Parser-3.69",
- "module" : "HTML::Parser",
"mymeta" : {
"abstract" : "HTML parser class",
"author" : [
@@ -14506,11 +15967,11 @@
"version" : "3.69"
}
},
+ "target" : "HTML::Parser",
"version" : "3.69"
},
"HTML::Selector::XPath" : {
"dist" : "HTML-Selector-XPath-0.12",
- "module" : "HTML::Selector::XPath",
"mymeta" : {
"abstract" : "CSS Selector to XPath compiler",
"author" : [
@@ -14567,11 +16028,11 @@
"version" : "0.12"
}
},
+ "target" : "HTML::Selector::XPath",
"version" : "0.12"
},
"HTML::Tagset" : {
"dist" : "HTML-Tagset-3.20",
- "module" : "HTML::Tagset",
"mymeta" : {
"abstract" : "data tables useful in parsing HTML",
"author" : [
@@ -14608,18 +16069,18 @@
"version" : "3.20"
}
},
+ "target" : "HTML::Tagset",
"version" : "3.20"
},
"HTML::Tree" : {
"dist" : "HTML-Tree-4.2",
- "module" : "HTML::TreeBuilder",
"mymeta" : {
"abstract" : "Class for objects that represent HTML elements",
"author" : [
"Jeff Fearn <jfearn@cpan.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -14713,11 +16174,11 @@
"version" : "4.2"
}
},
+ "target" : "HTML::TreeBuilder",
"version" : "4.2"
},
"HTML::TreeBuilder::XPath" : {
"dist" : "HTML-TreeBuilder-XPath-0.14",
- "module" : "HTML::TreeBuilder::XPath",
"mymeta" : {
"abstract" : "add XPath support to HTML::TreeBuilder",
"author" : [
@@ -14784,11 +16245,11 @@
"file" : "HTML/TreeBuilder/XPath.pm"
}
},
+ "target" : "HTML::TreeBuilder::XPath",
"version" : "0.14"
},
"HTTP::Body" : {
"dist" : "HTTP-Body-1.15",
- "module" : "HTTP::Body",
"mymeta" : {
"abstract" : "HTTP Body Parser",
"author" : [
@@ -14866,11 +16327,11 @@
"version" : "1.15"
}
},
+ "target" : "HTTP::Body",
"version" : "1.15"
},
"HTTP::Cookies" : {
"dist" : "HTTP-Cookies-6.00",
- "module" : "HTTP::Cookies",
"mymeta" : {
"abstract" : "HTTP cookie jars",
"author" : [
@@ -14937,11 +16398,11 @@
"version" : "6.00"
}
},
+ "target" : "HTTP::Cookies",
"version" : "6.00"
},
"HTTP::Daemon" : {
"dist" : "HTTP-Daemon-6.00",
- "module" : "HTTP::Daemon",
"mymeta" : {
"abstract" : "a simple http server class",
"author" : [
@@ -15007,11 +16468,11 @@
"file" : "HTTP/Daemon.pm"
}
},
+ "target" : "HTTP::Daemon",
"version" : "6.00"
},
"HTTP::Date" : {
"dist" : "HTTP-Date-6.00",
- "module" : "HTTP::Date",
"mymeta" : {
"abstract" : "date conversion routines",
"author" : [
@@ -15071,11 +16532,11 @@
"version" : "6.00"
}
},
+ "target" : "HTTP::Date",
"version" : "6.00"
},
"HTTP::Message" : {
"dist" : "HTTP-Message-6.02",
- "module" : "HTTP::Status",
"mymeta" : {
"abstract" : "HTTP style messages",
"author" : [
@@ -15183,11 +16644,11 @@
"version" : "6.00"
}
},
- "version" : "6.00"
+ "target" : "HTTP::Status",
+ "version" : "6.02"
},
"HTTP::Negotiate" : {
"dist" : "HTTP-Negotiate-6.00",
- "module" : "HTTP::Negotiate",
"mymeta" : {
"abstract" : "choose a variant to serve",
"author" : [
@@ -15244,11 +16705,11 @@
"version" : "6.00"
}
},
+ "target" : "HTTP::Negotiate",
"version" : "6.00"
},
"HTTP::Request::AsCGI" : {
"dist" : "HTTP-Request-AsCGI-1.2",
- "module" : "HTTP::Request::AsCGI",
"mymeta" : {
"abstract" : "Set up a CGI environment from an HTTP::Request",
"author" : [
@@ -15299,11 +16760,11 @@
"version" : "1.2"
}
},
+ "target" : "HTTP::Request::AsCGI",
"version" : "1.2"
},
"HTTP::Server::Simple" : {
"dist" : "HTTP-Server-Simple-0.44",
- "module" : "HTTP::Server::Simple",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -15368,11 +16829,11 @@
"version" : "0"
}
},
+ "target" : "HTTP::Server::Simple",
"version" : "0.44"
},
"Hash::Merge" : {
"dist" : "Hash-Merge-0.12",
- "module" : "Hash::Merge",
"mymeta" : {
"abstract" : "Merges arbitrarily deep hashes into a single hash",
"author" : [
@@ -15423,18 +16884,18 @@
"version" : "0.12"
}
},
+ "target" : "Hash::Merge",
"version" : "0.12"
},
"Hook::LexWrap" : {
"dist" : "Hook-LexWrap-0.24",
- "module" : "Hook::LexWrap",
"mymeta" : {
"abstract" : "Lexically scoped subroutine wrappers",
"author" : [
"Damian Conway (damian@conway.org)"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -15487,11 +16948,11 @@
"file" : "Hook/LexWrap.pm"
}
},
+ "target" : "Hook::LexWrap",
"version" : "0.24"
},
"IO::Compress" : {
"dist" : "IO-Compress-2.048",
- "module" : "IO::Compress::Bzip2",
"mymeta" : {
"abstract" : "IO Interface to compressed data files/buffers",
"author" : [
@@ -15546,6 +17007,7 @@
"file" : "File/GlobMapper.pm",
"version" : "1.000"
},
+ "IO::Compress" : {},
"IO::Compress::Adapter::Bzip2" : {
"file" : "IO/Compress/Adapter/Bzip2.pm",
"version" : "2.048"
@@ -15656,11 +17118,11 @@
"file" : "Compress/Zlib.pm"
}
},
+ "target" : "IO::Compress::Bzip2",
"version" : "2.048"
},
"IO::String" : {
"dist" : "IO-String-1.08",
- "module" : "IO::String",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -15708,11 +17170,11 @@
"version" : "1.08"
}
},
+ "target" : "IO::String",
"version" : "1.08"
},
"IO::Stringy" : {
"dist" : "IO-stringy-2.110",
- "module" : "IO::Scalar",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -15794,11 +17256,11 @@
"file" : "IO/WrapTie.pm"
}
},
+ "target" : "IO::Scalar",
"version" : "2.110"
},
"IPC::Run3" : {
"dist" : "IPC-Run3-0.044",
- "module" : "IPC::Run3",
"mymeta" : {
"abstract" : "run a subprocess with input/ouput redirection",
"author" : [
@@ -15876,11 +17338,11 @@
"version" : "0.044"
}
},
+ "target" : "IPC::Run3",
"version" : "0.044"
},
"Image::Size" : {
"dist" : "Image-Size-3.230",
- "module" : "Image::Size",
"mymeta" : {
"abstract" : "A library to extract height/width from images",
"author" : [
@@ -15947,6 +17409,7 @@
"version" : "3.230"
}
},
+ "target" : "Image::Size",
"version" : "3.230"
},
"JSON" : {
@@ -16035,7 +17498,6 @@
},
"LWP" : {
"dist" : "libwww-perl-6.03",
- "module" : "LWP",
"mymeta" : {
"abstract" : "The World-Wide Web library for Perl",
"author" : [
@@ -16200,11 +17662,11 @@
"version" : "6.03"
}
},
+ "target" : "LWP",
"version" : "6.03"
},
"LWP::MediaTypes" : {
"dist" : "LWP-MediaTypes-6.01",
- "module" : "LWP::MediaTypes",
"mymeta" : {
"abstract" : "guess media type for a file or a URL",
"author" : [
@@ -16260,18 +17722,18 @@
"version" : "6.01"
}
},
+ "target" : "LWP::MediaTypes",
"version" : "6.01"
},
"Lingua::EN::Inflect" : {
"dist" : "Lingua-EN-Inflect-1.893",
- "module" : "Lingua::EN::Inflect",
"mymeta" : {
"abstract" : "Convert singular to plural. Select \"a\" or \"an\".",
"author" : [
"Damian Conway <DCONWAY@CPAN.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"unknown"
],
@@ -16299,11 +17761,11 @@
"version" : "1.893"
}
},
+ "target" : "Lingua::EN::Inflect",
"version" : "1.893"
},
"Lingua::EN::Inflect::Number" : {
"dist" : "Lingua-EN-Inflect-Number-1.1",
- "module" : "Lingua::EN::Inflect::Number",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -16353,11 +17815,11 @@
"version" : "1.1"
}
},
+ "target" : "Lingua::EN::Inflect::Number",
"version" : "1.1"
},
"Lingua::EN::Inflect::Phrase" : {
"dist" : "Lingua-EN-Inflect-Phrase-0.12",
- "module" : "Lingua::EN::Inflect::Phrase",
"mymeta" : {
"abstract" : "Inflect short English Phrases",
"author" : [
@@ -16428,11 +17890,11 @@
"version" : "0.12"
}
},
+ "target" : "Lingua::EN::Inflect::Phrase",
"version" : "0.12"
},
"Lingua::EN::Tagger" : {
"dist" : "Lingua-EN-Tagger-0.16",
- "module" : "Lingua::EN::Tagger",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -16487,11 +17949,11 @@
"version" : "0.16"
}
},
+ "target" : "Lingua::EN::Tagger",
"version" : "0.16"
},
"Lingua::PT::Stemmer" : {
"dist" : "Lingua-PT-Stemmer-0.01",
- "module" : "Lingua::PT::Stemmer",
"mymeta" : {
"abstract" : "Portuguese language stemming",
"author" : [
@@ -16543,18 +18005,18 @@
"version" : "0.01"
}
},
+ "target" : "Lingua::PT::Stemmer",
"version" : "0.01"
},
"Lingua::Stem" : {
"dist" : "Lingua-Stem-0.84",
- "module" : "Lingua::Stem",
"mymeta" : {
"abstract" : "Stemming of words in various languages",
"author" : [
"Benjamin Franz <snowhare@nihongo.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -16673,11 +18135,11 @@
"version" : "1.01"
}
},
+ "target" : "Lingua::Stem",
"version" : "0.84"
},
"Lingua::Stem::Fr" : {
"dist" : "Lingua-Stem-Fr-0.02",
- "module" : "Lingua::Stem::Fr",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -16725,11 +18187,11 @@
"version" : "0.02"
}
},
+ "target" : "Lingua::Stem::Fr",
"version" : "0.02"
},
"Lingua::Stem::It" : {
"dist" : "Lingua-Stem-It-0.02",
- "module" : "Lingua::Stem::It",
"mymeta" : {
"abstract" : "Porter's stemming algorithm for Italian",
"author" : [
@@ -16777,11 +18239,11 @@
"version" : "0.02"
}
},
+ "target" : "Lingua::Stem::It",
"version" : "0.02"
},
"Lingua::Stem::Ru" : {
"dist" : "Lingua-Stem-Ru-0.01",
- "module" : "Lingua::Stem::Ru",
"mymeta" : {
"abstract" : "Porter's stemming algorithm for Russian",
"author" : [
@@ -16829,11 +18291,11 @@
"version" : "0.01"
}
},
+ "target" : "Lingua::Stem::Ru",
"version" : "0.01"
},
"Lingua::Stem::Snowball::Da" : {
"dist" : "Lingua-Stem-Snowball-Da-1.01",
- "module" : "Lingua::Stem::Snowball::Da",
"mymeta" : {
"abstract" : "Porters stemming algorithm for Denmark",
"author" : [
@@ -16881,18 +18343,18 @@
"version" : "1.01"
}
},
+ "target" : "Lingua::Stem::Snowball::Da",
"version" : "1.01"
},
"Lingua::Stem::Snowball::No" : {
"dist" : "Snowball-Norwegian-1.2",
- "module" : "Lingua::Stem::Snowball::No",
"mymeta" : {
"abstract" : "Porters stemming algorithm for norwegian.",
"author" : [
"Ask Solem <ASKSH@cpan.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -16930,18 +18392,18 @@
"version" : "1.2"
}
},
+ "target" : "Lingua::Stem::Snowball::No",
"version" : "1.2"
},
"Lingua::Stem::Snowball::Se" : {
"dist" : "Snowball-Swedish-1.2",
- "module" : "Lingua::Stem::Snowball::Se",
"mymeta" : {
"abstract" : "Porters stemming algorithm for swedish.",
"author" : [
"Ask Solem <ASKSH@cpan.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -16979,11 +18441,11 @@
"version" : "1.2"
}
},
+ "target" : "Lingua::Stem::Snowball::Se",
"version" : "1.2"
},
"List::MoreUtils" : {
"dist" : "List-MoreUtils-0.33",
- "module" : "List::MoreUtils",
"mymeta" : {
"abstract" : "Provide the stuff missing in List::Util",
"author" : [
@@ -17035,11 +18497,11 @@
"version" : "0.33"
}
},
+ "target" : "List::MoreUtils",
"version" : "0.33"
},
"Log::Log4perl" : {
"dist" : "Log-Log4perl-1.34",
- "module" : "Log::Log4perl",
"mymeta" : {
"abstract" : "Log4j implementation for Perl",
"author" : [
@@ -17245,11 +18707,11 @@
"file" : "Log/Log4perl/Util/TimeTracker.pm"
}
},
+ "target" : "Log::Log4perl",
"version" : "1.34"
},
"MIME::Types" : {
"dist" : "MIME-Types-1.32",
- "module" : "MIME::Types",
"mymeta" : {
"abstract" : "Definition of MIME types",
"author" : [
@@ -17303,11 +18765,11 @@
"version" : "1.32"
}
},
+ "target" : "MIME::Types",
"version" : "1.32"
},
"MRO::Compat" : {
"dist" : "MRO-Compat-0.11",
- "module" : "MRO::Compat",
"mymeta" : {
"abstract" : "mro::* interface compatibility for Perls < 5.9.5",
"author" : [
@@ -17369,11 +18831,11 @@
"version" : "0.11"
}
},
+ "target" : "MRO::Compat",
"version" : "0.11"
},
"Mail" : {
"dist" : "MailTools-2.08",
- "module" : "Mail::Address",
"mymeta" : {
"abstract" : "Various e-mail related modules",
"author" : [
@@ -17424,6 +18886,7 @@
"name" : "Mail",
"pathname" : "M/MA/MARKOV/MailTools-2.08.tar.gz",
"provides" : {
+ "Mail" : {},
"Mail::Address" : {
"file" : "Mail/Address.pm",
"version" : "2.08"
@@ -17509,11 +18972,11 @@
"version" : "2.08"
}
},
+ "target" : "Mail::Address",
"version" : "2.08"
},
"Math::Round" : {
"dist" : "Math-Round-0.06",
- "module" : "Math::Round",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -17561,11 +19024,11 @@
"version" : "0.06"
}
},
+ "target" : "Math::Round",
"version" : "0.06"
},
"Memoize::ExpireLRU" : {
"dist" : "Memoize-ExpireLRU-0.55",
- "module" : "Memoize::ExpireLRU",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -17615,19 +19078,20 @@
"version" : "0.55"
}
},
+ "target" : "Memoize::ExpireLRU",
"version" : "0.55"
},
"Module::Build" : {
- "dist" : "Module-Build-0.3800",
+ "dist" : "Module-Build-0.4002",
"module" : "Module::Build",
"mymeta" : {
"abstract" : "Build and install Perl modules",
"author" : [
"Ken Williams <kwilliams@cpan.org>",
- "Development questions, bug reports, and patches should be sent to the\nModule-Build mailing list at <module-build@perl.org>."
+ "Module-Build mailing list at <module-build@perl.org>."
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -17639,6 +19103,7 @@
"prereqs" : {
"build" : {
"requires" : {
+ "CPAN::Meta::YAML" : "0.003",
"File::Temp" : "0.15",
"Parse::CPAN::Meta" : "1.4401",
"Test::Harness" : "3.16",
@@ -17680,99 +19145,99 @@
"provides" : {
"Module::Build" : {
"file" : "lib/Module/Build.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Base" : {
"file" : "lib/Module/Build/Base.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Compat" : {
"file" : "lib/Module/Build/Compat.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Config" : {
"file" : "lib/Module/Build/Config.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Cookbook" : {
"file" : "lib/Module/Build/Cookbook.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Dumper" : {
"file" : "lib/Module/Build/Dumper.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::ModuleInfo" : {
"file" : "lib/Module/Build/ModuleInfo.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Notes" : {
"file" : "lib/Module/Build/Notes.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::PPMMaker" : {
"file" : "lib/Module/Build/PPMMaker.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::Amiga" : {
"file" : "lib/Module/Build/Platform/Amiga.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::Default" : {
"file" : "lib/Module/Build/Platform/Default.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::EBCDIC" : {
"file" : "lib/Module/Build/Platform/EBCDIC.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::MPEiX" : {
"file" : "lib/Module/Build/Platform/MPEiX.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::MacOS" : {
"file" : "lib/Module/Build/Platform/MacOS.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::RiscOS" : {
"file" : "lib/Module/Build/Platform/RiscOS.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::Unix" : {
"file" : "lib/Module/Build/Platform/Unix.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::VMS" : {
"file" : "lib/Module/Build/Platform/VMS.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::VOS" : {
"file" : "lib/Module/Build/Platform/VOS.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::Windows" : {
"file" : "lib/Module/Build/Platform/Windows.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::aix" : {
"file" : "lib/Module/Build/Platform/aix.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::cygwin" : {
"file" : "lib/Module/Build/Platform/cygwin.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::darwin" : {
"file" : "lib/Module/Build/Platform/darwin.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::os2" : {
"file" : "lib/Module/Build/Platform/os2.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::PodParser" : {
"file" : "lib/Module/Build/PodParser.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Version" : {
"file" : "lib/Module/Build/Version.pm",
@@ -17784,11 +19249,11 @@
},
"inc::latest" : {
"file" : "lib/inc/latest.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"inc::latest::private" : {
"file" : "lib/inc/latest/private.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
}
},
"release_status" : "stable",
@@ -17797,113 +19262,113 @@
"http://dev.perl.org/licenses/"
],
"repository" : {
- "url" : "http://github.com/dagolden/module-build/"
+ "url" : "https://github.com/Perl-Toolchain-Gang/Module-Build"
},
"x_MailingList" : "mailto:module-build@perl.org"
},
- "version" : "0.3800"
+ "version" : "0.4002"
},
"name" : "Module::Build",
- "pathname" : "D/DA/DAGOLDEN/Module-Build-0.3800.tar.gz",
+ "pathname" : "L/LE/LEONT/Module-Build-0.4002.tar.gz",
"provides" : {
"Module::Build" : {
"file" : "Module/Build.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Base" : {
"file" : "Module/Build/Base.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Compat" : {
"file" : "Module/Build/Compat.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Config" : {
"file" : "Module/Build/Config.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::ConfigData" : {
"file" : "Module/Build/ConfigData.pm"
},
"Module::Build::Cookbook" : {
"file" : "Module/Build/Cookbook.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Dumper" : {
"file" : "Module/Build/Dumper.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::ModuleInfo" : {
"file" : "Module/Build/ModuleInfo.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Notes" : {
"file" : "Module/Build/Notes.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::PPMMaker" : {
"file" : "Module/Build/PPMMaker.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::Amiga" : {
"file" : "Module/Build/Platform/Amiga.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::Default" : {
"file" : "Module/Build/Platform/Default.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::EBCDIC" : {
"file" : "Module/Build/Platform/EBCDIC.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::MPEiX" : {
"file" : "Module/Build/Platform/MPEiX.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::MacOS" : {
"file" : "Module/Build/Platform/MacOS.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::RiscOS" : {
"file" : "Module/Build/Platform/RiscOS.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::Unix" : {
"file" : "Module/Build/Platform/Unix.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::VMS" : {
"file" : "Module/Build/Platform/VMS.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::VOS" : {
"file" : "Module/Build/Platform/VOS.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::Windows" : {
"file" : "Module/Build/Platform/Windows.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::aix" : {
"file" : "Module/Build/Platform/aix.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::cygwin" : {
"file" : "Module/Build/Platform/cygwin.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::darwin" : {
"file" : "Module/Build/Platform/darwin.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Platform::os2" : {
"file" : "Module/Build/Platform/os2.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::PodParser" : {
"file" : "Module/Build/PodParser.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Build::Version" : {
"file" : "Module/Build/Version.pm",
@@ -17915,18 +19380,17 @@
},
"inc::latest" : {
"file" : "inc/latest.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
},
"inc::latest::private" : {
"file" : "inc/latest/private.pm",
- "version" : "0.3800"
+ "version" : "0.4002"
}
},
- "version" : "0.3800"
+ "version" : "0.4002"
},
"Module::Extract::Namespaces" : {
"dist" : "Module-Extract-Namespaces-0.14",
- "module" : "Module::Extract::Namespaces",
"mymeta" : {
"abstract" : "This is what the module does",
"author" : [
@@ -17966,11 +19430,11 @@
"version" : "0.14"
}
},
+ "target" : "Module::Extract::Namespaces",
"version" : "0.14"
},
"Module::Extract::Use" : {
"dist" : "Module-Extract-Use-0.17",
- "module" : "Module::Extract::Use",
"mymeta" : {
"abstract" : "Extract the modules that a modules uses",
"author" : [
@@ -18035,11 +19499,11 @@
"version" : "0.17"
}
},
+ "target" : "Module::Extract::Use",
"version" : "0.17"
},
"Module::Extract::VERSION" : {
"dist" : "Module-Extract-VERSION-0.13",
- "module" : "Module::Extract::VERSION",
"mymeta" : {
"abstract" : "Extract ERSION from module source code",
"author" : [
@@ -18092,11 +19556,11 @@
"version" : "0.13"
}
},
+ "target" : "Module::Extract::VERSION",
"version" : "0.13"
},
"Module::Find" : {
"dist" : "Module-Find-0.10",
- "module" : "Module::Find",
"mymeta" : {
"abstract" : "Find and use installed modules in a (sub)category",
"author" : [
@@ -18157,10 +19621,234 @@
"version" : "0.10"
}
},
+ "target" : "Module::Find",
"version" : "0.10"
},
+ "Module::Install" : {
+ "dist" : "Module-Install-1.06",
+ "module" : "Module::Install",
+ "mymeta" : {
+ "abstract" : "Standalone, extensible Perl module installer",
+ "author" : [
+ "Adam Kennedy <adamk@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Module::Install version 1.06, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Module-Install",
+ "no_index" : {
+ "directory" : [
+ "inc",
+ "t",
+ "xt"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.36",
+ "Test::Harness" : "3.13",
+ "Test::More" : "0.86",
+ "YAML::Tiny" : "1.33"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.36",
+ "YAML::Tiny" : "1.33"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Archive::Tar" : "1.44",
+ "Devel::PPPort" : "3.16",
+ "ExtUtils::Install" : "1.52",
+ "ExtUtils::MakeMaker" : "6.59",
+ "ExtUtils::ParseXS" : "2.19",
+ "File::Remove" : "1.42",
+ "File::Spec" : "3.28",
+ "JSON" : "2.14",
+ "LWP::UserAgent" : "5.812",
+ "Module::Build" : "0.29",
+ "Module::CoreList" : "2.17",
+ "Module::ScanDeps" : "0.89",
+ "PAR::Dist" : "0.29",
+ "Parse::CPAN::Meta" : "1.39",
+ "YAML::Tiny" : "1.38",
+ "perl" : "5.005"
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "license" : [
+ "http://dev.perl.org/licenses/"
+ ],
+ "repository" : {
+ "url" : "http://svn.ali.as/cpan/trunk/Module-Install"
+ },
+ "x_ChangeLog" : "http://fisheye2.atlassian.com/changelog/cpan/trunk/Module-Install"
+ },
+ "version" : "1.06"
+ },
+ "name" : "Module::Install",
+ "pathname" : "A/AD/ADAMK/Module-Install-1.06.tar.gz",
+ "provides" : {
+ "Module::AutoInstall" : {
+ "file" : "Module/AutoInstall.pm",
+ "version" : "1.06"
+ },
+ "Module::Install" : {
+ "file" : "Module/Install.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Admin" : {
+ "file" : "Module/Install/Admin.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Admin::Bundle" : {
+ "file" : "Module/Install/Admin/Bundle.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Admin::Compiler" : {
+ "file" : "Module/Install/Admin/Compiler.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Admin::Find" : {
+ "file" : "Module/Install/Admin/Find.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Admin::Include" : {
+ "file" : "Module/Install/Admin/Include.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Admin::Makefile" : {
+ "file" : "Module/Install/Admin/Makefile.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Admin::Manifest" : {
+ "file" : "Module/Install/Admin/Manifest.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Admin::Metadata" : {
+ "file" : "Module/Install/Admin/Metadata.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Admin::ScanDeps" : {
+ "file" : "Module/Install/Admin/ScanDeps.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Admin::WriteAll" : {
+ "file" : "Module/Install/Admin/WriteAll.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::AutoInstall" : {
+ "file" : "Module/Install/AutoInstall.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Base" : {
+ "file" : "Module/Install/Base.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Base::FakeAdmin" : {
+ "file" : "Module/Install/Base.pm",
+ "version" : "0"
+ },
+ "Module::Install::Bundle" : {
+ "file" : "Module/Install/Bundle.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Can" : {
+ "file" : "Module/Install/Can.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Compiler" : {
+ "file" : "Module/Install/Compiler.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::DSL" : {
+ "file" : "Module/Install/DSL.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Deprecated" : {
+ "file" : "Module/Install/Deprecated.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::External" : {
+ "file" : "Module/Install/External.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Fetch" : {
+ "file" : "Module/Install/Fetch.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Include" : {
+ "file" : "Module/Install/Include.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Inline" : {
+ "file" : "Module/Install/Inline.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::MakeMaker" : {
+ "file" : "Module/Install/MakeMaker.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Makefile" : {
+ "file" : "Module/Install/Makefile.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Metadata" : {
+ "file" : "Module/Install/Metadata.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::PAR" : {
+ "file" : "Module/Install/PAR.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Run" : {
+ "file" : "Module/Install/Run.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Scripts" : {
+ "file" : "Module/Install/Scripts.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Share" : {
+ "file" : "Module/Install/Share.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::Win32" : {
+ "file" : "Module/Install/Win32.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::With" : {
+ "file" : "Module/Install/With.pm",
+ "version" : "1.06"
+ },
+ "Module::Install::WriteAll" : {
+ "file" : "Module/Install/WriteAll.pm",
+ "version" : "1.06"
+ },
+ "inc::Module::Install" : {
+ "file" : "inc/Module/Install.pm",
+ "version" : "1.06"
+ },
+ "inc::Module::Install::DSL" : {
+ "file" : "inc/Module/Install/DSL.pm",
+ "version" : "1.06"
+ }
+ },
+ "version" : "1.06"
+ },
"Module::Metadata" : {
- "dist" : "Module-Metadata-1.000009",
+ "dist" : "Module-Metadata-1.000010",
"module" : "Module::Metadata",
"mymeta" : {
"abstract" : "Gather package and POD information from perl module files",
@@ -18168,7 +19856,7 @@
"Ken Williams <kwilliams@cpan.org>, Randy W. Sims <RandyS@ThePierianSpring.org>"
],
"dynamic_config" : 0,
- "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112621, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "ExtUtils::MakeMaker version 6.6302, CPAN::Meta::Converter version 2.120921, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -18208,28 +19896,27 @@
}
},
"release_status" : "stable",
- "version" : "1.000009"
+ "version" : "1.000010"
},
"name" : "Module::Metadata",
- "pathname" : "D/DA/DAGOLDEN/Module-Metadata-1.000009.tar.gz",
+ "pathname" : "V/VP/VPIT/Module-Metadata-1.000010.tar.gz",
"provides" : {
"Module::Metadata" : {
"file" : "Module/Metadata.pm",
- "version" : "1.000009"
+ "version" : "1.000010"
}
},
- "version" : "1.000009"
+ "version" : "1.000010"
},
"Module::Runtime" : {
"dist" : "Module-Runtime-0.011",
- "module" : "Module::Runtime",
"mymeta" : {
"abstract" : "runtime module handling",
"author" : [
"Andrew Main (Zefram) <zefram@fysh.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -18289,11 +19976,88 @@
"version" : "0.011"
}
},
+ "target" : "Module::Runtime",
"version" : "0.011"
},
+ "Module::ScanDeps" : {
+ "dist" : "Module-ScanDeps-1.08",
+ "module" : "Module::ScanDeps",
+ "mymeta" : {
+ "abstract" : "Recursively scan Perl code for dependencies",
+ "author" : [
+ "Audrey Tang <cpan@audreyt.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Module::Install version 1.04, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Module-ScanDeps",
+ "no_index" : {
+ "directory" : [
+ "inc",
+ "t"
+ ],
+ "x_module" : [
+ "Module::ScanDeps::Cache",
+ "Module::ScanDeps::DataFeed"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.62",
+ "Test::More" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.57"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "File::Spec" : 0,
+ "File::Temp" : 0,
+ "Module::Build::ModuleInfo" : 0,
+ "perl" : "5.008001",
+ "version" : 0
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "license" : [
+ "http://dev.perl.org/licenses/"
+ ],
+ "repository" : {
+ "url" : "http://svn.openfoundry.org/par/Module-ScanDeps/trunk/"
+ }
+ },
+ "version" : "1.08"
+ },
+ "name" : "Module::ScanDeps",
+ "pathname" : "R/RS/RSCHUPP/Module-ScanDeps-1.08.tar.gz",
+ "provides" : {
+ "Module::ScanDeps" : {
+ "file" : "Module/ScanDeps.pm",
+ "version" : "1.08"
+ },
+ "Module::ScanDeps::Cache" : {
+ "file" : "Module/ScanDeps/Cache.pm"
+ },
+ "Module::ScanDeps::DataFeed" : {
+ "file" : "Module/ScanDeps/DataFeed.pm"
+ }
+ },
+ "version" : "1.08"
+ },
"Moose" : {
"dist" : "Moose-2.0401",
- "module" : "Moose::Role",
"mymeta" : {
"abstract" : "A postmodern object system for Perl 5",
"author" : [
@@ -19069,11 +20833,11 @@
"version" : "2.0401"
}
},
+ "target" : "Moose::Role",
"version" : "2.0401"
},
"MooseX::Emulate::Class::Accessor::Fast" : {
"dist" : "MooseX-Emulate-Class-Accessor-Fast-0.00903",
- "module" : "MooseX::Emulate::Class::Accessor::Fast",
"mymeta" : {
"abstract" : "Emulate Class::Accessor::Fast behavior using Moose attributes",
"author" : [
@@ -19142,11 +20906,11 @@
"file" : "MooseX/Emulate/Class/Accessor/Fast/Meta/Role/Attribute.pm"
}
},
+ "target" : "MooseX::Emulate::Class::Accessor::Fast",
"version" : "0.00903"
},
"MooseX::Getopt" : {
"dist" : "MooseX-Getopt-0.35",
- "module" : "MooseX::Getopt",
"mymeta" : {
"abstract" : "A Moose role for processing command line options",
"author" : [
@@ -19430,11 +21194,11 @@
"version" : "0.35"
}
},
+ "target" : "MooseX::Getopt",
"version" : "0.35"
},
"MooseX::MethodAttributes" : {
"dist" : "MooseX-MethodAttributes-0.25",
- "module" : "MooseX::MethodAttributes::Inheritable",
"mymeta" : {
"abstract" : "code attribute introspection",
"author" : [
@@ -19725,11 +21489,75 @@
"version" : "0.25"
}
},
+ "target" : "MooseX::MethodAttributes::Inheritable",
"version" : "0.25"
},
+ "MooseX::Params::Validate" : {
+ "dist" : "MooseX-Params-Validate-0.16",
+ "module" : "MooseX::Params::Validate",
+ "mymeta" : {
+ "abstract" : "an extension of Params::Validate using Moose's types",
+ "author" : [
+ "Stevan Little <stevan.little@iinteractive.com>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Dist::Zilla version 4.200001, CPAN::Meta::Converter version 2.102400, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "MooseX-Params-Validate",
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "Test::Fatal" : "0.001",
+ "Test::More" : "0.88"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.31"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Carp" : 0,
+ "Devel::Caller" : 0,
+ "Moose" : "0.58",
+ "Params::Validate" : "0.88",
+ "Scalar::Util" : 0,
+ "Sub::Exporter" : 0
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "bugtracker" : {
+ "web" : "http://rt.cpan.org/NoAuth/Bugs.html?Dist=MooseX::Params::Validate"
+ },
+ "repository" : {
+ "type" : "git",
+ "url" : "git://git.moose.perl.org/MooseX-Params-Validate.git"
+ }
+ },
+ "version" : "0.16",
+ "x_authority" : "cpan:STEVAN"
+ },
+ "name" : "MooseX::Params::Validate",
+ "pathname" : "D/DR/DROLSKY/MooseX-Params-Validate-0.16.tar.gz",
+ "provides" : {
+ "MooseX::Params::Validate" : {
+ "file" : "MooseX/Params/Validate.pm",
+ "version" : "0.16"
+ }
+ },
+ "version" : "0.16"
+ },
"MooseX::Role::WithOverloading" : {
"dist" : "MooseX-Role-WithOverloading-0.09",
- "module" : "MooseX::Role::WithOverloading",
"mymeta" : {
"abstract" : "Roles which support overloading",
"author" : [
@@ -19995,11 +21823,72 @@
"version" : "0.09"
}
},
+ "target" : "MooseX::Role::WithOverloading",
+ "version" : "0.09"
+ },
+ "MooseX::SemiAffordanceAccessor" : {
+ "dist" : "MooseX-SemiAffordanceAccessor-0.09",
+ "module" : "MooseX::SemiAffordanceAccessor",
+ "mymeta" : {
+ "abstract" : "Name your accessors foo() and set_foo()",
+ "author" : [
+ "Dave Rolsky <autarch@urth.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Dist::Zilla version 4.200004, CPAN::Meta::Converter version 2.110240, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "artistic_2"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "MooseX-SemiAffordanceAccessor",
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "Test::More" : "0.88"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.31"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Moose" : "1.16"
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "bugtracker" : {
+ "web" : "http://rt.cpan.org/NoAuth/Bugs.html?Dist=MooseX-SemiAffordanceAccessor"
+ },
+ "repository" : {
+ "type" : "git",
+ "url" : "git://git.moose.perl.org/MooseX-SemiAffordanceAccessor.git"
+ }
+ },
+ "version" : "0.09"
+ },
+ "name" : "MooseX::SemiAffordanceAccessor",
+ "pathname" : "D/DR/DROLSKY/MooseX-SemiAffordanceAccessor-0.09.tar.gz",
+ "provides" : {
+ "MooseX::SemiAffordanceAccessor" : {
+ "file" : "MooseX/SemiAffordanceAccessor.pm",
+ "version" : "0.09"
+ },
+ "MooseX::SemiAffordanceAccessor::Role::Attribute" : {
+ "file" : "MooseX/SemiAffordanceAccessor/Role/Attribute.pm",
+ "version" : "0.09"
+ }
+ },
"version" : "0.09"
},
"MooseX::Traits::Pluggable" : {
"dist" : "MooseX-Traits-Pluggable-0.10",
- "module" : "MooseX::Traits::Pluggable",
"mymeta" : {
"abstract" : "trait loading and resolution for Moose",
"author" : [
@@ -20073,11 +21962,11 @@
"version" : "0.10"
}
},
+ "target" : "MooseX::Traits::Pluggable",
"version" : "0.10"
},
"MooseX::Types" : {
"dist" : "MooseX-Types-0.30",
- "module" : "MooseX::Types::Moose",
"mymeta" : {
"abstract" : "Organise your Moose types in libraries",
"author" : [
@@ -20172,11 +22061,11 @@
"version" : "0.30"
}
},
+ "target" : "MooseX::Types::Moose",
"version" : "0.30"
},
"MooseX::Types::Common" : {
"dist" : "MooseX-Types-Common-0.001004",
- "module" : "MooseX::Types::Common::Numeric",
"mymeta" : {
"abstract" : "A library of commonly used type constraints",
"author" : [
@@ -20247,11 +22136,11 @@
"version" : "0.001004"
}
},
+ "target" : "MooseX::Types::Common::Numeric",
"version" : "0.001004"
},
"MyCPAN::App::DPAN" : {
"dist" : "MyCPAN-App-DPAN-1.28",
- "module" : "MyCPAN::App::DPAN",
"mymeta" : {
"abstract" : "Create a custom, private DarkPAN repository that looks just like a real CPAN",
"author" : [
@@ -20325,11 +22214,11 @@
"version" : "1.28"
}
},
+ "target" : "MyCPAN::App::DPAN",
"version" : "1.28"
},
"MyCPAN::Indexer" : {
"dist" : "MyCPAN-Indexer-1.28",
- "module" : "MyCPAN::Indexer",
"mymeta" : {
"abstract" : "Index a Perl distribution",
"author" : [
@@ -20471,11 +22360,11 @@
"version" : "1.28"
}
},
+ "target" : "MyCPAN::Indexer",
"version" : "1.28"
},
"Net::DNS" : {
"dist" : "Net-DNS-0.68",
- "module" : "Net::DNS",
"mymeta" : {
"abstract" : "Perl DNS resolver module",
"author" : [
@@ -20766,11 +22655,11 @@
"version" : "970"
}
},
+ "target" : "Net::DNS",
"version" : "0.68"
},
"Net::Domain::TLD" : {
"dist" : "Net-Domain-TLD-1.68",
- "module" : "Net::Domain::TLD",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -20812,11 +22701,11 @@
"version" : "1.68"
}
},
+ "target" : "Net::Domain::TLD",
"version" : "1.68"
},
"Net::HTTP" : {
"dist" : "Net-HTTP-6.02",
- "module" : "Net::HTTP",
"mymeta" : {
"abstract" : "Low-level HTTP connection (client)",
"author" : [
@@ -20891,11 +22780,11 @@
"version" : "6.02"
}
},
+ "target" : "Net::HTTP",
"version" : "6.02"
},
"Number::Compare" : {
"dist" : "Number-Compare-0.03",
- "module" : "Number::Compare",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -20945,11 +22834,11 @@
"version" : "0.03"
}
},
+ "target" : "Number::Compare",
"version" : "0.03"
},
"Object::Signature" : {
"dist" : "Object-Signature-1.05",
- "module" : "Object::Signature",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -20996,11 +22885,68 @@
"version" : "1.05"
}
},
+ "target" : "Object::Signature",
"version" : "1.05"
},
+ "PAR::Dist" : {
+ "dist" : "PAR-Dist-0.48",
+ "module" : "PAR::Dist",
+ "mymeta" : {
+ "abstract" : "Create and manipulate PAR distributions",
+ "author" : [
+ "Audrey Tang <cpan@audreyt.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "ExtUtils::MakeMaker version 6.58, CPAN::Meta::Converter version 2.110930, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "unknown"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "PAR-Dist",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "File::Find" : 0,
+ "File::Path" : 0,
+ "File::Spec" : 0,
+ "File::Temp" : 0
+ }
+ }
+ },
+ "release_status" : "stable",
+ "version" : "0.48"
+ },
+ "name" : "PAR::Dist",
+ "pathname" : "S/SM/SMUELLER/PAR-Dist-0.48.tar.gz",
+ "provides" : {
+ "PAR::Dist" : {
+ "file" : "PAR/Dist.pm",
+ "version" : "0.48"
+ }
+ },
+ "version" : "0.48"
+ },
"PPI" : {
"dist" : "PPI-1.215",
- "module" : "PPI",
"mymeta" : {
"abstract" : "Parse, Analyze and Manipulate Perl (without perl)",
"author" : [
@@ -21436,11 +23382,11 @@
"version" : "1.215"
}
},
+ "target" : "PPI",
"version" : "1.215"
},
"Package::DeprecationManager" : {
"dist" : "Package-DeprecationManager-0.11",
- "module" : "Package::DeprecationManager",
"mymeta" : {
"abstract" : "Manage deprecation warnings for your distribution",
"author" : [
@@ -21498,11 +23444,11 @@
"version" : "0.11"
}
},
+ "target" : "Package::DeprecationManager",
"version" : "0.11"
},
"Package::Stash" : {
"dist" : "Package-Stash-0.33",
- "module" : "Package::Stash",
"mymeta" : {
"abstract" : "routines for manipulating stashes",
"author" : [
@@ -21822,11 +23768,11 @@
"version" : "0.33"
}
},
+ "target" : "Package::Stash",
"version" : "0.33"
},
"Package::Stash::XS" : {
"dist" : "Package-Stash-XS-0.25",
- "module" : "Package::Stash::XS",
"mymeta" : {
"abstract" : "faster and more correct implementation of the Package::Stash API",
"author" : [
@@ -22110,11 +24056,65 @@
"version" : "0.25"
}
},
+ "target" : "Package::Stash::XS",
"version" : "0.25"
},
+ "PadWalker" : {
+ "dist" : "PadWalker-1.94",
+ "module" : "PadWalker",
+ "mymeta" : {
+ "abstract" : "unknown",
+ "author" : [
+ "unknown"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "ExtUtils::MakeMaker version 6.6302, CPAN::Meta::Converter version 2.120921, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "unknown"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "PadWalker",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "perl" : "5.008002"
+ }
+ }
+ },
+ "release_status" : "stable",
+ "version" : "1.94"
+ },
+ "name" : "PadWalker",
+ "pathname" : "R/RO/ROBIN/PadWalker-1.94.tar.gz",
+ "provides" : {
+ "PadWalker" : {
+ "file" : "PadWalker.pm",
+ "version" : "1.94"
+ }
+ },
+ "version" : "1.94"
+ },
"Parallel::ForkManager" : {
"dist" : "Parallel-ForkManager-0.7.9",
- "module" : "Parallel::ForkManager",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -22162,18 +24162,18 @@
"version" : "v0.7.9"
}
},
+ "target" : "Parallel::ForkManager",
"version" : "v0.7.9"
},
"Params::Classify" : {
"dist" : "Params-Classify-0.013",
- "module" : "Params::Classify",
"mymeta" : {
"abstract" : "argument type classification",
"author" : [
"Andrew Main (Zefram) <zefram@fysh.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -22237,11 +24237,11 @@
"version" : "0.013"
}
},
+ "target" : "Params::Classify",
"version" : "0.013"
},
"Params::Util" : {
"dist" : "Params-Util-1.03",
- "module" : "Params::Util",
"mymeta" : {
"abstract" : "Simple, compact and correct param-checking functions",
"author" : [
@@ -22295,18 +24295,18 @@
"version" : "1.03"
}
},
+ "target" : "Params::Util",
"version" : "1.03"
},
"Params::Validate" : {
"dist" : "Params-Validate-1.00",
- "module" : "Params::Validate",
"mymeta" : {
"abstract" : "Validate method/function parameters",
"author" : [
"Dave Rolsky, <autarch@urth.org> and Ilya Martynov <ilya@martynov.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"artistic_2"
],
@@ -22360,10 +24360,11 @@
"version" : "1.00"
}
},
+ "target" : "Params::Validate",
"version" : "1.00"
},
"Path::Class" : {
- "dist" : "Path-Class-0.24",
+ "dist" : "Path-Class-0.26",
"module" : "Path::Class",
"mymeta" : {
"abstract" : "Cross-platform path specification manipulation",
@@ -22371,7 +24372,7 @@
"Ken Williams <kwilliams@cpan.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -22385,7 +24386,8 @@
"requires" : {
"Module::Build" : "0.3601",
"Test" : 0,
- "Test::More" : 0
+ "Test::More" : 0,
+ "warnings" : 0
}
},
"configure" : {
@@ -22405,7 +24407,9 @@
"File::stat" : 0,
"IO::Dir" : 0,
"IO::File" : 0,
- "overload" : 0
+ "base" : 0,
+ "overload" : 0,
+ "strict" : 0
}
}
},
@@ -22415,32 +24419,33 @@
"web" : "http://rt.cpan.org/Public/Dist/Display.html?Name=Path-Class"
},
"repository" : {
- "url" : "http://perl-path-class.googlecode.com/svn/trunk"
+ "type" : "git",
+ "url" : "git://github.com/kenahoo/Path-Class.git"
}
},
- "version" : "0.24"
+ "version" : "0.26"
},
"name" : "Path::Class",
- "pathname" : "K/KW/KWILLIAMS/Path-Class-0.24.tar.gz",
+ "pathname" : "K/KW/KWILLIAMS/Path-Class-0.26.tar.gz",
"provides" : {
"Path::Class" : {
"file" : "Path/Class.pm",
- "version" : "0.24"
+ "version" : "0.26"
},
"Path::Class::Dir" : {
"file" : "Path/Class/Dir.pm",
- "version" : "0.24"
+ "version" : "0.26"
},
"Path::Class::Entity" : {
"file" : "Path/Class/Entity.pm",
- "version" : "0.24"
+ "version" : "0.26"
},
"Path::Class::File" : {
"file" : "Path/Class/File.pm",
- "version" : "0.24"
+ "version" : "0.26"
}
},
- "version" : "0.24"
+ "version" : "0.26"
},
"Perl::OSType" : {
"dist" : "Perl-OSType-1.002",
@@ -22519,7 +24524,6 @@
},
"Probe::Perl" : {
"dist" : "Probe-Perl-0.01",
- "module" : "Probe::Perl",
"mymeta" : {
"abstract" : "Information about the currently running perl",
"author" : [
@@ -22527,7 +24531,7 @@
"Based partly on code from the Module::Build project, by Ken Williams\n<kwilliams@cpan.org> and others."
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -22565,11 +24569,11 @@
"version" : "0.01"
}
},
+ "target" : "Probe::Perl",
"version" : "0.01"
},
"Readonly" : {
"dist" : "Readonly-1.03",
- "module" : "Readonly",
"mymeta" : {
"abstract" : "Facility for creating read-only scalars, arrays, hashes.",
"author" : [
@@ -22626,11 +24630,11 @@
"file" : "Readonly.pm"
}
},
+ "target" : "Readonly",
"version" : "1.03"
},
"Regexp::Common" : {
"dist" : "Regexp-Common-2011121001",
- "module" : "Regexp::Common",
"mymeta" : {
"abstract" : "Provide commonly requested regular expressions",
"author" : [
@@ -22823,11 +24827,11 @@
"version" : "2010010201"
}
},
+ "target" : "Regexp::Common",
"version" : "2011121001"
},
"Return::Value" : {
"dist" : "Return-Value-1.666001",
- "module" : "Return::Value",
"mymeta" : {
"abstract" : "Polymorphic Return Values",
"author" : [
@@ -22877,18 +24881,18 @@
"version" : "1.666001"
}
},
+ "target" : "Return::Value",
"version" : "1.666001"
},
"SOAP::WSDL" : {
"dist" : "SOAP-WSDL-2.00.10",
- "module" : "SOAP::WSDL::Client::Base",
"mymeta" : {
"abstract" : "SOAP with WSDL support",
"author" : [
"Martin Kutter <martin.kutter@fen-net.de>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"artistic_1"
],
@@ -23911,11 +25915,11 @@
"version" : "v2.0.10"
}
},
+ "target" : "SOAP::WSDL",
"version" : "v2.0.10"
},
"SQL::Abstract" : {
"dist" : "SQL-Abstract-1.72",
- "module" : "SQL::Abstract",
"mymeta" : {
"abstract" : "Generate SQL from Perl data structures",
"author" : [
@@ -24005,11 +26009,11 @@
"file" : "SQL/Abstract/Tree.pm"
}
},
+ "target" : "SQL::Abstract",
"version" : "1.72"
},
"Scope::Guard" : {
"dist" : "Scope-Guard-0.20",
- "module" : "Scope::Guard",
"mymeta" : {
"abstract" : "lexically-scoped resource management",
"author" : [
@@ -24059,11 +26063,11 @@
"version" : "0.20"
}
},
+ "target" : "Scope::Guard",
"version" : "0.20"
},
"Sort::Key" : {
"dist" : "Sort-Key-1.28",
- "module" : "Sort::Key",
"mymeta" : {
"abstract" : "the fastest way to sort anything in Perl",
"author" : [
@@ -24118,11 +26122,11 @@
"version" : "0.14"
}
},
+ "target" : "Sort::Key",
"version" : "1.28"
},
"Spiffy" : {
"dist" : "Spiffy-0.30",
- "module" : "Spiffy",
"mymeta" : {
"abstract" : "Spiffy Perl Interface Framework For You",
"author" : [
@@ -24168,11 +26172,11 @@
"version" : "0.30"
}
},
+ "target" : "Spiffy",
"version" : "0.30"
},
"Statistics::Distributions" : {
"dist" : "Statistics-Distributions-1.02",
- "module" : "Statistics::Distributions",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -24220,11 +26224,11 @@
"version" : "1.02"
}
},
+ "target" : "Statistics::Distributions",
"version" : "1.02"
},
"String::CRC32" : {
"dist" : "String-CRC32-1.4",
- "module" : "String::CRC32",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -24272,11 +26276,11 @@
"version" : "1.4"
}
},
+ "target" : "String::CRC32",
"version" : "1.4"
},
"String::CamelCase" : {
"dist" : "String-CamelCase-0.02",
- "module" : "String::CamelCase",
"mymeta" : {
"abstract" : "camelcase, de-camelcase",
"author" : [
@@ -24323,11 +26327,11 @@
"version" : "0.02"
}
},
+ "target" : "String::CamelCase",
"version" : "0.02"
},
"String::RewritePrefix" : {
"dist" : "String-RewritePrefix-0.006",
- "module" : "String::RewritePrefix",
"mymeta" : {
"abstract" : "rewrite strings based on a set of known prefixes",
"author" : [
@@ -24555,11 +26559,11 @@
"version" : "0.006"
}
},
+ "target" : "String::RewritePrefix",
"version" : "0.006"
},
"String::ToIdentifier::EN" : {
"dist" : "String-ToIdentifier-EN-0.07",
- "module" : "String::ToIdentifier::EN",
"mymeta" : {
"abstract" : "Convert Strings to English Program Identifiers",
"author" : [
@@ -24638,11 +26642,11 @@
"file" : "String/ToIdentifier/EN/Unicode.pm"
}
},
+ "target" : "String::ToIdentifier::EN",
"version" : "0.07"
},
"Sub::Exporter" : {
"dist" : "Sub-Exporter-0.982",
- "module" : "Sub::Exporter",
"mymeta" : {
"abstract" : "a sophisticated exporter for custom-built routines",
"author" : [
@@ -24703,11 +26707,11 @@
"version" : "0.982"
}
},
+ "target" : "Sub::Exporter",
"version" : "0.982"
},
"Sub::Install" : {
"dist" : "Sub-Install-0.925",
- "module" : "Sub::Install",
"mymeta" : {
"abstract" : "install subroutines into packages easily",
"author" : [
@@ -24761,11 +26765,11 @@
"version" : "0.925"
}
},
+ "target" : "Sub::Install",
"version" : "0.925"
},
"Sub::Name" : {
"dist" : "Sub-Name-0.05",
- "module" : "Sub::Name",
"mymeta" : {
"abstract" : "(re)name a sub",
"author" : [
@@ -24813,11 +26817,11 @@
"version" : "0.05"
}
},
+ "target" : "Sub::Name",
"version" : "0.05"
},
"Sub::Override" : {
"dist" : "Sub-Override-0.08",
- "module" : "Sub::Override",
"mymeta" : {
"abstract" : "Perl extension for easily overriding subroutines",
"author" : [
@@ -24869,18 +26873,18 @@
"version" : "0.08"
}
},
+ "target" : "Sub::Override",
"version" : "0.08"
},
"Sub::Uplevel" : {
"dist" : "Sub-Uplevel-0.22",
- "module" : "Sub::Uplevel",
"mymeta" : {
"abstract" : "apparently run a function in a higher stack frame",
"author" : [
"David A. Golden <dagolden@cpan.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -24945,11 +26949,11 @@
"version" : "0.22"
}
},
+ "target" : "Sub::Uplevel",
"version" : "0.22"
},
"Task::Weaken" : {
"dist" : "Task-Weaken-1.04",
- "module" : "Task::Weaken",
"mymeta" : {
"abstract" : "Ensure that a platform has weaken support",
"author" : [
@@ -25013,11 +27017,11 @@
"version" : "1.04"
}
},
+ "target" : "Task::Weaken",
"version" : "1.04"
},
"Template" : {
"dist" : "Template-Toolkit-2.22",
- "module" : "Template",
"mymeta" : {
"abstract" : "comprehensive template processing system",
"author" : [
@@ -25262,11 +27266,11 @@
"file" : "Template/Provider.pm"
}
},
+ "target" : "Template",
"version" : "2.22"
},
"Template::Plugin::Comma" : {
"dist" : "Template-Plugin-Comma-0.04",
- "module" : "Template::Plugin::Comma",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -25317,11 +27321,240 @@
"version" : "0.04"
}
},
+ "target" : "Template::Plugin::Comma",
"version" : "0.04"
},
+ "Template::Plugin::DateTime::Format" : {
+ "dist" : "Template-Plugin-DateTime-Format-0.02",
+ "mymeta" : {
+ "abstract" : "format DateTime objects from inside TT with C<DateTime::Format>-style formatters",
+ "author" : [
+ "Jonathan Rockway <jrockway@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Dist::Zilla version 4.102342, CPAN::Meta::Converter version 2.101670, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Template-Plugin-DateTime-Format",
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "Template" : 0,
+ "Test::Exception" : 0,
+ "Test::More" : 0,
+ "ok" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.31"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Class::MOP" : 0,
+ "DateTime" : 0,
+ "Template::Plugin" : 0
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "repository" : {
+ "url" : "http://github.com/jrockway/template-plugin-datetime-format"
+ }
+ },
+ "version" : "0.02",
+ "x_Dist_Zilla" : {
+ "plugins" : [
+ {
+ "class" : "Dist::Zilla::Plugin::BeJROCKWAY",
+ "name" : "@JROCKWAY/BeJROCKWAY",
+ "version" : "1.102911"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::AutoPrereqs",
+ "name" : "@JROCKWAY/AutoPrereqs",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PkgVersion",
+ "name" : "@JROCKWAY/PkgVersion",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
+ "name" : "@JROCKWAY/PodSyntaxTests",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PodWeaver",
+ "name" : "@JROCKWAY/PodWeaver",
+ "version" : "3.101640"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Repository",
+ "name" : "@JROCKWAY/Repository",
+ "version" : "0.13"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::GatherDir",
+ "name" : "@JROCKWAY/GatherDir",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PruneCruft",
+ "name" : "@JROCKWAY/PruneCruft",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ManifestSkip",
+ "name" : "@JROCKWAY/ManifestSkip",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaConfig",
+ "name" : "@JROCKWAY/MetaConfig",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaJSON",
+ "name" : "@JROCKWAY/MetaJSON",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaYAML",
+ "name" : "@JROCKWAY/MetaYAML",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::License",
+ "name" : "@JROCKWAY/License",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Readme",
+ "name" : "@JROCKWAY/Readme",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ExtraTests",
+ "name" : "@JROCKWAY/ExtraTests",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ExecDir",
+ "name" : "@JROCKWAY/ExecDir",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ShareDir",
+ "name" : "@JROCKWAY/ShareDir",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MakeMaker",
+ "name" : "@JROCKWAY/MakeMaker",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Manifest",
+ "name" : "@JROCKWAY/Manifest",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::TestRelease",
+ "name" : "@JROCKWAY/TestRelease",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::ConfirmRelease",
+ "name" : "@JROCKWAY/ConfirmRelease",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::UploadToCPAN",
+ "name" : "@JROCKWAY/UploadToCPAN",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::NextRelease",
+ "name" : "@JROCKWAY/NextRelease",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::NextVersion",
+ "name" : "@JROCKWAY/Git::NextVersion",
+ "version" : "1.102810"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Check",
+ "name" : "@JROCKWAY/@Git/Check",
+ "version" : "1.102810"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Commit",
+ "name" : "@JROCKWAY/@Git/Commit",
+ "version" : "1.102810"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Tag",
+ "name" : "@JROCKWAY/@Git/Tag",
+ "version" : "1.102810"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Push",
+ "name" : "@JROCKWAY/@Git/Push",
+ "version" : "1.102810"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":InstallModules",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":TestFiles",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":ExecFiles",
+ "version" : "4.102342"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":ShareFiles",
+ "version" : "4.102342"
+ }
+ ],
+ "zilla" : {
+ "class" : "Dist::Zilla::Dist::Builder",
+ "config" : {
+ "is_trial" : 0
+ },
+ "version" : "4.102342"
+ }
+ }
+ },
+ "name" : "Template::Plugin::DateTime::Format",
+ "pathname" : "J/JR/JROCKWAY/Template-Plugin-DateTime-Format-0.02.tar.gz",
+ "provides" : {
+ "Template::Plugin::DateTime::Format" : {
+ "file" : "Template/Plugin/DateTime/Format.pm",
+ "version" : "0.02"
+ }
+ },
+ "target" : "Template::Plugin::DateTime::Format",
+ "version" : "0.02"
+ },
"Template::Timer" : {
"dist" : "Template-Timer-1.00",
- "module" : "Template::Timer",
"mymeta" : {
"abstract" : "Rudimentary profiling for Template Toolkit",
"author" : [
@@ -25368,11 +27601,11 @@
"version" : "1.00"
}
},
+ "target" : "Template::Timer",
"version" : "1.00"
},
"Term::ReadKey" : {
"dist" : "TermReadKey-2.30",
- "module" : "Term::ReadKey",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -25420,11 +27653,11 @@
"version" : "2.30"
}
},
+ "target" : "Term::ReadKey",
"version" : "2.30"
},
"Test::Base" : {
"dist" : "Test-Base-0.60",
- "module" : "Test::Base",
"mymeta" : {
"abstract" : "A Data Driven Testing Framework",
"author" : [
@@ -25498,11 +27731,11 @@
"file" : "Test/Base.pm"
}
},
+ "target" : "Test::Base",
"version" : "0.60"
},
"Test::Deep" : {
"dist" : "Test-Deep-0.108",
- "module" : "Test::Deep",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -25697,6 +27930,7 @@
"file" : "Test/Deep/HashKeysOnly.pm"
}
},
+ "target" : "Test::Deep",
"version" : "0.108"
},
"Test::Exception" : {
@@ -25708,7 +27942,7 @@
"Adrian Howard <adrianh@quietstars.com>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -25749,7 +27983,7 @@
"version" : "0.31"
},
"name" : "Test::Exception",
- "pathname" : "/authors/id/A/AD/ADIE/Test-Exception-0.31.tar.gz",
+ "pathname" : "A/AD/ADIE/Test-Exception-0.31.tar.gz",
"provides" : {
"Test::Exception" : {
"file" : "Test/Exception.pm",
@@ -25759,7 +27993,7 @@
"version" : "0.31"
},
"Test::Fatal" : {
- "dist" : "Test-Fatal-0.008",
+ "dist" : "Test-Fatal-0.010",
"module" : "Test::Fatal",
"mymeta" : {
"abstract" : "incredibly simple helpers for testing code with exceptions",
@@ -25767,7 +28001,7 @@
"Ricardo Signes <rjbs@cpan.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 4.300003, CPAN::Meta::Converter version 2.112621, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Dist::Zilla version 4.300007, CPAN::Meta::Converter version 2.120351, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -25807,118 +28041,118 @@
"url" : "https://github.com/rjbs/test-fatal.git"
}
},
- "version" : "0.008",
+ "version" : "0.010",
"x_Dist_Zilla" : {
"plugins" : [
{
"class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed",
"name" : "@RJBS/CheckPrereqsIndexed",
- "version" : "0.005"
+ "version" : "0.007"
},
{
"class" : "Dist::Zilla::Plugin::GatherDir",
"name" : "@RJBS/@Basic/GatherDir",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::PruneCruft",
"name" : "@RJBS/@Basic/PruneCruft",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::ManifestSkip",
"name" : "@RJBS/@Basic/ManifestSkip",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::MetaYAML",
"name" : "@RJBS/@Basic/MetaYAML",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::License",
"name" : "@RJBS/@Basic/License",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::Readme",
"name" : "@RJBS/@Basic/Readme",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::ExtraTests",
"name" : "@RJBS/@Basic/ExtraTests",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::ExecDir",
"name" : "@RJBS/@Basic/ExecDir",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::ShareDir",
"name" : "@RJBS/@Basic/ShareDir",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::MakeMaker",
"name" : "@RJBS/@Basic/MakeMaker",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::Manifest",
"name" : "@RJBS/@Basic/Manifest",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::TestRelease",
"name" : "@RJBS/@Basic/TestRelease",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::ConfirmRelease",
"name" : "@RJBS/@Basic/ConfirmRelease",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::UploadToCPAN",
"name" : "@RJBS/@Basic/UploadToCPAN",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::AutoPrereqs",
"name" : "@RJBS/AutoPrereqs",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::Git::NextVersion",
"name" : "@RJBS/Git::NextVersion",
- "version" : "1.112510"
+ "version" : "1.120370"
},
{
"class" : "Dist::Zilla::Plugin::PkgVersion",
"name" : "@RJBS/PkgVersion",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::MetaConfig",
"name" : "@RJBS/MetaConfig",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::MetaJSON",
"name" : "@RJBS/MetaJSON",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::NextRelease",
"name" : "@RJBS/NextRelease",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::PodSyntaxTests",
"name" : "@RJBS/PodSyntaxTests",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::Repository",
@@ -25934,7 +28168,7 @@
}
},
"name" : "@RJBS/TestMoreWithSubtests",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::PodWeaver",
@@ -25944,27 +28178,27 @@
{
"class" : "Dist::Zilla::Plugin::GithubMeta",
"name" : "@RJBS/GithubMeta",
- "version" : "0.26"
+ "version" : "0.28"
},
{
"class" : "Dist::Zilla::Plugin::Git::Check",
"name" : "@RJBS/@Git/Check",
- "version" : "1.112510"
+ "version" : "1.120370"
},
{
"class" : "Dist::Zilla::Plugin::Git::Commit",
"name" : "@RJBS/@Git/Commit",
- "version" : "1.112510"
+ "version" : "1.120370"
},
{
"class" : "Dist::Zilla::Plugin::Git::Tag",
"name" : "@RJBS/@Git/Tag",
- "version" : "1.112510"
+ "version" : "1.120370"
},
{
"class" : "Dist::Zilla::Plugin::Git::Push",
"name" : "@RJBS/@Git/Push",
- "version" : "1.112510"
+ "version" : "1.120370"
},
{
"class" : "Dist::Zilla::Plugin::RemovePrereqs",
@@ -25976,7 +28210,7 @@
}
},
"name" : "RemovePrereqs",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs",
@@ -25987,37 +28221,37 @@
}
},
"name" : "TestRequires",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":InstallModules",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":IncModules",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":TestFiles",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ExecFiles",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ShareFiles",
- "version" : "4.300003"
+ "version" : "4.300007"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":MainModule",
- "version" : "4.300003"
+ "version" : "4.300007"
}
],
"zilla" : {
@@ -26025,23 +28259,22 @@
"config" : {
"is_trial" : "0"
},
- "version" : "4.300003"
+ "version" : "4.300007"
}
}
},
"name" : "Test::Fatal",
- "pathname" : "R/RJ/RJBS/Test-Fatal-0.008.tar.gz",
+ "pathname" : "R/RJ/RJBS/Test-Fatal-0.010.tar.gz",
"provides" : {
"Test::Fatal" : {
"file" : "Test/Fatal.pm",
- "version" : "0.008"
+ "version" : "0.010"
}
},
- "version" : "0.008"
+ "version" : "0.010"
},
"Test::LongString" : {
"dist" : "Test-LongString-0.15",
- "module" : "Test::LongString",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -26092,11 +28325,11 @@
"version" : "0.15"
}
},
+ "target" : "Test::LongString",
"version" : "0.15"
},
"Test::Manifest" : {
"dist" : "Test-Manifest-1.23",
- "module" : "Test::Manifest",
"mymeta" : {
"abstract" : "interact with a t/test_manifest file",
"author" : [
@@ -26147,11 +28380,87 @@
"version" : "1.23"
}
},
+ "target" : "Test::Manifest",
"version" : "1.23"
},
+ "Test::MockObject" : {
+ "dist" : "Test-MockObject-1.20120301",
+ "module" : "Test::MockObject",
+ "mymeta" : {
+ "abstract" : "Perl extension for emulating troublesome interfaces",
+ "author" : [
+ "chromatic"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Dist::Zilla version 4.300009, CPAN::Meta::Converter version 2.120530, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Test-MockObject",
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "Test::Exception" : 0,
+ "Test::More" : "0.98",
+ "Test::Warn" : "0.23",
+ "base" : 0,
+ "overload" : 0,
+ "vars" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.30"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "CGI" : 0,
+ "Carp" : 0,
+ "Devel::Peek" : 0,
+ "Scalar::Util" : 0,
+ "Test::Builder" : 0,
+ "Test::Exception" : "0.31",
+ "Test::More" : "0.98",
+ "Test::Warn" : "0.23",
+ "UNIVERSAL::can" : "1.20110617",
+ "UNIVERSAL::isa" : "1.20110614",
+ "strict" : 0,
+ "warnings" : 0
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "bugtracker" : {
+ "web" : "http://rt.cpan.org/NoAuth/Bugs.html?Dist=Test-MockObject"
+ },
+ "repository" : {
+ "url" : "https://github.com/chromatic/Test-MockObject.git"
+ }
+ },
+ "version" : "1.20120301"
+ },
+ "name" : "Test::MockObject",
+ "pathname" : "C/CH/CHROMATIC/Test-MockObject-1.20120301.tar.gz",
+ "provides" : {
+ "Test::MockObject" : {
+ "file" : "Test/MockObject.pm",
+ "version" : "1.20120301"
+ },
+ "Test::MockObject::Extends" : {
+ "file" : "Test/MockObject/Extends.pm",
+ "version" : "1.20120301"
+ }
+ },
+ "version" : "1.20120301"
+ },
"Test::NoWarnings" : {
"dist" : "Test-NoWarnings-1.04",
- "module" : "Test::NoWarnings",
"mymeta" : {
"abstract" : "Make sure you didn't emit any warnings while testing",
"author" : [
@@ -26212,11 +28521,11 @@
"version" : "1.04"
}
},
+ "target" : "Test::NoWarnings",
"version" : "1.04"
},
"Test::Object" : {
"dist" : "Test-Object-0.07",
- "module" : "Test::Object",
"mymeta" : {
"abstract" : "Thoroughly testing objects via registered handlers",
"author" : [
@@ -26272,11 +28581,11 @@
"version" : "0.07"
}
},
+ "target" : "Test::Object",
"version" : "0.07"
},
"Test::Output" : {
"dist" : "Test-Output-0.16",
- "module" : "Test::Output",
"mymeta" : {
"abstract" : "Utilities to test STDOUT and STDERR messages.",
"author" : [
@@ -26333,18 +28642,18 @@
"version" : "0.14"
}
},
+ "target" : "Test::Output",
"version" : "0.16"
},
"Test::Pod" : {
"dist" : "Test-Pod-1.45",
- "module" : "Test::Pod",
"mymeta" : {
"abstract" : "check for POD errors in files",
"author" : [
"Currently maintained by David E. Wheeler, C<< <david@justatheory.com> >>."
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -26404,6 +28713,7 @@
"version" : "1.45"
}
},
+ "target" : "Test::Pod",
"version" : "1.45"
},
"Test::Requires" : {
@@ -26564,7 +28874,6 @@
},
"Test::SubCalls" : {
"dist" : "Test-SubCalls-1.09",
- "module" : "Test::SubCalls",
"mymeta" : {
"abstract" : "Track the number of times subs are called",
"author" : [
@@ -26628,11 +28937,11 @@
"version" : "1.09"
}
},
+ "target" : "Test::SubCalls",
"version" : "1.09"
},
"Test::Tester" : {
"dist" : "Test-Tester-0.108",
- "module" : "Test::Tester",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -26682,11 +28991,11 @@
"file" : "Test/Tester/Delegate.pm"
}
},
+ "target" : "Test::Tester",
"version" : "0.108"
},
"Test::WWW::Mechanize" : {
"dist" : "Test-WWW-Mechanize-1.38",
- "module" : "Test::WWW::Mechanize",
"mymeta" : {
"abstract" : "Testing-specific WWW::Mechanize subclass",
"author" : [
@@ -26758,11 +29067,11 @@
"version" : "1.38"
}
},
+ "target" : "Test::WWW::Mechanize",
"version" : "1.38"
},
"Test::WWW::Mechanize::Catalyst" : {
"dist" : "Test-WWW-Mechanize-Catalyst-0.53",
- "module" : "Test::WWW::Mechanize::Catalyst",
"mymeta" : {
"abstract" : "Test::WWW::Mechanize for Catalyst",
"author" : [
@@ -26829,10 +29138,11 @@
"version" : "0.53"
}
},
+ "target" : "Test::WWW::Mechanize::Catalyst",
"version" : "0.53"
},
"Test::Warn" : {
- "dist" : "Test-Warn-0.23",
+ "dist" : "Test-Warn-0.24",
"module" : "Test::Warn",
"mymeta" : {
"abstract" : "Perl extension to test methods for warnings",
@@ -26840,7 +29150,7 @@
"Alexandr Ciornii <alexchorny@gmail.com>"
],
"dynamic_config" : 0,
- "generated_by" : "ExtUtils::MakeMaker version 6.56, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112150",
"keywords" : [
"testing",
"warnings"
@@ -26873,6 +29183,7 @@
},
"runtime" : {
"requires" : {
+ "Carp" : "1.22",
"Sub::Uplevel" : "0.12",
"Test::Builder" : "0.13",
"Test::Builder::Tester" : "1.02",
@@ -26887,14 +29198,14 @@
"url" : "http://github.com/chorny/test-warn/tree"
}
},
- "version" : "0.23"
+ "version" : "0.24"
},
"name" : "Test::Warn",
- "pathname" : "/authors/id/C/CH/CHORNY/Test-Warn-0.23.tar.gz",
+ "pathname" : "C/CH/CHORNY/Test-Warn-0.24.tar.gz",
"provides" : {
"Test::Warn" : {
"file" : "Test/Warn.pm",
- "version" : "0.23"
+ "version" : "0.24"
},
"Test::Warn::Categorization" : {
"file" : "Test/Warn.pm"
@@ -26903,11 +29214,10 @@
"file" : "Test/Warn.pm"
}
},
- "version" : "0.23"
+ "version" : "0.24"
},
"Test::use::ok" : {
"dist" : "Test-use-ok-0.02",
- "module" : "ok",
"mymeta" : {
"abstract" : "Alternative to Test::More::use_ok",
"author" : [
@@ -26956,11 +29266,11 @@
"version" : "0.02"
}
},
+ "target" : "ok",
"version" : "0.02"
},
"Text::German" : {
"dist" : "Text-German-0.06",
- "module" : "Text::German",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -27032,18 +29342,18 @@
"file" : "Text/German/Vorsilbe.pm"
}
},
+ "target" : "Text::German",
"version" : "0.06"
},
"Text::Glob" : {
"dist" : "Text-Glob-0.09",
- "module" : "Text::Glob",
"mymeta" : {
"abstract" : "match globbing patterns against text",
"author" : [
"Richard Clamp <richardc@unixbeard.net>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -27086,11 +29396,11 @@
"version" : "0.09"
}
},
+ "target" : "Text::Glob",
"version" : "0.09"
},
"Text::SimpleTable" : {
"dist" : "Text-SimpleTable-2.03",
- "module" : "Text::SimpleTable",
"mymeta" : {
"abstract" : "Simple eyecandy ASCII tables",
"author" : [
@@ -27148,11 +29458,11 @@
"version" : "2.03"
}
},
+ "target" : "Text::SimpleTable",
"version" : "2.03"
},
"Text::Template" : {
"dist" : "Text-Template-1.45",
- "module" : "Text::Template",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -27195,11 +29505,11 @@
"version" : "1.45"
}
},
+ "target" : "Text::Template",
"version" : "1.45"
},
"Text::Unidecode" : {
"dist" : "Text-Unidecode-0.04",
- "module" : "Text::Unidecode",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -27247,18 +29557,18 @@
"version" : "0.04"
}
},
+ "target" : "Text::Unidecode",
"version" : "0.04"
},
"Tie::IxHash" : {
"dist" : "Tie-IxHash-1.22",
- "module" : "Tie::IxHash",
"mymeta" : {
"abstract" : "ordered associative arrays for Perl",
"author" : [
"Gurusamy Sarathy gsar@umich.edu"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -27300,11 +29610,11 @@
"version" : "1.22"
}
},
+ "target" : "Tie::IxHash",
"version" : "1.22"
},
"Tie::ToObject" : {
"dist" : "Tie-ToObject-0.03",
- "module" : "Tie::ToObject",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -27346,11 +29656,11 @@
"version" : "0.03"
}
},
+ "target" : "Tie::ToObject",
"version" : "0.03"
},
"TimeDate" : {
"dist" : "TimeDate-1.20",
- "module" : "Date::Format",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -27544,9 +29854,11 @@
"Time::Zone" : {
"file" : "Time/Zone.pm",
"version" : "2.24"
- }
+ },
+ "TimeDate" : {}
},
- "version" : "2.24"
+ "target" : "Date::Format",
+ "version" : "1.20"
},
"Tree::DAG_Node" : {
"dist" : "Tree-DAG_Node-1.06",
@@ -27584,7 +29896,7 @@
"version" : "1.06"
},
"name" : "Tree::DAG_Node",
- "pathname" : "/authors/id/C/CO/COGENT/Tree-DAG_Node-1.06.tar.gz",
+ "pathname" : "C/CO/COGENT/Tree-DAG_Node-1.06.tar.gz",
"provides" : {
"Tree::DAG_Node" : {
"file" : "Tree/DAG_Node.pm",
@@ -27595,7 +29907,6 @@
},
"Tree::Simple" : {
"dist" : "Tree-Simple-1.18",
- "module" : "Tree::Simple",
"mymeta" : {
"abstract" : "A simple tree object",
"author" : [
@@ -27603,7 +29914,7 @@
"Rob Kinyon, E<lt>rob@iinteractive.comE<gt>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -27656,11 +29967,11 @@
"version" : "1.11"
}
},
+ "target" : "Tree::Simple",
"version" : "1.18"
},
"Tree::Simple::VisitorFactory" : {
"dist" : "Tree-Simple-VisitorFactory-0.10",
- "module" : "Tree::Simple::Visitor::FindByPath",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -27782,7 +30093,8 @@
"version" : "0.10"
}
},
- "version" : "0.03"
+ "target" : "Tree::Simple::Visitor::FindByPath",
+ "version" : "0.10"
},
"Try::Tiny" : {
"dist" : "Try-Tiny-0.11",
@@ -27838,9 +30150,128 @@
},
"version" : "0.11"
},
+ "UNIVERSAL::can" : {
+ "dist" : "UNIVERSAL-can-1.20120726",
+ "module" : "UNIVERSAL::can",
+ "mymeta" : {
+ "abstract" : "work around buggy code calling UNIVERSAL::can() as a function",
+ "author" : [
+ "chromatic"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Dist::Zilla version 4.300020, CPAN::Meta::Converter version 2.120921, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "UNIVERSAL-can",
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "Test::More" : 0,
+ "overload" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.30"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Scalar::Util" : 0,
+ "strict" : 0,
+ "vars" : 0,
+ "warnings" : 0,
+ "warnings::register" : 0
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "homepage" : "https://github.com/chromatic/UNIVERSAL-can",
+ "repository" : {
+ "url" : "https://github.com/chromatic/UNIVERSAL-can.git"
+ }
+ },
+ "version" : "1.20120726"
+ },
+ "name" : "UNIVERSAL::can",
+ "pathname" : "C/CH/CHROMATIC/UNIVERSAL-can-1.20120726.tar.gz",
+ "provides" : {
+ "UNIVERSAL::can" : {
+ "file" : "UNIVERSAL/can.pm",
+ "version" : "1.20120726"
+ }
+ },
+ "version" : "1.20120726"
+ },
+ "UNIVERSAL::isa" : {
+ "dist" : "UNIVERSAL-isa-1.20120726",
+ "module" : "UNIVERSAL::isa",
+ "mymeta" : {
+ "abstract" : "Attempt to recover from people calling UNIVERSAL::isa as a function",
+ "author" : [
+ "chromatic"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Dist::Zilla version 4.300020, CPAN::Meta::Converter version 2.120921, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "UNIVERSAL-isa",
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "CGI" : 0,
+ "Test::More" : 0,
+ "overload" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.30"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Scalar::Util" : 0,
+ "UNIVERSAL" : 0,
+ "strict" : 0,
+ "vars" : 0,
+ "warnings" : 0,
+ "warnings::register" : 0
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "homepage" : "https://github.com/chromatic/UNIVERSAL-isa",
+ "repository" : {
+ "url" : "https://github.com/chromatic/UNIVERSAL-isa.git"
+ }
+ },
+ "version" : "1.20120726"
+ },
+ "name" : "UNIVERSAL::isa",
+ "pathname" : "C/CH/CHROMATIC/UNIVERSAL-isa-1.20120726.tar.gz",
+ "provides" : {
+ "UNIVERSAL::isa" : {
+ "file" : "UNIVERSAL/isa.pm",
+ "version" : "1.20120726"
+ }
+ },
+ "version" : "1.20120726"
+ },
"UNIVERSAL::require" : {
"dist" : "UNIVERSAL-require-0.13",
- "module" : "UNIVERSAL::require",
"mymeta" : {
"abstract" : "require() modules from a variable",
"author" : [
@@ -27907,11 +30338,11 @@
"version" : "0.13"
}
},
+ "target" : "UNIVERSAL::require",
"version" : "0.13"
},
"URI" : {
"dist" : "URI-1.59",
- "module" : "URI",
"mymeta" : {
"abstract" : "Uniform Resource Identifiers (absolute and relative)",
"author" : [
@@ -28103,11 +30534,11 @@
"file" : "URI/urn/oid.pm"
}
},
+ "target" : "URI::Escape",
"version" : "1.59"
},
"URI::SmartURI" : {
"dist" : "URI-SmartURI-0.031",
- "module" : "URI::SmartURI",
"mymeta" : {
"abstract" : "Subclassable and hostless URIs",
"author" : [
@@ -28183,11 +30614,11 @@
"version" : "0.031"
}
},
+ "target" : "URI::SmartURI",
"version" : "0.031"
},
"Variable::Magic" : {
"dist" : "Variable-Magic-0.47",
- "module" : "Variable::Magic",
"mymeta" : {
"abstract" : "Associate user-defined magic to variables from Perl.",
"author" : [
@@ -28254,11 +30685,11 @@
"version" : "0.47"
}
},
+ "target" : "Variable::Magic",
"version" : "0.47"
},
"WWW::Mechanize" : {
"dist" : "WWW-Mechanize-1.71",
- "module" : "WWW::Mechanize",
"mymeta" : {
"abstract" : "Handy web browsing in a Perl object",
"author" : [
@@ -28347,11 +30778,11 @@
"file" : "WWW/Mechanize/Link.pm"
}
},
+ "target" : "WWW::Mechanize",
"version" : "1.71"
},
"WWW::RobotRules" : {
"dist" : "WWW-RobotRules-6.01",
- "module" : "WWW::RobotRules",
"mymeta" : {
"abstract" : "database of robots.txt-derived permissions",
"author" : [
@@ -28417,11 +30848,11 @@
"file" : "WWW/RobotRules.pm"
}
},
+ "target" : "WWW::RobotRules",
"version" : "6.01"
},
"Web::Scraper" : {
"dist" : "Web-Scraper-0.36",
- "module" : "Web::Scraper",
"mymeta" : {
"abstract" : "Web Scraping Toolkit using HTML and CSS Selectors or XPath expressions",
"author" : [
@@ -28501,11 +30932,11 @@
"file" : "Web/Scraper/LibXML.pm"
}
},
+ "target" : "Web::Scraper",
"version" : "0.36"
},
"XML::NamespaceSupport" : {
"dist" : "XML-NamespaceSupport-1.11",
- "module" : "XML::NamespaceSupport",
"mymeta" : {
"abstract" : "a simple generic namespace support class",
"author" : [
@@ -28563,11 +30994,221 @@
"version" : "1.11"
}
},
+ "target" : "XML::NamespaceSupport",
"version" : "1.11"
},
+ "XML::Parser" : {
+ "dist" : "XML-Parser-2.41",
+ "mymeta" : {
+ "abstract" : "A perl module for parsing XML documents",
+ "author" : [
+ "Clark Cooper (coopercc@netheaven.com)"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "ExtUtils::MakeMaker version 6.56, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "XML-Parser",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "LWP" : 0,
+ "perl" : "5.00405"
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "repository" : {
+ "url" : "http://github.com/chorny/XML-Parser"
+ }
+ },
+ "version" : "2.41"
+ },
+ "name" : "XML::Parser",
+ "pathname" : "T/TO/TODDR/XML-Parser-2.41.tar.gz",
+ "provides" : {
+ "XML::Parser" : {
+ "file" : "XML/Parser.pm",
+ "version" : "2.41"
+ },
+ "XML::Parser::Expat" : {
+ "file" : "XML/Parser/Expat.pm",
+ "version" : "2.41"
+ },
+ "XML::Parser::Style::Debug" : {
+ "file" : "XML/Parser/Style/Debug.pm"
+ },
+ "XML::Parser::Style::Objects" : {
+ "file" : "XML/Parser/Style/Objects.pm"
+ },
+ "XML::Parser::Style::Stream" : {
+ "file" : "XML/Parser/Style/Stream.pm"
+ },
+ "XML::Parser::Style::Subs" : {
+ "file" : "XML/Parser/Style/Subs.pm"
+ },
+ "XML::Parser::Style::Tree" : {
+ "file" : "XML/Parser/Style/Tree.pm"
+ }
+ },
+ "target" : "XML::Parser::Expat",
+ "version" : "2.41"
+ },
+ "XML::RSS" : {
+ "dist" : "XML-RSS-1.49",
+ "mymeta" : {
+ "abstract" : "creates and updates RSS files",
+ "author" : [
+ "Shlomi Fish <shlomif@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
+ "keywords" : [
+ "feed",
+ "feeds",
+ "generate",
+ "generating",
+ "parse",
+ "parsing",
+ "rss",
+ "RSS",
+ "web-feed",
+ "web-feeds",
+ "xml"
+ ],
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "XML-RSS",
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "Test::Manifest" : "0.9",
+ "Test::More" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "Module::Build" : "0.36"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "DateTime" : 0,
+ "DateTime::Format::Mail" : 0,
+ "DateTime::Format::W3CDTF" : 0,
+ "HTML::Entities" : 0,
+ "XML::Parser" : "2.23",
+ "perl" : "5.008"
+ }
+ }
+ },
+ "provides" : {
+ "XML::RSS" : {
+ "file" : "lib/XML/RSS.pm",
+ "version" : "1.49"
+ },
+ "XML::RSS::Private::Output::Base" : {
+ "file" : "lib/XML/RSS/Private/Output/Base.pm",
+ "version" : 0
+ },
+ "XML::RSS::Private::Output::Roles::ImageDims" : {
+ "file" : "lib/XML/RSS/Private/Output/Roles/ImageDims.pm",
+ "version" : 0
+ },
+ "XML::RSS::Private::Output::Roles::ModulesElems" : {
+ "file" : "lib/XML/RSS/Private/Output/Roles/ModulesElems.pm",
+ "version" : 0
+ },
+ "XML::RSS::Private::Output::V0_9" : {
+ "file" : "lib/XML/RSS/Private/Output/V0_9.pm",
+ "version" : 0
+ },
+ "XML::RSS::Private::Output::V0_91" : {
+ "file" : "lib/XML/RSS/Private/Output/V0_91.pm",
+ "version" : 0
+ },
+ "XML::RSS::Private::Output::V1_0" : {
+ "file" : "lib/XML/RSS/Private/Output/V1_0.pm",
+ "version" : 0
+ },
+ "XML::RSS::Private::Output::V2_0" : {
+ "file" : "lib/XML/RSS/Private/Output/V2_0.pm",
+ "version" : 0
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "homepage" : "http://perl-rss.sourceforge.net/",
+ "license" : [
+ "http://dev.perl.org/licenses/"
+ ],
+ "repository" : {
+ "url" : "https://svn.perl.org/modules/XML-RSS/trunk"
+ }
+ },
+ "version" : "1.49"
+ },
+ "name" : "XML::RSS",
+ "pathname" : "S/SH/SHLOMIF/XML-RSS-1.49.tar.gz",
+ "provides" : {
+ "XML::RSS" : {
+ "file" : "XML/RSS.pm",
+ "version" : "1.49"
+ },
+ "XML::RSS::Private::Output::Base" : {
+ "file" : "XML/RSS/Private/Output/Base.pm"
+ },
+ "XML::RSS::Private::Output::Roles::ImageDims" : {
+ "file" : "XML/RSS/Private/Output/Roles/ImageDims.pm"
+ },
+ "XML::RSS::Private::Output::Roles::ModulesElems" : {
+ "file" : "XML/RSS/Private/Output/Roles/ModulesElems.pm"
+ },
+ "XML::RSS::Private::Output::V0_9" : {
+ "file" : "XML/RSS/Private/Output/V0_9.pm"
+ },
+ "XML::RSS::Private::Output::V0_91" : {
+ "file" : "XML/RSS/Private/Output/V0_91.pm"
+ },
+ "XML::RSS::Private::Output::V1_0" : {
+ "file" : "XML/RSS/Private/Output/V1_0.pm"
+ },
+ "XML::RSS::Private::Output::V2_0" : {
+ "file" : "XML/RSS/Private/Output/V2_0.pm"
+ }
+ },
+ "target" : "XML::RSS",
+ "version" : "1.49"
+ },
"XML::SAX" : {
"dist" : "XML-SAX-0.99",
- "module" : "XML::SAX",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -28651,11 +31292,11 @@
"file" : "XML/SAX/PurePerl/Reader/URI.pm"
}
},
+ "target" : "XML::SAX",
"version" : "0.99"
},
"XML::SAX::Base" : {
"dist" : "XML-SAX-Base-1.08",
- "module" : "XML::SAX::Base",
"mymeta" : {
"abstract" : "Base class for SAX Drivers and Filters",
"author" : [
@@ -28711,11 +31352,11 @@
"version" : "1.08"
}
},
+ "target" : "XML::SAX::Base",
"version" : "1.08"
},
"XML::Simple" : {
"dist" : "XML-Simple-2.18",
- "module" : "XML::Simple",
"mymeta" : {
"abstract" : "Easy API to maintain XML (esp config files)",
"author" : [
@@ -28767,11 +31408,11 @@
"version" : "2.18"
}
},
+ "target" : "XML::Simple",
"version" : "2.18"
},
"XML::XPathEngine" : {
"dist" : "XML-XPathEngine-0.13",
- "module" : "XML::XPathEngine",
"mymeta" : {
"abstract" : "a re-usable XPath engine for DOM-like trees",
"author" : [
@@ -28851,11 +31492,11 @@
"file" : "XML/XPathEngine/Variable.pm"
}
},
+ "target" : "XML::XPathEngine",
"version" : "0.13"
},
"YAML" : {
"dist" : "YAML-0.77",
- "module" : "YAML",
"mymeta" : {
"abstract" : "YAML Ain't Markup Language (tm)",
"author" : [
@@ -28997,18 +31638,81 @@
"file" : "YAML/Node.pm"
}
},
+ "target" : "YAML",
"version" : "0.77"
},
+ "YAML::Tiny" : {
+ "dist" : "YAML-Tiny-1.51",
+ "module" : "YAML::Tiny",
+ "mymeta" : {
+ "abstract" : "Read/Write YAML files with as little code as possible",
+ "author" : [
+ "Adam Kennedy <adamk@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112621, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "YAML-Tiny",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "File::Spec" : "0.80",
+ "Test::More" : "0.47"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "perl" : "5.004"
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "bugtracker" : {
+ "web" : "http://rt.cpan.org/NoAuth/ReportBug.html?Queue=YAML-Tiny"
+ },
+ "repository" : {
+ "url" : "http://svn.ali.as/cpan/trunk/YAML-Tiny"
+ }
+ },
+ "version" : "1.51"
+ },
+ "name" : "YAML::Tiny",
+ "pathname" : "A/AD/ADAMK/YAML-Tiny-1.51.tar.gz",
+ "provides" : {
+ "YAML::Tiny" : {
+ "file" : "YAML/Tiny.pm",
+ "version" : "1.51"
+ }
+ },
+ "version" : "1.51"
+ },
"aliased" : {
"dist" : "aliased-0.30",
- "module" : "aliased",
"mymeta" : {
"abstract" : "Use shorter versions of class names.",
"author" : [
"Curtis \"Ovid\" Poe <ovid@cpan.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.4002, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -29042,11 +31746,11 @@
"version" : "0.30"
}
},
+ "target" : "aliased",
"version" : "0.30"
},
"carton" : {
"dist" : "carton-v0.9.3",
- "module" : "Carton",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -29164,8 +31868,10 @@
},
"Carton::Util" : {
"file" : "Carton/Util.pm"
- }
+ },
+ "carton" : {}
},
+ "target" : "carton",
"version" : "v0.9.3"
},
"local::lib" : {
@@ -29245,7 +31951,6 @@
},
"namespace::autoclean" : {
"dist" : "namespace-autoclean-0.12",
- "module" : "namespace::autoclean",
"mymeta" : {
"abstract" : "Keep imports out of your namespace",
"author" : [
@@ -29461,11 +32166,11 @@
"version" : "0.12"
}
},
+ "target" : "namespace::autoclean",
"version" : "0.12"
},
"namespace::clean" : {
"dist" : "namespace-clean-0.21",
- "module" : "namespace::clean",
"mymeta" : {
"abstract" : "Keep imports and functions out of your namespace",
"author" : [
@@ -29526,6 +32231,7 @@
"version" : "0.21"
}
},
+ "target" : "namespace::clean",
"version" : "0.21"
},
"parent" : {
diff --git a/conf/crontab.ugly b/conf/crontab.ugly
index ca8fd6a8b..399b520bb 100644
--- a/conf/crontab.ugly
+++ b/conf/crontab.ugly
@@ -41,9 +41,3 @@ MAILTO=!!(*= $user *)!!@mysociety.org
39 2 * * * !!(*= $user *)!! /data/vhost/!!(*= $vhost *)!!/fixmystreet/bin/problems-filed-graph
43 2 * * * !!(*= $user *)!! /data/vhost/!!(*= $vhost *)!!/fixmystreet/bin/problem-creation-graph
00 8 * * * !!(*= $user *)!! /data/vhost/!!(*= $vhost *)!!/fixmystreet/bin/check-for-zombies !!(*= $user *)!!
-
-
-!!(* if ($vhost eq 'www.fixmystreet.com') { *)!!
-10 * * * * !!(*= $user *)!! /data/vhost/!!(*= $vhost *)!!/fixmystreet-virtualenv/bin/python /data/vhost/!!(*= $vhost *)!!/fixmystreet/bin/kasabi
-!!(* } *)!!
-
diff --git a/conf/general.yml-example b/conf/general.yml-example
index ab8bd81ab..b826dd89d 100644
--- a/conf/general.yml-example
+++ b/conf/general.yml-example
@@ -1,4 +1,4 @@
-# general-example.yml:
+# general.yml-example:
# Example values for the "general" config file.
#
# Configuration parameters, in YAML syntax.
@@ -6,58 +6,123 @@
# Copy this file to one called "general.yml" in the same directory. Or
# have multiple config files and use a symlink to change between them.
-# PostgreSQL database for FMS
+# PostgreSQL database details for FixMyStreet
FMS_DB_HOST: 'localhost'
FMS_DB_PORT: '5432'
FMS_DB_NAME: 'fms'
FMS_DB_USER: 'fms'
FMS_DB_PASS: ''
+# The base URL of the install.
BASE_URL: 'http://www.example.org'
+# Use the below if you're using the Catalyst development server
+# BASE_URL: 'http://localhost:3000'
+# Email domain used for emails, and contact name/email for admin use.
EMAIL_DOMAIN: 'example.org'
CONTACT_EMAIL: 'team@example.org'
-TEST_EMAIL_PREFIX: ''
-
CONTACT_NAME: 'FixMyStreet'
+
+# Whether this is a development site or not.
STAGING_SITE: 1
-UPLOAD_DIR: '/upload/'
-GEO_CACHE: '/cache/'
+# What to use as front page/alert example places placeholder
+# Defaults to High Street, Main Street
+EXAMPLE_PLACES: [ 'High Street', 'Main Street' ]
+
+# An array of languages for the site, in the following format:
+# <language code>,<pretty name>,<locale>
+# Do not remove the en-gb line as it is needed for correct operation.
+LANGUAGES:
+ - 'en-gb,English,en_GB'
+
+# File locations for uploaded photos and cached geocoding results.
+UPLOAD_DIR: '../upload/'
+GEO_CACHE: '../cache/'
+
+# Location of MapIt, to map points to administrative areas, and what types of
+# area from it you want to use. If left blank, a default area will be used
+# everywhere (a URL needs to be given for non-web things, like sending of
+# reports, to function).
+# If using the Catalyst development server, set to
+# MAPIT_URL: 'http://localhost:3000/fakemapit/'
+# MAPIT_TYPES: [ 'ZZZ' ]
+# In the UK, you probably want, to cover all councils:
+# MAPIT_URL: 'http://mapit.mysociety.org/'
+# MAPIT_TYPES: [ 'DIS', 'LBO', 'MTD', 'UTA', 'CTY', 'COI', 'LGD' ]
+# But perhaps MAPIT_TYPES: [ 'WMC' ] if you want to report on a per-constituency basis?
+# If our global MapIt (using OpenStreetMap data) contains boundaries you can use:
+# MAPIT_URL: 'http://global.mapit.mysociety.org/'
+# And then specify whichever type code have the boundaries you want:
+# MAPIT_TYPES: [ 'O06' ]
+MAPIT_URL: ''
+MAPIT_TYPES: [ 'ZZZ' ]
+
+# If your MapIt has the concept of council wards (subareas of councils, where
+# people can sign up for alerts, but not report things), then you can give the
+# MapIt type codes for them here.
+# You can probably leave this blank, but in the UK we use something like:
+# MAPIT_TYPES_CHILDREN: [ 'DIW', 'LBW', 'MTW', 'UTE', 'UTW', 'CED', 'COP', 'LGW' ]
+MAPIT_TYPES_CHILDREN: ''
+
+# If you wish to use Google Maps or Bing Maps Geocoding, get and put the
+# relevant key here. Without a key, geocoding will use OSM's Nominatim.
GOOGLE_MAPS_API_KEY: ''
BING_MAPS_API_KEY: ''
-KASABI_API_KEY: ''
-LONDON_REPORTIT_URL: ''
-LONDON_REPORTIT_KEY: ''
-LONDON_REPORTIT_SECRET: ''
+# This provdes parameters that are included in geocoding requests, to hopefully
+# return more useful results. The options vary depending which geocoder you use,
+# or you can specify all for if you change geocoder. For the default OSM, you can use:
+# GEOCODING_DISAMBIGUATION:
+# bounds: [ <min lat>, <min lon>, <max lat>, <max lon> ]
+# country: <country code to restrict results to>
+# town: <string added to geocoding requests if not already there>
+#
+# If using Bing, you can use town and bounds, plus any of:
+# centre: "<lat>,<lon>"
+# bing_culture: <culture code, see http://msdn.microsoft.com/en-us/library/hh441729.aspx>
+# bing_country: <country name, only accept results that match this>
+#
+# If using Google, you can use:
+# centre: "<lat>,<lon>"
+# span: "<lat span>,<lon span>"
+# google_country: <.ccTLD to restrict results to>
+# lang: <language for results>
+#
+GEOCODING_DISAMBIGUATION: ''
-MAPIT_URL: 'http://mapit.mysociety.org/'
+# The type of map you want to use. If left blank, the default is OpenStreetMap.
+# Other options are currently pretty UK specific, including "FMS" for UK
+# FixMyStreet.
MAP_TYPE: 'OSM'
-EVEL_URL: 'http://services.mysociety.org/evel'
-GAZE_URL: 'http://gaze.mysociety.org/gaze'
-
-# Tracking
-TRACKING: 0 # off by default
-TRACKING_URL: 'http://path/to/web/bug'
-TRACKING_SECRET: 'really-secret-value'
-
-AUTH_SHARED_SECRET: ''
-HEARFROMYOURMP_BASE_URL: ''
-
-SMTP_SMARTHOST: 'localhost'
-
-IPHONE_URL: ''
-
-# Log file (used in test harness, and later in admin scripts)
-HTTPD_ERROR_LOG: '/var/log/apache/error.log'
+# FixMyStreet uses a templating cobrand system to provide different looks for
+# different installations. If your site was at moon.example.org, and your templates
+# were in the templates/web/moon directory, you would use:
+# ALLOWED_COBRANDS:
+# - moon: 'moon.example.org'
+# This also allows development servers to map to different cobrands if needed,
+# using DNS subdomains for example.
ALLOWED_COBRANDS:
- cobrand_one
- cobrand_two: 'hostname_substring2'
+# This is only used in "offensive report" emails to provide a link directly to
+# the admin interface. If wanted, set to the full URL of your admin interface.
+ADMIN_BASE_URL: ''
+
# How many items are returned in the GeoRSS feeds by default
RSS_LIMIT: '20'
+# How many reports to show per page on the All Reports pages
+ALL_REPORTS_PER_PAGE: 100
+
+# If you wish to send email through a SMTP server elsewhere, change this
+# variable.
+SMTP_SMARTHOST: 'localhost'
+
+# Gaze is a world-wide service for population density lookups. You can leave
+# this as is.
+GAZE_URL: 'http://gaze.mysociety.org/gaze'
# Should problem reports link to the council summary pages?
AREA_LINKS_FROM_PROBLEMS: '0'
@@ -68,3 +133,12 @@ TESTING_COUNCILS: ''
# if you're using Message Manager, include the URL here (see https://github.com/mysociety/message-manager/)
MESSAGE_MANAGER_URL: ''
+# -----------------------------------------------------------------------
+
+# fixmystreet.com specific config variables. You won't need any of these.
+KASABI_API_KEY: ''
+LONDON_REPORTIT_URL: ''
+LONDON_REPORTIT_KEY: ''
+LONDON_REPORTIT_SECRET: ''
+AUTH_SHARED_SECRET: ''
+HEARFROMYOURMP_BASE_URL: ''
diff --git a/conf/packages.debian-squeeze b/conf/packages.debian-squeeze
index 0efd5e469..4f7887484 100644
--- a/conf/packages.debian-squeeze
+++ b/conf/packages.debian-squeeze
@@ -1,37 +1,14 @@
+make
jhead
-libdatetime-format-w3cdtf-perl
-libcache-memcached-perl
-libdbd-pg-perl
-libdbi-perl
-libdigest-sha1-perl
liberror-perl
-libfcgi-perl
-libfile-slurp-perl
-libgeography-nationalgrid-perl
-libhtml-parser-perl
-libio-string-perl
-liblingua-en-inflect-perl
liblocale-gettext-perl
libsoap-lite-perl
-libstatistics-distributions-perl
-liburi-perl
-libwww-perl
-libxml-rss-perl
memcached
perl
-perl-base
-perl-modules
perlmagick
-libjson-perl
-libimage-size-perl
libmath-bigint-gmp-perl
gettext
-libtest-exception-perl
-libipc-run3-perl
-libyaml-perl
-liblist-moreutils-perl
libhaml-ruby
-libtemplate-perl
postgresql-8.4
postgresql-server-dev-8.4
gnuplot
diff --git a/conf/packages.debian-squeeze+testing b/conf/packages.debian-squeeze+testing
index 7935ff3fe..4b3872c18 100644
--- a/conf/packages.debian-squeeze+testing
+++ b/conf/packages.debian-squeeze+testing
@@ -1,37 +1,14 @@
+make
jhead
-libdatetime-format-w3cdtf-perl
-libcache-memcached-perl
-libdbd-pg-perl
-libdbi-perl
-libdigest-sha1-perl
liberror-perl
-libfcgi-perl
-libfile-slurp-perl
-libgeography-nationalgrid-perl
-libhtml-parser-perl
-libio-string-perl
-liblingua-en-inflect-perl
liblocale-gettext-perl
libsoap-lite-perl
-libstatistics-distributions-perl
-liburi-perl
-libwww-perl
-libxml-rss-perl
memcached
perl
-perl-base
-perl-modules
perlmagick
-libjson-perl
-libimage-size-perl
libmath-bigint-gmp-perl
gettext
-libtest-exception-perl
-libipc-run3-perl
-libyaml-perl
-liblist-moreutils-perl
ruby-compass
-libtemplate-perl
postgresql-8.4
postgresql-server-dev-8.4
gnuplot
diff --git a/locale/.gitignore b/locale/.gitignore
deleted file mode 100644
index be1eb161e..000000000
--- a/locale/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/FixMyStreet-EmptyHomes.po
diff --git a/locale/FixMyStreet.po b/locale/FixMyStreet.po
index fabc9ec80..e5d9ef692 100644
--- a/locale/FixMyStreet.po
+++ b/locale/FixMyStreet.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2012-03-28 19:23+0100\n"
+"POT-Creation-Date: 2012-08-21 09:54+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <team@fixmystreet.com>\n"
@@ -17,15 +17,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-#: bin/send-reports:184 perllib/FixMyStreet/DB/Result/Problem.pm:549
+#: perllib/FixMyStreet/DB/Result/Problem.pm:555 perllib/FixMyStreet/DB/ResultSet/Problem.pm:337
msgid " and "
msgstr ""
-#: templates/web/default/tokens/confirm_problem.html:10 templates/web/default/tokens/confirm_problem.html:6
+#: templates/web/default/tokens/confirm_problem.html:14 templates/web/default/tokens/confirm_problem.html:18
msgid " and <strong>we will now send it to the council</strong>"
msgstr ""
-#: templates/web/default/report/new/councils_text_all.html:10 templates/web/default/report/new/councils_text_all.html:3 templates/web/default/report/new/councils_text_none.html:14 templates/web/default/report/new/councils_text_none.html:17 templates/web/default/report/new/councils_text_some.html:20 templates/web/default/report/new/councils_text_some.html:23 templates/web/default/report/new/councils_text_some.html:5 templates/web/emptyhomes/report/new/councils_text_all.html:2 templates/web/fixmystreet/report/new/councils_text_all.html:10 templates/web/fixmystreet/report/new/councils_text_all.html:3 templates/web/fixmystreet/report/new/councils_text_none.html:12 templates/web/fixmystreet/report/new/councils_text_none.html:15 templates/web/fixmystreet/report/new/councils_text_some.html:20 templates/web/fixmystreet/report/new/councils_text_some.html:23 templates/web/fixmystreet/report/new/councils_text_some.html:5
+#: templates/web/default/report/new/councils_text_all.html:10 templates/web/default/report/new/councils_text_all.html:17 templates/web/default/report/new/councils_text_all.html:3 templates/web/default/report/new/councils_text_none.html:14 templates/web/default/report/new/councils_text_none.html:17 templates/web/default/report/new/councils_text_some.html:20 templates/web/default/report/new/councils_text_some.html:23 templates/web/default/report/new/councils_text_some.html:5 templates/web/emptyhomes/report/new/councils_text_all.html:2
msgid " or "
msgstr ""
@@ -41,11 +41,11 @@ msgstr ""
msgid "%d council contacts &ndash; %d confirmed, %d unconfirmed"
msgstr ""
-#: perllib/Utils.pm:252
+#: perllib/Utils.pm:293
msgid "%d day"
msgstr ""
-#: perllib/Utils.pm:252
+#: perllib/Utils.pm:293
msgid "%d days"
msgstr ""
@@ -53,11 +53,11 @@ msgstr ""
msgid "%d edits by %s"
msgstr ""
-#: perllib/Utils.pm:253
+#: perllib/Utils.pm:294
msgid "%d hour"
msgstr ""
-#: perllib/Utils.pm:253
+#: perllib/Utils.pm:294
msgid "%d hours"
msgstr ""
@@ -65,11 +65,11 @@ msgstr ""
msgid "%d live updates"
msgstr ""
-#: perllib/Utils.pm:254
+#: perllib/Utils.pm:295
msgid "%d minute"
msgstr ""
-#: perllib/Utils.pm:254
+#: perllib/Utils.pm:295
msgid "%d minutes"
msgstr ""
@@ -77,31 +77,35 @@ msgstr ""
msgid "%d questionnaires sent &ndash; %d answered (%s%%)"
msgstr ""
-#: perllib/Utils.pm:251
+#: perllib/Utils.pm:292
msgid "%d week"
msgstr ""
-#: perllib/Utils.pm:251
+#: perllib/Utils.pm:292
msgid "%d weeks"
msgstr ""
-#: templates/web/default/reports/council.html:0 templates/web/default/reports/council.html:14 templates/web/emptyhomes/reports/council.html:11 templates/web/emptyhomes/reports/council.html:13
+#: templates/web/default/reports/council.html:0 templates/web/default/reports/council.html:26 templates/web/emptyhomes/reports/council.html:11 templates/web/emptyhomes/reports/council.html:13
msgid "%s - Summary reports"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:792 perllib/FixMyStreet/Cobrand/Default.pm:806
+#: perllib/FixMyStreet/DB/Result/Problem.pm:605
+msgid "%s ref:&nbsp;%s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:288 perllib/FixMyStreet/Cobrand/UK.pm:300
msgid "%s ward, %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:480
+#: perllib/FixMyStreet/DB/Result/Problem.pm:488
msgid "%s, reported anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:482
+#: perllib/FixMyStreet/DB/Result/Problem.pm:490
msgid "%s, reported by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:823 perllib/FixMyStreet/Cobrand/Default.pm:837
+#: perllib/FixMyStreet/Cobrand/UK.pm:315 perllib/FixMyStreet/Cobrand/UK.pm:327
msgid "%s, within %s ward"
msgstr ""
@@ -117,23 +121,27 @@ msgstr ""
msgid "(Email in abuse table)"
msgstr ""
-#: templates/web/default/alert/list.html:51 templates/web/fixmystreet/alert/_list.html:24
+#: templates/web/default/alert/_list.html:20 templates/web/fixmystreet/alert/_list.html:24
msgid "(a default distance which covers roughly 200,000 people)"
msgstr ""
-#: templates/web/default/alert/list.html:56 templates/web/fixmystreet/alert/_list.html:28
+#: templates/web/default/alert/_list.html:25 templates/web/fixmystreet/alert/_list.html:28
msgid "(alternatively the RSS feed can be customised, within"
msgstr ""
-#: templates/web/default/around/around_map_list_items.html:10 templates/web/default/around/on_map_list_items.html:7 templates/web/default/reports/council.html:134 templates/web/fixmystreet/around/around_map_list_items.html:12 templates/web/fixmystreet/around/on_map_list_items.html:9
+#: templates/web/default/around/around_map_list_items.html:12 templates/web/default/around/on_map_list_items.html:9 templates/web/fixmystreet/report/_item.html:23
+msgid "(closed)"
+msgstr ""
+
+#: templates/web/default/around/around_map_list_items.html:10 templates/web/default/around/on_map_list_items.html:7 templates/web/fixmystreet/report/_item.html:21
msgid "(fixed)"
msgstr ""
-#: templates/web/default/index.html:12 templates/web/default/index.html:8 templates/web/fixmystreet/index.html:30
+#: templates/web/default/index.html:12 templates/web/default/index.html:8 templates/web/fixmystreet/around/postcode_form.html:7
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr ""
-#: templates/web/default/reports/council.html:131 templates/web/default/reports/council.html:152
+#: templates/web/default/reports/_list-entry.html:4 templates/web/fixmystreet/report/_item.html:17
msgid "(not sent to council)"
msgstr ""
@@ -141,7 +149,7 @@ msgstr ""
msgid "(optional)"
msgstr ""
-#: templates/web/default/reports/council.html:130 templates/web/default/reports/council.html:150
+#: templates/web/default/reports/_list-entry.html:2 templates/web/fixmystreet/report/_item.html:16
msgid "(sent to both)"
msgstr ""
@@ -149,36 +157,56 @@ msgstr ""
msgid "(we never show your email address or phone number)"
msgstr ""
-#: templates/web/default/report/display.html:214
+#: templates/web/default/report/display.html:209
msgid "(we never show your email)"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:281
+#: perllib/FixMyStreet/App/Controller/Admin.pm:284
msgid "*unknown*"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:549 perllib/FixMyStreet/App/Controller/Report/New.pm:581 perllib/FixMyStreet/DB/Result/Problem.pm:337
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:629 perllib/FixMyStreet/App/Controller/Report/New.pm:655 perllib/FixMyStreet/DB/Result/Problem.pm:345
msgid "-- Pick a category --"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:535 perllib/FixMyStreet/DB/Result/Problem.pm:343
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:609 perllib/FixMyStreet/DB/Result/Problem.pm:351
msgid "-- Pick a property type --"
msgstr ""
-#: templates/web/default/tokens/confirm_problem.html:14 templates/web/default/tokens/confirm_problem.html:6
-msgid ". You can <a href=\"%s\">view the problem on this site</a>."
+#: templates/web/default/tokens/confirm_problem.html:14 templates/web/default/tokens/confirm_problem.html:22
+msgid ". You can <a href=\"%s%s\">view the problem on this site</a>."
msgstr ""
-#: templates/web/default/questionnaire/completed.html:25
+#: templates/web/default/questionnaire/completed.html:20
msgid "<p style=\"font-size:150%\">Thank you very much for filling in our questionnaire; glad to hear it&rsquo;s been fixed.</p>"
msgstr ""
-#: templates/web/default/questionnaire/completed.html:15
+#: templates/web/fiksgatami/questionnaire/completed-open.html:1
+msgid ""
+"<p style=\"font-size:150%\">We&rsquo;re sorry to hear that. We have two\n"
+"suggestions: why not try <a href=\"http://www.norge.no/styresmakter/\">writing\n"
+"direct to your councillor(s)</a> or, if it&rsquo;s a problem that could be\n"
+"fixed by local people working together, why not\n"
+"<a href=\"http://www.pledgebank.com/new\">make and publicise a pledge</a>?\n"
+"</p>"
+msgstr ""
+
+#: templates/web/fixmystreet/questionnaire/completed-open.html:1
msgid ""
-"<p style=\"font-size:150%%\">We&rsquo;re sorry to hear that. We have two suggestions: why not try\n"
-"<a href=\"%s\">writing direct to your councillor(s)</a>\n"
-"or, if it&rsquo;s a problem that could be fixed by local people working together,\n"
-"why not <a href=\"http://www.pledgebank.com/new\">make and publicise a pledge</a>?\n"
+"<p style=\"font-size:150%\">We&rsquo;re sorry to hear that. We have two\n"
+"suggestions: why not try <a href=\"http://www.writetothem.com/\">writing direct\n"
+"to your councillor(s)</a> or, if it&rsquo;s a problem that could be fixed by\n"
+"local people working together, why not\n"
+"<a href=\"http://www.pledgebank.com/new\">make and publicise a pledge</a>?\n"
+"</p>"
+msgstr ""
+
+#: templates/web/default/questionnaire/completed-open.html:1
+msgid ""
+"<p style=\"font-size:150%\">We&rsquo;re sorry to hear that. We have two\n"
+"suggestions: why not try writing to your local representative or, if it&rsquo;s\n"
+"a problem that could be fixed by local people working together, why not\n"
+"<a href=\"http://www.pledgebank.com/new\">make and publicise a pledge</a>?\n"
"</p>"
msgstr ""
@@ -221,11 +249,11 @@ msgstr ""
msgid "<strong>%d</strong> live problems"
msgstr ""
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:169
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:172
msgid "<strong>No</strong> Let me confirm my report by email"
msgstr ""
-#: templates/web/fixmystreet/report/display.html:153
+#: templates/web/fixmystreet/report/display.html:148
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr ""
@@ -241,11 +269,11 @@ msgstr ""
msgid "<strong>No</strong>, let me confirm my report by email:"
msgstr ""
-#: templates/web/default/report/display.html:169
+#: templates/web/default/report/display.html:164
msgid "<strong>No</strong>, let me confirm my update by email:"
msgstr ""
-#: templates/web/default/auth/general.html:37 templates/web/default/report/display.html:147 templates/web/default/report/new/fill_in_details_form.html:140 templates/web/fixmystreet/auth/general.html:32 templates/web/fixmystreet/auth/general.html:34 templates/web/fixmystreet/report/display.html:136 templates/web/fixmystreet/report/new/fill_in_details_form.html:151
+#: templates/web/default/auth/general.html:37 templates/web/default/report/display.html:142 templates/web/default/report/new/fill_in_details_form.html:140 templates/web/fixmystreet/auth/general.html:32 templates/web/fixmystreet/auth/general.html:34 templates/web/fixmystreet/report/display.html:131 templates/web/fixmystreet/report/new/fill_in_details_form.html:154
msgid "<strong>Yes</strong> I have a password"
msgstr ""
@@ -253,7 +281,7 @@ msgstr ""
msgid "About us"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:62
+#: templates/web/default/admin/council_contacts.html:66
msgid "Add new category"
msgstr ""
@@ -261,7 +289,7 @@ msgstr ""
msgid "Added %s"
msgstr ""
-#: templates/web/default/auth/change_password.html:29 templates/web/fixmystreet/auth/change_password.html:29
+#: templates/web/default/auth/change_password.html:29
msgid "Again:"
msgstr ""
@@ -273,7 +301,7 @@ msgstr ""
msgid "Alert %d disabled (created %s)"
msgstr ""
-#: templates/web/default/report/display.html:219 templates/web/fixmystreet/report/display.html:193
+#: templates/web/bromley/report/display.html:207 templates/web/default/report/display.html:214 templates/web/fixmystreet/report/display.html:189
msgid "Alert me to future updates"
msgstr ""
@@ -289,19 +317,23 @@ msgstr ""
msgid "All confirmed"
msgstr ""
-#: templates/web/bromley/footer.html:37 templates/web/default/footer.html:11 templates/web/fiksgatami/footer.html:7 templates/web/fiksgatami/nn/footer.html:7 templates/web/fixmystreet/footer.html:49 templates/web/reading/footer.html:8
+#: templates/web/barnet/footer.html:20 templates/web/bromley/footer.html:21 templates/web/bromley/header.html:77 templates/web/default/footer.html:11 templates/web/fiksgatami/footer.html:7 templates/web/fiksgatami/nn/footer.html:7 templates/web/fixmystreet/footer.html:49 templates/web/reading/footer.html:8
msgid "All reports"
msgstr ""
-#: templates/web/default/report/new/councils_text_some.html:2 templates/web/fixmystreet/report/new/councils_text_some.html:2
+#: templates/web/default/report/new/councils_text_some.html:2
msgid "All the information you provide here will be sent to"
msgstr ""
-#: templates/web/default/report/new/councils_text_all.html:3 templates/web/default/report/new/councils_text_all.html:5 templates/web/fixmystreet/report/new/councils_text_all.html:3 templates/web/fixmystreet/report/new/councils_text_all.html:5
+#: templates/web/default/report/new/councils_text_all.html:10 templates/web/default/report/new/councils_text_all.html:12
+msgid "All the information you provide here will be sent to <strong>%s</strong> or <strong>Roads Service</strong>."
+msgstr ""
+
+#: templates/web/default/report/new/councils_text_all.html:3 templates/web/default/report/new/councils_text_all.html:5
msgid "All the information you provide here will be sent to <strong>%s</strong> or a relevant local body such as <strong>TfL</strong>, via the London Report-It system."
msgstr ""
-#: templates/web/default/report/new/councils_text_all.html:10 templates/web/default/report/new/councils_text_all.html:12 templates/web/default/report/new/fill_in_details_form.html:11 templates/web/default/report/new/fill_in_details_form.html:13 templates/web/fixmystreet/report/new/councils_text_all.html:10 templates/web/fixmystreet/report/new/councils_text_all.html:12 templates/web/fixmystreet/report/new/fill_in_details_form.html:6 templates/web/fixmystreet/report/new/fill_in_details_form.html:8
+#: templates/web/bromley/report/new/fill_in_details_form.html:4 templates/web/bromley/report/new/fill_in_details_form.html:6 templates/web/default/report/new/councils_text_all.html:17 templates/web/default/report/new/councils_text_all.html:19 templates/web/default/report/new/fill_in_details_form.html:11 templates/web/default/report/new/fill_in_details_form.html:13 templates/web/fixmystreet/report/new/fill_in_details_form.html:6 templates/web/fixmystreet/report/new/fill_in_details_form.html:8
msgid "All the information you provide here will be sent to <strong>%s</strong>."
msgstr ""
@@ -325,11 +357,11 @@ msgstr ""
msgid "Are you a <strong>developer</strong>? Would you like to contribute to FixMyStreet?"
msgstr ""
-#: templates/web/fixmystreet/footer.html:18
+#: templates/web/fixmystreet/footer.html:17
msgid "Are you a developer?"
msgstr ""
-#: templates/web/fixmystreet/footer.html:22
+#: templates/web/fixmystreet/footer.html:21
msgid "Are you from a council?"
msgstr ""
@@ -353,11 +385,11 @@ msgstr ""
msgid "By Date"
msgstr ""
-#: templates/web/fixmystreet/around/display_location.html:75 templates/web/fixmystreet/around/display_location.html:77
+#: templates/web/fixmystreet/around/display_location.html:80 templates/web/fixmystreet/around/display_location.html:82
msgid "Can't see the map? <a href='%s' rel='nofollow'>Skip this step</a>"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:31 templates/web/default/admin/index.html:36 templates/web/default/admin/list_flagged.html:14 templates/web/default/admin/search_reports.html:17 templates/web/fixmystreet/report/new/fill_in_details_form.html:72
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:632 perllib/FixMyStreet/App/Controller/Report/New.pm:657 templates/web/bromley/report/new/fill_in_details_form.html:68 templates/web/default/admin/council_contacts.html:35 templates/web/default/admin/index.html:36 templates/web/default/admin/list_flagged.html:14 templates/web/default/admin/search_reports.html:17 templates/web/fixmystreet/report/new/fill_in_details_form.html:72
msgid "Category"
msgstr ""
@@ -365,27 +397,27 @@ msgstr ""
msgid "Category fix rate for problems > 4 weeks old"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:552 perllib/FixMyStreet/App/Controller/Report/New.pm:582 templates/web/default/admin/council_contacts.html:68 templates/web/default/admin/council_edit.html:23 templates/web/default/admin/report_edit.html:25 templates/web/default/report/new/fill_in_details_form.html:67
+#: templates/web/default/admin/council_contacts.html:72 templates/web/default/admin/council_edit.html:23 templates/web/default/admin/report_edit.html:25 templates/web/default/report/new/fill_in_details_form.html:67
msgid "Category:"
msgstr ""
-#: bin/send-reports:181
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:334
msgid "Category: %s"
msgstr ""
-#: templates/web/default/auth/change_password.html:1 templates/web/default/auth/change_password.html:3 templates/web/default/auth/change_password.html:33 templates/web/fixmystreet/auth/change_password.html:1 templates/web/fixmystreet/auth/change_password.html:3 templates/web/fixmystreet/auth/change_password.html:33
+#: templates/web/default/auth/change_password.html:1 templates/web/default/auth/change_password.html:3 templates/web/default/auth/change_password.html:33
msgid "Change Password"
msgstr ""
-#: templates/web/fixmystreet/around/display_location.html:72
+#: templates/web/fixmystreet/around/display_location.html:72 templates/web/fixmystreet/around/display_location.html:73
msgid "Click map to report a problem"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/FixMyStreet.pm:24 templates/web/default/admin/report_edit.html:18 templates/web/default/admin/report_edit.html:20 templates/web/default/report/display.html:84 templates/web/default/report/display.html:86 templates/web/fixmystreet/report/display.html:79 templates/web/fixmystreet/report/display.html:81
+#: templates/web/bromley/report/display.html:80 templates/web/bromley/report/display.html:82 templates/web/default/admin/report_edit.html:18 templates/web/default/admin/report_edit.html:20 templates/web/default/dashboard/index.html:136 templates/web/default/dashboard/index.html:138 templates/web/default/report/display.html:79 templates/web/default/report/display.html:81 templates/web/fixmystreet/report/banner.html:15 templates/web/fixmystreet/report/display.html:74 templates/web/fixmystreet/report/display.html:76
msgid "Closed"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:641
+#: perllib/FixMyStreet/DB/Result/Problem.pm:690
msgid "Closed by council"
msgstr ""
@@ -397,7 +429,7 @@ msgstr ""
msgid "Closed:"
msgstr ""
-#: templates/web/default/around/display_location.html:101 templates/web/default/around/display_location.html:103
+#: templates/web/default/around/display_location.html:103 templates/web/default/around/display_location.html:105
msgid "Closest nearby problems <small>(within&nbsp;%skm)</small>"
msgstr ""
@@ -417,27 +449,27 @@ msgstr ""
msgid "Cobrand:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
+#: perllib/FixMyStreet/App/Controller/Admin.pm:358
msgid "Configuration updated"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:361
+#: perllib/FixMyStreet/App/Controller/Admin.pm:372
msgid "Configuration updated - contacts will be generated automatically later"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:124
+#: templates/web/default/admin/council_contacts.html:153
msgid "Configure Open311"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:101
+#: templates/web/default/admin/council_contacts.html:105
msgid "Configure Open311 integration"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:38
+#: templates/web/default/admin/council_contacts.html:42
msgid "Confirm"
msgstr ""
-#: templates/web/default/auth/token.html:1 templates/web/fixmystreet/auth/token.html:1
+#: templates/web/default/auth/token.html:1
msgid "Confirm account"
msgstr ""
@@ -445,7 +477,7 @@ msgstr ""
msgid "Confirmation"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:33 templates/web/default/admin/council_contacts.html:78 templates/web/default/admin/council_edit.html:28 templates/web/default/admin/council_edit.html:43 templates/web/default/admin/stats.html:5
+#: templates/web/default/admin/council_contacts.html:37 templates/web/default/admin/council_contacts.html:82 templates/web/default/admin/council_edit.html:28 templates/web/default/admin/council_edit.html:43 templates/web/default/admin/stats.html:5
msgid "Confirmed"
msgstr ""
@@ -461,15 +493,15 @@ msgstr ""
msgid "Contact FixMyStreet"
msgstr ""
-#: templates/web/default/contact/index.html:1 templates/web/default/contact/index.html:2 templates/web/default/contact/submit.html:1 templates/web/fixmystreet/contact/index.html:1 templates/web/fixmystreet/contact/index.html:2
+#: templates/web/bromley/contact/submit.html:1 templates/web/default/contact/index.html:1 templates/web/default/contact/index.html:2 templates/web/default/contact/submit.html:1 templates/web/fixmystreet/contact/index.html:1 templates/web/fixmystreet/contact/index.html:2
msgid "Contact Us"
msgstr ""
-#: templates/web/default/contact/index.html:6 templates/web/default/contact/submit.html:3 templates/web/fixmystreet/contact/index.html:7
+#: templates/web/bromley/contact/submit.html:3 templates/web/default/contact/index.html:6 templates/web/default/contact/submit.html:3 templates/web/fixmystreet/contact/index.html:7
msgid "Contact the team"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1107 perllib/FixMyStreet/App/Controller/Admin.pm:1135
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1150 perllib/FixMyStreet/App/Controller/Admin.pm:1178
msgid "Could not find user"
msgstr ""
@@ -477,7 +509,7 @@ msgstr ""
msgid "Council"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:979 templates/web/default/admin/council_list.html:1
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1022 templates/web/default/admin/council_list.html:1
msgid "Council contacts"
msgstr ""
@@ -501,7 +533,7 @@ msgstr ""
msgid "Create a report"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:92
+#: templates/web/default/admin/council_contacts.html:96
msgid "Create category"
msgstr ""
@@ -521,11 +553,15 @@ msgstr ""
msgid "Currently has 1+ deleted"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:34 templates/web/default/admin/council_contacts.html:81 templates/web/default/admin/council_edit.html:29 templates/web/default/admin/council_edit.html:44
+#: templates/web/default/dashboard/index.html:5 templates/web/default/dashboard/index.html:7
+msgid "Dashboard"
+msgstr ""
+
+#: templates/web/default/admin/council_contacts.html:38 templates/web/default/admin/council_contacts.html:85 templates/web/default/admin/council_edit.html:29 templates/web/default/admin/council_edit.html:44
msgid "Deleted"
msgstr ""
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:64
+#: templates/web/bromley/report/new/fill_in_details_form.html:54 templates/web/fixmystreet/report/new/fill_in_details_form.html:64
msgid "Details"
msgstr ""
@@ -537,7 +573,7 @@ msgstr ""
msgid "Diligency prize league table"
msgstr ""
-#: templates/web/default/auth/general.html:32 templates/web/fixmystreet/auth/general.html:29 templates/web/fixmystreet/report/display.html:133 templates/web/fixmystreet/report/new/fill_in_details_form.html:147
+#: templates/web/default/auth/general.html:32 templates/web/fixmystreet/auth/general.html:29 templates/web/fixmystreet/report/display.html:128 templates/web/fixmystreet/report/new/fill_in_details_form.html:150
msgid "Do you have a FixMyStreet password?"
msgstr ""
@@ -565,39 +601,39 @@ msgstr ""
msgid "Editor"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:32 templates/web/default/admin/council_edit.html:42 templates/web/default/admin/list_flagged.html:12 templates/web/default/admin/list_flagged.html:35 templates/web/default/admin/list_updates.html:8 templates/web/default/admin/search_abuse.html:11 templates/web/default/admin/search_reports.html:15 templates/web/default/admin/search_users.html:13 templates/web/fixmystreet/auth/general.html:20 templates/web/fixmystreet/report/display.html:125
+#: templates/web/bromley/report/display.html:126 templates/web/default/admin/council_contacts.html:36 templates/web/default/admin/council_edit.html:42 templates/web/default/admin/list_flagged.html:12 templates/web/default/admin/list_flagged.html:35 templates/web/default/admin/list_updates.html:8 templates/web/default/admin/search_abuse.html:11 templates/web/default/admin/search_reports.html:15 templates/web/default/admin/search_users.html:13 templates/web/fixmystreet/auth/general.html:20 templates/web/fixmystreet/report/display.html:120
msgid "Email"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1083
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1126
msgid "Email added to abuse list"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1080
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1123
msgid "Email already in abuse list"
msgstr ""
-#: templates/web/default/around/display_location.html:83
+#: templates/web/default/around/display_location.html:85
msgid "Email me new local problems"
msgstr ""
-#: templates/web/default/report/display.html:35
+#: templates/web/default/report/display.html:30
msgid "Email me updates"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:73 templates/web/default/admin/council_edit.html:26 templates/web/default/admin/report_edit.html:31 templates/web/default/admin/update_edit.html:24 templates/web/default/admin/user_edit.html:11 templates/web/default/alert/updates.html:13 templates/web/default/report/display.html:39
+#: templates/web/default/admin/council_contacts.html:77 templates/web/default/admin/council_edit.html:26 templates/web/default/admin/report_edit.html:31 templates/web/default/admin/update_edit.html:24 templates/web/default/admin/user_edit.html:11 templates/web/default/alert/updates.html:13 templates/web/default/report/display.html:34
msgid "Email:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:537
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:611
msgid "Empty flat or maisonette"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:536
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:610
msgid "Empty house or bungalow"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:539
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:613
msgid "Empty office or other commercial"
msgstr ""
@@ -605,11 +641,11 @@ msgstr ""
msgid "Empty property details form"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:540
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:614
msgid "Empty pub or bar"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:541
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:615
msgid "Empty public building - school, hospital, etc."
msgstr ""
@@ -625,27 +661,35 @@ msgstr ""
msgid "End month:"
msgstr ""
-#: templates/web/default/around/around_index.html:10 templates/web/default/around/around_index.html:13 templates/web/default/index.html:24 templates/web/default/index.html:27 templates/web/emptyhomes/index.html:40 templates/web/emptyhomes/index.html:43 templates/web/fixmystreet/around/around_index.html:10 templates/web/fixmystreet/around/around_index.html:13 templates/web/fixmystreet/index.html:32 templates/web/fixmystreet/index.html:35
+#: templates/web/emptyhomes/index.html:40 templates/web/emptyhomes/index.html:41
msgid "Enter a nearby GB postcode, or street name and area"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:32
+#: perllib/FixMyStreet/Cobrand/UK.pm:18
+msgid "Enter a nearby UK postcode, or street name and area"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:25
msgid "Enter a nearby postcode, or street name and area"
msgstr ""
-#: templates/web/default/auth/general.html:64 templates/web/default/report/display.html:176 templates/web/default/report/new/fill_in_details_form.html:169
+#: templates/web/default/around/postcode_form.html:1 templates/web/default/around/postcode_form.html:2 templates/web/fixmystreet/around/postcode_form.html:10 templates/web/fixmystreet/around/postcode_form.html:11
+msgid "Enter a nearby street name and area"
+msgstr ""
+
+#: templates/web/default/auth/general.html:64 templates/web/default/report/display.html:171 templates/web/default/report/new/fill_in_details_form.html:169
msgid "Enter a new password:"
msgstr ""
-#: templates/web/fixmystreet/auth/general.html:57 templates/web/fixmystreet/report/display.html:165 templates/web/fixmystreet/report/new/fill_in_details_form.html:194
+#: templates/web/bromley/report/display.html:148 templates/web/bromley/report/new/fill_in_details_form.html:189 templates/web/fixmystreet/auth/general.html:57 templates/web/fixmystreet/report/display.html:160 templates/web/fixmystreet/report/new/fill_in_details_form.html:200
msgid "Enter a password"
msgstr ""
-#: templates/web/default/index.html:44 templates/web/emptyhomes/index.html:60 templates/web/fixmystreet/index.html:55
+#: templates/web/default/index.html:33 templates/web/emptyhomes/index.html:58 templates/web/fixmystreet/index.html:41
msgid "Enter details of the problem"
msgstr ""
-#: templates/web/default/auth/token.html:5 templates/web/default/errors/generic.html:1 templates/web/default/errors/generic.html:3 templates/web/default/tokens/abuse.html:1 templates/web/default/tokens/abuse.html:3 templates/web/default/tokens/error.html:1 templates/web/default/tokens/error.html:3 templates/web/fixmystreet/auth/token.html:5
+#: templates/web/default/auth/token.html:5 templates/web/default/errors/generic.html:1 templates/web/default/errors/generic.html:3 templates/web/default/tokens/abuse.html:1 templates/web/default/tokens/abuse.html:3 templates/web/default/tokens/error.html:1 templates/web/default/tokens/error.html:3
msgid "Error"
msgstr ""
@@ -657,10 +701,18 @@ msgstr ""
msgid "Examples:"
msgstr ""
-#: templates/web/default/contact/submit.html:15
+#: templates/web/default/admin/report_edit.html:40
+msgid "Extra data:"
+msgstr ""
+
+#: templates/web/bromley/contact/submit.html:14 templates/web/default/contact/submit.html:15
msgid "Failed to send message. Please try again, or <a href=\"mailto:%s\">email us</a>."
msgstr ""
+#: templates/web/bromley/report/display.html:189 templates/web/bromley/report/new/fill_in_details_form.html:113 templates/web/bromley/report/new/fill_in_details_form.html:160
+msgid "First Name"
+msgstr ""
+
#: templates/web/default/questionnaire/index.html:79 templates/web/fixmystreet/questionnaire/index.html:73
msgid "First time"
msgstr ""
@@ -681,18 +733,14 @@ msgstr ""
msgid "FixMyStreet administration"
msgstr ""
-#: templates/web/fixmystreet/static/for_councils.html:1
-msgid "FixMyStreet for Councils"
-msgstr ""
-
-#: templates/web/default/alert/index.html:6 templates/web/fixmystreet/alert/index.html:6
+#: templates/web/default/alert/index.html:11
msgid ""
"FixMyStreet has a variety of RSS feeds and email alerts for local problems, including\n"
"alerts for all problems within a particular ward or council, or all problems\n"
"within a certain distance of a particular location."
msgstr ""
-#: templates/web/default/alert/list.html:98 templates/web/fixmystreet/alert/_list.html:69
+#: templates/web/default/alert/_list.html:71 templates/web/fixmystreet/alert/_list.html:73
msgid ""
"FixMyStreet sends different categories of problem\n"
"to the appropriate council, so problems within the boundary of a particular council\n"
@@ -702,7 +750,7 @@ msgid ""
"for the county council."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/FixMyStreet.pm:20 templates/web/default/admin/index.html:36 templates/web/default/admin/report_edit.html:18 templates/web/default/admin/report_edit.html:20 templates/web/default/report/display.html:84 templates/web/default/report/display.html:86 templates/web/fixmystreet/report/display.html:79 templates/web/fixmystreet/report/display.html:81
+#: templates/web/bromley/report/display.html:80 templates/web/bromley/report/display.html:82 templates/web/default/admin/index.html:36 templates/web/default/admin/report_edit.html:18 templates/web/default/admin/report_edit.html:20 templates/web/default/dashboard/index.html:136 templates/web/default/dashboard/index.html:138 templates/web/default/report/display.html:79 templates/web/default/report/display.html:81 templates/web/fixmystreet/report/banner.html:12 templates/web/fixmystreet/report/display.html:74 templates/web/fixmystreet/report/display.html:76
msgid "Fixed"
msgstr ""
@@ -730,11 +778,11 @@ msgstr ""
msgid "Flagged"
msgstr ""
-#: templates/web/default/admin/report_edit.html:41 templates/web/default/admin/user_edit.html:18
+#: templates/web/default/admin/report_edit.html:42 templates/web/default/admin/user_edit.html:18
msgid "Flagged:"
msgstr ""
-#: templates/web/default/reports/council.html:24 templates/web/default/reports/council.html:87 templates/web/emptyhomes/reports/council.html:19
+#: templates/web/default/reports/_ward-list.html:3 templates/web/emptyhomes/reports/council.html:19 templates/web/fixmystreet/reports/_ward-list.html:4
msgid "Follow a ward link to view only reports within that ward."
msgstr ""
@@ -742,7 +790,7 @@ msgstr ""
msgid "For council(s):"
msgstr ""
-#: templates/web/default/faq/faq-en-gb.html:1 templates/web/emptyhomes/faq/faq-cy.html:1 templates/web/emptyhomes/faq/faq-en-gb.html:1 templates/web/fiksgatami/faq/faq-nb.html:1 templates/web/fiksgatami/nn/faq/faq-nn.html:1 templates/web/fixmystreet/faq/faq-en-gb.html:1
+#: templates/web/default/faq/faq-en-gb.html:1 templates/web/emptyhomes/faq/faq-cy.html:1 templates/web/emptyhomes/faq/faq-en-gb.html:1 templates/web/fiksgatami/faq/faq-nb.html:1 templates/web/fiksgatami/nn/faq/faq-nn.html:1 templates/web/fixmystreet/faq/faq-en-gb.html:1 templates/web/fixmystreet/static/privacy.html:1 templates/web/zurich/faq/faq-de.html:1
msgid "Frequently Asked Questions"
msgstr ""
@@ -754,23 +802,27 @@ msgstr ""
msgid "GeoRSS on Google Maps"
msgstr ""
-#: templates/web/fixmystreet/report/display.html:28
+#: templates/web/bromley/report/display.html:30 templates/web/fixmystreet/report/display.html:23
msgid "Get updates"
msgstr ""
-#: templates/web/default/reports/council.html:72
+#: templates/web/fixmystreet/reports/_rss.html:3 templates/web/fixmystreet/reports/_rss.html:9
+msgid "Get updates of %s problems"
+msgstr ""
+
+#: templates/web/fixmystreet/reports/_rss.html:11 templates/web/fixmystreet/reports/_rss.html:3
msgid "Get updates of problems in this %s"
msgstr ""
-#: templates/web/default/alert/list.html:110 templates/web/fixmystreet/alert/_list.html:78
+#: templates/web/default/alert/_list.html:83 templates/web/fixmystreet/alert/_list.html:82
msgid "Give me an RSS feed"
msgstr ""
-#: templates/web/default/alert/index.html:24 templates/web/default/around/around_index.html:17 templates/web/default/index.html:33 templates/web/emptyhomes/index.html:49 templates/web/fixmystreet/alert/index.html:25 templates/web/fixmystreet/around/around_index.html:20 templates/web/fixmystreet/index.html:42
+#: templates/web/default/alert/index.html:34 templates/web/default/around/postcode_form.html:8 templates/web/emptyhomes/index.html:47 templates/web/fixmystreet/around/postcode_form.html:18
msgid "Go"
msgstr ""
-#: templates/web/default/admin/report_edit.html:40
+#: templates/web/default/admin/report_edit.html:41
msgid "Going to send questionnaire?"
msgstr ""
@@ -790,15 +842,15 @@ msgstr ""
msgid "Have you ever reported a problem to a council before, or is this your first time?"
msgstr ""
-#: templates/web/bromley/footer.html:41 templates/web/default/footer.html:15 templates/web/emptyhomes/header.html:28 templates/web/fiksgatami/footer.html:9 templates/web/fiksgatami/nn/footer.html:9 templates/web/fixmystreet/footer.html:53 templates/web/reading/footer.html:10
+#: templates/web/barnet/footer.html:24 templates/web/bromley/footer.html:25 templates/web/bromley/header.html:81 templates/web/default/footer.html:15 templates/web/emptyhomes/header.html:28 templates/web/fiksgatami/footer.html:9 templates/web/fiksgatami/nn/footer.html:9 templates/web/fixmystreet/footer.html:53 templates/web/reading/footer.html:10
msgid "Help"
msgstr ""
-#: templates/web/default/alert/list.html:37 templates/web/fixmystreet/alert/_list.html:8
+#: templates/web/default/alert/_list.html:6 templates/web/fixmystreet/alert/_list.html:8
msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
msgstr ""
-#: templates/web/bromley/header.html:46 templates/web/fixmystreet/header.html:46
+#: templates/web/barnet/header.html:70 templates/web/bromley/header.html:64 templates/web/bromley/header.html:99 templates/web/fixmybarangay/header.html.orig:42 templates/web/fixmystreet/header.html:47 templates/web/zurich/header.html:47
msgid "Hi %s"
msgstr ""
@@ -818,11 +870,11 @@ msgstr ""
msgid "History"
msgstr ""
-#: templates/web/default/index.html:39 templates/web/emptyhomes/index.html:55 templates/web/fixmystreet/index.html:50
+#: templates/web/default/index.html:28 templates/web/emptyhomes/index.html:53 templates/web/fixmystreet/index.html:36
msgid "How to report a problem"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:592
+#: perllib/FixMyStreet/App/Controller/Admin.pm:637
msgid "I am afraid you cannot confirm unconfirmed reports."
msgstr ""
@@ -830,11 +882,11 @@ msgstr ""
msgid "I'm afraid we couldn't locate your problem in the database.\n"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Tokens.pm:43
+#: perllib/FixMyStreet/App/Controller/Tokens.pm:44
msgid "I'm afraid we couldn't validate that token, as the report was made too long ago."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Tokens.pm:233
+#: perllib/FixMyStreet/App/Controller/Tokens.pm:235
msgid "I'm afraid we couldn't validate that token. If you've copied the URL from an email, please check that you copied it exactly.\n"
msgstr ""
@@ -842,7 +894,7 @@ msgstr ""
msgid "ID"
msgstr ""
-#: templates/web/default/report/new/councils_text_none.html:11 templates/web/default/report/new/councils_text_none.html:12 templates/web/fixmystreet/report/new/councils_text_none.html:10 templates/web/fixmystreet/report/new/councils_text_none.html:9
+#: templates/web/default/report/new/councils_text_none.html:11 templates/web/default/report/new/councils_text_none.html:12
msgid "If you submit a problem here the subject and details of the problem will be public, but the problem will <strong>not</strong> be reported to the council."
msgstr ""
@@ -850,7 +902,7 @@ msgstr ""
msgid "If you submit a report here it will be left on the site, but not reported to the council &ndash; please still leave your report, so that we can show to the council the activity in their area."
msgstr ""
-#: templates/web/default/auth/token.html:23 templates/web/default/email_sent.html:24 templates/web/fixmystreet/auth/token.html:23
+#: templates/web/default/auth/token.html:23 templates/web/default/email_sent.html:24
msgid "If you use web-based email or have 'junk mail' filters, you may wish to check your bulk/spam mail folders: sometimes, our messages are marked that way."
msgstr ""
@@ -869,7 +921,7 @@ msgstr ""
msgid "Illegal feed selection"
msgstr ""
-#: templates/web/default/admin/report_edit.html:18 templates/web/default/admin/report_edit.html:20 templates/web/default/report/display.html:84 templates/web/default/report/display.html:86 templates/web/fixmystreet/report/display.html:79 templates/web/fixmystreet/report/display.html:81
+#: templates/web/bromley/report/display.html:80 templates/web/bromley/report/display.html:82 templates/web/default/admin/report_edit.html:18 templates/web/default/admin/report_edit.html:20 templates/web/default/dashboard/index.html:136 templates/web/default/dashboard/index.html:138 templates/web/default/report/display.html:79 templates/web/default/report/display.html:81 templates/web/fixmystreet/report/display.html:74 templates/web/fixmystreet/report/display.html:76
msgid "In Progress"
msgstr ""
@@ -877,7 +929,7 @@ msgstr ""
msgid "In addition, the following attributes that are not part of the Open311 v2 specification are returned: agency_sent_datetime, title (also returned as part of description), interface_used, comment_count, requestor_name (only present if requestor allowed the name to be shown on this site)."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/FixMyStreet.pm:29
+#: templates/web/fixmystreet/report/banner.html:19
msgid "In progress"
msgstr ""
@@ -885,27 +937,27 @@ msgstr ""
msgid "Include unconfirmed reports"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Open311.pm:358
+#: perllib/FixMyStreet/App/Controller/Open311.pm:356
msgid "Incorrect has_photo value \"%s\""
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Open311.pm:343
+#: perllib/FixMyStreet/App/Controller/Open311.pm:341
msgid "Invalid agency_responsible value %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:899
+#: perllib/FixMyStreet/App/Controller/Admin.pm:942
msgid "Invalid end date"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Open311.pm:426
+#: perllib/FixMyStreet/App/Controller/Open311.pm:432
msgid "Invalid format %s specified."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:889
+#: perllib/FixMyStreet/App/Controller/Admin.pm:932
msgid "Invalid start date"
msgstr ""
-#: templates/web/default/admin/report_edit.html:18 templates/web/default/admin/report_edit.html:19 templates/web/default/report/display.html:84 templates/web/default/report/display.html:85 templates/web/fixmystreet/report/display.html:79 templates/web/fixmystreet/report/display.html:80
+#: templates/web/bromley/report/display.html:80 templates/web/bromley/report/display.html:81 templates/web/default/admin/report_edit.html:18 templates/web/default/admin/report_edit.html:19 templates/web/default/dashboard/index.html:136 templates/web/default/dashboard/index.html:137 templates/web/default/report/display.html:79 templates/web/default/report/display.html:80 templates/web/fixmystreet/report/display.html:74 templates/web/fixmystreet/report/display.html:75
msgid "Investigating"
msgstr ""
@@ -913,11 +965,15 @@ msgstr ""
msgid "It is worth noting however that the process can sometimes be slow, especially if the property is in very poor repair or the owner is unwilling to act. In most cases it can take six months or more before you can expect to see anything change and sometimes there may be considerable barries to a property being brought back into use. This doesn&rsquo;t mean the council isn&rsquo;t doing anything. We encourage councils to update the website so you can see what is happening. It may be a long process, but you reporting your concerns about this property to the council is a valuable first step."
msgstr ""
-#: templates/web/default/auth/general.html:44 templates/web/default/report/display.html:156 templates/web/default/report/new/fill_in_details_form.html:149 templates/web/fixmystreet/auth/general.html:42 templates/web/fixmystreet/report/display.html:149 templates/web/fixmystreet/report/new/fill_in_details_form.html:164
+#: templates/web/bromley/report/display.html:166 templates/web/bromley/report/new/fill_in_details_form.html:209 templates/web/default/auth/general.html:44 templates/web/default/report/display.html:151 templates/web/default/report/new/fill_in_details_form.html:149 templates/web/fixmystreet/auth/general.html:42 templates/web/fixmystreet/report/display.html:144 templates/web/fixmystreet/report/new/fill_in_details_form.html:167
msgid "Keep me signed in on this computer"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:35
+#: templates/web/bromley/report/display.html:195 templates/web/bromley/report/new/fill_in_details_form.html:119 templates/web/bromley/report/new/fill_in_details_form.html:166
+msgid "Last Name"
+msgstr ""
+
+#: templates/web/default/admin/council_contacts.html:39
msgid "Last editor"
msgstr ""
@@ -929,35 +985,35 @@ msgstr ""
msgid "Last&nbsp;update:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:985
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1028
msgid "List Flagged"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:13
+#: templates/web/default/admin/council_contacts.html:14 templates/web/default/admin/council_contacts.html:16
msgid "List all reported problems"
msgstr ""
-#: templates/web/default/report/new/fill_in_details_form.html:68 templates/web/fixmystreet/report/new/fill_in_details_form.html:73
+#: templates/web/bromley/report/new/fill_in_details_form.html:69 templates/web/default/report/new/fill_in_details_form.html:68 templates/web/fixmystreet/report/new/fill_in_details_form.html:73
msgid "Loading..."
msgstr ""
-#: templates/web/default/alert/choose.html:1 templates/web/default/alert/choose.html:3 templates/web/default/alert/index.html:1 templates/web/default/alert/index.html:3 templates/web/default/alert/list.html:1 templates/web/default/alert/list.html:5 templates/web/default/alert/updates.html:1 templates/web/default/tokens/confirm_alert.html:1 templates/web/default/tokens/confirm_alert.html:3 templates/web/emptyhomes/alert/index.html:1 templates/web/emptyhomes/alert/index.html:3 templates/web/fixmystreet/alert/choose.html:1 templates/web/fixmystreet/alert/choose.html:3 templates/web/fixmystreet/alert/index.html:1 templates/web/fixmystreet/alert/index.html:3 templates/web/fixmystreet/alert/list.html:1 templates/web/fixmystreet/alert/list.html:5 templates/web/fixmystreet/alert/updates.html:1
+#: templates/web/default/alert/choose.html:1 templates/web/default/alert/choose.html:3 templates/web/default/alert/index.html:1 templates/web/default/alert/index.html:3 templates/web/default/alert/list.html:1 templates/web/default/alert/list.html:5 templates/web/default/alert/updates.html:1 templates/web/default/tokens/confirm_alert.html:1 templates/web/default/tokens/confirm_alert.html:3 templates/web/emptyhomes/alert/index.html:1 templates/web/emptyhomes/alert/index.html:3 templates/web/fixmystreet/alert/updates.html:1
msgid "Local RSS feeds and email alerts"
msgstr ""
-#: templates/web/default/alert/list.html:1 templates/web/default/alert/list.html:12 templates/web/default/alert/list.html:14 templates/web/default/alert/list.html:3 templates/web/fixmystreet/alert/list.html:1 templates/web/fixmystreet/alert/list.html:12 templates/web/fixmystreet/alert/list.html:14 templates/web/fixmystreet/alert/list.html:3
+#: templates/web/default/alert/list.html:1 templates/web/default/alert/list.html:12 templates/web/default/alert/list.html:14 templates/web/default/alert/list.html:3
msgid "Local RSS feeds and email alerts for ‘%s’"
msgstr ""
-#: templates/web/bromley/footer.html:39 templates/web/default/footer.html:13 templates/web/fiksgatami/footer.html:8 templates/web/fiksgatami/nn/footer.html:8 templates/web/fixmystreet/footer.html:51 templates/web/reading/footer.html:9
+#: templates/web/barnet/footer.html:22 templates/web/bromley/footer.html:23 templates/web/bromley/header.html:79 templates/web/default/footer.html:13 templates/web/fiksgatami/footer.html:8 templates/web/fiksgatami/nn/footer.html:8 templates/web/fixmystreet/footer.html:51 templates/web/reading/footer.html:9
msgid "Local alerts"
msgstr ""
-#: templates/web/default/index.html:43 templates/web/emptyhomes/index.html:59 templates/web/fixmystreet/index.html:54
+#: templates/web/default/index.html:32 templates/web/emptyhomes/index.html:57 templates/web/fixmystreet/index.html:40
msgid "Locate the problem on a map of the area"
msgstr ""
-#: perllib/FixMyStreet/Map/OSM.pm:43
+#: perllib/FixMyStreet/Map/OSM.pm:44
msgid "Map &copy; <a id=\"osm_link\" href=\"http://www.openstreetmap.org/\">OpenStreetMap</a> and contributors, <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">CC-BY-SA</a>"
msgstr ""
@@ -969,7 +1025,7 @@ msgstr ""
msgid "Message:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Open311.pm:434
+#: perllib/FixMyStreet/App/Controller/Open311.pm:440
msgid "Missing jurisdiction_id"
msgstr ""
@@ -977,11 +1033,11 @@ msgstr ""
msgid "Month"
msgstr ""
-#: templates/web/default/report/display.html:31
+#: templates/web/default/report/display.html:26
msgid "More problems nearby"
msgstr ""
-#: templates/web/default/admin/list_flagged.html:11 templates/web/default/admin/list_flagged.html:34 templates/web/default/admin/list_updates.html:7 templates/web/default/admin/search_reports.html:14 templates/web/default/admin/search_users.html:12 templates/web/default/reports/index.html:15 templates/web/emptyhomes/reports/index.html:10 templates/web/fiksgatami/nn/reports/index.html:9 templates/web/fiksgatami/reports/index.html:9 templates/web/fixmystreet/auth/general.html:52 templates/web/fixmystreet/report/display.html:181 templates/web/fixmystreet/report/new/fill_in_details_form.html:114 templates/web/fixmystreet/report/new/fill_in_details_form.html:171
+#: templates/web/default/admin/list_flagged.html:11 templates/web/default/admin/list_flagged.html:34 templates/web/default/admin/list_updates.html:7 templates/web/default/admin/search_reports.html:14 templates/web/default/admin/search_users.html:12 templates/web/default/reports/index.html:15 templates/web/emptyhomes/reports/index.html:10 templates/web/fiksgatami/nn/reports/index.html:9 templates/web/fiksgatami/reports/index.html:9 templates/web/fixmystreet/auth/general.html:52 templates/web/fixmystreet/report/display.html:177 templates/web/fixmystreet/report/new/fill_in_details_form.html:117 templates/web/fixmystreet/report/new/fill_in_details_form.html:176
msgid "Name"
msgstr ""
@@ -993,19 +1049,19 @@ msgstr ""
msgid "Navigation"
msgstr ""
-#: perllib/FixMyStreet/Geocode/OSM.pm:100
+#: perllib/FixMyStreet/Geocode/OSM.pm:159
msgid "Nearest named road to the pin placed on the map (automatically generated using OpenStreetMap): %s%s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:480
+#: perllib/FixMyStreet/Cobrand/UK.pm:161
msgid "Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:469 perllib/FixMyStreet/Cobrand/Default.pm:520
+#: perllib/FixMyStreet/Cobrand/Default.pm:404 perllib/FixMyStreet/Cobrand/Default.pm:444
msgid "Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s"
msgstr ""
-#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:242
+#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:245
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing Maps): %s\n"
"\n"
@@ -1019,7 +1075,7 @@ msgstr ""
msgid "New <br>problems"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:311
+#: perllib/FixMyStreet/App/Controller/Admin.pm:314
msgid "New category contact added"
msgstr ""
@@ -1083,7 +1139,7 @@ msgstr ""
msgid "New!"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:44 templates/web/default/admin/council_contacts.html:45 templates/web/default/admin/council_edit.html:4 templates/web/default/admin/list_updates.html:30 templates/web/default/admin/list_updates.html:31 templates/web/default/admin/list_updates.html:32 templates/web/default/admin/problem_row.html:19 templates/web/default/admin/report_edit.html:28 templates/web/default/admin/report_edit.html:40 templates/web/default/admin/update_edit.html:16 templates/web/default/questionnaire/creator_fixed.html:16 templates/web/default/questionnaire/index.html:107 templates/web/default/questionnaire/index.html:68 templates/web/fixmystreet/questionnaire/index.html:101 templates/web/fixmystreet/questionnaire/index.html:62
+#: templates/web/default/admin/council_contacts.html:48 templates/web/default/admin/council_contacts.html:49 templates/web/default/admin/council_edit.html:4 templates/web/default/admin/list_updates.html:30 templates/web/default/admin/list_updates.html:31 templates/web/default/admin/list_updates.html:32 templates/web/default/admin/problem_row.html:19 templates/web/default/admin/report_edit.html:28 templates/web/default/admin/report_edit.html:41 templates/web/default/admin/update_edit.html:16 templates/web/default/questionnaire/creator_fixed.html:16 templates/web/default/questionnaire/index.html:107 templates/web/default/questionnaire/index.html:68 templates/web/fixmystreet/questionnaire/index.html:101 templates/web/fixmystreet/questionnaire/index.html:62
msgid "No"
msgstr ""
@@ -1091,7 +1147,7 @@ msgstr ""
msgid "No council"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:320
+#: perllib/FixMyStreet/DB/Result/Problem.pm:328
msgid "No council selected"
msgstr ""
@@ -1111,11 +1167,11 @@ msgstr ""
msgid "No info at all"
msgstr ""
-#: templates/web/default/around/around_map_list_items.html:15 templates/web/fixmystreet/around/around_map_list_items.html:24
+#: templates/web/default/around/around_map_list_items.html:17 templates/web/fixmystreet/around/around_map_list_items.html:8
msgid "No problems found."
msgstr ""
-#: templates/web/default/around/on_map_list_items.html:12 templates/web/fixmystreet/around/on_map_list_items.html:21
+#: templates/web/default/around/on_map_list_items.html:14 templates/web/fixmystreet/around/on_map_list_items.html:6
msgid "No problems have been reported yet."
msgstr ""
@@ -1127,11 +1183,11 @@ msgstr ""
msgid "Not reported before"
msgstr ""
-#: templates/web/default/report/_main.html:9 templates/web/emptyhomes/report/display.html:24 templates/web/fixmystreet/report/_main.html:11
+#: templates/web/default/report/_main.html:11 templates/web/emptyhomes/report/display.html:24 templates/web/fixmystreet/report/_main.html:13
msgid "Not reported to council"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:36 templates/web/default/admin/council_edit.html:46
+#: templates/web/default/admin/council_contacts.html:40 templates/web/default/admin/council_edit.html:46
msgid "Note"
msgstr ""
@@ -1139,7 +1195,7 @@ msgstr ""
msgid "Note that when including unconfirmed reports we use the date the report was created which may not be in the same month the report was confirmed so the numbers may jump about a little"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:85 templates/web/default/admin/council_edit.html:31
+#: templates/web/default/admin/council_contacts.html:89 templates/web/default/admin/council_edit.html:31
msgid "Note:"
msgstr ""
@@ -1147,7 +1203,7 @@ msgstr ""
msgid "Note: <strong>%s</strong>"
msgstr ""
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:146
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:149
msgid "Now to submit your report&hellip;"
msgstr ""
@@ -1155,15 +1211,15 @@ msgstr ""
msgid "Now to submit your report&hellip; do you have a FixMyStreet password?"
msgstr ""
-#: templates/web/fixmystreet/report/display.html:132
+#: templates/web/fixmystreet/report/display.html:127
msgid "Now to submit your update&hellip;"
msgstr ""
-#: templates/web/default/report/display.html:138
+#: templates/web/default/report/display.html:133
msgid "Now to submit your update&hellip; do you have a FixMyStreet password?"
msgstr ""
-#: templates/web/default/report/display.html:26 templates/web/default/report/update.html:16
+#: templates/web/default/report/display.html:21 templates/web/default/report/update.html:16
msgid "Offensive? Unsuitable? Tell us"
msgstr ""
@@ -1195,7 +1251,7 @@ msgstr ""
msgid "Older problems"
msgstr ""
-#: templates/web/default/admin/report_edit.html:18 templates/web/default/admin/update_edit.html:19 templates/web/default/report/display.html:84 templates/web/fixmystreet/report/display.html:79
+#: templates/web/bromley/report/display.html:80 templates/web/default/admin/report_edit.html:18 templates/web/default/admin/update_edit.html:19 templates/web/default/dashboard/index.html:136 templates/web/default/report/display.html:79 templates/web/fixmystreet/report/display.html:74
msgid "Open"
msgstr ""
@@ -1215,15 +1271,15 @@ msgstr ""
msgid "Open311 specification"
msgstr ""
-#: templates/web/default/alert/list.html:85 templates/web/fixmystreet/alert/_list.html:56
+#: templates/web/default/alert/_list.html:58 templates/web/fixmystreet/alert/_list.html:60
msgid "Or problems reported to:"
msgstr ""
-#: templates/web/default/alert/list.html:61 templates/web/fixmystreet/alert/_list.html:33
+#: templates/web/default/alert/_list.html:33 templates/web/fixmystreet/alert/_list.html:36
msgid "Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:"
msgstr ""
-#: bin/send-reports:176 bin/send-reports:185 perllib/FixMyStreet/App/Controller/Report/New.pm:568 perllib/FixMyStreet/App/Controller/Report/New.pm:581 perllib/FixMyStreet/App/Controller/Report/New.pm:990 perllib/FixMyStreet/DB/Result/Problem.pm:489 perllib/FixMyStreet/DB/Result/Problem.pm:499 perllib/FixMyStreet/DB/Result/Problem.pm:509 perllib/FixMyStreet/DB/Result/Problem.pm:521
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:655 perllib/FixMyStreet/App/Controller/Report/New.pm:656 perllib/FixMyStreet/App/Controller/Report/New.pm:999 perllib/FixMyStreet/DB/Result/Problem.pm:497 perllib/FixMyStreet/DB/Result/Problem.pm:507 perllib/FixMyStreet/DB/Result/Problem.pm:517 perllib/FixMyStreet/DB/Result/Problem.pm:529 perllib/FixMyStreet/DB/ResultSet/Problem.pm:329 perllib/FixMyStreet/DB/ResultSet/Problem.pm:338
msgid "Other"
msgstr ""
@@ -1243,35 +1299,35 @@ msgstr ""
msgid "Partial"
msgstr ""
-#: templates/web/fixmystreet/auth/general.html:55 templates/web/fixmystreet/report/display.html:162 templates/web/fixmystreet/report/new/fill_in_details_form.html:191
+#: templates/web/bromley/report/display.html:145 templates/web/bromley/report/new/fill_in_details_form.html:186 templates/web/fixmystreet/auth/general.html:55 templates/web/fixmystreet/report/display.html:157 templates/web/fixmystreet/report/new/fill_in_details_form.html:197
msgid "Password (optional)"
msgstr ""
-#: templates/web/default/auth/change_password.html:25 templates/web/fixmystreet/auth/change_password.html:25
+#: templates/web/default/auth/change_password.html:25
msgid "Password:"
msgstr ""
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:130 templates/web/fixmystreet/report/new/fill_in_details_form.html:188
+#: templates/web/bromley/report/new/fill_in_details_form.html:136 templates/web/bromley/report/new/fill_in_details_form.html:183 templates/web/fixmystreet/report/new/fill_in_details_form.html:133 templates/web/fixmystreet/report/new/fill_in_details_form.html:194
msgid "Phone number (optional)"
msgstr ""
-#: bin/send-reports:70 templates/web/default/admin/report_edit.html:32 templates/web/default/report/new/fill_in_details_form.html:215
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:260 templates/web/default/admin/report_edit.html:32 templates/web/default/report/new/fill_in_details_form.html:215
msgid "Phone:"
msgstr ""
-#: templates/web/fixmystreet/report/display.html:108 templates/web/fixmystreet/report/new/fill_in_details_form.html:108
+#: templates/web/bromley/report/display.html:109 templates/web/bromley/report/new/fill_in_details_form.html:104 templates/web/fixmystreet/report/display.html:103 templates/web/fixmystreet/report/new/fill_in_details_form.html:108
msgid "Photo"
msgstr ""
-#: templates/web/default/questionnaire/index.html:95 templates/web/default/report/display.html:114 templates/web/default/report/new/fill_in_details_form.html:102 templates/web/fixmystreet/questionnaire/index.html:90
+#: templates/web/default/questionnaire/index.html:95 templates/web/default/report/display.html:109 templates/web/default/report/new/fill_in_details_form.html:102 templates/web/fixmystreet/questionnaire/index.html:90
msgid "Photo:"
msgstr ""
-#: templates/web/default/alert/list.html:27 templates/web/fixmystreet/alert/list.html:27
+#: templates/web/default/alert/list.html:26
msgid "Photos of recent nearby reports"
msgstr ""
-#: templates/web/default/admin/report_edit.html:18 templates/web/default/admin/report_edit.html:19 templates/web/default/report/display.html:84 templates/web/default/report/display.html:85 templates/web/fixmystreet/report/display.html:79 templates/web/fixmystreet/report/display.html:80
+#: templates/web/bromley/report/display.html:80 templates/web/bromley/report/display.html:81 templates/web/default/admin/report_edit.html:18 templates/web/default/admin/report_edit.html:19 templates/web/default/dashboard/index.html:136 templates/web/default/dashboard/index.html:137 templates/web/default/report/display.html:79 templates/web/default/report/display.html:80 templates/web/fixmystreet/report/display.html:74 templates/web/fixmystreet/report/display.html:75
msgid "Planned"
msgstr ""
@@ -1283,11 +1339,11 @@ msgstr ""
msgid "Please be polite, concise and to the point."
msgstr ""
-#: templates/web/default/auth/change_password.html:12 templates/web/default/auth/change_password.html:17 templates/web/fixmystreet/auth/change_password.html:12 templates/web/fixmystreet/auth/change_password.html:17
+#: templates/web/default/auth/change_password.html:12 templates/web/default/auth/change_password.html:17
msgid "Please check the passwords and try again"
msgstr ""
-#: templates/web/default/auth/token.html:17 templates/web/fixmystreet/auth/token.html:17
+#: templates/web/default/auth/token.html:17
msgid "Please check your email"
msgstr ""
@@ -1295,14 +1351,18 @@ msgstr ""
msgid "Please check your email address is correct"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:739 perllib/FixMyStreet/App/Controller/Report/New.pm:758 perllib/FixMyStreet/App/Controller/Report/New.pm:795 perllib/FixMyStreet/DB/Result/Problem.pm:339 templates/web/default/js/validation_strings.html:9
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:819 perllib/FixMyStreet/App/Controller/Report/New.pm:826 perllib/FixMyStreet/App/Controller/Report/New.pm:845 perllib/FixMyStreet/App/Controller/Report/New.pm:884 perllib/FixMyStreet/DB/Result/Problem.pm:347 templates/web/default/js/validation_strings.html:9
msgid "Please choose a category"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:345
+#: perllib/FixMyStreet/DB/Result/Problem.pm:353
msgid "Please choose a property type"
msgstr ""
+#: templates/web/bromley/report/new/fill_in_details_form.html:64
+msgid "Please describe the exact location of the report. Example: “2 dumped mattresses outside Number 19 Stockwell Close”"
+msgstr ""
+
#: templates/web/default/contact/blurb.html:2
msgid ""
"Please do <strong>not</strong> report problems through this form; messages go to\n"
@@ -1314,46 +1374,58 @@ msgstr ""
msgid "Please do not be abusive &mdash; abusing your council devalues the service for all users."
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:113 templates/web/default/js/validation_strings.html:2
+#: perllib/FixMyStreet/DB/Result/Comment.pm:146 templates/web/default/js/validation_strings.html:2
msgid "Please enter a message"
msgstr ""
-#: templates/web/default/auth/change_password.html:12 templates/web/default/auth/change_password.html:15 templates/web/fixmystreet/auth/change_password.html:12 templates/web/fixmystreet/auth/change_password.html:15
+#: templates/web/default/auth/change_password.html:12 templates/web/default/auth/change_password.html:15
msgid "Please enter a password"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:97 perllib/FixMyStreet/DB/Result/Problem.pm:314 templates/web/default/js/validation_strings.html:3
+#: perllib/FixMyStreet/App/Controller/Contact.pm:97 perllib/FixMyStreet/DB/Result/Problem.pm:322 templates/web/default/js/validation_strings.html:3
msgid "Please enter a subject"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/User.pm:96 templates/web/default/js/validation_strings.html:12 templates/web/default/js/validation_strings.html:16
+#: perllib/FixMyStreet/DB/Result/User.pm:104 templates/web/default/js/validation_strings.html:12 templates/web/default/js/validation_strings.html:16
msgid "Please enter a valid email"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Alert.pm:342 perllib/FixMyStreet/App/Controller/Contact.pm:107
+#: perllib/FixMyStreet/App/Controller/Alert.pm:346 perllib/FixMyStreet/App/Controller/Contact.pm:107
msgid "Please enter a valid email address"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:317 templates/web/default/js/validation_strings.html:4
+#: perllib/FixMyStreet/DB/Result/Problem.pm:325 templates/web/default/js/validation_strings.html:4
msgid "Please enter some details"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:96 perllib/FixMyStreet/DB/Result/User.pm:93 templates/web/default/auth/general.html:13 templates/web/default/auth/general.html:8 templates/web/default/js/validation_strings.html:11 templates/web/default/js/validation_strings.html:15 templates/web/fixmystreet/auth/general.html:14 templates/web/fixmystreet/auth/general.html:9
+#: perllib/FixMyStreet/App/Controller/Contact.pm:96 perllib/FixMyStreet/DB/Result/User.pm:101 templates/web/default/auth/general.html:13 templates/web/default/auth/general.html:8 templates/web/default/js/validation_strings.html:11 templates/web/default/js/validation_strings.html:15 templates/web/fixmystreet/auth/general.html:14 templates/web/fixmystreet/auth/general.html:9
msgid "Please enter your email"
msgstr ""
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:143
+#: templates/web/bromley/report/new/fill_in_details_form.html:149 templates/web/fixmystreet/report/new/fill_in_details_form.html:146
msgid "Please enter your email address"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:332 templates/web/default/js/validation_strings.html:7
+#: templates/web/default/js/validation_strings.html:19
+msgid "Please enter your first name"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:340 templates/web/default/js/validation_strings.html:7
msgid "Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Contact.pm:95 perllib/FixMyStreet/DB/Result/Comment.pm:110 perllib/FixMyStreet/DB/Result/Problem.pm:325 perllib/FixMyStreet/DB/Result/User.pm:89 templates/web/default/js/validation_strings.html:6
+#: perllib/FixMyStreet/App/Controller/Contact.pm:95 perllib/FixMyStreet/DB/Result/Comment.pm:143 perllib/FixMyStreet/DB/Result/Problem.pm:333 perllib/FixMyStreet/DB/Result/User.pm:97 templates/web/default/js/validation_strings.html:6
msgid "Please enter your name"
msgstr ""
+#: templates/web/default/js/validation_strings.html:20
+msgid "Please enter your second name"
+msgstr ""
+
+#: templates/web/default/js/validation_strings.html:18
+msgid "Please enter your title"
+msgstr ""
+
#: templates/web/emptyhomes/report/new/fill_in_details_text.html:1
msgid ""
"Please fill in details of the empty property below, saying what type of\n"
@@ -1380,7 +1452,7 @@ msgstr ""
msgid "Please fill in details of the problem."
msgstr ""
-#: templates/web/default/report/new/fill_in_details_form.html:27 templates/web/fixmystreet/report/new/fill_in_details_form.html:34
+#: templates/web/bromley/report/new/fill_in_details_form.html:28 templates/web/default/report/new/fill_in_details_form.html:27 templates/web/fixmystreet/report/new/fill_in_details_form.html:34
msgid "Please fill in the form below with details of the problem, and describe the location as precisely as possible in the details box."
msgstr ""
@@ -1388,11 +1460,19 @@ msgstr ""
msgid "Please indicate whether you'd like to receive another questionnaire"
msgstr ""
-#: templates/web/default/report/display.html:61 templates/web/fixmystreet/report/display.html:59
+#: templates/web/fixmystreet/report/updates-sidebar-notes.html:3
+msgid "Please note that updates are not sent to the council."
+msgstr ""
+
+#: templates/web/default/report/display.html:56
msgid "Please note that updates are not sent to the council. If you leave your name it will be public. Your information will only be used in accordance with our <a href=\"/faq#privacy\">privacy policy</a>"
msgstr ""
-#: templates/web/default/report/new/fill_in_details_form.html:5 templates/web/fixmystreet/report/new/fill_in_details_form.html:25
+#: templates/web/barnet/report/updates-sidebar-notes.html:1
+msgid "Please note that updates are not sent to the relevant department. If you leave your name it will be public. Your information will only be used in accordance with our <a href=\"/faq#privacy\">privacy policy</a>"
+msgstr ""
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:23 templates/web/default/report/new/fill_in_details_form.html:5 templates/web/fixmystreet/report/new/fill_in_details_form.html:25
msgid "Please note your report has <strong>not yet been sent</strong>. Choose a category and add further information below, then submit."
msgstr ""
@@ -1408,7 +1488,7 @@ msgstr ""
msgid "Please provide some text as well as a photo"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:115 perllib/FixMyStreet/App/Controller/Questionnaire.pm:237
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:116 perllib/FixMyStreet/App/Controller/Questionnaire.pm:237
msgid "Please say whether you've ever reported a problem to your council before"
msgstr ""
@@ -1428,19 +1508,23 @@ msgstr ""
msgid "Please take a look at the updates that have been left."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:843
+#: perllib/FixMyStreet/App/Controller/Photo.pm:176
msgid "Please upload a JPEG image only"
msgstr ""
+#: perllib/FixMyStreet/App/Controller/Photo.pm:183
+msgid "Please upload a JPEG image only\n"
+msgstr ""
+
#: perllib/FixMyStreet/App/Controller/Contact.pm:98
msgid "Please write a message"
msgstr ""
-#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/bromley/report/display.html:70 templates/web/fixmystreet/report/display.html:69
msgid "Please write your update here"
msgstr ""
-#: templates/web/default/contact/index.html:93 templates/web/default/report/display.html:124 templates/web/default/report/display.html:161 templates/web/default/report/display.html:183 templates/web/fixmystreet/contact/index.html:93 templates/web/fixmystreet/report/display.html:120 templates/web/fixmystreet/report/display.html:144 templates/web/fixmystreet/report/display.html:166
+#: templates/web/bromley/report/display.html:121 templates/web/bromley/report/display.html:149 templates/web/bromley/report/display.html:161 templates/web/default/contact/index.html:93 templates/web/default/report/display.html:119 templates/web/default/report/display.html:156 templates/web/default/report/display.html:178 templates/web/fixmystreet/contact/index.html:93 templates/web/fixmystreet/report/display.html:115 templates/web/fixmystreet/report/display.html:139 templates/web/fixmystreet/report/display.html:161
msgid "Post"
msgstr ""
@@ -1448,11 +1532,11 @@ msgstr ""
msgid "Posted anonymously at %s"
msgstr ""
-#: templates/web/default/report/updates.html:17
+#: templates/web/default/report/updates.html:21
msgid "Posted by %s (<strong>%s</strong>) at %s"
msgstr ""
-#: templates/web/default/report/updates.html:19
+#: templates/web/default/report/updates.html:23
msgid "Posted by %s at %s"
msgstr ""
@@ -1476,7 +1560,7 @@ msgstr ""
msgid "Problem breakdown by state"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:776
+#: perllib/FixMyStreet/App/Controller/Admin.pm:819
msgid "Problem marked as open."
msgstr ""
@@ -1488,15 +1572,15 @@ msgstr ""
msgid "Problems"
msgstr ""
-#: templates/web/default/around/display_location.html:79
+#: templates/web/default/around/display_location.html:81
msgid "Problems in this area"
msgstr ""
-#: templates/web/fixmystreet/around/display_location.html:93 templates/web/fixmystreet/report/display.html:29
+#: templates/web/bromley/report/display.html:31 templates/web/fixmystreet/around/display_location.html:98 templates/web/fixmystreet/report/display.html:24
msgid "Problems nearby"
msgstr ""
-#: templates/web/fixmystreet/around/display_location.html:92
+#: templates/web/fixmystreet/around/display_location.html:97
msgid "Problems on the map"
msgstr ""
@@ -1504,23 +1588,23 @@ msgstr ""
msgid "Problems recently reported fixed on FixMyStreet"
msgstr ""
-#: templates/web/default/alert/list.html:50 templates/web/fixmystreet/alert/_list.html:21
+#: templates/web/default/alert/_list.html:19 templates/web/fixmystreet/alert/_list.html:21
msgid "Problems within %.1fkm of this location"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:748 perllib/FixMyStreet/Cobrand/EmptyHomes.pm:162 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:177
+#: perllib/FixMyStreet/Cobrand/Default.pm:609 perllib/FixMyStreet/Cobrand/EmptyHomes.pm:95 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:162 perllib/FixMyStreet/Cobrand/UK.pm:240
msgid "Problems within %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:757 perllib/FixMyStreet/Cobrand/EmptyHomes.pm:170
+#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:103 perllib/FixMyStreet/Cobrand/UK.pm:254
msgid "Problems within %s ward"
msgstr ""
-#: templates/web/default/reports/council.html:0 templates/web/default/reports/council.html:17
+#: templates/web/default/reports/council.html:0 templates/web/default/reports/council.html:29
msgid "Problems within %s, FixMyStreet"
msgstr ""
-#: templates/web/default/alert/list.html:67 templates/web/fixmystreet/alert/_list.html:38
+#: templates/web/default/alert/_list.html:40 templates/web/fixmystreet/alert/_list.html:42
msgid "Problems within the boundary of:"
msgstr ""
@@ -1528,23 +1612,27 @@ msgstr ""
msgid "Properties recently reported as put back to use on reportemptyhomes.com"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:543
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:617
msgid "Property type:"
msgstr ""
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:62
+#: templates/web/bromley/report/new/fill_in_details_form.html:52 templates/web/fixmystreet/report/new/fill_in_details_form.html:62
msgid "Provide a title"
msgstr ""
-#: templates/web/default/report/display.html:56 templates/web/fixmystreet/report/display.html:55
+#: templates/web/bromley/report/display.html:57 templates/web/default/report/display.html:51 templates/web/fixmystreet/report/display.html:50
msgid "Provide an update"
msgstr ""
-#: templates/web/default/report/display.html:180 templates/web/default/report/new/fill_in_details_form.html:173 templates/web/fixmystreet/report/display.html:159 templates/web/fixmystreet/report/new/fill_in_details_form.html:185
+#: templates/web/bromley/report/new/fill_in_details_form.html:180
+msgid "Providing a password is optional, but doing so will allow you to more easily report future problems, leave updates and manage your reports."
+msgstr ""
+
+#: templates/web/bromley/report/display.html:142 templates/web/default/report/display.html:175 templates/web/default/report/new/fill_in_details_form.html:173 templates/web/fixmystreet/report/display.html:154 templates/web/fixmystreet/report/new/fill_in_details_form.html:191
msgid "Providing a password is optional, but doing so will allow you to more easily report problems, leave updates and manage your reports."
msgstr ""
-#: templates/web/default/questionnaire/completed.html:1 templates/web/default/questionnaire/completed.html:2 templates/web/default/questionnaire/index.html:0 templates/web/default/questionnaire/index.html:14 templates/web/default/questionnaire/index.html:4 templates/web/fixmystreet/questionnaire/index.html:0 templates/web/fixmystreet/questionnaire/index.html:15 templates/web/fixmystreet/questionnaire/index.html:3 templates/web/fixmystreet/questionnaire/index.html:32
+#: templates/web/default/questionnaire/completed.html:1 templates/web/default/questionnaire/completed.html:2 templates/web/default/questionnaire/index.html:0 templates/web/default/questionnaire/index.html:14 templates/web/default/questionnaire/index.html:4 templates/web/fixmystreet/questionnaire/index.html:0 templates/web/fixmystreet/questionnaire/index.html:14 templates/web/fixmystreet/questionnaire/index.html:32 templates/web/fixmystreet/questionnaire/index.html:4
msgid "Questionnaire"
msgstr ""
@@ -1560,43 +1648,39 @@ msgstr ""
msgid "Questionnaire filled in by problem reporter"
msgstr ""
-#: templates/web/fixmystreet/static/for_councils_faq.html:1
-msgid "Questions and Answers :: FixMyStreet for Councils"
-msgstr ""
-
-#: templates/web/default/alert/list.html:52 templates/web/default/around/display_location.html:1 templates/web/default/around/display_location.html:3 templates/web/default/report/display.html:47 templates/web/default/reports/council.html:79 templates/web/fixmystreet/alert/_list.html:22 templates/web/fixmystreet/alert/updates.html:9 templates/web/fixmystreet/around/display_location.html:1 templates/web/fixmystreet/around/display_location.html:3 templates/web/fixmystreet/report/display.html:35
+#: templates/web/bromley/report/display.html:37 templates/web/default/alert/_list.html:21 templates/web/default/around/display_location.html:1 templates/web/default/around/display_location.html:3 templates/web/default/report/display.html:42 templates/web/default/reports/_rss.html:1 templates/web/fixmystreet/alert/_list.html:22 templates/web/fixmystreet/alert/updates.html:9 templates/web/fixmystreet/around/display_location.html:1 templates/web/fixmystreet/around/display_location.html:3 templates/web/fixmystreet/report/display.html:30
msgid "RSS feed"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:786 perllib/FixMyStreet/Cobrand/Default.pm:800
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
msgid "RSS feed for %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:793 perllib/FixMyStreet/Cobrand/Default.pm:807
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed for %s ward, %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:816 perllib/FixMyStreet/Cobrand/Default.pm:830 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:193 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:201 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:211 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:219
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:178 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:186 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:196 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:204 perllib/FixMyStreet/Cobrand/UK.pm:309 perllib/FixMyStreet/Cobrand/UK.pm:321
msgid "RSS feed of %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:822 perllib/FixMyStreet/Cobrand/Default.pm:836
+#: perllib/FixMyStreet/Cobrand/UK.pm:314 perllib/FixMyStreet/Cobrand/UK.pm:326
msgid "RSS feed of %s, within %s ward"
msgstr ""
-#: templates/web/default/alert/list.html:52 templates/web/fixmystreet/alert/_list.html:22
+#: templates/web/default/alert/_list.html:21 templates/web/fixmystreet/alert/_list.html:22
msgid "RSS feed of nearby problems"
msgstr ""
-#: templates/web/default/reports/council.html:79
+#: templates/web/default/reports/_rss.html:1
msgid "RSS feed of problems in this %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:749 perllib/FixMyStreet/Cobrand/EmptyHomes.pm:163 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:176
+#: perllib/FixMyStreet/Cobrand/Default.pm:610 perllib/FixMyStreet/Cobrand/EmptyHomes.pm:96 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161 perllib/FixMyStreet/Cobrand/UK.pm:247
msgid "RSS feed of problems within %s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:756 perllib/FixMyStreet/Cobrand/EmptyHomes.pm:169
+#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:102 perllib/FixMyStreet/Cobrand/UK.pm:253
msgid "RSS feed of problems within %s ward"
msgstr ""
@@ -1604,11 +1688,11 @@ msgstr ""
msgid "RSS feed of recent local problems"
msgstr ""
-#: templates/web/default/report/display.html:47 templates/web/fixmystreet/alert/updates.html:9 templates/web/fixmystreet/report/display.html:35
+#: templates/web/bromley/report/display.html:37 templates/web/default/report/display.html:42 templates/web/fixmystreet/alert/updates.html:9 templates/web/fixmystreet/report/display.html:30
msgid "RSS feed of updates to this problem"
msgstr ""
-#: templates/web/default/alert/updates.html:9 templates/web/default/report/display.html:38 templates/web/fixmystreet/alert/updates.html:14 templates/web/fixmystreet/report/display.html:37
+#: templates/web/bromley/report/display.html:39 templates/web/default/alert/updates.html:9 templates/web/default/report/display.html:33 templates/web/fixmystreet/alert/updates.html:14 templates/web/fixmystreet/report/display.html:32
msgid "Receive email when updates are left on this problem."
msgstr ""
@@ -1624,7 +1708,7 @@ msgstr ""
msgid "Recently fixed"
msgstr ""
-#: templates/web/default/index.html:61 templates/web/fixmystreet/index.html:72
+#: templates/web/default/index.html:50 templates/web/fixmystreet/index.html:62
msgid "Recently reported problems"
msgstr ""
@@ -1636,19 +1720,19 @@ msgstr ""
msgid "Remove flag"
msgstr ""
-#: templates/web/default/admin/report_edit.html:52 templates/web/default/admin/update_edit.html:48
+#: templates/web/default/admin/report_edit.html:53 templates/web/default/admin/update_edit.html:48
msgid "Remove photo (can't be undone!)"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:77
+#: templates/web/emptyhomes/header.html:10
msgid "Report Empty Homes"
msgstr ""
-#: templates/web/bromley/footer.html:33 templates/web/default/footer.html:7 templates/web/emptyhomes/header.html:27 templates/web/fiksgatami/footer.html:5 templates/web/fiksgatami/nn/footer.html:5 templates/web/fixmystreet/footer.html:45 templates/web/reading/footer.html:6
+#: templates/web/barnet/footer.html:16 templates/web/bromley/footer.html:17 templates/web/default/footer.html:7 templates/web/emptyhomes/header.html:27 templates/web/fiksgatami/footer.html:5 templates/web/fiksgatami/nn/footer.html:5 templates/web/fixmystreet/footer.html:45 templates/web/reading/footer.html:6
msgid "Report a problem"
msgstr ""
-#: templates/web/fixmystreet/report/display.html:27
+#: templates/web/bromley/report/display.html:28 templates/web/fixmystreet/report/display.html:22
msgid "Report abuse"
msgstr ""
@@ -1656,23 +1740,23 @@ msgstr ""
msgid "Report empty properties"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Rss.pm:281
+#: perllib/FixMyStreet/App/Controller/Rss.pm:277
msgid "Report on %s"
msgstr ""
-#: templates/web/default/index.html:15 templates/web/fixmystreet/index.html:28
+#: templates/web/default/index.html:15 templates/web/fixmystreet/around/postcode_form.html:6
msgid "Report, view, or discuss local problems"
msgstr ""
-#: templates/web/default/my/my.html:74 templates/web/fixmystreet/my/my.html:77
+#: templates/web/default/my/my.html:74
msgid "Reported %s"
msgstr ""
-#: templates/web/default/my/my.html:72 templates/web/fixmystreet/my/my.html:75
+#: templates/web/default/my/my.html:72
msgid "Reported %s, to %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:504 templates/web/default/contact/index.html:45 templates/web/fixmystreet/contact/index.html:46
+#: perllib/FixMyStreet/DB/Result/Problem.pm:512 templates/web/default/contact/index.html:45 templates/web/fixmystreet/contact/index.html:46
msgid "Reported anonymously at %s"
msgstr ""
@@ -1680,39 +1764,39 @@ msgstr ""
msgid "Reported before"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:496
+#: perllib/FixMyStreet/DB/Result/Problem.pm:504
msgid "Reported by %s anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:527 templates/web/default/contact/index.html:47 templates/web/fixmystreet/contact/index.html:48
+#: perllib/FixMyStreet/DB/Result/Problem.pm:535 templates/web/default/contact/index.html:47 templates/web/fixmystreet/contact/index.html:48
msgid "Reported by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:518
+#: perllib/FixMyStreet/DB/Result/Problem.pm:526
msgid "Reported by %s by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:492
+#: perllib/FixMyStreet/DB/Result/Problem.pm:500
msgid "Reported by %s in the %s category anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:512
+#: perllib/FixMyStreet/DB/Result/Problem.pm:520
msgid "Reported by %s in the %s category by %s at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:500
+#: perllib/FixMyStreet/DB/Result/Problem.pm:508
msgid "Reported in the %s category anonymously at %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:522
+#: perllib/FixMyStreet/DB/Result/Problem.pm:530
msgid "Reported in the %s category by %s at %s"
msgstr ""
-#: templates/web/default/around/around_index.html:1 templates/web/default/report/new/fill_in_details.html:0 templates/web/default/report/new/fill_in_details.html:3 templates/web/default/report/new/fill_in_details_form.html:1 templates/web/fixmystreet/around/around_index.html:1 templates/web/fixmystreet/report/new/fill_in_details.html:0 templates/web/fixmystreet/report/new/fill_in_details.html:5 templates/web/fixmystreet/report/new/fill_in_details_form.html:2
+#: templates/web/default/around/around_index.html:1 templates/web/default/report/new/fill_in_details.html:0 templates/web/default/report/new/fill_in_details.html:3 templates/web/default/report/new/fill_in_details_form.html:1 templates/web/fixmystreet/around/around_index.html:2 templates/web/fixmystreet/report/new/fill_in_details.html:0 templates/web/fixmystreet/report/new/fill_in_details.html:5 templates/web/fixmystreet/report/new/fill_in_details_form.html:2
msgid "Reporting a problem"
msgstr ""
-#: templates/web/default/around/display_location.html:93
+#: templates/web/default/around/display_location.html:95
msgid "Reports on and around the map"
msgstr ""
@@ -1720,11 +1804,11 @@ msgstr ""
msgid "Resend report"
msgstr ""
-#: perllib/FixMyStreet/Geocode/OSM.pm:107
+#: perllib/FixMyStreet/Geocode/OSM.pm:166
msgid "Road operator for this named road (derived from road reference number and type): %s"
msgstr ""
-#: perllib/FixMyStreet/Geocode/OSM.pm:104
+#: perllib/FixMyStreet/Geocode/OSM.pm:163
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr ""
@@ -1732,7 +1816,7 @@ msgstr ""
msgid "Save changes"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:984
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1027
msgid "Search Abuse"
msgstr ""
@@ -1740,11 +1824,11 @@ msgstr ""
msgid "Search Abuse Table"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:980 templates/web/default/admin/list_flagged.html:1 templates/web/default/admin/search_reports.html:1
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1023 templates/web/default/admin/list_flagged.html:1 templates/web/default/admin/search_reports.html:1
msgid "Search Reports"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:983 templates/web/default/admin/search_users.html:1
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1026 templates/web/default/admin/search_users.html:1
msgid "Search Users"
msgstr ""
@@ -1752,11 +1836,11 @@ msgstr ""
msgid "Search:"
msgstr ""
-#: templates/web/default/alert/list.html:39 templates/web/fixmystreet/alert/_list.html:10
+#: templates/web/default/alert/_list.html:8 templates/web/fixmystreet/alert/_list.html:10
msgid "Select which type of alert you'd like and click the button for an RSS feed, or enter your email address to subscribe to an email alert."
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:569
+#: perllib/FixMyStreet/DB/Result/Problem.pm:618
msgid "Sent to %s %s later"
msgstr ""
@@ -1785,7 +1869,7 @@ msgid ""
" significant contribution to the supply of affordable homes in Wales."
msgstr ""
-#: templates/web/default/report/display.html:213 templates/web/default/report/new/fill_in_details_form.html:210 templates/web/fixmystreet/report/display.html:189 templates/web/fixmystreet/report/new/fill_in_details_form.html:123 templates/web/fixmystreet/report/new/fill_in_details_form.html:180
+#: templates/web/bromley/report/display.html:203 templates/web/bromley/report/new/fill_in_details_form.html:129 templates/web/bromley/report/new/fill_in_details_form.html:175 templates/web/default/report/display.html:208 templates/web/default/report/new/fill_in_details_form.html:210 templates/web/fixmystreet/report/display.html:185 templates/web/fixmystreet/report/new/fill_in_details_form.html:126 templates/web/fixmystreet/report/new/fill_in_details_form.html:186
msgid "Show my name publicly"
msgstr ""
@@ -1797,7 +1881,7 @@ msgstr ""
msgid "Show pins"
msgstr ""
-#: templates/web/bromley/header.html:50 templates/web/default/auth/general.html:3 templates/web/default/auth/general.html:49 templates/web/fixmystreet/auth/general.html:3 templates/web/fixmystreet/auth/general.html:38 templates/web/fixmystreet/auth/general.html:58 templates/web/fixmystreet/header.html:50
+#: templates/web/default/auth/general.html:3 templates/web/default/auth/general.html:49 templates/web/fixmybarangay/header.html.orig:46 templates/web/fixmystreet/auth/general.html:3 templates/web/fixmystreet/auth/general.html:38 templates/web/fixmystreet/auth/general.html:58 templates/web/fixmystreet/header.html:51 templates/web/zurich/header.html:51
msgid "Sign in"
msgstr ""
@@ -1809,7 +1893,7 @@ msgstr ""
msgid "Sign in or create an account"
msgstr ""
-#: templates/web/default/auth/sign_out.html:1 templates/web/default/header.html:30 templates/web/emptyhomes/header.html:41 templates/web/fiksgatami/header.html:22 templates/web/fiksgatami/nn/header.html:22 templates/web/fixmystreet/auth/sign_out.html:1 templates/web/lichfielddc/header.html:177 templates/web/reading/header.html:33
+#: templates/web/bromley/auth/sign_out.html:1 templates/web/default/auth/sign_out.html:1 templates/web/default/header.html:30 templates/web/emptyhomes/header.html:41 templates/web/fiksgatami/header.html:22 templates/web/fiksgatami/nn/header.html:22 templates/web/lichfielddc/header.html:177 templates/web/reading/header.html:33
msgid "Sign out"
msgstr ""
@@ -1821,7 +1905,7 @@ msgstr ""
msgid "Some categories may require additional information."
msgstr ""
-#: templates/web/default/alert/index.html:30 templates/web/fixmystreet/alert/index.html:33
+#: templates/web/default/alert/index.html:42
msgid "Some photos of recent reports"
msgstr ""
@@ -1833,7 +1917,7 @@ msgstr ""
msgid "Some unconfirmeds"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:428
+#: perllib/FixMyStreet/Cobrand/UK.pm:97
msgid "Sorry, that appears to be a Crown dependency postcode, which we don't cover."
msgstr ""
@@ -1841,11 +1925,11 @@ msgstr ""
msgid "Sorry, there has been an error confirming your problem."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:147 perllib/FixMyStreet/Geocode.pm:27 perllib/FixMyStreet/Geocode/Bing.pm:53 perllib/FixMyStreet/Geocode/Google.pm:68
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:214 perllib/FixMyStreet/Geocode.pm:27 perllib/FixMyStreet/Geocode/Bing.pm:51 perllib/FixMyStreet/Geocode/Google.pm:69
msgid "Sorry, we could not find that location."
msgstr ""
-#: perllib/FixMyStreet/Geocode/Bing.pm:46 perllib/FixMyStreet/Geocode/Google.pm:60
+#: perllib/FixMyStreet/Geocode/Bing.pm:46 perllib/FixMyStreet/Geocode/Google.pm:64 perllib/FixMyStreet/Geocode/OSM.pm:59
msgid "Sorry, we could not parse that location. Please try again."
msgstr ""
@@ -1865,15 +1949,15 @@ msgstr ""
msgid "Start month:"
msgstr ""
-#: templates/web/default/admin/list_flagged.html:18 templates/web/default/admin/list_updates.html:6 templates/web/default/admin/search_reports.html:21 templates/web/fixmystreet/report/display.html:77
+#: templates/web/bromley/report/display.html:78 templates/web/default/admin/list_flagged.html:18 templates/web/default/admin/list_updates.html:6 templates/web/default/admin/search_reports.html:21 templates/web/fixmystreet/report/display.html:72
msgid "State"
msgstr ""
-#: templates/web/default/admin/report_edit.html:17 templates/web/default/admin/update_edit.html:18 templates/web/default/report/display.html:82
+#: templates/web/default/admin/report_edit.html:17 templates/web/default/admin/update_edit.html:18 templates/web/default/report/display.html:77
msgid "State:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:986 templates/web/default/admin/stats.html:1
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1029 templates/web/default/admin/stats.html:1
msgid "Stats"
msgstr ""
@@ -1881,7 +1965,7 @@ msgstr ""
msgid "Still open, via questionnaire, %s"
msgstr ""
-#: templates/web/fixmystreet/contact/index.html:79 templates/web/fixmystreet/report/new/fill_in_details_form.html:58
+#: templates/web/bromley/report/new/fill_in_details_form.html:48 templates/web/fixmystreet/contact/index.html:79 templates/web/fixmystreet/report/new/fill_in_details_form.html:58
msgid "Subject"
msgstr ""
@@ -1889,11 +1973,11 @@ msgstr ""
msgid "Subject:"
msgstr ""
-#: templates/web/default/questionnaire/creator_fixed.html:19 templates/web/default/report/new/fill_in_details_form.html:114 templates/web/default/report/new/fill_in_details_form.html:154 templates/web/default/report/new/fill_in_details_form.html:176 templates/web/fixmystreet/report/new/fill_in_details_form.html:134 templates/web/fixmystreet/report/new/fill_in_details_form.html:159 templates/web/fixmystreet/report/new/fill_in_details_form.html:195
+#: templates/web/bromley/report/new/fill_in_details_form.html:140 templates/web/bromley/report/new/fill_in_details_form.html:190 templates/web/bromley/report/new/fill_in_details_form.html:204 templates/web/default/questionnaire/creator_fixed.html:19 templates/web/default/report/new/fill_in_details_form.html:114 templates/web/default/report/new/fill_in_details_form.html:154 templates/web/default/report/new/fill_in_details_form.html:176 templates/web/fixmystreet/report/new/fill_in_details_form.html:137 templates/web/fixmystreet/report/new/fill_in_details_form.html:162 templates/web/fixmystreet/report/new/fill_in_details_form.html:201
msgid "Submit"
msgstr ""
-#: templates/web/default/admin/report_edit.html:55 templates/web/default/admin/update_edit.html:51 templates/web/default/admin/user_edit.html:20
+#: templates/web/default/admin/report_edit.html:56 templates/web/default/admin/update_edit.html:51 templates/web/default/admin/user_edit.html:20
msgid "Submit changes"
msgstr ""
@@ -1901,15 +1985,15 @@ msgstr ""
msgid "Submit questionnaire"
msgstr ""
-#: templates/web/default/alert/updates.html:17 templates/web/default/report/display.html:43 templates/web/fixmystreet/alert/updates.html:23 templates/web/fixmystreet/report/display.html:42
+#: templates/web/bromley/report/display.html:44 templates/web/default/alert/updates.html:17 templates/web/default/report/display.html:38 templates/web/fixmystreet/alert/updates.html:23 templates/web/fixmystreet/report/display.html:37
msgid "Subscribe"
msgstr ""
-#: templates/web/default/alert/list.html:126 templates/web/fixmystreet/alert/_list.html:88
+#: templates/web/default/alert/_list.html:97 templates/web/fixmystreet/alert/_list.html:92
msgid "Subscribe me to an email alert"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:978 templates/web/default/admin/index.html:1
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1021 templates/web/default/admin/index.html:1
msgid "Summary"
msgstr ""
@@ -1917,7 +2001,7 @@ msgstr ""
msgid "Summary reports"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:982 templates/web/default/admin/questionnaire.html:1
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1025 templates/web/default/admin/questionnaire.html:1
msgid "Survey Results"
msgstr ""
@@ -1925,7 +2009,7 @@ msgstr ""
msgid "Text"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:14
+#: templates/web/default/admin/council_contacts.html:18
msgid "Text only version"
msgstr ""
@@ -1957,7 +2041,11 @@ msgstr ""
msgid "Thank you for using ReportEmptyHomes.com. Your action is already helping to resolve the UK&rsquo;s empty homes crisis."
msgstr ""
-#: templates/web/default/around/around_index.html:43 templates/web/fixmystreet/around/around_index.html:46
+#: templates/web/fixmystreet/around/around_index.html:27
+msgid "Thanks for uploading your photo. We now need to locate your problem, so please enter a nearby street name or postcode in the box above&nbsp;:"
+msgstr ""
+
+#: templates/web/default/around/around_index.html:28
msgid "Thanks for uploading your photo. We now need to locate your problem, so please enter a nearby street name or postcode in the box below&nbsp;:"
msgstr ""
@@ -1969,23 +2057,23 @@ msgstr ""
msgid "Thanks, glad to hear it's been fixed! Could we just ask if you have ever reported a problem to a council before?"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:856
+#: perllib/FixMyStreet/App/Controller/Photo.pm:190
msgid "That image doesn't appear to have uploaded correctly (%s), please try again."
msgstr ""
-#: templates/web/default/alert/index.html:12 templates/web/fixmystreet/alert/index.html:12
-msgid "That location does not appear to be covered by a council, perhaps it is offshore - please try somewhere more specific."
+#: perllib/FixMyStreet/App/Controller/Council.pm:91
+msgid "That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again."
msgstr ""
#: perllib/FixMyStreet/App/Controller/Location.pm:107
-msgid "That location does not appear to be in Britain; please try again."
+msgid "That location does not appear to be in the UK; please try again."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:421 perllib/FixMyStreet/Cobrand/FiksGataMi.pm:78
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:63 perllib/FixMyStreet/Cobrand/UK.pm:90
msgid "That postcode was not recognised, sorry."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:560
+#: perllib/FixMyStreet/App/Controller/Admin.pm:605
msgid "That problem will now be resent."
msgstr ""
@@ -1993,10 +2081,6 @@ msgstr ""
msgid "That report has been removed from FixMyStreet."
msgstr ""
-#: templates/web/default/around/around_index.html:26 templates/web/fixmystreet/around/around_index.html:29
-msgid "That spot does not appear to be covered by a council. If you have tried to report an issue past the shoreline, for example, please specify the closest point on land."
-msgstr ""
-
#: templates/web/emptyhomes/static/about.html:7
msgid "The Empty Homes Agency"
msgstr ""
@@ -2016,7 +2100,7 @@ msgstr ""
msgid "The Open311 v2 attribute agency_responsible is used to list the administrations that received the problem report, which is not quite the way the attribute is defined in the Open311 v2 specification."
msgstr ""
-#: templates/web/default/auth/token.html:21 templates/web/default/email_sent.html:22 templates/web/fixmystreet/auth/token.html:21
+#: templates/web/default/auth/token.html:21 templates/web/default/email_sent.html:22
msgid "The confirmation email <strong>may</strong> take a few minutes to arrive &mdash; <em>please</em> be patient."
msgstr ""
@@ -2036,7 +2120,7 @@ msgstr ""
msgid "The details of your problem are available on the right hand side of this page."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Reports.pm:44 perllib/FixMyStreet/App/Controller/Reports.pm:71
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60 perllib/FixMyStreet/App/Controller/Reports.pm:44 perllib/FixMyStreet/App/Controller/Reports.pm:75
msgid "The error was: %s"
msgstr ""
@@ -2044,7 +2128,7 @@ msgstr ""
msgid "The following Open311 v2 attributes are returned for each request: service_request_id, description, lat, long, media_url, status, requested_datetime, updated_datetime, service_code and service_name."
msgstr ""
-#: perllib/FixMyStreet/Geocode/OSM.pm:99
+#: perllib/FixMyStreet/Geocode/OSM.pm:158
msgid "The following information about the nearest road might be inaccurate or irrelevant, if the problem is close to several roads or close to a road without a name registered in OpenStreetMap."
msgstr ""
@@ -2092,7 +2176,7 @@ msgstr ""
msgid "The latest reports within {{NAME}}'s boundary reported by users"
msgstr ""
-#: templates/web/default/auth/change_password.html:12 templates/web/default/auth/change_password.html:16 templates/web/fixmystreet/auth/change_password.html:12 templates/web/fixmystreet/auth/change_password.html:16
+#: templates/web/default/auth/change_password.html:12 templates/web/default/auth/change_password.html:16
msgid "The passwords do not match"
msgstr ""
@@ -2100,35 +2184,35 @@ msgstr ""
msgid "The requested URL '%s' was not found on this server"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1036 perllib/FixMyStreet/App/Controller/Admin.pm:1206 perllib/FixMyStreet/App/Controller/Admin.pm:540 perllib/FixMyStreet/App/Controller/Admin.pm:703
-msgid "The requested URL was not found on this server."
-msgstr ""
-
-#: templates/web/default/alert/list.html:45 templates/web/fixmystreet/alert/_list.html:16
+#: templates/web/default/alert/_list.html:14 templates/web/fixmystreet/alert/_list.html:16
msgid "The simplest alert is our geographic one:"
msgstr ""
-#: templates/web/default/report/new/councils_text_all.html:18 templates/web/default/report/new/councils_text_some.html:10 templates/web/default/report/new/councils_text_some.html:11 templates/web/default/report/new/fill_in_details_form.html:17 templates/web/fixmystreet/report/new/councils_text_all.html:18 templates/web/fixmystreet/report/new/councils_text_some.html:10 templates/web/fixmystreet/report/new/councils_text_some.html:11 templates/web/fixmystreet/report/new/fill_in_details_form.html:12
+#: templates/web/barnet/report/new/councils_text_all.html:3 templates/web/default/report/new/councils_extra_text.html:1 templates/web/default/report/new/councils_text_some.html:10 templates/web/default/report/new/councils_text_some.html:11 templates/web/default/report/new/fill_in_details_form.html:17 templates/web/fixmystreet/report/new/fill_in_details_form.html:12
msgid "The subject and details of the problem will be public, plus your name if you give us permission."
msgstr ""
-#: bin/send-reports:79
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:269
msgid "The user could not locate the problem on a map, but to see the area around the location they entered"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Reports.pm:70
+#: perllib/FixMyStreet/App/Controller/Reports.pm:72
msgid "There was a problem showing the All Reports page. Please try again later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:656 perllib/FixMyStreet/App/Controller/Report/Update.pm:125 templates/web/default/auth/general.html:23 templates/web/fixmystreet/auth/general.html:24
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:59
+msgid "There was a problem showing this page. Please try again later."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:733 perllib/FixMyStreet/App/Controller/Report/Update.pm:130 templates/web/default/auth/general.html:23 templates/web/fixmystreet/auth/general.html:24
msgid "There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the &lsquo;sign in by email&rsquo; section of the form."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Alert.pm:351
+#: perllib/FixMyStreet/App/Controller/Alert.pm:355
msgid "There was a problem with your email/password combination. Please try again."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/Update.pm:215
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:252
msgid "There was a problem with your update. Please try again."
msgstr ""
@@ -2136,7 +2220,7 @@ msgstr ""
msgid "There were problems with your report. Please see below."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/Update.pm:242
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:279
msgid "There were problems with your update. Please see below."
msgstr ""
@@ -2144,15 +2228,15 @@ msgstr ""
msgid "This API implementation is work in progress and not yet stabilized. It will change without warnings in the future."
msgstr ""
-#: bin/send-reports:186
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:339
msgid "This email has been sent to both councils covering the location of the problem, as the user did not categorise it; please ignore it if you're not the correct council to deal with the issue, or let us know what category of problem this is so we can add it to our system."
msgstr ""
-#: bin/send-reports:189
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:342
msgid "This email has been sent to several councils covering the location of the problem, as the category selected is provided for all of them; please ignore it if you're not the correct council to deal with the issue."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:778
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:865 perllib/FixMyStreet/Cobrand/UK.pm:62
msgid "This information is required"
msgstr ""
@@ -2172,43 +2256,43 @@ msgstr ""
msgid "This is a summary of all reports on this site; select a particular council to see the reports sent there."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:874
+#: templates/web/default/report/banner.html:15
msgid "This problem has been closed"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:870 perllib/FixMyStreet/Cobrand/EmptyHomes.pm:117 templates/web/default/report/display.html:100 templates/web/fixmystreet/report/display.html:95
+#: templates/web/bromley/report/display.html:96 templates/web/default/report/banner.html:12 templates/web/default/report/display.html:95 templates/web/emptyhomes/report/display.html:12 templates/web/fixmystreet/report/display.html:90
msgid "This problem has been fixed"
msgstr ""
-#: templates/web/default/report/display.html:95 templates/web/fixmystreet/report/display.html:89
+#: templates/web/bromley/report/display.html:90 templates/web/default/report/display.html:90 templates/web/fixmystreet/report/display.html:84
msgid "This problem has not been fixed"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:879
+#: templates/web/default/report/banner.html:19
msgid "This problem is in progress"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:866
+#: templates/web/default/report/banner.html:9
msgid "This problem is old and of unknown status."
msgstr ""
-#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:81
+#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:83
msgid "This report is currently marked as closed."
msgstr ""
-#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:79
+#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:81
msgid "This report is currently marked as fixed."
msgstr ""
-#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:83
+#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:85
msgid "This report is currently marked as open."
msgstr ""
-#: bin/send-reports:72
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:262
msgid "This web page also contains a photo of the problem, provided by the user."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:981 templates/web/default/admin/timeline.html:1
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1024 templates/web/default/admin/timeline.html:1
msgid "Timeline"
msgstr ""
@@ -2224,19 +2308,11 @@ msgstr ""
msgid "To <strong>report a problem</strong>, simply click on the map at the correct location."
msgstr ""
-#: templates/web/fixmystreet/alert/index.html:19
-msgid ""
-"To find out what local alerts we have for you, please enter your GB\n"
-" postcode or street name and area"
-msgstr ""
-
-#: templates/web/default/alert/index.html:21
-msgid ""
-"To find out what local alerts we have for you, please enter your GB\n"
-"postcode or street name and area:"
+#: templates/web/default/alert/index.html:27
+msgid "To find out what local alerts we have for you, please enter your postcode or street name and area"
msgstr ""
-#: bin/send-reports:78
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:268
msgid "To view a map of the precise location of this issue"
msgstr ""
@@ -2252,7 +2328,7 @@ msgstr ""
msgid "Unconfirmed"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/FixMyStreet.pm:16
+#: templates/web/fixmystreet/report/banner.html:9
msgid "Unknown"
msgstr ""
@@ -2264,7 +2340,7 @@ msgstr ""
msgid "Unknown problem ID"
msgstr ""
-#: templates/web/fixmystreet/report/display.html:70
+#: templates/web/bromley/report/display.html:66 templates/web/fixmystreet/report/display.html:65
msgid "Update"
msgstr ""
@@ -2300,15 +2376,15 @@ msgstr ""
msgid "Update reopened problem"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:58
+#: templates/web/default/admin/council_contacts.html:62
msgid "Update statuses"
msgstr ""
-#: templates/web/default/report/display.html:76
+#: templates/web/default/report/display.html:71
msgid "Update:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:649 perllib/FixMyStreet/App/Controller/Admin.pm:766 perllib/FixMyStreet/App/Controller/Admin.pm:846
+#: perllib/FixMyStreet/App/Controller/Admin.pm:694 perllib/FixMyStreet/App/Controller/Admin.pm:809 perllib/FixMyStreet/App/Controller/Admin.pm:889
msgid "Updated!"
msgstr ""
@@ -2320,15 +2396,15 @@ msgstr ""
msgid "Updates on {{title}}"
msgstr ""
-#: templates/web/default/report/display.html:0 templates/web/default/report/display.html:7 templates/web/fixmystreet/report/display.html:0 templates/web/fixmystreet/report/display.html:7
+#: templates/web/bromley/report/display.html:0 templates/web/bromley/report/display.html:8 templates/web/default/report/display.html:0 templates/web/default/report/display.html:7 templates/web/fixmystreet/report/display.html:0 templates/web/fixmystreet/report/display.html:8
msgid "Updates to this problem, FixMyStreet"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1139
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1182
msgid "User flag removed"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1111
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1154
msgid "User flagged"
msgstr ""
@@ -2336,7 +2412,7 @@ msgstr ""
msgid "Users"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:306 perllib/FixMyStreet/App/Controller/Admin.pm:336
+#: perllib/FixMyStreet/App/Controller/Admin.pm:309 perllib/FixMyStreet/App/Controller/Admin.pm:339
msgid "Values updated"
msgstr ""
@@ -2344,6 +2420,10 @@ msgstr ""
msgid "View report on site"
msgstr ""
+#: templates/web/default/reports/council.html:18
+msgid "View reports by ward"
+msgstr ""
+
#: templates/web/emptyhomes/tokens/confirm_problem.html:39
msgid "View your report"
msgstr ""
@@ -2352,23 +2432,19 @@ msgstr ""
msgid "Viewing a location"
msgstr ""
-#: templates/web/default/report/display.html:0 templates/web/emptyhomes/report/display.html:1 templates/web/emptyhomes/report/display.html:2 templates/web/fixmystreet/report/display.html:0
+#: templates/web/bromley/report/display.html:0 templates/web/default/report/display.html:0 templates/web/emptyhomes/report/display.html:2 templates/web/fixmystreet/report/display.html:0
msgid "Viewing a problem"
msgstr ""
-#: templates/web/default/reports/council.html:23 templates/web/default/reports/council.html:74 templates/web/default/reports/council.html:86 templates/web/emptyhomes/reports/council.html:18
+#: templates/web/default/reports/council.html:20 templates/web/emptyhomes/reports/council.html:18
msgid "Wards of this council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:432 perllib/FixMyStreet/Geocode/Bing.pm:48 perllib/FixMyStreet/Geocode/Google.pm:63
-msgid "We do not currently cover Northern Ireland, I'm afraid."
-msgstr ""
-
-#: templates/web/default/alert/choose.html:6 templates/web/default/around/around_index.html:32 templates/web/fixmystreet/alert/choose.html:6 templates/web/fixmystreet/around/around_index.html:35
+#: templates/web/default/alert/choose.html:6 templates/web/default/around/around_index.html:17 templates/web/fixmystreet/around/around_index.html:16
msgid "We found more than one match for that location. We show up to ten matches, please try a different search if yours is not here."
msgstr ""
-#: templates/web/default/auth/token.html:19 templates/web/fixmystreet/auth/token.html:19
+#: templates/web/default/auth/token.html:19
msgid "We have sent you an email containing a link to confirm your account."
msgstr ""
@@ -2376,26 +2452,30 @@ msgstr ""
msgid "We may contact you periodically to ask if anything has changed with the property you reported."
msgstr ""
-#: templates/web/fixmystreet/report/display.html:158
+#: templates/web/bromley/report/display.html:141 templates/web/fixmystreet/report/display.html:153
msgid "We never show your email"
msgstr ""
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:127 templates/web/fixmystreet/report/new/fill_in_details_form.html:184
+#: templates/web/bromley/report/new/fill_in_details_form.html:133 templates/web/bromley/report/new/fill_in_details_form.html:179 templates/web/fixmystreet/report/new/fill_in_details_form.html:130 templates/web/fixmystreet/report/new/fill_in_details_form.html:190
msgid "We never show your email address or phone number."
msgstr ""
-#: bin/send-reports:196
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:349
msgid "We realise this problem might be the responsibility of %s; however, we don't currently have any contact details for them. If you know of an appropriate contact address, please do get in touch."
msgstr ""
-#: templates/web/default/index.html:45 templates/web/emptyhomes/index.html:61 templates/web/fixmystreet/index.html:56
+#: templates/web/default/index.html:34 templates/web/emptyhomes/index.html:59 templates/web/fixmystreet/index.html:45
msgid "We send it to the council on your behalf"
msgstr ""
-#: templates/web/default/report/new/notes.html:5 templates/web/fixmystreet/report/new/notes.html:4
+#: templates/web/bromley/report/new/fill_in_details_form.html:217 templates/web/default/report/new/notes.html:5
msgid "We will only use your personal information in accordance with our <a href=\"/faq#privacy\">privacy policy.</a>"
msgstr ""
+#: templates/web/fixmystreet/report/new/notes.html:4
+msgid "We will only use your personal information in accordance with our <a href=\"/privacy\">privacy policy.</a>"
+msgstr ""
+
#: templates/web/emptyhomes/contact/blurb.html:2
msgid "We&rsquo;d love to hear what you think about this website. Just fill in the form. Please don&rsquo;t contact us about individual empty homes; use the box accessed from <a href=\"/\">the front page</a>."
msgstr ""
@@ -2404,7 +2484,7 @@ msgstr ""
msgid "We'd love to hear what you think about this site. Just fill in the form, or send an email to <a href='mailto:%s'>%s</a>:"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:37 templates/web/default/admin/council_edit.html:41
+#: templates/web/default/admin/council_contacts.html:41 templates/web/default/admin/council_edit.html:41
msgid "When edited"
msgstr ""
@@ -2412,7 +2492,7 @@ msgstr ""
msgid "When sent"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:538
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:612
msgid "Whole block of empty flats"
msgstr ""
@@ -2420,11 +2500,11 @@ msgstr ""
msgid "With request searches, it is also possible to search for agency_responsible to limit the requests to those sent to a single administration. The search term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr ""
-#: templates/web/fixmystreet/footer.html:23
-msgid "Would you like better integration with FixMyStreet? <a href=\"/for-councils\">Find out about FixMyStreet for councils</a>."
+#: templates/web/fixmystreet/footer.html:22
+msgid "Would you like better integration with FixMyStreet? <a href=\"http://www.mysociety.org/for-councils/fixmystreet/\">Find out about FixMyStreet for councils</a>."
msgstr ""
-#: templates/web/fixmystreet/footer.html:19
+#: templates/web/fixmystreet/footer.html:18
msgid "Would you like to contribute to FixMyStreet? Our code is open source and <a href=\"http://github.com/mysociety/fixmystreet\">available on GitHub</a>."
msgstr ""
@@ -2440,11 +2520,11 @@ msgstr ""
msgid "Year"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:44 templates/web/default/admin/council_contacts.html:45 templates/web/default/admin/council_edit.html:5 templates/web/default/admin/list_updates.html:30 templates/web/default/admin/list_updates.html:31 templates/web/default/admin/list_updates.html:32 templates/web/default/admin/problem_row.html:19 templates/web/default/admin/report_edit.html:27 templates/web/default/admin/report_edit.html:40 templates/web/default/admin/search_users.html:23 templates/web/default/admin/update_edit.html:15 templates/web/default/questionnaire/creator_fixed.html:14 templates/web/default/questionnaire/index.html:105 templates/web/default/questionnaire/index.html:66 templates/web/fixmystreet/questionnaire/index.html:60 templates/web/fixmystreet/questionnaire/index.html:99
+#: templates/web/default/admin/council_contacts.html:48 templates/web/default/admin/council_contacts.html:49 templates/web/default/admin/council_edit.html:5 templates/web/default/admin/list_updates.html:30 templates/web/default/admin/list_updates.html:31 templates/web/default/admin/list_updates.html:32 templates/web/default/admin/problem_row.html:19 templates/web/default/admin/report_edit.html:27 templates/web/default/admin/report_edit.html:41 templates/web/default/admin/search_users.html:23 templates/web/default/admin/update_edit.html:15 templates/web/default/questionnaire/creator_fixed.html:14 templates/web/default/questionnaire/index.html:105 templates/web/default/questionnaire/index.html:66 templates/web/fixmystreet/questionnaire/index.html:60 templates/web/fixmystreet/questionnaire/index.html:99
msgid "Yes"
msgstr ""
-#: templates/web/fixmystreet/report/display.html:138 templates/web/fixmystreet/report/new/fill_in_details_form.html:153
+#: templates/web/bromley/report/display.html:155 templates/web/bromley/report/new/fill_in_details_form.html:198 templates/web/fixmystreet/report/display.html:133 templates/web/fixmystreet/report/new/fill_in_details_form.html:156
msgid "Yes I have a password"
msgstr ""
@@ -2464,7 +2544,7 @@ msgstr ""
msgid "You can <a href=\"/reports\">show all councils</a>."
msgstr ""
-#: templates/web/default/report/new/councils_text_none.html:14 templates/web/default/report/new/councils_text_none.html:16 templates/web/default/report/new/councils_text_some.html:20 templates/web/default/report/new/councils_text_some.html:22 templates/web/fixmystreet/report/new/councils_text_none.html:12 templates/web/fixmystreet/report/new/councils_text_none.html:14 templates/web/fixmystreet/report/new/councils_text_some.html:20 templates/web/fixmystreet/report/new/councils_text_some.html:22
+#: templates/web/default/report/new/councils_text_none.html:14 templates/web/default/report/new/councils_text_none.html:16 templates/web/default/report/new/councils_text_some.html:20 templates/web/default/report/new/councils_text_some.html:22
msgid "You can help us by finding a contact email address for local problems for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
msgstr ""
@@ -2472,19 +2552,19 @@ msgstr ""
msgid "You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
msgstr ""
-#: templates/web/default/questionnaire/index.html:92 templates/web/default/report/new/fill_in_details_form.html:93 templates/web/fixmystreet/questionnaire/index.html:87 templates/web/fixmystreet/report/new/fill_in_details_form.html:101
+#: templates/web/bromley/report/new/fill_in_details_form.html:97 templates/web/default/questionnaire/index.html:92 templates/web/default/report/new/fill_in_details_form.html:93 templates/web/fixmystreet/questionnaire/index.html:87 templates/web/fixmystreet/report/new/fill_in_details_form.html:101
msgid "You have already attached a photo to this report, attaching another one will replace it."
msgstr ""
-#: templates/web/default/report/display.html:111 templates/web/fixmystreet/report/display.html:105
+#: templates/web/bromley/report/display.html:106 templates/web/default/report/display.html:106 templates/web/fixmystreet/report/display.html:100
msgid "You have already attached a photo to this update, attaching another one will replace it."
msgstr ""
-#: templates/web/default/auth/sign_out.html:3 templates/web/fixmystreet/auth/sign_out.html:3
+#: templates/web/default/auth/sign_out.html:3
msgid "You have been signed out"
msgstr ""
-#: templates/web/default/report/new/fill_in_details_form.html:7 templates/web/fixmystreet/report/new/fill_in_details_form.html:27
+#: templates/web/bromley/report/new/fill_in_details_form.html:25 templates/web/default/report/new/fill_in_details_form.html:7 templates/web/fixmystreet/report/new/fill_in_details_form.html:27
msgid "You have located the problem at the point marked with a green pin on the map. If this is not the correct location, simply click on the map again. "
msgstr ""
@@ -2492,7 +2572,7 @@ msgstr ""
msgid "You have successfully confirmed your alert."
msgstr ""
-#: templates/web/default/tokens/confirm_problem.html:6 templates/web/default/tokens/confirm_problem.html:7
+#: templates/web/default/tokens/confirm_problem.html:14 templates/web/default/tokens/confirm_problem.html:15
msgid "You have successfully confirmed your problem"
msgstr ""
@@ -2508,7 +2588,7 @@ msgstr ""
msgid "You have successfully deleted your alert."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:662 perllib/FixMyStreet/App/Controller/Report/Update.pm:131
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:740 perllib/FixMyStreet/App/Controller/Report/Update.pm:136
msgid "You have successfully signed in; please check and confirm your details are accurate:"
msgstr ""
@@ -2524,11 +2604,11 @@ msgstr ""
msgid "Your Reports"
msgstr ""
-#: templates/web/fixmystreet/alert/_list.html:85 templates/web/fixmystreet/alert/updates.html:19 templates/web/fixmystreet/alert/updates.html:22 templates/web/fixmystreet/contact/index.html:72 templates/web/fixmystreet/report/display.html:39 templates/web/fixmystreet/report/display.html:41 templates/web/fixmystreet/report/new/fill_in_details_form.html:139
+#: templates/web/bromley/report/display.html:41 templates/web/bromley/report/display.html:43 templates/web/bromley/report/new/fill_in_details_form.html:145 templates/web/fixmystreet/alert/_list.html:89 templates/web/fixmystreet/alert/updates.html:19 templates/web/fixmystreet/alert/updates.html:22 templates/web/fixmystreet/contact/index.html:72 templates/web/fixmystreet/report/display.html:34 templates/web/fixmystreet/report/display.html:36 templates/web/fixmystreet/report/new/fill_in_details_form.html:142
msgid "Your email"
msgstr ""
-#: templates/web/fixmystreet/auth/general.html:26 templates/web/fixmystreet/report/display.html:129
+#: templates/web/bromley/report/display.html:130 templates/web/fixmystreet/auth/general.html:26 templates/web/fixmystreet/report/display.html:124
msgid "Your email address"
msgstr ""
@@ -2536,35 +2616,47 @@ msgstr ""
msgid "Your email address:"
msgstr ""
-#: templates/web/default/alert/list.html:120 templates/web/default/report/display.html:133 templates/web/default/report/new/fill_in_details_form.html:124
+#: templates/web/default/alert/_list.html:92 templates/web/default/report/display.html:128 templates/web/default/report/new/fill_in_details_form.html:124
msgid "Your email:"
msgstr ""
-#: templates/web/fixmystreet/auth/general.html:53 templates/web/fixmystreet/contact/index.html:65 templates/web/fixmystreet/report/display.html:185 templates/web/fixmystreet/report/new/fill_in_details_form.html:118 templates/web/fixmystreet/report/new/fill_in_details_form.html:175
+#: templates/web/bromley/report/display.html:193 templates/web/bromley/report/new/fill_in_details_form.html:117 templates/web/bromley/report/new/fill_in_details_form.html:164
+msgid "Your first name"
+msgstr ""
+
+#: templates/web/fixmystreet/report/updates-sidebar-notes.html:5
+msgid "Your information will only be used in accordance with our <a href=\"/privacy\">privacy policy</a>"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:199 templates/web/bromley/report/new/fill_in_details_form.html:123 templates/web/bromley/report/new/fill_in_details_form.html:170
+msgid "Your last name"
+msgstr ""
+
+#: templates/web/fixmystreet/auth/general.html:53 templates/web/fixmystreet/contact/index.html:65 templates/web/fixmystreet/report/display.html:181 templates/web/fixmystreet/report/new/fill_in_details_form.html:121 templates/web/fixmystreet/report/new/fill_in_details_form.html:181
msgid "Your name"
msgstr ""
-#: templates/web/default/auth/general.html:59 templates/web/default/contact/index.html:68 templates/web/default/report/display.html:207 templates/web/default/report/new/fill_in_details_form.html:203
+#: templates/web/default/auth/general.html:59 templates/web/default/contact/index.html:68 templates/web/default/report/display.html:202 templates/web/default/report/new/fill_in_details_form.html:203
msgid "Your name:"
msgstr ""
-#: templates/web/fixmystreet/auth/general.html:37 templates/web/fixmystreet/report/display.html:143 templates/web/fixmystreet/report/new/fill_in_details_form.html:158
+#: templates/web/bromley/report/display.html:160 templates/web/bromley/report/new/fill_in_details_form.html:203 templates/web/fixmystreet/auth/general.html:37 templates/web/fixmystreet/report/display.html:138 templates/web/fixmystreet/report/new/fill_in_details_form.html:161
msgid "Your password"
msgstr ""
-#: templates/web/default/auth/change_password.html:6 templates/web/fixmystreet/auth/change_password.html:6
+#: templates/web/default/auth/change_password.html:6
msgid "Your password has been changed"
msgstr ""
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:131 templates/web/fixmystreet/report/new/fill_in_details_form.html:189
+#: templates/web/bromley/report/new/fill_in_details_form.html:137 templates/web/bromley/report/new/fill_in_details_form.html:184 templates/web/fixmystreet/report/new/fill_in_details_form.html:134 templates/web/fixmystreet/report/new/fill_in_details_form.html:195
msgid "Your phone number"
msgstr ""
-#: templates/web/fixmystreet/questionnaire/index.html:16
+#: templates/web/fixmystreet/questionnaire/index.html:15
msgid "Your report"
msgstr ""
-#: templates/web/bromley/footer.html:35 templates/web/default/footer.html:9 templates/web/fiksgatami/footer.html:6 templates/web/fiksgatami/nn/footer.html:6 templates/web/fixmystreet/footer.html:47 templates/web/reading/footer.html:7
+#: templates/web/barnet/footer.html:18 templates/web/bromley/footer.html:19 templates/web/bromley/header.html:75 templates/web/default/footer.html:9 templates/web/fiksgatami/footer.html:6 templates/web/fiksgatami/nn/footer.html:6 templates/web/fixmystreet/footer.html:47 templates/web/reading/footer.html:7
msgid "Your reports"
msgstr ""
@@ -2580,7 +2672,7 @@ msgstr ""
msgid "by %s"
msgstr ""
-#: templates/web/default/reports/council.html:6 templates/web/default/reports/council.html:7 templates/web/emptyhomes/reports/council.html:6 templates/web/emptyhomes/reports/council.html:7
+#: templates/web/default/reports/council.html:12 templates/web/default/reports/council.html:13 templates/web/emptyhomes/reports/council.html:6 templates/web/emptyhomes/reports/council.html:7
msgid "council"
msgstr ""
@@ -2588,7 +2680,7 @@ msgstr ""
msgid "didn't use map"
msgstr ""
-#: templates/web/fixmystreet/alert/index.html:24 templates/web/fixmystreet/index.html:41
+#: templates/web/default/alert/index.html:33 templates/web/fixmystreet/around/postcode_form.html:17
msgid "e.g. ‘%s’ or ‘%s’"
msgstr ""
@@ -2596,23 +2688,23 @@ msgstr ""
msgid "from %d different users"
msgstr ""
-#: perllib/Utils.pm:248
+#: perllib/Utils.pm:289
msgid "less than a minute"
msgstr ""
-#: templates/web/default/report/updates.html:24
+#: templates/web/default/report/updates.html:27
msgid "marked as %s"
msgstr ""
-#: templates/web/default/report/updates.html:22
+#: templates/web/default/report/updates.html:25
msgid "marked as fixed"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:109 templates/web/default/admin/questionnaire.html:15 templates/web/default/admin/questionnaire.html:16
+#: perllib/FixMyStreet/App/Controller/Admin.pm:112 templates/web/default/admin/questionnaire.html:15 templates/web/default/admin/questionnaire.html:16
msgid "n/a"
msgstr ""
-#: templates/web/default/alert/list.html:114 templates/web/fixmystreet/alert/_list.html:81
+#: templates/web/default/alert/_list.html:87 templates/web/fixmystreet/alert/_list.html:85
msgid "or"
msgstr ""
@@ -2624,27 +2716,31 @@ msgstr ""
msgid "other areas:"
msgstr ""
-#: templates/web/default/report/updates.html:23
+#: templates/web/default/report/updates.html:26
msgid "reopened"
msgstr ""
-#: templates/web/bromley/header.html:47 templates/web/fixmystreet/header.html:47
+#: templates/web/barnet/header.html:71 templates/web/bromley/header.html:100 templates/web/bromley/header.html:65 templates/web/fixmybarangay/header.html.orig:43 templates/web/fixmystreet/header.html:48 templates/web/zurich/header.html:48
msgid "sign out"
msgstr ""
-#: templates/web/default/report/new/fill_in_details_form.html:11 templates/web/default/report/new/fill_in_details_form.html:14 templates/web/fixmystreet/report/new/fill_in_details_form.html:6 templates/web/fixmystreet/report/new/fill_in_details_form.html:9
+#: templates/web/bromley/report/new/fill_in_details_form.html:4 templates/web/bromley/report/new/fill_in_details_form.html:7 templates/web/default/report/new/fill_in_details_form.html:11 templates/web/default/report/new/fill_in_details_form.html:14 templates/web/fixmystreet/report/new/fill_in_details_form.html:6 templates/web/fixmystreet/report/new/fill_in_details_form.html:9
msgid "the local council"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:534
+#: perllib/FixMyStreet/DB/Result/Problem.pm:541
msgid "the map was not used so pin location may be inaccurate"
msgstr ""
-#: bin/send-reports:177
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
+msgid "their ref:&nbsp;%s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:330
msgid "this type of local problem"
msgstr ""
-#: perllib/Utils.pm:222
+#: perllib/Utils.pm:263
msgid "today"
msgstr ""
@@ -2660,7 +2756,7 @@ msgstr ""
msgid "user is problem owner"
msgstr ""
-#: templates/web/default/reports/council.html:0 templates/web/default/reports/council.html:3 templates/web/emptyhomes/reports/council.html:0 templates/web/emptyhomes/reports/council.html:3
+#: templates/web/default/reports/council.html:0 templates/web/default/reports/council.html:9 templates/web/emptyhomes/reports/council.html:0 templates/web/emptyhomes/reports/council.html:3
msgid "ward"
msgstr ""
@@ -2688,17 +2784,17 @@ msgstr ""
msgid "your update will not be posted"
msgstr ""
-#: templates/web/emptyhomes/front/stats.html:17
+#: templates/web/emptyhomes/report/new/councils_text_none.html:3
#, perl-format
-msgid "<big>%s</big> report recently"
-msgid_plural "<big>%s</big> reports recently"
+msgid "We do not yet have details for the council that covers this location."
+msgid_plural "We do not yet have details for the councils that cover this location."
msgstr[0] ""
msgstr[1] ""
-#: templates/web/emptyhomes/report/new/councils_text_none.html:3
+#: templates/web/emptyhomes/front/stats.html:17
#, perl-format
-msgid "We do not yet have details for the council that covers this location."
-msgid_plural "We do not yet have details for the councils that cover this location."
+msgid "<big>%s</big> report recently"
+msgid_plural "<big>%s</big> reports recently"
msgstr[0] ""
msgstr[1] ""
@@ -2716,16 +2812,16 @@ msgid_plural "<big>%s</big> fixed in past month"
msgstr[0] ""
msgstr[1] ""
-#: templates/web/default/front/stats.html:29
+#: templates/web/default/report/new/councils_text_some.html:14
#, perl-format
-msgid "<big>%s</big> update on reports"
-msgid_plural "<big>%s</big> updates on reports"
+msgid "We do <strong>not</strong> yet have details for the other council that covers this location."
+msgid_plural "We do <strong>not</strong> yet have details for the other councils that cover this location."
msgstr[0] ""
msgstr[1] ""
-#: templates/web/fixmystreet/report/new/councils_text_some.html:14
+#: templates/web/default/front/stats.html:29
#, perl-format
-msgid "We do <strong>not</strong> yet have details for the other council that covers this location."
-msgid_plural "We do <strong>not</strong> yet have details for the other councils that cover this location."
+msgid "<big>%s</big> update on reports"
+msgid_plural "<big>%s</big> updates on reports"
msgstr[0] ""
msgstr[1] ""
diff --git a/locale/cy_GB.UTF-8/LC_MESSAGES/.gitignore b/locale/cy_GB.UTF-8/LC_MESSAGES/.gitignore
deleted file mode 100644
index 49b8fd52e..000000000
--- a/locale/cy_GB.UTF-8/LC_MESSAGES/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/*.mo
-/FixMyStreet-EmptyHomes.po
diff --git a/locale/cy_GB.UTF-8/LC_MESSAGES/EmptyHomes.po b/locale/cy_GB.UTF-8/LC_MESSAGES/EmptyHomes.po
index a021bf46c..be85a97c5 100644
--- a/locale/cy_GB.UTF-8/LC_MESSAGES/EmptyHomes.po
+++ b/locale/cy_GB.UTF-8/LC_MESSAGES/EmptyHomes.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2012-03-28 19:23+0100\n"
+"POT-Creation-Date: 2012-08-21 09:54+0100\n"
"PO-Revision-Date: 2009-07-10 14:20-0000\n"
"Last-Translator: Mark Smith <Mark.Smith@trosol.co.uk>\n"
"Language-Team: mySociety\n"
@@ -20,16 +20,18 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-#: bin/send-reports:184 perllib/FixMyStreet/DB/Result/Problem.pm:549
+#: perllib/FixMyStreet/DB/Result/Problem.pm:555
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:337
msgid " and "
msgstr ""
-#: templates/web/default/tokens/confirm_problem.html:10
-#: templates/web/default/tokens/confirm_problem.html:6
+#: templates/web/default/tokens/confirm_problem.html:14
+#: templates/web/default/tokens/confirm_problem.html:18
msgid " and <strong>we will now send it to the council</strong>"
msgstr " a <strong>byddwn nawr yn ei anfon at y cyngor</strong>"
#: templates/web/default/report/new/councils_text_all.html:10
+#: templates/web/default/report/new/councils_text_all.html:17
#: templates/web/default/report/new/councils_text_all.html:3
#: templates/web/default/report/new/councils_text_none.html:14
#: templates/web/default/report/new/councils_text_none.html:17
@@ -37,13 +39,6 @@ msgstr " a <strong>byddwn nawr yn ei anfon at y cyngor</strong>"
#: templates/web/default/report/new/councils_text_some.html:23
#: templates/web/default/report/new/councils_text_some.html:5
#: templates/web/emptyhomes/report/new/councils_text_all.html:2
-#: templates/web/fixmystreet/report/new/councils_text_all.html:10
-#: templates/web/fixmystreet/report/new/councils_text_all.html:3
-#: templates/web/fixmystreet/report/new/councils_text_none.html:12
-#: templates/web/fixmystreet/report/new/councils_text_none.html:15
-#: templates/web/fixmystreet/report/new/councils_text_some.html:20
-#: templates/web/fixmystreet/report/new/councils_text_some.html:23
-#: templates/web/fixmystreet/report/new/councils_text_some.html:5
#, fuzzy
msgid " or "
msgstr "neu"
@@ -61,12 +56,12 @@ msgstr ""
msgid "%d council contacts &ndash; %d confirmed, %d unconfirmed"
msgstr ""
-#: perllib/Utils.pm:252
+#: perllib/Utils.pm:293
#, fuzzy
msgid "%d day"
msgstr "diwrnod"
-#: perllib/Utils.pm:252
+#: perllib/Utils.pm:293
#, fuzzy
msgid "%d days"
msgstr "diwrnod"
@@ -75,12 +70,12 @@ msgstr "diwrnod"
msgid "%d edits by %s"
msgstr ""
-#: perllib/Utils.pm:253
+#: perllib/Utils.pm:294
#, fuzzy
msgid "%d hour"
msgstr "awr"
-#: perllib/Utils.pm:253
+#: perllib/Utils.pm:294
#, fuzzy
msgid "%d hours"
msgstr "awr"
@@ -90,12 +85,12 @@ msgstr "awr"
msgid "%d live updates"
msgstr "Anfonwch ddiweddariadau ataf i drwy'r e-bost"
-#: perllib/Utils.pm:254
+#: perllib/Utils.pm:295
#, fuzzy
msgid "%d minute"
msgstr "munud"
-#: perllib/Utils.pm:254
+#: perllib/Utils.pm:295
#, fuzzy
msgid "%d minutes"
msgstr "munud"
@@ -104,38 +99,40 @@ msgstr "munud"
msgid "%d questionnaires sent &ndash; %d answered (%s%%)"
msgstr ""
-#: perllib/Utils.pm:251
+#: perllib/Utils.pm:292
#, fuzzy
msgid "%d week"
msgstr "wythnos"
-#: perllib/Utils.pm:251
+#: perllib/Utils.pm:292
#, fuzzy
msgid "%d weeks"
msgstr "wythnos"
#: templates/web/default/reports/council.html:0
-#: templates/web/default/reports/council.html:14
+#: templates/web/default/reports/council.html:26
#: templates/web/emptyhomes/reports/council.html:11
#: templates/web/emptyhomes/reports/council.html:13
msgid "%s - Summary reports"
msgstr "%s - Adroddiadau cryno"
-#: perllib/FixMyStreet/Cobrand/Default.pm:792
-#: perllib/FixMyStreet/Cobrand/Default.pm:806
+#: perllib/FixMyStreet/DB/Result/Problem.pm:605
+msgid "%s ref:&nbsp;%s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:288 perllib/FixMyStreet/Cobrand/UK.pm:300
msgid "%s ward, %s"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:480
+#: perllib/FixMyStreet/DB/Result/Problem.pm:488
msgid "%s, reported anonymously at %s"
msgstr "Rhoddodd %s wybod yn ddi-enw am %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:482
+#: perllib/FixMyStreet/DB/Result/Problem.pm:490
msgid "%s, reported by %s at %s"
msgstr "Adroddwyd am %s gan %s am %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:823
-#: perllib/FixMyStreet/Cobrand/Default.pm:837
+#: perllib/FixMyStreet/Cobrand/UK.pm:315 perllib/FixMyStreet/Cobrand/UK.pm:327
#, fuzzy
msgid "%s, within %s ward"
msgstr "Eiddo gwag yn ward %s"
@@ -153,31 +150,35 @@ msgstr ""
msgid "(Email in abuse table)"
msgstr ""
-#: templates/web/default/alert/list.html:51
+#: templates/web/default/alert/_list.html:20
#: templates/web/fixmystreet/alert/_list.html:24
msgid "(a default distance which covers roughly 200,000 people)"
msgstr "(pellter rhagosodedig sy'n cynnwys tua 200,000 o bobl)"
-#: templates/web/default/alert/list.html:56
+#: templates/web/default/alert/_list.html:25
#: templates/web/fixmystreet/alert/_list.html:28
msgid "(alternatively the RSS feed can be customised, within"
msgstr "(fel arall, gellir addasu'r porthiant RSS yn bersonol, o fewn"
+#: templates/web/default/around/around_map_list_items.html:12
+#: templates/web/default/around/on_map_list_items.html:9
+#: templates/web/fixmystreet/report/_item.html:23
+msgid "(closed)"
+msgstr ""
+
#: templates/web/default/around/around_map_list_items.html:10
#: templates/web/default/around/on_map_list_items.html:7
-#: templates/web/default/reports/council.html:134
-#: templates/web/fixmystreet/around/around_map_list_items.html:12
-#: templates/web/fixmystreet/around/on_map_list_items.html:9
+#: templates/web/fixmystreet/report/_item.html:21
msgid "(returned to use)"
msgstr "(wedi'i adfer i'w ddefnyddio)"
#: templates/web/default/index.html:12 templates/web/default/index.html:8
-#: templates/web/fixmystreet/index.html:30
+#: templates/web/fixmystreet/around/postcode_form.html:7
msgid " "
msgstr " "
-#: templates/web/default/reports/council.html:131
-#: templates/web/default/reports/council.html:152
+#: templates/web/default/reports/_list-entry.html:4
+#: templates/web/fixmystreet/report/_item.html:17
#, fuzzy
msgid "(not sent to council)"
msgstr "Ni roddwyd gwybod i'r cyngor am hyn"
@@ -186,8 +187,8 @@ msgstr "Ni roddwyd gwybod i'r cyngor am hyn"
msgid "(optional)"
msgstr "(dewisol)"
-#: templates/web/default/reports/council.html:130
-#: templates/web/default/reports/council.html:150
+#: templates/web/default/reports/_list-entry.html:2
+#: templates/web/fixmystreet/report/_item.html:16
#, fuzzy
msgid "(sent to both)"
msgstr "Ni roddwyd gwybod i'r cyngor am hyn"
@@ -196,33 +197,34 @@ msgstr "Ni roddwyd gwybod i'r cyngor am hyn"
msgid "(we never show your email address or phone number)"
msgstr "(nid ydym byth yn dangos eich cyfeiriad e-bost na'ch rhif ffôn)"
-#: templates/web/default/report/display.html:214
+#: templates/web/default/report/display.html:209
#, fuzzy
msgid "(we never show your email)"
msgstr "(nid ydym byth yn dangos eich cyfeiriad e-bost na'ch rhif ffôn)"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:281
+#: perllib/FixMyStreet/App/Controller/Admin.pm:284
msgid "*unknown*"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:549
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:581
-#: perllib/FixMyStreet/DB/Result/Problem.pm:337
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:629
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:655
+#: perllib/FixMyStreet/DB/Result/Problem.pm:345
#, fuzzy
msgid "-- Pick a category --"
msgstr "-- Dewiswch fath o eiddo --"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:535
-#: perllib/FixMyStreet/DB/Result/Problem.pm:343
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:609
+#: perllib/FixMyStreet/DB/Result/Problem.pm:351
msgid "-- Pick a property type --"
msgstr "-- Dewiswch fath o eiddo --"
#: templates/web/default/tokens/confirm_problem.html:14
-#: templates/web/default/tokens/confirm_problem.html:6
-msgid ". You can <a href=\"%s\">view the empty property on this site</a>."
+#: templates/web/default/tokens/confirm_problem.html:22
+#, fuzzy
+msgid ". You can <a href=\"%s%s\">view the empty property on this site</a>."
msgstr ". Gallwch <a href=\"%s\">weld yr eiddo gwag ar y safle hwn</a>."
-#: templates/web/default/questionnaire/completed.html:25
+#: templates/web/default/questionnaire/completed.html:20
#, fuzzy
msgid ""
"<p style=\"font-size:150%\">Thank you very much for filling in our "
@@ -231,16 +233,59 @@ msgstr ""
"<p style=\"font-size:150%\">Diolch yn fawr am lenwi'n holiadur; rydym yn "
"falch o glywed ei fod wedi'i adfer i'w ddefnyddio.</p>\n"
-#: templates/web/default/questionnaire/completed.html:15
+#: templates/web/fiksgatami/questionnaire/completed-open.html:1
#, fuzzy
msgid ""
-"<p style=\"font-size:150%%\">We&rsquo;re sorry to hear that. We have two "
-"suggestions: why not try\n"
-"<a href=\"%s\">writing direct to your councillor(s)</a>\n"
-"or, if it&rsquo;s an empty property that could be returned to use by local "
-"people working together,\n"
-"why not <a href=\"http://www.pledgebank.com/new\">make and publicise a "
-"pledge</a>?\n"
+"<p style=\"font-size:150%\">We&rsquo;re sorry to hear that. We have two\n"
+"suggestions: why not try <a href=\"http://www.norge.no/styresmakter/"
+"\">writing\n"
+"direct to your councillor(s)</a> or, if it&rsquo;s an empty property that "
+"could be\n"
+"returned to use by local people working together, why not\n"
+"<a href=\"http://www.pledgebank.com/new\">make and publicise a pledge</a>?\n"
+"</p>"
+msgstr ""
+"<p style=\"font-size:150%\">Mae'n flin gennym glywed hynny. Mae gennym ddau "
+"awgrym: beth am roi cynnig ar\n"
+"<a href=\"http://www.writetothem.com/\">ysgrifennu'n uniongyrchol at eich "
+"cynghorwr(wyr)</a>\n"
+"neu, os yw'n eiddo gwag y gallai pobl leol gydweithio er mwyn ei adfer i'w "
+"ddefnyddio,\n"
+"beth am <a href=\"http://www.pledgebank.com/new\">wneud adduned a'i "
+"chyhoeddi</a>?\n"
+"</p>\n"
+
+#: templates/web/fixmystreet/questionnaire/completed-open.html:1
+#, fuzzy
+msgid ""
+"<p style=\"font-size:150%\">We&rsquo;re sorry to hear that. We have two\n"
+"suggestions: why not try <a href=\"http://www.writetothem.com/\">writing "
+"direct\n"
+"to your councillor(s)</a> or, if it&rsquo;s an empty property that could be "
+"returned to use by\n"
+"local people working together, why not\n"
+"<a href=\"http://www.pledgebank.com/new\">make and publicise a pledge</a>?\n"
+"</p>"
+msgstr ""
+"<p style=\"font-size:150%\">Mae'n flin gennym glywed hynny. Mae gennym ddau "
+"awgrym: beth am roi cynnig ar\n"
+"<a href=\"http://www.writetothem.com/\">ysgrifennu'n uniongyrchol at eich "
+"cynghorwr(wyr)</a>\n"
+"neu, os yw'n eiddo gwag y gallai pobl leol gydweithio er mwyn ei adfer i'w "
+"ddefnyddio,\n"
+"beth am <a href=\"http://www.pledgebank.com/new\">wneud adduned a'i "
+"chyhoeddi</a>?\n"
+"</p>\n"
+
+#: templates/web/default/questionnaire/completed-open.html:1
+#, fuzzy
+msgid ""
+"<p style=\"font-size:150%\">We&rsquo;re sorry to hear that. We have two\n"
+"suggestions: why not try writing to your local representative or, if "
+"it&rsquo;s\n"
+"an empty property that could be returned to use by local people working "
+"together, why not\n"
+"<a href=\"http://www.pledgebank.com/new\">make and publicise a pledge</a>?\n"
"</p>"
msgstr ""
"<p style=\"font-size:150%\">Mae'n flin gennym glywed hynny. Mae gennym ddau "
@@ -348,12 +393,12 @@ msgstr ""
msgid "<strong>%d</strong> live empty properties"
msgstr "Adrodd am eiddo gwag a gweld y rhain"
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:169
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:172
#, fuzzy
msgid "<strong>No</strong> Let me confirm my report by email"
msgstr "Adrodd am eiddo gwag a gweld y rhain"
-#: templates/web/fixmystreet/report/display.html:153
+#: templates/web/fixmystreet/report/display.html:148
#, fuzzy
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "Adrodd am eiddo gwag a gweld y rhain"
@@ -372,18 +417,18 @@ msgstr ""
msgid "<strong>No</strong>, let me confirm my report by email:"
msgstr "Adrodd am eiddo gwag a gweld y rhain"
-#: templates/web/default/report/display.html:169
+#: templates/web/default/report/display.html:164
#, fuzzy
msgid "<strong>No</strong>, let me confirm my update by email:"
msgstr "Adrodd am eiddo gwag a gweld y rhain"
#: templates/web/default/auth/general.html:37
-#: templates/web/default/report/display.html:147
+#: templates/web/default/report/display.html:142
#: templates/web/default/report/new/fill_in_details_form.html:140
#: templates/web/fixmystreet/auth/general.html:32
#: templates/web/fixmystreet/auth/general.html:34
-#: templates/web/fixmystreet/report/display.html:136
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:151
+#: templates/web/fixmystreet/report/display.html:131
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:154
#, fuzzy
msgid "<strong>Yes</strong> I have a password"
msgstr "Adrodd am eiddo gwag a gweld y rhain"
@@ -396,7 +441,7 @@ msgstr "Adrodd am eiddo gwag a gweld y rhain"
msgid "About us"
msgstr "Amdanom ni"
-#: templates/web/default/admin/council_contacts.html:62
+#: templates/web/default/admin/council_contacts.html:66
msgid "Add new category"
msgstr ""
@@ -405,7 +450,6 @@ msgid "Added %s"
msgstr ""
#: templates/web/default/auth/change_password.html:29
-#: templates/web/fixmystreet/auth/change_password.html:29
msgid "Again:"
msgstr ""
@@ -417,8 +461,9 @@ msgstr ""
msgid "Alert %d disabled (created %s)"
msgstr ""
-#: templates/web/default/report/display.html:219
-#: templates/web/fixmystreet/report/display.html:193
+#: templates/web/bromley/report/display.html:207
+#: templates/web/default/report/display.html:214
+#: templates/web/fixmystreet/report/display.html:189
msgid "Alert me to future updates"
msgstr "Rhowch wybod i mi am ddiweddariadau yn y dyfodol"
@@ -435,7 +480,8 @@ msgstr "Adroddiadau"
msgid "All confirmed"
msgstr ""
-#: templates/web/bromley/footer.html:37 templates/web/default/footer.html:11
+#: templates/web/barnet/footer.html:20 templates/web/bromley/footer.html:21
+#: templates/web/bromley/header.html:77 templates/web/default/footer.html:11
#: templates/web/fiksgatami/footer.html:7
#: templates/web/fiksgatami/nn/footer.html:7
#: templates/web/fixmystreet/footer.html:49
@@ -444,14 +490,23 @@ msgid "Reports"
msgstr "Adroddiadau"
#: templates/web/default/report/new/councils_text_some.html:2
-#: templates/web/fixmystreet/report/new/councils_text_some.html:2
msgid "All the information you provide here will be sent to"
msgstr ""
+#: templates/web/default/report/new/councils_text_all.html:10
+#: templates/web/default/report/new/councils_text_all.html:12
+#, fuzzy
+msgid ""
+"All the information you provide here will be sent to <strong>%s</strong> or "
+"<strong>Roads Service</strong>."
+msgstr ""
+"Bydd yr holl wybodaeth a ddarperir gennych yma'n cael ei hanfon at <strong>"
+"%s</strong>.\n"
+"Ar y safle, byddwn yn dangos pwnc a manylion yr eiddo gwag,\n"
+"ynghyd â'ch enw os ydych yn rhoi caniatâd i ni."
+
#: templates/web/default/report/new/councils_text_all.html:3
#: templates/web/default/report/new/councils_text_all.html:5
-#: templates/web/fixmystreet/report/new/councils_text_all.html:3
-#: templates/web/fixmystreet/report/new/councils_text_all.html:5
#, fuzzy
msgid ""
"All the information you provide here will be sent to <strong>%s</strong> or "
@@ -463,12 +518,12 @@ msgstr ""
"Ar y safle, byddwn yn dangos pwnc a manylion yr eiddo gwag,\n"
"ynghyd â'ch enw os ydych yn rhoi caniatâd i ni."
-#: templates/web/default/report/new/councils_text_all.html:10
-#: templates/web/default/report/new/councils_text_all.html:12
+#: templates/web/bromley/report/new/fill_in_details_form.html:4
+#: templates/web/bromley/report/new/fill_in_details_form.html:6
+#: templates/web/default/report/new/councils_text_all.html:17
+#: templates/web/default/report/new/councils_text_all.html:19
#: templates/web/default/report/new/fill_in_details_form.html:11
#: templates/web/default/report/new/fill_in_details_form.html:13
-#: templates/web/fixmystreet/report/new/councils_text_all.html:10
-#: templates/web/fixmystreet/report/new/councils_text_all.html:12
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:6
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:8
msgid ""
@@ -513,11 +568,11 @@ msgid ""
"reportemptyhomes.com?"
msgstr ""
-#: templates/web/fixmystreet/footer.html:18
+#: templates/web/fixmystreet/footer.html:17
msgid "Are you a developer?"
msgstr ""
-#: templates/web/fixmystreet/footer.html:22
+#: templates/web/fixmystreet/footer.html:21
#, fuzzy
msgid "Are you from a council?"
msgstr "Ni roddwyd gwybod i'r cyngor am hyn"
@@ -549,15 +604,18 @@ msgstr ""
msgid "By Date"
msgstr ""
-#: templates/web/fixmystreet/around/display_location.html:75
-#: templates/web/fixmystreet/around/display_location.html:77
+#: templates/web/fixmystreet/around/display_location.html:80
+#: templates/web/fixmystreet/around/display_location.html:82
#, fuzzy
msgid "Can't see the map? <a href='%s' rel='nofollow'>Skip this step</a>"
msgstr ""
"<small>Os na allwch weld y map, <a href='%s' rel='nofollow'>ewch heibio\n"
" i'r cam hwn</a>.</small>"
-#: templates/web/default/admin/council_contacts.html:31
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:632
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:657
+#: templates/web/bromley/report/new/fill_in_details_form.html:68
+#: templates/web/default/admin/council_contacts.html:35
#: templates/web/default/admin/index.html:36
#: templates/web/default/admin/list_flagged.html:14
#: templates/web/default/admin/search_reports.html:17
@@ -570,16 +628,14 @@ msgstr "Categori:"
msgid "Category fix rate for empty properties > 4 weeks old"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:552
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:582
-#: templates/web/default/admin/council_contacts.html:68
+#: templates/web/default/admin/council_contacts.html:72
#: templates/web/default/admin/council_edit.html:23
#: templates/web/default/admin/report_edit.html:25
#: templates/web/default/report/new/fill_in_details_form.html:67
msgid "Category:"
msgstr "Categori:"
-#: bin/send-reports:181
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:334
#, fuzzy
msgid "Category: %s"
msgstr "Categori:"
@@ -587,28 +643,30 @@ msgstr "Categori:"
#: templates/web/default/auth/change_password.html:1
#: templates/web/default/auth/change_password.html:3
#: templates/web/default/auth/change_password.html:33
-#: templates/web/fixmystreet/auth/change_password.html:1
-#: templates/web/fixmystreet/auth/change_password.html:3
-#: templates/web/fixmystreet/auth/change_password.html:33
msgid "Change Password"
msgstr ""
#: templates/web/fixmystreet/around/display_location.html:72
+#: templates/web/fixmystreet/around/display_location.html:73
#, fuzzy
msgid "Click map to report an empty property"
msgstr "Sut i roi gwybod am eiddo gwag"
-#: perllib/FixMyStreet/Cobrand/FixMyStreet.pm:24
+#: templates/web/bromley/report/display.html:80
+#: templates/web/bromley/report/display.html:82
#: templates/web/default/admin/report_edit.html:18
#: templates/web/default/admin/report_edit.html:20
-#: templates/web/default/report/display.html:84
-#: templates/web/default/report/display.html:86
-#: templates/web/fixmystreet/report/display.html:79
-#: templates/web/fixmystreet/report/display.html:81
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/dashboard/index.html:138
+#: templates/web/default/report/display.html:79
+#: templates/web/default/report/display.html:81
+#: templates/web/fixmystreet/report/banner.html:15
+#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/fixmystreet/report/display.html:76
msgid "Closed"
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Problem.pm:641
+#: perllib/FixMyStreet/DB/Result/Problem.pm:690
#, fuzzy
msgid "Closed by council"
msgstr "Ni roddwyd gwybod i'r cyngor am hyn"
@@ -622,8 +680,8 @@ msgstr "Cuddio hen adroddiadau "
msgid "Closed:"
msgstr ""
-#: templates/web/default/around/display_location.html:101
#: templates/web/default/around/display_location.html:103
+#: templates/web/default/around/display_location.html:105
msgid "Closest nearby empty properties <small>(within&nbsp;%skm)</small>"
msgstr "Yr eiddo gwag cyfagos agosaf <small>(within&nbsp;%skm)</small>"
@@ -647,30 +705,29 @@ msgstr ""
msgid "Cobrand:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
+#: perllib/FixMyStreet/App/Controller/Admin.pm:358
#, fuzzy
msgid "Configuration updated"
msgstr "Cadarnhau"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:361
+#: perllib/FixMyStreet/App/Controller/Admin.pm:372
msgid "Configuration updated - contacts will be generated automatically later"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:124
+#: templates/web/default/admin/council_contacts.html:153
msgid "Configure Open311"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:101
+#: templates/web/default/admin/council_contacts.html:105
msgid "Configure Open311 integration"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:38
+#: templates/web/default/admin/council_contacts.html:42
#, fuzzy
msgid "Confirm"
msgstr "Cadarnhau"
#: templates/web/default/auth/token.html:1
-#: templates/web/fixmystreet/auth/token.html:1
#, fuzzy
msgid "Confirm account"
msgstr "Cadarnhau"
@@ -685,8 +742,8 @@ msgstr "Cadarnhau"
msgid "Confirmation"
msgstr "Cadarnhau"
-#: templates/web/default/admin/council_contacts.html:33
-#: templates/web/default/admin/council_contacts.html:78
+#: templates/web/default/admin/council_contacts.html:37
+#: templates/web/default/admin/council_contacts.html:82
#: templates/web/default/admin/council_edit.html:28
#: templates/web/default/admin/council_edit.html:43
#: templates/web/default/admin/stats.html:5
@@ -710,6 +767,7 @@ msgstr "Cysylltu"
msgid "Contact reportemptyhomes.com"
msgstr "Adroddiadau newydd ar reportemptyhomes.com"
+#: templates/web/bromley/contact/submit.html:1
#: templates/web/default/contact/index.html:1
#: templates/web/default/contact/index.html:2
#: templates/web/default/contact/submit.html:1
@@ -718,14 +776,15 @@ msgstr "Adroddiadau newydd ar reportemptyhomes.com"
msgid "Contact Us"
msgstr "Cysylltwch â Ni"
+#: templates/web/bromley/contact/submit.html:3
#: templates/web/default/contact/index.html:6
#: templates/web/default/contact/submit.html:3
#: templates/web/fixmystreet/contact/index.html:7
msgid "Contact the team"
msgstr "Cysylltu â'r tîm"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1107
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1135
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1150
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1178
msgid "Could not find user"
msgstr ""
@@ -737,7 +796,7 @@ msgstr ""
msgid "Council"
msgstr "cyngor"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:979
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1022
#: templates/web/default/admin/council_list.html:1
#, fuzzy
msgid "Council contacts"
@@ -770,7 +829,7 @@ msgstr "Cysylltu"
msgid "Create a report"
msgstr "Categori:"
-#: templates/web/default/admin/council_contacts.html:92
+#: templates/web/default/admin/council_contacts.html:96
#, fuzzy
msgid "Create category"
msgstr "Categori:"
@@ -794,13 +853,19 @@ msgstr ""
msgid "Currently has 1+ deleted"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:34
-#: templates/web/default/admin/council_contacts.html:81
+#: templates/web/default/dashboard/index.html:5
+#: templates/web/default/dashboard/index.html:7
+msgid "Dashboard"
+msgstr ""
+
+#: templates/web/default/admin/council_contacts.html:38
+#: templates/web/default/admin/council_contacts.html:85
#: templates/web/default/admin/council_edit.html:29
#: templates/web/default/admin/council_edit.html:44
msgid "Deleted"
msgstr ""
+#: templates/web/bromley/report/new/fill_in_details_form.html:54
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:64
#, fuzzy
msgid "Details"
@@ -817,8 +882,8 @@ msgstr ""
#: templates/web/default/auth/general.html:32
#: templates/web/fixmystreet/auth/general.html:29
-#: templates/web/fixmystreet/report/display.html:133
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:147
+#: templates/web/fixmystreet/report/display.html:128
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:150
#, fuzzy
msgid "Do you have a reportemptyhomes.com password?"
msgstr "Diweddariadau i reportemptyhomes.com"
@@ -853,7 +918,8 @@ msgstr "Cyflwyno'ch diweddariad"
msgid "Editor"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:32
+#: templates/web/bromley/report/display.html:126
+#: templates/web/default/admin/council_contacts.html:36
#: templates/web/default/admin/council_edit.html:42
#: templates/web/default/admin/list_flagged.html:12
#: templates/web/default/admin/list_flagged.html:35
@@ -862,46 +928,46 @@ msgstr ""
#: templates/web/default/admin/search_reports.html:15
#: templates/web/default/admin/search_users.html:13
#: templates/web/fixmystreet/auth/general.html:20
-#: templates/web/fixmystreet/report/display.html:125
+#: templates/web/fixmystreet/report/display.html:120
#, fuzzy
msgid "Email"
msgstr "E-bost:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1083
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1126
msgid "Email added to abuse list"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1080
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1123
msgid "Email already in abuse list"
msgstr ""
-#: templates/web/default/around/display_location.html:83
+#: templates/web/default/around/display_location.html:85
msgid "Email me new local empty properties"
msgstr "Anfonwch fanylion eiddo gwag lleol newydd ataf i drwy'r e-bost"
-#: templates/web/default/report/display.html:35
+#: templates/web/default/report/display.html:30
msgid "Email me updates"
msgstr "Anfonwch ddiweddariadau ataf i drwy'r e-bost"
-#: templates/web/default/admin/council_contacts.html:73
+#: templates/web/default/admin/council_contacts.html:77
#: templates/web/default/admin/council_edit.html:26
#: templates/web/default/admin/report_edit.html:31
#: templates/web/default/admin/update_edit.html:24
#: templates/web/default/admin/user_edit.html:11
#: templates/web/default/alert/updates.html:13
-#: templates/web/default/report/display.html:39
+#: templates/web/default/report/display.html:34
msgid "Email:"
msgstr "E-bost:"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:537
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:611
msgid "Empty flat or maisonette"
msgstr "Fflat neu fflat deulawr gwag"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:536
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:610
msgid "Empty house or bungalow"
msgstr "Tŷ neu fyngalo gwag"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:539
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:613
msgid "Empty office or other commercial"
msgstr "Swyddfa wag neu fan masnachol gwag arall"
@@ -909,11 +975,11 @@ msgstr "Swyddfa wag neu fan masnachol gwag arall"
msgid "Empty property details form"
msgstr "Ffurflen manylion eiddo gwag"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:540
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:614
msgid "Empty pub or bar"
msgstr "Tafarn neu far gwag"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:541
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:615
msgid "Empty public building - school, hospital, etc."
msgstr "Adeilad cyhoeddus gwag - ysgol, ysbyty, ac ati."
@@ -930,39 +996,47 @@ msgstr "diwrnod"
msgid "End month:"
msgstr ""
-#: templates/web/default/around/around_index.html:10
-#: templates/web/default/around/around_index.html:13
-#: templates/web/default/index.html:24 templates/web/default/index.html:27
#: templates/web/emptyhomes/index.html:40
-#: templates/web/emptyhomes/index.html:43
-#: templates/web/fixmystreet/around/around_index.html:10
-#: templates/web/fixmystreet/around/around_index.html:13
-#: templates/web/fixmystreet/index.html:32
-#: templates/web/fixmystreet/index.html:35
+#: templates/web/emptyhomes/index.html:41
msgid "Enter a nearby GB postcode, or street name and area"
msgstr "Cofnodwch god post Prydeinig, neu enw stryd ac ardal gerllaw"
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:32
+#: perllib/FixMyStreet/Cobrand/UK.pm:18
+#, fuzzy
+msgid "Enter a nearby UK postcode, or street name and area"
+msgstr "Cofnodwch god post Prydeinig, neu enw stryd ac ardal gerllaw:"
+
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:25
#, fuzzy
msgid "Enter a nearby postcode, or street name and area"
msgstr "Cofnodwch god post Prydeinig, neu enw stryd ac ardal gerllaw:"
+#: templates/web/default/around/postcode_form.html:1
+#: templates/web/default/around/postcode_form.html:2
+#: templates/web/fixmystreet/around/postcode_form.html:10
+#: templates/web/fixmystreet/around/postcode_form.html:11
+#, fuzzy
+msgid "Enter a nearby street name and area"
+msgstr "Cofnodwch god post Prydeinig, neu enw stryd ac ardal gerllaw:"
+
#: templates/web/default/auth/general.html:64
-#: templates/web/default/report/display.html:176
+#: templates/web/default/report/display.html:171
#: templates/web/default/report/new/fill_in_details_form.html:169
#, fuzzy
msgid "Enter a new password:"
msgstr "Ychwanegwch neges"
+#: templates/web/bromley/report/display.html:148
+#: templates/web/bromley/report/new/fill_in_details_form.html:189
#: templates/web/fixmystreet/auth/general.html:57
-#: templates/web/fixmystreet/report/display.html:165
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:194
+#: templates/web/fixmystreet/report/display.html:160
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:200
#, fuzzy
msgid "Enter a password"
msgstr "Ychwanegwch neges"
-#: templates/web/default/index.html:44 templates/web/emptyhomes/index.html:60
-#: templates/web/fixmystreet/index.html:55
+#: templates/web/default/index.html:33 templates/web/emptyhomes/index.html:58
+#: templates/web/fixmystreet/index.html:41
msgid "Enter details of the empty property"
msgstr "Rhowch fanylion yr eiddo gwag"
@@ -973,7 +1047,6 @@ msgstr "Rhowch fanylion yr eiddo gwag"
#: templates/web/default/tokens/abuse.html:3
#: templates/web/default/tokens/error.html:1
#: templates/web/default/tokens/error.html:3
-#: templates/web/fixmystreet/auth/token.html:5
msgid "Error"
msgstr "Gwall"
@@ -986,6 +1059,11 @@ msgstr ""
msgid "Examples:"
msgstr ""
+#: templates/web/default/admin/report_edit.html:40
+msgid "Extra data:"
+msgstr ""
+
+#: templates/web/bromley/contact/submit.html:14
#: templates/web/default/contact/submit.html:15
#, fuzzy
msgid ""
@@ -995,6 +1073,13 @@ msgstr ""
"Rhowch gynnig eto'n ddiweddarach, neu <a href=\"mailto:%s\">anfonwch neges e-"
"bost atom</a>i roi gwybod inni."
+#: templates/web/bromley/report/display.html:189
+#: templates/web/bromley/report/new/fill_in_details_form.html:113
+#: templates/web/bromley/report/new/fill_in_details_form.html:160
+#, fuzzy
+msgid "First Name"
+msgstr "Y tro cyntaf"
+
#: templates/web/default/questionnaire/index.html:79
#: templates/web/fixmystreet/questionnaire/index.html:73
msgid "First time"
@@ -1020,13 +1105,7 @@ msgstr "reportemptyhomes.com"
msgid "reportemptyhomes.com administration"
msgstr "Diweddariadau i reportemptyhomes.com"
-#: templates/web/fixmystreet/static/for_councils.html:1
-#, fuzzy
-msgid "reportemptyhomes.com for Councils"
-msgstr "Adroddiadau newydd ar reportemptyhomes.com"
-
-#: templates/web/default/alert/index.html:6
-#: templates/web/fixmystreet/alert/index.html:6
+#: templates/web/default/alert/index.html:11
msgid ""
"reportemptyhomes.com has a variety of RSS feeds and email alerts for local "
"empty properties, including\n"
@@ -1040,8 +1119,8 @@ msgstr ""
"bob eiddo gwag\n"
"o fewn pellter penodol o leoliad penodol."
-#: templates/web/default/alert/list.html:98
-#: templates/web/fixmystreet/alert/_list.html:69
+#: templates/web/default/alert/_list.html:71
+#: templates/web/fixmystreet/alert/_list.html:73
msgid ""
"reportemptyhomes.com sends different categories of empty property\n"
"to the appropriate council, so empty properties within the boundary of a "
@@ -1064,14 +1143,18 @@ msgstr ""
"rhanbarth a'r cyngor, ond dim ond yn yr hysbysiad \"O fewn y ffin\" \n"
"y bydd yn ymddangos yn achos y cyngor sir."
-#: perllib/FixMyStreet/Cobrand/FixMyStreet.pm:20
+#: templates/web/bromley/report/display.html:80
+#: templates/web/bromley/report/display.html:82
#: templates/web/default/admin/index.html:36
#: templates/web/default/admin/report_edit.html:18
#: templates/web/default/admin/report_edit.html:20
-#: templates/web/default/report/display.html:84
-#: templates/web/default/report/display.html:86
-#: templates/web/fixmystreet/report/display.html:79
-#: templates/web/fixmystreet/report/display.html:81
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/dashboard/index.html:138
+#: templates/web/default/report/display.html:79
+#: templates/web/default/report/display.html:81
+#: templates/web/fixmystreet/report/banner.html:12
+#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/fixmystreet/report/display.html:76
msgid "Fixed"
msgstr ""
@@ -1104,14 +1187,14 @@ msgstr ""
msgid "Flagged"
msgstr ""
-#: templates/web/default/admin/report_edit.html:41
+#: templates/web/default/admin/report_edit.html:42
#: templates/web/default/admin/user_edit.html:18
msgid "Flagged:"
msgstr ""
-#: templates/web/default/reports/council.html:24
-#: templates/web/default/reports/council.html:87
+#: templates/web/default/reports/_ward-list.html:3
#: templates/web/emptyhomes/reports/council.html:19
+#: templates/web/fixmystreet/reports/_ward-list.html:4
msgid "Follow a ward link to view only reports within that ward."
msgstr ""
@@ -1126,6 +1209,8 @@ msgstr "cyngor"
#: templates/web/fiksgatami/faq/faq-nb.html:1
#: templates/web/fiksgatami/nn/faq/faq-nn.html:1
#: templates/web/fixmystreet/faq/faq-en-gb.html:1
+#: templates/web/fixmystreet/static/privacy.html:1
+#: templates/web/zurich/faq/faq-de.html:1
msgid "Frequently Asked Questions"
msgstr "Cwestiynau Cyffredin"
@@ -1137,31 +1222,37 @@ msgstr ""
msgid "GeoRSS on Google Maps"
msgstr ""
-#: templates/web/fixmystreet/report/display.html:28
+#: templates/web/bromley/report/display.html:30
+#: templates/web/fixmystreet/report/display.html:23
#, fuzzy
msgid "Get updates"
msgstr "Anfonwch ddiweddariadau ataf i drwy'r e-bost"
-#: templates/web/default/reports/council.html:72
+#: templates/web/fixmystreet/reports/_rss.html:3
+#: templates/web/fixmystreet/reports/_rss.html:9
+#, fuzzy
+msgid "Get updates of %s empty properties"
+msgstr "Porthiant RSS o eiddo gwag yn yr %s hwn"
+
+#: templates/web/fixmystreet/reports/_rss.html:11
+#: templates/web/fixmystreet/reports/_rss.html:3
#, fuzzy
msgid "Get updates of empty properties in this %s"
msgstr "Porthiant RSS o eiddo gwag yn yr %s hwn"
-#: templates/web/default/alert/list.html:110
-#: templates/web/fixmystreet/alert/_list.html:78
+#: templates/web/default/alert/_list.html:83
+#: templates/web/fixmystreet/alert/_list.html:82
msgid "Give me an RSS feed"
msgstr "Rhowch borthiant RSS i mi"
-#: templates/web/default/alert/index.html:24
-#: templates/web/default/around/around_index.html:17
-#: templates/web/default/index.html:33 templates/web/emptyhomes/index.html:49
-#: templates/web/fixmystreet/alert/index.html:25
-#: templates/web/fixmystreet/around/around_index.html:20
-#: templates/web/fixmystreet/index.html:42
+#: templates/web/default/alert/index.html:34
+#: templates/web/default/around/postcode_form.html:8
+#: templates/web/emptyhomes/index.html:47
+#: templates/web/fixmystreet/around/postcode_form.html:18
msgid "Go"
msgstr "Ewch"
-#: templates/web/default/admin/report_edit.html:40
+#: templates/web/default/admin/report_edit.html:41
#, fuzzy
msgid "Going to send questionnaire?"
msgstr "Anfon yr holiadur"
@@ -1189,7 +1280,8 @@ msgstr ""
"Ydych chi wedi rhoi gwybod i gyngor am eiddo gwag erioed o'r blaen, neu ai "
"dyma'ch tro cyntaf?"
-#: templates/web/bromley/footer.html:41 templates/web/default/footer.html:15
+#: templates/web/barnet/footer.html:24 templates/web/bromley/footer.html:25
+#: templates/web/bromley/header.html:81 templates/web/default/footer.html:15
#: templates/web/emptyhomes/header.html:28
#: templates/web/fiksgatami/footer.html:9
#: templates/web/fiksgatami/nn/footer.html:9
@@ -1198,14 +1290,17 @@ msgstr ""
msgid "FAQs"
msgstr "Cwestiynau Cyffredin"
-#: templates/web/default/alert/list.html:37
+#: templates/web/default/alert/_list.html:6
#: templates/web/fixmystreet/alert/_list.html:8
msgid "Here are the types of local empty property alerts for &lsquo;%s&rsquo;."
msgstr ""
"Dyma'r mathau o hysbysiadau am eiddo gwag lleol ar gyfer &lsquo;%s&rsquo;."
-#: templates/web/bromley/header.html:46
-#: templates/web/fixmystreet/header.html:46
+#: templates/web/barnet/header.html:70 templates/web/bromley/header.html:64
+#: templates/web/bromley/header.html:99
+#: templates/web/fixmybarangay/header.html.orig:42
+#: templates/web/fixmystreet/header.html:47
+#: templates/web/zurich/header.html:47
msgid "Hi %s"
msgstr ""
@@ -1230,12 +1325,12 @@ msgstr "Cuddio pinnau"
msgid "History"
msgstr ""
-#: templates/web/default/index.html:39 templates/web/emptyhomes/index.html:55
-#: templates/web/fixmystreet/index.html:50
+#: templates/web/default/index.html:28 templates/web/emptyhomes/index.html:53
+#: templates/web/fixmystreet/index.html:36
msgid "How to report an empty property"
msgstr "Sut i roi gwybod am eiddo gwag"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:592
+#: perllib/FixMyStreet/App/Controller/Admin.pm:637
msgid "I am afraid you cannot confirm unconfirmed reports."
msgstr ""
@@ -1244,7 +1339,7 @@ msgid "I'm afraid we couldn't locate your empty property in the database.\n"
msgstr ""
"Yn anffodus ni fu modd i ni ddod o hyd i'ch eiddo gwag yn y gronfa ddata.\n"
-#: perllib/FixMyStreet/App/Controller/Tokens.pm:43
+#: perllib/FixMyStreet/App/Controller/Tokens.pm:44
#, fuzzy
msgid ""
"I'm afraid we couldn't validate that token, as the report was made too long "
@@ -1253,7 +1348,7 @@ msgstr ""
"Yn anffodus, ni fu modd i ni ddilysu'r dynodiad hwnnw. Os ydych wedi copïo'r "
"URL o neges e-bost, gwnewch yn siwr eich bod wedi'i gopïo'n union.\n"
-#: perllib/FixMyStreet/App/Controller/Tokens.pm:233
+#: perllib/FixMyStreet/App/Controller/Tokens.pm:235
msgid ""
"I'm afraid we couldn't validate that token. If you've copied the URL from an "
"email, please check that you copied it exactly.\n"
@@ -1269,8 +1364,6 @@ msgstr ""
#: templates/web/default/report/new/councils_text_none.html:11
#: templates/web/default/report/new/councils_text_none.html:12
-#: templates/web/fixmystreet/report/new/councils_text_none.html:10
-#: templates/web/fixmystreet/report/new/councils_text_none.html:9
msgid ""
"If you submit an empty property here the subject and details of the empty "
"property will be public, but the empty property will <strong>not</strong> be "
@@ -1293,7 +1386,6 @@ msgstr ""
#: templates/web/default/auth/token.html:23
#: templates/web/default/email_sent.html:24
-#: templates/web/fixmystreet/auth/token.html:23
msgid ""
"If you use web-based email or have 'junk mail' filters, you may wish to "
"check your bulk/spam mail folders: sometimes, our messages are marked that "
@@ -1322,12 +1414,16 @@ msgstr "ID Anghyfreithlon"
msgid "Illegal feed selection"
msgstr "Dewis porthiant annilys"
+#: templates/web/bromley/report/display.html:80
+#: templates/web/bromley/report/display.html:82
#: templates/web/default/admin/report_edit.html:18
#: templates/web/default/admin/report_edit.html:20
-#: templates/web/default/report/display.html:84
-#: templates/web/default/report/display.html:86
-#: templates/web/fixmystreet/report/display.html:79
-#: templates/web/fixmystreet/report/display.html:81
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/dashboard/index.html:138
+#: templates/web/default/report/display.html:79
+#: templates/web/default/report/display.html:81
+#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/fixmystreet/report/display.html:76
msgid "In Progress"
msgstr ""
@@ -1339,7 +1435,7 @@ msgid ""
"present if requestor allowed the name to be shown on this site)."
msgstr ""
-#: perllib/FixMyStreet/Cobrand/FixMyStreet.pm:29
+#: templates/web/fixmystreet/report/banner.html:19
msgid "In progress"
msgstr ""
@@ -1348,33 +1444,37 @@ msgstr ""
msgid "Include unconfirmed reports"
msgstr "Cynnwys hen adroddiadau"
-#: perllib/FixMyStreet/App/Controller/Open311.pm:358
+#: perllib/FixMyStreet/App/Controller/Open311.pm:356
msgid "Incorrect has_photo value \"%s\""
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Open311.pm:343
+#: perllib/FixMyStreet/App/Controller/Open311.pm:341
msgid "Invalid agency_responsible value %s"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:899
+#: perllib/FixMyStreet/App/Controller/Admin.pm:942
#, fuzzy
msgid "Invalid end date"
msgstr "Rhowch ddiweddariad"
-#: perllib/FixMyStreet/App/Controller/Open311.pm:426
+#: perllib/FixMyStreet/App/Controller/Open311.pm:432
msgid "Invalid format %s specified."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:889
+#: perllib/FixMyStreet/App/Controller/Admin.pm:932
msgid "Invalid start date"
msgstr ""
+#: templates/web/bromley/report/display.html:80
+#: templates/web/bromley/report/display.html:81
#: templates/web/default/admin/report_edit.html:18
#: templates/web/default/admin/report_edit.html:19
-#: templates/web/default/report/display.html:84
-#: templates/web/default/report/display.html:85
-#: templates/web/fixmystreet/report/display.html:79
-#: templates/web/fixmystreet/report/display.html:80
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/dashboard/index.html:137
+#: templates/web/default/report/display.html:79
+#: templates/web/default/report/display.html:80
+#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/fixmystreet/report/display.html:75
#, fuzzy
msgid "Investigating"
msgstr "Mordwyo "
@@ -1403,16 +1503,25 @@ msgstr ""
"yn gwneud unrhyw beth. Rydym yn annog cynghorau i ddiweddaru'r wefan \n"
"fel y gallwch weld beth sy'n digwydd."
+#: templates/web/bromley/report/display.html:166
+#: templates/web/bromley/report/new/fill_in_details_form.html:209
#: templates/web/default/auth/general.html:44
-#: templates/web/default/report/display.html:156
+#: templates/web/default/report/display.html:151
#: templates/web/default/report/new/fill_in_details_form.html:149
#: templates/web/fixmystreet/auth/general.html:42
-#: templates/web/fixmystreet/report/display.html:149
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:164
+#: templates/web/fixmystreet/report/display.html:144
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:167
msgid "Keep me signed in on this computer"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:35
+#: templates/web/bromley/report/display.html:195
+#: templates/web/bromley/report/new/fill_in_details_form.html:119
+#: templates/web/bromley/report/new/fill_in_details_form.html:166
+#, fuzzy
+msgid "Last Name"
+msgstr "Anfonwch ddiweddariadau ataf i drwy'r e-bost"
+
+#: templates/web/default/admin/council_contacts.html:39
msgid "Last editor"
msgstr ""
@@ -1425,15 +1534,17 @@ msgstr "Anfonwch ddiweddariadau ataf i drwy'r e-bost"
msgid "Last&nbsp;update:"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:985
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1028
msgid "List Flagged"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:13
+#: templates/web/default/admin/council_contacts.html:14
+#: templates/web/default/admin/council_contacts.html:16
#, fuzzy
msgid "List all reported empty properties"
msgstr "Eiddo gwag yr adroddwyd amdanynt yn ddiweddar"
+#: templates/web/bromley/report/new/fill_in_details_form.html:69
#: templates/web/default/report/new/fill_in_details_form.html:68
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:73
msgid "Loading..."
@@ -1450,12 +1561,6 @@ msgstr ""
#: templates/web/default/tokens/confirm_alert.html:3
#: templates/web/emptyhomes/alert/index.html:1
#: templates/web/emptyhomes/alert/index.html:3
-#: templates/web/fixmystreet/alert/choose.html:1
-#: templates/web/fixmystreet/alert/choose.html:3
-#: templates/web/fixmystreet/alert/index.html:1
-#: templates/web/fixmystreet/alert/index.html:3
-#: templates/web/fixmystreet/alert/list.html:1
-#: templates/web/fixmystreet/alert/list.html:5
#: templates/web/fixmystreet/alert/updates.html:1
msgid "Local RSS feeds and email alerts"
msgstr "Porthiannau RSS a hysbysiadau e-bost lleol"
@@ -1464,15 +1569,12 @@ msgstr "Porthiannau RSS a hysbysiadau e-bost lleol"
#: templates/web/default/alert/list.html:12
#: templates/web/default/alert/list.html:14
#: templates/web/default/alert/list.html:3
-#: templates/web/fixmystreet/alert/list.html:1
-#: templates/web/fixmystreet/alert/list.html:12
-#: templates/web/fixmystreet/alert/list.html:14
-#: templates/web/fixmystreet/alert/list.html:3
#, fuzzy
msgid "Local RSS feeds and email alerts for ‘%s’"
msgstr "Porthiannau RSS a hysbysiadau e-bost lleol"
-#: templates/web/bromley/footer.html:39 templates/web/default/footer.html:13
+#: templates/web/barnet/footer.html:22 templates/web/bromley/footer.html:23
+#: templates/web/bromley/header.html:79 templates/web/default/footer.html:13
#: templates/web/fiksgatami/footer.html:8
#: templates/web/fiksgatami/nn/footer.html:8
#: templates/web/fixmystreet/footer.html:51
@@ -1480,12 +1582,12 @@ msgstr "Porthiannau RSS a hysbysiadau e-bost lleol"
msgid "Get local reports"
msgstr "Gweld adroddiadau lleol"
-#: templates/web/default/index.html:43 templates/web/emptyhomes/index.html:59
-#: templates/web/fixmystreet/index.html:54
+#: templates/web/default/index.html:32 templates/web/emptyhomes/index.html:57
+#: templates/web/fixmystreet/index.html:40
msgid "Locate the empty property on a map of the area"
msgstr "Chwiliwch am leoliad yr eiddo gwag ar fap o'r ardal"
-#: perllib/FixMyStreet/Map/OSM.pm:43
+#: perllib/FixMyStreet/Map/OSM.pm:44
msgid ""
"Map &copy; <a id=\"osm_link\" href=\"http://www.openstreetmap.org/"
"\">OpenStreetMap</a> and contributors, <a href=\"http://creativecommons.org/"
@@ -1501,7 +1603,7 @@ msgstr "Neges:"
msgid "Message:"
msgstr "Neges:"
-#: perllib/FixMyStreet/App/Controller/Open311.pm:434
+#: perllib/FixMyStreet/App/Controller/Open311.pm:440
msgid "Missing jurisdiction_id"
msgstr ""
@@ -1510,7 +1612,7 @@ msgstr ""
msgid "Month"
msgstr "Cysylltu"
-#: templates/web/default/report/display.html:31
+#: templates/web/default/report/display.html:26
msgid "More empty properties nearby"
msgstr "Mwy o eiddo gwag cyfagos"
@@ -1524,9 +1626,9 @@ msgstr "Mwy o eiddo gwag cyfagos"
#: templates/web/fiksgatami/nn/reports/index.html:9
#: templates/web/fiksgatami/reports/index.html:9
#: templates/web/fixmystreet/auth/general.html:52
-#: templates/web/fixmystreet/report/display.html:181
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:114
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:171
+#: templates/web/fixmystreet/report/display.html:177
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:117
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:176
msgid "Name"
msgstr "Enw"
@@ -1542,26 +1644,26 @@ msgstr "Enw:"
msgid "Navigation"
msgstr "Mordwyo "
-#: perllib/FixMyStreet/Geocode/OSM.pm:100
+#: perllib/FixMyStreet/Geocode/OSM.pm:159
msgid ""
"Nearest named road to the pin placed on the map (automatically generated "
"using OpenStreetMap): %s%s"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:480
+#: perllib/FixMyStreet/Cobrand/UK.pm:161
msgid ""
"Nearest postcode to the pin placed on the map (automatically generated): %s "
"(%sm away)"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:469
-#: perllib/FixMyStreet/Cobrand/Default.pm:520
+#: perllib/FixMyStreet/Cobrand/Default.pm:404
+#: perllib/FixMyStreet/Cobrand/Default.pm:444
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing "
"Maps): %s"
msgstr ""
-#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:242
+#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:245
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing "
"Maps): %s\n"
@@ -1577,7 +1679,7 @@ msgstr ""
msgid "New <br>empty properties"
msgstr "Adroddiadau newydd am eiddo gwag"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:311
+#: perllib/FixMyStreet/App/Controller/Admin.pm:314
msgid "New category contact added"
msgstr ""
@@ -1660,15 +1762,15 @@ msgstr ""
msgid "New!"
msgstr "Newydd!"
-#: templates/web/default/admin/council_contacts.html:44
-#: templates/web/default/admin/council_contacts.html:45
+#: templates/web/default/admin/council_contacts.html:48
+#: templates/web/default/admin/council_contacts.html:49
#: templates/web/default/admin/council_edit.html:4
#: templates/web/default/admin/list_updates.html:30
#: templates/web/default/admin/list_updates.html:31
#: templates/web/default/admin/list_updates.html:32
#: templates/web/default/admin/problem_row.html:19
#: templates/web/default/admin/report_edit.html:28
-#: templates/web/default/admin/report_edit.html:40
+#: templates/web/default/admin/report_edit.html:41
#: templates/web/default/admin/update_edit.html:16
#: templates/web/default/questionnaire/creator_fixed.html:16
#: templates/web/default/questionnaire/index.html:107
@@ -1684,7 +1786,7 @@ msgstr "Nac ydw"
msgid "No council"
msgstr "cyngor"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:320
+#: perllib/FixMyStreet/DB/Result/Problem.pm:328
msgid "No council selected"
msgstr "Ni ddewiswyd cyngor"
@@ -1705,13 +1807,13 @@ msgstr ""
msgid "No info at all"
msgstr ""
-#: templates/web/default/around/around_map_list_items.html:15
-#: templates/web/fixmystreet/around/around_map_list_items.html:24
+#: templates/web/default/around/around_map_list_items.html:17
+#: templates/web/fixmystreet/around/around_map_list_items.html:8
msgid "No empty properties found."
msgstr "Ni ddaethpwyd o hyd i unrhyw eiddo gwag."
-#: templates/web/default/around/on_map_list_items.html:12
-#: templates/web/fixmystreet/around/on_map_list_items.html:21
+#: templates/web/default/around/on_map_list_items.html:14
+#: templates/web/fixmystreet/around/on_map_list_items.html:6
msgid "No empty properties have been reported yet."
msgstr "Ni roddwyd gwybod eto am unrhyw eiddo gwag."
@@ -1726,13 +1828,13 @@ msgstr "Nac ydw"
msgid "Not reported before"
msgstr "Wedi adrodd o'r blaen"
-#: templates/web/default/report/_main.html:9
+#: templates/web/default/report/_main.html:11
#: templates/web/emptyhomes/report/display.html:24
-#: templates/web/fixmystreet/report/_main.html:11
+#: templates/web/fixmystreet/report/_main.html:13
msgid "Not reported to council"
msgstr "Ni roddwyd gwybod i'r cyngor am hyn"
-#: templates/web/default/admin/council_contacts.html:36
+#: templates/web/default/admin/council_contacts.html:40
#: templates/web/default/admin/council_edit.html:46
#, fuzzy
msgid "Note"
@@ -1745,7 +1847,7 @@ msgid ""
"numbers may jump about a little"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:85
+#: templates/web/default/admin/council_contacts.html:89
#: templates/web/default/admin/council_edit.html:31
#, fuzzy
msgid "Note:"
@@ -1755,7 +1857,7 @@ msgstr "Nac ydw"
msgid "Note: <strong>%s</strong>"
msgstr ""
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:146
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:149
msgid "Now to submit your report&hellip;"
msgstr ""
@@ -1765,17 +1867,17 @@ msgid ""
"password?"
msgstr ""
-#: templates/web/fixmystreet/report/display.html:132
+#: templates/web/fixmystreet/report/display.html:127
msgid "Now to submit your update&hellip;"
msgstr ""
-#: templates/web/default/report/display.html:138
+#: templates/web/default/report/display.html:133
msgid ""
"Now to submit your update&hellip; do you have a reportemptyhomes.com "
"password?"
msgstr ""
-#: templates/web/default/report/display.html:26
+#: templates/web/default/report/display.html:21
#: templates/web/default/report/update.html:16
msgid "Offensive? Unsuitable? Tell us"
msgstr "Sarhaus? Anaddas? Rhowch wybod i ni"
@@ -1816,10 +1918,12 @@ msgstr "Wedi'u hadfer i'w defnyddio ers amser"
msgid "Older empty property reports"
msgstr "Adroddiadau hŷn o eiddo gwag"
+#: templates/web/bromley/report/display.html:80
#: templates/web/default/admin/report_edit.html:18
#: templates/web/default/admin/update_edit.html:19
-#: templates/web/default/report/display.html:84
-#: templates/web/fixmystreet/report/display.html:79
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/report/display.html:79
+#: templates/web/fixmystreet/report/display.html:74
msgid "Open"
msgstr ""
@@ -1841,13 +1945,13 @@ msgstr ""
msgid "Open311 specification"
msgstr ""
-#: templates/web/default/alert/list.html:85
-#: templates/web/fixmystreet/alert/_list.html:56
+#: templates/web/default/alert/_list.html:58
+#: templates/web/fixmystreet/alert/_list.html:60
msgid "Or empty properties reported to:"
msgstr "Neu eiddo gwag y rhoddwyd gwybod amdanynt i:"
-#: templates/web/default/alert/list.html:61
-#: templates/web/fixmystreet/alert/_list.html:33
+#: templates/web/default/alert/_list.html:33
+#: templates/web/fixmystreet/alert/_list.html:36
msgid ""
"Or you can subscribe to an alert based upon what ward or council you&rsquo;"
"re in:"
@@ -1855,14 +1959,15 @@ msgstr ""
"Neu, gallwch danysgrifio am hysbysiad yn ôl pa ward neu gyngor yr ydych yn "
"byw ynddo:"
-#: bin/send-reports:176 bin/send-reports:185
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:568
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:581
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:990
-#: perllib/FixMyStreet/DB/Result/Problem.pm:489
-#: perllib/FixMyStreet/DB/Result/Problem.pm:499
-#: perllib/FixMyStreet/DB/Result/Problem.pm:509
-#: perllib/FixMyStreet/DB/Result/Problem.pm:521
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:655
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:656
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:999
+#: perllib/FixMyStreet/DB/Result/Problem.pm:497
+#: perllib/FixMyStreet/DB/Result/Problem.pm:507
+#: perllib/FixMyStreet/DB/Result/Problem.pm:517
+#: perllib/FixMyStreet/DB/Result/Problem.pm:529
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:329
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:338
msgid "Other"
msgstr "Arall"
@@ -1887,53 +1992,62 @@ msgstr ""
msgid "Partial"
msgstr ""
+#: templates/web/bromley/report/display.html:145
+#: templates/web/bromley/report/new/fill_in_details_form.html:186
#: templates/web/fixmystreet/auth/general.html:55
-#: templates/web/fixmystreet/report/display.html:162
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:191
+#: templates/web/fixmystreet/report/display.html:157
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:197
#, fuzzy
msgid "Password (optional)"
msgstr "(dewisol)"
#: templates/web/default/auth/change_password.html:25
-#: templates/web/fixmystreet/auth/change_password.html:25
msgid "Password:"
msgstr ""
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:130
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:188
+#: templates/web/bromley/report/new/fill_in_details_form.html:136
+#: templates/web/bromley/report/new/fill_in_details_form.html:183
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:133
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:194
#, fuzzy
msgid "Phone number (optional)"
msgstr "(dewisol)"
-#: bin/send-reports:70 templates/web/default/admin/report_edit.html:32
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:260
+#: templates/web/default/admin/report_edit.html:32
#: templates/web/default/report/new/fill_in_details_form.html:215
msgid "Phone:"
msgstr "Rhif ffôn:"
-#: templates/web/fixmystreet/report/display.html:108
+#: templates/web/bromley/report/display.html:109
+#: templates/web/bromley/report/new/fill_in_details_form.html:104
+#: templates/web/fixmystreet/report/display.html:103
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:108
#, fuzzy
msgid "Photo"
msgstr "Ffotograff:"
#: templates/web/default/questionnaire/index.html:95
-#: templates/web/default/report/display.html:114
+#: templates/web/default/report/display.html:109
#: templates/web/default/report/new/fill_in_details_form.html:102
#: templates/web/fixmystreet/questionnaire/index.html:90
msgid "Photo:"
msgstr "Ffotograff:"
-#: templates/web/default/alert/list.html:27
-#: templates/web/fixmystreet/alert/list.html:27
+#: templates/web/default/alert/list.html:26
msgid "Photos of recent nearby reports"
msgstr "Ffotograffau o adroddiadau cyfagos diweddar"
+#: templates/web/bromley/report/display.html:80
+#: templates/web/bromley/report/display.html:81
#: templates/web/default/admin/report_edit.html:18
#: templates/web/default/admin/report_edit.html:19
-#: templates/web/default/report/display.html:84
-#: templates/web/default/report/display.html:85
-#: templates/web/fixmystreet/report/display.html:79
-#: templates/web/fixmystreet/report/display.html:80
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/dashboard/index.html:137
+#: templates/web/default/report/display.html:79
+#: templates/web/default/report/display.html:80
+#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/fixmystreet/report/display.html:75
msgid "Planned"
msgstr ""
@@ -1951,13 +2065,10 @@ msgstr ""
#: templates/web/default/auth/change_password.html:12
#: templates/web/default/auth/change_password.html:17
-#: templates/web/fixmystreet/auth/change_password.html:12
-#: templates/web/fixmystreet/auth/change_password.html:17
msgid "Please check the passwords and try again"
msgstr ""
#: templates/web/default/auth/token.html:17
-#: templates/web/fixmystreet/auth/token.html:17
#, fuzzy
msgid "Please check your email"
msgstr "Rhowch eich cyfeiriad e-bost"
@@ -1970,18 +2081,25 @@ msgstr "Rhowch eich cyfeiriad e-bost"
msgid "Please check your email address is correct"
msgstr "Rhowch gyfeiriad e-bost dilys"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:739
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:795
-#: perllib/FixMyStreet/DB/Result/Problem.pm:339
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:819
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:826
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:845
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:884
+#: perllib/FixMyStreet/DB/Result/Problem.pm:347
#: templates/web/default/js/validation_strings.html:9
msgid "Please choose a category"
msgstr "Dewiswch gategori"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:345
+#: perllib/FixMyStreet/DB/Result/Problem.pm:353
msgid "Please choose a property type"
msgstr "Dewiswch fath o eiddo"
+#: templates/web/bromley/report/new/fill_in_details_form.html:64
+msgid ""
+"Please describe the exact location of the report. Example: “2 dumped "
+"mattresses outside Number 19 Stockwell Close”"
+msgstr ""
+
#: templates/web/default/contact/blurb.html:2
msgid ""
"Please do <strong>not</strong> report empty properties through this form; "
@@ -2004,43 +2122,41 @@ msgid ""
"for all users."
msgstr ""
-#: perllib/FixMyStreet/DB/Result/Comment.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:146
#: templates/web/default/js/validation_strings.html:2
msgid "Please enter a message"
msgstr "Ychwanegwch neges"
#: templates/web/default/auth/change_password.html:12
#: templates/web/default/auth/change_password.html:15
-#: templates/web/fixmystreet/auth/change_password.html:12
-#: templates/web/fixmystreet/auth/change_password.html:15
#, fuzzy
msgid "Please enter a password"
msgstr "Ychwanegwch neges"
#: perllib/FixMyStreet/App/Controller/Contact.pm:97
-#: perllib/FixMyStreet/DB/Result/Problem.pm:314
+#: perllib/FixMyStreet/DB/Result/Problem.pm:322
#: templates/web/default/js/validation_strings.html:3
msgid "Please enter a subject"
msgstr "Rhowch enw'r pwnc"
-#: perllib/FixMyStreet/DB/Result/User.pm:96
+#: perllib/FixMyStreet/DB/Result/User.pm:104
#: templates/web/default/js/validation_strings.html:12
#: templates/web/default/js/validation_strings.html:16
msgid "Please enter a valid email"
msgstr "Cofnodwch gyfeiriad e-bost dilys"
-#: perllib/FixMyStreet/App/Controller/Alert.pm:342
+#: perllib/FixMyStreet/App/Controller/Alert.pm:346
#: perllib/FixMyStreet/App/Controller/Contact.pm:107
msgid "Please enter a valid email address"
msgstr "Cofnodwch gyfeiriad e-bost dilys"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:317
+#: perllib/FixMyStreet/DB/Result/Problem.pm:325
#: templates/web/default/js/validation_strings.html:4
msgid "Please enter some details"
msgstr "Cofnodwch fanylion"
#: perllib/FixMyStreet/App/Controller/Contact.pm:96
-#: perllib/FixMyStreet/DB/Result/User.pm:93
+#: perllib/FixMyStreet/DB/Result/User.pm:101
#: templates/web/default/auth/general.html:13
#: templates/web/default/auth/general.html:8
#: templates/web/default/js/validation_strings.html:11
@@ -2050,12 +2166,18 @@ msgstr "Cofnodwch fanylion"
msgid "Please enter your email"
msgstr "Cofnodwch eich cyfeiriad e-bost"
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:143
+#: templates/web/bromley/report/new/fill_in_details_form.html:149
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:146
#, fuzzy
msgid "Please enter your email address"
msgstr "Cofnodwch eich cyfeiriad e-bost"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:332
+#: templates/web/default/js/validation_strings.html:19
+#, fuzzy
+msgid "Please enter your first name"
+msgstr "Cofnodwch eich enw"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:340
#: templates/web/default/js/validation_strings.html:7
#, fuzzy
msgid ""
@@ -2066,13 +2188,23 @@ msgstr ""
"ddangos ar y safle, cliciwch i ddileu'r tic o'r bocs"
#: perllib/FixMyStreet/App/Controller/Contact.pm:95
-#: perllib/FixMyStreet/DB/Result/Comment.pm:110
-#: perllib/FixMyStreet/DB/Result/Problem.pm:325
-#: perllib/FixMyStreet/DB/Result/User.pm:89
+#: perllib/FixMyStreet/DB/Result/Comment.pm:143
+#: perllib/FixMyStreet/DB/Result/Problem.pm:333
+#: perllib/FixMyStreet/DB/Result/User.pm:97
#: templates/web/default/js/validation_strings.html:6
msgid "Please enter your name"
msgstr "Cofnodwch eich enw"
+#: templates/web/default/js/validation_strings.html:20
+#, fuzzy
+msgid "Please enter your second name"
+msgstr "Cofnodwch eich enw"
+
+#: templates/web/default/js/validation_strings.html:18
+#, fuzzy
+msgid "Please enter your title"
+msgstr "Cofnodwch eich cyfeiriad e-bost"
+
#: templates/web/emptyhomes/report/new/fill_in_details_text.html:1
#, fuzzy
msgid ""
@@ -2117,6 +2249,7 @@ msgstr ""
msgid "Please fill in details of the empty property."
msgstr "Llenwch fanylion yr eiddo gwag isod."
+#: templates/web/bromley/report/new/fill_in_details_form.html:28
#: templates/web/default/report/new/fill_in_details_form.html:27
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:34
#, fuzzy
@@ -2131,14 +2264,25 @@ msgstr ""
msgid "Please indicate whether you'd like to receive another questionnaire"
msgstr "Nodwch a fyddech chi'n hoffi derbyn holiadur arall"
-#: templates/web/default/report/display.html:61
-#: templates/web/fixmystreet/report/display.html:59
+#: templates/web/fixmystreet/report/updates-sidebar-notes.html:3
+msgid "Please note that updates are not sent to the council."
+msgstr "Sylwer nad yw diweddariadau'n cael eu hanfon at y cyngor."
+
+#: templates/web/default/report/display.html:56
msgid ""
"Please note that updates are not sent to the council. If you leave your name "
"it will be public. Your information will only be used in accordance with our "
"<a href=\"/faq#privacy\">privacy policy</a>"
msgstr ""
+#: templates/web/barnet/report/updates-sidebar-notes.html:1
+msgid ""
+"Please note that updates are not sent to the relevant department. If you "
+"leave your name it will be public. Your information will only be used in "
+"accordance with our <a href=\"/faq#privacy\">privacy policy</a>"
+msgstr ""
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:23
#: templates/web/default/report/new/fill_in_details_form.html:5
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:25
msgid ""
@@ -2159,7 +2303,7 @@ msgstr "Rhowch ychydig o esboniad pam rydych yn ailagor yr adroddiad hwn"
msgid "Please provide some text as well as a photo"
msgstr "Rhowch rywfaint o destun yn ogystal â ffotograff"
-#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:115
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:116
#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:237
msgid ""
"Please say whether you've ever reported an empty property to your council "
@@ -2185,27 +2329,36 @@ msgstr ""
msgid "Please take a look at the updates that have been left."
msgstr "Ewch i fwrw golwg ar y diweddariadau sydd wedi cael eu gadael."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:843
+#: perllib/FixMyStreet/App/Controller/Photo.pm:176
msgid "Please upload a JPEG image only"
msgstr "Dim ond llun JPEG y dylech lwytho i fyny."
+#: perllib/FixMyStreet/App/Controller/Photo.pm:183
+#, fuzzy
+msgid "Please upload a JPEG image only\n"
+msgstr "Dim ond llun JPEG y dylech lwytho i fyny."
+
#: perllib/FixMyStreet/App/Controller/Contact.pm:98
msgid "Please write a message"
msgstr "Ysgrifennwch neges"
-#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/bromley/report/display.html:70
+#: templates/web/fixmystreet/report/display.html:69
#, fuzzy
msgid "Please write your update here"
msgstr "Rhowch eich enw"
+#: templates/web/bromley/report/display.html:121
+#: templates/web/bromley/report/display.html:149
+#: templates/web/bromley/report/display.html:161
#: templates/web/default/contact/index.html:93
-#: templates/web/default/report/display.html:124
-#: templates/web/default/report/display.html:161
-#: templates/web/default/report/display.html:183
+#: templates/web/default/report/display.html:119
+#: templates/web/default/report/display.html:156
+#: templates/web/default/report/display.html:178
#: templates/web/fixmystreet/contact/index.html:93
-#: templates/web/fixmystreet/report/display.html:120
-#: templates/web/fixmystreet/report/display.html:144
-#: templates/web/fixmystreet/report/display.html:166
+#: templates/web/fixmystreet/report/display.html:115
+#: templates/web/fixmystreet/report/display.html:139
+#: templates/web/fixmystreet/report/display.html:161
msgid "Post"
msgstr "Postio"
@@ -2213,12 +2366,12 @@ msgstr "Postio"
msgid "Posted anonymously at %s"
msgstr "Cofnodwyd yn ddi-enw am %s"
-#: templates/web/default/report/updates.html:17
+#: templates/web/default/report/updates.html:21
#, fuzzy
msgid "Posted by %s (<strong>%s</strong>) at %s"
msgstr "Cofnodwyd gan %s am %s"
-#: templates/web/default/report/updates.html:19
+#: templates/web/default/report/updates.html:23
msgid "Posted by %s at %s"
msgstr "Cofnodwyd gan %s am %s"
@@ -2246,7 +2399,7 @@ msgstr "Eiddo gwag yn %s"
msgid "Empty property breakdown by state"
msgstr "ni fydd eich eiddo gwag yn cael ei bostio"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:776
+#: perllib/FixMyStreet/App/Controller/Admin.pm:819
#, fuzzy
msgid "Empty property marked as open."
msgstr "Ffurflen manylion eiddo gwag"
@@ -2260,17 +2413,18 @@ msgstr ""
msgid "Empty properties"
msgstr "Eiddo gwag"
-#: templates/web/default/around/display_location.html:79
+#: templates/web/default/around/display_location.html:81
msgid "Empty properties in this area"
msgstr "Eiddo gwag yn yr ardal hon"
-#: templates/web/fixmystreet/around/display_location.html:93
-#: templates/web/fixmystreet/report/display.html:29
+#: templates/web/bromley/report/display.html:31
+#: templates/web/fixmystreet/around/display_location.html:98
+#: templates/web/fixmystreet/report/display.html:24
#, fuzzy
msgid "Empty properties nearby"
msgstr "Mwy o eiddo gwag cyfagos"
-#: templates/web/fixmystreet/around/display_location.html:92
+#: templates/web/fixmystreet/around/display_location.html:97
#, fuzzy
msgid "Empty properties on the map"
msgstr "Eiddo gwag yn yr ardal hon"
@@ -2283,30 +2437,31 @@ msgstr ""
"Eiddo y cafwyd adroddiadau diweddar ar reportemptyhomes.com eu bod wedi cael "
"eu hadfer i'w defnyddio"
-#: templates/web/default/alert/list.html:50
+#: templates/web/default/alert/_list.html:19
#: templates/web/fixmystreet/alert/_list.html:21
#, fuzzy
msgid "Empty properties within %.1fkm of this location"
msgstr "Eiddo gwag o fewn %skm o'r lleoliad hwn"
-#: perllib/FixMyStreet/Cobrand/Default.pm:748
-#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:162
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:177
+#: perllib/FixMyStreet/Cobrand/Default.pm:609
+#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:95
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:162
+#: perllib/FixMyStreet/Cobrand/UK.pm:240
msgid "Empty properties within %s"
msgstr "Eiddo gwag yn %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:757
-#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:170
+#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:103
+#: perllib/FixMyStreet/Cobrand/UK.pm:254
msgid "Empty properties within %s ward"
msgstr "Eiddo gwag yn ward %s"
#: templates/web/default/reports/council.html:0
-#: templates/web/default/reports/council.html:17
+#: templates/web/default/reports/council.html:29
msgid "Empty properties within %s, reportemptyhomes.com"
msgstr "Eiddo gwag o fewn %s, reportemptyhomes.com"
-#: templates/web/default/alert/list.html:67
-#: templates/web/fixmystreet/alert/_list.html:38
+#: templates/web/default/alert/_list.html:40
+#: templates/web/fixmystreet/alert/_list.html:42
msgid "Empty properties within the boundary of:"
msgstr "Eiddo gwag o fewn ffiniau:"
@@ -2316,24 +2471,33 @@ msgstr ""
"Eiddo y cafwyd adroddiadau diweddar ar reportemptyhomes.com eu bod wedi cael "
"eu hadfer i'w defnyddio"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:543
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:617
msgid "Property type:"
msgstr "Math o eiddo:"
+#: templates/web/bromley/report/new/fill_in_details_form.html:52
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:62
#, fuzzy
msgid "Provide a title"
msgstr "Rhowch ddiweddariad"
-#: templates/web/default/report/display.html:56
-#: templates/web/fixmystreet/report/display.html:55
+#: templates/web/bromley/report/display.html:57
+#: templates/web/default/report/display.html:51
+#: templates/web/fixmystreet/report/display.html:50
msgid "Provide an update"
msgstr "Rhowch ddiweddariad"
-#: templates/web/default/report/display.html:180
+#: templates/web/bromley/report/new/fill_in_details_form.html:180
+msgid ""
+"Providing a password is optional, but doing so will allow you to more easily "
+"report future empty properties, leave updates and manage your reports."
+msgstr ""
+
+#: templates/web/bromley/report/display.html:142
+#: templates/web/default/report/display.html:175
#: templates/web/default/report/new/fill_in_details_form.html:173
-#: templates/web/fixmystreet/report/display.html:159
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:185
+#: templates/web/fixmystreet/report/display.html:154
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:191
msgid ""
"Providing a password is optional, but doing so will allow you to more easily "
"report empty properties, leave updates and manage your reports."
@@ -2345,9 +2509,9 @@ msgstr ""
#: templates/web/default/questionnaire/index.html:14
#: templates/web/default/questionnaire/index.html:4
#: templates/web/fixmystreet/questionnaire/index.html:0
-#: templates/web/fixmystreet/questionnaire/index.html:15
-#: templates/web/fixmystreet/questionnaire/index.html:3
+#: templates/web/fixmystreet/questionnaire/index.html:14
#: templates/web/fixmystreet/questionnaire/index.html:32
+#: templates/web/fixmystreet/questionnaire/index.html:4
msgid "Questionnaire"
msgstr "Holiadur"
@@ -2365,69 +2529,62 @@ msgstr "Llenwyd yr holiadur gan yr unigolyn a roddodd wybod am yr eiddo gwag"
msgid "Questionnaire filled in by empty property reporter"
msgstr "Llenwyd yr holiadur gan yr unigolyn a roddodd wybod am yr eiddo gwag"
-#: templates/web/fixmystreet/static/for_councils_faq.html:1
-#, fuzzy
-msgid "Questions and Answers :: reportemptyhomes.com for Councils"
-msgstr "Adroddiadau newydd ar reportemptyhomes.com"
-
-#: templates/web/default/alert/list.html:52
+#: templates/web/bromley/report/display.html:37
+#: templates/web/default/alert/_list.html:21
#: templates/web/default/around/display_location.html:1
#: templates/web/default/around/display_location.html:3
-#: templates/web/default/report/display.html:47
-#: templates/web/default/reports/council.html:79
+#: templates/web/default/report/display.html:42
+#: templates/web/default/reports/_rss.html:1
#: templates/web/fixmystreet/alert/_list.html:22
#: templates/web/fixmystreet/alert/updates.html:9
#: templates/web/fixmystreet/around/display_location.html:1
#: templates/web/fixmystreet/around/display_location.html:3
-#: templates/web/fixmystreet/report/display.html:35
+#: templates/web/fixmystreet/report/display.html:30
msgid "RSS feed"
msgstr "Porthiant RSS"
-#: perllib/FixMyStreet/Cobrand/Default.pm:786
-#: perllib/FixMyStreet/Cobrand/Default.pm:800
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
#, fuzzy
msgid "RSS feed for %s"
msgstr "Porthiant RSS %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:793
-#: perllib/FixMyStreet/Cobrand/Default.pm:807
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
#, fuzzy
msgid "RSS feed for %s ward, %s"
msgstr "Porthiant RSS %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:816
-#: perllib/FixMyStreet/Cobrand/Default.pm:830
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:193
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:201
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:211
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:219
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:178
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:186
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:196
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:204
+#: perllib/FixMyStreet/Cobrand/UK.pm:309 perllib/FixMyStreet/Cobrand/UK.pm:321
msgid "RSS feed of %s"
msgstr "Porthiant RSS %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:822
-#: perllib/FixMyStreet/Cobrand/Default.pm:836
+#: perllib/FixMyStreet/Cobrand/UK.pm:314 perllib/FixMyStreet/Cobrand/UK.pm:326
#, fuzzy
msgid "RSS feed of %s, within %s ward"
msgstr "Porthiant RSS %s"
-#: templates/web/default/alert/list.html:52
+#: templates/web/default/alert/_list.html:21
#: templates/web/fixmystreet/alert/_list.html:22
msgid "RSS feed of nearby empty properties"
msgstr "Porthiant RSS o eiddo gwag sydd gerllaw"
-#: templates/web/default/reports/council.html:79
+#: templates/web/default/reports/_rss.html:1
msgid "RSS feed of empty properties in this %s"
msgstr "Porthiant RSS o eiddo gwag yn yr %s hwn"
-#: perllib/FixMyStreet/Cobrand/Default.pm:749
-#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:163
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:176
+#: perllib/FixMyStreet/Cobrand/Default.pm:610
+#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:96
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
+#: perllib/FixMyStreet/Cobrand/UK.pm:247
#, fuzzy
msgid "RSS feed of empty properties within %s"
msgstr "Porthiant RSS o eiddo gwag yn yr %s hwn"
-#: perllib/FixMyStreet/Cobrand/Default.pm:756
-#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:169
+#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:102
+#: perllib/FixMyStreet/Cobrand/UK.pm:253
#, fuzzy
msgid "RSS feed of empty properties within %s ward"
msgstr "Porthiant RSS o eiddo gwag yn yr %s hwn"
@@ -2439,16 +2596,18 @@ msgstr "Porthiant RSS o eiddo gwag yn yr %s hwn"
msgid "RSS feed of recent local empty properties"
msgstr "Porthiant RSS o eiddo gwag lleol diweddar"
-#: templates/web/default/report/display.html:47
+#: templates/web/bromley/report/display.html:37
+#: templates/web/default/report/display.html:42
#: templates/web/fixmystreet/alert/updates.html:9
-#: templates/web/fixmystreet/report/display.html:35
+#: templates/web/fixmystreet/report/display.html:30
msgid "RSS feed of updates to this empty property"
msgstr "Porthiant RSS o ddiweddariadau i'r eiddo gwag hwn"
+#: templates/web/bromley/report/display.html:39
#: templates/web/default/alert/updates.html:9
-#: templates/web/default/report/display.html:38
+#: templates/web/default/report/display.html:33
#: templates/web/fixmystreet/alert/updates.html:14
-#: templates/web/fixmystreet/report/display.html:37
+#: templates/web/fixmystreet/report/display.html:32
msgid "Receive email when updates are left on this empty property."
msgstr ""
"Derbyn neges e-bost pan fydd diweddariadau'n cael eu rhoi am yr eiddo gwag "
@@ -2472,7 +2631,7 @@ msgstr "Wedi'u hadfer i'w defnyddio'n ddiweddar"
msgid "Recently returned to use"
msgstr "Wedi'u hadfer i'w defnyddio'n ddiweddar"
-#: templates/web/default/index.html:61 templates/web/fixmystreet/index.html:72
+#: templates/web/default/index.html:50 templates/web/fixmystreet/index.html:62
msgid "Recently reported empty properties"
msgstr "Eiddo gwag yr adroddwyd amdanynt yn ddiweddar"
@@ -2489,17 +2648,17 @@ msgstr ""
msgid "Remove flag"
msgstr ""
-#: templates/web/default/admin/report_edit.html:52
+#: templates/web/default/admin/report_edit.html:53
#: templates/web/default/admin/update_edit.html:48
msgid "Remove photo (can't be undone!)"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:77
+#: templates/web/emptyhomes/header.html:10
msgid "Report Empty Homes"
msgstr "Adrodd am Eiddo Gwag"
-#: templates/web/bromley/footer.html:33 templates/web/default/footer.html:7
-#: templates/web/emptyhomes/header.html:27
+#: templates/web/barnet/footer.html:16 templates/web/bromley/footer.html:17
+#: templates/web/default/footer.html:7 templates/web/emptyhomes/header.html:27
#: templates/web/fiksgatami/footer.html:5
#: templates/web/fiksgatami/nn/footer.html:5
#: templates/web/fixmystreet/footer.html:45
@@ -2507,7 +2666,8 @@ msgstr "Adrodd am Eiddo Gwag"
msgid "Report a property"
msgstr "Rhoi gwybod am eiddo"
-#: templates/web/fixmystreet/report/display.html:27
+#: templates/web/bromley/report/display.html:28
+#: templates/web/fixmystreet/report/display.html:22
#, fuzzy
msgid "Report abuse"
msgstr "Adroddiadau"
@@ -2517,26 +2677,27 @@ msgstr "Adroddiadau"
msgid "Report empty properties"
msgstr "Adrodd am eiddo gwag a gweld y rhain"
-#: perllib/FixMyStreet/App/Controller/Rss.pm:281
+#: perllib/FixMyStreet/App/Controller/Rss.pm:277
#, fuzzy
msgid "Report on %s"
msgstr "Adroddiadau"
-#: templates/web/default/index.html:15 templates/web/fixmystreet/index.html:28
+#: templates/web/default/index.html:15
+#: templates/web/fixmystreet/around/postcode_form.html:6
msgid "Report and view empty properties"
msgstr "Adrodd am eiddo gwag a gweld y rhain"
-#: templates/web/default/my/my.html:74 templates/web/fixmystreet/my/my.html:77
+#: templates/web/default/my/my.html:74
#, fuzzy
msgid "Reported %s"
msgstr "Adroddiadau"
-#: templates/web/default/my/my.html:72 templates/web/fixmystreet/my/my.html:75
+#: templates/web/default/my/my.html:72
#, fuzzy
msgid "Reported %s, to %s"
msgstr "Adroddwyd gan %s am %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:504
+#: perllib/FixMyStreet/DB/Result/Problem.pm:512
#: templates/web/default/contact/index.html:45
#: templates/web/fixmystreet/contact/index.html:46
msgid "Reported anonymously at %s"
@@ -2548,33 +2709,33 @@ msgstr "Adroddwyd yn ddi-enw am %s"
msgid "Reported before"
msgstr "Wedi adrodd o'r blaen"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:496
+#: perllib/FixMyStreet/DB/Result/Problem.pm:504
msgid "Reported by %s anonymously at %s"
msgstr "Adroddwyd gan %s yn ddi-enw am %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:527
+#: perllib/FixMyStreet/DB/Result/Problem.pm:535
#: templates/web/default/contact/index.html:47
#: templates/web/fixmystreet/contact/index.html:48
msgid "Reported by %s at %s"
msgstr "Adroddwyd gan %s am %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:518
+#: perllib/FixMyStreet/DB/Result/Problem.pm:526
msgid "Reported by %s by %s at %s"
msgstr "Adroddwyd gan %s trwy %s am %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:492
+#: perllib/FixMyStreet/DB/Result/Problem.pm:500
msgid "Reported by %s in the %s category anonymously at %s"
msgstr "Adroddwyd am hyn gan %s yn y categori %s yn ddi-enw, am %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:512
+#: perllib/FixMyStreet/DB/Result/Problem.pm:520
msgid "Reported by %s in the %s category by %s at %s"
msgstr "Adroddwyd gan %s yn y categori %s trwy %s am %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:500
+#: perllib/FixMyStreet/DB/Result/Problem.pm:508
msgid "Reported in the %s category anonymously at %s"
msgstr "Adroddiwyd yn y categori %s yn ddi-enw am %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:522
+#: perllib/FixMyStreet/DB/Result/Problem.pm:530
msgid "Reported in the %s category by %s at %s"
msgstr "Adroddwyd yn y categori %s gan %s am %s"
@@ -2582,14 +2743,14 @@ msgstr "Adroddwyd yn y categori %s gan %s am %s"
#: templates/web/default/report/new/fill_in_details.html:0
#: templates/web/default/report/new/fill_in_details.html:3
#: templates/web/default/report/new/fill_in_details_form.html:1
-#: templates/web/fixmystreet/around/around_index.html:1
+#: templates/web/fixmystreet/around/around_index.html:2
#: templates/web/fixmystreet/report/new/fill_in_details.html:0
#: templates/web/fixmystreet/report/new/fill_in_details.html:5
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:2
msgid "Reporting an empty property"
msgstr "Adrodd am eiddo gwag"
-#: templates/web/default/around/display_location.html:93
+#: templates/web/default/around/display_location.html:95
msgid "Reports on and around the map"
msgstr "Adroddiadau ar ac yng nghyffiniau'r map"
@@ -2598,13 +2759,13 @@ msgstr "Adroddiadau ar ac yng nghyffiniau'r map"
msgid "Resend report"
msgstr "Cuddio hen adroddiadau "
-#: perllib/FixMyStreet/Geocode/OSM.pm:107
+#: perllib/FixMyStreet/Geocode/OSM.pm:166
msgid ""
"Road operator for this named road (derived from road reference number and "
"type): %s"
msgstr ""
-#: perllib/FixMyStreet/Geocode/OSM.pm:104
+#: perllib/FixMyStreet/Geocode/OSM.pm:163
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr ""
@@ -2612,7 +2773,7 @@ msgstr ""
msgid "Save changes"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:984
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1027
#, fuzzy
msgid "Search Abuse"
msgstr "Adroddiadau cryno"
@@ -2621,14 +2782,14 @@ msgstr "Adroddiadau cryno"
msgid "Search Abuse Table"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:980
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1023
#: templates/web/default/admin/list_flagged.html:1
#: templates/web/default/admin/search_reports.html:1
#, fuzzy
msgid "Search Reports"
msgstr "Adroddiadau cryno"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:983
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1026
#: templates/web/default/admin/search_users.html:1
#, fuzzy
msgid "Search Users"
@@ -2640,7 +2801,7 @@ msgstr "Adroddiadau cryno"
msgid "Search:"
msgstr ""
-#: templates/web/default/alert/list.html:39
+#: templates/web/default/alert/_list.html:8
#: templates/web/fixmystreet/alert/_list.html:10
#, fuzzy
msgid ""
@@ -2651,7 +2812,7 @@ msgstr ""
"porthiant RSS,\n"
"neu rhowch eich cyfeiriad e-bost i danysgrifio am hysbysiad e-bost."
-#: perllib/FixMyStreet/DB/Result/Problem.pm:569
+#: perllib/FixMyStreet/DB/Result/Problem.pm:618
msgid "Sent to %s %s later"
msgstr "Anfonwyd at %s %s yn ddiweddarach"
@@ -2704,11 +2865,14 @@ msgstr ""
"cat=20'>Gwybodaeth\n"
"bellach am ein gwaith ar gartrefi gwag</a>.\n"
-#: templates/web/default/report/display.html:213
+#: templates/web/bromley/report/display.html:203
+#: templates/web/bromley/report/new/fill_in_details_form.html:129
+#: templates/web/bromley/report/new/fill_in_details_form.html:175
+#: templates/web/default/report/display.html:208
#: templates/web/default/report/new/fill_in_details_form.html:210
-#: templates/web/fixmystreet/report/display.html:189
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:123
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:180
+#: templates/web/fixmystreet/report/display.html:185
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:126
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:186
msgid "Show my name publicly"
msgstr ""
@@ -2722,13 +2886,14 @@ msgstr ""
msgid "Show pins"
msgstr "Dangos pinnau"
-#: templates/web/bromley/header.html:50
#: templates/web/default/auth/general.html:3
#: templates/web/default/auth/general.html:49
+#: templates/web/fixmybarangay/header.html.orig:46
#: templates/web/fixmystreet/auth/general.html:3
#: templates/web/fixmystreet/auth/general.html:38
#: templates/web/fixmystreet/auth/general.html:58
-#: templates/web/fixmystreet/header.html:50
+#: templates/web/fixmystreet/header.html:51
+#: templates/web/zurich/header.html:51
msgid "Sign in"
msgstr ""
@@ -2741,12 +2906,12 @@ msgstr ""
msgid "Sign in or create an account"
msgstr ""
+#: templates/web/bromley/auth/sign_out.html:1
#: templates/web/default/auth/sign_out.html:1
#: templates/web/default/header.html:30
#: templates/web/emptyhomes/header.html:41
#: templates/web/fiksgatami/header.html:22
#: templates/web/fiksgatami/nn/header.html:22
-#: templates/web/fixmystreet/auth/sign_out.html:1
#: templates/web/lichfielddc/header.html:177
#: templates/web/reading/header.html:33
msgid "Sign out"
@@ -2766,8 +2931,7 @@ msgstr ""
msgid "Some categories may require additional information."
msgstr ""
-#: templates/web/default/alert/index.html:30
-#: templates/web/fixmystreet/alert/index.html:33
+#: templates/web/default/alert/index.html:42
msgid "Some photos of recent reports"
msgstr "Rhai ffotograffau o adroddiadau diweddar"
@@ -2780,7 +2944,7 @@ msgstr ""
msgid "Some unconfirmeds"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:428
+#: perllib/FixMyStreet/Cobrand/UK.pm:97
msgid ""
"Sorry, that appears to be a Crown dependency postcode, which we don't cover."
msgstr ""
@@ -2789,14 +2953,15 @@ msgstr ""
msgid "Sorry, there has been an error confirming your empty property."
msgstr "Sori, bu gwall wrth gadarnhau eich eiddo gwag."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:147
-#: perllib/FixMyStreet/Geocode.pm:27 perllib/FixMyStreet/Geocode/Bing.pm:53
-#: perllib/FixMyStreet/Geocode/Google.pm:68
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:214
+#: perllib/FixMyStreet/Geocode.pm:27 perllib/FixMyStreet/Geocode/Bing.pm:51
+#: perllib/FixMyStreet/Geocode/Google.pm:69
msgid "Sorry, we could not find that location."
msgstr "Sori, ni fu modd i ni ddod o hyd i'r lleoliad hwnnw."
#: perllib/FixMyStreet/Geocode/Bing.pm:46
-#: perllib/FixMyStreet/Geocode/Google.pm:60
+#: perllib/FixMyStreet/Geocode/Google.pm:64
+#: perllib/FixMyStreet/Geocode/OSM.pm:59
msgid "Sorry, we could not parse that location. Please try again."
msgstr ""
"Sori, ni fu modd i ni ddosrannu'r lleoliad hwnnw. Rhowch gynnig arall arni."
@@ -2820,22 +2985,23 @@ msgstr "Diweddariad:"
msgid "Start month:"
msgstr ""
+#: templates/web/bromley/report/display.html:78
#: templates/web/default/admin/list_flagged.html:18
#: templates/web/default/admin/list_updates.html:6
#: templates/web/default/admin/search_reports.html:21
-#: templates/web/fixmystreet/report/display.html:77
+#: templates/web/fixmystreet/report/display.html:72
#, fuzzy
msgid "State"
msgstr "Diweddariad:"
#: templates/web/default/admin/report_edit.html:17
#: templates/web/default/admin/update_edit.html:18
-#: templates/web/default/report/display.html:82
+#: templates/web/default/report/display.html:77
#, fuzzy
msgid "State:"
msgstr "Diweddariad:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:986
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1029
#: templates/web/default/admin/stats.html:1
#, fuzzy
msgid "Stats"
@@ -2846,6 +3012,7 @@ msgstr "Diweddariad:"
msgid "Still open, via questionnaire, %s"
msgstr "Anfon yr holiadur"
+#: templates/web/bromley/report/new/fill_in_details_form.html:48
#: templates/web/fixmystreet/contact/index.html:79
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:58
#, fuzzy
@@ -2858,17 +3025,20 @@ msgstr "Pwnc:"
msgid "Subject:"
msgstr "Pwnc:"
+#: templates/web/bromley/report/new/fill_in_details_form.html:140
+#: templates/web/bromley/report/new/fill_in_details_form.html:190
+#: templates/web/bromley/report/new/fill_in_details_form.html:204
#: templates/web/default/questionnaire/creator_fixed.html:19
#: templates/web/default/report/new/fill_in_details_form.html:114
#: templates/web/default/report/new/fill_in_details_form.html:154
#: templates/web/default/report/new/fill_in_details_form.html:176
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:134
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:159
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:195
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:137
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:162
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:201
msgid "Submit"
msgstr "Anfon"
-#: templates/web/default/admin/report_edit.html:55
+#: templates/web/default/admin/report_edit.html:56
#: templates/web/default/admin/update_edit.html:51
#: templates/web/default/admin/user_edit.html:20
#, fuzzy
@@ -2880,19 +3050,20 @@ msgstr "Anfon"
msgid "Submit questionnaire"
msgstr "Anfon yr holiadur"
+#: templates/web/bromley/report/display.html:44
#: templates/web/default/alert/updates.html:17
-#: templates/web/default/report/display.html:43
+#: templates/web/default/report/display.html:38
#: templates/web/fixmystreet/alert/updates.html:23
-#: templates/web/fixmystreet/report/display.html:42
+#: templates/web/fixmystreet/report/display.html:37
msgid "Subscribe"
msgstr "Tanysgrifio"
-#: templates/web/default/alert/list.html:126
-#: templates/web/fixmystreet/alert/_list.html:88
+#: templates/web/default/alert/_list.html:97
+#: templates/web/fixmystreet/alert/_list.html:92
msgid "Subscribe me to an email alert"
msgstr "Dymunaf danysgrifio i rybuddion drwy e-bost"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:978
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1021
#: templates/web/default/admin/index.html:1
#, fuzzy
msgid "Summary"
@@ -2905,7 +3076,7 @@ msgstr "Adroddiadau cryno"
msgid "Summary reports"
msgstr "Adroddiadau cryno"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:982
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1025
#: templates/web/default/admin/questionnaire.html:1
msgid "Survey Results"
msgstr ""
@@ -2914,7 +3085,7 @@ msgstr ""
msgid "Text"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:14
+#: templates/web/default/admin/council_contacts.html:18
msgid "Text only version"
msgstr ""
@@ -2982,8 +3153,17 @@ msgstr ""
"helpu i \n"
"ddatrys argyfwng tai gwag y DU."
-#: templates/web/default/around/around_index.html:43
-#: templates/web/fixmystreet/around/around_index.html:46
+#: templates/web/fixmystreet/around/around_index.html:27
+#, fuzzy
+msgid ""
+"Thanks for uploading your photo. We now need to locate your empty property, "
+"so please enter a nearby street name or postcode in the box above&nbsp;:"
+msgstr ""
+"Diolch am lwytho'ch ffotograff i fyny. Nawr mae angen i ni ddod o hyd i "
+"leoliad eich eiddo gwag, felly rhowch enw stryd gerllaw neu god post yn y "
+"blwch isod&nbsp;:"
+
+#: templates/web/default/around/around_index.html:28
msgid ""
"Thanks for uploading your photo. We now need to locate your empty property, "
"so please enter a nearby street name or postcode in the box below&nbsp;:"
@@ -3005,34 +3185,35 @@ msgstr ""
"i ni'ch holi chi, a ydych erioed wedi rhoi gwybod i'r cyngor am eiddo gwag "
"cyn hyn?"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:856
+#: perllib/FixMyStreet/App/Controller/Photo.pm:190
msgid ""
"That image doesn't appear to have uploaded correctly (%s), please try again."
msgstr ""
"Nid yw'n ymddangos bod y ddelwedd honno wedi llwytho i fyny'n gywir (%s), "
"rhowch gynnig arni eto."
-#: templates/web/default/alert/index.html:12
-#: templates/web/fixmystreet/alert/index.html:12
+#: perllib/FixMyStreet/App/Controller/Council.pm:91
+#, fuzzy
msgid ""
-"That location does not appear to be covered by a council, perhaps it is "
-"offshore - please try somewhere more specific."
+"That location does not appear to be covered by a council; perhaps it is "
+"offshore or outside the country. Please try again."
msgstr ""
"Nid yw'n ymddangos bod cyngor yn gyfrifol am y lleoliad hwnnw, efallai ei "
"fod ar y môr - chwiliwch am fan mwy penodol."
#: perllib/FixMyStreet/App/Controller/Location.pm:107
-msgid "That location does not appear to be in Britain; please try again."
+#, fuzzy
+msgid "That location does not appear to be in the UK; please try again."
msgstr ""
"Nid yw'n ymddangos bod y lleoliad hwnnw ym Mhrydain; rhowch gynnig arall "
"arni."
-#: perllib/FixMyStreet/Cobrand/Default.pm:421
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:78
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:63
+#: perllib/FixMyStreet/Cobrand/UK.pm:90
msgid "That postcode was not recognised, sorry."
msgstr "Ni chafodd y cod post hwnnw ei gydnabod, sori."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:560
+#: perllib/FixMyStreet/App/Controller/Admin.pm:605
#, fuzzy
msgid "That empty property will now be resent."
msgstr "ni fydd eich eiddo gwag yn cael ei bostio"
@@ -3041,18 +3222,6 @@ msgstr "ni fydd eich eiddo gwag yn cael ei bostio"
msgid "That report has been removed from reportemptyhomes.com."
msgstr "Mae'r adroddiad hwnnw wedi cael ei dynnu oddi ar reportemptyhomes.com"
-#: templates/web/default/around/around_index.html:26
-#: templates/web/fixmystreet/around/around_index.html:29
-#, fuzzy
-msgid ""
-"That spot does not appear to be covered by a council. If you have tried to "
-"report an issue past the shoreline, for example, please specify the closest "
-"point on land."
-msgstr ""
-"Nid yw'n ymddangos bod cyngor yn gyfrifol am y lleoliad hwnnw.\n"
-"Os ydych wedi ceisio adrodd am broblem oddi ar y lân, er enghraifft,\n"
-"dylech nodi'r pwynt agosaf ar y tir."
-
#: templates/web/emptyhomes/static/about.html:7
#, fuzzy
msgid "The Empty Homes Agency"
@@ -3097,7 +3266,6 @@ msgstr ""
#: templates/web/default/auth/token.html:21
#: templates/web/default/email_sent.html:22
-#: templates/web/fixmystreet/auth/token.html:21
msgid ""
"The confirmation email <strong>may</strong> take a few minutes to arrive "
"&mdash; <em>please</em> be patient."
@@ -3126,8 +3294,9 @@ msgid ""
"this page."
msgstr "Mae manylion eich eiddo gwag ar gael ar ochr dde'r dudalen hon."
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
#: perllib/FixMyStreet/App/Controller/Reports.pm:44
-#: perllib/FixMyStreet/App/Controller/Reports.pm:71
+#: perllib/FixMyStreet/App/Controller/Reports.pm:75
#, fuzzy
msgid "The error was: %s"
msgstr "Testun y gwall oedd:"
@@ -3139,7 +3308,7 @@ msgid ""
"requested_datetime, updated_datetime, service_code and service_name."
msgstr ""
-#: perllib/FixMyStreet/Geocode/OSM.pm:99
+#: perllib/FixMyStreet/Geocode/OSM.pm:158
msgid ""
"The following information about the nearest road might be inaccurate or "
"irrelevant, if the empty property is close to several roads or close to a "
@@ -3217,8 +3386,6 @@ msgstr ""
#: templates/web/default/auth/change_password.html:12
#: templates/web/default/auth/change_password.html:16
-#: templates/web/fixmystreet/auth/change_password.html:12
-#: templates/web/fixmystreet/auth/change_password.html:16
msgid "The passwords do not match"
msgstr ""
@@ -3227,32 +3394,23 @@ msgstr ""
msgid "The requested URL '%s' was not found on this server"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1036
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1206
-#: perllib/FixMyStreet/App/Controller/Admin.pm:540
-#: perllib/FixMyStreet/App/Controller/Admin.pm:703
-msgid "The requested URL was not found on this server."
-msgstr ""
-
-#: templates/web/default/alert/list.html:45
+#: templates/web/default/alert/_list.html:14
#: templates/web/fixmystreet/alert/_list.html:16
msgid "The simplest alert is our geographic one:"
msgstr "Yr hysbysiad symlaf yw ein hysbysiad daearyddol:"
-#: templates/web/default/report/new/councils_text_all.html:18
+#: templates/web/barnet/report/new/councils_text_all.html:3
+#: templates/web/default/report/new/councils_extra_text.html:1
#: templates/web/default/report/new/councils_text_some.html:10
#: templates/web/default/report/new/councils_text_some.html:11
#: templates/web/default/report/new/fill_in_details_form.html:17
-#: templates/web/fixmystreet/report/new/councils_text_all.html:18
-#: templates/web/fixmystreet/report/new/councils_text_some.html:10
-#: templates/web/fixmystreet/report/new/councils_text_some.html:11
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:12
msgid ""
"The subject and details of the empty property will be public, plus your name "
"if you give us permission."
msgstr ""
-#: bin/send-reports:79
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:269
msgid ""
"The user could not locate the empty property on a map, but to see the area "
"around the location they entered"
@@ -3260,14 +3418,19 @@ msgstr ""
"Ni allai'r defnyddiwr leoli'r eiddo gwag ar fap, ond i weld yr ardal o "
"gwmpas y lleoliad a gofnodwyd ganddynt "
-#: perllib/FixMyStreet/App/Controller/Reports.pm:70
+#: perllib/FixMyStreet/App/Controller/Reports.pm:72
msgid ""
"There was an empty property showing the All Reports page. Please try again "
"later."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:656
-#: perllib/FixMyStreet/App/Controller/Report/Update.pm:125
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:59
+#, fuzzy
+msgid "There was an empty property showing this page. Please try again later."
+msgstr "Cafwyd anhawsterau gyda'ch diweddariad. Gweler isod"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:733
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:130
#: templates/web/default/auth/general.html:23
#: templates/web/fixmystreet/auth/general.html:24
msgid ""
@@ -3276,13 +3439,13 @@ msgid ""
"sign in by email&rsquo; section of the form."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Alert.pm:351
+#: perllib/FixMyStreet/App/Controller/Alert.pm:355
msgid ""
"There was an empty property with your email/password combination. Please try "
"again."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/Update.pm:215
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:252
#, fuzzy
msgid "There was an empty property with your update. Please try again."
msgstr "Cafwyd anhawsterau gyda'ch diweddariad. Gweler isod"
@@ -3291,7 +3454,7 @@ msgstr "Cafwyd anhawsterau gyda'ch diweddariad. Gweler isod"
msgid "There were problems with your report. Please see below."
msgstr "Cafwyd anhawsterau gyda'ch adroddiad. Gweler isod."
-#: perllib/FixMyStreet/App/Controller/Report/Update.pm:242
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:279
msgid "There were problems with your update. Please see below."
msgstr "Cafwyd anhawsterau gyda'ch diweddariad. Gweler isod"
@@ -3301,7 +3464,7 @@ msgid ""
"change without warnings in the future."
msgstr ""
-#: bin/send-reports:186
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:339
msgid ""
"This email has been sent to both councils covering the location of the empty "
"property, as the user did not categorise it; please ignore it if you're not "
@@ -3309,14 +3472,15 @@ msgid ""
"empty property this is so we can add it to our system."
msgstr ""
-#: bin/send-reports:189
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:342
msgid ""
"This email has been sent to several councils covering the location of the "
"empty property, as the category selected is provided for all of them; please "
"ignore it if you're not the correct council to deal with the issue."
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:778
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:865
+#: perllib/FixMyStreet/Cobrand/UK.pm:62
msgid "This information is required"
msgstr ""
@@ -3346,48 +3510,50 @@ msgstr ""
"Dyma grynodeb o'r holl adroddiadau ar y safle hwn; dewiswch gyngor penodol i "
"weld yr adroddiadau a anfonwyd ato."
-#: perllib/FixMyStreet/Cobrand/Default.pm:874
+#: templates/web/default/report/banner.html:15
#, fuzzy
msgid "This empty property has been closed"
msgstr "Mae'r eiddo gwag hwn wedi cael ei adfer i'w ddefnyddio"
-#: perllib/FixMyStreet/Cobrand/Default.pm:870
-#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:117
-#: templates/web/default/report/display.html:100
-#: templates/web/fixmystreet/report/display.html:95
+#: templates/web/bromley/report/display.html:96
+#: templates/web/default/report/banner.html:12
+#: templates/web/default/report/display.html:95
+#: templates/web/emptyhomes/report/display.html:12
+#: templates/web/fixmystreet/report/display.html:90
msgid "This empty property has been returned to use"
msgstr "Mae'r eiddo gwag hwn wedi cael ei adfer i'w ddefnyddio"
-#: templates/web/default/report/display.html:95
-#: templates/web/fixmystreet/report/display.html:89
+#: templates/web/bromley/report/display.html:90
+#: templates/web/default/report/display.html:90
+#: templates/web/fixmystreet/report/display.html:84
#, fuzzy
msgid "This empty property has not been returned to use"
msgstr "Mae'r eiddo gwag hwn wedi cael ei adfer i'w ddefnyddio"
-#: perllib/FixMyStreet/Cobrand/Default.pm:879
+#: templates/web/default/report/banner.html:19
#, fuzzy
msgid "This empty property is in progress"
msgstr "Mae'r eiddo gwag hwn wedi cael ei adfer i'w ddefnyddio"
-#: perllib/FixMyStreet/Cobrand/Default.pm:866
+#: templates/web/default/report/banner.html:9
msgid "This empty property is old and of unknown status."
msgstr "Mae'r eiddo gwag hwn yn hen ac nid yw ei statws yn hysbys."
-#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:81
+#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:83
#, fuzzy
msgid "This report is currently marked as closed."
msgstr "Mae'r eiddo gwag hwn wedi cael ei adfer i'w ddefnyddio"
-#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:79
+#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:81
#, fuzzy
msgid "This report is currently marked as returned to use."
msgstr "Mae'r eiddo gwag hwn wedi cael ei adfer i'w ddefnyddio"
-#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:83
+#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:85
msgid "This report is currently marked as open."
msgstr ""
-#: bin/send-reports:72
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:262
msgid ""
"This web page also contains a photo of the empty property, provided by the "
"user."
@@ -3395,7 +3561,7 @@ msgstr ""
"Mae'r dudalen we hon hefyd yn cynnwys ffotograff o'r eiddo gwag, wedi'i "
"ddarparu gan y defnyddiwr."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:981
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1024
#: templates/web/default/admin/timeline.html:1
msgid "Timeline"
msgstr ""
@@ -3423,28 +3589,17 @@ msgstr ""
"Er mwyn rhoi gwybod am eiddo gwag\n"
" <strong>cliciwch ar y map</strong> wrth y lleoliad cywir."
-#: templates/web/fixmystreet/alert/index.html:19
+#: templates/web/default/alert/index.html:27
#, fuzzy
msgid ""
"To find out what local alerts we have in your area, council or ward, please "
-"enter your GB\n"
-" postcode or street name and area"
-msgstr ""
-"I gael gwybod pa hysbysiadau lleol sydd gennym yn eich ardal, cyngor neu "
-"ward chi,\n"
-"cofnodwch eich cod post Prydeinig neu enw stryd ac ardal:"
-
-#: templates/web/default/alert/index.html:21
-msgid ""
-"To find out what local alerts we have in your area, council or ward, please "
-"enter your GB\n"
-"postcode or street name and area:"
+"enter your postcode or street name and area"
msgstr ""
"I gael gwybod pa hysbysiadau lleol sydd gennym yn eich ardal, cyngor neu "
"ward chi,\n"
"cofnodwch eich cod post Prydeinig neu enw stryd ac ardal:"
-#: bin/send-reports:78
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:268
msgid "To view a map of the precise location of this issue"
msgstr "Gweld map o union leoliad y broblem hon"
@@ -3465,7 +3620,7 @@ msgstr ""
msgid "Unconfirmed"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/FixMyStreet.pm:16
+#: templates/web/fixmystreet/report/banner.html:9
msgid "Unknown"
msgstr ""
@@ -3478,7 +3633,8 @@ msgstr "ID eiddo gwag anhysbys"
msgid "Unknown empty property ID"
msgstr "ID eiddo gwag anhysbys"
-#: templates/web/fixmystreet/report/display.html:70
+#: templates/web/bromley/report/display.html:66
+#: templates/web/fixmystreet/report/display.html:65
#, fuzzy
msgid "Update"
msgstr "Diweddariad:"
@@ -3526,18 +3682,18 @@ msgstr ""
msgid "Update reopened empty property"
msgstr "Sut i roi gwybod am eiddo gwag"
-#: templates/web/default/admin/council_contacts.html:58
+#: templates/web/default/admin/council_contacts.html:62
#, fuzzy
msgid "Update statuses"
msgstr "Diweddariadau"
-#: templates/web/default/report/display.html:76
+#: templates/web/default/report/display.html:71
msgid "Update:"
msgstr "Diweddariad:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:649
-#: perllib/FixMyStreet/App/Controller/Admin.pm:766
-#: perllib/FixMyStreet/App/Controller/Admin.pm:846
+#: perllib/FixMyStreet/App/Controller/Admin.pm:694
+#: perllib/FixMyStreet/App/Controller/Admin.pm:809
+#: perllib/FixMyStreet/App/Controller/Admin.pm:889
#, fuzzy
msgid "Updated!"
msgstr "Diweddariadau"
@@ -3552,18 +3708,20 @@ msgstr "Diweddariadau"
msgid "Updates on {{title}}"
msgstr "Diweddariadau am {{title}}"
+#: templates/web/bromley/report/display.html:0
+#: templates/web/bromley/report/display.html:8
#: templates/web/default/report/display.html:0
#: templates/web/default/report/display.html:7
#: templates/web/fixmystreet/report/display.html:0
-#: templates/web/fixmystreet/report/display.html:7
+#: templates/web/fixmystreet/report/display.html:8
msgid "Updates to this empty property, reportemptyhomes.com"
msgstr "Diweddariadau i'r eiddo gwag hwn, reportemptyhomes.com"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1139
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1182
msgid "User flag removed"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1111
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1154
msgid "User flagged"
msgstr ""
@@ -3571,8 +3729,8 @@ msgstr ""
msgid "Users"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Admin.pm:306
-#: perllib/FixMyStreet/App/Controller/Admin.pm:336
+#: perllib/FixMyStreet/App/Controller/Admin.pm:309
+#: perllib/FixMyStreet/App/Controller/Admin.pm:339
#, fuzzy
msgid "Values updated"
msgstr "Anfonwch ddiweddariadau ataf i drwy'r e-bost"
@@ -3583,6 +3741,11 @@ msgstr "Anfonwch ddiweddariadau ataf i drwy'r e-bost"
msgid "View report on site"
msgstr "Adroddiadau"
+#: templates/web/default/reports/council.html:18
+#, fuzzy
+msgid "View reports by ward"
+msgstr "Adroddiadau"
+
#: templates/web/emptyhomes/tokens/confirm_problem.html:39
msgid "View your report"
msgstr "Gweld eich adroddiad"
@@ -3596,30 +3759,21 @@ msgstr "Gweld eich adroddiad"
msgid "Viewing a location"
msgstr "Gweld lleoliad"
+#: templates/web/bromley/report/display.html:0
#: templates/web/default/report/display.html:0
-#: templates/web/emptyhomes/report/display.html:1
#: templates/web/emptyhomes/report/display.html:2
#: templates/web/fixmystreet/report/display.html:0
msgid "Viewing an empty property"
msgstr "Gweld eiddo gwag"
-#: templates/web/default/reports/council.html:23
-#: templates/web/default/reports/council.html:74
-#: templates/web/default/reports/council.html:86
+#: templates/web/default/reports/council.html:20
#: templates/web/emptyhomes/reports/council.html:18
msgid "Wards of this council"
msgstr ""
-#: perllib/FixMyStreet/Cobrand/Default.pm:432
-#: perllib/FixMyStreet/Geocode/Bing.pm:48
-#: perllib/FixMyStreet/Geocode/Google.pm:63
-msgid "We do not currently cover Northern Ireland, I'm afraid."
-msgstr ""
-
#: templates/web/default/alert/choose.html:6
-#: templates/web/default/around/around_index.html:32
-#: templates/web/fixmystreet/alert/choose.html:6
-#: templates/web/fixmystreet/around/around_index.html:35
+#: templates/web/default/around/around_index.html:17
+#: templates/web/fixmystreet/around/around_index.html:16
msgid ""
"We found more than one match for that location. We show up to ten matches, "
"please try a different search if yours is not here."
@@ -3629,7 +3783,6 @@ msgstr ""
"lleoliad chi yno."
#: templates/web/default/auth/token.html:19
-#: templates/web/fixmystreet/auth/token.html:19
msgid "We have sent you an email containing a link to confirm your account."
msgstr ""
@@ -3640,26 +3793,29 @@ msgid ""
"property you reported."
msgstr ""
-#: templates/web/fixmystreet/report/display.html:158
+#: templates/web/bromley/report/display.html:141
+#: templates/web/fixmystreet/report/display.html:153
#, fuzzy
msgid "We never show your email"
msgstr "(nid ydym byth yn dangos eich cyfeiriad e-bost na'ch rhif ffôn)"
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:127
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:184
+#: templates/web/bromley/report/new/fill_in_details_form.html:133
+#: templates/web/bromley/report/new/fill_in_details_form.html:179
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:130
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:190
#, fuzzy
msgid "We never show your email address or phone number."
msgstr "(nid ydym byth yn dangos eich cyfeiriad e-bost na'ch rhif ffôn)"
-#: bin/send-reports:196
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:349
msgid ""
"We realise this empty property might be the responsibility of %s; however, "
"we don't currently have any contact details for them. If you know of an "
"appropriate contact address, please do get in touch."
msgstr ""
-#: templates/web/default/index.html:45 templates/web/emptyhomes/index.html:61
-#: templates/web/fixmystreet/index.html:56
+#: templates/web/default/index.html:34 templates/web/emptyhomes/index.html:59
+#: templates/web/fixmystreet/index.html:45
msgid ""
"The details will be sent directly to the right person in the local council "
"for them to take action"
@@ -3667,13 +3823,19 @@ msgstr ""
"Caiff y manylion eu hanfon yn uniongyrchol at yr unigolyn cywir yn y cyngor "
"lleol er mwyn iddynt weithredu"
+#: templates/web/bromley/report/new/fill_in_details_form.html:217
#: templates/web/default/report/new/notes.html:5
-#: templates/web/fixmystreet/report/new/notes.html:4
msgid ""
"We will only use your personal information in accordance with our <a href=\"/"
"faq#privacy\">privacy policy.</a>"
msgstr ""
+#: templates/web/fixmystreet/report/new/notes.html:4
+msgid ""
+"We will only use your personal information in accordance with our <a href=\"/"
+"privacy\">privacy policy.</a>"
+msgstr ""
+
#: templates/web/emptyhomes/contact/blurb.html:2
#, fuzzy
msgid ""
@@ -3694,7 +3856,7 @@ msgstr ""
"Byddai'n dda gennym glywed eich barn am y wefan hon. Llenwch y ffurflen, neu "
"anfonwch neges e-bost at <a href='mailto:%s'>%s</a>:"
-#: templates/web/default/admin/council_contacts.html:37
+#: templates/web/default/admin/council_contacts.html:41
#: templates/web/default/admin/council_edit.html:41
msgid "When edited"
msgstr ""
@@ -3704,7 +3866,7 @@ msgstr ""
msgid "When sent"
msgstr ""
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:538
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:612
msgid "Whole block of empty flats"
msgstr "Bloc cyfan o fflatiau gwag"
@@ -3715,13 +3877,14 @@ msgid ""
"term is the administration ID provided by <a href=\"%s\">MaPit</a>."
msgstr ""
-#: templates/web/fixmystreet/footer.html:23
+#: templates/web/fixmystreet/footer.html:22
msgid ""
-"Would you like better integration with reportemptyhomes.com? <a href=\"/for-"
-"councils\">Find out about reportemptyhomes.com for councils</a>."
+"Would you like better integration with reportemptyhomes.com? <a href="
+"\"http://www.mysociety.org/for-councils/fixmystreet/\">Find out about "
+"reportemptyhomes.com for councils</a>."
msgstr ""
-#: templates/web/fixmystreet/footer.html:19
+#: templates/web/fixmystreet/footer.html:18
msgid ""
"Would you like to contribute to reportemptyhomes.com? Our code is open "
"source and <a href=\"http://github.com/mysociety/fixmystreet\">available on "
@@ -3746,15 +3909,15 @@ msgstr ""
msgid "Year"
msgstr ""
-#: templates/web/default/admin/council_contacts.html:44
-#: templates/web/default/admin/council_contacts.html:45
+#: templates/web/default/admin/council_contacts.html:48
+#: templates/web/default/admin/council_contacts.html:49
#: templates/web/default/admin/council_edit.html:5
#: templates/web/default/admin/list_updates.html:30
#: templates/web/default/admin/list_updates.html:31
#: templates/web/default/admin/list_updates.html:32
#: templates/web/default/admin/problem_row.html:19
#: templates/web/default/admin/report_edit.html:27
-#: templates/web/default/admin/report_edit.html:40
+#: templates/web/default/admin/report_edit.html:41
#: templates/web/default/admin/search_users.html:23
#: templates/web/default/admin/update_edit.html:15
#: templates/web/default/questionnaire/creator_fixed.html:14
@@ -3765,8 +3928,10 @@ msgstr ""
msgid "Yes"
msgstr "Ydw"
-#: templates/web/fixmystreet/report/display.html:138
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:153
+#: templates/web/bromley/report/display.html:155
+#: templates/web/bromley/report/new/fill_in_details_form.html:198
+#: templates/web/fixmystreet/report/display.html:133
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:156
#, fuzzy
msgid "Yes I have a password"
msgstr "Adrodd am eiddo gwag a gweld y rhain"
@@ -3805,10 +3970,6 @@ msgstr "Gallwch <a href=\"%s\">weld mwy o fanylion</a>."
#: templates/web/default/report/new/councils_text_none.html:16
#: templates/web/default/report/new/councils_text_some.html:20
#: templates/web/default/report/new/councils_text_some.html:22
-#: templates/web/fixmystreet/report/new/councils_text_none.html:12
-#: templates/web/fixmystreet/report/new/councils_text_none.html:14
-#: templates/web/fixmystreet/report/new/councils_text_some.html:20
-#: templates/web/fixmystreet/report/new/councils_text_some.html:22
msgid ""
"You can help us by finding a contact email address for local empty "
"properties for %s and emailing it to us at <a href='mailto:%s'>%s</a>."
@@ -3824,6 +3985,7 @@ msgstr ""
"href='%s'>cysylltwch â ni</a>, neu ewch i <a href='%s'>weld eich eiddo gwag</"
"a>.\n"
+#: templates/web/bromley/report/new/fill_in_details_form.html:97
#: templates/web/default/questionnaire/index.html:92
#: templates/web/default/report/new/fill_in_details_form.html:93
#: templates/web/fixmystreet/questionnaire/index.html:87
@@ -3833,18 +3995,19 @@ msgid ""
"replace it."
msgstr ""
-#: templates/web/default/report/display.html:111
-#: templates/web/fixmystreet/report/display.html:105
+#: templates/web/bromley/report/display.html:106
+#: templates/web/default/report/display.html:106
+#: templates/web/fixmystreet/report/display.html:100
msgid ""
"You have already attached a photo to this update, attaching another one will "
"replace it."
msgstr ""
#: templates/web/default/auth/sign_out.html:3
-#: templates/web/fixmystreet/auth/sign_out.html:3
msgid "You have been signed out"
msgstr ""
+#: templates/web/bromley/report/new/fill_in_details_form.html:25
#: templates/web/default/report/new/fill_in_details_form.html:7
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:27
#, fuzzy
@@ -3860,8 +4023,8 @@ msgstr ""
msgid "You have successfully confirmed your alert."
msgstr "Rydych wedi cadarnhau'ch hysbysiad yn llwyddiannus."
-#: templates/web/default/tokens/confirm_problem.html:6
-#: templates/web/default/tokens/confirm_problem.html:7
+#: templates/web/default/tokens/confirm_problem.html:14
+#: templates/web/default/tokens/confirm_problem.html:15
msgid "You have successfully confirmed your empty property"
msgstr "Rydych wedi cadarnhau eich eiddo gwag yn llwyddiannus"
@@ -3883,8 +4046,8 @@ msgstr "Rydych wedi dileu'ch hysbysiad yn llwyddiannus."
msgid "You have successfully deleted your alert."
msgstr "Rydych wedi dileu'ch hysbysiad yn llwyddiannus."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:662
-#: perllib/FixMyStreet/App/Controller/Report/Update.pm:131
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:740
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:136
#, fuzzy
msgid ""
"You have successfully signed in; please check and confirm your details are "
@@ -3909,19 +4072,23 @@ msgstr ""
msgid "Your Reports"
msgstr "Adroddiadau"
-#: templates/web/fixmystreet/alert/_list.html:85
+#: templates/web/bromley/report/display.html:41
+#: templates/web/bromley/report/display.html:43
+#: templates/web/bromley/report/new/fill_in_details_form.html:145
+#: templates/web/fixmystreet/alert/_list.html:89
#: templates/web/fixmystreet/alert/updates.html:19
#: templates/web/fixmystreet/alert/updates.html:22
#: templates/web/fixmystreet/contact/index.html:72
-#: templates/web/fixmystreet/report/display.html:39
-#: templates/web/fixmystreet/report/display.html:41
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:139
+#: templates/web/fixmystreet/report/display.html:34
+#: templates/web/fixmystreet/report/display.html:36
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:142
#, fuzzy
msgid "Your email"
msgstr "Eich cyfeiriad e-bost:"
+#: templates/web/bromley/report/display.html:130
#: templates/web/fixmystreet/auth/general.html:26
-#: templates/web/fixmystreet/report/display.html:129
+#: templates/web/fixmystreet/report/display.html:124
#, fuzzy
msgid "Your email address"
msgstr "Eich cyfeiriad e-bost:"
@@ -3931,51 +4098,75 @@ msgstr "Eich cyfeiriad e-bost:"
msgid "Your email address:"
msgstr "Eich cyfeiriad e-bost:"
-#: templates/web/default/alert/list.html:120
-#: templates/web/default/report/display.html:133
+#: templates/web/default/alert/_list.html:92
+#: templates/web/default/report/display.html:128
#: templates/web/default/report/new/fill_in_details_form.html:124
msgid "Your email:"
msgstr "Eich cyfeiriad e-bost:"
+#: templates/web/bromley/report/display.html:193
+#: templates/web/bromley/report/new/fill_in_details_form.html:117
+#: templates/web/bromley/report/new/fill_in_details_form.html:164
+#, fuzzy
+msgid "Your first name"
+msgstr "Eich enw:"
+
+#: templates/web/fixmystreet/report/updates-sidebar-notes.html:5
+msgid ""
+"Your information will only be used in accordance with our <a href=\"/privacy"
+"\">privacy policy</a>"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:199
+#: templates/web/bromley/report/new/fill_in_details_form.html:123
+#: templates/web/bromley/report/new/fill_in_details_form.html:170
+#, fuzzy
+msgid "Your last name"
+msgstr "Eich enw:"
+
#: templates/web/fixmystreet/auth/general.html:53
#: templates/web/fixmystreet/contact/index.html:65
-#: templates/web/fixmystreet/report/display.html:185
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:118
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:175
+#: templates/web/fixmystreet/report/display.html:181
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:121
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:181
#, fuzzy
msgid "Your name"
msgstr "Eich enw:"
#: templates/web/default/auth/general.html:59
#: templates/web/default/contact/index.html:68
-#: templates/web/default/report/display.html:207
+#: templates/web/default/report/display.html:202
#: templates/web/default/report/new/fill_in_details_form.html:203
msgid "Your name:"
msgstr "Eich enw:"
+#: templates/web/bromley/report/display.html:160
+#: templates/web/bromley/report/new/fill_in_details_form.html:203
#: templates/web/fixmystreet/auth/general.html:37
-#: templates/web/fixmystreet/report/display.html:143
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:158
+#: templates/web/fixmystreet/report/display.html:138
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:161
#, fuzzy
msgid "Your password"
msgstr "Adroddiadau"
#: templates/web/default/auth/change_password.html:6
-#: templates/web/fixmystreet/auth/change_password.html:6
msgid "Your password has been changed"
msgstr ""
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:131
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:189
+#: templates/web/bromley/report/new/fill_in_details_form.html:137
+#: templates/web/bromley/report/new/fill_in_details_form.html:184
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:134
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:195
msgid "Your phone number"
msgstr ""
-#: templates/web/fixmystreet/questionnaire/index.html:16
+#: templates/web/fixmystreet/questionnaire/index.html:15
#, fuzzy
msgid "Your report"
msgstr "Adroddiadau"
-#: templates/web/bromley/footer.html:35 templates/web/default/footer.html:9
+#: templates/web/barnet/footer.html:18 templates/web/bromley/footer.html:19
+#: templates/web/bromley/header.html:75 templates/web/default/footer.html:9
#: templates/web/fiksgatami/footer.html:6
#: templates/web/fiksgatami/nn/footer.html:6
#: templates/web/fixmystreet/footer.html:47
@@ -3997,8 +4188,8 @@ msgstr "Eich&nbsp;cyfeiriad e-bost:"
msgid "by %s"
msgstr ""
-#: templates/web/default/reports/council.html:6
-#: templates/web/default/reports/council.html:7
+#: templates/web/default/reports/council.html:12
+#: templates/web/default/reports/council.html:13
#: templates/web/emptyhomes/reports/council.html:6
#: templates/web/emptyhomes/reports/council.html:7
msgid "council"
@@ -4008,8 +4199,8 @@ msgstr "cyngor"
msgid "didn't use map"
msgstr ""
-#: templates/web/fixmystreet/alert/index.html:24
-#: templates/web/fixmystreet/index.html:41
+#: templates/web/default/alert/index.html:33
+#: templates/web/fixmystreet/around/postcode_form.html:17
msgid "e.g. ‘%s’ or ‘%s’"
msgstr ""
@@ -4017,26 +4208,26 @@ msgstr ""
msgid "from %d different users"
msgstr ""
-#: perllib/Utils.pm:248
+#: perllib/Utils.pm:289
msgid "less than a minute"
msgstr "llai na munud"
-#: templates/web/default/report/updates.html:24
+#: templates/web/default/report/updates.html:27
msgid "marked as %s"
msgstr ""
-#: templates/web/default/report/updates.html:22
+#: templates/web/default/report/updates.html:25
msgid "marked as returned to use"
msgstr "cofnodwyd bod hyn wedi'i adfer i'w ddefnyddio"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:109
+#: perllib/FixMyStreet/App/Controller/Admin.pm:112
#: templates/web/default/admin/questionnaire.html:15
#: templates/web/default/admin/questionnaire.html:16
msgid "n/a"
msgstr ""
-#: templates/web/default/alert/list.html:114
-#: templates/web/fixmystreet/alert/_list.html:81
+#: templates/web/default/alert/_list.html:87
+#: templates/web/fixmystreet/alert/_list.html:85
msgid "or"
msgstr "neu"
@@ -4048,15 +4239,20 @@ msgstr ""
msgid "other areas:"
msgstr ""
-#: templates/web/default/report/updates.html:23
+#: templates/web/default/report/updates.html:26
msgid "reopened"
msgstr "wedi'i ailagor"
-#: templates/web/bromley/header.html:47
-#: templates/web/fixmystreet/header.html:47
+#: templates/web/barnet/header.html:71 templates/web/bromley/header.html:100
+#: templates/web/bromley/header.html:65
+#: templates/web/fixmybarangay/header.html.orig:43
+#: templates/web/fixmystreet/header.html:48
+#: templates/web/zurich/header.html:48
msgid "sign out"
msgstr ""
+#: templates/web/bromley/report/new/fill_in_details_form.html:4
+#: templates/web/bromley/report/new/fill_in_details_form.html:7
#: templates/web/default/report/new/fill_in_details_form.html:11
#: templates/web/default/report/new/fill_in_details_form.html:14
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:6
@@ -4065,17 +4261,21 @@ msgstr ""
msgid "the local council"
msgstr "Ni roddwyd gwybod i'r cyngor am hyn"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:534
+#: perllib/FixMyStreet/DB/Result/Problem.pm:541
msgid "the map was not used so pin location may be inaccurate"
msgstr ""
"ni ddefnyddiwyd y map felly mae'n bosibl na fydd lleoliad y pin yn gywir"
-#: bin/send-reports:177
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
+msgid "their ref:&nbsp;%s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:330
#, fuzzy
msgid "this type of local empty property"
msgstr "Anfonwch fanylion eiddo gwag lleol newydd ataf i drwy'r e-bost"
-#: perllib/Utils.pm:222
+#: perllib/Utils.pm:263
msgid "today"
msgstr "heddiw"
@@ -4093,7 +4293,7 @@ msgid "user is empty property owner"
msgstr "Adroddiadau hŷn o eiddo gwag"
#: templates/web/default/reports/council.html:0
-#: templates/web/default/reports/council.html:3
+#: templates/web/default/reports/council.html:9
#: templates/web/emptyhomes/reports/council.html:0
#: templates/web/emptyhomes/reports/council.html:3
msgid "ward"
@@ -4132,13 +4332,6 @@ msgstr "ni fydd eich eiddo gwag yn cael ei bostio"
msgid "your update will not be posted"
msgstr "ni fydd eich diweddariad yn cael ei bostio"
-#: templates/web/emptyhomes/front/stats.html:17
-#, perl-format
-msgid "<big>%s</big> report recently"
-msgid_plural "<big>%s</big> reports recently"
-msgstr[0] "<big>%s</big> adroddiad yn ddiweddar"
-msgstr[1] "<big>%s</big> o adroddiadau yn ddiweddar"
-
#: templates/web/emptyhomes/report/new/councils_text_none.html:3
#, perl-format
msgid "We do not yet have details for the council that covers this location."
@@ -4147,6 +4340,13 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
+#: templates/web/emptyhomes/front/stats.html:17
+#, perl-format
+msgid "<big>%s</big> report recently"
+msgid_plural "<big>%s</big> reports recently"
+msgstr[0] "<big>%s</big> adroddiad yn ddiweddar"
+msgstr[1] "<big>%s</big> o adroddiadau yn ddiweddar"
+
#: templates/web/emptyhomes/front/stats.html:12
#, perl-format
msgid "<big>%s</big> report in past week"
@@ -4161,14 +4361,7 @@ msgid_plural "<big>%s</big> returned to use in past month"
msgstr[0] "Dychwelwyd <big>%s</big> i'w ddefnyddio yn y mis diwethaf"
msgstr[1] "Dychwelwyd <big>%s</big> i'w defnyddio yn y mis diwethaf"
-#: templates/web/default/front/stats.html:29
-#, perl-format
-msgid "<big>%s</big> update on reports"
-msgid_plural "<big>%s</big> updates on reports"
-msgstr[0] "<big>%s</big> diweddariad ar adroddiadau"
-msgstr[1] "<big>%s</big> diweddariad ar adroddiadau"
-
-#: templates/web/fixmystreet/report/new/councils_text_some.html:14
+#: templates/web/default/report/new/councils_text_some.html:14
#, perl-format
msgid ""
"We do <strong>not</strong> yet have details for the other council that "
@@ -4179,6 +4372,41 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
+#: templates/web/default/front/stats.html:29
+#, perl-format
+msgid "<big>%s</big> update on reports"
+msgid_plural "<big>%s</big> updates on reports"
+msgstr[0] "<big>%s</big> diweddariad ar adroddiadau"
+msgstr[1] "<big>%s</big> diweddariad ar adroddiadau"
+
+#, fuzzy
+#~ msgid "reportemptyhomes.com for Councils"
+#~ msgstr "Adroddiadau newydd ar reportemptyhomes.com"
+
+#, fuzzy
+#~ msgid "Questions and Answers :: reportemptyhomes.com for Councils"
+#~ msgstr "Adroddiadau newydd ar reportemptyhomes.com"
+
+#, fuzzy
+#~ msgid ""
+#~ "That spot does not appear to be covered by a council. If you have tried "
+#~ "to report an issue past the shoreline, for example, please specify the "
+#~ "closest point on land."
+#~ msgstr ""
+#~ "Nid yw'n ymddangos bod cyngor yn gyfrifol am y lleoliad hwnnw.\n"
+#~ "Os ydych wedi ceisio adrodd am broblem oddi ar y lân, er enghraifft,\n"
+#~ "dylech nodi'r pwynt agosaf ar y tir."
+
+#, fuzzy
+#~ msgid ""
+#~ "To find out what local alerts we have in your area, council or ward, "
+#~ "please enter your GB\n"
+#~ " postcode or street name and area"
+#~ msgstr ""
+#~ "I gael gwybod pa hysbysiadau lleol sydd gennym yn eich ardal, cyngor neu "
+#~ "ward chi,\n"
+#~ "cofnodwch eich cod post Prydeinig neu enw stryd ac ardal:"
+
#, fuzzy
#~ msgid "<strong>Yes</strong>, I have a password"
#~ msgstr "Adrodd am eiddo gwag a gweld y rhain"
@@ -4381,9 +4609,6 @@ msgstr[1] ""
#~ "hynny,\n"
#~ "ond os nad ydyw, gallwn gynnig cyngor ar yr beth y gallwch ei wneud nesaf."
-#~ msgid "Please note that updates are not sent to the council."
-#~ msgstr "Sylwer nad yw diweddariadau'n cael eu hanfon at y cyngor."
-
#~ msgid ""
#~ "The closest address, as the crow flies, to the location of this empty "
#~ "property, %.0fm away, is: %s - please note that this is automatically "
diff --git a/locale/de_DE.UTF-8/LC_MESSAGES/FixMyStreet.mo b/locale/de_DE.UTF-8/LC_MESSAGES/FixMyStreet.mo
new file mode 100644
index 000000000..e09194c2b
--- /dev/null
+++ b/locale/de_DE.UTF-8/LC_MESSAGES/FixMyStreet.mo
Binary files differ
diff --git a/locale/de_DE.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/de_DE.UTF-8/LC_MESSAGES/FixMyStreet.po
new file mode 100644
index 000000000..dd68c3694
--- /dev/null
+++ b/locale/de_DE.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -0,0 +1,3899 @@
+# Copyright (C) 2011 UK Citizens Online Democracy
+# This file is distributed under the same license as the main FixMyStreet code.
+# Matthew Somerville &lt;matthew@mysociety.org&gt;, 2011-06-03.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: 1.0\n"
+"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
+"POT-Creation-Date: 2012-08-21 09:54+0100\n"
+"PO-Revision-Date: 2012-08-21 09:08+0100\n"
+"Last-Translator: FULL NAME &lt;EMAIL@ADDRESS&gt;\n"
+"Language-Team: LANGUAGE &lt;team@fixmystreet.com&gt;\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:555
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:337
+msgid " and "
+msgstr "und"
+
+#: templates/web/default/tokens/confirm_problem.html:14
+#: templates/web/default/tokens/confirm_problem.html:18
+msgid " and <strong>we will now send it to the council</strong>"
+msgstr ""
+
+#: templates/web/default/report/new/councils_text_all.html:10
+#: templates/web/default/report/new/councils_text_all.html:17
+#: templates/web/default/report/new/councils_text_all.html:3
+#: templates/web/default/report/new/councils_text_none.html:14
+#: templates/web/default/report/new/councils_text_none.html:17
+#: templates/web/default/report/new/councils_text_some.html:20
+#: templates/web/default/report/new/councils_text_some.html:23
+#: templates/web/default/report/new/councils_text_some.html:5
+#: templates/web/emptyhomes/report/new/councils_text_all.html:2
+msgid " or "
+msgstr "oder"
+
+#: templates/web/default/admin/council_list.html:17
+msgid "%d addresses"
+msgstr "%d Adressen"
+
+#: templates/web/default/admin/index.html:17
+msgid "%d confirmed alerts, %d unconfirmed"
+msgstr ""
+
+#: templates/web/default/admin/index.html:19
+msgid "%d council contacts &ndash; %d confirmed, %d unconfirmed"
+msgstr ""
+
+#: perllib/Utils.pm:293
+msgid "%d day"
+msgstr "%d Tag"
+
+#: perllib/Utils.pm:293
+msgid "%d days"
+msgstr "%d Tage"
+
+#: templates/web/default/admin/council_list.html:27
+msgid "%d edits by %s"
+msgstr ""
+
+#: perllib/Utils.pm:294
+msgid "%d hour"
+msgstr "%d Stunde"
+
+#: perllib/Utils.pm:294
+msgid "%d hours"
+msgstr "%d Stunden"
+
+#: templates/web/default/admin/index.html:16
+msgid "%d live updates"
+msgstr ""
+
+#: perllib/Utils.pm:295
+msgid "%d minute"
+msgstr "%d Minute"
+
+#: perllib/Utils.pm:295
+msgid "%d minutes"
+msgstr "%d Minuten"
+
+#: templates/web/default/admin/index.html:18
+msgid "%d questionnaires sent &ndash; %d answered (%s%%)"
+msgstr ""
+
+#: perllib/Utils.pm:292
+msgid "%d week"
+msgstr "%d Woche"
+
+#: perllib/Utils.pm:292
+msgid "%d weeks"
+msgstr "%d Wochen"
+
+#: templates/web/default/reports/council.html:0
+#: templates/web/default/reports/council.html:26
+#: templates/web/emptyhomes/reports/council.html:11
+#: templates/web/emptyhomes/reports/council.html:13
+msgid "%s - Summary reports"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:605
+msgid "%s ref:&nbsp;%s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:288 perllib/FixMyStreet/Cobrand/UK.pm:300
+msgid "%s ward, %s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:488
+msgid "%s, reported anonymously at %s"
+msgstr "%s anonym gemeldet um %s"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:490
+msgid "%s, reported by %s at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:315 perllib/FixMyStreet/Cobrand/UK.pm:327
+msgid "%s, within %s ward"
+msgstr ""
+
+#: templates/web/default/admin/stats.html:5
+msgid "%sreports between %s and %s"
+msgstr ""
+
+#: templates/web/default/email_sent.html:28
+msgid "(Don't worry &mdash; %s)"
+msgstr ""
+
+#: templates/web/default/admin/report_blocks.html:11
+msgid "(Email in abuse table)"
+msgstr ""
+
+#: templates/web/default/alert/_list.html:20
+#: templates/web/fixmystreet/alert/_list.html:24
+msgid "(a default distance which covers roughly 200,000 people)"
+msgstr ""
+
+#: templates/web/default/alert/_list.html:25
+#: templates/web/fixmystreet/alert/_list.html:28
+msgid "(alternatively the RSS feed can be customised, within"
+msgstr ""
+
+#: templates/web/default/around/around_map_list_items.html:12
+#: templates/web/default/around/on_map_list_items.html:9
+#: templates/web/fixmystreet/report/_item.html:23
+#, fuzzy
+msgid "(closed)"
+msgstr "Geschlossen"
+
+#: templates/web/default/around/around_map_list_items.html:10
+#: templates/web/default/around/on_map_list_items.html:7
+#: templates/web/fixmystreet/report/_item.html:21
+msgid "(fixed)"
+msgstr "(gel&ouml;st)"
+
+#: templates/web/default/index.html:12 templates/web/default/index.html:8
+#: templates/web/fixmystreet/around/postcode_form.html:7
+msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
+msgstr "(z.B. illegale Deponien, Strassensch&auml;den, Graffitis usw.)"
+
+#: templates/web/default/reports/_list-entry.html:4
+#: templates/web/fixmystreet/report/_item.html:17
+msgid "(not sent to council)"
+msgstr ""
+
+#: templates/web/default/report/new/fill_in_details_form.html:217
+msgid "(optional)"
+msgstr "(optional)"
+
+#: templates/web/default/reports/_list-entry.html:2
+#: templates/web/fixmystreet/report/_item.html:16
+msgid "(sent to both)"
+msgstr ""
+
+#: templates/web/default/report/new/fill_in_details_form.html:211
+msgid "(we never show your email address or phone number)"
+msgstr "(ihre eMail-Adresse oder Telefonnummer werden nie angezeigt)"
+
+#: templates/web/default/report/display.html:209
+msgid "(we never show your email)"
+msgstr "(ihre eMail-Adresse wird nie angezeigt)"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:284
+msgid "*unknown*"
+msgstr "*unbekannt*"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:629
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:655
+#: perllib/FixMyStreet/DB/Result/Problem.pm:345
+msgid "-- Pick a category --"
+msgstr "-- W&auml;hlen Sie eine Kategorie --"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:609
+#: perllib/FixMyStreet/DB/Result/Problem.pm:351
+msgid "-- Pick a property type --"
+msgstr ""
+
+#: templates/web/default/tokens/confirm_problem.html:14
+#: templates/web/default/tokens/confirm_problem.html:22
+msgid ". You can <a href=\"%s%s\">view the problem on this site</a>."
+msgstr ""
+
+#: templates/web/default/questionnaire/completed.html:20
+msgid ""
+"<p style=\"font-size:150%\">Thank you very much for filling in our "
+"questionnaire; glad to hear it&rsquo;s been fixed.</p>"
+msgstr ""
+
+#: templates/web/fiksgatami/questionnaire/completed-open.html:1
+msgid ""
+"<p style=\"font-size:150%\">We&rsquo;re sorry to hear that. We have two\n"
+"suggestions: why not try <a href=\"http://www.norge.no/styresmakter/"
+"\">writing\n"
+"direct to your councillor(s)</a> or, if it&rsquo;s a problem that could be\n"
+"fixed by local people working together, why not\n"
+"<a href=\"http://www.pledgebank.com/new\">make and publicise a pledge</a>?\n"
+"</p>"
+msgstr ""
+
+#: templates/web/fixmystreet/questionnaire/completed-open.html:1
+msgid ""
+"<p style=\"font-size:150%\">We&rsquo;re sorry to hear that. We have two\n"
+"suggestions: why not try <a href=\"http://www.writetothem.com/\">writing "
+"direct\n"
+"to your councillor(s)</a> or, if it&rsquo;s a problem that could be fixed "
+"by\n"
+"local people working together, why not\n"
+"<a href=\"http://www.pledgebank.com/new\">make and publicise a pledge</a>?\n"
+"</p>"
+msgstr ""
+
+#: templates/web/default/questionnaire/completed-open.html:1
+msgid ""
+"<p style=\"font-size:150%\">We&rsquo;re sorry to hear that. We have two\n"
+"suggestions: why not try writing to your local representative or, if "
+"it&rsquo;s\n"
+"a problem that could be fixed by local people working together, why not\n"
+"<a href=\"http://www.pledgebank.com/new\">make and publicise a pledge</a>?\n"
+"</p>"
+msgstr ""
+
+#: templates/web/default/questionnaire/index.html:35
+msgid ""
+"<p>Getting empty homes back into use can be difficult, but by now a good "
+"council\n"
+"will have made a lot of progress and reported what they have done on the\n"
+"website. Even so properties can remain empty for many months if the owner "
+"is\n"
+"unwilling or the property is in very poor repair. If nothing has happened "
+"or\n"
+"you are not satisfied with the progress the council is making, now is the "
+"right\n"
+"time to say so. We think it&rsquo;s a good idea to contact some other people "
+"who\n"
+"may be able to help or put pressure on the council For advice on how to do\n"
+"this and other useful information please go to <a\n"
+"href=\"http://www.emptyhomes.com/getinvolved/campaign.html\">http://www."
+"emptyhomes.com/getinvolved/campaign.html</a>.</p>\n"
+msgstr ""
+
+#: templates/web/default/questionnaire/index.html:26
+msgid ""
+"<p>Getting empty homes back into use can be difficult. You shouldn&rsquo;t "
+"expect\n"
+"the property to be back into use yet. But a good council will have started "
+"work\n"
+"and should have reported what they have done on the website. If you are not\n"
+"satisfied with progress or information from the council, now is the right "
+"time\n"
+"to say. You may also want to try contacting some other people who may be "
+"able\n"
+"to help. For advice on how to do this and other useful information please\n"
+"go to <a href=\"http://www.emptyhomes.com/getinvolved/campaign.html\">http://"
+"www.emptyhomes.com/getinvolved/campaign.html</a>.</p>\n"
+msgstr ""
+
+#: templates/web/default/questionnaire/completed.html:9
+msgid ""
+"<p>Thank you very much for filling in our questionnaire; if you\n"
+"get some more information about the status of your problem, please come back "
+"to the\n"
+"site and leave an update.</p>"
+msgstr ""
+
+#: templates/web/default/around/display_location.html:70
+#: templates/web/default/around/display_location.html:72
+#: templates/web/emptyhomes/around/display_location.html:36
+#: templates/web/emptyhomes/around/display_location.html:38
+#, fuzzy
+msgid ""
+"<small>If you cannot see the map, <a href='%s' rel='nofollow'>skip this "
+"step</a>.</small>"
+msgstr ""
+"Karte nicht sichtbar? <a href='%s' rel='nofollow'>&Uuml;berspringen "
+"Sie diesen Schritt</a>.</small>"
+
+#: templates/web/default/admin/index.html:14
+msgid "<strong>%d</strong> live problems"
+msgstr ""
+
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:172
+#, fuzzy
+msgid "<strong>No</strong> Let me confirm my report by email"
+msgstr "Meldung per eMail best&auml;tigen"
+
+#: templates/web/fixmystreet/report/display.html:148
+#, fuzzy
+msgid "<strong>No</strong> Let me confirm my update by email"
+msgstr "Meldung per eMail best&auml;tigen"
+
+#: templates/web/fixmystreet/auth/general.html:46
+#, fuzzy
+msgid "<strong>No</strong> let me sign in by email"
+msgstr "Meldung per eMail best&auml;tigen"
+
+#: templates/web/default/auth/general.html:55
+msgid "<strong>No</strong>, I do not, let me sign in by email:"
+msgstr ""
+
+#: templates/web/default/report/new/fill_in_details_form.html:162
+#, fuzzy
+msgid "<strong>No</strong>, let me confirm my report by email:"
+msgstr "Meldung per eMail best&auml;tigen"
+
+#: templates/web/default/report/display.html:164
+#, fuzzy
+msgid "<strong>No</strong>, let me confirm my update by email:"
+msgstr "Meldung per eMail best&auml;tigen"
+
+#: templates/web/default/auth/general.html:37
+#: templates/web/default/report/display.html:142
+#: templates/web/default/report/new/fill_in_details_form.html:140
+#: templates/web/fixmystreet/auth/general.html:32
+#: templates/web/fixmystreet/auth/general.html:34
+#: templates/web/fixmystreet/report/display.html:131
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:154
+msgid "<strong>Yes</strong> I have a password"
+msgstr ""
+
+#: templates/web/default/static/about.html:1
+#: templates/web/default/static/about.html:3
+#: templates/web/emptyhomes/header.html:29
+#: templates/web/emptyhomes/static/about.html:1
+#: templates/web/emptyhomes/static/about.html:3
+msgid "About us"
+msgstr "&Uuml;ber uns"
+
+#: templates/web/default/admin/council_contacts.html:66
+msgid "Add new category"
+msgstr "F&uuml;ge neue Kategorie hinzu"
+
+#: templates/web/default/my/my.html:56 templates/web/fixmystreet/my/my.html:56
+msgid "Added %s"
+msgstr ""
+
+#: templates/web/default/auth/change_password.html:29
+msgid "Again:"
+msgstr "Nochmals:"
+
+#: templates/web/default/admin/timeline.html:37
+msgid "Alert %d created for %s, type %s, parameters %s / %s"
+msgstr ""
+
+#: templates/web/default/admin/timeline.html:39
+msgid "Alert %d disabled (created %s)"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:207
+#: templates/web/default/report/display.html:214
+#: templates/web/fixmystreet/report/display.html:189
+msgid "Alert me to future updates"
+msgstr ""
+
+#: templates/web/default/admin/stats.html:5
+msgid "All"
+msgstr "Alle"
+
+#: templates/web/default/reports/index.html:3
+msgid "All Reports"
+msgstr "Alle Meldungen"
+
+#: templates/web/default/admin/council_list.html:44
+msgid "All confirmed"
+msgstr "Alle best&auml;tigten"
+
+#: templates/web/barnet/footer.html:20 templates/web/bromley/footer.html:21
+#: templates/web/bromley/header.html:77 templates/web/default/footer.html:11
+#: templates/web/fiksgatami/footer.html:7
+#: templates/web/fiksgatami/nn/footer.html:7
+#: templates/web/fixmystreet/footer.html:49
+#: templates/web/reading/footer.html:8
+msgid "All reports"
+msgstr "Alle Meldungen"
+
+#: templates/web/default/report/new/councils_text_some.html:2
+msgid "All the information you provide here will be sent to"
+msgstr ""
+
+#: templates/web/default/report/new/councils_text_all.html:10
+#: templates/web/default/report/new/councils_text_all.html:12
+msgid ""
+"All the information you provide here will be sent to <strong>%s</strong> or "
+"<strong>Roads Service</strong>."
+msgstr ""
+
+#: templates/web/default/report/new/councils_text_all.html:3
+#: templates/web/default/report/new/councils_text_all.html:5
+msgid ""
+"All the information you provide here will be sent to <strong>%s</strong> or "
+"a relevant local body such as <strong>TfL</strong>, via the London Report-It "
+"system."
+msgstr ""
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:4
+#: templates/web/bromley/report/new/fill_in_details_form.html:6
+#: templates/web/default/report/new/councils_text_all.html:17
+#: templates/web/default/report/new/councils_text_all.html:19
+#: templates/web/default/report/new/fill_in_details_form.html:11
+#: templates/web/default/report/new/fill_in_details_form.html:13
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:6
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:8
+msgid ""
+"All the information you provide here will be sent to <strong>%s</strong>."
+msgstr ""
+
+#: templates/web/emptyhomes/report/new/councils_text_all.html:2
+#: templates/web/emptyhomes/report/new/councils_text_all.html:4
+msgid ""
+"All the information you provide here will be sent to <strong>%s</strong>. On "
+"the site, we will show the subject and details of the problem, plus your "
+"name if you give us permission."
+msgstr ""
+
+#: templates/web/default/questionnaire/index.html:60
+#: templates/web/fixmystreet/questionnaire/index.html:54
+msgid "An update marked this problem as fixed."
+msgstr ""
+
+#: templates/web/default/admin/list_flagged.html:15
+#: templates/web/default/admin/list_updates.html:10
+#: templates/web/default/admin/search_reports.html:18
+msgid "Anonymous"
+msgstr "Anonym"
+
+#: templates/web/default/admin/report_edit.html:26
+#: templates/web/default/admin/update_edit.html:14
+msgid "Anonymous:"
+msgstr "Anonym:"
+
+#: templates/web/default/footer.html:26
+msgid ""
+"Are you a <strong>developer</strong>? Would you like to contribute to "
+"FixMyStreet?"
+msgstr ""
+
+#: templates/web/fixmystreet/footer.html:17
+msgid "Are you a developer?"
+msgstr ""
+
+#: templates/web/fixmystreet/footer.html:21
+msgid "Are you from a council?"
+msgstr ""
+
+#: templates/web/default/open311/index.html:17
+msgid ""
+"At most %d requests are returned in each query. The returned requests are "
+"ordered by requested_datetime, so to get all requests, do several searches "
+"with rolling start_date and end_date."
+msgstr ""
+
+#: templates/web/default/open311/index.html:9
+msgid "At the moment only searching for and looking at reports work."
+msgstr ""
+
+#: templates/web/default/admin/report_blocks.html:11
+msgid "Ban email address"
+msgstr ""
+
+#: templates/web/fiksgatami/footer.html:16
+#: templates/web/fiksgatami/nn/footer.html:16
+msgid ""
+"Built by <a href=\"http://www.mysociety.org/\">mySociety</a> and maintained "
+"by <a href=\"http://www.nuug.no/\">NUUG</a>"
+msgstr ""
+
+#: templates/web/default/admin/stats.html:80
+msgid "By Date"
+msgstr ""
+
+#: templates/web/fixmystreet/around/display_location.html:80
+#: templates/web/fixmystreet/around/display_location.html:82
+#, fuzzy
+msgid "Can't see the map? <a href='%s' rel='nofollow'>Skip this step</a>"
+msgstr ""
+"Karte nicht sichtbar? <a href='%s' rel='nofollow'>&Uuml;berspringen "
+"Sie diesen Schritt</a>"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:632
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:657
+#: templates/web/bromley/report/new/fill_in_details_form.html:68
+#: templates/web/default/admin/council_contacts.html:35
+#: templates/web/default/admin/index.html:36
+#: templates/web/default/admin/list_flagged.html:14
+#: templates/web/default/admin/search_reports.html:17
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:72
+msgid "Category"
+msgstr "Kategorie"
+
+#: templates/web/default/admin/index.html:34
+msgid "Category fix rate for problems > 4 weeks old"
+msgstr ""
+
+#: templates/web/default/admin/council_contacts.html:72
+#: templates/web/default/admin/council_edit.html:23
+#: templates/web/default/admin/report_edit.html:25
+#: templates/web/default/report/new/fill_in_details_form.html:67
+msgid "Category:"
+msgstr "Kategorie:"
+
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:334
+msgid "Category: %s"
+msgstr "Kategorie: %s"
+
+#: templates/web/default/auth/change_password.html:1
+#: templates/web/default/auth/change_password.html:3
+#: templates/web/default/auth/change_password.html:33
+msgid "Change Password"
+msgstr "Passwort &auml;ndern"
+
+#: templates/web/fixmystreet/around/display_location.html:72
+#: templates/web/fixmystreet/around/display_location.html:73
+msgid "Click map to report a problem"
+msgstr "Klicken Sie in die Karte um eine Meldung zu erfassen"
+
+#: templates/web/bromley/report/display.html:80
+#: templates/web/bromley/report/display.html:82
+#: templates/web/default/admin/report_edit.html:18
+#: templates/web/default/admin/report_edit.html:20
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/dashboard/index.html:138
+#: templates/web/default/report/display.html:79
+#: templates/web/default/report/display.html:81
+#: templates/web/fixmystreet/report/banner.html:15
+#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/fixmystreet/report/display.html:76
+msgid "Closed"
+msgstr "Geschlossen"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:690
+msgid "Closed by council"
+msgstr ""
+
+#: templates/web/default/my/my.html:32 templates/web/fixmystreet/my/my.html:32
+msgid "Closed reports"
+msgstr ""
+
+#: templates/web/default/admin/problem_row.html:25
+msgid "Closed:"
+msgstr "Geschlossen:"
+
+#: templates/web/default/around/display_location.html:103
+#: templates/web/default/around/display_location.html:105
+msgid "Closest nearby problems <small>(within&nbsp;%skm)</small>"
+msgstr ""
+
+#: templates/web/default/admin/report_edit.html:15
+msgid "Co-ordinates:"
+msgstr "Koordinaten:"
+
+#: templates/web/default/admin/list_flagged.html:16
+#: templates/web/default/admin/list_updates.html:13
+#: templates/web/default/admin/search_reports.html:19
+msgid "Cobrand"
+msgstr ""
+
+#: templates/web/default/admin/report_edit.html:39
+#: templates/web/default/admin/update_edit.html:41
+msgid "Cobrand data:"
+msgstr ""
+
+#: templates/web/default/admin/report_edit.html:38
+#: templates/web/default/admin/update_edit.html:40
+msgid "Cobrand:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:358
+msgid "Configuration updated"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:372
+msgid "Configuration updated - contacts will be generated automatically later"
+msgstr ""
+
+#: templates/web/default/admin/council_contacts.html:153
+msgid "Configure Open311"
+msgstr ""
+
+#: templates/web/default/admin/council_contacts.html:105
+msgid "Configure Open311 integration"
+msgstr ""
+
+#: templates/web/default/admin/council_contacts.html:42
+msgid "Confirm"
+msgstr "Best&auml;tigen"
+
+#: templates/web/default/auth/token.html:1
+msgid "Confirm account"
+msgstr ""
+
+#: templates/web/default/questionnaire/creator_fixed.html:1
+#: templates/web/default/tokens/confirm_problem.html:1
+#: templates/web/default/tokens/confirm_problem.html:3
+#: templates/web/default/tokens/confirm_update.html:1
+#: templates/web/default/tokens/confirm_update.html:3
+#: templates/web/emptyhomes/tokens/confirm_problem.html:1
+#: templates/web/emptyhomes/tokens/confirm_problem.html:3
+msgid "Confirmation"
+msgstr "Best&auml;tigung"
+
+#: templates/web/default/admin/council_contacts.html:37
+#: templates/web/default/admin/council_contacts.html:82
+#: templates/web/default/admin/council_edit.html:28
+#: templates/web/default/admin/council_edit.html:43
+#: templates/web/default/admin/stats.html:5
+msgid "Confirmed"
+msgstr "Best&auml;tigt"
+
+#: templates/web/default/admin/problem_row.html:23
+#: templates/web/default/admin/report_edit.html:34
+msgid "Confirmed:"
+msgstr "Best&auml;tigt:"
+
+#: templates/web/fiksgatami/footer.html:10
+#: templates/web/fiksgatami/nn/footer.html:10
+msgid "Contact"
+msgstr "Kontakt"
+
+#: templates/web/default/footer.html:24
+msgid "Contact FixMyStreet"
+msgstr ""
+
+#: templates/web/bromley/contact/submit.html:1
+#: templates/web/default/contact/index.html:1
+#: templates/web/default/contact/index.html:2
+#: templates/web/default/contact/submit.html:1
+#: templates/web/fixmystreet/contact/index.html:1
+#: templates/web/fixmystreet/contact/index.html:2
+msgid "Contact Us"
+msgstr ""
+
+#: templates/web/bromley/contact/submit.html:3
+#: templates/web/default/contact/index.html:6
+#: templates/web/default/contact/submit.html:3
+#: templates/web/fixmystreet/contact/index.html:7
+msgid "Contact the team"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1150
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1178
+msgid "Could not find user"
+msgstr ""
+
+#: templates/web/default/admin/list_flagged.html:13
+#: templates/web/default/admin/list_updates.html:12
+#: templates/web/default/admin/search_reports.html:16
+#: templates/web/default/admin/search_users.html:14
+msgid "Council"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1022
+#: templates/web/default/admin/council_list.html:1
+msgid "Council contacts"
+msgstr ""
+
+#: templates/web/default/admin/council_contacts.html:1
+#: templates/web/default/admin/council_edit.html:1
+msgid "Council contacts for %s"
+msgstr ""
+
+#: templates/web/default/admin/stats.html:84
+#: templates/web/default/admin/user_edit.html:12
+msgid "Council:"
+msgstr ""
+
+#: templates/web/default/admin/council_list.html:36
+msgid "Councils"
+msgstr ""
+
+#: templates/web/default/admin/stats.html:12
+#: templates/web/default/admin/stats.html:32
+msgid "Count"
+msgstr ""
+
+#: templates/web/default/email_sent.html:1
+msgid "Create a report"
+msgstr "Erfasse eine Meldung"
+
+#: templates/web/default/admin/council_contacts.html:96
+msgid "Create category"
+msgstr ""
+
+#: templates/web/default/admin/list_flagged.html:17
+#: templates/web/default/admin/list_updates.html:9
+#: templates/web/default/admin/search_reports.html:20
+msgid "Created"
+msgstr "Erstellt"
+
+#: templates/web/default/admin/report_edit.html:33
+#: templates/web/default/admin/update_edit.html:42
+msgid "Created:"
+msgstr "Erstellt:"
+
+#: templates/web/default/admin/stats.html:31
+msgid "Current state"
+msgstr ""
+
+#: templates/web/default/admin/council_list.html:40
+msgid "Currently has 1+ deleted"
+msgstr ""
+
+#: templates/web/default/dashboard/index.html:5
+#: templates/web/default/dashboard/index.html:7
+msgid "Dashboard"
+msgstr ""
+
+#: templates/web/default/admin/council_contacts.html:38
+#: templates/web/default/admin/council_contacts.html:85
+#: templates/web/default/admin/council_edit.html:29
+#: templates/web/default/admin/council_edit.html:44
+msgid "Deleted"
+msgstr "Gel&ouml;scht"
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:54
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:64
+msgid "Details"
+msgstr "Beschreibung"
+
+#: templates/web/default/admin/report_edit.html:14
+#: templates/web/default/report/new/fill_in_details_form.html:61
+msgid "Details:"
+msgstr "Beschreibung:"
+
+#: templates/web/default/admin/council_list.html:23
+msgid "Diligency prize league table"
+msgstr "Weiss ich nicht"
+
+#: templates/web/default/auth/general.html:32
+#: templates/web/fixmystreet/auth/general.html:29
+#: templates/web/fixmystreet/report/display.html:128
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:150
+msgid "Do you have a FixMyStreet password?"
+msgstr ""
+
+#: templates/web/default/questionnaire/index.html:70
+#: templates/web/fixmystreet/questionnaire/index.html:64
+msgid "Don&rsquo;t know"
+msgstr ""
+
+#: templates/web/default/admin/list_updates.html:35
+#: templates/web/default/admin/problem_row.html:29
+#: templates/web/default/admin/search_users.html:24
+msgid "Edit"
+msgstr ""
+
+#: templates/web/default/admin/report_edit.html:1
+msgid "Editing problem %d"
+msgstr ""
+
+#: templates/web/default/admin/update_edit.html:1
+msgid "Editing update %d"
+msgstr ""
+
+#: templates/web/default/admin/user_edit.html:1
+msgid "Editing user %d"
+msgstr ""
+
+#: templates/web/default/admin/council_edit.html:45
+msgid "Editor"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:126
+#: templates/web/default/admin/council_contacts.html:36
+#: templates/web/default/admin/council_edit.html:42
+#: templates/web/default/admin/list_flagged.html:12
+#: templates/web/default/admin/list_flagged.html:35
+#: templates/web/default/admin/list_updates.html:8
+#: templates/web/default/admin/search_abuse.html:11
+#: templates/web/default/admin/search_reports.html:15
+#: templates/web/default/admin/search_users.html:13
+#: templates/web/fixmystreet/auth/general.html:20
+#: templates/web/fixmystreet/report/display.html:120
+msgid "Email"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1126
+msgid "Email added to abuse list"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1123
+msgid "Email already in abuse list"
+msgstr ""
+
+#: templates/web/default/around/display_location.html:85
+msgid "Email me new local problems"
+msgstr ""
+
+#: templates/web/default/report/display.html:30
+msgid "Email me updates"
+msgstr "Schicken sie mir Aktualisierungen"
+
+#: templates/web/default/admin/council_contacts.html:77
+#: templates/web/default/admin/council_edit.html:26
+#: templates/web/default/admin/report_edit.html:31
+#: templates/web/default/admin/update_edit.html:24
+#: templates/web/default/admin/user_edit.html:11
+#: templates/web/default/alert/updates.html:13
+#: templates/web/default/report/display.html:34
+msgid "Email:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:611
+msgid "Empty flat or maisonette"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:610
+msgid "Empty house or bungalow"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:613
+msgid "Empty office or other commercial"
+msgstr ""
+
+#: templates/web/emptyhomes/report/new/form_heading.html:1
+msgid "Empty property details form"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:614
+msgid "Empty pub or bar"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:615
+msgid "Empty public building - school, hospital, etc."
+msgstr ""
+
+#: templates/web/default/admin/stats.html:70
+msgid "End Year:"
+msgstr ""
+
+#: templates/web/default/admin/stats.html:72
+msgid "End day:"
+msgstr ""
+
+#: templates/web/default/admin/stats.html:71
+msgid "End month:"
+msgstr ""
+
+#: templates/web/emptyhomes/index.html:40
+#: templates/web/emptyhomes/index.html:41
+msgid "Enter a nearby GB postcode, or street name and area"
+msgstr "Geben Sie eine Adresse an"
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:18
+#, fuzzy
+msgid "Enter a nearby UK postcode, or street name and area"
+msgstr "Geben Sie eine Adresse an"
+
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:25
+msgid "Enter a nearby postcode, or street name and area"
+msgstr "Geben Sie eine Adresse an"
+
+#: templates/web/default/around/postcode_form.html:1
+#: templates/web/default/around/postcode_form.html:2
+#: templates/web/fixmystreet/around/postcode_form.html:10
+#: templates/web/fixmystreet/around/postcode_form.html:11
+msgid "Enter a nearby street name and area"
+msgstr "Geben Sie eine Adresse an"
+
+#: templates/web/default/auth/general.html:64
+#: templates/web/default/report/display.html:171
+#: templates/web/default/report/new/fill_in_details_form.html:169
+msgid "Enter a new password:"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:148
+#: templates/web/bromley/report/new/fill_in_details_form.html:189
+#: templates/web/fixmystreet/auth/general.html:57
+#: templates/web/fixmystreet/report/display.html:160
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:200
+msgid "Enter a password"
+msgstr ""
+
+#: templates/web/default/index.html:33 templates/web/emptyhomes/index.html:58
+#: templates/web/fixmystreet/index.html:41
+msgid "Enter details of the problem"
+msgstr "Beschreiben sie den Mangel"
+
+#: templates/web/default/auth/token.html:5
+#: templates/web/default/errors/generic.html:1
+#: templates/web/default/errors/generic.html:3
+#: templates/web/default/tokens/abuse.html:1
+#: templates/web/default/tokens/abuse.html:3
+#: templates/web/default/tokens/error.html:1
+#: templates/web/default/tokens/error.html:3
+msgid "Error"
+msgstr "Fehler"
+
+#: templates/web/default/admin/council_contacts.html:11
+#: templates/web/default/admin/council_edit.html:18
+msgid "Example postcode %s"
+msgstr "Beispieladresse"
+
+#: templates/web/default/open311/index.html:27
+msgid "Examples:"
+msgstr "Beispiele:"
+
+#: templates/web/default/admin/report_edit.html:40
+msgid "Extra data:"
+msgstr ""
+
+#: templates/web/bromley/contact/submit.html:14
+#: templates/web/default/contact/submit.html:15
+msgid ""
+"Failed to send message. Please try again, or <a href=\"mailto:%s\">email "
+"us</a>."
+msgstr ""
+
+#: templates/web/bromley/report/display.html:189
+#: templates/web/bromley/report/new/fill_in_details_form.html:113
+#: templates/web/bromley/report/new/fill_in_details_form.html:160
+msgid "First Name"
+msgstr ""
+
+#: templates/web/default/questionnaire/index.html:79
+#: templates/web/fixmystreet/questionnaire/index.html:73
+msgid "First time"
+msgstr ""
+
+#: templates/web/fiksgatami/header.html:16
+#: templates/web/fiksgatami/nn/header.html:16
+msgid "Fix<span id=\"my\">My</span>Street"
+msgstr ""
+
+#: templates/web/default/header.html:24
+msgid "FixMyStreet"
+msgstr ""
+
+#: templates/web/default/admin/header.html:13
+msgid "FixMyStreet admin:"
+msgstr ""
+
+#: templates/web/default/admin/header.html:3
+msgid "FixMyStreet administration"
+msgstr ""
+
+#: templates/web/default/alert/index.html:11
+msgid ""
+"FixMyStreet has a variety of RSS feeds and email alerts for local problems, "
+"including\n"
+"alerts for all problems within a particular ward or council, or all "
+"problems\n"
+"within a certain distance of a particular location."
+msgstr ""
+
+#: templates/web/default/alert/_list.html:71
+#: templates/web/fixmystreet/alert/_list.html:73
+msgid ""
+"FixMyStreet sends different categories of problem\n"
+"to the appropriate council, so problems within the boundary of a particular "
+"council\n"
+"might not match the problems sent to that council. For example, a graffiti "
+"report\n"
+"will be sent to the district council, so will appear in both of the "
+"district\n"
+"council&rsquo;s alerts, but will only appear in the \"Within the boundary\" "
+"alert\n"
+"for the county council."
+msgstr ""
+
+#: templates/web/bromley/report/display.html:80
+#: templates/web/bromley/report/display.html:82
+#: templates/web/default/admin/index.html:36
+#: templates/web/default/admin/report_edit.html:18
+#: templates/web/default/admin/report_edit.html:20
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/dashboard/index.html:138
+#: templates/web/default/report/display.html:79
+#: templates/web/default/report/display.html:81
+#: templates/web/fixmystreet/report/banner.html:12
+#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/fixmystreet/report/display.html:76
+msgid "Fixed"
+msgstr "Gel&ouml;st"
+
+#: templates/web/default/admin/report_edit.html:18
+#: templates/web/default/admin/report_edit.html:21
+msgid "Fixed - Council"
+msgstr ""
+
+#: templates/web/default/admin/report_edit.html:18
+#: templates/web/default/admin/report_edit.html:21
+msgid "Fixed - User"
+msgstr ""
+
+#: templates/web/default/my/my.html:27 templates/web/fixmystreet/my/my.html:27
+msgid "Fixed reports"
+msgstr ""
+
+#: templates/web/default/admin/problem_row.html:24
+msgid "Fixed:"
+msgstr ""
+
+#: templates/web/default/admin/report_blocks.html:16
+msgid "Flag user"
+msgstr ""
+
+#: templates/web/default/admin/search_users.html:15
+msgid "Flagged"
+msgstr ""
+
+#: templates/web/default/admin/report_edit.html:42
+#: templates/web/default/admin/user_edit.html:18
+msgid "Flagged:"
+msgstr ""
+
+#: templates/web/default/reports/_ward-list.html:3
+#: templates/web/emptyhomes/reports/council.html:19
+#: templates/web/fixmystreet/reports/_ward-list.html:4
+msgid "Follow a ward link to view only reports within that ward."
+msgstr ""
+
+#: templates/web/default/admin/report_edit.html:16
+msgid "For council(s):"
+msgstr ""
+
+#: templates/web/default/faq/faq-en-gb.html:1
+#: templates/web/emptyhomes/faq/faq-cy.html:1
+#: templates/web/emptyhomes/faq/faq-en-gb.html:1
+#: templates/web/fiksgatami/faq/faq-nb.html:1
+#: templates/web/fiksgatami/nn/faq/faq-nn.html:1
+#: templates/web/fixmystreet/faq/faq-en-gb.html:1
+#: templates/web/fixmystreet/static/privacy.html:1
+#: templates/web/zurich/faq/faq-de.html:1
+msgid "Frequently Asked Questions"
+msgstr ""
+
+#: templates/web/emptyhomes/static/about.html:34
+msgid "Further information about our work on empty homes."
+msgstr ""
+
+#: templates/web/default/open311/index.html:69
+msgid "GeoRSS on Google Maps"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:30
+#: templates/web/fixmystreet/report/display.html:23
+msgid "Get updates"
+msgstr ""
+
+#: templates/web/fixmystreet/reports/_rss.html:3
+#: templates/web/fixmystreet/reports/_rss.html:9
+#, fuzzy
+msgid "Get updates of %s problems"
+msgstr "Beschreiben sie den Mangel"
+
+#: templates/web/fixmystreet/reports/_rss.html:11
+#: templates/web/fixmystreet/reports/_rss.html:3
+msgid "Get updates of problems in this %s"
+msgstr ""
+
+#: templates/web/default/alert/_list.html:83
+#: templates/web/fixmystreet/alert/_list.html:82
+msgid "Give me an RSS feed"
+msgstr ""
+
+#: templates/web/default/alert/index.html:34
+#: templates/web/default/around/postcode_form.html:8
+#: templates/web/emptyhomes/index.html:47
+#: templates/web/fixmystreet/around/postcode_form.html:18
+msgid "Go"
+msgstr "Los"
+
+#: templates/web/default/admin/report_edit.html:41
+msgid "Going to send questionnaire?"
+msgstr ""
+
+#: templates/web/default/admin/index.html:24
+msgid "Graph of problem creation by status over time"
+msgstr ""
+
+#: templates/web/default/reports/index.html:8
+#: templates/web/emptyhomes/reports/index.html:5
+msgid "Greyed-out lines are councils that no longer exist."
+msgstr ""
+
+#: templates/web/default/questionnaire/index.html:61
+#: templates/web/fixmystreet/questionnaire/index.html:55
+msgid "Has this problem been fixed?"
+msgstr ""
+
+#: templates/web/default/questionnaire/index.html:74
+#: templates/web/fixmystreet/questionnaire/index.html:68
+msgid ""
+"Have you ever reported a problem to a council before, or is this your first "
+"time?"
+msgstr ""
+
+#: templates/web/barnet/footer.html:24 templates/web/bromley/footer.html:25
+#: templates/web/bromley/header.html:81 templates/web/default/footer.html:15
+#: templates/web/emptyhomes/header.html:28
+#: templates/web/fiksgatami/footer.html:9
+#: templates/web/fiksgatami/nn/footer.html:9
+#: templates/web/fixmystreet/footer.html:53
+#: templates/web/reading/footer.html:10
+msgid "Help"
+msgstr "Hilfe"
+
+#: templates/web/default/alert/_list.html:6
+#: templates/web/fixmystreet/alert/_list.html:8
+msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
+msgstr ""
+
+#: templates/web/barnet/header.html:70 templates/web/bromley/header.html:64
+#: templates/web/bromley/header.html:99
+#: templates/web/fixmybarangay/header.html.orig:42
+#: templates/web/fixmystreet/header.html:47
+#: templates/web/zurich/header.html:47
+msgid "Hi %s"
+msgstr "Hallo %s"
+
+#: templates/web/default/admin/report_edit.html:18
+#: templates/web/default/admin/report_edit.html:21
+#: templates/web/default/admin/update_edit.html:19
+msgid "Hidden"
+msgstr "Unsichtbar"
+
+#: templates/web/default/around/display_location.html:58
+#: templates/web/fixmystreet/around/display_location.html:58
+msgid "Hide old"
+msgstr "Alte ausblenden"
+
+#: templates/web/default/around/display_location.html:53
+#: templates/web/fixmystreet/around/display_location.html:54
+msgid "Hide pins"
+msgstr "Stecknadeln ausblenden"
+
+#: templates/web/default/admin/council_edit.html:38
+msgid "History"
+msgstr "History"
+
+#: templates/web/default/index.html:28 templates/web/emptyhomes/index.html:53
+#: templates/web/fixmystreet/index.html:36
+msgid "How to report a problem"
+msgstr "Erfasse eine neue Meldung:"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:637
+msgid "I am afraid you cannot confirm unconfirmed reports."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:89
+msgid "I'm afraid we couldn't locate your problem in the database.\n"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Tokens.pm:44
+msgid ""
+"I'm afraid we couldn't validate that token, as the report was made too long "
+"ago."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Tokens.pm:235
+msgid ""
+"I'm afraid we couldn't validate that token. If you've copied the URL from an "
+"email, please check that you copied it exactly.\n"
+msgstr ""
+"Leider konnte ihre URL nicht aufgel&ouml;st werden. Falls sie die URL aus "
+"einer Mail kopiert haben, &uuml;berpr&uuml;fen sie bitte ob sie die gesamte "
+"URL kopiert haben.\n"
+
+#: templates/web/default/admin/list_flagged.html:9
+#: templates/web/default/admin/list_updates.html:5
+#: templates/web/default/admin/search_reports.html:12
+msgid "ID"
+msgstr "ID"
+
+#: templates/web/default/report/new/councils_text_none.html:11
+#: templates/web/default/report/new/councils_text_none.html:12
+msgid ""
+"If you submit a problem here the subject and details of the problem will be "
+"public, but the problem will <strong>not</strong> be reported to the council."
+msgstr ""
+
+#: templates/web/emptyhomes/report/new/councils_text_none.html:9
+msgid ""
+"If you submit a report here it will be left on the site, but not reported to "
+"the council &ndash; please still leave your report, so that we can show to "
+"the council the activity in their area."
+msgstr ""
+
+#: templates/web/default/auth/token.html:23
+#: templates/web/default/email_sent.html:24
+msgid ""
+"If you use web-based email or have 'junk mail' filters, you may wish to "
+"check your bulk/spam mail folders: sometimes, our messages are marked that "
+"way."
+msgstr ""
+
+#: templates/web/default/questionnaire/index.html:83
+#: templates/web/fixmystreet/questionnaire/index.html:77
+msgid ""
+"If you wish to leave a public update on the problem, please enter it here\n"
+"(please note it will not be sent to the council). For example, what was\n"
+"your experience of getting the problem fixed?"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:111
+msgid "Illegal ID"
+msgstr "Unbekannt ID"
+
+#: perllib/FixMyStreet/App/Controller/Alert.pm:100
+msgid "Illegal feed selection"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:80
+#: templates/web/bromley/report/display.html:82
+#: templates/web/default/admin/report_edit.html:18
+#: templates/web/default/admin/report_edit.html:20
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/dashboard/index.html:138
+#: templates/web/default/report/display.html:79
+#: templates/web/default/report/display.html:81
+#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/fixmystreet/report/display.html:76
+msgid "In Progress"
+msgstr "In Bearbeitung"
+
+#: templates/web/default/open311/index.html:21
+msgid ""
+"In addition, the following attributes that are not part of the Open311 v2 "
+"specification are returned: agency_sent_datetime, title (also returned as "
+"part of description), interface_used, comment_count, requestor_name (only "
+"present if requestor allowed the name to be shown on this site)."
+msgstr ""
+
+#: templates/web/fixmystreet/report/banner.html:19
+msgid "In progress"
+msgstr "In Bearbeitung"
+
+#: templates/web/default/admin/stats.html:76
+msgid "Include unconfirmed reports"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Open311.pm:356
+msgid "Incorrect has_photo value \"%s\""
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Open311.pm:341
+msgid "Invalid agency_responsible value %s"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:942
+msgid "Invalid end date"
+msgstr "Ung&ultiges Enddatum"
+
+#: perllib/FixMyStreet/App/Controller/Open311.pm:432
+msgid "Invalid format %s specified."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:932
+msgid "Invalid start date"
+msgstr "Ung&ultiges Startdatum"
+
+#: templates/web/bromley/report/display.html:80
+#: templates/web/bromley/report/display.html:81
+#: templates/web/default/admin/report_edit.html:18
+#: templates/web/default/admin/report_edit.html:19
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/dashboard/index.html:137
+#: templates/web/default/report/display.html:79
+#: templates/web/default/report/display.html:80
+#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/fixmystreet/report/display.html:75
+msgid "Investigating"
+msgstr ""
+
+#: templates/web/emptyhomes/tokens/confirm_problem.html:12
+#: templates/web/emptyhomes/tokens/confirm_problem.html:14
+msgid ""
+"It is worth noting however that the process can sometimes be slow, "
+"especially if the property is in very poor repair or the owner is unwilling "
+"to act. In most cases it can take six months or more before you can expect "
+"to see anything change and sometimes there may be considerable barries to a "
+"property being brought back into use. This doesn&rsquo;t mean the council "
+"isn&rsquo;t doing anything. We encourage councils to update the website so "
+"you can see what is happening. It may be a long process, but you reporting "
+"your concerns about this property to the council is a valuable first step."
+msgstr ""
+
+#: templates/web/bromley/report/display.html:166
+#: templates/web/bromley/report/new/fill_in_details_form.html:209
+#: templates/web/default/auth/general.html:44
+#: templates/web/default/report/display.html:151
+#: templates/web/default/report/new/fill_in_details_form.html:149
+#: templates/web/fixmystreet/auth/general.html:42
+#: templates/web/fixmystreet/report/display.html:144
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:167
+msgid "Keep me signed in on this computer"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:195
+#: templates/web/bromley/report/new/fill_in_details_form.html:119
+#: templates/web/bromley/report/new/fill_in_details_form.html:166
+#, fuzzy
+msgid "Last Name"
+msgstr "Letzte Bearbeitung"
+
+#: templates/web/default/admin/council_contacts.html:39
+msgid "Last editor"
+msgstr "Letzter Bearbeiter"
+
+#: templates/web/default/admin/report_edit.html:36
+msgid "Last update:"
+msgstr "Letzte Bearbeitung"
+
+#: templates/web/default/admin/problem_row.html:26
+#, fuzzy
+msgid "Last&nbsp;update:"
+msgstr "Letzte Bearbeitung"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1028
+msgid "List Flagged"
+msgstr ""
+
+#: templates/web/default/admin/council_contacts.html:14
+#: templates/web/default/admin/council_contacts.html:16
+msgid "List all reported problems"
+msgstr "Liste aller Meldungen"
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:69
+#: templates/web/default/report/new/fill_in_details_form.html:68
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:73
+msgid "Loading..."
+msgstr ""
+
+#: templates/web/default/alert/choose.html:1
+#: templates/web/default/alert/choose.html:3
+#: templates/web/default/alert/index.html:1
+#: templates/web/default/alert/index.html:3
+#: templates/web/default/alert/list.html:1
+#: templates/web/default/alert/list.html:5
+#: templates/web/default/alert/updates.html:1
+#: templates/web/default/tokens/confirm_alert.html:1
+#: templates/web/default/tokens/confirm_alert.html:3
+#: templates/web/emptyhomes/alert/index.html:1
+#: templates/web/emptyhomes/alert/index.html:3
+#: templates/web/fixmystreet/alert/updates.html:1
+msgid "Local RSS feeds and email alerts"
+msgstr ""
+
+#: templates/web/default/alert/list.html:1
+#: templates/web/default/alert/list.html:12
+#: templates/web/default/alert/list.html:14
+#: templates/web/default/alert/list.html:3
+msgid "Local RSS feeds and email alerts for ‘%s’"
+msgstr ""
+
+#: templates/web/barnet/footer.html:22 templates/web/bromley/footer.html:23
+#: templates/web/bromley/header.html:79 templates/web/default/footer.html:13
+#: templates/web/fiksgatami/footer.html:8
+#: templates/web/fiksgatami/nn/footer.html:8
+#: templates/web/fixmystreet/footer.html:51
+#: templates/web/reading/footer.html:9
+msgid "Local alerts"
+msgstr "RSS"
+
+#: templates/web/default/index.html:32 templates/web/emptyhomes/index.html:57
+#: templates/web/fixmystreet/index.html:40
+msgid "Locate the problem on a map of the area"
+msgstr "Identifizieren Sie den Mangel auf der Karte"
+
+#: perllib/FixMyStreet/Map/OSM.pm:44
+msgid ""
+"Map &copy; <a id=\"osm_link\" href=\"http://www.openstreetmap.org/"
+"\">OpenStreetMap</a> and contributors, <a href=\"http://creativecommons.org/"
+"licenses/by-sa/2.0/\">CC-BY-SA</a>"
+msgstr ""
+
+#: templates/web/fixmystreet/contact/index.html:86
+msgid "Message"
+msgstr "Nachricht"
+
+#: templates/web/default/contact/index.html:90
+msgid "Message:"
+msgstr "Nachricht:"
+
+#: perllib/FixMyStreet/App/Controller/Open311.pm:440
+msgid "Missing jurisdiction_id"
+msgstr ""
+
+#: templates/web/default/admin/stats.html:11
+msgid "Month"
+msgstr "Monat"
+
+#: templates/web/default/report/display.html:26
+msgid "More problems nearby"
+msgstr "Meldungen in der Nähe"
+
+#: templates/web/default/admin/list_flagged.html:11
+#: templates/web/default/admin/list_flagged.html:34
+#: templates/web/default/admin/list_updates.html:7
+#: templates/web/default/admin/search_reports.html:14
+#: templates/web/default/admin/search_users.html:12
+#: templates/web/default/reports/index.html:15
+#: templates/web/emptyhomes/reports/index.html:10
+#: templates/web/fiksgatami/nn/reports/index.html:9
+#: templates/web/fiksgatami/reports/index.html:9
+#: templates/web/fixmystreet/auth/general.html:52
+#: templates/web/fixmystreet/report/display.html:177
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:117
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:176
+msgid "Name"
+msgstr "Name"
+
+#: templates/web/default/admin/report_edit.html:30
+#: templates/web/default/admin/update_edit.html:23
+#: templates/web/default/admin/user_edit.html:10
+msgid "Name:"
+msgstr "Name:"
+
+#: templates/web/fiksgatami/footer.html:3
+#: templates/web/fiksgatami/nn/footer.html:3
+#: templates/web/reading/footer.html:4
+msgid "Navigation"
+msgstr "Navigation"
+
+#: perllib/FixMyStreet/Geocode/OSM.pm:159
+msgid ""
+"Nearest named road to the pin placed on the map (automatically generated "
+"using OpenStreetMap): %s%s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:161
+msgid ""
+"Nearest postcode to the pin placed on the map (automatically generated): %s "
+"(%sm away)"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:404
+#: perllib/FixMyStreet/Cobrand/Default.pm:444
+msgid ""
+"Nearest road to the pin placed on the map (automatically generated by Bing "
+"Maps): %s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:245
+msgid ""
+"Nearest road to the pin placed on the map (automatically generated by Bing "
+"Maps): %s\n"
+"\n"
+msgstr ""
+
+#: templates/web/default/email_sent.html:20
+msgid "Nearly Done! Now check your email..."
+msgstr "Fast Fertig! Bitte checken Sie ihre Mailbox..."
+
+#: templates/web/default/reports/index.html:16
+#, fuzzy
+msgid "New <br>problems"
+msgstr "Neue Meldungen"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:314
+msgid "New category contact added"
+msgstr ""
+
+#: db/alert_types.pl:18 db/alert_types.pl:22
+msgid "New local problems on FixMyStreet"
+msgstr ""
+
+#: db/alert_types_eha.pl:12
+msgid "New local reports on reportemptyhomes.com"
+msgstr ""
+
+#: templates/web/emptyhomes/reports/index.html:11
+#: templates/web/fiksgatami/nn/reports/index.html:10
+#: templates/web/fiksgatami/reports/index.html:10
+msgid "New problems"
+msgstr "Neue Meldungen"
+
+#: db/alert_types.pl:38
+msgid "New problems for {{COUNCIL}} within {{WARD}} ward on FixMyStreet"
+msgstr ""
+
+#: db/alert_types.pl:26 db/alert_types.pl:30
+msgid "New problems near {{POSTCODE}} on FixMyStreet"
+msgstr ""
+
+#: db/alert_types.pl:10
+msgid "New problems on FixMyStreet"
+msgstr ""
+
+#: db/alert_types.pl:34
+msgid "New problems to {{COUNCIL}} on FixMyStreet"
+msgstr ""
+
+#: db/alert_types.pl:42
+msgid "New problems within {{NAME}}'s boundary on FixMyStreet"
+msgstr ""
+
+#: db/alert_types_eha.pl:23
+msgid ""
+"New reports for {{COUNCIL}} within {{WARD}} ward on reportemptyhomes.com"
+msgstr ""
+
+#: db/alert_types_eha.pl:5
+msgid "New reports on reportemptyhomes.com"
+msgstr ""
+
+#: db/alert_types_eha.pl:16
+msgid "New reports on reportemptyhomes.com near {{POSTCODE}}"
+msgstr ""
+
+#: db/alert_types_eha.pl:19
+msgid "New reports to {{COUNCIL}} on reportemptyhomes.com"
+msgstr ""
+
+#: db/alert_types_eha.pl:27
+msgid "New reports within {{NAME}}'s boundary on reportemptyhomes.com"
+msgstr ""
+
+#: templates/web/default/admin/questionnaire.html:24
+msgid "New state"
+msgstr ""
+
+#: templates/web/fiksgatami/front/news.html:9
+#: templates/web/fiksgatami/nn/front/news.html:9
+#: templates/web/fixmystreet/front/news.html:8
+msgid "New!"
+msgstr "Neu!"
+
+#: templates/web/default/admin/council_contacts.html:48
+#: templates/web/default/admin/council_contacts.html:49
+#: templates/web/default/admin/council_edit.html:4
+#: templates/web/default/admin/list_updates.html:30
+#: templates/web/default/admin/list_updates.html:31
+#: templates/web/default/admin/list_updates.html:32
+#: templates/web/default/admin/problem_row.html:19
+#: templates/web/default/admin/report_edit.html:28
+#: templates/web/default/admin/report_edit.html:41
+#: templates/web/default/admin/update_edit.html:16
+#: templates/web/default/questionnaire/creator_fixed.html:16
+#: templates/web/default/questionnaire/index.html:107
+#: templates/web/default/questionnaire/index.html:68
+#: templates/web/fixmystreet/questionnaire/index.html:101
+#: templates/web/fixmystreet/questionnaire/index.html:62
+msgid "No"
+msgstr "Nein"
+
+#: templates/web/default/admin/stats.html:85
+#: templates/web/default/admin/user_edit.html:13
+msgid "No council"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:328
+msgid "No council selected"
+msgstr ""
+
+#: templates/web/default/admin/council_list.html:32
+msgid "No edits have yet been made."
+msgstr "Noch keine Antwort"
+
+#: templates/web/default/admin/list_flagged.html:26
+msgid "No flagged problems found"
+msgstr ""
+
+#: templates/web/default/admin/list_flagged.html:47
+msgid "No flagged users found"
+msgstr ""
+
+#: templates/web/default/admin/council_list.html:38
+msgid "No info at all"
+msgstr "Keine Informationen"
+
+#: templates/web/default/around/around_map_list_items.html:17
+#: templates/web/fixmystreet/around/around_map_list_items.html:8
+msgid "No problems found."
+msgstr "Keine Meldungen gefunden."
+
+#: templates/web/default/around/on_map_list_items.html:14
+#: templates/web/fixmystreet/around/on_map_list_items.html:6
+msgid "No problems have been reported yet."
+msgstr "Bisher wurden noch keine Meldungen erfasst."
+
+#: templates/web/default/admin/council_list.html:5
+#: templates/web/default/admin/report_edit.html:16
+msgid "None"
+msgstr "Keine"
+
+#: templates/web/default/admin/questionnaire.html:6
+msgid "Not reported before"
+msgstr ""
+
+#: templates/web/default/report/_main.html:11
+#: templates/web/emptyhomes/report/display.html:24
+#: templates/web/fixmystreet/report/_main.html:13
+msgid "Not reported to council"
+msgstr ""
+
+#: templates/web/default/admin/council_contacts.html:40
+#: templates/web/default/admin/council_edit.html:46
+msgid "Note"
+msgstr ""
+
+#: templates/web/default/admin/stats.html:51
+msgid ""
+"Note that when including unconfirmed reports we use the date the report was "
+"created which may not be in the same month the report was confirmed so the "
+"numbers may jump about a little"
+msgstr ""
+
+#: templates/web/default/admin/council_contacts.html:89
+#: templates/web/default/admin/council_edit.html:31
+msgid "Note:"
+msgstr ""
+
+#: templates/web/default/open311/index.html:6
+msgid "Note: <strong>%s</strong>"
+msgstr ""
+
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:149
+msgid "Now to submit your report&hellip;"
+msgstr ""
+
+#: templates/web/default/report/new/fill_in_details_form.html:131
+msgid "Now to submit your report&hellip; do you have a FixMyStreet password?"
+msgstr ""
+
+#: templates/web/fixmystreet/report/display.html:127
+msgid "Now to submit your update&hellip;"
+msgstr ""
+
+#: templates/web/default/report/display.html:133
+msgid "Now to submit your update&hellip; do you have a FixMyStreet password?"
+msgstr ""
+
+#: templates/web/default/report/display.html:21
+#: templates/web/default/report/update.html:16
+msgid "Offensive? Unsuitable? Tell us"
+msgstr ""
+
+#: templates/web/default/reports/index.html:18
+msgid "Old / unknown <br>problems"
+msgstr ""
+
+#: templates/web/fiksgatami/nn/reports/index.html:12
+#: templates/web/fiksgatami/reports/index.html:12
+msgid "Old problems,<br>state unknown"
+msgstr ""
+
+#: templates/web/default/admin/questionnaire.html:24
+msgid "Old state"
+msgstr ""
+
+#: templates/web/default/reports/index.html:20
+msgid "Older <br>fixed"
+msgstr ""
+
+#: templates/web/default/reports/index.html:17
+#, fuzzy
+msgid "Older <br>problems"
+msgstr "Neue Meldungen"
+
+#: templates/web/emptyhomes/reports/index.html:14
+#: templates/web/fiksgatami/nn/reports/index.html:14
+#: templates/web/fiksgatami/reports/index.html:14
+msgid "Older fixed"
+msgstr ""
+
+#: templates/web/emptyhomes/reports/index.html:12
+#: templates/web/fiksgatami/nn/reports/index.html:11
+#: templates/web/fiksgatami/reports/index.html:11
+msgid "Older problems"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:80
+#: templates/web/default/admin/report_edit.html:18
+#: templates/web/default/admin/update_edit.html:19
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/report/display.html:79
+#: templates/web/fixmystreet/report/display.html:74
+msgid "Open"
+msgstr "&Ouml;ffnen"
+
+#: templates/web/default/my/my.html:22 templates/web/fixmystreet/my/my.html:22
+msgid "Open reports"
+msgstr ""
+
+#: templates/web/default/open311/index.html:3
+msgid "Open311 API for the mySociety FixMyStreet server"
+msgstr ""
+
+#: templates/web/default/open311/index.html:13
+msgid "Open311 initiative web page"
+msgstr ""
+
+#: templates/web/default/open311/index.html:14
+msgid "Open311 specification"
+msgstr ""
+
+#: templates/web/default/alert/_list.html:58
+#: templates/web/fixmystreet/alert/_list.html:60
+msgid "Or problems reported to:"
+msgstr ""
+
+#: templates/web/default/alert/_list.html:33
+#: templates/web/fixmystreet/alert/_list.html:36
+msgid ""
+"Or you can subscribe to an alert based upon what ward or council you&rsquo;"
+"re in:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:655
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:656
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:999
+#: perllib/FixMyStreet/DB/Result/Problem.pm:497
+#: perllib/FixMyStreet/DB/Result/Problem.pm:507
+#: perllib/FixMyStreet/DB/Result/Problem.pm:517
+#: perllib/FixMyStreet/DB/Result/Problem.pm:529
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:329
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:338
+msgid "Other"
+msgstr ""
+
+#: templates/web/default/footer.html:27
+msgid ""
+"Our code is open source and <a href=\"http://github.com/mysociety/fixmystreet"
+"\">available on GitHub</a>."
+msgstr ""
+
+#: templates/web/default/admin/list_updates.html:11
+msgid "Owner"
+msgstr "Besitzer"
+
+#: templates/web/default/errors/page_error_404_not_found.html:1
+#: templates/web/default/errors/page_error_404_not_found.html:3
+msgid "Page Not Found"
+msgstr ""
+
+#: templates/web/default/admin/report_edit.html:18
+#: templates/web/default/admin/report_edit.html:21
+msgid "Partial"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:145
+#: templates/web/bromley/report/new/fill_in_details_form.html:186
+#: templates/web/fixmystreet/auth/general.html:55
+#: templates/web/fixmystreet/report/display.html:157
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:197
+msgid "Password (optional)"
+msgstr ""
+
+#: templates/web/default/auth/change_password.html:25
+msgid "Password:"
+msgstr ""
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:136
+#: templates/web/bromley/report/new/fill_in_details_form.html:183
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:133
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:194
+msgid "Phone number (optional)"
+msgstr "Telefonnummer (optional)"
+
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:260
+#: templates/web/default/admin/report_edit.html:32
+#: templates/web/default/report/new/fill_in_details_form.html:215
+msgid "Phone:"
+msgstr "Telefonnummer:"
+
+#: templates/web/bromley/report/display.html:109
+#: templates/web/bromley/report/new/fill_in_details_form.html:104
+#: templates/web/fixmystreet/report/display.html:103
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:108
+msgid "Photo"
+msgstr "Foto"
+
+#: templates/web/default/questionnaire/index.html:95
+#: templates/web/default/report/display.html:109
+#: templates/web/default/report/new/fill_in_details_form.html:102
+#: templates/web/fixmystreet/questionnaire/index.html:90
+msgid "Photo:"
+msgstr "Foto:"
+
+#: templates/web/default/alert/list.html:26
+msgid "Photos of recent nearby reports"
+msgstr "Fotos von neuen Meldungen in der N&auml;he"
+
+#: templates/web/bromley/report/display.html:80
+#: templates/web/bromley/report/display.html:81
+#: templates/web/default/admin/report_edit.html:18
+#: templates/web/default/admin/report_edit.html:19
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/dashboard/index.html:137
+#: templates/web/default/report/display.html:79
+#: templates/web/default/report/display.html:80
+#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/fixmystreet/report/display.html:75
+msgid "Planned"
+msgstr "Geplant"
+
+#: templates/web/fixmystreet/questionnaire/index.html:44
+msgid ""
+"Please <a class=\"tab_link\" href=\"#report\">take a look</a> at the updates "
+"that have been left."
+msgstr ""
+
+#: templates/web/default/report/new/notes.html:6
+#: templates/web/fixmystreet/report/new/notes.html:5
+msgid "Please be polite, concise and to the point."
+msgstr "Bitte seien Sie freundlich und pr&auml;gnant."
+
+#: templates/web/default/auth/change_password.html:12
+#: templates/web/default/auth/change_password.html:17
+msgid "Please check the passwords and try again"
+msgstr ""
+
+#: templates/web/default/auth/token.html:17
+msgid "Please check your email"
+msgstr "Bitte &uuml;berpr&uuml;fen sie ihre eMail"
+
+#: templates/web/default/auth/general.html:14
+#: templates/web/default/auth/general.html:8
+#: templates/web/fixmystreet/auth/general.html:15
+#: templates/web/fixmystreet/auth/general.html:9
+msgid "Please check your email address is correct"
+msgstr "Bitte &uuml;berpr&uuml;fen Sie ob Ihre eMail-Adresse korrekt ist"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:819
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:826
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:845
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:884
+#: perllib/FixMyStreet/DB/Result/Problem.pm:347
+#: templates/web/default/js/validation_strings.html:9
+msgid "Please choose a category"
+msgstr "Bitte w&auml;hlen Sie eine Kategorie"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:353
+msgid "Please choose a property type"
+msgstr ""
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:64
+msgid ""
+"Please describe the exact location of the report. Example: “2 dumped "
+"mattresses outside Number 19 Stockwell Close”"
+msgstr ""
+
+#: templates/web/default/contact/blurb.html:2
+msgid ""
+"Please do <strong>not</strong> report problems through this form; messages "
+"go to\n"
+"the team behind FixMyStreet, not a council. To report a problem,\n"
+"please <a href=\"/\">go to the front page</a> and follow the instructions."
+msgstr ""
+
+#: templates/web/default/report/new/notes.html:7
+#: templates/web/fixmystreet/report/new/notes.html:6
+#, fuzzy
+msgid ""
+"Please do not be abusive &mdash; abusing your council devalues the service "
+"for all users."
+msgstr ""
+"Bitte missbrauchen Sie diesen Service nicht. Die Schaden damit nicht nur der "
+"Verwaltung, sondern s&auml;mtlichen Bewohnern von Z&uuml,rich."
+
+#: perllib/FixMyStreet/DB/Result/Comment.pm:146
+#: templates/web/default/js/validation_strings.html:2
+msgid "Please enter a message"
+msgstr ""
+
+#: templates/web/default/auth/change_password.html:12
+#: templates/web/default/auth/change_password.html:15
+msgid "Please enter a password"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:97
+#: perllib/FixMyStreet/DB/Result/Problem.pm:322
+#: templates/web/default/js/validation_strings.html:3
+msgid "Please enter a subject"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/User.pm:104
+#: templates/web/default/js/validation_strings.html:12
+#: templates/web/default/js/validation_strings.html:16
+msgid "Please enter a valid email"
+msgstr "Bitte geben Sie eine g&uuml;ltige eMail-Adresse an"
+
+#: perllib/FixMyStreet/App/Controller/Alert.pm:346
+#: perllib/FixMyStreet/App/Controller/Contact.pm:107
+msgid "Please enter a valid email address"
+msgstr "Bitte geben Sie eine g&uuml;ltige eMail-Adresse an"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:325
+#: templates/web/default/js/validation_strings.html:4
+msgid "Please enter some details"
+msgstr "Bitte geben Sie einiges Details an"
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:96
+#: perllib/FixMyStreet/DB/Result/User.pm:101
+#: templates/web/default/auth/general.html:13
+#: templates/web/default/auth/general.html:8
+#: templates/web/default/js/validation_strings.html:11
+#: templates/web/default/js/validation_strings.html:15
+#: templates/web/fixmystreet/auth/general.html:14
+#: templates/web/fixmystreet/auth/general.html:9
+msgid "Please enter your email"
+msgstr "Bitte geben Sie Ihre eMail-Adresse an"
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:149
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:146
+msgid "Please enter your email address"
+msgstr "Bitte geben Sie eine Ihre eMail-Adresse an"
+
+#: templates/web/default/js/validation_strings.html:19
+#, fuzzy
+msgid "Please enter your first name"
+msgstr "Bitte geben Sie Ihren Namen an"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:340
+#: templates/web/default/js/validation_strings.html:7
+msgid ""
+"Please enter your full name, councils need this information – if you do not "
+"wish your name to be shown on the site, untick the box below"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:95
+#: perllib/FixMyStreet/DB/Result/Comment.pm:143
+#: perllib/FixMyStreet/DB/Result/Problem.pm:333
+#: perllib/FixMyStreet/DB/Result/User.pm:97
+#: templates/web/default/js/validation_strings.html:6
+msgid "Please enter your name"
+msgstr "Bitte geben Sie Ihren Namen an"
+
+#: templates/web/default/js/validation_strings.html:20
+#, fuzzy
+msgid "Please enter your second name"
+msgstr "Bitte geben Sie Ihren Namen an"
+
+#: templates/web/default/js/validation_strings.html:18
+#, fuzzy
+msgid "Please enter your title"
+msgstr "Bitte geben Sie Ihre eMail-Adresse an"
+
+#: templates/web/emptyhomes/report/new/fill_in_details_text.html:1
+msgid ""
+"Please fill in details of the empty property below, saying what type of\n"
+"property it is e.g. an empty home, block of flats, office etc. Tell us\n"
+"something about its condition and any other information you feel is "
+"relevant.\n"
+"There is no need for you to give the exact address. Please be polite, "
+"concise\n"
+"and to the point; writing your message entirely in block capitals makes it "
+"hard\n"
+"to read, as does a lack of punctuation."
+msgstr ""
+
+#: templates/web/default/report/new/fill_in_details_text.html:1
+#: templates/web/default/report/new/fill_in_details_text.html:11
+#: templates/web/fixmystreet/report/new/fill_in_details_text.html:1
+#: templates/web/fixmystreet/report/new/fill_in_details_text.html:11
+msgid "Please fill in details of the problem below."
+msgstr ""
+
+#: templates/web/default/report/new/fill_in_details_text.html:1
+#: templates/web/default/report/new/fill_in_details_text.html:3
+msgid ""
+"Please fill in details of the problem below. The council won't be able\n"
+"to help unless you leave as much detail as you can, so please describe the "
+"exact location of\n"
+"the problem (e.g. on a wall), what it is, how long it has been there, a "
+"description (and a\n"
+"photo of the problem if you have one), etc."
+msgstr ""
+"Bitte beschreiben sie Ihre Meldung weiter unten. Wir k&ouml;nnen den Mangel "
+"nur beheben, wenn Sie soviel Details wie m&ouml;glich angeben: Beschreiben "
+"sie die exakte Lage (z.B. An der Wand Richtung Strasse), was genau der "
+"Mangel ist, wie lange dieser schon da ist und laden sie wenn m&ouml;glich "
+"ein Photo des Mangels hoch."
+
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:68
+msgid "Please fill in details of the problem."
+msgstr ""
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:28
+#: templates/web/default/report/new/fill_in_details_form.html:27
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:34
+msgid ""
+"Please fill in the form below with details of the problem, and describe the "
+"location as precisely as possible in the details box."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:241
+msgid "Please indicate whether you'd like to receive another questionnaire"
+msgstr ""
+
+#: templates/web/fixmystreet/report/updates-sidebar-notes.html:3
+msgid "Please note that updates are not sent to the council."
+msgstr ""
+
+#: templates/web/default/report/display.html:56
+msgid ""
+"Please note that updates are not sent to the council. If you leave your name "
+"it will be public. Your information will only be used in accordance with our "
+"<a href=\"/faq#privacy\">privacy policy</a>"
+msgstr ""
+
+#: templates/web/barnet/report/updates-sidebar-notes.html:1
+msgid ""
+"Please note that updates are not sent to the relevant department. If you "
+"leave your name it will be public. Your information will only be used in "
+"accordance with our <a href=\"/faq#privacy\">privacy policy</a>"
+msgstr ""
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:23
+#: templates/web/default/report/new/fill_in_details_form.html:5
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:25
+msgid ""
+"Please note your report has <strong>not yet been sent</strong>. Choose a "
+"category and add further information below, then submit."
+msgstr ""
+
+#: templates/web/default/report/new/notes.html:1
+#: templates/web/fixmystreet/report/new/notes.html:1
+msgid "Please note:"
+msgstr "Hinweise:"
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:244
+msgid "Please provide some explanation as to why you're reopening this report"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:251
+msgid "Please provide some text as well as a photo"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:116
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:237
+msgid ""
+"Please say whether you've ever reported a problem to your council before"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Alert.pm:80
+msgid "Please select the feed you want"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Alert.pm:118
+msgid "Please select the type of alert you want"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:233
+msgid "Please state whether or not the problem has been fixed"
+msgstr ""
+
+#: templates/web/default/questionnaire/index.html:50
+msgid "Please take a look at the updates that have been left."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Photo.pm:176
+msgid "Please upload a JPEG image only"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Photo.pm:183
+msgid "Please upload a JPEG image only\n"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:98
+msgid "Please write a message"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:70
+#: templates/web/fixmystreet/report/display.html:69
+msgid "Please write your update here"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:121
+#: templates/web/bromley/report/display.html:149
+#: templates/web/bromley/report/display.html:161
+#: templates/web/default/contact/index.html:93
+#: templates/web/default/report/display.html:119
+#: templates/web/default/report/display.html:156
+#: templates/web/default/report/display.html:178
+#: templates/web/fixmystreet/contact/index.html:93
+#: templates/web/fixmystreet/report/display.html:115
+#: templates/web/fixmystreet/report/display.html:139
+#: templates/web/fixmystreet/report/display.html:161
+msgid "Post"
+msgstr ""
+
+#: templates/web/default/report/updates.html:14
+msgid "Posted anonymously at %s"
+msgstr ""
+
+#: templates/web/default/report/updates.html:21
+msgid "Posted by %s (<strong>%s</strong>) at %s"
+msgstr ""
+
+#: templates/web/default/report/updates.html:23
+msgid "Posted by %s at %s"
+msgstr ""
+
+#: templates/web/default/maps/openlayers.html:85
+msgid "Problem"
+msgstr "Meldung"
+
+#: templates/web/default/admin/timeline.html:24
+msgid "Problem %d created"
+msgstr ""
+
+#: templates/web/default/admin/timeline.html:26
+msgid "Problem %s confirmed"
+msgstr ""
+
+#: templates/web/default/admin/timeline.html:28
+msgid "Problem %s sent to council %s"
+msgstr ""
+
+#: templates/web/default/admin/index.html:28
+msgid "Problem breakdown by state"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:819
+msgid "Problem marked as open."
+msgstr ""
+
+#: templates/web/default/admin/questionnaire.html:21
+msgid "Problem state change based on survey results"
+msgstr ""
+
+#: templates/web/default/admin/list_flagged.html:5
+msgid "Problems"
+msgstr "Meldungen"
+
+#: templates/web/default/around/display_location.html:81
+msgid "Problems in this area"
+msgstr "Meldungen in dieser Gegend"
+
+#: templates/web/bromley/report/display.html:31
+#: templates/web/fixmystreet/around/display_location.html:98
+#: templates/web/fixmystreet/report/display.html:24
+msgid "Problems nearby"
+msgstr "Meldungen in der N&auml;he"
+
+#: templates/web/fixmystreet/around/display_location.html:97
+msgid "Problems on the map"
+msgstr "Meldungen auf der Karte"
+
+#: db/alert_types.pl:14
+msgid "Problems recently reported fixed on FixMyStreet"
+msgstr "Meldungen, welche k&uuml;rzlich gel&ouml;st wurden"
+
+#: templates/web/default/alert/_list.html:19
+#: templates/web/fixmystreet/alert/_list.html:21
+msgid "Problems within %.1fkm of this location"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:609
+#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:95
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:162
+#: perllib/FixMyStreet/Cobrand/UK.pm:240
+msgid "Problems within %s"
+msgstr "Meldungen innerhalb %s"
+
+#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:103
+#: perllib/FixMyStreet/Cobrand/UK.pm:254
+msgid "Problems within %s ward"
+msgstr ""
+
+#: templates/web/default/reports/council.html:0
+#: templates/web/default/reports/council.html:29
+msgid "Problems within %s, FixMyStreet"
+msgstr ""
+
+#: templates/web/default/alert/_list.html:40
+#: templates/web/fixmystreet/alert/_list.html:42
+msgid "Problems within the boundary of:"
+msgstr ""
+
+#: db/alert_types_eha.pl:8
+msgid "Properties recently reported as put back to use on reportemptyhomes.com"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:617
+msgid "Property type:"
+msgstr ""
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:52
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:62
+msgid "Provide a title"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:57
+#: templates/web/default/report/display.html:51
+#: templates/web/fixmystreet/report/display.html:50
+msgid "Provide an update"
+msgstr "Meldung aktualisieren"
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:180
+msgid ""
+"Providing a password is optional, but doing so will allow you to more easily "
+"report future problems, leave updates and manage your reports."
+msgstr ""
+
+#: templates/web/bromley/report/display.html:142
+#: templates/web/default/report/display.html:175
+#: templates/web/default/report/new/fill_in_details_form.html:173
+#: templates/web/fixmystreet/report/display.html:154
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:191
+msgid ""
+"Providing a password is optional, but doing so will allow you to more easily "
+"report problems, leave updates and manage your reports."
+msgstr ""
+
+#: templates/web/default/questionnaire/completed.html:1
+#: templates/web/default/questionnaire/completed.html:2
+#: templates/web/default/questionnaire/index.html:0
+#: templates/web/default/questionnaire/index.html:14
+#: templates/web/default/questionnaire/index.html:4
+#: templates/web/fixmystreet/questionnaire/index.html:0
+#: templates/web/fixmystreet/questionnaire/index.html:14
+#: templates/web/fixmystreet/questionnaire/index.html:32
+#: templates/web/fixmystreet/questionnaire/index.html:4
+msgid "Questionnaire"
+msgstr ""
+
+#: templates/web/default/admin/timeline.html:32
+msgid "Questionnaire %d answered for problem %d, %s to %s"
+msgstr ""
+
+#: templates/web/default/admin/timeline.html:30
+msgid "Questionnaire %d sent for problem %d"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:190
+msgid "Questionnaire filled in by problem reporter"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:37
+#: templates/web/default/alert/_list.html:21
+#: templates/web/default/around/display_location.html:1
+#: templates/web/default/around/display_location.html:3
+#: templates/web/default/report/display.html:42
+#: templates/web/default/reports/_rss.html:1
+#: templates/web/fixmystreet/alert/_list.html:22
+#: templates/web/fixmystreet/alert/updates.html:9
+#: templates/web/fixmystreet/around/display_location.html:1
+#: templates/web/fixmystreet/around/display_location.html:3
+#: templates/web/fixmystreet/report/display.html:30
+msgid "RSS feed"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
+msgid "RSS feed for %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
+msgid "RSS feed for %s ward, %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:178
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:186
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:196
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:204
+#: perllib/FixMyStreet/Cobrand/UK.pm:309 perllib/FixMyStreet/Cobrand/UK.pm:321
+msgid "RSS feed of %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:314 perllib/FixMyStreet/Cobrand/UK.pm:326
+msgid "RSS feed of %s, within %s ward"
+msgstr ""
+
+#: templates/web/default/alert/_list.html:21
+#: templates/web/fixmystreet/alert/_list.html:22
+msgid "RSS feed of nearby problems"
+msgstr ""
+
+#: templates/web/default/reports/_rss.html:1
+msgid "RSS feed of problems in this %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/Default.pm:610
+#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:96
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
+#: perllib/FixMyStreet/Cobrand/UK.pm:247
+msgid "RSS feed of problems within %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:102
+#: perllib/FixMyStreet/Cobrand/UK.pm:253
+msgid "RSS feed of problems within %s ward"
+msgstr ""
+
+#: templates/web/default/around/display_location.html:1
+#: templates/web/default/around/display_location.html:4
+#: templates/web/fixmystreet/around/display_location.html:1
+#: templates/web/fixmystreet/around/display_location.html:4
+msgid "RSS feed of recent local problems"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:37
+#: templates/web/default/report/display.html:42
+#: templates/web/fixmystreet/alert/updates.html:9
+#: templates/web/fixmystreet/report/display.html:30
+msgid "RSS feed of updates to this problem"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:39
+#: templates/web/default/alert/updates.html:9
+#: templates/web/default/report/display.html:33
+#: templates/web/fixmystreet/alert/updates.html:14
+#: templates/web/fixmystreet/report/display.html:32
+msgid "Receive email when updates are left on this problem."
+msgstr "Erhalten Sie Aktualisierungen dieser Meldung."
+
+#: templates/web/default/around/display_location.html:0
+#: templates/web/default/around/display_location.html:34
+#: templates/web/fixmystreet/around/display_location.html:0
+#: templates/web/fixmystreet/around/display_location.html:34
+msgid "Recent local problems, FixMyStreet"
+msgstr ""
+
+#: templates/web/default/reports/index.html:19
+#, fuzzy
+msgid "Recently <br>fixed"
+msgstr "K&uuml;rzlich gel&ouml;st"
+
+#: templates/web/emptyhomes/reports/index.html:13
+#: templates/web/fiksgatami/nn/reports/index.html:13
+#: templates/web/fiksgatami/reports/index.html:13
+msgid "Recently fixed"
+msgstr "K&uuml;rzlich gel&ouml;st"
+
+#: templates/web/default/index.html:50 templates/web/fixmystreet/index.html:62
+msgid "Recently reported problems"
+msgstr "K&uuml;rzlich erfasste Meldungen"
+
+#: templates/web/default/report/new/notes.html:9
+#: templates/web/fixmystreet/report/new/notes.html:8
+msgid ""
+"Remember that FixMyStreet is primarily for reporting physical problems that "
+"can be fixed. If your problem is not appropriate for submission via this "
+"site remember that you can contact your council directly using their own "
+"website."
+msgstr ""
+"Fix My Z&uuml;rich wird prim&auml;r daf&uuml;r verwendet, physische M&auml;"
+"ngel zu melden, welche behoben werden k&ouml;nnen. Wenn Ihr Problem daf&uuml;"
+"r nicht passend erscheint, k&ouml;nnen sie die entsprechende Dienststelle "
+"weiterhin telefonisch oder per eMail erreichen."
+
+#: templates/web/default/admin/report_blocks.html:16
+msgid "Remove flag"
+msgstr ""
+
+#: templates/web/default/admin/report_edit.html:53
+#: templates/web/default/admin/update_edit.html:48
+msgid "Remove photo (can't be undone!)"
+msgstr ""
+
+#: templates/web/emptyhomes/header.html:10
+msgid "Report Empty Homes"
+msgstr ""
+
+#: templates/web/barnet/footer.html:16 templates/web/bromley/footer.html:17
+#: templates/web/default/footer.html:7 templates/web/emptyhomes/header.html:27
+#: templates/web/fiksgatami/footer.html:5
+#: templates/web/fiksgatami/nn/footer.html:5
+#: templates/web/fixmystreet/footer.html:45
+#: templates/web/reading/footer.html:6
+msgid "Report a problem"
+msgstr "Eine Meldung erfassen"
+
+#: templates/web/bromley/report/display.html:28
+#: templates/web/fixmystreet/report/display.html:22
+msgid "Report abuse"
+msgstr "Missbrauch melden"
+
+#: templates/web/emptyhomes/index.html:37
+msgid "Report empty properties"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Rss.pm:277
+msgid "Report on %s"
+msgstr ""
+
+#: templates/web/default/index.html:15
+#: templates/web/fixmystreet/around/postcode_form.html:6
+msgid "Report, view, or discuss local problems"
+msgstr "Melden sie M&auml;ngel an der Infrastruktur von Z&uuml;rich"
+
+#: templates/web/default/my/my.html:74
+msgid "Reported %s"
+msgstr ""
+
+#: templates/web/default/my/my.html:72
+msgid "Reported %s, to %s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:512
+#: templates/web/default/contact/index.html:45
+#: templates/web/fixmystreet/contact/index.html:46
+msgid "Reported anonymously at %s"
+msgstr "Anonym gemeldet um"
+
+#: templates/web/default/admin/questionnaire.html:5
+#: templates/web/default/questionnaire/index.html:77
+#: templates/web/fixmystreet/questionnaire/index.html:71
+msgid "Reported before"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:504
+msgid "Reported by %s anonymously at %s"
+msgstr "Anonym gemeldet von %s um %s "
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:535
+#: templates/web/default/contact/index.html:47
+#: templates/web/fixmystreet/contact/index.html:48
+msgid "Reported by %s at %s"
+msgstr "Gemeldet von %s um %s"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:526
+msgid "Reported by %s by %s at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:500
+msgid "Reported by %s in the %s category anonymously at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:520
+msgid "Reported by %s in the %s category by %s at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:508
+msgid "Reported in the %s category anonymously at %s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:530
+msgid "Reported in the %s category by %s at %s"
+msgstr ""
+
+#: templates/web/default/around/around_index.html:1
+#: templates/web/default/report/new/fill_in_details.html:0
+#: templates/web/default/report/new/fill_in_details.html:3
+#: templates/web/default/report/new/fill_in_details_form.html:1
+#: templates/web/fixmystreet/around/around_index.html:2
+#: templates/web/fixmystreet/report/new/fill_in_details.html:0
+#: templates/web/fixmystreet/report/new/fill_in_details.html:5
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:2
+msgid "Reporting a problem"
+msgstr "Verfassen Sie eine Meldung"
+
+#: templates/web/default/around/display_location.html:95
+msgid "Reports on and around the map"
+msgstr ""
+
+#: templates/web/default/admin/report_edit.html:35
+msgid "Resend report"
+msgstr ""
+
+#: perllib/FixMyStreet/Geocode/OSM.pm:166
+msgid ""
+"Road operator for this named road (derived from road reference number and "
+"type): %s"
+msgstr ""
+
+#: perllib/FixMyStreet/Geocode/OSM.pm:163
+msgid "Road operator for this named road (from OpenStreetMap): %s"
+msgstr ""
+
+#: templates/web/default/admin/council_edit.html:35
+msgid "Save changes"
+msgstr "&Auml;nderungen speichern"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1027
+msgid "Search Abuse"
+msgstr ""
+
+#: templates/web/default/admin/search_abuse.html:1
+msgid "Search Abuse Table"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1023
+#: templates/web/default/admin/list_flagged.html:1
+#: templates/web/default/admin/search_reports.html:1
+msgid "Search Reports"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1026
+#: templates/web/default/admin/search_users.html:1
+msgid "Search Users"
+msgstr ""
+
+#: templates/web/default/admin/search_abuse.html:4
+#: templates/web/default/admin/search_reports.html:5
+#: templates/web/default/admin/search_users.html:5
+msgid "Search:"
+msgstr "Suchen:"
+
+#: templates/web/default/alert/_list.html:8
+#: templates/web/fixmystreet/alert/_list.html:10
+msgid ""
+"Select which type of alert you'd like and click the button for an RSS feed, "
+"or enter your email address to subscribe to an email alert."
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:618
+msgid "Sent to %s %s later"
+msgstr ""
+
+#: templates/web/default/admin/report_edit.html:35
+msgid "Sent:"
+msgstr "Gesendet:"
+
+#: templates/web/default/admin/report_edit.html:37
+msgid "Service:"
+msgstr ""
+
+#: templates/web/emptyhomes/static/about.html:21
+msgid "Shelter Cymru"
+msgstr ""
+
+#: templates/web/emptyhomes/static/about.html:23
+msgid ""
+"Shelter Cymru is Wales&rsquo; people and homes charity and wants\n"
+" everyone in Wales to have a decent home. We believe a home is a "
+"fundamental\n"
+" right and essential to the health and well-being of people and "
+"communities.\n"
+" We work for people in housing need. We have offices all over Wales and\n"
+" prevent people from losing their homes by offering free, confidential "
+"and\n"
+" independent advice. When necessary we constructively challenge on behalf "
+"of\n"
+" people to ensure they are properly assisted and to improve practice and\n"
+" learning. We believe that bringing empty homes back into use can make a\n"
+" significant contribution to the supply of affordable homes in Wales."
+msgstr ""
+
+#: templates/web/bromley/report/display.html:203
+#: templates/web/bromley/report/new/fill_in_details_form.html:129
+#: templates/web/bromley/report/new/fill_in_details_form.html:175
+#: templates/web/default/report/display.html:208
+#: templates/web/default/report/new/fill_in_details_form.html:210
+#: templates/web/fixmystreet/report/display.html:185
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:126
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:186
+msgid "Show my name publicly"
+msgstr ""
+
+#: templates/web/default/around/display_location.html:60
+#: templates/web/fixmystreet/around/display_location.html:60
+msgid "Show old"
+msgstr ""
+
+#: templates/web/default/around/display_location.html:51
+#: templates/web/fixmystreet/around/display_location.html:52
+msgid "Show pins"
+msgstr "Zeige Stecknadeln"
+
+#: templates/web/default/auth/general.html:3
+#: templates/web/default/auth/general.html:49
+#: templates/web/fixmybarangay/header.html.orig:46
+#: templates/web/fixmystreet/auth/general.html:3
+#: templates/web/fixmystreet/auth/general.html:38
+#: templates/web/fixmystreet/auth/general.html:58
+#: templates/web/fixmystreet/header.html:51
+#: templates/web/zurich/header.html:51
+msgid "Sign in"
+msgstr ""
+
+#: templates/web/default/auth/general.html:74
+msgid "Sign in by email"
+msgstr ""
+
+#: templates/web/default/auth/general.html:1
+#: templates/web/fixmystreet/auth/general.html:1
+msgid "Sign in or create an account"
+msgstr ""
+
+#: templates/web/bromley/auth/sign_out.html:1
+#: templates/web/default/auth/sign_out.html:1
+#: templates/web/default/header.html:30
+#: templates/web/emptyhomes/header.html:41
+#: templates/web/fiksgatami/header.html:22
+#: templates/web/fiksgatami/nn/header.html:22
+#: templates/web/lichfielddc/header.html:177
+#: templates/web/reading/header.html:33
+msgid "Sign out"
+msgstr ""
+
+#: templates/web/default/header.html:29
+#: templates/web/emptyhomes/header.html:40
+#: templates/web/fiksgatami/header.html:21
+#: templates/web/fiksgatami/nn/header.html:21
+#: templates/web/lichfielddc/header.html:177
+#: templates/web/reading/header.html:32
+msgid "Signed in as %s"
+msgstr ""
+
+#: templates/web/default/report/new/fill_in_details_text.html:1
+#: templates/web/fixmystreet/report/new/fill_in_details_text.html:1
+msgid "Some categories may require additional information."
+msgstr ""
+
+#: templates/web/default/alert/index.html:42
+msgid "Some photos of recent reports"
+msgstr ""
+
+#: perllib/FixMyStreet/App/View/Email.pm:32
+#: perllib/FixMyStreet/App/View/Web.pm:44
+msgid "Some text to localize"
+msgstr ""
+
+#: templates/web/default/admin/council_list.html:42
+msgid "Some unconfirmeds"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:97
+msgid ""
+"Sorry, that appears to be a Crown dependency postcode, which we don't cover."
+msgstr ""
+
+#: templates/web/default/tokens/abuse.html:5
+msgid "Sorry, there has been an error confirming your problem."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:214
+#: perllib/FixMyStreet/Geocode.pm:27 perllib/FixMyStreet/Geocode/Bing.pm:51
+#: perllib/FixMyStreet/Geocode/Google.pm:69
+msgid "Sorry, we could not find that location."
+msgstr ""
+
+#: perllib/FixMyStreet/Geocode/Bing.pm:46
+#: perllib/FixMyStreet/Geocode/Google.pm:64
+#: perllib/FixMyStreet/Geocode/OSM.pm:59
+msgid "Sorry, we could not parse that location. Please try again."
+msgstr ""
+
+#: templates/web/fiksgatami/footer.html:16
+#: templates/web/fiksgatami/nn/footer.html:16
+msgid "Source code"
+msgstr ""
+
+#: templates/web/default/admin/stats.html:64
+msgid "Start Year:"
+msgstr ""
+
+#: templates/web/default/admin/stats.html:66
+msgid "Start day:"
+msgstr ""
+
+#: templates/web/default/admin/stats.html:65
+msgid "Start month:"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:78
+#: templates/web/default/admin/list_flagged.html:18
+#: templates/web/default/admin/list_updates.html:6
+#: templates/web/default/admin/search_reports.html:21
+#: templates/web/fixmystreet/report/display.html:72
+msgid "State"
+msgstr ""
+
+#: templates/web/default/admin/report_edit.html:17
+#: templates/web/default/admin/update_edit.html:18
+#: templates/web/default/report/display.html:77
+msgid "State:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1029
+#: templates/web/default/admin/stats.html:1
+msgid "Stats"
+msgstr ""
+
+#: templates/web/default/report/updates.html:9
+msgid "Still open, via questionnaire, %s"
+msgstr ""
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:48
+#: templates/web/fixmystreet/contact/index.html:79
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:58
+msgid "Subject"
+msgstr "Titel"
+
+#: templates/web/default/admin/report_edit.html:13
+#: templates/web/default/contact/index.html:83
+#: templates/web/default/report/new/fill_in_details_form.html:52
+msgid "Subject:"
+msgstr "Titel:"
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:140
+#: templates/web/bromley/report/new/fill_in_details_form.html:190
+#: templates/web/bromley/report/new/fill_in_details_form.html:204
+#: templates/web/default/questionnaire/creator_fixed.html:19
+#: templates/web/default/report/new/fill_in_details_form.html:114
+#: templates/web/default/report/new/fill_in_details_form.html:154
+#: templates/web/default/report/new/fill_in_details_form.html:176
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:137
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:162
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:201
+msgid "Submit"
+msgstr "Abschicken"
+
+#: templates/web/default/admin/report_edit.html:56
+#: templates/web/default/admin/update_edit.html:51
+#: templates/web/default/admin/user_edit.html:20
+msgid "Submit changes"
+msgstr ""
+
+#: templates/web/default/questionnaire/index.html:112
+#: templates/web/fixmystreet/questionnaire/index.html:105
+msgid "Submit questionnaire"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:44
+#: templates/web/default/alert/updates.html:17
+#: templates/web/default/report/display.html:38
+#: templates/web/fixmystreet/alert/updates.html:23
+#: templates/web/fixmystreet/report/display.html:37
+msgid "Subscribe"
+msgstr ""
+
+#: templates/web/default/alert/_list.html:97
+#: templates/web/fixmystreet/alert/_list.html:92
+msgid "Subscribe me to an email alert"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1021
+#: templates/web/default/admin/index.html:1
+msgid "Summary"
+msgstr "Zusammenfassung"
+
+#: templates/web/default/reports/index.html:1
+#: templates/web/emptyhomes/reports/index.html:1
+#: templates/web/fiksgatami/nn/reports/index.html:1
+#: templates/web/fiksgatami/reports/index.html:1
+msgid "Summary reports"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1025
+#: templates/web/default/admin/questionnaire.html:1
+msgid "Survey Results"
+msgstr ""
+
+#: templates/web/default/admin/list_updates.html:14
+msgid "Text"
+msgstr ""
+
+#: templates/web/default/admin/council_contacts.html:18
+msgid "Text only version"
+msgstr ""
+
+#: templates/web/default/admin/update_edit.html:13
+msgid "Text:"
+msgstr ""
+
+#: templates/web/default/tokens/confirm_update.html:7
+#: templates/web/default/tokens/confirm_update.html:8
+#, fuzzy
+msgid ""
+"Thank you &mdash; you can <a href=\"%s\">view your updated problem</a> on "
+"the site."
+msgstr ""
+"Danke &amp;mdash; Sie k&ouml;nnen Ihre aktualisierte Meldung <a href=\"%s"
+"\">auf der Webseite anschauen</a>"
+
+#: templates/web/emptyhomes/tokens/confirm_problem.html:6
+#: templates/web/emptyhomes/tokens/confirm_problem.html:8
+msgid ""
+"Thank you for reporting an empty property on ReportEmptyHomes.com. We have "
+"emailed the lead officer for empty homes in the council responsible with "
+"details, and asked them to do whatever they can to get the empty property "
+"back into use as soon as possible."
+msgstr ""
+
+#: templates/web/emptyhomes/tokens/confirm_problem.html:30
+#: templates/web/emptyhomes/tokens/confirm_problem.html:31
+msgid ""
+"Thank you for reporting this empty property on ReportEmptyHomes.com.\n"
+"At present the report cannot be sent through to the council for this area. "
+"We\n"
+"are working with councils to link them into the system so that as many "
+"areas\n"
+"as possible will be covered."
+msgstr ""
+
+#: templates/web/default/tokens/error.html:7
+msgid ""
+"Thank you for trying to confirm your update or problem. We seem to have an "
+"error ourselves though, so <a href=\"%s\">please let us know what went on</"
+"a> and we'll look into it."
+msgstr ""
+
+#: templates/web/emptyhomes/tokens/confirm_problem.html:24
+#: templates/web/emptyhomes/tokens/confirm_problem.html:26
+msgid ""
+"Thank you for using ReportEmptyHomes.com. Your action is already helping to "
+"resolve the UK&rsquo;s empty homes crisis."
+msgstr ""
+
+#: templates/web/fixmystreet/around/around_index.html:27
+msgid ""
+"Thanks for uploading your photo. We now need to locate your problem, so "
+"please enter a nearby street name or postcode in the box above&nbsp;:"
+msgstr ""
+
+#: templates/web/default/around/around_index.html:28
+msgid ""
+"Thanks for uploading your photo. We now need to locate your problem, so "
+"please enter a nearby street name or postcode in the box below&nbsp;:"
+msgstr ""
+
+#: templates/web/default/contact/submit.html:8
+msgid "Thanks for your feedback. We'll get back to you as soon as we can!"
+msgstr ""
+
+#: templates/web/default/questionnaire/creator_fixed.html:9
+msgid ""
+"Thanks, glad to hear it's been fixed! Could we just ask if you have ever "
+"reported a problem to a council before?"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Photo.pm:190
+msgid ""
+"That image doesn't appear to have uploaded correctly (%s), please try again."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Council.pm:91
+msgid ""
+"That location does not appear to be covered by a council; perhaps it is "
+"offshore or outside the country. Please try again."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Location.pm:107
+msgid "That location does not appear to be in the UK; please try again."
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:63
+#: perllib/FixMyStreet/Cobrand/UK.pm:90
+msgid "That postcode was not recognised, sorry."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:605
+msgid "That problem will now be resent."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report.pm:75
+msgid "That report has been removed from FixMyStreet."
+msgstr "Diese Meldung wurde von Fix My Z&uuml;rich entfernt."
+
+#: templates/web/emptyhomes/static/about.html:7
+msgid "The Empty Homes Agency"
+msgstr ""
+
+#: templates/web/emptyhomes/static/about.html:9
+msgid ""
+"The Empty Homes agency is an independent campaigning charity. We\n"
+" are not part of government, and have no formal links with local "
+"councils\n"
+" although we work in cooperation with both. We exist to highlight the "
+"waste\n"
+" of empty property and work with others to devise and promote "
+"sustainable\n"
+" solutions to bring empty property back into use. We are based in London "
+"but\n"
+" work across England. We also work in partnership with other charities "
+"across\n"
+" the UK."
+msgstr ""
+
+#: templates/web/default/open311/index.html:23
+msgid ""
+"The Open311 v2 attribute agency_responsible is used to list the "
+"administrations that received the problem report, which is not quite the way "
+"the attribute is defined in the Open311 v2 specification."
+msgstr ""
+
+#: templates/web/default/auth/token.html:21
+#: templates/web/default/email_sent.html:22
+msgid ""
+"The confirmation email <strong>may</strong> take a few minutes to arrive "
+"&mdash; <em>please</em> be patient."
+msgstr ""
+
+#: templates/web/fixmystreet/report/new/fill_in_details_text.html:1
+#: templates/web/fixmystreet/report/new/fill_in_details_text.html:3
+#, fuzzy
+msgid ""
+"The council won&rsquo;t be able to help unless you leave as much\n"
+"detail as you can. Please describe the exact location of the problem (e.g. "
+"on a\n"
+"wall), what it is, how long it has been there, a description (and a photo "
+"of\n"
+"the problem if you have one), etc."
+msgstr ""
+"Bitte beschreiben sie Ihre Meldung weiter unten. Wir k&ouml;nnen den Mangel "
+"nur beheben, wenn Sie soviel Details wie m&ouml;glich angeben: Beschreiben "
+"sie die exakte Lage (z.B. An der Wand Richtung Strasse), was genau der "
+"Mangel ist, wie lange dieser schon da ist und laden sie wenn m&ouml;glich "
+"ein Photo des Mangels hoch."
+
+#: templates/web/fixmystreet/questionnaire/index.html:43
+msgid "The details of your problem are available from the other tab above."
+msgstr ""
+
+#: templates/web/default/questionnaire/index.html:49
+msgid ""
+"The details of your problem are available on the right hand side of this "
+"page."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
+#: perllib/FixMyStreet/App/Controller/Reports.pm:44
+#: perllib/FixMyStreet/App/Controller/Reports.pm:75
+msgid "The error was: %s"
+msgstr ""
+
+#: templates/web/default/open311/index.html:19
+msgid ""
+"The following Open311 v2 attributes are returned for each request: "
+"service_request_id, description, lat, long, media_url, status, "
+"requested_datetime, updated_datetime, service_code and service_name."
+msgstr ""
+
+#: perllib/FixMyStreet/Geocode/OSM.pm:158
+msgid ""
+"The following information about the nearest road might be inaccurate or "
+"irrelevant, if the problem is close to several roads or close to a road "
+"without a name registered in OpenStreetMap."
+msgstr ""
+
+#: db/alert_types.pl:19 db/alert_types.pl:23 db/alert_types.pl:27
+#: db/alert_types.pl:31
+msgid "The latest local problems reported by users"
+msgstr ""
+
+#: db/alert_types_eha.pl:13
+msgid "The latest local reports reported by users"
+msgstr ""
+
+#: db/alert_types.pl:35
+msgid "The latest problems for {{COUNCIL}} reported by users"
+msgstr ""
+
+#: db/alert_types.pl:39
+msgid ""
+"The latest problems for {{COUNCIL}} within {{WARD}} ward reported by users"
+msgstr ""
+
+#: db/alert_types.pl:11
+msgid "The latest problems reported by users"
+msgstr ""
+
+#: db/alert_types.pl:15
+msgid "The latest problems reported fixed by users"
+msgstr ""
+
+#: db/alert_types.pl:43
+msgid "The latest problems within {{NAME}}'s boundary reported by users"
+msgstr ""
+
+#: db/alert_types_eha.pl:9
+msgid "The latest properties reported back to use by users"
+msgstr ""
+
+#: db/alert_types_eha.pl:20
+msgid "The latest reports for {{COUNCIL}} reported by users"
+msgstr ""
+
+#: db/alert_types_eha.pl:24
+msgid ""
+"The latest reports for {{COUNCIL}} within {{WARD}} ward reported by users"
+msgstr ""
+
+#: db/alert_types_eha.pl:28
+msgid "The latest reports within {{NAME}}'s boundary reported by users"
+msgstr ""
+
+#: templates/web/default/auth/change_password.html:12
+#: templates/web/default/auth/change_password.html:16
+msgid "The passwords do not match"
+msgstr ""
+
+#: templates/web/default/errors/page_error_404_not_found.html:10
+#: templates/web/default/errors/page_error_404_not_found.html:12
+msgid "The requested URL '%s' was not found on this server"
+msgstr ""
+
+#: templates/web/default/alert/_list.html:14
+#: templates/web/fixmystreet/alert/_list.html:16
+msgid "The simplest alert is our geographic one:"
+msgstr ""
+
+#: templates/web/barnet/report/new/councils_text_all.html:3
+#: templates/web/default/report/new/councils_extra_text.html:1
+#: templates/web/default/report/new/councils_text_some.html:10
+#: templates/web/default/report/new/councils_text_some.html:11
+#: templates/web/default/report/new/fill_in_details_form.html:17
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:12
+msgid ""
+"The subject and details of the problem will be public, plus your name if you "
+"give us permission."
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:269
+msgid ""
+"The user could not locate the problem on a map, but to see the area around "
+"the location they entered"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Reports.pm:72
+msgid ""
+"There was a problem showing the All Reports page. Please try again later."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:59
+msgid "There was a problem showing this page. Please try again later."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:733
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:130
+#: templates/web/default/auth/general.html:23
+#: templates/web/fixmystreet/auth/general.html:24
+msgid ""
+"There was a problem with your email/password combination. If you cannot "
+"remember your password, or do not have one, please fill in the &lsquo;sign "
+"in by email&rsquo; section of the form."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Alert.pm:355
+msgid ""
+"There was a problem with your email/password combination. Please try again."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:252
+msgid "There was a problem with your update. Please try again."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Contact.pm:117
+msgid "There were problems with your report. Please see below."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:279
+msgid "There were problems with your update. Please see below."
+msgstr ""
+
+#: templates/web/default/open311/index.html:10
+msgid ""
+"This API implementation is work in progress and not yet stabilized. It will "
+"change without warnings in the future."
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:339
+msgid ""
+"This email has been sent to both councils covering the location of the "
+"problem, as the user did not categorise it; please ignore it if you're not "
+"the correct council to deal with the issue, or let us know what category of "
+"problem this is so we can add it to our system."
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:342
+msgid ""
+"This email has been sent to several councils covering the location of the "
+"problem, as the category selected is provided for all of them; please ignore "
+"it if you're not the correct council to deal with the issue."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:865
+#: perllib/FixMyStreet/Cobrand/UK.pm:62
+msgid "This information is required"
+msgstr "Diese Information wird ben&ouml;tigt"
+
+#: templates/web/default/debug_header.html:3
+msgid ""
+"This is a developer site; things might break at any time, and the database "
+"will be periodically deleted."
+msgstr ""
+
+#: templates/web/emptyhomes/reports/council.html:58
+msgid "This is a summary of all reports for one %s."
+msgstr ""
+
+#: templates/web/emptyhomes/reports/council.html:60
+msgid "This is a summary of all reports for this %s."
+msgstr ""
+
+#: templates/web/default/reports/index.html:7
+#: templates/web/emptyhomes/reports/index.html:4
+#: templates/web/fiksgatami/nn/reports/index.html:4
+#: templates/web/fiksgatami/reports/index.html:4
+msgid ""
+"This is a summary of all reports on this site; select a particular council "
+"to see the reports sent there."
+msgstr ""
+
+#: templates/web/default/report/banner.html:15
+msgid "This problem has been closed"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:96
+#: templates/web/default/report/banner.html:12
+#: templates/web/default/report/display.html:95
+#: templates/web/emptyhomes/report/display.html:12
+#: templates/web/fixmystreet/report/display.html:90
+msgid "This problem has been fixed"
+msgstr "Dieser Mangel wurde behoben"
+
+#: templates/web/bromley/report/display.html:90
+#: templates/web/default/report/display.html:90
+#: templates/web/fixmystreet/report/display.html:84
+msgid "This problem has not been fixed"
+msgstr "Dieser Mangel wurde nicht behoben"
+
+#: templates/web/default/report/banner.html:19
+msgid "This problem is in progress"
+msgstr "Dieser Mangel ist in Bearbeitung"
+
+#: templates/web/default/report/banner.html:9
+msgid "This problem is old and of unknown status."
+msgstr "Dieses Problem ist alt und hat einen unbekannten Status"
+
+#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:83
+msgid "This report is currently marked as closed."
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:81
+msgid "This report is currently marked as fixed."
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:85
+msgid "This report is currently marked as open."
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:262
+msgid ""
+"This web page also contains a photo of the problem, provided by the user."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1024
+#: templates/web/default/admin/timeline.html:1
+msgid "Timeline"
+msgstr ""
+
+#: templates/web/default/admin/list_flagged.html:10
+#: templates/web/default/admin/search_reports.html:13
+msgid "Title"
+msgstr "Titel"
+
+#: templates/web/default/around/display_location.html:69
+msgid ""
+"To <strong>report a problem</strong>, click on the map at the correct "
+"location."
+msgstr ""
+
+#: templates/web/emptyhomes/around/display_location.html:35
+msgid ""
+"To <strong>report a problem</strong>, simply click on the map at the correct "
+"location."
+msgstr ""
+
+#: templates/web/default/alert/index.html:27
+#, fuzzy
+msgid ""
+"To find out what local alerts we have for you, please enter your postcode or "
+"street name and area"
+msgstr "Geben Sie eine Adresse an"
+
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:268
+msgid "To view a map of the precise location of this issue"
+msgstr ""
+
+#: templates/web/default/admin/index.html:36
+#: templates/web/default/admin/questionnaire.html:24
+#: templates/web/default/admin/stats.html:24
+#: templates/web/default/admin/stats.html:43
+msgid "Total"
+msgstr "Total"
+
+#: perllib/FixMyStreet/App/Controller/Reports.pm:43
+msgid "Unable to look up areas in MaPit. Please try again later."
+msgstr ""
+
+#: templates/web/default/admin/report_edit.html:18
+#: templates/web/default/admin/report_edit.html:21
+#: templates/web/default/admin/update_edit.html:19
+msgid "Unconfirmed"
+msgstr "Unbest&auml;tigt"
+
+#: templates/web/fixmystreet/report/banner.html:9
+msgid "Unknown"
+msgstr "Unbekannt"
+
+#: perllib/FixMyStreet/App/Controller/Rss.pm:164
+msgid "Unknown alert type"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report.pm:70
+msgid "Unknown problem ID"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:66
+#: templates/web/fixmystreet/report/display.html:65
+msgid "Update"
+msgstr "Beschreibung"
+
+#: templates/web/default/admin/timeline.html:35
+msgid "Update %s created for problem %d; by %s"
+msgstr ""
+
+#: templates/web/default/contact/index.html:21
+#: templates/web/fixmystreet/contact/index.html:22
+msgid "Update below added anonymously at %s"
+msgstr ""
+
+#: templates/web/default/contact/index.html:23
+#: templates/web/fixmystreet/contact/index.html:24
+msgid "Update below added by %s at %s"
+msgstr ""
+
+#: templates/web/default/admin/index.html:30
+msgid "Update breakdown by state"
+msgstr ""
+
+#: db/alert_types.pl:7
+msgid "Update by {{name}}"
+msgstr ""
+
+#: templates/web/default/admin/update_edit.html:33
+msgid "Update changed problem state to %s"
+msgstr ""
+
+#: templates/web/default/admin/update_edit.html:35
+msgid "Update marked problem as fixed"
+msgstr ""
+
+#: templates/web/default/admin/update_edit.html:37
+msgid "Update reopened problem"
+msgstr ""
+
+#: templates/web/default/admin/council_contacts.html:62
+msgid "Update statuses"
+msgstr ""
+
+#: templates/web/default/report/display.html:71
+msgid "Update:"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:694
+#: perllib/FixMyStreet/App/Controller/Admin.pm:809
+#: perllib/FixMyStreet/App/Controller/Admin.pm:889
+msgid "Updated!"
+msgstr ""
+
+#: templates/web/default/admin/list_updates.html:1
+#: templates/web/default/report/update.html:3
+#: templates/web/fixmystreet/report/update.html:3
+msgid "Updates"
+msgstr ""
+
+#: db/alert_types.pl:5 db/alert_types.pl:6
+msgid "Updates on {{title}}"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:0
+#: templates/web/bromley/report/display.html:8
+#: templates/web/default/report/display.html:0
+#: templates/web/default/report/display.html:7
+#: templates/web/fixmystreet/report/display.html:0
+#: templates/web/fixmystreet/report/display.html:8
+msgid "Updates to this problem, FixMyStreet"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1182
+msgid "User flag removed"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1154
+msgid "User flagged"
+msgstr ""
+
+#: templates/web/default/admin/list_flagged.html:30
+msgid "Users"
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:309
+#: perllib/FixMyStreet/App/Controller/Admin.pm:339
+msgid "Values updated"
+msgstr ""
+
+#: templates/web/default/admin/report_edit.html:12
+#: templates/web/default/admin/update_edit.html:12
+msgid "View report on site"
+msgstr ""
+
+#: templates/web/default/reports/council.html:18
+msgid "View reports by ward"
+msgstr ""
+
+#: templates/web/emptyhomes/tokens/confirm_problem.html:39
+msgid "View your report"
+msgstr ""
+
+#: templates/web/default/around/display_location.html:0
+#: templates/web/default/around/display_location.html:33
+#: templates/web/emptyhomes/around/display_location.html:0
+#: templates/web/emptyhomes/around/display_location.html:16
+#: templates/web/fixmystreet/around/display_location.html:0
+#: templates/web/fixmystreet/around/display_location.html:33
+msgid "Viewing a location"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:0
+#: templates/web/default/report/display.html:0
+#: templates/web/emptyhomes/report/display.html:2
+#: templates/web/fixmystreet/report/display.html:0
+msgid "Viewing a problem"
+msgstr ""
+
+#: templates/web/default/reports/council.html:20
+#: templates/web/emptyhomes/reports/council.html:18
+msgid "Wards of this council"
+msgstr ""
+
+#: templates/web/default/alert/choose.html:6
+#: templates/web/default/around/around_index.html:17
+#: templates/web/fixmystreet/around/around_index.html:16
+msgid ""
+"We found more than one match for that location. We show up to ten matches, "
+"please try a different search if yours is not here."
+msgstr ""
+
+#: templates/web/default/auth/token.html:19
+msgid "We have sent you an email containing a link to confirm your account."
+msgstr ""
+
+#: templates/web/emptyhomes/tokens/confirm_problem.html:18
+#: templates/web/emptyhomes/tokens/confirm_problem.html:20
+msgid ""
+"We may contact you periodically to ask if anything has changed with the "
+"property you reported."
+msgstr ""
+
+#: templates/web/bromley/report/display.html:141
+#: templates/web/fixmystreet/report/display.html:153
+msgid "We never show your email"
+msgstr "Ihre eMail wird nie angezeigt"
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:133
+#: templates/web/bromley/report/new/fill_in_details_form.html:179
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:130
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:190
+msgid "We never show your email address or phone number."
+msgstr "Ihre eMail-Adresse oder Telefonnummer werden nie angezeigt"
+
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:349
+msgid ""
+"We realise this problem might be the responsibility of %s; however, we don't "
+"currently have any contact details for them. If you know of an appropriate "
+"contact address, please do get in touch."
+msgstr ""
+
+#: templates/web/default/index.html:34 templates/web/emptyhomes/index.html:59
+#: templates/web/fixmystreet/index.html:45
+msgid "We send it to the council on your behalf"
+msgstr ""
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:217
+#: templates/web/default/report/new/notes.html:5
+#, fuzzy
+msgid ""
+"We will only use your personal information in accordance with our <a href=\"/"
+"faq#privacy\">privacy policy.</a>"
+msgstr ""
+"Wir verwenden Ihre pers&ouml;nlichen Daten nur entsprechend unserer <a "
+"href=\"/faq#privacy\">Datenschutzrichtlinien.</a>"
+
+#: templates/web/fixmystreet/report/new/notes.html:4
+#, fuzzy
+msgid ""
+"We will only use your personal information in accordance with our <a href=\"/"
+"privacy\">privacy policy.</a>"
+msgstr ""
+"Wir verwenden Ihre pers&ouml;nlichen Daten nur entsprechend unserer <a "
+"href=\"/faq#privacy\">Datenschutzrichtlinien.</a>"
+
+#: templates/web/emptyhomes/contact/blurb.html:2
+msgid ""
+"We&rsquo;d love to hear what you think about this website. Just fill in the "
+"form. Please don&rsquo;t contact us about individual empty homes; use the "
+"box accessed from <a href=\"/\">the front page</a>."
+msgstr ""
+
+#: templates/web/default/contact/blurb.html:8
+msgid ""
+"We'd love to hear what you think about this site. Just fill in the form, or "
+"send an email to <a href='mailto:%s'>%s</a>:"
+msgstr ""
+
+#: templates/web/default/admin/council_contacts.html:41
+#: templates/web/default/admin/council_edit.html:41
+msgid "When edited"
+msgstr "Wann editiert"
+
+#: templates/web/default/admin/list_flagged.html:19
+#: templates/web/default/admin/search_reports.html:22
+msgid "When sent"
+msgstr "Wann gesendet"
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:612
+msgid "Whole block of empty flats"
+msgstr ""
+
+#: templates/web/default/open311/index.html:25
+msgid ""
+"With request searches, it is also possible to search for agency_responsible "
+"to limit the requests to those sent to a single administration. The search "
+"term is the administration ID provided by <a href=\"%s\">MaPit</a>."
+msgstr ""
+
+#: templates/web/fixmystreet/footer.html:22
+msgid ""
+"Would you like better integration with FixMyStreet? <a href=\"http://www."
+"mysociety.org/for-councils/fixmystreet/\">Find out about FixMyStreet for "
+"councils</a>."
+msgstr ""
+
+#: templates/web/fixmystreet/footer.html:18
+msgid ""
+"Would you like to contribute to FixMyStreet? Our code is open source and <a "
+"href=\"http://github.com/mysociety/fixmystreet\">available on GitHub</a>."
+msgstr ""
+
+#: templates/web/default/questionnaire/index.html:102
+#: templates/web/fixmystreet/questionnaire/index.html:96
+msgid ""
+"Would you like to receive another questionnaire in 4 weeks, reminding you to "
+"check the status?"
+msgstr ""
+
+#: templates/web/default/report/new/notes.html:8
+#: templates/web/fixmystreet/report/new/notes.html:7
+msgid ""
+"Writing your message entirely in block capitals makes it hard to read, as "
+"does a lack of punctuation."
+msgstr ""
+"Meldungen g&auml;nzlich in Grossbuchstaben zu schreiben macht diese "
+"unleserlich. Ebenso wenn keine Satzzeichen verwendet werden."
+
+#: templates/web/default/admin/stats.html:10
+msgid "Year"
+msgstr "Jahr"
+
+#: templates/web/default/admin/council_contacts.html:48
+#: templates/web/default/admin/council_contacts.html:49
+#: templates/web/default/admin/council_edit.html:5
+#: templates/web/default/admin/list_updates.html:30
+#: templates/web/default/admin/list_updates.html:31
+#: templates/web/default/admin/list_updates.html:32
+#: templates/web/default/admin/problem_row.html:19
+#: templates/web/default/admin/report_edit.html:27
+#: templates/web/default/admin/report_edit.html:41
+#: templates/web/default/admin/search_users.html:23
+#: templates/web/default/admin/update_edit.html:15
+#: templates/web/default/questionnaire/creator_fixed.html:14
+#: templates/web/default/questionnaire/index.html:105
+#: templates/web/default/questionnaire/index.html:66
+#: templates/web/fixmystreet/questionnaire/index.html:60
+#: templates/web/fixmystreet/questionnaire/index.html:99
+msgid "Yes"
+msgstr "Ja"
+
+#: templates/web/bromley/report/display.html:155
+#: templates/web/bromley/report/new/fill_in_details_form.html:198
+#: templates/web/fixmystreet/report/display.html:133
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:156
+msgid "Yes I have a password"
+msgstr ""
+
+#: templates/web/default/contact/index.html:37
+#: templates/web/fixmystreet/contact/index.html:38
+msgid ""
+"You are reporting the following problem report for being abusive, containing "
+"personal information, or similar:"
+msgstr ""
+
+#: templates/web/default/contact/index.html:15
+#: templates/web/fixmystreet/contact/index.html:16
+msgid ""
+"You are reporting the following update for being abusive, containing "
+"personal information, or similar:"
+msgstr ""
+
+#: templates/web/emptyhomes/reports/council.html:64
+msgid ""
+"You can <a href=\"%s\">view all reports for the council</a> or <a href=\"/"
+"reports\">show all councils</a>."
+msgstr ""
+
+#: templates/web/emptyhomes/reports/council.html:66
+msgid "You can <a href=\"/reports\">show all councils</a>."
+msgstr ""
+
+#: templates/web/default/report/new/councils_text_none.html:14
+#: templates/web/default/report/new/councils_text_none.html:16
+#: templates/web/default/report/new/councils_text_some.html:20
+#: templates/web/default/report/new/councils_text_some.html:22
+msgid ""
+"You can help us by finding a contact email address for local problems for %s "
+"and emailing it to us at <a href='mailto:%s'>%s</a>."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:38
+msgid ""
+"You have already answered this questionnaire. If you have a question, please "
+"<a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"
+msgstr ""
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:97
+#: templates/web/default/questionnaire/index.html:92
+#: templates/web/default/report/new/fill_in_details_form.html:93
+#: templates/web/fixmystreet/questionnaire/index.html:87
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:101
+msgid ""
+"You have already attached a photo to this report, attaching another one will "
+"replace it."
+msgstr ""
+
+#: templates/web/bromley/report/display.html:106
+#: templates/web/default/report/display.html:106
+#: templates/web/fixmystreet/report/display.html:100
+msgid ""
+"You have already attached a photo to this update, attaching another one will "
+"replace it."
+msgstr ""
+
+#: templates/web/default/auth/sign_out.html:3
+msgid "You have been signed out"
+msgstr ""
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:25
+#: templates/web/default/report/new/fill_in_details_form.html:7
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:27
+msgid ""
+"You have located the problem at the point marked with a green pin on the "
+"map. If this is not the correct location, simply click on the map again. "
+msgstr ""
+"Der gr&uml;ne Pin auf der Karte repr&auml;sentiert ihre Meldung. Falls "
+"dieser Ort nicht der Richtige ist, klicken Sie einfach nochmals am richtigen "
+"Ort auf die Karte."
+
+#: templates/web/default/tokens/confirm_alert.html:7
+msgid "You have successfully confirmed your alert."
+msgstr ""
+
+#: templates/web/default/tokens/confirm_problem.html:14
+#: templates/web/default/tokens/confirm_problem.html:15
+msgid "You have successfully confirmed your problem"
+msgstr "Sie haben Ihre Meldung erfolgreich best&auml;tigt"
+
+#: templates/web/default/tokens/confirm_update.html:11
+#: templates/web/default/tokens/confirm_update.html:12
+msgid ""
+"You have successfully confirmed your update and you can now <a href=\"%s"
+"\">view it on the site</a>."
+msgstr ""
+
+#: templates/web/default/tokens/confirm_alert.html:11
+msgid "You have successfully created your alert."
+msgstr ""
+
+#: templates/web/default/tokens/confirm_alert.html:9
+msgid "You have successfully deleted your alert."
+msgstr ""
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:740
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:136
+msgid ""
+"You have successfully signed in; please check and confirm your details are "
+"accurate:"
+msgstr ""
+
+#: templates/web/default/email_sent.html:26
+msgid ""
+"You must now click the link in the email we've just sent you &mdash; if you "
+"do not, %s."
+msgstr ""
+
+#: templates/web/default/admin/report_edit.html:35
+msgid "You really want to resend?"
+msgstr ""
+
+#: templates/web/default/my/my.html:0 templates/web/default/my/my.html:14
+#: templates/web/default/my/my.html:3 templates/web/fixmystreet/my/my.html:0
+#: templates/web/fixmystreet/my/my.html:14
+#: templates/web/fixmystreet/my/my.html:3
+msgid "Your Reports"
+msgstr ""
+
+#: templates/web/bromley/report/display.html:41
+#: templates/web/bromley/report/display.html:43
+#: templates/web/bromley/report/new/fill_in_details_form.html:145
+#: templates/web/fixmystreet/alert/_list.html:89
+#: templates/web/fixmystreet/alert/updates.html:19
+#: templates/web/fixmystreet/alert/updates.html:22
+#: templates/web/fixmystreet/contact/index.html:72
+#: templates/web/fixmystreet/report/display.html:34
+#: templates/web/fixmystreet/report/display.html:36
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:142
+msgid "Your email"
+msgstr "Ihre eMail"
+
+#: templates/web/bromley/report/display.html:130
+#: templates/web/fixmystreet/auth/general.html:26
+#: templates/web/fixmystreet/report/display.html:124
+msgid "Your email address"
+msgstr "Ihre eMail-Adresse"
+
+#: templates/web/default/auth/general.html:27
+msgid "Your email address:"
+msgstr "Ihre eMail-Adresse:"
+
+#: templates/web/default/alert/_list.html:92
+#: templates/web/default/report/display.html:128
+#: templates/web/default/report/new/fill_in_details_form.html:124
+msgid "Your email:"
+msgstr "Ihre eMail:"
+
+#: templates/web/bromley/report/display.html:193
+#: templates/web/bromley/report/new/fill_in_details_form.html:117
+#: templates/web/bromley/report/new/fill_in_details_form.html:164
+#, fuzzy
+msgid "Your first name"
+msgstr "Ihr Name"
+
+#: templates/web/fixmystreet/report/updates-sidebar-notes.html:5
+#, fuzzy
+msgid ""
+"Your information will only be used in accordance with our <a href=\"/privacy"
+"\">privacy policy</a>"
+msgstr ""
+"Wir verwenden Ihre pers&ouml;nlichen Daten nur entsprechend unserer <a "
+"href=\"/faq#privacy\">Datenschutzrichtlinien.</a>"
+
+#: templates/web/bromley/report/display.html:199
+#: templates/web/bromley/report/new/fill_in_details_form.html:123
+#: templates/web/bromley/report/new/fill_in_details_form.html:170
+#, fuzzy
+msgid "Your last name"
+msgstr "Ihr Name"
+
+#: templates/web/fixmystreet/auth/general.html:53
+#: templates/web/fixmystreet/contact/index.html:65
+#: templates/web/fixmystreet/report/display.html:181
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:121
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:181
+msgid "Your name"
+msgstr "Ihr Name"
+
+#: templates/web/default/auth/general.html:59
+#: templates/web/default/contact/index.html:68
+#: templates/web/default/report/display.html:202
+#: templates/web/default/report/new/fill_in_details_form.html:203
+msgid "Your name:"
+msgstr "Ihr Name:"
+
+#: templates/web/bromley/report/display.html:160
+#: templates/web/bromley/report/new/fill_in_details_form.html:203
+#: templates/web/fixmystreet/auth/general.html:37
+#: templates/web/fixmystreet/report/display.html:138
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:161
+msgid "Your password"
+msgstr "Ihr Passwort"
+
+#: templates/web/default/auth/change_password.html:6
+msgid "Your password has been changed"
+msgstr "Ihr Passwort wurde ge&auml;ndert"
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:137
+#: templates/web/bromley/report/new/fill_in_details_form.html:184
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:134
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:195
+msgid "Your phone number"
+msgstr "Ihre Telefonnummer"
+
+#: templates/web/fixmystreet/questionnaire/index.html:15
+msgid "Your report"
+msgstr "Ihre Meldung"
+
+#: templates/web/barnet/footer.html:18 templates/web/bromley/footer.html:19
+#: templates/web/bromley/header.html:75 templates/web/default/footer.html:9
+#: templates/web/fiksgatami/footer.html:6
+#: templates/web/fiksgatami/nn/footer.html:6
+#: templates/web/fixmystreet/footer.html:47
+#: templates/web/reading/footer.html:7
+msgid "Your reports"
+msgstr "Ihre Meldungen"
+
+#: templates/web/default/my/my.html:45 templates/web/fixmystreet/my/my.html:45
+msgid "Your updates"
+msgstr ""
+
+#: templates/web/default/contact/index.html:76
+#, fuzzy
+msgid "Your&nbsp;email:"
+msgstr "Ihre eMail:"
+
+#: templates/web/default/admin/timeline.html:6
+msgid "by %s"
+msgstr ""
+
+#: templates/web/default/reports/council.html:12
+#: templates/web/default/reports/council.html:13
+#: templates/web/emptyhomes/reports/council.html:6
+#: templates/web/emptyhomes/reports/council.html:7
+msgid "council"
+msgstr ""
+
+#: templates/web/default/admin/report_edit.html:15
+msgid "didn't use map"
+msgstr "hat Karte nicht verwendet"
+
+#: templates/web/default/alert/index.html:33
+#: templates/web/fixmystreet/around/postcode_form.html:17
+msgid "e.g. ‘%s’ or ‘%s’"
+msgstr ""
+
+#: templates/web/default/admin/index.html:15
+msgid "from %d different users"
+msgstr ""
+
+#: perllib/Utils.pm:289
+msgid "less than a minute"
+msgstr "weniger als einer Minute"
+
+#: templates/web/default/report/updates.html:27
+msgid "marked as %s"
+msgstr ""
+
+#: templates/web/default/report/updates.html:25
+msgid "marked as fixed"
+msgstr "als gel&ouml;st markiert"
+
+#: perllib/FixMyStreet/App/Controller/Admin.pm:112
+#: templates/web/default/admin/questionnaire.html:15
+#: templates/web/default/admin/questionnaire.html:16
+msgid "n/a"
+msgstr ""
+
+#: templates/web/default/alert/_list.html:87
+#: templates/web/fixmystreet/alert/_list.html:85
+msgid "or"
+msgstr "oder"
+
+#: templates/web/default/admin/report_edit.html:15
+msgid "originally entered"
+msgstr ""
+
+#: templates/web/default/admin/report_edit.html:16
+msgid "other areas:"
+msgstr ""
+
+#: templates/web/default/report/updates.html:26
+msgid "reopened"
+msgstr ""
+
+#: templates/web/barnet/header.html:71 templates/web/bromley/header.html:100
+#: templates/web/bromley/header.html:65
+#: templates/web/fixmybarangay/header.html.orig:43
+#: templates/web/fixmystreet/header.html:48
+#: templates/web/zurich/header.html:48
+msgid "sign out"
+msgstr "ausloggen"
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:4
+#: templates/web/bromley/report/new/fill_in_details_form.html:7
+#: templates/web/default/report/new/fill_in_details_form.html:11
+#: templates/web/default/report/new/fill_in_details_form.html:14
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:6
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:9
+msgid "the local council"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:541
+msgid "the map was not used so pin location may be inaccurate"
+msgstr ""
+"Die Karte wurde nicht verwendet und die Stecknadel k&ouml;nnte demnach "
+"ungenau sein"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
+msgid "their ref:&nbsp;%s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:330
+msgid "this type of local problem"
+msgstr ""
+
+#: perllib/Utils.pm:263
+msgid "today"
+msgstr "heute"
+
+#: templates/web/default/admin/report_edit.html:15
+msgid "used map"
+msgstr ""
+
+#: templates/web/default/admin/update_edit.html:26
+msgid "user is from same council as problem - %d"
+msgstr ""
+
+#: templates/web/default/admin/update_edit.html:29
+msgid "user is problem owner"
+msgstr ""
+
+#: templates/web/default/reports/council.html:0
+#: templates/web/default/reports/council.html:9
+#: templates/web/emptyhomes/reports/council.html:0
+#: templates/web/emptyhomes/reports/council.html:3
+msgid "ward"
+msgstr ""
+
+#: templates/web/default/email_sent.html:15
+#: templates/web/default/email_sent.html:3
+msgid "we'll hang on to your alert while you're checking your email."
+msgstr ""
+
+#: templates/web/default/email_sent.html:3
+#: templates/web/default/email_sent.html:7
+msgid "we'll hang on to your problem report while you're checking your email."
+msgstr ""
+
+#: templates/web/default/email_sent.html:11
+#: templates/web/default/email_sent.html:3
+msgid "we'll hang on to your update while you're checking your email."
+msgstr ""
+
+#: templates/web/default/email_sent.html:14
+#: templates/web/default/email_sent.html:3
+msgid "your alert will not be activated"
+msgstr ""
+
+#: templates/web/default/email_sent.html:3
+#: templates/web/default/email_sent.html:6
+msgid "your problem will not be posted"
+msgstr ""
+
+#: templates/web/default/email_sent.html:10
+#: templates/web/default/email_sent.html:3
+msgid "your update will not be posted"
+msgstr ""
+
+#: templates/web/emptyhomes/report/new/councils_text_none.html:3
+#, perl-format
+msgid "We do not yet have details for the council that covers this location."
+msgid_plural ""
+"We do not yet have details for the councils that cover this location."
+msgstr[0] ""
+
+#: templates/web/emptyhomes/front/stats.html:17
+#, perl-format
+msgid "<big>%s</big> report recently"
+msgid_plural "<big>%s</big> reports recently"
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/emptyhomes/front/stats.html:12
+#, perl-format
+msgid "<big>%s</big> report in past week"
+msgid_plural "<big>%s</big> reports in past week"
+msgstr[0] "<big>%s</big> Meldung in der letzten Woche"
+msgstr[1] "<big>%s</big> Meldungen in der letzten Woche"
+
+#: templates/web/default/front/stats.html:23
+#, perl-format
+msgid "<big>%s</big> fixed in past month"
+msgid_plural "<big>%s</big> fixed in past month"
+msgstr[0] "<big>%s</big> im letzten Monat behoben"
+msgstr[1] "<big>%s</big> im letzten Monat gehoben"
+
+#: templates/web/default/report/new/councils_text_some.html:14
+#, perl-format
+msgid ""
+"We do <strong>not</strong> yet have details for the other council that "
+"covers this location."
+msgid_plural ""
+"We do <strong>not</strong> yet have details for the other councils that "
+"cover this location."
+msgstr[0] ""
+msgstr[1] ""
+
+#: templates/web/default/front/stats.html:29
+#, perl-format
+msgid "<big>%s</big> update on reports"
+msgid_plural "<big>%s</big> updates on reports"
+msgstr[0] "<big>%s</big> Meldung bearbeitet"
+msgstr[1] "<big>%s</big> Meldungen bearbeitet"
diff --git a/locale/en_GB.UTF-8/LC_MESSAGES/.gitignore b/locale/en_GB.UTF-8/LC_MESSAGES/.gitignore
deleted file mode 100644
index 083ecb3a3..000000000
--- a/locale/en_GB.UTF-8/LC_MESSAGES/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/FixMyStreet-EmptyHomes.po
-/FixMyStreet-EmptyHomes.mo
-/FixMyStreet-Cities.po
-/FixMyStreet-Cities.mo
diff --git a/locale/nb_NO.UTF-8/LC_MESSAGES/.gitignore b/locale/nb_NO.UTF-8/LC_MESSAGES/.gitignore
deleted file mode 100644
index 214d1b7ed..000000000
--- a/locale/nb_NO.UTF-8/LC_MESSAGES/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/FixMyStreet.mo
diff --git a/locale/nb_NO.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/nb_NO.UTF-8/LC_MESSAGES/FixMyStreet.po
index 8b55f62c6..58b307d58 100644
--- a/locale/nb_NO.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/nb_NO.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: FixMyStreet\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2012-03-28 19:23+0100\n"
-"PO-Revision-Date: 2011-08-29 10:26MET\n"
-"Last-Translator: Petter Reinholdtsen <pere@hungry.com>\n"
+"POT-Creation-Date: 2012-08-21 09:54+0100\n"
+"PO-Revision-Date: 2012-08-07 01:09+0100\n"
+"Last-Translator: Anders Einar Hilden <hildenae@gmail.com>\n"
"Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n"
"Language: \n"
"MIME-Version: 1.0\n"
@@ -20,16 +20,18 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: KBabel 1.11.4\n"
-#: bin/send-reports:184 perllib/FixMyStreet/DB/Result/Problem.pm:549
+#: perllib/FixMyStreet/DB/Result/Problem.pm:555
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:337
msgid " and "
msgstr " og "
-#: templates/web/default/tokens/confirm_problem.html:10
-#: templates/web/default/tokens/confirm_problem.html:6
+#: templates/web/default/tokens/confirm_problem.html:14
+#: templates/web/default/tokens/confirm_problem.html:18
msgid " and <strong>we will now send it to the council</strong>"
msgstr " og <strong>vi sender det nå til administrasjonen</strong>"
#: templates/web/default/report/new/councils_text_all.html:10
+#: templates/web/default/report/new/councils_text_all.html:17
#: templates/web/default/report/new/councils_text_all.html:3
#: templates/web/default/report/new/councils_text_none.html:14
#: templates/web/default/report/new/councils_text_none.html:17
@@ -37,13 +39,6 @@ msgstr " og <strong>vi sender det nå til administrasjonen</strong>"
#: templates/web/default/report/new/councils_text_some.html:23
#: templates/web/default/report/new/councils_text_some.html:5
#: templates/web/emptyhomes/report/new/councils_text_all.html:2
-#: templates/web/fixmystreet/report/new/councils_text_all.html:10
-#: templates/web/fixmystreet/report/new/councils_text_all.html:3
-#: templates/web/fixmystreet/report/new/councils_text_none.html:12
-#: templates/web/fixmystreet/report/new/councils_text_none.html:15
-#: templates/web/fixmystreet/report/new/councils_text_some.html:20
-#: templates/web/fixmystreet/report/new/councils_text_some.html:23
-#: templates/web/fixmystreet/report/new/councils_text_some.html:5
msgid " or "
msgstr " eller "
@@ -59,11 +54,11 @@ msgstr "%d bekreftede varsler, %d ubekreftede"
msgid "%d council contacts &ndash; %d confirmed, %d unconfirmed"
msgstr "%d administrasjonskontakter &ndash; %d bekreftet, %d ubekreftet"
-#: perllib/Utils.pm:252
+#: perllib/Utils.pm:293
msgid "%d day"
msgstr "%d dag"
-#: perllib/Utils.pm:252
+#: perllib/Utils.pm:293
msgid "%d days"
msgstr "%d dager"
@@ -71,11 +66,11 @@ msgstr "%d dager"
msgid "%d edits by %s"
msgstr "%d redigeringer av %s"
-#: perllib/Utils.pm:253
+#: perllib/Utils.pm:294
msgid "%d hour"
msgstr "%d time"
-#: perllib/Utils.pm:253
+#: perllib/Utils.pm:294
msgid "%d hours"
msgstr "%d timer"
@@ -83,11 +78,11 @@ msgstr "%d timer"
msgid "%d live updates"
msgstr "%d aktive oppdateringer"
-#: perllib/Utils.pm:254
+#: perllib/Utils.pm:295
msgid "%d minute"
msgstr "%d minutt"
-#: perllib/Utils.pm:254
+#: perllib/Utils.pm:295
msgid "%d minutes"
msgstr "%d minutter"
@@ -95,36 +90,38 @@ msgstr "%d minutter"
msgid "%d questionnaires sent &ndash; %d answered (%s%%)"
msgstr "%d spørreskjema sendt &ndash; %d besvart (%s%%)"
-#: perllib/Utils.pm:251
+#: perllib/Utils.pm:292
msgid "%d week"
msgstr "%d uke"
-#: perllib/Utils.pm:251
+#: perllib/Utils.pm:292
msgid "%d weeks"
msgstr "%d uker"
#: templates/web/default/reports/council.html:0
-#: templates/web/default/reports/council.html:14
+#: templates/web/default/reports/council.html:26
#: templates/web/emptyhomes/reports/council.html:11
#: templates/web/emptyhomes/reports/council.html:13
msgid "%s - Summary reports"
msgstr "%s - oppsummeringsrapporter"
-#: perllib/FixMyStreet/Cobrand/Default.pm:792
-#: perllib/FixMyStreet/Cobrand/Default.pm:806
+#: perllib/FixMyStreet/DB/Result/Problem.pm:605
+msgid "%s ref:&nbsp;%s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:288 perllib/FixMyStreet/Cobrand/UK.pm:300
msgid "%s ward, %s"
msgstr "%s bydel, %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:480
+#: perllib/FixMyStreet/DB/Result/Problem.pm:488
msgid "%s, reported anonymously at %s"
msgstr "%s, rapportert anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:482
+#: perllib/FixMyStreet/DB/Result/Problem.pm:490
msgid "%s, reported by %s at %s"
msgstr "%s, rapportert av %s %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:823
-#: perllib/FixMyStreet/Cobrand/Default.pm:837
+#: perllib/FixMyStreet/Cobrand/UK.pm:315 perllib/FixMyStreet/Cobrand/UK.pm:327
msgid "%s, within %s ward"
msgstr "%s, innefor bydel %s"
@@ -140,31 +137,36 @@ msgstr "(Ingen grunn til bekymring &mdash; %s)"
msgid "(Email in abuse table)"
msgstr "(Epost i misbrukstabellen)"
-#: templates/web/default/alert/list.html:51
+#: templates/web/default/alert/_list.html:20
#: templates/web/fixmystreet/alert/_list.html:24
msgid "(a default distance which covers roughly 200,000 people)"
msgstr "(en standardavstand som dekker en befolkning på omtrent 200 000)"
-#: templates/web/default/alert/list.html:56
+#: templates/web/default/alert/_list.html:25
#: templates/web/fixmystreet/alert/_list.html:28
msgid "(alternatively the RSS feed can be customised, within"
msgstr "(alternativt kan RSS-strømmen tilpasses, innenfor"
+#: templates/web/default/around/around_map_list_items.html:12
+#: templates/web/default/around/on_map_list_items.html:9
+#: templates/web/fixmystreet/report/_item.html:23
+#, fuzzy
+msgid "(closed)"
+msgstr "Lukket"
+
#: templates/web/default/around/around_map_list_items.html:10
#: templates/web/default/around/on_map_list_items.html:7
-#: templates/web/default/reports/council.html:134
-#: templates/web/fixmystreet/around/around_map_list_items.html:12
-#: templates/web/fixmystreet/around/on_map_list_items.html:9
+#: templates/web/fixmystreet/report/_item.html:21
msgid "(fixed)"
msgstr "(løst)"
#: templates/web/default/index.html:12 templates/web/default/index.html:8
-#: templates/web/fixmystreet/index.html:30
+#: templates/web/fixmystreet/around/postcode_form.html:7
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(som tagging, søppel, hull i veien, eller ødelagte gatelys)"
-#: templates/web/default/reports/council.html:131
-#: templates/web/default/reports/council.html:152
+#: templates/web/default/reports/_list-entry.html:4
+#: templates/web/fixmystreet/report/_item.html:17
msgid "(not sent to council)"
msgstr "(ikke rapportert til administrasjonen)"
@@ -173,8 +175,8 @@ msgid "(optional)"
msgstr "(valgfritt)"
# Denne teksten er lite forklarende
-#: templates/web/default/reports/council.html:130
-#: templates/web/default/reports/council.html:150
+#: templates/web/default/reports/_list-entry.html:2
+#: templates/web/fixmystreet/report/_item.html:16
msgid "(sent to both)"
msgstr "(sendt til begge)"
@@ -182,32 +184,33 @@ msgstr "(sendt til begge)"
msgid "(we never show your email address or phone number)"
msgstr "(vi viser aldri din e-postadresse eller telefonnummer)"
-#: templates/web/default/report/display.html:214
+#: templates/web/default/report/display.html:209
msgid "(we never show your email)"
msgstr "(vi viser aldri din e-postadresse)"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:281
+#: perllib/FixMyStreet/App/Controller/Admin.pm:284
msgid "*unknown*"
msgstr "*ukjent*"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:549
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:581
-#: perllib/FixMyStreet/DB/Result/Problem.pm:337
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:629
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:655
+#: perllib/FixMyStreet/DB/Result/Problem.pm:345
msgid "-- Pick a category --"
msgstr "-- Velg en kategori --"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:535
-#: perllib/FixMyStreet/DB/Result/Problem.pm:343
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:609
+#: perllib/FixMyStreet/DB/Result/Problem.pm:351
msgid "-- Pick a property type --"
msgstr "-- Velg en eiendomsstype --"
# Bør "portalen" byttes ut med et annet ord? (trenger kontekst)
#: templates/web/default/tokens/confirm_problem.html:14
-#: templates/web/default/tokens/confirm_problem.html:6
-msgid ". You can <a href=\"%s\">view the problem on this site</a>."
+#: templates/web/default/tokens/confirm_problem.html:22
+#, fuzzy
+msgid ". You can <a href=\"%s%s\">view the problem on this site</a>."
msgstr ". Du kan <a href=\"%s\">lese om problemet på portalen </a>."
-#: templates/web/default/questionnaire/completed.html:25
+#: templates/web/default/questionnaire/completed.html:20
msgid ""
"<p style=\"font-size:150%\">Thank you very much for filling in our "
"questionnaire; glad to hear it&rsquo;s been fixed.</p>"
@@ -215,15 +218,51 @@ msgstr ""
"<p style=\"font-size:150%\">Tusen takk for at du fylte ut vårt spørreskjema. "
"Vi er glad for å høre at ditt problem er blitt fikset.</p>"
-#: templates/web/default/questionnaire/completed.html:15
+#: templates/web/fiksgatami/questionnaire/completed-open.html:1
+#, fuzzy
+msgid ""
+"<p style=\"font-size:150%\">We&rsquo;re sorry to hear that. We have two\n"
+"suggestions: why not try <a href=\"http://www.norge.no/styresmakter/"
+"\">writing\n"
+"direct to your councillor(s)</a> or, if it&rsquo;s a problem that could be\n"
+"fixed by local people working together, why not\n"
+"<a href=\"http://www.pledgebank.com/new\">make and publicise a pledge</a>?\n"
+"</p>"
+msgstr ""
+"<p style=\"font-size:150%%\">Det var trist å høre dette. Vi har to forslag: "
+"hva med å forsøke\n"
+"<a href=\"%s\">å skrive direkte til dine representanter</a>, eller hvis det "
+"er et problem som kan fikses\n"
+"av folk i nabolaget som jobber sammen, hva med å <a href=\"http://www."
+"pledgebank.com/new\">publisere en utfordring om å bidra</a>?</p>"
+
+#: templates/web/fixmystreet/questionnaire/completed-open.html:1
+#, fuzzy
+msgid ""
+"<p style=\"font-size:150%\">We&rsquo;re sorry to hear that. We have two\n"
+"suggestions: why not try <a href=\"http://www.writetothem.com/\">writing "
+"direct\n"
+"to your councillor(s)</a> or, if it&rsquo;s a problem that could be fixed "
+"by\n"
+"local people working together, why not\n"
+"<a href=\"http://www.pledgebank.com/new\">make and publicise a pledge</a>?\n"
+"</p>"
+msgstr ""
+"<p style=\"font-size:150%%\">Det var trist å høre dette. Vi har to forslag: "
+"hva med å forsøke\n"
+"<a href=\"%s\">å skrive direkte til dine representanter</a>, eller hvis det "
+"er et problem som kan fikses\n"
+"av folk i nabolaget som jobber sammen, hva med å <a href=\"http://www."
+"pledgebank.com/new\">publisere en utfordring om å bidra</a>?</p>"
+
+#: templates/web/default/questionnaire/completed-open.html:1
+#, fuzzy
msgid ""
-"<p style=\"font-size:150%%\">We&rsquo;re sorry to hear that. We have two "
-"suggestions: why not try\n"
-"<a href=\"%s\">writing direct to your councillor(s)</a>\n"
-"or, if it&rsquo;s a problem that could be fixed by local people working "
-"together,\n"
-"why not <a href=\"http://www.pledgebank.com/new\">make and publicise a "
-"pledge</a>?\n"
+"<p style=\"font-size:150%\">We&rsquo;re sorry to hear that. We have two\n"
+"suggestions: why not try writing to your local representative or, if "
+"it&rsquo;s\n"
+"a problem that could be fixed by local people working together, why not\n"
+"<a href=\"http://www.pledgebank.com/new\">make and publicise a pledge</a>?\n"
"</p>"
msgstr ""
"<p style=\"font-size:150%%\">Det var trist å høre dette. Vi har to forslag: "
@@ -295,20 +334,17 @@ msgstr ""
msgid "<strong>%d</strong> live problems"
msgstr "<strong>%d</strong> aktive problemer"
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:169
-#, fuzzy
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:172
msgid "<strong>No</strong> Let me confirm my report by email"
-msgstr "<strong>Nei</strong>, la meg bekrefte min rapport med e-post:"
+msgstr "<strong>Nei</strong> La meg bekrefte min rapport med e-post"
-#: templates/web/fixmystreet/report/display.html:153
-#, fuzzy
+#: templates/web/fixmystreet/report/display.html:148
msgid "<strong>No</strong> Let me confirm my update by email"
-msgstr "<strong>Nei</strong>, la meg bekrefte min oppdatering med e-post:"
+msgstr "<strong>Nei</strong> La meg bekrefte min oppdatering med e-post"
#: templates/web/fixmystreet/auth/general.html:46
-#, fuzzy
msgid "<strong>No</strong> let me sign in by email"
-msgstr "<strong>Nei</strong>, det gjør jeg ikke. La meg logge inn med e-post:"
+msgstr "<strong>Nei</strong>, la meg logge inn med e-post:"
#: templates/web/default/auth/general.html:55
msgid "<strong>No</strong>, I do not, let me sign in by email:"
@@ -318,20 +354,19 @@ msgstr "<strong>Nei</strong>, det gjør jeg ikke. La meg logge inn med e-post:"
msgid "<strong>No</strong>, let me confirm my report by email:"
msgstr "<strong>Nei</strong>, la meg bekrefte min rapport med e-post:"
-#: templates/web/default/report/display.html:169
+#: templates/web/default/report/display.html:164
msgid "<strong>No</strong>, let me confirm my update by email:"
msgstr "<strong>Nei</strong>, la meg bekrefte min oppdatering med e-post:"
#: templates/web/default/auth/general.html:37
-#: templates/web/default/report/display.html:147
+#: templates/web/default/report/display.html:142
#: templates/web/default/report/new/fill_in_details_form.html:140
#: templates/web/fixmystreet/auth/general.html:32
#: templates/web/fixmystreet/auth/general.html:34
-#: templates/web/fixmystreet/report/display.html:136
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:151
-#, fuzzy
+#: templates/web/fixmystreet/report/display.html:131
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:154
msgid "<strong>Yes</strong> I have a password"
-msgstr "<strong>Ja</strong>, jeg har et passord:"
+msgstr "<strong>Ja</strong> Jeg har et passord"
#: templates/web/default/static/about.html:1
#: templates/web/default/static/about.html:3
@@ -341,7 +376,7 @@ msgstr "<strong>Ja</strong>, jeg har et passord:"
msgid "About us"
msgstr "Om oss"
-#: templates/web/default/admin/council_contacts.html:62
+#: templates/web/default/admin/council_contacts.html:66
msgid "Add new category"
msgstr "Legg til ny kategori"
@@ -350,7 +385,6 @@ msgid "Added %s"
msgstr "La til %s"
#: templates/web/default/auth/change_password.html:29
-#: templates/web/fixmystreet/auth/change_password.html:29
msgid "Again:"
msgstr "Gjenta:"
@@ -362,8 +396,9 @@ msgstr "Varsel %d opprettet for %s, type %s, parameter %s / %s"
msgid "Alert %d disabled (created %s)"
msgstr "Varsel %d koblet ut (opprettet %s)"
-#: templates/web/default/report/display.html:219
-#: templates/web/fixmystreet/report/display.html:193
+#: templates/web/bromley/report/display.html:207
+#: templates/web/default/report/display.html:214
+#: templates/web/fixmystreet/report/display.html:189
msgid "Alert me to future updates"
msgstr "Send meg varsel ved fremtidige oppdateringer"
@@ -372,7 +407,6 @@ msgid "All"
msgstr "Alle"
#: templates/web/default/reports/index.html:3
-#, fuzzy
msgid "All Reports"
msgstr "Alle rapporter"
@@ -380,7 +414,8 @@ msgstr "Alle rapporter"
msgid "All confirmed"
msgstr "Alle bekreftet"
-#: templates/web/bromley/footer.html:37 templates/web/default/footer.html:11
+#: templates/web/barnet/footer.html:20 templates/web/bromley/footer.html:21
+#: templates/web/bromley/header.html:77 templates/web/default/footer.html:11
#: templates/web/fiksgatami/footer.html:7
#: templates/web/fiksgatami/nn/footer.html:7
#: templates/web/fixmystreet/footer.html:49
@@ -389,14 +424,20 @@ msgid "All reports"
msgstr "Alle rapporter"
#: templates/web/default/report/new/councils_text_some.html:2
-#: templates/web/fixmystreet/report/new/councils_text_some.html:2
msgid "All the information you provide here will be sent to"
msgstr "All informasjonen du har lagt inn her vil bli sendt til"
+#: templates/web/default/report/new/councils_text_all.html:10
+#: templates/web/default/report/new/councils_text_all.html:12
+#, fuzzy
+msgid ""
+"All the information you provide here will be sent to <strong>%s</strong> or "
+"<strong>Roads Service</strong>."
+msgstr ""
+"All informasjonen du har lagt inn her vil bli sendt til <strong>%s</strong>."
+
#: templates/web/default/report/new/councils_text_all.html:3
#: templates/web/default/report/new/councils_text_all.html:5
-#: templates/web/fixmystreet/report/new/councils_text_all.html:3
-#: templates/web/fixmystreet/report/new/councils_text_all.html:5
msgid ""
"All the information you provide here will be sent to <strong>%s</strong> or "
"a relevant local body such as <strong>TfL</strong>, via the London Report-It "
@@ -406,12 +447,12 @@ msgstr ""
"en relevant lokal etat som <strong>TfL</strong>, via systemet London Report-"
"It."
-#: templates/web/default/report/new/councils_text_all.html:10
-#: templates/web/default/report/new/councils_text_all.html:12
+#: templates/web/bromley/report/new/fill_in_details_form.html:4
+#: templates/web/bromley/report/new/fill_in_details_form.html:6
+#: templates/web/default/report/new/councils_text_all.html:17
+#: templates/web/default/report/new/councils_text_all.html:19
#: templates/web/default/report/new/fill_in_details_form.html:11
#: templates/web/default/report/new/fill_in_details_form.html:13
-#: templates/web/fixmystreet/report/new/councils_text_all.html:10
-#: templates/web/fixmystreet/report/new/councils_text_all.html:12
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:6
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:8
msgid ""
@@ -448,20 +489,20 @@ msgid "Anonymous:"
msgstr "Anonym:"
#: templates/web/default/footer.html:26
-#, fuzzy
msgid ""
"Are you a <strong>developer</strong>? Would you like to contribute to "
"FixMyStreet?"
-msgstr "Er du en utvikler? Kunne du tenke deg å bidra til FiksGataMi?"
+msgstr ""
+"Er du en <strong>utvikler</strong>? Kunne du tenke deg å bidra til "
+"FiksGataMi?"
-#: templates/web/fixmystreet/footer.html:18
+#: templates/web/fixmystreet/footer.html:17
msgid "Are you a developer?"
-msgstr ""
+msgstr "Er du en utvikler?"
-#: templates/web/fixmystreet/footer.html:22
-#, fuzzy
+#: templates/web/fixmystreet/footer.html:21
msgid "Are you from a council?"
-msgstr "den lokale administrasjonen"
+msgstr "Der du fra den lokale administrasjonen?"
#: templates/web/default/open311/index.html:17
msgid ""
@@ -494,15 +535,17 @@ msgstr ""
msgid "By Date"
msgstr "På dato"
-#: templates/web/fixmystreet/around/display_location.html:75
-#: templates/web/fixmystreet/around/display_location.html:77
-#, fuzzy
+#: templates/web/fixmystreet/around/display_location.html:80
+#: templates/web/fixmystreet/around/display_location.html:82
msgid "Can't see the map? <a href='%s' rel='nofollow'>Skip this step</a>"
msgstr ""
-"<small>Hvis du ikke kan se kartet, <a href='%s' rel='nofollow'>hopp over "
-"dette steget</a>.</small>"
+"Hvis du ikke kan se kartet, <a href='%s' rel='nofollow'>hopp over dette "
+"steget</a>."
-#: templates/web/default/admin/council_contacts.html:31
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:632
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:657
+#: templates/web/bromley/report/new/fill_in_details_form.html:68
+#: templates/web/default/admin/council_contacts.html:35
#: templates/web/default/admin/index.html:36
#: templates/web/default/admin/list_flagged.html:14
#: templates/web/default/admin/search_reports.html:17
@@ -514,44 +557,43 @@ msgstr "Kategori"
msgid "Category fix rate for problems > 4 weeks old"
msgstr "Løsningsrate fordelt på kategori for problemer > 4 uker gamle"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:552
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:582
-#: templates/web/default/admin/council_contacts.html:68
+#: templates/web/default/admin/council_contacts.html:72
#: templates/web/default/admin/council_edit.html:23
#: templates/web/default/admin/report_edit.html:25
#: templates/web/default/report/new/fill_in_details_form.html:67
msgid "Category:"
msgstr "Kategori:"
-#: bin/send-reports:181
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:334
msgid "Category: %s"
msgstr "Kategori: %s"
#: templates/web/default/auth/change_password.html:1
#: templates/web/default/auth/change_password.html:3
#: templates/web/default/auth/change_password.html:33
-#: templates/web/fixmystreet/auth/change_password.html:1
-#: templates/web/fixmystreet/auth/change_password.html:3
-#: templates/web/fixmystreet/auth/change_password.html:33
msgid "Change Password"
msgstr "Bytt passord"
#: templates/web/fixmystreet/around/display_location.html:72
-#, fuzzy
+#: templates/web/fixmystreet/around/display_location.html:73
msgid "Click map to report a problem"
-msgstr "Hvordan rapportere et problem"
+msgstr "Klikk i kartet for å rapportere et problem"
-#: perllib/FixMyStreet/Cobrand/FixMyStreet.pm:24
+#: templates/web/bromley/report/display.html:80
+#: templates/web/bromley/report/display.html:82
#: templates/web/default/admin/report_edit.html:18
#: templates/web/default/admin/report_edit.html:20
-#: templates/web/default/report/display.html:84
-#: templates/web/default/report/display.html:86
-#: templates/web/fixmystreet/report/display.html:79
-#: templates/web/fixmystreet/report/display.html:81
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/dashboard/index.html:138
+#: templates/web/default/report/display.html:79
+#: templates/web/default/report/display.html:81
+#: templates/web/fixmystreet/report/banner.html:15
+#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/fixmystreet/report/display.html:76
msgid "Closed"
msgstr "Lukket"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:641
+#: perllib/FixMyStreet/DB/Result/Problem.pm:690
msgid "Closed by council"
msgstr "(ikke rapportert til administrasjonen)"
@@ -563,8 +605,8 @@ msgstr "Fiksede rapporter"
msgid "Closed:"
msgstr "Lukket:"
-#: templates/web/default/around/display_location.html:101
#: templates/web/default/around/display_location.html:103
+#: templates/web/default/around/display_location.html:105
msgid "Closest nearby problems <small>(within&nbsp;%skm)</small>"
msgstr "De nærmeste problemene <small>(innenfor&nbsp;%skm)</small>"
@@ -588,28 +630,27 @@ msgstr "Merkevaresamarbeidsdata:"
msgid "Cobrand:"
msgstr "Merkevaresamarbeid:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
+#: perllib/FixMyStreet/App/Controller/Admin.pm:358
msgid "Configuration updated"
msgstr "Oppsett oppdatert"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:361
+#: perllib/FixMyStreet/App/Controller/Admin.pm:372
msgid "Configuration updated - contacts will be generated automatically later"
msgstr "Oppsett oppdatert - kontakter vil bli generert automatisk senere"
-#: templates/web/default/admin/council_contacts.html:124
+#: templates/web/default/admin/council_contacts.html:153
msgid "Configure Open311"
msgstr "Sett opp Open311"
-#: templates/web/default/admin/council_contacts.html:101
+#: templates/web/default/admin/council_contacts.html:105
msgid "Configure Open311 integration"
msgstr "Sett opp Open311-integrasjon"
-#: templates/web/default/admin/council_contacts.html:38
+#: templates/web/default/admin/council_contacts.html:42
msgid "Confirm"
msgstr "Bekreft"
#: templates/web/default/auth/token.html:1
-#: templates/web/fixmystreet/auth/token.html:1
msgid "Confirm account"
msgstr "Bekreft konto"
@@ -623,8 +664,8 @@ msgstr "Bekreft konto"
msgid "Confirmation"
msgstr "Bekreftelse"
-#: templates/web/default/admin/council_contacts.html:33
-#: templates/web/default/admin/council_contacts.html:78
+#: templates/web/default/admin/council_contacts.html:37
+#: templates/web/default/admin/council_contacts.html:82
#: templates/web/default/admin/council_edit.html:28
#: templates/web/default/admin/council_edit.html:43
#: templates/web/default/admin/stats.html:5
@@ -645,6 +686,7 @@ msgstr "Kontakt"
msgid "Contact FixMyStreet"
msgstr "Kontakt FiksGataMi"
+#: templates/web/bromley/contact/submit.html:1
#: templates/web/default/contact/index.html:1
#: templates/web/default/contact/index.html:2
#: templates/web/default/contact/submit.html:1
@@ -653,14 +695,15 @@ msgstr "Kontakt FiksGataMi"
msgid "Contact Us"
msgstr "Kontakt oss"
+#: templates/web/bromley/contact/submit.html:3
#: templates/web/default/contact/index.html:6
#: templates/web/default/contact/submit.html:3
#: templates/web/fixmystreet/contact/index.html:7
msgid "Contact the team"
msgstr "Kontakt prosjektgruppen"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1107
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1135
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1150
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1178
msgid "Could not find user"
msgstr "Kunne ikke finne bruker"
@@ -671,7 +714,7 @@ msgstr "Kunne ikke finne bruker"
msgid "Council"
msgstr "Administrasjon"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:979
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1022
#: templates/web/default/admin/council_list.html:1
msgid "Council contacts"
msgstr "Administrasjonskontakter"
@@ -699,7 +742,7 @@ msgstr "Antall"
msgid "Create a report"
msgstr "Lag en rapport"
-#: templates/web/default/admin/council_contacts.html:92
+#: templates/web/default/admin/council_contacts.html:96
msgid "Create category"
msgstr "Lag kategori"
@@ -722,17 +765,22 @@ msgstr "Gjeldende tilstand"
msgid "Currently has 1+ deleted"
msgstr "For tiden har 1+ slettet"
-#: templates/web/default/admin/council_contacts.html:34
-#: templates/web/default/admin/council_contacts.html:81
+#: templates/web/default/dashboard/index.html:5
+#: templates/web/default/dashboard/index.html:7
+msgid "Dashboard"
+msgstr ""
+
+#: templates/web/default/admin/council_contacts.html:38
+#: templates/web/default/admin/council_contacts.html:85
#: templates/web/default/admin/council_edit.html:29
#: templates/web/default/admin/council_edit.html:44
msgid "Deleted"
msgstr "Slettet"
+#: templates/web/bromley/report/new/fill_in_details_form.html:54
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:64
-#, fuzzy
msgid "Details"
-msgstr "Detaljer:"
+msgstr "Detaljer"
#: templates/web/default/admin/report_edit.html:14
#: templates/web/default/report/new/fill_in_details_form.html:61
@@ -745,8 +793,8 @@ msgstr "Arbeidshester"
#: templates/web/default/auth/general.html:32
#: templates/web/fixmystreet/auth/general.html:29
-#: templates/web/fixmystreet/report/display.html:133
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:147
+#: templates/web/fixmystreet/report/display.html:128
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:150
msgid "Do you have a FixMyStreet password?"
msgstr "Har du et FiksGataMi-passord?"
@@ -777,7 +825,8 @@ msgstr "Redigerer bruker %d"
msgid "Editor"
msgstr "Oppdatert av"
-#: templates/web/default/admin/council_contacts.html:32
+#: templates/web/bromley/report/display.html:126
+#: templates/web/default/admin/council_contacts.html:36
#: templates/web/default/admin/council_edit.html:42
#: templates/web/default/admin/list_flagged.html:12
#: templates/web/default/admin/list_flagged.html:35
@@ -786,45 +835,45 @@ msgstr "Oppdatert av"
#: templates/web/default/admin/search_reports.html:15
#: templates/web/default/admin/search_users.html:13
#: templates/web/fixmystreet/auth/general.html:20
-#: templates/web/fixmystreet/report/display.html:125
+#: templates/web/fixmystreet/report/display.html:120
msgid "Email"
msgstr "E-post"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1083
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1126
msgid "Email added to abuse list"
msgstr "Epost lagt til misbruksliste"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1080
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1123
msgid "Email already in abuse list"
msgstr "Epost allerede i misbrukslisten"
-#: templates/web/default/around/display_location.html:83
+#: templates/web/default/around/display_location.html:85
msgid "Email me new local problems"
msgstr "Send meg e-post om lokale problemer"
-#: templates/web/default/report/display.html:35
+#: templates/web/default/report/display.html:30
msgid "Email me updates"
msgstr "Send meg oppdateringer"
-#: templates/web/default/admin/council_contacts.html:73
+#: templates/web/default/admin/council_contacts.html:77
#: templates/web/default/admin/council_edit.html:26
#: templates/web/default/admin/report_edit.html:31
#: templates/web/default/admin/update_edit.html:24
#: templates/web/default/admin/user_edit.html:11
#: templates/web/default/alert/updates.html:13
-#: templates/web/default/report/display.html:39
+#: templates/web/default/report/display.html:34
msgid "Email:"
msgstr "E-post:"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:537
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:611
msgid "Empty flat or maisonette"
msgstr "Tom leilighet"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:536
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:610
msgid "Empty house or bungalow"
msgstr "Tomt hus eller bungalow"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:539
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:613
msgid "Empty office or other commercial"
msgstr "Tomt kontor eller forretningsbygg"
@@ -832,11 +881,11 @@ msgstr "Tomt kontor eller forretningsbygg"
msgid "Empty property details form"
msgstr "Tom eiendom detaljskjema"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:540
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:614
msgid "Empty pub or bar"
msgstr "Tom pub eller bar"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:541
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:615
msgid "Empty public building - school, hospital, etc."
msgstr "Tom offentlig bygning - skole, sykehos, etc."
@@ -852,37 +901,44 @@ msgstr "Slutt-dag:"
msgid "End month:"
msgstr "Sluttmåned:"
-#: templates/web/default/around/around_index.html:10
-#: templates/web/default/around/around_index.html:13
-#: templates/web/default/index.html:24 templates/web/default/index.html:27
#: templates/web/emptyhomes/index.html:40
-#: templates/web/emptyhomes/index.html:43
-#: templates/web/fixmystreet/around/around_index.html:10
-#: templates/web/fixmystreet/around/around_index.html:13
-#: templates/web/fixmystreet/index.html:32
-#: templates/web/fixmystreet/index.html:35
+#: templates/web/emptyhomes/index.html:41
msgid "Enter a nearby GB postcode, or street name and area"
msgstr "Skriv inn GB-postnummer i nærheten, eller veinavn og sted"
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:32
+#: perllib/FixMyStreet/Cobrand/UK.pm:18
+#, fuzzy
+msgid "Enter a nearby UK postcode, or street name and area"
+msgstr "Skriv inn postnummer i nærheten, eller veinavn og sted"
+
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:25
msgid "Enter a nearby postcode, or street name and area"
msgstr "Skriv inn postnummer i nærheten, eller veinavn og sted"
+#: templates/web/default/around/postcode_form.html:1
+#: templates/web/default/around/postcode_form.html:2
+#: templates/web/fixmystreet/around/postcode_form.html:10
+#: templates/web/fixmystreet/around/postcode_form.html:11
+#, fuzzy
+msgid "Enter a nearby street name and area"
+msgstr "Skriv inn postnummer i nærheten, eller veinavn og sted"
+
#: templates/web/default/auth/general.html:64
-#: templates/web/default/report/display.html:176
+#: templates/web/default/report/display.html:171
#: templates/web/default/report/new/fill_in_details_form.html:169
msgid "Enter a new password:"
msgstr "Skriv inn et nytt passord:"
+#: templates/web/bromley/report/display.html:148
+#: templates/web/bromley/report/new/fill_in_details_form.html:189
#: templates/web/fixmystreet/auth/general.html:57
-#: templates/web/fixmystreet/report/display.html:165
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:194
-#, fuzzy
+#: templates/web/fixmystreet/report/display.html:160
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:200
msgid "Enter a password"
-msgstr "Skriv inn et nytt passord:"
+msgstr "Skriv inn et nytt passord"
-#: templates/web/default/index.html:44 templates/web/emptyhomes/index.html:60
-#: templates/web/fixmystreet/index.html:55
+#: templates/web/default/index.html:33 templates/web/emptyhomes/index.html:58
+#: templates/web/fixmystreet/index.html:41
msgid "Enter details of the problem"
msgstr "Legg inn detaljer om problemet"
@@ -893,7 +949,6 @@ msgstr "Legg inn detaljer om problemet"
#: templates/web/default/tokens/abuse.html:3
#: templates/web/default/tokens/error.html:1
#: templates/web/default/tokens/error.html:3
-#: templates/web/fixmystreet/auth/token.html:5
msgid "Error"
msgstr "Feil"
@@ -906,6 +961,12 @@ msgstr "Eksempel-postnummer %s"
msgid "Examples:"
msgstr "Eksempler:"
+#: templates/web/default/admin/report_edit.html:40
+#, fuzzy
+msgid "Extra data:"
+msgstr "Merkevaresamarbeidsdata:"
+
+#: templates/web/bromley/contact/submit.html:14
#: templates/web/default/contact/submit.html:15
msgid ""
"Failed to send message. Please try again, or <a href=\"mailto:%s\">email "
@@ -914,6 +975,13 @@ msgstr ""
"Klarte ikke å sende melding. Vennligst prøv igjen senere eller <a href="
"\"mailto:%s\">send oss en e-post</a>."
+#: templates/web/bromley/report/display.html:189
+#: templates/web/bromley/report/new/fill_in_details_form.html:113
+#: templates/web/bromley/report/new/fill_in_details_form.html:160
+#, fuzzy
+msgid "First Name"
+msgstr "Første gang"
+
#: templates/web/default/questionnaire/index.html:79
#: templates/web/fixmystreet/questionnaire/index.html:73
msgid "First time"
@@ -925,9 +993,8 @@ msgid "Fix<span id=\"my\">My</span>Street"
msgstr "Fiks<span id=\"my\">Gata</span>Mi"
#: templates/web/default/header.html:24
-#, fuzzy
msgid "FixMyStreet"
-msgstr "FiksGataMi-administrator:"
+msgstr "FiksGataMi"
#: templates/web/default/admin/header.html:13
msgid "FixMyStreet admin:"
@@ -937,13 +1004,7 @@ msgstr "FiksGataMi-administrator:"
msgid "FixMyStreet administration"
msgstr "Fiksgatami-administrasjon"
-#: templates/web/fixmystreet/static/for_councils.html:1
-#, fuzzy
-msgid "FixMyStreet for Councils"
-msgstr "Finn ut om FiksGataMi for det offentlige"
-
-#: templates/web/default/alert/index.html:6
-#: templates/web/fixmystreet/alert/index.html:6
+#: templates/web/default/alert/index.html:11
msgid ""
"FixMyStreet has a variety of RSS feeds and email alerts for local problems, "
"including\n"
@@ -956,8 +1017,8 @@ msgstr ""
"eller et område med problemer\n"
"innen en angitt distanse fra en bestemt posisjon."
-#: templates/web/default/alert/list.html:98
-#: templates/web/fixmystreet/alert/_list.html:69
+#: templates/web/default/alert/_list.html:71
+#: templates/web/fixmystreet/alert/_list.html:73
msgid ""
"FixMyStreet sends different categories of problem\n"
"to the appropriate council, so problems within the boundary of a particular "
@@ -974,14 +1035,18 @@ msgstr ""
"administrasjoner, problemer som gjelder flere administrasjoner blir sendt "
"til alle de det gjelder."
-#: perllib/FixMyStreet/Cobrand/FixMyStreet.pm:20
+#: templates/web/bromley/report/display.html:80
+#: templates/web/bromley/report/display.html:82
#: templates/web/default/admin/index.html:36
#: templates/web/default/admin/report_edit.html:18
#: templates/web/default/admin/report_edit.html:20
-#: templates/web/default/report/display.html:84
-#: templates/web/default/report/display.html:86
-#: templates/web/fixmystreet/report/display.html:79
-#: templates/web/fixmystreet/report/display.html:81
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/dashboard/index.html:138
+#: templates/web/default/report/display.html:79
+#: templates/web/default/report/display.html:81
+#: templates/web/fixmystreet/report/banner.html:12
+#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/fixmystreet/report/display.html:76
msgid "Fixed"
msgstr "Løst"
@@ -1011,14 +1076,14 @@ msgstr "Flag bruker"
msgid "Flagged"
msgstr "Flagget:"
-#: templates/web/default/admin/report_edit.html:41
+#: templates/web/default/admin/report_edit.html:42
#: templates/web/default/admin/user_edit.html:18
msgid "Flagged:"
msgstr "Flagget:"
-#: templates/web/default/reports/council.html:24
-#: templates/web/default/reports/council.html:87
+#: templates/web/default/reports/_ward-list.html:3
#: templates/web/emptyhomes/reports/council.html:19
+#: templates/web/fixmystreet/reports/_ward-list.html:4
msgid "Follow a ward link to view only reports within that ward."
msgstr "Følg en bydelslenke for å kun se rapporter innenfor den bydelen."
@@ -1032,6 +1097,8 @@ msgstr "For administrasjon(ene):"
#: templates/web/fiksgatami/faq/faq-nb.html:1
#: templates/web/fiksgatami/nn/faq/faq-nn.html:1
#: templates/web/fixmystreet/faq/faq-en-gb.html:1
+#: templates/web/fixmystreet/static/privacy.html:1
+#: templates/web/zurich/faq/faq-de.html:1
msgid "Frequently Asked Questions"
msgstr "Ofte spurte spørsmål"
@@ -1043,31 +1110,35 @@ msgstr "Mer informasjon om vårt arbeid med tomme hjem"
msgid "GeoRSS on Google Maps"
msgstr "GeoRSS på Google Maps"
-#: templates/web/fixmystreet/report/display.html:28
-#, fuzzy
+#: templates/web/bromley/report/display.html:30
+#: templates/web/fixmystreet/report/display.html:23
msgid "Get updates"
-msgstr "Siste oppdatering:"
+msgstr "Få oppdateringer"
-#: templates/web/default/reports/council.html:72
+#: templates/web/fixmystreet/reports/_rss.html:3
+#: templates/web/fixmystreet/reports/_rss.html:9
#, fuzzy
+msgid "Get updates of %s problems"
+msgstr "Få oppdateringer for problemer i denne %s"
+
+#: templates/web/fixmystreet/reports/_rss.html:11
+#: templates/web/fixmystreet/reports/_rss.html:3
msgid "Get updates of problems in this %s"
-msgstr "RSS-strøm for problemer i denne %s"
+msgstr "Få oppdateringer for problemer i denne %s"
-#: templates/web/default/alert/list.html:110
-#: templates/web/fixmystreet/alert/_list.html:78
+#: templates/web/default/alert/_list.html:83
+#: templates/web/fixmystreet/alert/_list.html:82
msgid "Give me an RSS feed"
msgstr "Gi meg en RSS-strøm"
-#: templates/web/default/alert/index.html:24
-#: templates/web/default/around/around_index.html:17
-#: templates/web/default/index.html:33 templates/web/emptyhomes/index.html:49
-#: templates/web/fixmystreet/alert/index.html:25
-#: templates/web/fixmystreet/around/around_index.html:20
-#: templates/web/fixmystreet/index.html:42
+#: templates/web/default/alert/index.html:34
+#: templates/web/default/around/postcode_form.html:8
+#: templates/web/emptyhomes/index.html:47
+#: templates/web/fixmystreet/around/postcode_form.html:18
msgid "Go"
msgstr "Fortsett"
-#: templates/web/default/admin/report_edit.html:40
+#: templates/web/default/admin/report_edit.html:41
msgid "Going to send questionnaire?"
msgstr "Skal det sendes spørreskjema?"
@@ -1095,7 +1166,8 @@ msgstr ""
"Har du rapportert et problem til en administrasjon før, eller er dette "
"første gangen?"
-#: templates/web/bromley/footer.html:41 templates/web/default/footer.html:15
+#: templates/web/barnet/footer.html:24 templates/web/bromley/footer.html:25
+#: templates/web/bromley/header.html:81 templates/web/default/footer.html:15
#: templates/web/emptyhomes/header.html:28
#: templates/web/fiksgatami/footer.html:9
#: templates/web/fiksgatami/nn/footer.html:9
@@ -1104,16 +1176,19 @@ msgstr ""
msgid "Help"
msgstr "Hjelp"
-#: templates/web/default/alert/list.html:37
+#: templates/web/default/alert/_list.html:6
#: templates/web/fixmystreet/alert/_list.html:8
msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
msgstr ""
"Her er de forskjellige typene lokale problemvarsler for &lsquo;%s&rsquo;."
-#: templates/web/bromley/header.html:46
-#: templates/web/fixmystreet/header.html:46
+#: templates/web/barnet/header.html:70 templates/web/bromley/header.html:64
+#: templates/web/bromley/header.html:99
+#: templates/web/fixmybarangay/header.html.orig:42
+#: templates/web/fixmystreet/header.html:47
+#: templates/web/zurich/header.html:47
msgid "Hi %s"
-msgstr ""
+msgstr "Hei, %s"
#: templates/web/default/admin/report_edit.html:18
#: templates/web/default/admin/report_edit.html:21
@@ -1124,7 +1199,7 @@ msgstr "Skjul"
#: templates/web/default/around/display_location.html:58
#: templates/web/fixmystreet/around/display_location.html:58
msgid "Hide old"
-msgstr ""
+msgstr "Skjul gamle"
#: templates/web/default/around/display_location.html:53
#: templates/web/fixmystreet/around/display_location.html:54
@@ -1135,12 +1210,12 @@ msgstr "Skjul nåler"
msgid "History"
msgstr "Historie"
-#: templates/web/default/index.html:39 templates/web/emptyhomes/index.html:55
-#: templates/web/fixmystreet/index.html:50
+#: templates/web/default/index.html:28 templates/web/emptyhomes/index.html:53
+#: templates/web/fixmystreet/index.html:36
msgid "How to report a problem"
msgstr "Hvordan rapportere et problem"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:592
+#: perllib/FixMyStreet/App/Controller/Admin.pm:637
msgid "I am afraid you cannot confirm unconfirmed reports."
msgstr "Jeg er redd du ikke kan bekrefte ubekreftede rapporter."
@@ -1148,7 +1223,7 @@ msgstr "Jeg er redd du ikke kan bekrefte ubekreftede rapporter."
msgid "I'm afraid we couldn't locate your problem in the database.\n"
msgstr "Jeg er redd vi ikke klarte å finne ditt problem i databasen.\n"
-#: perllib/FixMyStreet/App/Controller/Tokens.pm:43
+#: perllib/FixMyStreet/App/Controller/Tokens.pm:44
msgid ""
"I'm afraid we couldn't validate that token, as the report was made too long "
"ago."
@@ -1156,7 +1231,7 @@ msgstr ""
"Jeg er redd vi ikke kunne verifisere den referansen, da det er for lenge "
"siden rapporten ble laget."
-#: perllib/FixMyStreet/App/Controller/Tokens.pm:233
+#: perllib/FixMyStreet/App/Controller/Tokens.pm:235
msgid ""
"I'm afraid we couldn't validate that token. If you've copied the URL from an "
"email, please check that you copied it exactly.\n"
@@ -1172,8 +1247,6 @@ msgstr "ID"
#: templates/web/default/report/new/councils_text_none.html:11
#: templates/web/default/report/new/councils_text_none.html:12
-#: templates/web/fixmystreet/report/new/councils_text_none.html:10
-#: templates/web/fixmystreet/report/new/councils_text_none.html:9
msgid ""
"If you submit a problem here the subject and details of the problem will be "
"public, but the problem will <strong>not</strong> be reported to the council."
@@ -1195,7 +1268,6 @@ msgstr ""
#: templates/web/default/auth/token.html:23
#: templates/web/default/email_sent.html:24
-#: templates/web/fixmystreet/auth/token.html:23
msgid ""
"If you use web-based email or have 'junk mail' filters, you may wish to "
"check your bulk/spam mail folders: sometimes, our messages are marked that "
@@ -1224,12 +1296,16 @@ msgstr "Ugyldig ID"
msgid "Illegal feed selection"
msgstr "Ugyldig valg av feed"
+#: templates/web/bromley/report/display.html:80
+#: templates/web/bromley/report/display.html:82
#: templates/web/default/admin/report_edit.html:18
#: templates/web/default/admin/report_edit.html:20
-#: templates/web/default/report/display.html:84
-#: templates/web/default/report/display.html:86
-#: templates/web/fixmystreet/report/display.html:79
-#: templates/web/fixmystreet/report/display.html:81
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/dashboard/index.html:138
+#: templates/web/default/report/display.html:79
+#: templates/web/default/report/display.html:81
+#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/fixmystreet/report/display.html:76
msgid "In Progress"
msgstr "Under arbeid"
@@ -1245,8 +1321,7 @@ msgstr ""
"del av description), interface_used, comment_count, requestor_name (kun "
"tilstede hvis innsender tillot at navnet kunne vises på dette nettstedet)."
-#: perllib/FixMyStreet/Cobrand/FixMyStreet.pm:29
-#, fuzzy
+#: templates/web/fixmystreet/report/banner.html:19
msgid "In progress"
msgstr "Under arbeid"
@@ -1254,32 +1329,36 @@ msgstr "Under arbeid"
msgid "Include unconfirmed reports"
msgstr "Inkluder ubekreftede problemer"
-#: perllib/FixMyStreet/App/Controller/Open311.pm:358
+#: perllib/FixMyStreet/App/Controller/Open311.pm:356
msgid "Incorrect has_photo value \"%s\""
msgstr "Feil has_photo-verdi \"%s\""
-#: perllib/FixMyStreet/App/Controller/Open311.pm:343
+#: perllib/FixMyStreet/App/Controller/Open311.pm:341
msgid "Invalid agency_responsible value %s"
msgstr "Ugyldig agency_responsible-verdi %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:899
+#: perllib/FixMyStreet/App/Controller/Admin.pm:942
msgid "Invalid end date"
msgstr "Ugyldig slutt-dato"
-#: perllib/FixMyStreet/App/Controller/Open311.pm:426
+#: perllib/FixMyStreet/App/Controller/Open311.pm:432
msgid "Invalid format %s specified."
msgstr "Ugyldig format %s oppgitt."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:889
+#: perllib/FixMyStreet/App/Controller/Admin.pm:932
msgid "Invalid start date"
msgstr "Ugyldig startdato"
+#: templates/web/bromley/report/display.html:80
+#: templates/web/bromley/report/display.html:81
#: templates/web/default/admin/report_edit.html:18
#: templates/web/default/admin/report_edit.html:19
-#: templates/web/default/report/display.html:84
-#: templates/web/default/report/display.html:85
-#: templates/web/fixmystreet/report/display.html:79
-#: templates/web/fixmystreet/report/display.html:80
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/dashboard/index.html:137
+#: templates/web/default/report/display.html:79
+#: templates/web/default/report/display.html:80
+#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/fixmystreet/report/display.html:75
msgid "Investigating"
msgstr "Undersøkes"
@@ -1296,16 +1375,25 @@ msgid ""
"your concerns about this property to the council is a valuable first step."
msgstr ""
+#: templates/web/bromley/report/display.html:166
+#: templates/web/bromley/report/new/fill_in_details_form.html:209
#: templates/web/default/auth/general.html:44
-#: templates/web/default/report/display.html:156
+#: templates/web/default/report/display.html:151
#: templates/web/default/report/new/fill_in_details_form.html:149
#: templates/web/fixmystreet/auth/general.html:42
-#: templates/web/fixmystreet/report/display.html:149
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:164
+#: templates/web/fixmystreet/report/display.html:144
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:167
msgid "Keep me signed in on this computer"
msgstr "Husk min innlogging på denne datamaskinen"
-#: templates/web/default/admin/council_contacts.html:35
+#: templates/web/bromley/report/display.html:195
+#: templates/web/bromley/report/new/fill_in_details_form.html:119
+#: templates/web/bromley/report/new/fill_in_details_form.html:166
+#, fuzzy
+msgid "Last Name"
+msgstr "Siste oppdatering:"
+
+#: templates/web/default/admin/council_contacts.html:39
msgid "Last editor"
msgstr "Sist redigert av"
@@ -1317,14 +1405,16 @@ msgstr "Siste oppdatering:"
msgid "Last&nbsp;update:"
msgstr "Siste&nbsp;oppdatering:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:985
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1028
msgid "List Flagged"
msgstr "List flagget"
-#: templates/web/default/admin/council_contacts.html:13
+#: templates/web/default/admin/council_contacts.html:14
+#: templates/web/default/admin/council_contacts.html:16
msgid "List all reported problems"
msgstr "List alle rapporterte problemer"
+#: templates/web/bromley/report/new/fill_in_details_form.html:69
#: templates/web/default/report/new/fill_in_details_form.html:68
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:73
msgid "Loading..."
@@ -1341,12 +1431,6 @@ msgstr "Laster..."
#: templates/web/default/tokens/confirm_alert.html:3
#: templates/web/emptyhomes/alert/index.html:1
#: templates/web/emptyhomes/alert/index.html:3
-#: templates/web/fixmystreet/alert/choose.html:1
-#: templates/web/fixmystreet/alert/choose.html:3
-#: templates/web/fixmystreet/alert/index.html:1
-#: templates/web/fixmystreet/alert/index.html:3
-#: templates/web/fixmystreet/alert/list.html:1
-#: templates/web/fixmystreet/alert/list.html:5
#: templates/web/fixmystreet/alert/updates.html:1
msgid "Local RSS feeds and email alerts"
msgstr "Lokal RSS-strøm og e-postvarsel"
@@ -1355,14 +1439,11 @@ msgstr "Lokal RSS-strøm og e-postvarsel"
#: templates/web/default/alert/list.html:12
#: templates/web/default/alert/list.html:14
#: templates/web/default/alert/list.html:3
-#: templates/web/fixmystreet/alert/list.html:1
-#: templates/web/fixmystreet/alert/list.html:12
-#: templates/web/fixmystreet/alert/list.html:14
-#: templates/web/fixmystreet/alert/list.html:3
msgid "Local RSS feeds and email alerts for ‘%s’"
msgstr "Lokal RSS-strøm og e-postvarsel for ‘%s’"
-#: templates/web/bromley/footer.html:39 templates/web/default/footer.html:13
+#: templates/web/barnet/footer.html:22 templates/web/bromley/footer.html:23
+#: templates/web/bromley/header.html:79 templates/web/default/footer.html:13
#: templates/web/fiksgatami/footer.html:8
#: templates/web/fiksgatami/nn/footer.html:8
#: templates/web/fixmystreet/footer.html:51
@@ -1370,12 +1451,12 @@ msgstr "Lokal RSS-strøm og e-postvarsel for ‘%s’"
msgid "Local alerts"
msgstr "Lokale varsler"
-#: templates/web/default/index.html:43 templates/web/emptyhomes/index.html:59
-#: templates/web/fixmystreet/index.html:54
+#: templates/web/default/index.html:32 templates/web/emptyhomes/index.html:57
+#: templates/web/fixmystreet/index.html:40
msgid "Locate the problem on a map of the area"
msgstr "Lokaliser problemet på kartet over området"
-#: perllib/FixMyStreet/Map/OSM.pm:43
+#: perllib/FixMyStreet/Map/OSM.pm:44
msgid ""
"Map &copy; <a id=\"osm_link\" href=\"http://www.openstreetmap.org/"
"\">OpenStreetMap</a> and contributors, <a href=\"http://creativecommons.org/"
@@ -1386,15 +1467,14 @@ msgstr ""
"licenses/by-sa/2.0/\">CC-BY-SA</a>"
#: templates/web/fixmystreet/contact/index.html:86
-#, fuzzy
msgid "Message"
-msgstr "Melding:"
+msgstr "Melding"
#: templates/web/default/contact/index.html:90
msgid "Message:"
msgstr "Melding:"
-#: perllib/FixMyStreet/App/Controller/Open311.pm:434
+#: perllib/FixMyStreet/App/Controller/Open311.pm:440
msgid "Missing jurisdiction_id"
msgstr "Mangler jurisdiction_id"
@@ -1402,7 +1482,7 @@ msgstr "Mangler jurisdiction_id"
msgid "Month"
msgstr "Måned"
-#: templates/web/default/report/display.html:31
+#: templates/web/default/report/display.html:26
msgid "More problems nearby"
msgstr "Flere problemer i nærheten"
@@ -1416,9 +1496,9 @@ msgstr "Flere problemer i nærheten"
#: templates/web/fiksgatami/nn/reports/index.html:9
#: templates/web/fiksgatami/reports/index.html:9
#: templates/web/fixmystreet/auth/general.html:52
-#: templates/web/fixmystreet/report/display.html:181
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:114
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:171
+#: templates/web/fixmystreet/report/display.html:177
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:117
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:176
msgid "Name"
msgstr "Navn"
@@ -1434,7 +1514,7 @@ msgstr "Navn:"
msgid "Navigation"
msgstr "Navigasjon"
-#: perllib/FixMyStreet/Geocode/OSM.pm:100
+#: perllib/FixMyStreet/Geocode/OSM.pm:159
msgid ""
"Nearest named road to the pin placed on the map (automatically generated "
"using OpenStreetMap): %s%s"
@@ -1442,7 +1522,7 @@ msgstr ""
"Nærmeste navngitte vei til nålen plassert på kartet (automatisk generert ved "
"hjelp av OpenStreetMap): %s%s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:480
+#: perllib/FixMyStreet/Cobrand/UK.pm:161
msgid ""
"Nearest postcode to the pin placed on the map (automatically generated): %s "
"(%sm away)"
@@ -1450,8 +1530,8 @@ msgstr ""
"Nærmeste postnummer til nålen plassert på kartet (automatisk generert): %s "
"(%sm unna)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:469
-#: perllib/FixMyStreet/Cobrand/Default.pm:520
+#: perllib/FixMyStreet/Cobrand/Default.pm:404
+#: perllib/FixMyStreet/Cobrand/Default.pm:444
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing "
"Maps): %s"
@@ -1459,26 +1539,25 @@ msgstr ""
"Nærmeste vei til nålen plassert på kartet (automatisk generert ved hjelp av "
"Bing Maps): %s"
-#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:242
-#, fuzzy
+#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:245
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing "
"Maps): %s\n"
"\n"
msgstr ""
"Nærmeste vei til nålen plassert på kartet (automatisk generert ved hjelp av "
-"Bing Maps): %s"
+"Bing Maps) er: %s\n"
+"\n"
#: templates/web/default/email_sent.html:20
msgid "Nearly Done! Now check your email..."
msgstr "Nesten ferdig! Nå må du sjekke e-posten din..."
#: templates/web/default/reports/index.html:16
-#, fuzzy
msgid "New <br>problems"
-msgstr "Nye problemer"
+msgstr "Nye <br>problemer"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:311
+#: perllib/FixMyStreet/App/Controller/Admin.pm:314
msgid "New category contact added"
msgstr "Ny kategorikontakt lagt til"
@@ -1548,15 +1627,15 @@ msgstr "Ny tilstand"
msgid "New!"
msgstr "Ny!"
-#: templates/web/default/admin/council_contacts.html:44
-#: templates/web/default/admin/council_contacts.html:45
+#: templates/web/default/admin/council_contacts.html:48
+#: templates/web/default/admin/council_contacts.html:49
#: templates/web/default/admin/council_edit.html:4
#: templates/web/default/admin/list_updates.html:30
#: templates/web/default/admin/list_updates.html:31
#: templates/web/default/admin/list_updates.html:32
#: templates/web/default/admin/problem_row.html:19
#: templates/web/default/admin/report_edit.html:28
-#: templates/web/default/admin/report_edit.html:40
+#: templates/web/default/admin/report_edit.html:41
#: templates/web/default/admin/update_edit.html:16
#: templates/web/default/questionnaire/creator_fixed.html:16
#: templates/web/default/questionnaire/index.html:107
@@ -1571,7 +1650,7 @@ msgstr "Nei"
msgid "No council"
msgstr "Ingen administrasjon"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:320
+#: perllib/FixMyStreet/DB/Result/Problem.pm:328
msgid "No council selected"
msgstr "Ingen administrasjon er valgt"
@@ -1591,13 +1670,13 @@ msgstr "Ingen flaggede brukere ble funnet"
msgid "No info at all"
msgstr "Helt uten informasjon"
-#: templates/web/default/around/around_map_list_items.html:15
-#: templates/web/fixmystreet/around/around_map_list_items.html:24
+#: templates/web/default/around/around_map_list_items.html:17
+#: templates/web/fixmystreet/around/around_map_list_items.html:8
msgid "No problems found."
msgstr "Ingen problemer ble funnet."
-#: templates/web/default/around/on_map_list_items.html:12
-#: templates/web/fixmystreet/around/on_map_list_items.html:21
+#: templates/web/default/around/on_map_list_items.html:14
+#: templates/web/fixmystreet/around/on_map_list_items.html:6
msgid "No problems have been reported yet."
msgstr "Ingen problemer er rapportert"
@@ -1610,13 +1689,13 @@ msgstr "Ingen"
msgid "Not reported before"
msgstr "Ikke rapportert tidligere"
-#: templates/web/default/report/_main.html:9
+#: templates/web/default/report/_main.html:11
#: templates/web/emptyhomes/report/display.html:24
-#: templates/web/fixmystreet/report/_main.html:11
+#: templates/web/fixmystreet/report/_main.html:13
msgid "Not reported to council"
msgstr "Ikke rapportert til administrasjonen"
-#: templates/web/default/admin/council_contacts.html:36
+#: templates/web/default/admin/council_contacts.html:40
#: templates/web/default/admin/council_edit.html:46
msgid "Note"
msgstr "Merk"
@@ -1631,7 +1710,7 @@ msgstr ""
"opprettet, hvilket ikke trenger være den samme måneden som rapporten var "
"bekreftet, så tallene kan hoppe litt opp og ned."
-#: templates/web/default/admin/council_contacts.html:85
+#: templates/web/default/admin/council_contacts.html:89
#: templates/web/default/admin/council_edit.html:31
msgid "Note:"
msgstr "Merk:"
@@ -1640,35 +1719,31 @@ msgstr "Merk:"
msgid "Note: <strong>%s</strong>"
msgstr "Note: <strong>%d</strong>"
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:146
-#, fuzzy
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:149
msgid "Now to submit your report&hellip;"
-msgstr "På tide å sende din rapport&hellip; har du et FiksGataMi-passord?"
+msgstr "På tide å sende din rapport&hellip;"
#: templates/web/default/report/new/fill_in_details_form.html:131
msgid "Now to submit your report&hellip; do you have a FixMyStreet password?"
msgstr "På tide å sende din rapport&hellip; har du et FiksGataMi-passord?"
-#: templates/web/fixmystreet/report/display.html:132
-#, fuzzy
+#: templates/web/fixmystreet/report/display.html:127
msgid "Now to submit your update&hellip;"
-msgstr ""
-"På tide å registrere din oppdatering&hellip; har du et FiksGataMi-passord?"
+msgstr "På tide å registrere din oppdatering&hellip;"
-#: templates/web/default/report/display.html:138
+#: templates/web/default/report/display.html:133
msgid "Now to submit your update&hellip; do you have a FixMyStreet password?"
msgstr ""
"På tide å registrere din oppdatering&hellip; har du et FiksGataMi-passord?"
-#: templates/web/default/report/display.html:26
+#: templates/web/default/report/display.html:21
#: templates/web/default/report/update.html:16
msgid "Offensive? Unsuitable? Tell us"
msgstr "Støtende? Upassende? Gi oss beskjed"
#: templates/web/default/reports/index.html:18
-#, fuzzy
msgid "Old / unknown <br>problems"
-msgstr "Ukjent problem-Id"
+msgstr "Gamle / ukjente <br>problemer"
#: templates/web/fiksgatami/nn/reports/index.html:12
#: templates/web/fiksgatami/reports/index.html:12
@@ -1680,14 +1755,12 @@ msgid "Old state"
msgstr "Gammel tilstand"
#: templates/web/default/reports/index.html:20
-#, fuzzy
msgid "Older <br>fixed"
-msgstr "Eldre løste"
+msgstr "Eldre <br>løste"
#: templates/web/default/reports/index.html:17
-#, fuzzy
msgid "Older <br>problems"
-msgstr "Eldre problemer"
+msgstr "Eldre <br>problemer"
#: templates/web/emptyhomes/reports/index.html:14
#: templates/web/fiksgatami/nn/reports/index.html:14
@@ -1701,10 +1774,12 @@ msgstr "Eldre løste"
msgid "Older problems"
msgstr "Eldre problemer"
+#: templates/web/bromley/report/display.html:80
#: templates/web/default/admin/report_edit.html:18
#: templates/web/default/admin/update_edit.html:19
-#: templates/web/default/report/display.html:84
-#: templates/web/fixmystreet/report/display.html:79
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/report/display.html:79
+#: templates/web/fixmystreet/report/display.html:74
msgid "Open"
msgstr "Åpen"
@@ -1724,13 +1799,13 @@ msgstr "Open311-initiativets nettside"
msgid "Open311 specification"
msgstr "Open311-spesifikasjon"
-#: templates/web/default/alert/list.html:85
-#: templates/web/fixmystreet/alert/_list.html:56
+#: templates/web/default/alert/_list.html:58
+#: templates/web/fixmystreet/alert/_list.html:60
msgid "Or problems reported to:"
msgstr "Eller problemer meldt til:"
-#: templates/web/default/alert/list.html:61
-#: templates/web/fixmystreet/alert/_list.html:33
+#: templates/web/default/alert/_list.html:33
+#: templates/web/fixmystreet/alert/_list.html:36
msgid ""
"Or you can subscribe to an alert based upon what ward or council you&rsquo;"
"re in:"
@@ -1738,14 +1813,15 @@ msgstr ""
"Eller du kan abonnere på varsel basert på bydel eller administrasjon du "
"hører inn under:"
-#: bin/send-reports:176 bin/send-reports:185
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:568
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:581
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:990
-#: perllib/FixMyStreet/DB/Result/Problem.pm:489
-#: perllib/FixMyStreet/DB/Result/Problem.pm:499
-#: perllib/FixMyStreet/DB/Result/Problem.pm:509
-#: perllib/FixMyStreet/DB/Result/Problem.pm:521
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:655
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:656
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:999
+#: perllib/FixMyStreet/DB/Result/Problem.pm:497
+#: perllib/FixMyStreet/DB/Result/Problem.pm:507
+#: perllib/FixMyStreet/DB/Result/Problem.pm:517
+#: perllib/FixMyStreet/DB/Result/Problem.pm:529
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:329
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:338
msgid "Other"
msgstr "Annet"
@@ -1771,62 +1847,69 @@ msgstr "Fant ikke siden"
msgid "Partial"
msgstr "Delvis"
+#: templates/web/bromley/report/display.html:145
+#: templates/web/bromley/report/new/fill_in_details_form.html:186
#: templates/web/fixmystreet/auth/general.html:55
-#: templates/web/fixmystreet/report/display.html:162
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:191
-#, fuzzy
+#: templates/web/fixmystreet/report/display.html:157
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:197
msgid "Password (optional)"
-msgstr "(valgfritt)"
+msgstr "Passord (valgfritt)"
#: templates/web/default/auth/change_password.html:25
-#: templates/web/fixmystreet/auth/change_password.html:25
msgid "Password:"
msgstr "Passord:"
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:130
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:188
-#, fuzzy
+#: templates/web/bromley/report/new/fill_in_details_form.html:136
+#: templates/web/bromley/report/new/fill_in_details_form.html:183
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:133
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:194
msgid "Phone number (optional)"
-msgstr "(valgfritt)"
+msgstr "Telefonnummer (valgfritt)"
-#: bin/send-reports:70 templates/web/default/admin/report_edit.html:32
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:260
+#: templates/web/default/admin/report_edit.html:32
#: templates/web/default/report/new/fill_in_details_form.html:215
msgid "Phone:"
msgstr "Telefon:"
-#: templates/web/fixmystreet/report/display.html:108
+#: templates/web/bromley/report/display.html:109
+#: templates/web/bromley/report/new/fill_in_details_form.html:104
+#: templates/web/fixmystreet/report/display.html:103
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:108
-#, fuzzy
msgid "Photo"
-msgstr "Bilde:"
+msgstr "Bilde"
#: templates/web/default/questionnaire/index.html:95
-#: templates/web/default/report/display.html:114
+#: templates/web/default/report/display.html:109
#: templates/web/default/report/new/fill_in_details_form.html:102
#: templates/web/fixmystreet/questionnaire/index.html:90
msgid "Photo:"
msgstr "Bilde:"
-#: templates/web/default/alert/list.html:27
-#: templates/web/fixmystreet/alert/list.html:27
+#: templates/web/default/alert/list.html:26
msgid "Photos of recent nearby reports"
msgstr "Bilder av nye problemer i nærheten"
+#: templates/web/bromley/report/display.html:80
+#: templates/web/bromley/report/display.html:81
#: templates/web/default/admin/report_edit.html:18
#: templates/web/default/admin/report_edit.html:19
-#: templates/web/default/report/display.html:84
-#: templates/web/default/report/display.html:85
-#: templates/web/fixmystreet/report/display.html:79
-#: templates/web/fixmystreet/report/display.html:80
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/dashboard/index.html:137
+#: templates/web/default/report/display.html:79
+#: templates/web/default/report/display.html:80
+#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/fixmystreet/report/display.html:75
msgid "Planned"
msgstr "Planlagt"
#: templates/web/fixmystreet/questionnaire/index.html:44
-#, fuzzy
msgid ""
"Please <a class=\"tab_link\" href=\"#report\">take a look</a> at the updates "
"that have been left."
-msgstr "Vennligst se over oppdateringene som har blitt lagt inn."
+msgstr ""
+"Vennligst <a class=\"tab_link\" href=\"#report\">se over</a> oppdateringene "
+"som har blitt lagt inn."
#: templates/web/default/report/new/notes.html:6
#: templates/web/fixmystreet/report/new/notes.html:5
@@ -1835,13 +1918,10 @@ msgstr "Vær høflig, poengtert og kortfattet."
#: templates/web/default/auth/change_password.html:12
#: templates/web/default/auth/change_password.html:17
-#: templates/web/fixmystreet/auth/change_password.html:12
-#: templates/web/fixmystreet/auth/change_password.html:17
msgid "Please check the passwords and try again"
msgstr "Vennligst sjekk passordene og prøv igjen"
#: templates/web/default/auth/token.html:17
-#: templates/web/fixmystreet/auth/token.html:17
msgid "Please check your email"
msgstr "Vennligst sjekk e-posten du oppgav"
@@ -1852,18 +1932,25 @@ msgstr "Vennligst sjekk e-posten du oppgav"
msgid "Please check your email address is correct"
msgstr "Vennligst sjekk at du har skrevet en gyldig e-postadresse"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:739
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:795
-#: perllib/FixMyStreet/DB/Result/Problem.pm:339
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:819
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:826
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:845
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:884
+#: perllib/FixMyStreet/DB/Result/Problem.pm:347
#: templates/web/default/js/validation_strings.html:9
msgid "Please choose a category"
msgstr "Velg en kategori"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:345
+#: perllib/FixMyStreet/DB/Result/Problem.pm:353
msgid "Please choose a property type"
msgstr "Velg en type egenskap"
+#: templates/web/bromley/report/new/fill_in_details_form.html:64
+msgid ""
+"Please describe the exact location of the report. Example: “2 dumped "
+"mattresses outside Number 19 Stockwell Close”"
+msgstr ""
+
#: templates/web/default/contact/blurb.html:2
msgid ""
"Please do <strong>not</strong> report problems through this form; messages "
@@ -1886,42 +1973,40 @@ msgstr ""
"Ikke vær ufin &mdash; å kjefte på din administrasjon skader verdien av "
"tjenesten for alle brukerne."
-#: perllib/FixMyStreet/DB/Result/Comment.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:146
#: templates/web/default/js/validation_strings.html:2
msgid "Please enter a message"
msgstr "Vennligst legg til en melding"
#: templates/web/default/auth/change_password.html:12
#: templates/web/default/auth/change_password.html:15
-#: templates/web/fixmystreet/auth/change_password.html:12
-#: templates/web/fixmystreet/auth/change_password.html:15
msgid "Please enter a password"
msgstr "Skriv inn et passord"
#: perllib/FixMyStreet/App/Controller/Contact.pm:97
-#: perllib/FixMyStreet/DB/Result/Problem.pm:314
+#: perllib/FixMyStreet/DB/Result/Problem.pm:322
#: templates/web/default/js/validation_strings.html:3
msgid "Please enter a subject"
msgstr "Vennligst legg inn et emne"
-#: perllib/FixMyStreet/DB/Result/User.pm:96
+#: perllib/FixMyStreet/DB/Result/User.pm:104
#: templates/web/default/js/validation_strings.html:12
#: templates/web/default/js/validation_strings.html:16
msgid "Please enter a valid email"
msgstr "Legg til en gyldig e-post"
-#: perllib/FixMyStreet/App/Controller/Alert.pm:342
+#: perllib/FixMyStreet/App/Controller/Alert.pm:346
#: perllib/FixMyStreet/App/Controller/Contact.pm:107
msgid "Please enter a valid email address"
msgstr "Legg inn din e-post"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:317
+#: perllib/FixMyStreet/DB/Result/Problem.pm:325
#: templates/web/default/js/validation_strings.html:4
msgid "Please enter some details"
msgstr "Legg inn opplysninger om problemet"
#: perllib/FixMyStreet/App/Controller/Contact.pm:96
-#: perllib/FixMyStreet/DB/Result/User.pm:93
+#: perllib/FixMyStreet/DB/Result/User.pm:101
#: templates/web/default/auth/general.html:13
#: templates/web/default/auth/general.html:8
#: templates/web/default/js/validation_strings.html:11
@@ -1931,29 +2016,44 @@ msgstr "Legg inn opplysninger om problemet"
msgid "Please enter your email"
msgstr "Legg inn din e-post"
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:143
-#, fuzzy
+#: templates/web/bromley/report/new/fill_in_details_form.html:149
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:146
msgid "Please enter your email address"
-msgstr "Legg inn din e-post"
+msgstr "Vennligst tast inn din e-postadresse"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:332
-#: templates/web/default/js/validation_strings.html:7
+#: templates/web/default/js/validation_strings.html:19
#, fuzzy
+msgid "Please enter your first name"
+msgstr "Legg inn ditt navn"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:340
+#: templates/web/default/js/validation_strings.html:7
msgid ""
"Please enter your full name, councils need this information – if you do not "
"wish your name to be shown on the site, untick the box below"
msgstr ""
-"Legg inn ditt fulle navn, administrasjoner som mottar ditt problem trenger "
-"dette - hvis du ikke ønsker at ditt navn skal vises, fjern haken under"
+"Vennligst legg inn ditt fulle navn, administrasjoner som mottar ditt problem "
+"trenger dette - hvis du ikke ønsker at ditt navn skal vises, fjern haken "
+"under"
#: perllib/FixMyStreet/App/Controller/Contact.pm:95
-#: perllib/FixMyStreet/DB/Result/Comment.pm:110
-#: perllib/FixMyStreet/DB/Result/Problem.pm:325
-#: perllib/FixMyStreet/DB/Result/User.pm:89
+#: perllib/FixMyStreet/DB/Result/Comment.pm:143
+#: perllib/FixMyStreet/DB/Result/Problem.pm:333
+#: perllib/FixMyStreet/DB/Result/User.pm:97
#: templates/web/default/js/validation_strings.html:6
msgid "Please enter your name"
msgstr "Legg inn ditt navn"
+#: templates/web/default/js/validation_strings.html:20
+#, fuzzy
+msgid "Please enter your second name"
+msgstr "Legg inn ditt navn"
+
+#: templates/web/default/js/validation_strings.html:18
+#, fuzzy
+msgid "Please enter your title"
+msgstr "Legg inn din e-post"
+
#: templates/web/emptyhomes/report/new/fill_in_details_text.html:1
msgid ""
"Please fill in details of the empty property below, saying what type of\n"
@@ -1992,10 +2092,10 @@ msgstr ""
"vært der, en beskrivelse (og et bilde av problemet hvis du har et), osv."
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:68
-#, fuzzy
msgid "Please fill in details of the problem."
-msgstr "Vennligst fyll ut detaljer om problemet under"
+msgstr "Vennligst fyll ut detaljer om problemet."
+#: templates/web/bromley/report/new/fill_in_details_form.html:28
#: templates/web/default/report/new/fill_in_details_form.html:27
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:34
msgid ""
@@ -2009,8 +2109,11 @@ msgstr ""
msgid "Please indicate whether you'd like to receive another questionnaire"
msgstr "Vennligst indiker om du ønsker å motta et nytt spørreskjema"
-#: templates/web/default/report/display.html:61
-#: templates/web/fixmystreet/report/display.html:59
+#: templates/web/fixmystreet/report/updates-sidebar-notes.html:3
+msgid "Please note that updates are not sent to the council."
+msgstr ""
+
+#: templates/web/default/report/display.html:56
msgid ""
"Please note that updates are not sent to the council. If you leave your name "
"it will be public. Your information will only be used in accordance with our "
@@ -2021,6 +2124,19 @@ msgstr ""
"informasjon vil kun bli brukt i henhold til våre <a href=\"/faq#privacy"
"\">personvernpolicy</a>"
+#: templates/web/barnet/report/updates-sidebar-notes.html:1
+#, fuzzy
+msgid ""
+"Please note that updates are not sent to the relevant department. If you "
+"leave your name it will be public. Your information will only be used in "
+"accordance with our <a href=\"/faq#privacy\">privacy policy</a>"
+msgstr ""
+"Vennligst merk at oppdateringer ikke blir sendt til administrasjonen. Hvis "
+"du legger igjen navnet ditt så vil det være offentlig tilgjengelig. Din "
+"informasjon vil kun bli brukt i henhold til våre <a href=\"/faq#privacy"
+"\">personvernpolicy</a>"
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:23
#: templates/web/default/report/new/fill_in_details_form.html:5
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:25
msgid ""
@@ -2045,7 +2161,7 @@ msgstr ""
msgid "Please provide some text as well as a photo"
msgstr "Vennligst bidra med litt tekst i tilegg til et bilde"
-#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:115
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:116
#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:237
msgid ""
"Please say whether you've ever reported a problem to your council before"
@@ -2069,27 +2185,35 @@ msgstr "Vennligs oppgi om dette problemet er blitt fikset eller ikke"
msgid "Please take a look at the updates that have been left."
msgstr "Vennligst se over oppdateringene som har blitt lagt inn."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:843
+#: perllib/FixMyStreet/App/Controller/Photo.pm:176
msgid "Please upload a JPEG image only"
msgstr "Vennligst last opp kun JPEG-bilder"
+#: perllib/FixMyStreet/App/Controller/Photo.pm:183
+#, fuzzy
+msgid "Please upload a JPEG image only\n"
+msgstr "Vennligst last opp kun JPEG-bilder"
+
#: perllib/FixMyStreet/App/Controller/Contact.pm:98
msgid "Please write a message"
msgstr "Skriv inn en melding"
-#: templates/web/fixmystreet/report/display.html:74
-#, fuzzy
+#: templates/web/bromley/report/display.html:70
+#: templates/web/fixmystreet/report/display.html:69
msgid "Please write your update here"
-msgstr "Skriv inn en melding"
+msgstr "Vennligst skriv inn din oppdatering her"
+#: templates/web/bromley/report/display.html:121
+#: templates/web/bromley/report/display.html:149
+#: templates/web/bromley/report/display.html:161
#: templates/web/default/contact/index.html:93
-#: templates/web/default/report/display.html:124
-#: templates/web/default/report/display.html:161
-#: templates/web/default/report/display.html:183
+#: templates/web/default/report/display.html:119
+#: templates/web/default/report/display.html:156
+#: templates/web/default/report/display.html:178
#: templates/web/fixmystreet/contact/index.html:93
-#: templates/web/fixmystreet/report/display.html:120
-#: templates/web/fixmystreet/report/display.html:144
-#: templates/web/fixmystreet/report/display.html:166
+#: templates/web/fixmystreet/report/display.html:115
+#: templates/web/fixmystreet/report/display.html:139
+#: templates/web/fixmystreet/report/display.html:161
msgid "Post"
msgstr "Send inn"
@@ -2097,11 +2221,11 @@ msgstr "Send inn"
msgid "Posted anonymously at %s"
msgstr "Publisert anonymt %s"
-#: templates/web/default/report/updates.html:17
+#: templates/web/default/report/updates.html:21
msgid "Posted by %s (<strong>%s</strong>) at %s"
msgstr "Lagt inn av %s (<strong>%s</strong>) %s"
-#: templates/web/default/report/updates.html:19
+#: templates/web/default/report/updates.html:23
msgid "Posted by %s at %s"
msgstr "Sendt inn av %s %s"
@@ -2125,7 +2249,7 @@ msgstr "Problem %s sendt til administrasjon %s"
msgid "Problem breakdown by state"
msgstr "Tilstandsfordeling av problemer"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:776
+#: perllib/FixMyStreet/App/Controller/Admin.pm:819
msgid "Problem marked as open."
msgstr "Problem markert som åpent."
@@ -2137,48 +2261,48 @@ msgstr "Problemtilstandsendring basert på spørreundersøkelsesresultater"
msgid "Problems"
msgstr "Problemer"
-#: templates/web/default/around/display_location.html:79
+#: templates/web/default/around/display_location.html:81
msgid "Problems in this area"
msgstr "Problemer i dette området"
-#: templates/web/fixmystreet/around/display_location.html:93
-#: templates/web/fixmystreet/report/display.html:29
-#, fuzzy
+#: templates/web/bromley/report/display.html:31
+#: templates/web/fixmystreet/around/display_location.html:98
+#: templates/web/fixmystreet/report/display.html:24
msgid "Problems nearby"
-msgstr "Flere problemer i nærheten"
+msgstr "Problemer i nærheten"
-#: templates/web/fixmystreet/around/display_location.html:92
-#, fuzzy
+#: templates/web/fixmystreet/around/display_location.html:97
msgid "Problems on the map"
-msgstr "Problemer i dette området"
+msgstr "Problemer på kartet"
#: db/alert_types.pl:14
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Problemer nylig rapportert fikset på FiksGataMi"
-#: templates/web/default/alert/list.html:50
+#: templates/web/default/alert/_list.html:19
#: templates/web/fixmystreet/alert/_list.html:21
msgid "Problems within %.1fkm of this location"
msgstr "Problemer innenfor %.1fkm av denne posisjonen"
-#: perllib/FixMyStreet/Cobrand/Default.pm:748
-#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:162
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:177
+#: perllib/FixMyStreet/Cobrand/Default.pm:609
+#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:95
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:162
+#: perllib/FixMyStreet/Cobrand/UK.pm:240
msgid "Problems within %s"
msgstr "Problemer innenfor %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:757
-#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:170
+#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:103
+#: perllib/FixMyStreet/Cobrand/UK.pm:254
msgid "Problems within %s ward"
msgstr "Problemer innenfor %s bydel"
#: templates/web/default/reports/council.html:0
-#: templates/web/default/reports/council.html:17
+#: templates/web/default/reports/council.html:29
msgid "Problems within %s, FixMyStreet"
msgstr "Problemer innenfor %s, Fiksgatami"
-#: templates/web/default/alert/list.html:67
-#: templates/web/fixmystreet/alert/_list.html:38
+#: templates/web/default/alert/_list.html:40
+#: templates/web/fixmystreet/alert/_list.html:42
msgid "Problems within the boundary of:"
msgstr "Problemer innenfor grensene av:"
@@ -2187,24 +2311,36 @@ msgid "Properties recently reported as put back to use on reportemptyhomes.com"
msgstr ""
"Eiendommer nylig rapportert som gått tilbake i bruk på reportemptyhomes.com"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:543
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:617
msgid "Property type:"
msgstr "Type egenskap:"
+#: templates/web/bromley/report/new/fill_in_details_form.html:52
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:62
-#, fuzzy
msgid "Provide a title"
-msgstr "Bidra med en oppdatering"
+msgstr "Oppgi en tittel"
-#: templates/web/default/report/display.html:56
-#: templates/web/fixmystreet/report/display.html:55
+#: templates/web/bromley/report/display.html:57
+#: templates/web/default/report/display.html:51
+#: templates/web/fixmystreet/report/display.html:50
msgid "Provide an update"
msgstr "Bidra med en oppdatering"
-#: templates/web/default/report/display.html:180
+#: templates/web/bromley/report/new/fill_in_details_form.html:180
+#, fuzzy
+msgid ""
+"Providing a password is optional, but doing so will allow you to more easily "
+"report future problems, leave updates and manage your reports."
+msgstr ""
+"Det er valgfritt å oppgi et passord, men om du gjør det vil det bli enklere "
+"for deg å rapportere problemer, legge inn oppdateringer og holde oversikt "
+"over dine rapporter"
+
+#: templates/web/bromley/report/display.html:142
+#: templates/web/default/report/display.html:175
#: templates/web/default/report/new/fill_in_details_form.html:173
-#: templates/web/fixmystreet/report/display.html:159
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:185
+#: templates/web/fixmystreet/report/display.html:154
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:191
msgid ""
"Providing a password is optional, but doing so will allow you to more easily "
"report problems, leave updates and manage your reports."
@@ -2219,9 +2355,9 @@ msgstr ""
#: templates/web/default/questionnaire/index.html:14
#: templates/web/default/questionnaire/index.html:4
#: templates/web/fixmystreet/questionnaire/index.html:0
-#: templates/web/fixmystreet/questionnaire/index.html:15
-#: templates/web/fixmystreet/questionnaire/index.html:3
+#: templates/web/fixmystreet/questionnaire/index.html:14
#: templates/web/fixmystreet/questionnaire/index.html:32
+#: templates/web/fixmystreet/questionnaire/index.html:4
msgid "Questionnaire"
msgstr "Spørreskjema"
@@ -2237,65 +2373,58 @@ msgstr "Spørreskjema %d sendt for problem %d"
msgid "Questionnaire filled in by problem reporter"
msgstr "Spørreskjema fylt inn av feilrapportøren"
-#: templates/web/fixmystreet/static/for_councils_faq.html:1
-#, fuzzy
-msgid "Questions and Answers :: FixMyStreet for Councils"
-msgstr "Finn ut om FiksGataMi for det offentlige"
-
-#: templates/web/default/alert/list.html:52
+#: templates/web/bromley/report/display.html:37
+#: templates/web/default/alert/_list.html:21
#: templates/web/default/around/display_location.html:1
#: templates/web/default/around/display_location.html:3
-#: templates/web/default/report/display.html:47
-#: templates/web/default/reports/council.html:79
+#: templates/web/default/report/display.html:42
+#: templates/web/default/reports/_rss.html:1
#: templates/web/fixmystreet/alert/_list.html:22
#: templates/web/fixmystreet/alert/updates.html:9
#: templates/web/fixmystreet/around/display_location.html:1
#: templates/web/fixmystreet/around/display_location.html:3
-#: templates/web/fixmystreet/report/display.html:35
+#: templates/web/fixmystreet/report/display.html:30
msgid "RSS feed"
msgstr "RSS-strøm"
-#: perllib/FixMyStreet/Cobrand/Default.pm:786
-#: perllib/FixMyStreet/Cobrand/Default.pm:800
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
msgid "RSS feed for %s"
msgstr "RSS-strøm for %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:793
-#: perllib/FixMyStreet/Cobrand/Default.pm:807
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed for %s ward, %s"
msgstr "RSS-strøm for %s bydel, %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:816
-#: perllib/FixMyStreet/Cobrand/Default.pm:830
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:193
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:201
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:211
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:219
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:178
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:186
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:196
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:204
+#: perllib/FixMyStreet/Cobrand/UK.pm:309 perllib/FixMyStreet/Cobrand/UK.pm:321
msgid "RSS feed of %s"
msgstr "RSS-strøm fra %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:822
-#: perllib/FixMyStreet/Cobrand/Default.pm:836
+#: perllib/FixMyStreet/Cobrand/UK.pm:314 perllib/FixMyStreet/Cobrand/UK.pm:326
msgid "RSS feed of %s, within %s ward"
msgstr "RSS-strøm av %s, innenfor %s bydel"
-#: templates/web/default/alert/list.html:52
+#: templates/web/default/alert/_list.html:21
#: templates/web/fixmystreet/alert/_list.html:22
msgid "RSS feed of nearby problems"
msgstr "RSS-strøm med problemer i nærheten"
-#: templates/web/default/reports/council.html:79
+#: templates/web/default/reports/_rss.html:1
msgid "RSS feed of problems in this %s"
msgstr "RSS-strøm for problemer i denne %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:749
-#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:163
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:176
+#: perllib/FixMyStreet/Cobrand/Default.pm:610
+#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:96
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
+#: perllib/FixMyStreet/Cobrand/UK.pm:247
msgid "RSS feed of problems within %s"
msgstr "RSS-strøm for problemer innenfor %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:756
-#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:169
+#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:102
+#: perllib/FixMyStreet/Cobrand/UK.pm:253
msgid "RSS feed of problems within %s ward"
msgstr "RSS-strøm for problemer innenfor %s bydel"
@@ -2306,16 +2435,18 @@ msgstr "RSS-strøm for problemer innenfor %s bydel"
msgid "RSS feed of recent local problems"
msgstr "RSS-strøm med nylige lokale problemer"
-#: templates/web/default/report/display.html:47
+#: templates/web/bromley/report/display.html:37
+#: templates/web/default/report/display.html:42
#: templates/web/fixmystreet/alert/updates.html:9
-#: templates/web/fixmystreet/report/display.html:35
+#: templates/web/fixmystreet/report/display.html:30
msgid "RSS feed of updates to this problem"
msgstr "RSS-strøm med oppdateringer for dette problemet"
+#: templates/web/bromley/report/display.html:39
#: templates/web/default/alert/updates.html:9
-#: templates/web/default/report/display.html:38
+#: templates/web/default/report/display.html:33
#: templates/web/fixmystreet/alert/updates.html:14
-#: templates/web/fixmystreet/report/display.html:37
+#: templates/web/fixmystreet/report/display.html:32
msgid "Receive email when updates are left on this problem."
msgstr "Motta e-post når det er oppdateringer på dette problemet"
@@ -2327,9 +2458,8 @@ msgid "Recent local problems, FixMyStreet"
msgstr "Nylige lokale problemer, FiksGataMi."
#: templates/web/default/reports/index.html:19
-#, fuzzy
msgid "Recently <br>fixed"
-msgstr "Nylig løste problemer"
+msgstr "Nylig løste <br>problemer"
#: templates/web/emptyhomes/reports/index.html:13
#: templates/web/fiksgatami/nn/reports/index.html:13
@@ -2337,7 +2467,7 @@ msgstr "Nylig løste problemer"
msgid "Recently fixed"
msgstr "Nylig løste problemer"
-#: templates/web/default/index.html:61 templates/web/fixmystreet/index.html:72
+#: templates/web/default/index.html:50 templates/web/fixmystreet/index.html:62
msgid "Recently reported problems"
msgstr "Nylig meldte problemer"
@@ -2358,17 +2488,17 @@ msgstr ""
msgid "Remove flag"
msgstr "Fjern flagg"
-#: templates/web/default/admin/report_edit.html:52
+#: templates/web/default/admin/report_edit.html:53
#: templates/web/default/admin/update_edit.html:48
msgid "Remove photo (can't be undone!)"
msgstr "Fjern bilde (kan ikke gjøres om!)"
-#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:77
+#: templates/web/emptyhomes/header.html:10
msgid "Report Empty Homes"
msgstr "Rapporter tomme hjem"
-#: templates/web/bromley/footer.html:33 templates/web/default/footer.html:7
-#: templates/web/emptyhomes/header.html:27
+#: templates/web/barnet/footer.html:16 templates/web/bromley/footer.html:17
+#: templates/web/default/footer.html:7 templates/web/emptyhomes/header.html:27
#: templates/web/fiksgatami/footer.html:5
#: templates/web/fiksgatami/nn/footer.html:5
#: templates/web/fixmystreet/footer.html:45
@@ -2376,33 +2506,33 @@ msgstr "Rapporter tomme hjem"
msgid "Report a problem"
msgstr "Rapporter et problem"
-#: templates/web/fixmystreet/report/display.html:27
-#, fuzzy
+#: templates/web/bromley/report/display.html:28
+#: templates/web/fixmystreet/report/display.html:22
msgid "Report abuse"
-msgstr "Rapporter et problem"
+msgstr "Rapporter misbruk"
#: templates/web/emptyhomes/index.html:37
-#, fuzzy
msgid "Report empty properties"
msgstr "Rapporter tomme hjem"
-#: perllib/FixMyStreet/App/Controller/Rss.pm:281
+#: perllib/FixMyStreet/App/Controller/Rss.pm:277
msgid "Report on %s"
msgstr "Rapport på %s"
-#: templates/web/default/index.html:15 templates/web/fixmystreet/index.html:28
+#: templates/web/default/index.html:15
+#: templates/web/fixmystreet/around/postcode_form.html:6
msgid "Report, view, or discuss local problems"
msgstr "Rapporter, finn eller diskuter lokale problemer"
-#: templates/web/default/my/my.html:74 templates/web/fixmystreet/my/my.html:77
+#: templates/web/default/my/my.html:74
msgid "Reported %s"
msgstr "Rapportert %s"
-#: templates/web/default/my/my.html:72 templates/web/fixmystreet/my/my.html:75
+#: templates/web/default/my/my.html:72
msgid "Reported %s, to %s"
msgstr "Rapportert %s, til %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:504
+#: perllib/FixMyStreet/DB/Result/Problem.pm:512
#: templates/web/default/contact/index.html:45
#: templates/web/fixmystreet/contact/index.html:46
msgid "Reported anonymously at %s"
@@ -2414,33 +2544,33 @@ msgstr "Rapportert anonymt %s"
msgid "Reported before"
msgstr "Rapportert tidligere"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:496
+#: perllib/FixMyStreet/DB/Result/Problem.pm:504
msgid "Reported by %s anonymously at %s"
msgstr "Publisert av %s anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:527
+#: perllib/FixMyStreet/DB/Result/Problem.pm:535
#: templates/web/default/contact/index.html:47
#: templates/web/fixmystreet/contact/index.html:48
msgid "Reported by %s at %s"
msgstr "Publisert av %s %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:518
+#: perllib/FixMyStreet/DB/Result/Problem.pm:526
msgid "Reported by %s by %s at %s"
msgstr "Rapporter av %s av %s %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:492
+#: perllib/FixMyStreet/DB/Result/Problem.pm:500
msgid "Reported by %s in the %s category anonymously at %s"
msgstr "Rapportert av %s i kategorien %s anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:512
+#: perllib/FixMyStreet/DB/Result/Problem.pm:520
msgid "Reported by %s in the %s category by %s at %s"
msgstr "Rapportert av %s i kategorien %s av %s %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:500
+#: perllib/FixMyStreet/DB/Result/Problem.pm:508
msgid "Reported in the %s category anonymously at %s"
msgstr "Rapportert i kategorien %s anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:522
+#: perllib/FixMyStreet/DB/Result/Problem.pm:530
msgid "Reported in the %s category by %s at %s"
msgstr "Rapportert i kategorien %s av %s %s"
@@ -2448,14 +2578,14 @@ msgstr "Rapportert i kategorien %s av %s %s"
#: templates/web/default/report/new/fill_in_details.html:0
#: templates/web/default/report/new/fill_in_details.html:3
#: templates/web/default/report/new/fill_in_details_form.html:1
-#: templates/web/fixmystreet/around/around_index.html:1
+#: templates/web/fixmystreet/around/around_index.html:2
#: templates/web/fixmystreet/report/new/fill_in_details.html:0
#: templates/web/fixmystreet/report/new/fill_in_details.html:5
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:2
msgid "Reporting a problem"
msgstr "Legger til et problem"
-#: templates/web/default/around/display_location.html:93
+#: templates/web/default/around/display_location.html:95
msgid "Reports on and around the map"
msgstr "Problemer i og rundt kartet"
@@ -2463,7 +2593,7 @@ msgstr "Problemer i og rundt kartet"
msgid "Resend report"
msgstr "Send rapport på nytt"
-#: perllib/FixMyStreet/Geocode/OSM.pm:107
+#: perllib/FixMyStreet/Geocode/OSM.pm:166
msgid ""
"Road operator for this named road (derived from road reference number and "
"type): %s"
@@ -2471,7 +2601,7 @@ msgstr ""
"Veioperatør for denne navngitte veien (utledet fra veiens referansenummer og "
"type) %s"
-#: perllib/FixMyStreet/Geocode/OSM.pm:104
+#: perllib/FixMyStreet/Geocode/OSM.pm:163
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr "Veioperatør for denne navngitte veien (fra OpenStreetMap): %s"
@@ -2479,7 +2609,7 @@ msgstr "Veioperatør for denne navngitte veien (fra OpenStreetMap): %s"
msgid "Save changes"
msgstr "Lagre endringer"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:984
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1027
msgid "Search Abuse"
msgstr "Søk etter misbruk"
@@ -2487,13 +2617,13 @@ msgstr "Søk etter misbruk"
msgid "Search Abuse Table"
msgstr "Søk i misbrukstabell"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:980
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1023
#: templates/web/default/admin/list_flagged.html:1
#: templates/web/default/admin/search_reports.html:1
msgid "Search Reports"
msgstr "Søk i rapporter"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:983
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1026
#: templates/web/default/admin/search_users.html:1
msgid "Search Users"
msgstr "Søk i brukere"
@@ -2504,7 +2634,7 @@ msgstr "Søk i brukere"
msgid "Search:"
msgstr "Søk:"
-#: templates/web/default/alert/list.html:39
+#: templates/web/default/alert/_list.html:8
#: templates/web/fixmystreet/alert/_list.html:10
msgid ""
"Select which type of alert you'd like and click the button for an RSS feed, "
@@ -2513,7 +2643,7 @@ msgstr ""
"Velg hvilken type varsel du ønsker og klikk på knappen for en RSS-kilde, "
"eller skriv inn din e-postadresse for å abonnere på et e-postvarsel."
-#: perllib/FixMyStreet/DB/Result/Problem.pm:569
+#: perllib/FixMyStreet/DB/Result/Problem.pm:618
msgid "Sent to %s %s later"
msgstr "Sendt til %s %s senere"
@@ -2546,31 +2676,35 @@ msgid ""
" significant contribution to the supply of affordable homes in Wales."
msgstr ""
-#: templates/web/default/report/display.html:213
+#: templates/web/bromley/report/display.html:203
+#: templates/web/bromley/report/new/fill_in_details_form.html:129
+#: templates/web/bromley/report/new/fill_in_details_form.html:175
+#: templates/web/default/report/display.html:208
#: templates/web/default/report/new/fill_in_details_form.html:210
-#: templates/web/fixmystreet/report/display.html:189
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:123
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:180
+#: templates/web/fixmystreet/report/display.html:185
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:126
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:186
msgid "Show my name publicly"
msgstr "Vis mitt navn offentlig"
#: templates/web/default/around/display_location.html:60
#: templates/web/fixmystreet/around/display_location.html:60
msgid "Show old"
-msgstr ""
+msgstr "Vis gamle"
#: templates/web/default/around/display_location.html:51
#: templates/web/fixmystreet/around/display_location.html:52
msgid "Show pins"
msgstr "Vis nåler"
-#: templates/web/bromley/header.html:50
#: templates/web/default/auth/general.html:3
#: templates/web/default/auth/general.html:49
+#: templates/web/fixmybarangay/header.html.orig:46
#: templates/web/fixmystreet/auth/general.html:3
#: templates/web/fixmystreet/auth/general.html:38
#: templates/web/fixmystreet/auth/general.html:58
-#: templates/web/fixmystreet/header.html:50
+#: templates/web/fixmystreet/header.html:51
+#: templates/web/zurich/header.html:51
msgid "Sign in"
msgstr "Logg inn"
@@ -2583,12 +2717,12 @@ msgstr "Logg inn via epost"
msgid "Sign in or create an account"
msgstr "Logg inn eller opprett en konto"
+#: templates/web/bromley/auth/sign_out.html:1
#: templates/web/default/auth/sign_out.html:1
#: templates/web/default/header.html:30
#: templates/web/emptyhomes/header.html:41
#: templates/web/fiksgatami/header.html:22
#: templates/web/fiksgatami/nn/header.html:22
-#: templates/web/fixmystreet/auth/sign_out.html:1
#: templates/web/lichfielddc/header.html:177
#: templates/web/reading/header.html:33
msgid "Sign out"
@@ -2608,8 +2742,7 @@ msgstr "Logget inn som %s"
msgid "Some categories may require additional information."
msgstr "Noen kategorier krever kanskje mer informasjon"
-#: templates/web/default/alert/index.html:30
-#: templates/web/fixmystreet/alert/index.html:33
+#: templates/web/default/alert/index.html:42
msgid "Some photos of recent reports"
msgstr "Noen bilder av nylig meldte problemer"
@@ -2622,7 +2755,7 @@ msgstr "Noe tekst å oversette"
msgid "Some unconfirmeds"
msgstr "Noen ubekreftede"
-#: perllib/FixMyStreet/Cobrand/Default.pm:428
+#: perllib/FixMyStreet/Cobrand/UK.pm:97
msgid ""
"Sorry, that appears to be a Crown dependency postcode, which we don't cover."
msgstr ""
@@ -2635,14 +2768,15 @@ msgstr ""
"Beklager, men det oppsto et problem når vi forsøkte å bekrefte "
"problemrapporten din"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:147
-#: perllib/FixMyStreet/Geocode.pm:27 perllib/FixMyStreet/Geocode/Bing.pm:53
-#: perllib/FixMyStreet/Geocode/Google.pm:68
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:214
+#: perllib/FixMyStreet/Geocode.pm:27 perllib/FixMyStreet/Geocode/Bing.pm:51
+#: perllib/FixMyStreet/Geocode/Google.pm:69
msgid "Sorry, we could not find that location."
msgstr "Beklager, vi kunne ikke finne det stedet."
#: perllib/FixMyStreet/Geocode/Bing.pm:46
-#: perllib/FixMyStreet/Geocode/Google.pm:60
+#: perllib/FixMyStreet/Geocode/Google.pm:64
+#: perllib/FixMyStreet/Geocode/OSM.pm:59
msgid "Sorry, we could not parse that location. Please try again."
msgstr "Beklager, vi kunne ikke tolke den posisjonen. Vennligst prøv på nytt."
@@ -2663,34 +2797,34 @@ msgstr "Startdag:"
msgid "Start month:"
msgstr "Startmåned:"
+#: templates/web/bromley/report/display.html:78
#: templates/web/default/admin/list_flagged.html:18
#: templates/web/default/admin/list_updates.html:6
#: templates/web/default/admin/search_reports.html:21
-#: templates/web/fixmystreet/report/display.html:77
+#: templates/web/fixmystreet/report/display.html:72
msgid "State"
msgstr "Tilstand"
#: templates/web/default/admin/report_edit.html:17
#: templates/web/default/admin/update_edit.html:18
-#: templates/web/default/report/display.html:82
+#: templates/web/default/report/display.html:77
msgid "State:"
msgstr "Tilstand:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:986
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1029
#: templates/web/default/admin/stats.html:1
msgid "Stats"
msgstr "Statistikk"
#: templates/web/default/report/updates.html:9
-#, fuzzy
msgid "Still open, via questionnaire, %s"
-msgstr "Skal det sendes spørreskjema?"
+msgstr "Fortsatt åpen via spørreskjema, %s"
+#: templates/web/bromley/report/new/fill_in_details_form.html:48
#: templates/web/fixmystreet/contact/index.html:79
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:58
-#, fuzzy
msgid "Subject"
-msgstr "Emne:"
+msgstr "Emne"
#: templates/web/default/admin/report_edit.html:13
#: templates/web/default/contact/index.html:83
@@ -2698,17 +2832,20 @@ msgstr "Emne:"
msgid "Subject:"
msgstr "Emne:"
+#: templates/web/bromley/report/new/fill_in_details_form.html:140
+#: templates/web/bromley/report/new/fill_in_details_form.html:190
+#: templates/web/bromley/report/new/fill_in_details_form.html:204
#: templates/web/default/questionnaire/creator_fixed.html:19
#: templates/web/default/report/new/fill_in_details_form.html:114
#: templates/web/default/report/new/fill_in_details_form.html:154
#: templates/web/default/report/new/fill_in_details_form.html:176
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:134
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:159
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:195
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:137
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:162
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:201
msgid "Submit"
msgstr "Send inn"
-#: templates/web/default/admin/report_edit.html:55
+#: templates/web/default/admin/report_edit.html:56
#: templates/web/default/admin/update_edit.html:51
#: templates/web/default/admin/user_edit.html:20
msgid "Submit changes"
@@ -2719,19 +2856,20 @@ msgstr "Send inn endringer"
msgid "Submit questionnaire"
msgstr "Send inn spørreskjema"
+#: templates/web/bromley/report/display.html:44
#: templates/web/default/alert/updates.html:17
-#: templates/web/default/report/display.html:43
+#: templates/web/default/report/display.html:38
#: templates/web/fixmystreet/alert/updates.html:23
-#: templates/web/fixmystreet/report/display.html:42
+#: templates/web/fixmystreet/report/display.html:37
msgid "Subscribe"
msgstr "Abonner"
-#: templates/web/default/alert/list.html:126
-#: templates/web/fixmystreet/alert/_list.html:88
+#: templates/web/default/alert/_list.html:97
+#: templates/web/fixmystreet/alert/_list.html:92
msgid "Subscribe me to an email alert"
msgstr "Jeg ønsker å abonnere på e-postvarsel"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:978
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1021
#: templates/web/default/admin/index.html:1
msgid "Summary"
msgstr "Oppsummering"
@@ -2743,7 +2881,7 @@ msgstr "Oppsummering"
msgid "Summary reports"
msgstr "Oppsummeringsrapporter"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:982
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1025
#: templates/web/default/admin/questionnaire.html:1
msgid "Survey Results"
msgstr "Resultater fra spørreundersøkelsen"
@@ -2752,7 +2890,7 @@ msgstr "Resultater fra spørreundersøkelsen"
msgid "Text"
msgstr "Tekst"
-#: templates/web/default/admin/council_contacts.html:14
+#: templates/web/default/admin/council_contacts.html:18
msgid "Text only version"
msgstr "Tekst-versjon"
@@ -2808,8 +2946,17 @@ msgstr ""
"Takk for at du bruker ReportEmptyHomes.com. Ditt bidrag bidrar allerede for "
"å løse UKs tomme hjem-krise."
-#: templates/web/default/around/around_index.html:43
-#: templates/web/fixmystreet/around/around_index.html:46
+#: templates/web/fixmystreet/around/around_index.html:27
+#, fuzzy
+msgid ""
+"Thanks for uploading your photo. We now need to locate your problem, so "
+"please enter a nearby street name or postcode in the box above&nbsp;:"
+msgstr ""
+"Takk for at du lastet opp ditt bilde. Nå trenger vi å plassere ditt problem,"
+"så vær så snill å skriv inn navn på vei i nærheten, eller postnummer i "
+"boksen under&nbsp;:"
+
+#: templates/web/default/around/around_index.html:28
msgid ""
"Thanks for uploading your photo. We now need to locate your problem, so "
"please enter a nearby street name or postcode in the box below&nbsp;:"
@@ -2830,31 +2977,32 @@ msgstr ""
"Takk, glad for å høre at problemet er fikset! Vi vil gjerne spørre deg om du "
"har rapportert et problem til en administrasjon tidligere?"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:856
+#: perllib/FixMyStreet/App/Controller/Photo.pm:190
msgid ""
"That image doesn't appear to have uploaded correctly (%s), please try again."
msgstr "Bildet ser ikke ut til å blitt lastet opp riktig (%s), prøv på nytt."
-#: templates/web/default/alert/index.html:12
-#: templates/web/fixmystreet/alert/index.html:12
+#: perllib/FixMyStreet/App/Controller/Council.pm:91
+#, fuzzy
msgid ""
-"That location does not appear to be covered by a council, perhaps it is "
-"offshore - please try somewhere more specific."
+"That location does not appear to be covered by a council; perhaps it is "
+"offshore or outside the country. Please try again."
msgstr ""
"Det stedet dekkes ikke av noen administrasjon, kanskje det er til havs - "
"vennligst forsøk et mer spesifikt sted."
# Should this be "Norge" or "Storbritannia" ?
#: perllib/FixMyStreet/App/Controller/Location.pm:107
-msgid "That location does not appear to be in Britain; please try again."
+#, fuzzy
+msgid "That location does not appear to be in the UK; please try again."
msgstr "Det stedet virker ikke å være i Storbritannia. Vennligst prøv igjen."
-#: perllib/FixMyStreet/Cobrand/Default.pm:421
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:78
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:63
+#: perllib/FixMyStreet/Cobrand/UK.pm:90
msgid "That postcode was not recognised, sorry."
msgstr "Det postnummeret ble ikke gjenkjent, beklager."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:560
+#: perllib/FixMyStreet/App/Controller/Admin.pm:605
msgid "That problem will now be resent."
msgstr "Det problemet vil nå bli sendt på nytt."
@@ -2862,17 +3010,6 @@ msgstr "Det problemet vil nå bli sendt på nytt."
msgid "That report has been removed from FixMyStreet."
msgstr "Den rapporten har blitt fjernet fra FiksGataMi."
-#: templates/web/default/around/around_index.html:26
-#: templates/web/fixmystreet/around/around_index.html:29
-msgid ""
-"That spot does not appear to be covered by a council. If you have tried to "
-"report an issue past the shoreline, for example, please specify the closest "
-"point on land."
-msgstr ""
-"Punktet ser ikke ut til å være dekket av en administrasjon. Hvis du for "
-"eksempel har forsøkt å rapportere et problem utenfor kysten, marker nærmeste "
-"punkt på land."
-
#: templates/web/emptyhomes/static/about.html:7
msgid "The Empty Homes Agency"
msgstr ""
@@ -2905,7 +3042,6 @@ msgstr ""
#: templates/web/default/auth/token.html:21
#: templates/web/default/email_sent.html:22
-#: templates/web/fixmystreet/auth/token.html:21
msgid ""
"The confirmation email <strong>may</strong> take a few minutes to arrive "
"&mdash; <em>please</em> be patient."
@@ -2915,7 +3051,6 @@ msgstr ""
#: templates/web/fixmystreet/report/new/fill_in_details_text.html:1
#: templates/web/fixmystreet/report/new/fill_in_details_text.html:3
-#, fuzzy
msgid ""
"The council won&rsquo;t be able to help unless you leave as much\n"
"detail as you can. Please describe the exact location of the problem (e.g. "
@@ -2924,18 +3059,17 @@ msgid ""
"of\n"
"the problem if you have one), etc."
msgstr ""
-"Vennligst fyll inn detaljene om problemet under. Administrasjonen vil ikke "
-"være i stand\n"
-"til å hjelpe med mindre du legger inn så mange detaljer som du kan. Beskriv\n"
-"eksakt plassering for problemet (f.eks. på en vegg), hva det er, hvor lenge "
-"det har\n"
-"vært der, en beskrivelse (og et bilde av problemet hvis du har et), osv."
+"Administrasjonen vil ikke være i stand til å hjelpe med mindre du legger inn "
+"så mange\n"
+" detaljer som du kan. Beskriv eksakt plassering for problemet (f.eks. på en\n"
+" vegg), hva det er, hvor lenge det har vært der, en beskrivelse (og et bilde "
+"av\n"
+" problemet hvis du har et), osv."
#: templates/web/fixmystreet/questionnaire/index.html:43
-#, fuzzy
msgid "The details of your problem are available from the other tab above."
msgstr ""
-"Detaljene om ditt problem er tilgjengelig på høyre kant av denne siden."
+"Detaljene om ditt problem er tilgjengelig under den andre fanen ovenfor."
#: templates/web/default/questionnaire/index.html:49
msgid ""
@@ -2944,8 +3078,9 @@ msgid ""
msgstr ""
"Detaljene om ditt problem er tilgjengelig på høyre kant av denne siden."
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
#: perllib/FixMyStreet/App/Controller/Reports.pm:44
-#: perllib/FixMyStreet/App/Controller/Reports.pm:71
+#: perllib/FixMyStreet/App/Controller/Reports.pm:75
msgid "The error was: %s"
msgstr "Feilen var: %s"
@@ -2959,7 +3094,7 @@ msgstr ""
"service_request_id, description, lat, long, media_url, status, "
"requested_datetime, updated_datetime, service_code and service_name."
-#: perllib/FixMyStreet/Geocode/OSM.pm:99
+#: perllib/FixMyStreet/Geocode/OSM.pm:158
msgid ""
"The following information about the nearest road might be inaccurate or "
"irrelevant, if the problem is close to several roads or close to a road "
@@ -3022,8 +3157,6 @@ msgstr "De siste rapporter innenfor grensen til {{NAME}} rapportert av brukere"
#: templates/web/default/auth/change_password.html:12
#: templates/web/default/auth/change_password.html:16
-#: templates/web/fixmystreet/auth/change_password.html:12
-#: templates/web/fixmystreet/auth/change_password.html:16
msgid "The passwords do not match"
msgstr "Passordene er ikke like"
@@ -3032,25 +3165,16 @@ msgstr "Passordene er ikke like"
msgid "The requested URL '%s' was not found on this server"
msgstr "Den forespurte URL '%s' ble ikke funnet på denne tjeneren"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1036
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1206
-#: perllib/FixMyStreet/App/Controller/Admin.pm:540
-#: perllib/FixMyStreet/App/Controller/Admin.pm:703
-msgid "The requested URL was not found on this server."
-msgstr "Den forespurte URL-en ble ikke funnet på denne tjeneren"
-
-#: templates/web/default/alert/list.html:45
+#: templates/web/default/alert/_list.html:14
#: templates/web/fixmystreet/alert/_list.html:16
msgid "The simplest alert is our geographic one:"
msgstr "Den enkleste meldingen er vår geografiske:"
-#: templates/web/default/report/new/councils_text_all.html:18
+#: templates/web/barnet/report/new/councils_text_all.html:3
+#: templates/web/default/report/new/councils_extra_text.html:1
#: templates/web/default/report/new/councils_text_some.html:10
#: templates/web/default/report/new/councils_text_some.html:11
#: templates/web/default/report/new/fill_in_details_form.html:17
-#: templates/web/fixmystreet/report/new/councils_text_all.html:18
-#: templates/web/fixmystreet/report/new/councils_text_some.html:10
-#: templates/web/fixmystreet/report/new/councils_text_some.html:11
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:12
msgid ""
"The subject and details of the problem will be public, plus your name if you "
@@ -3059,7 +3183,7 @@ msgstr ""
"Tittelen og detaljene for problemet vil bli offentlig, pluss navnet ditt\n"
"hvis du gir oss tillatelse til det."
-#: bin/send-reports:79
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:269
msgid ""
"The user could not locate the problem on a map, but to see the area around "
"the location they entered"
@@ -3067,36 +3191,41 @@ msgstr ""
"Brukeren kunne ikke plassere problemet på et kart, men sjekk området rundt "
"stedet de skrev inn"
-#: perllib/FixMyStreet/App/Controller/Reports.pm:70
+#: perllib/FixMyStreet/App/Controller/Reports.pm:72
msgid ""
"There was a problem showing the All Reports page. Please try again later."
msgstr ""
"Det var problemer med å vise 'Alle rapporter'-siden. Vennligst prøv igjen "
"senere."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:656
-#: perllib/FixMyStreet/App/Controller/Report/Update.pm:125
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:59
+#, fuzzy
+msgid "There was a problem showing this page. Please try again later."
+msgstr ""
+"Det var problemer med å vise 'Alle rapporter'-siden. Vennligst prøv igjen "
+"senere."
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:733
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:130
#: templates/web/default/auth/general.html:23
#: templates/web/fixmystreet/auth/general.html:24
-#, fuzzy
msgid ""
"There was a problem with your email/password combination. If you cannot "
"remember your password, or do not have one, please fill in the &lsquo;sign "
"in by email&rsquo; section of the form."
msgstr ""
-"Det var problemer med din epost/passord-kombinasjon. Passord og "
-"brukerkontoer er en helt <strong>ny</strong> tjeneste, så du har antagelig "
-"ikke en konto ennå. &ndash; vær så snill å fyll inn høyresiden av dette "
-"skjemaet for å skaffe deg en."
+"Det var problemer med din e-post/passord-kombinasjon. Hvis du har glemt ditt "
+"passord, eller hvis du ikke har et, vennligst fyll inn «Logg inn via e-post»-"
+"delen av skjemaet"
-#: perllib/FixMyStreet/App/Controller/Alert.pm:351
+#: perllib/FixMyStreet/App/Controller/Alert.pm:355
msgid ""
"There was a problem with your email/password combination. Please try again."
msgstr ""
"Det var problemer med din epost/passord-kombinasjon. Vær så snill å forsøk "
"igjen."
-#: perllib/FixMyStreet/App/Controller/Report/Update.pm:215
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:252
msgid "There was a problem with your update. Please try again."
msgstr "Det var problemer med din oppdatering. Vær så snill å forsøk igjen."
@@ -3104,7 +3233,7 @@ msgstr "Det var problemer med din oppdatering. Vær så snill å forsøk igjen.
msgid "There were problems with your report. Please see below."
msgstr "Det var problemer med din rapport. Vennligst se under."
-#: perllib/FixMyStreet/App/Controller/Report/Update.pm:242
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:279
msgid "There were problems with your update. Please see below."
msgstr "Det var problemer med din oppdatering. Vennligst se under."
@@ -3116,7 +3245,7 @@ msgstr ""
"Denne API-implementasjonen er under arbeid og ennå ikke stabil. Den vil "
"endre seg uten advarsel i fremtiden."
-#: bin/send-reports:186
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:339
msgid ""
"This email has been sent to both councils covering the location of the "
"problem, as the user did not categorise it; please ignore it if you're not "
@@ -3129,7 +3258,7 @@ msgstr ""
"eller gi oss beskjed om hvilken kategori av problemer dette er så vi kan "
"legge det til i vårt system."
-#: bin/send-reports:189
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:342
msgid ""
"This email has been sent to several councils covering the location of the "
"problem, as the category selected is provided for all of them; please ignore "
@@ -3140,7 +3269,8 @@ msgstr ""
"snill å ignorere e-posten hvis dere ikke er korrekt administrasjon for å "
"håndtere denne saken."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:778
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:865
+#: perllib/FixMyStreet/Cobrand/UK.pm:62
msgid "This information is required"
msgstr "Denne informasjonen er påkrevd"
@@ -3171,49 +3301,51 @@ msgstr ""
"Dette er en opplisting av alle problemene i denne tjenesten; velg en bestemt "
"administrasjon for å se problemer som er sendt dit."
-#: perllib/FixMyStreet/Cobrand/Default.pm:874
+#: templates/web/default/report/banner.html:15
msgid "This problem has been closed"
msgstr "Dette problemet er lukket"
-#: perllib/FixMyStreet/Cobrand/Default.pm:870
-#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:117
-#: templates/web/default/report/display.html:100
-#: templates/web/fixmystreet/report/display.html:95
+#: templates/web/bromley/report/display.html:96
+#: templates/web/default/report/banner.html:12
+#: templates/web/default/report/display.html:95
+#: templates/web/emptyhomes/report/display.html:12
+#: templates/web/fixmystreet/report/display.html:90
msgid "This problem has been fixed"
msgstr "Dette problemet er løst"
-#: templates/web/default/report/display.html:95
-#: templates/web/fixmystreet/report/display.html:89
+#: templates/web/bromley/report/display.html:90
+#: templates/web/default/report/display.html:90
+#: templates/web/fixmystreet/report/display.html:84
msgid "This problem has not been fixed"
msgstr "Dette problemet har ikke blitt løst"
-#: perllib/FixMyStreet/Cobrand/Default.pm:879
+#: templates/web/default/report/banner.html:19
msgid "This problem is in progress"
msgstr "Dette problemet er under arbeid"
-#: perllib/FixMyStreet/Cobrand/Default.pm:866
+#: templates/web/default/report/banner.html:9
msgid "This problem is old and of unknown status."
msgstr "Dette problemet er gammel og med ukjent status."
-#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:81
+#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:83
msgid "This report is currently marked as closed."
msgstr "Denne rapporten er for tiden markert som lukket."
-#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:79
+#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:81
msgid "This report is currently marked as fixed."
msgstr "Denne rapporten er for tiden markert som fikset."
-#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:83
+#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:85
msgid "This report is currently marked as open."
msgstr "Denne rapporten er for tiden markert som åpen."
-#: bin/send-reports:72
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:262
msgid ""
"This web page also contains a photo of the problem, provided by the user."
msgstr ""
"Denne nettsiden inneholder også et bilde av problemet, sendt inn av brukeren."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:981
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1024
#: templates/web/default/admin/timeline.html:1
msgid "Timeline"
msgstr "Tidslinje"
@@ -3224,12 +3356,11 @@ msgid "Title"
msgstr "Tittel"
#: templates/web/default/around/display_location.html:69
-#, fuzzy
msgid ""
"To <strong>report a problem</strong>, click on the map at the correct "
"location."
msgstr ""
-"For å <strong>rapportere et problem</strong>, klikk på kartet på riktig sted."
+"For å <strong>rapportere et problem</strong>, klikk på riktig sted på kartet."
#: templates/web/emptyhomes/around/display_location.html:35
msgid ""
@@ -3238,22 +3369,15 @@ msgid ""
msgstr ""
"For å <strong>rapportere et problem</strong>, klikk på kartet på riktig sted."
-#: templates/web/fixmystreet/alert/index.html:19
+#: templates/web/default/alert/index.html:27
#, fuzzy
msgid ""
-"To find out what local alerts we have for you, please enter your GB\n"
-" postcode or street name and area"
+"To find out what local alerts we have for you, please enter your postcode or "
+"street name and area"
msgstr ""
"Du finner lokale problemer ved å søke på ditt postnummer, veinavn eller sted:"
-#: templates/web/default/alert/index.html:21
-msgid ""
-"To find out what local alerts we have for you, please enter your GB\n"
-"postcode or street name and area:"
-msgstr ""
-"Du finner lokale problemer ved å søke på ditt postnummer, veinavn eller sted:"
-
-#: bin/send-reports:78
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:268
msgid "To view a map of the precise location of this issue"
msgstr "For å se en kart med en mer presis plassering for dette problemet."
@@ -3274,10 +3398,9 @@ msgstr "Klarte ikke slå opp områder i MaPit. Vennligst forsøk igjen senere."
msgid "Unconfirmed"
msgstr "Ubekreftet"
-#: perllib/FixMyStreet/Cobrand/FixMyStreet.pm:16
-#, fuzzy
+#: templates/web/fixmystreet/report/banner.html:9
msgid "Unknown"
-msgstr "*ukjent*"
+msgstr "Ukjent"
#: perllib/FixMyStreet/App/Controller/Rss.pm:164
msgid "Unknown alert type"
@@ -3287,10 +3410,10 @@ msgstr "Ukjent varsel-type"
msgid "Unknown problem ID"
msgstr "Ukjent problem-Id"
-#: templates/web/fixmystreet/report/display.html:70
-#, fuzzy
+#: templates/web/bromley/report/display.html:66
+#: templates/web/fixmystreet/report/display.html:65
msgid "Update"
-msgstr "Oppdatering:"
+msgstr "Oppdatering"
#: templates/web/default/admin/timeline.html:35
msgid "Update %s created for problem %d; by %s"
@@ -3326,17 +3449,17 @@ msgstr "En oppdatering markerte dette problemet som fikset."
msgid "Update reopened problem"
msgstr "En oppdatering gjennåpnet problemet"
-#: templates/web/default/admin/council_contacts.html:58
+#: templates/web/default/admin/council_contacts.html:62
msgid "Update statuses"
msgstr "Oppdater tilstanden"
-#: templates/web/default/report/display.html:76
+#: templates/web/default/report/display.html:71
msgid "Update:"
msgstr "Oppdatering:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:649
-#: perllib/FixMyStreet/App/Controller/Admin.pm:766
-#: perllib/FixMyStreet/App/Controller/Admin.pm:846
+#: perllib/FixMyStreet/App/Controller/Admin.pm:694
+#: perllib/FixMyStreet/App/Controller/Admin.pm:809
+#: perllib/FixMyStreet/App/Controller/Admin.pm:889
msgid "Updated!"
msgstr "Oppdatert!"
@@ -3350,18 +3473,20 @@ msgstr "Oppdateringer"
msgid "Updates on {{title}}"
msgstr "Oppdateringer av {{title}}"
+#: templates/web/bromley/report/display.html:0
+#: templates/web/bromley/report/display.html:8
#: templates/web/default/report/display.html:0
#: templates/web/default/report/display.html:7
#: templates/web/fixmystreet/report/display.html:0
-#: templates/web/fixmystreet/report/display.html:7
+#: templates/web/fixmystreet/report/display.html:8
msgid "Updates to this problem, FixMyStreet"
msgstr "Oppdateringer til dette problemet, FiksGataMi"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1139
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1182
msgid "User flag removed"
msgstr "Brukerflagg fjernet"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1111
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1154
msgid "User flagged"
msgstr "Bruker flagget"
@@ -3369,8 +3494,8 @@ msgstr "Bruker flagget"
msgid "Users"
msgstr "Brukere"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:306
-#: perllib/FixMyStreet/App/Controller/Admin.pm:336
+#: perllib/FixMyStreet/App/Controller/Admin.pm:309
+#: perllib/FixMyStreet/App/Controller/Admin.pm:339
msgid "Values updated"
msgstr "Verdier oppdatert"
@@ -3379,6 +3504,11 @@ msgstr "Verdier oppdatert"
msgid "View report on site"
msgstr "Se rapport på nettstedet"
+#: templates/web/default/reports/council.html:18
+#, fuzzy
+msgid "View reports by ward"
+msgstr "Se rapport på nettstedet"
+
#: templates/web/emptyhomes/tokens/confirm_problem.html:39
msgid "View your report"
msgstr "Vis din rapport"
@@ -3392,30 +3522,21 @@ msgstr "Vis din rapport"
msgid "Viewing a location"
msgstr "Ser på et sted"
+#: templates/web/bromley/report/display.html:0
#: templates/web/default/report/display.html:0
-#: templates/web/emptyhomes/report/display.html:1
#: templates/web/emptyhomes/report/display.html:2
#: templates/web/fixmystreet/report/display.html:0
msgid "Viewing a problem"
msgstr "Ser på et problem"
-#: templates/web/default/reports/council.html:23
-#: templates/web/default/reports/council.html:74
-#: templates/web/default/reports/council.html:86
+#: templates/web/default/reports/council.html:20
#: templates/web/emptyhomes/reports/council.html:18
msgid "Wards of this council"
msgstr "Bydeler innenfor denne administrasjonen"
-#: perllib/FixMyStreet/Cobrand/Default.pm:432
-#: perllib/FixMyStreet/Geocode/Bing.pm:48
-#: perllib/FixMyStreet/Geocode/Google.pm:63
-msgid "We do not currently cover Northern Ireland, I'm afraid."
-msgstr "Vi dekker desverre ikke Nord-Irland."
-
#: templates/web/default/alert/choose.html:6
-#: templates/web/default/around/around_index.html:32
-#: templates/web/fixmystreet/alert/choose.html:6
-#: templates/web/fixmystreet/around/around_index.html:35
+#: templates/web/default/around/around_index.html:17
+#: templates/web/fixmystreet/around/around_index.html:16
msgid ""
"We found more than one match for that location. We show up to ten matches, "
"please try a different search if yours is not here."
@@ -3424,7 +3545,6 @@ msgstr ""
"forsøk et annet søk hvis din plass ikke er her."
#: templates/web/default/auth/token.html:19
-#: templates/web/fixmystreet/auth/token.html:19
msgid "We have sent you an email containing a link to confirm your account."
msgstr ""
"Vi har sendt deg en epost som inneholder link for å bekrefte din konto."
@@ -3438,18 +3558,19 @@ msgstr ""
"Det kan hende vi periodisk tar kontakt med deg for å spørre om noe har "
"endret seg med eiedommen du rapporterte."
-#: templates/web/fixmystreet/report/display.html:158
-#, fuzzy
+#: templates/web/bromley/report/display.html:141
+#: templates/web/fixmystreet/report/display.html:153
msgid "We never show your email"
-msgstr "(vi viser aldri din e-postadresse)"
+msgstr "Vi viser aldri din e-postadresse"
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:127
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:184
-#, fuzzy
+#: templates/web/bromley/report/new/fill_in_details_form.html:133
+#: templates/web/bromley/report/new/fill_in_details_form.html:179
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:130
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:190
msgid "We never show your email address or phone number."
-msgstr "(vi viser aldri din e-postadresse eller telefonnummer)"
+msgstr "Vi viser aldri din e-postadresse eller ditt telefonnummer"
-#: bin/send-reports:196
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:349
msgid ""
"We realise this problem might be the responsibility of %s; however, we don't "
"currently have any contact details for them. If you know of an appropriate "
@@ -3459,13 +3580,13 @@ msgstr ""
"tiden kontaktinformasjon for dem. Hvis du vet om en egnet kontaktadresse, ta "
"kontakt med oss."
-#: templates/web/default/index.html:45 templates/web/emptyhomes/index.html:61
-#: templates/web/fixmystreet/index.html:56
+#: templates/web/default/index.html:34 templates/web/emptyhomes/index.html:59
+#: templates/web/fixmystreet/index.html:45
msgid "We send it to the council on your behalf"
msgstr "Vi sender til administrasjon på dine vegne"
+#: templates/web/bromley/report/new/fill_in_details_form.html:217
#: templates/web/default/report/new/notes.html:5
-#: templates/web/fixmystreet/report/new/notes.html:4
msgid ""
"We will only use your personal information in accordance with our <a href=\"/"
"faq#privacy\">privacy policy.</a>"
@@ -3473,6 +3594,15 @@ msgstr ""
"Vi vil kun bruke personlig informasjon om deg i henhold til vår <a href=\"/"
"faq#privacy\">personvernpolicy.</a>"
+#: templates/web/fixmystreet/report/new/notes.html:4
+#, fuzzy
+msgid ""
+"We will only use your personal information in accordance with our <a href=\"/"
+"privacy\">privacy policy.</a>"
+msgstr ""
+"Vi vil kun bruke personlig informasjon om deg i henhold til vår <a href=\"/"
+"faq#privacy\">personvernpolicy.</a>"
+
#: templates/web/emptyhomes/contact/blurb.html:2
msgid ""
"We&rsquo;d love to hear what you think about this website. Just fill in the "
@@ -3492,7 +3622,7 @@ msgstr ""
"Vi ønsker å få din tilbakemelding om hva du mener om denne tjenesten. Bare "
"fyll ut skjemaet, eller send en e-post <a href='mailto:%s'>%s</a>:"
-#: templates/web/default/admin/council_contacts.html:37
+#: templates/web/default/admin/council_contacts.html:41
#: templates/web/default/admin/council_edit.html:41
msgid "When edited"
msgstr "Når redigert"
@@ -3502,7 +3632,7 @@ msgstr "Når redigert"
msgid "When sent"
msgstr "Når sendt"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:538
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:612
msgid "Whole block of empty flats"
msgstr "Hel blokk med tomme leiligheter"
@@ -3517,20 +3647,23 @@ msgstr ""
"enkelt adminstrasjon. Søktetermen er administrasjons-IDen som oppgitt av <a "
"href=\"%s\">MaPit</a>."
-#: templates/web/fixmystreet/footer.html:23
+#: templates/web/fixmystreet/footer.html:22
+#, fuzzy
msgid ""
-"Would you like better integration with FixMyStreet? <a href=\"/for-councils"
-"\">Find out about FixMyStreet for councils</a>."
+"Would you like better integration with FixMyStreet? <a href=\"http://www."
+"mysociety.org/for-councils/fixmystreet/\">Find out about FixMyStreet for "
+"councils</a>."
msgstr ""
+"Ønsker dere bedre integrasjon med FiksGataMi? <a href=\"/for-councils\"> "
+"Finn ut mer om FiksGataMi for administrajoner</a>."
-#: templates/web/fixmystreet/footer.html:19
-#, fuzzy
+#: templates/web/fixmystreet/footer.html:18
msgid ""
"Would you like to contribute to FixMyStreet? Our code is open source and <a "
"href=\"http://github.com/mysociety/fixmystreet\">available on GitHub</a>."
msgstr ""
-"Vår kildekode er fri programvare og <a href=\"http://github.com/mysociety/"
-"fixmystreet\">tilgjengelig på GitHub</a>."
+"Ønsker du å bidra til FiksGataMi? Kildekoden vår er fri programvare og <a "
+"href=\"http://github.com/mysociety/fixmystreet\">tilgjengelig på GitHub</a>."
#: templates/web/default/questionnaire/index.html:102
#: templates/web/fixmystreet/questionnaire/index.html:96
@@ -3554,15 +3687,15 @@ msgstr ""
msgid "Year"
msgstr "År"
-#: templates/web/default/admin/council_contacts.html:44
-#: templates/web/default/admin/council_contacts.html:45
+#: templates/web/default/admin/council_contacts.html:48
+#: templates/web/default/admin/council_contacts.html:49
#: templates/web/default/admin/council_edit.html:5
#: templates/web/default/admin/list_updates.html:30
#: templates/web/default/admin/list_updates.html:31
#: templates/web/default/admin/list_updates.html:32
#: templates/web/default/admin/problem_row.html:19
#: templates/web/default/admin/report_edit.html:27
-#: templates/web/default/admin/report_edit.html:40
+#: templates/web/default/admin/report_edit.html:41
#: templates/web/default/admin/search_users.html:23
#: templates/web/default/admin/update_edit.html:15
#: templates/web/default/questionnaire/creator_fixed.html:14
@@ -3573,11 +3706,12 @@ msgstr "År"
msgid "Yes"
msgstr "Ja"
-#: templates/web/fixmystreet/report/display.html:138
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:153
-#, fuzzy
+#: templates/web/bromley/report/display.html:155
+#: templates/web/bromley/report/new/fill_in_details_form.html:198
+#: templates/web/fixmystreet/report/display.html:133
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:156
msgid "Yes I have a password"
-msgstr "<strong>Ja</strong>, jeg har et passord:"
+msgstr "<strong>Ja</strong>, jeg har et passord"
#: templates/web/default/contact/index.html:37
#: templates/web/fixmystreet/contact/index.html:38
@@ -3613,10 +3747,6 @@ msgstr "Du kan <a href=\"/reports/\">se alle administrasjoner</a>."
#: templates/web/default/report/new/councils_text_none.html:16
#: templates/web/default/report/new/councils_text_some.html:20
#: templates/web/default/report/new/councils_text_some.html:22
-#: templates/web/fixmystreet/report/new/councils_text_none.html:12
-#: templates/web/fixmystreet/report/new/councils_text_none.html:14
-#: templates/web/fixmystreet/report/new/councils_text_some.html:20
-#: templates/web/fixmystreet/report/new/councils_text_some.html:22
msgid ""
"You can help us by finding a contact email address for local problems for %s "
"and emailing it to us at <a href='mailto:%s'>%s</a>."
@@ -3633,6 +3763,7 @@ msgstr ""
"vennligst <a href='%s'>ta kontakt</a>, eller <a href='%s'>se på ditt "
"problem</a>.\n"
+#: templates/web/bromley/report/new/fill_in_details_form.html:97
#: templates/web/default/questionnaire/index.html:92
#: templates/web/default/report/new/fill_in_details_form.html:93
#: templates/web/fixmystreet/questionnaire/index.html:87
@@ -3644,8 +3775,9 @@ msgstr ""
"Du har allerede lagt ved et bilde til dette problemet. Å legge ved et annet "
"vil bytte ut dette."
-#: templates/web/default/report/display.html:111
-#: templates/web/fixmystreet/report/display.html:105
+#: templates/web/bromley/report/display.html:106
+#: templates/web/default/report/display.html:106
+#: templates/web/fixmystreet/report/display.html:100
msgid ""
"You have already attached a photo to this update, attaching another one will "
"replace it."
@@ -3654,26 +3786,25 @@ msgstr ""
"annet vil bytte ut dette."
#: templates/web/default/auth/sign_out.html:3
-#: templates/web/fixmystreet/auth/sign_out.html:3
msgid "You have been signed out"
msgstr "Du er allerede logget ut"
+#: templates/web/bromley/report/new/fill_in_details_form.html:25
#: templates/web/default/report/new/fill_in_details_form.html:7
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:27
-#, fuzzy
msgid ""
"You have located the problem at the point marked with a green pin on the "
"map. If this is not the correct location, simply click on the map again. "
msgstr ""
-"Du har plassert problemet ved punktet i kartet som er markert med en lilla "
+"Du har plassert problemet ved punktet i kartet som er markert med en grønn "
"nål. Hvis dette ikke er korrekt plassering kan du klikke i kartet på nytt."
#: templates/web/default/tokens/confirm_alert.html:7
msgid "You have successfully confirmed your alert."
msgstr "Du har nå lykkes med å bekrefte ditt varsel."
-#: templates/web/default/tokens/confirm_problem.html:6
-#: templates/web/default/tokens/confirm_problem.html:7
+#: templates/web/default/tokens/confirm_problem.html:14
+#: templates/web/default/tokens/confirm_problem.html:15
msgid "You have successfully confirmed your problem"
msgstr "Du har nå lykkes med å bekrefte ditt problem"
@@ -3695,8 +3826,8 @@ msgstr "Du har lykkes med å opprette ditt varsel."
msgid "You have successfully deleted your alert."
msgstr "Sletting av ditt varsel var vellykket."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:662
-#: perllib/FixMyStreet/App/Controller/Report/Update.pm:131
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:740
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:136
msgid ""
"You have successfully signed in; please check and confirm your details are "
"accurate:"
@@ -3723,72 +3854,98 @@ msgstr "Ønsker du virkelig å sende på nytt?"
msgid "Your Reports"
msgstr "Dine rapporter"
-#: templates/web/fixmystreet/alert/_list.html:85
+#: templates/web/bromley/report/display.html:41
+#: templates/web/bromley/report/display.html:43
+#: templates/web/bromley/report/new/fill_in_details_form.html:145
+#: templates/web/fixmystreet/alert/_list.html:89
#: templates/web/fixmystreet/alert/updates.html:19
#: templates/web/fixmystreet/alert/updates.html:22
#: templates/web/fixmystreet/contact/index.html:72
-#: templates/web/fixmystreet/report/display.html:39
-#: templates/web/fixmystreet/report/display.html:41
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:139
-#, fuzzy
+#: templates/web/fixmystreet/report/display.html:34
+#: templates/web/fixmystreet/report/display.html:36
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:142
msgid "Your email"
msgstr "Din e-post"
+#: templates/web/bromley/report/display.html:130
#: templates/web/fixmystreet/auth/general.html:26
-#: templates/web/fixmystreet/report/display.html:129
-#, fuzzy
+#: templates/web/fixmystreet/report/display.html:124
msgid "Your email address"
-msgstr "Din e-postadresse:"
+msgstr "Din e-postadresse"
#: templates/web/default/auth/general.html:27
msgid "Your email address:"
msgstr "Din e-postadresse:"
-#: templates/web/default/alert/list.html:120
-#: templates/web/default/report/display.html:133
+#: templates/web/default/alert/_list.html:92
+#: templates/web/default/report/display.html:128
#: templates/web/default/report/new/fill_in_details_form.html:124
msgid "Your email:"
msgstr "Din e-post"
+#: templates/web/bromley/report/display.html:193
+#: templates/web/bromley/report/new/fill_in_details_form.html:117
+#: templates/web/bromley/report/new/fill_in_details_form.html:164
+#, fuzzy
+msgid "Your first name"
+msgstr "Ditt navn"
+
+#: templates/web/fixmystreet/report/updates-sidebar-notes.html:5
+#, fuzzy
+msgid ""
+"Your information will only be used in accordance with our <a href=\"/privacy"
+"\">privacy policy</a>"
+msgstr ""
+"Vi vil kun bruke personlig informasjon om deg i henhold til vår <a href=\"/"
+"faq#privacy\">personvernpolicy.</a>"
+
+#: templates/web/bromley/report/display.html:199
+#: templates/web/bromley/report/new/fill_in_details_form.html:123
+#: templates/web/bromley/report/new/fill_in_details_form.html:170
+#, fuzzy
+msgid "Your last name"
+msgstr "Ditt navn"
+
#: templates/web/fixmystreet/auth/general.html:53
#: templates/web/fixmystreet/contact/index.html:65
-#: templates/web/fixmystreet/report/display.html:185
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:118
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:175
-#, fuzzy
+#: templates/web/fixmystreet/report/display.html:181
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:121
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:181
msgid "Your name"
-msgstr "Ditt navn:"
+msgstr "Ditt navn"
#: templates/web/default/auth/general.html:59
#: templates/web/default/contact/index.html:68
-#: templates/web/default/report/display.html:207
+#: templates/web/default/report/display.html:202
#: templates/web/default/report/new/fill_in_details_form.html:203
msgid "Your name:"
msgstr "Ditt navn:"
+#: templates/web/bromley/report/display.html:160
+#: templates/web/bromley/report/new/fill_in_details_form.html:203
#: templates/web/fixmystreet/auth/general.html:37
-#: templates/web/fixmystreet/report/display.html:143
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:158
-#, fuzzy
+#: templates/web/fixmystreet/report/display.html:138
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:161
msgid "Your password"
-msgstr "Dine rapporter"
+msgstr "Ditt passord"
#: templates/web/default/auth/change_password.html:6
-#: templates/web/fixmystreet/auth/change_password.html:6
msgid "Your password has been changed"
msgstr "Ditt passord har blitt endret"
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:131
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:189
+#: templates/web/bromley/report/new/fill_in_details_form.html:137
+#: templates/web/bromley/report/new/fill_in_details_form.html:184
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:134
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:195
msgid "Your phone number"
-msgstr ""
+msgstr "Ditt telefonnummer"
-#: templates/web/fixmystreet/questionnaire/index.html:16
-#, fuzzy
+#: templates/web/fixmystreet/questionnaire/index.html:15
msgid "Your report"
-msgstr "Dine oppdateringer"
+msgstr "Dine rapporter"
-#: templates/web/bromley/footer.html:35 templates/web/default/footer.html:9
+#: templates/web/barnet/footer.html:18 templates/web/bromley/footer.html:19
+#: templates/web/bromley/header.html:75 templates/web/default/footer.html:9
#: templates/web/fiksgatami/footer.html:6
#: templates/web/fiksgatami/nn/footer.html:6
#: templates/web/fixmystreet/footer.html:47
@@ -3808,8 +3965,8 @@ msgstr "Din&nbsp;e-post:"
msgid "by %s"
msgstr "av %s"
-#: templates/web/default/reports/council.html:6
-#: templates/web/default/reports/council.html:7
+#: templates/web/default/reports/council.html:12
+#: templates/web/default/reports/council.html:13
#: templates/web/emptyhomes/reports/council.html:6
#: templates/web/emptyhomes/reports/council.html:7
msgid "council"
@@ -3819,35 +3976,35 @@ msgstr "administrasjon"
msgid "didn't use map"
msgstr "brukte ikke kart"
-#: templates/web/fixmystreet/alert/index.html:24
-#: templates/web/fixmystreet/index.html:41
+#: templates/web/default/alert/index.html:33
+#: templates/web/fixmystreet/around/postcode_form.html:17
msgid "e.g. ‘%s’ or ‘%s’"
-msgstr ""
+msgstr "for eksempel «%s» eller «%s»"
#: templates/web/default/admin/index.html:15
msgid "from %d different users"
msgstr "fra %d forskjellige brukere"
-#: perllib/Utils.pm:248
+#: perllib/Utils.pm:289
msgid "less than a minute"
msgstr "mindre enn et minutt"
-#: templates/web/default/report/updates.html:24
+#: templates/web/default/report/updates.html:27
msgid "marked as %s"
msgstr "markert som %s"
-#: templates/web/default/report/updates.html:22
+#: templates/web/default/report/updates.html:25
msgid "marked as fixed"
msgstr "markert som fikset"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:109
+#: perllib/FixMyStreet/App/Controller/Admin.pm:112
#: templates/web/default/admin/questionnaire.html:15
#: templates/web/default/admin/questionnaire.html:16
msgid "n/a"
msgstr "n/a"
-#: templates/web/default/alert/list.html:114
-#: templates/web/fixmystreet/alert/_list.html:81
+#: templates/web/default/alert/_list.html:87
+#: templates/web/fixmystreet/alert/_list.html:85
msgid "or"
msgstr "eller"
@@ -3859,16 +4016,20 @@ msgstr "søkte etter"
msgid "other areas:"
msgstr "andre områder:"
-#: templates/web/default/report/updates.html:23
+#: templates/web/default/report/updates.html:26
msgid "reopened"
msgstr "åpnet på nytt"
-#: templates/web/bromley/header.html:47
-#: templates/web/fixmystreet/header.html:47
-#, fuzzy
+#: templates/web/barnet/header.html:71 templates/web/bromley/header.html:100
+#: templates/web/bromley/header.html:65
+#: templates/web/fixmybarangay/header.html.orig:43
+#: templates/web/fixmystreet/header.html:48
+#: templates/web/zurich/header.html:48
msgid "sign out"
-msgstr "Logg ut"
+msgstr "logg ut"
+#: templates/web/bromley/report/new/fill_in_details_form.html:4
+#: templates/web/bromley/report/new/fill_in_details_form.html:7
#: templates/web/default/report/new/fill_in_details_form.html:11
#: templates/web/default/report/new/fill_in_details_form.html:14
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:6
@@ -3876,15 +4037,19 @@ msgstr "Logg ut"
msgid "the local council"
msgstr "den lokale administrasjonen"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:534
+#: perllib/FixMyStreet/DB/Result/Problem.pm:541
msgid "the map was not used so pin location may be inaccurate"
msgstr "kartet ble ikke brukt, så nåleposisjon kan være unøyaktig"
-#: bin/send-reports:177
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
+msgid "their ref:&nbsp;%s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:330
msgid "this type of local problem"
msgstr "denne type lokalt problem"
-#: perllib/Utils.pm:222
+#: perllib/Utils.pm:263
msgid "today"
msgstr "idag"
@@ -3901,7 +4066,7 @@ msgid "user is problem owner"
msgstr "bruker er eier av problemet"
#: templates/web/default/reports/council.html:0
-#: templates/web/default/reports/council.html:3
+#: templates/web/default/reports/council.html:9
#: templates/web/emptyhomes/reports/council.html:0
#: templates/web/emptyhomes/reports/council.html:3
msgid "ward"
@@ -3937,13 +4102,6 @@ msgstr "vil ditt problem ikke bli publisert"
msgid "your update will not be posted"
msgstr "din oppdatering vil ikke bli publisert"
-#: templates/web/emptyhomes/front/stats.html:17
-#, perl-format
-msgid "<big>%s</big> report recently"
-msgid_plural "<big>%s</big> reports recently"
-msgstr[0] "<big>%s</big> rapportert<br>nylig"
-msgstr[1] "<big>%s</big> rapportert<br>nylig"
-
#: templates/web/emptyhomes/report/new/councils_text_none.html:3
#, perl-format
msgid "We do not yet have details for the council that covers this location."
@@ -3954,6 +4112,13 @@ msgstr[0] ""
msgstr[1] ""
"Vi har ennå ikke detaljer for administrasjonene som dekker dette stedet."
+#: templates/web/emptyhomes/front/stats.html:17
+#, perl-format
+msgid "<big>%s</big> report recently"
+msgid_plural "<big>%s</big> reports recently"
+msgstr[0] "<big>%s</big> rapportert<br>nylig"
+msgstr[1] "<big>%s</big> rapportert<br>nylig"
+
#: templates/web/emptyhomes/front/stats.html:12
#, perl-format
msgid "<big>%s</big> report in past week"
@@ -3968,14 +4133,7 @@ msgid_plural "<big>%s</big> fixed in past month"
msgstr[0] "<big>%s</big> fikset siste måned"
msgstr[1] "<big>%s</big> fikset siste måned"
-#: templates/web/default/front/stats.html:29
-#, perl-format
-msgid "<big>%s</big> update on reports"
-msgid_plural "<big>%s</big> updates on reports"
-msgstr[0] "<big>%s</big> rapport-<br>oppdatering"
-msgstr[1] "<big>%s</big> rapport-<br>oppdateringer"
-
-#: templates/web/fixmystreet/report/new/councils_text_some.html:14
+#: templates/web/default/report/new/councils_text_some.html:14
#, perl-format
msgid ""
"We do <strong>not</strong> yet have details for the other council that "
@@ -3990,6 +4148,41 @@ msgstr[1] ""
"Vi har ennå <strong>ikke</strong> detaljene for de andre administrasjonene "
"som dekker dette stedet."
+#: templates/web/default/front/stats.html:29
+#, perl-format
+msgid "<big>%s</big> update on reports"
+msgid_plural "<big>%s</big> updates on reports"
+msgstr[0] "<big>%s</big> rapport-<br>oppdatering"
+msgstr[1] "<big>%s</big> rapport-<br>oppdateringer"
+
+#~ msgid "FixMyStreet for Councils"
+#~ msgstr "FiksGataMi for det offentlige"
+
+#~ msgid "Questions and Answers :: FixMyStreet for Councils"
+#~ msgstr "Spørsmål og svar :: FiksGataMi for det offentlige"
+
+#~ msgid ""
+#~ "That spot does not appear to be covered by a council. If you have tried "
+#~ "to report an issue past the shoreline, for example, please specify the "
+#~ "closest point on land."
+#~ msgstr ""
+#~ "Punktet ser ikke ut til å være dekket av en administrasjon. Hvis du for "
+#~ "eksempel har forsøkt å rapportere et problem utenfor kysten, marker "
+#~ "nærmeste punkt på land."
+
+#~ msgid "The requested URL was not found on this server."
+#~ msgstr "Den forespurte URL-en ble ikke funnet på denne tjeneren"
+
+#~ msgid ""
+#~ "To find out what local alerts we have for you, please enter your GB\n"
+#~ " postcode or street name and area"
+#~ msgstr ""
+#~ "Du finner lokale problemer ved å søke på ditt postnummer, veinavn eller "
+#~ "sted"
+
+#~ msgid "We do not currently cover Northern Ireland, I'm afraid."
+#~ msgstr "Vi dekker desverre ikke Nord-Irland."
+
#, fuzzy
#~ msgid "<strong>Yes</strong>, I have a password"
#~ msgstr "<strong>Ja</strong>, jeg har et passord:"
diff --git a/locale/nn_NO.UTF-8/LC_MESSAGES/.gitignore b/locale/nn_NO.UTF-8/LC_MESSAGES/.gitignore
deleted file mode 100644
index 214d1b7ed..000000000
--- a/locale/nn_NO.UTF-8/LC_MESSAGES/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/FixMyStreet.mo
diff --git a/locale/nn_NO.UTF-8/LC_MESSAGES/FixMyStreet.po b/locale/nn_NO.UTF-8/LC_MESSAGES/FixMyStreet.po
index c05ddfaa6..22a04be64 100644
--- a/locale/nn_NO.UTF-8/LC_MESSAGES/FixMyStreet.po
+++ b/locale/nn_NO.UTF-8/LC_MESSAGES/FixMyStreet.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: matthew@mysociety.org\n"
-"POT-Creation-Date: 2012-03-28 19:23+0100\n"
+"POT-Creation-Date: 2012-08-21 09:54+0100\n"
"PO-Revision-Date: 2011-12-08 10:56+0100\n"
"Last-Translator: Anders Einar Hilden <hildenae@gmail.com>\n"
"Language-Team: Norwegian Nynorsk <i18n-nn@lister.ping.uio.no>\n"
@@ -21,16 +21,18 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-#: bin/send-reports:184 perllib/FixMyStreet/DB/Result/Problem.pm:549
+#: perllib/FixMyStreet/DB/Result/Problem.pm:555
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:337
msgid " and "
msgstr " og "
-#: templates/web/default/tokens/confirm_problem.html:10
-#: templates/web/default/tokens/confirm_problem.html:6
+#: templates/web/default/tokens/confirm_problem.html:14
+#: templates/web/default/tokens/confirm_problem.html:18
msgid " and <strong>we will now send it to the council</strong>"
msgstr " og <strong>vi sender det no til administrasjonen</strong>"
#: templates/web/default/report/new/councils_text_all.html:10
+#: templates/web/default/report/new/councils_text_all.html:17
#: templates/web/default/report/new/councils_text_all.html:3
#: templates/web/default/report/new/councils_text_none.html:14
#: templates/web/default/report/new/councils_text_none.html:17
@@ -38,13 +40,6 @@ msgstr " og <strong>vi sender det no til administrasjonen</strong>"
#: templates/web/default/report/new/councils_text_some.html:23
#: templates/web/default/report/new/councils_text_some.html:5
#: templates/web/emptyhomes/report/new/councils_text_all.html:2
-#: templates/web/fixmystreet/report/new/councils_text_all.html:10
-#: templates/web/fixmystreet/report/new/councils_text_all.html:3
-#: templates/web/fixmystreet/report/new/councils_text_none.html:12
-#: templates/web/fixmystreet/report/new/councils_text_none.html:15
-#: templates/web/fixmystreet/report/new/councils_text_some.html:20
-#: templates/web/fixmystreet/report/new/councils_text_some.html:23
-#: templates/web/fixmystreet/report/new/councils_text_some.html:5
msgid " or "
msgstr " eller "
@@ -60,11 +55,11 @@ msgstr "%d stadfesta varsel, %d ikkje stadfesta"
msgid "%d council contacts &ndash; %d confirmed, %d unconfirmed"
msgstr "%d administrasjonskontaktar &ndash; %d stadfesta, %d ikkje stadfesta"
-#: perllib/Utils.pm:252
+#: perllib/Utils.pm:293
msgid "%d day"
msgstr "%d dag"
-#: perllib/Utils.pm:252
+#: perllib/Utils.pm:293
msgid "%d days"
msgstr "%d dagar"
@@ -72,11 +67,11 @@ msgstr "%d dagar"
msgid "%d edits by %s"
msgstr "%d redigeringar av %s"
-#: perllib/Utils.pm:253
+#: perllib/Utils.pm:294
msgid "%d hour"
msgstr "%d time"
-#: perllib/Utils.pm:253
+#: perllib/Utils.pm:294
msgid "%d hours"
msgstr "%d timar"
@@ -84,11 +79,11 @@ msgstr "%d timar"
msgid "%d live updates"
msgstr "%d aktive oppdateringar"
-#: perllib/Utils.pm:254
+#: perllib/Utils.pm:295
msgid "%d minute"
msgstr "%d minutt"
-#: perllib/Utils.pm:254
+#: perllib/Utils.pm:295
msgid "%d minutes"
msgstr "%d minutt"
@@ -96,36 +91,38 @@ msgstr "%d minutt"
msgid "%d questionnaires sent &ndash; %d answered (%s%%)"
msgstr "%d spørjeskjema sendt &ndash; %d svart (%s%%)"
-#: perllib/Utils.pm:251
+#: perllib/Utils.pm:292
msgid "%d week"
msgstr "%d veke"
-#: perllib/Utils.pm:251
+#: perllib/Utils.pm:292
msgid "%d weeks"
msgstr "%d veker"
#: templates/web/default/reports/council.html:0
-#: templates/web/default/reports/council.html:14
+#: templates/web/default/reports/council.html:26
#: templates/web/emptyhomes/reports/council.html:11
#: templates/web/emptyhomes/reports/council.html:13
msgid "%s - Summary reports"
msgstr "%s – oppsummeringsrapportar"
-#: perllib/FixMyStreet/Cobrand/Default.pm:792
-#: perllib/FixMyStreet/Cobrand/Default.pm:806
+#: perllib/FixMyStreet/DB/Result/Problem.pm:605
+msgid "%s ref:&nbsp;%s"
+msgstr ""
+
+#: perllib/FixMyStreet/Cobrand/UK.pm:288 perllib/FixMyStreet/Cobrand/UK.pm:300
msgid "%s ward, %s"
msgstr "%s bydel, %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:480
+#: perllib/FixMyStreet/DB/Result/Problem.pm:488
msgid "%s, reported anonymously at %s"
msgstr "%s, rapportert anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:482
+#: perllib/FixMyStreet/DB/Result/Problem.pm:490
msgid "%s, reported by %s at %s"
msgstr "%s, rapportert av %s %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:823
-#: perllib/FixMyStreet/Cobrand/Default.pm:837
+#: perllib/FixMyStreet/Cobrand/UK.pm:315 perllib/FixMyStreet/Cobrand/UK.pm:327
msgid "%s, within %s ward"
msgstr "%s, innanfor bydelen %s"
@@ -141,31 +138,36 @@ msgstr "(Ingen grunn til å uroa seg &mdash; %s)"
msgid "(Email in abuse table)"
msgstr "(Epost i misbruktabellen)"
-#: templates/web/default/alert/list.html:51
+#: templates/web/default/alert/_list.html:20
#: templates/web/fixmystreet/alert/_list.html:24
msgid "(a default distance which covers roughly 200,000 people)"
msgstr "(ein standardavstand som dekkjer ein folkesetnad på omtrent 200 000)"
-#: templates/web/default/alert/list.html:56
+#: templates/web/default/alert/_list.html:25
#: templates/web/fixmystreet/alert/_list.html:28
msgid "(alternatively the RSS feed can be customised, within"
msgstr "(alternativt kan RSS-straumen tilpassast, innanfor"
+#: templates/web/default/around/around_map_list_items.html:12
+#: templates/web/default/around/on_map_list_items.html:9
+#: templates/web/fixmystreet/report/_item.html:23
+#, fuzzy
+msgid "(closed)"
+msgstr "Lukka"
+
#: templates/web/default/around/around_map_list_items.html:10
#: templates/web/default/around/on_map_list_items.html:7
-#: templates/web/default/reports/council.html:134
-#: templates/web/fixmystreet/around/around_map_list_items.html:12
-#: templates/web/fixmystreet/around/on_map_list_items.html:9
+#: templates/web/fixmystreet/report/_item.html:21
msgid "(fixed)"
msgstr "(løyst)"
#: templates/web/default/index.html:12 templates/web/default/index.html:8
-#: templates/web/fixmystreet/index.html:30
+#: templates/web/fixmystreet/around/postcode_form.html:7
msgid "(like graffiti, fly tipping, broken paving slabs, or street lighting)"
msgstr "(som tagging, søppel, hol i vegen, eller øydelagte gatelys)"
-#: templates/web/default/reports/council.html:131
-#: templates/web/default/reports/council.html:152
+#: templates/web/default/reports/_list-entry.html:4
+#: templates/web/fixmystreet/report/_item.html:17
msgid "(not sent to council)"
msgstr "(ikkje rapportert til administrasjonen)"
@@ -173,8 +175,8 @@ msgstr "(ikkje rapportert til administrasjonen)"
msgid "(optional)"
msgstr "(valfritt)"
-#: templates/web/default/reports/council.html:130
-#: templates/web/default/reports/council.html:150
+#: templates/web/default/reports/_list-entry.html:2
+#: templates/web/fixmystreet/report/_item.html:16
msgid "(sent to both)"
msgstr "(sendt til begge)"
@@ -182,31 +184,32 @@ msgstr "(sendt til begge)"
msgid "(we never show your email address or phone number)"
msgstr "(vi viser aldri e-postadressa di eller telefonnummeret ditt)"
-#: templates/web/default/report/display.html:214
+#: templates/web/default/report/display.html:209
msgid "(we never show your email)"
msgstr "(vi viser aldri e-postadressa di)"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:281
+#: perllib/FixMyStreet/App/Controller/Admin.pm:284
msgid "*unknown*"
msgstr "*ukjent*"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:549
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:581
-#: perllib/FixMyStreet/DB/Result/Problem.pm:337
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:629
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:655
+#: perllib/FixMyStreet/DB/Result/Problem.pm:345
msgid "-- Pick a category --"
msgstr "-- Vel ein kategori --"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:535
-#: perllib/FixMyStreet/DB/Result/Problem.pm:343
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:609
+#: perllib/FixMyStreet/DB/Result/Problem.pm:351
msgid "-- Pick a property type --"
msgstr "-- Vel ein eigedomstype --"
#: templates/web/default/tokens/confirm_problem.html:14
-#: templates/web/default/tokens/confirm_problem.html:6
-msgid ". You can <a href=\"%s\">view the problem on this site</a>."
+#: templates/web/default/tokens/confirm_problem.html:22
+#, fuzzy
+msgid ". You can <a href=\"%s%s\">view the problem on this site</a>."
msgstr ". Du kan <a href=\"%s\">lesa om problemet på portalen</a>."
-#: templates/web/default/questionnaire/completed.html:25
+#: templates/web/default/questionnaire/completed.html:20
msgid ""
"<p style=\"font-size:150%\">Thank you very much for filling in our "
"questionnaire; glad to hear it&rsquo;s been fixed.</p>"
@@ -214,15 +217,51 @@ msgstr ""
"<p style=\"font-size:150%\">Tusen takk for at du fylte ut spørjeskjemaet "
"vårt. Vi er glade for å høyra at problemet ditt er løyst.</p>"
-#: templates/web/default/questionnaire/completed.html:15
+#: templates/web/fiksgatami/questionnaire/completed-open.html:1
+#, fuzzy
msgid ""
-"<p style=\"font-size:150%%\">We&rsquo;re sorry to hear that. We have two "
-"suggestions: why not try\n"
-"<a href=\"%s\">writing direct to your councillor(s)</a>\n"
-"or, if it&rsquo;s a problem that could be fixed by local people working "
-"together,\n"
-"why not <a href=\"http://www.pledgebank.com/new\">make and publicise a "
-"pledge</a>?\n"
+"<p style=\"font-size:150%\">We&rsquo;re sorry to hear that. We have two\n"
+"suggestions: why not try <a href=\"http://www.norge.no/styresmakter/"
+"\">writing\n"
+"direct to your councillor(s)</a> or, if it&rsquo;s a problem that could be\n"
+"fixed by local people working together, why not\n"
+"<a href=\"http://www.pledgebank.com/new\">make and publicise a pledge</a>?\n"
+"</p>"
+msgstr ""
+"<p style=\"font-size:150%%\">Det var trist å høyra dette. Vi har to forslag: "
+"kva med å freista\n"
+"<a href=\"%s\">å skriva direkte til representantane dine</a>, eller viss det "
+"er eit problem som kan fiksast\n"
+"av folk i nabolaget som jobbar saman, kva med å <a href=\"http://www."
+"pledgebank.com/new\">publisera ei utfordring om å bidra</a>?</p>"
+
+#: templates/web/fixmystreet/questionnaire/completed-open.html:1
+#, fuzzy
+msgid ""
+"<p style=\"font-size:150%\">We&rsquo;re sorry to hear that. We have two\n"
+"suggestions: why not try <a href=\"http://www.writetothem.com/\">writing "
+"direct\n"
+"to your councillor(s)</a> or, if it&rsquo;s a problem that could be fixed "
+"by\n"
+"local people working together, why not\n"
+"<a href=\"http://www.pledgebank.com/new\">make and publicise a pledge</a>?\n"
+"</p>"
+msgstr ""
+"<p style=\"font-size:150%%\">Det var trist å høyra dette. Vi har to forslag: "
+"kva med å freista\n"
+"<a href=\"%s\">å skriva direkte til representantane dine</a>, eller viss det "
+"er eit problem som kan fiksast\n"
+"av folk i nabolaget som jobbar saman, kva med å <a href=\"http://www."
+"pledgebank.com/new\">publisera ei utfordring om å bidra</a>?</p>"
+
+#: templates/web/default/questionnaire/completed-open.html:1
+#, fuzzy
+msgid ""
+"<p style=\"font-size:150%\">We&rsquo;re sorry to hear that. We have two\n"
+"suggestions: why not try writing to your local representative or, if "
+"it&rsquo;s\n"
+"a problem that could be fixed by local people working together, why not\n"
+"<a href=\"http://www.pledgebank.com/new\">make and publicise a pledge</a>?\n"
"</p>"
msgstr ""
"<p style=\"font-size:150%%\">Det var trist å høyra dette. Vi har to forslag: "
@@ -293,12 +332,12 @@ msgstr ""
msgid "<strong>%d</strong> live problems"
msgstr "<strong>%d</strong> aktive problem"
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:169
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:172
#, fuzzy
msgid "<strong>No</strong> Let me confirm my report by email"
msgstr "<strong>Nei</strong>, la meg stadfesta rapporten min med e-post:"
-#: templates/web/fixmystreet/report/display.html:153
+#: templates/web/fixmystreet/report/display.html:148
#, fuzzy
msgid "<strong>No</strong> Let me confirm my update by email"
msgstr "<strong>Nei</strong>, la meg stadfesta oppdateringa mi med e-post:"
@@ -316,17 +355,17 @@ msgstr "<strong>Nei</strong>, det gjer eg ikkje. La meg logga inn med e-post:"
msgid "<strong>No</strong>, let me confirm my report by email:"
msgstr "<strong>Nei</strong>, la meg stadfesta rapporten min med e-post:"
-#: templates/web/default/report/display.html:169
+#: templates/web/default/report/display.html:164
msgid "<strong>No</strong>, let me confirm my update by email:"
msgstr "<strong>Nei</strong>, la meg stadfesta oppdateringa mi med e-post:"
#: templates/web/default/auth/general.html:37
-#: templates/web/default/report/display.html:147
+#: templates/web/default/report/display.html:142
#: templates/web/default/report/new/fill_in_details_form.html:140
#: templates/web/fixmystreet/auth/general.html:32
#: templates/web/fixmystreet/auth/general.html:34
-#: templates/web/fixmystreet/report/display.html:136
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:151
+#: templates/web/fixmystreet/report/display.html:131
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:154
#, fuzzy
msgid "<strong>Yes</strong> I have a password"
msgstr "<strong>Ja</strong>, eg har eit passord:"
@@ -339,7 +378,7 @@ msgstr "<strong>Ja</strong>, eg har eit passord:"
msgid "About us"
msgstr "Om oss"
-#: templates/web/default/admin/council_contacts.html:62
+#: templates/web/default/admin/council_contacts.html:66
msgid "Add new category"
msgstr "Legg til ny kategori"
@@ -348,7 +387,6 @@ msgid "Added %s"
msgstr "La til %s"
#: templates/web/default/auth/change_password.html:29
-#: templates/web/fixmystreet/auth/change_password.html:29
msgid "Again:"
msgstr "Gjenta:"
@@ -360,8 +398,9 @@ msgstr "Varsel %d oppretta for %s, type %s, parameter %s / %s"
msgid "Alert %d disabled (created %s)"
msgstr "Varsel %d kobla ut (oppretta %s)"
-#: templates/web/default/report/display.html:219
-#: templates/web/fixmystreet/report/display.html:193
+#: templates/web/bromley/report/display.html:207
+#: templates/web/default/report/display.html:214
+#: templates/web/fixmystreet/report/display.html:189
msgid "Alert me to future updates"
msgstr "Send meg varsel ved framtidige oppdateringar"
@@ -378,7 +417,8 @@ msgstr "Alle rapportar"
msgid "All confirmed"
msgstr "Alle stadfesta"
-#: templates/web/bromley/footer.html:37 templates/web/default/footer.html:11
+#: templates/web/barnet/footer.html:20 templates/web/bromley/footer.html:21
+#: templates/web/bromley/header.html:77 templates/web/default/footer.html:11
#: templates/web/fiksgatami/footer.html:7
#: templates/web/fiksgatami/nn/footer.html:7
#: templates/web/fixmystreet/footer.html:49
@@ -387,15 +427,21 @@ msgid "All reports"
msgstr "Alle rapportar"
#: templates/web/default/report/new/councils_text_some.html:2
-#: templates/web/fixmystreet/report/new/councils_text_some.html:2
msgid "All the information you provide here will be sent to"
msgstr "All informasjonen du har lagt inn her vil sendast til"
+#: templates/web/default/report/new/councils_text_all.html:10
+#: templates/web/default/report/new/councils_text_all.html:12
+#, fuzzy
+msgid ""
+"All the information you provide here will be sent to <strong>%s</strong> or "
+"<strong>Roads Service</strong>."
+msgstr ""
+"All informasjonen du har lagt inn her vil sendast til <strong>%s</strong>."
+
# TfL? skal ikkje det omsetjast? --KBU
#: templates/web/default/report/new/councils_text_all.html:3
#: templates/web/default/report/new/councils_text_all.html:5
-#: templates/web/fixmystreet/report/new/councils_text_all.html:3
-#: templates/web/fixmystreet/report/new/councils_text_all.html:5
msgid ""
"All the information you provide here will be sent to <strong>%s</strong> or "
"a relevant local body such as <strong>TfL</strong>, via the London Report-It "
@@ -405,12 +451,12 @@ msgstr ""
"ein relevant lokal etat som <strong>TfL</strong>, via systemet London Report-"
"It."
-#: templates/web/default/report/new/councils_text_all.html:10
-#: templates/web/default/report/new/councils_text_all.html:12
+#: templates/web/bromley/report/new/fill_in_details_form.html:4
+#: templates/web/bromley/report/new/fill_in_details_form.html:6
+#: templates/web/default/report/new/councils_text_all.html:17
+#: templates/web/default/report/new/councils_text_all.html:19
#: templates/web/default/report/new/fill_in_details_form.html:11
#: templates/web/default/report/new/fill_in_details_form.html:13
-#: templates/web/fixmystreet/report/new/councils_text_all.html:10
-#: templates/web/fixmystreet/report/new/councils_text_all.html:12
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:6
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:8
msgid ""
@@ -452,11 +498,11 @@ msgid ""
"FixMyStreet?"
msgstr "Er du ein utviklar? Kunne du tenkja deg å bidra til FiksGataMi?"
-#: templates/web/fixmystreet/footer.html:18
+#: templates/web/fixmystreet/footer.html:17
msgid "Are you a developer?"
msgstr ""
-#: templates/web/fixmystreet/footer.html:22
+#: templates/web/fixmystreet/footer.html:21
#, fuzzy
msgid "Are you from a council?"
msgstr "den lokale administrasjonen"
@@ -492,15 +538,18 @@ msgstr ""
msgid "By Date"
msgstr "På dato"
-#: templates/web/fixmystreet/around/display_location.html:75
-#: templates/web/fixmystreet/around/display_location.html:77
+#: templates/web/fixmystreet/around/display_location.html:80
+#: templates/web/fixmystreet/around/display_location.html:82
#, fuzzy
msgid "Can't see the map? <a href='%s' rel='nofollow'>Skip this step</a>"
msgstr ""
"<small>Viss du ikkje kan sjå kartet, <a href='%s' rel='nofollow'>hopp over "
"dette steget</a>.</small>"
-#: templates/web/default/admin/council_contacts.html:31
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:632
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:657
+#: templates/web/bromley/report/new/fill_in_details_form.html:68
+#: templates/web/default/admin/council_contacts.html:35
#: templates/web/default/admin/index.html:36
#: templates/web/default/admin/list_flagged.html:14
#: templates/web/default/admin/search_reports.html:17
@@ -512,45 +561,45 @@ msgstr "Kategori"
msgid "Category fix rate for problems > 4 weeks old"
msgstr "Løysingsrate fordelt på kategori for problem > 4 veker gamle"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:552
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:582
-#: templates/web/default/admin/council_contacts.html:68
+#: templates/web/default/admin/council_contacts.html:72
#: templates/web/default/admin/council_edit.html:23
#: templates/web/default/admin/report_edit.html:25
#: templates/web/default/report/new/fill_in_details_form.html:67
msgid "Category:"
msgstr "Kategori:"
-#: bin/send-reports:181
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:334
msgid "Category: %s"
msgstr "Kategori: %s"
#: templates/web/default/auth/change_password.html:1
#: templates/web/default/auth/change_password.html:3
#: templates/web/default/auth/change_password.html:33
-#: templates/web/fixmystreet/auth/change_password.html:1
-#: templates/web/fixmystreet/auth/change_password.html:3
-#: templates/web/fixmystreet/auth/change_password.html:33
msgid "Change Password"
msgstr "Byt passord"
#: templates/web/fixmystreet/around/display_location.html:72
+#: templates/web/fixmystreet/around/display_location.html:73
#, fuzzy
msgid "Click map to report a problem"
msgstr "Korleis rapportera eit problem"
-#: perllib/FixMyStreet/Cobrand/FixMyStreet.pm:24
+#: templates/web/bromley/report/display.html:80
+#: templates/web/bromley/report/display.html:82
#: templates/web/default/admin/report_edit.html:18
#: templates/web/default/admin/report_edit.html:20
-#: templates/web/default/report/display.html:84
-#: templates/web/default/report/display.html:86
-#: templates/web/fixmystreet/report/display.html:79
-#: templates/web/fixmystreet/report/display.html:81
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/dashboard/index.html:138
+#: templates/web/default/report/display.html:79
+#: templates/web/default/report/display.html:81
+#: templates/web/fixmystreet/report/banner.html:15
+#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/fixmystreet/report/display.html:76
msgid "Closed"
msgstr "Lukka"
# skal det vera forskjellig tyding frå engelsken her? --KBU
-#: perllib/FixMyStreet/DB/Result/Problem.pm:641
+#: perllib/FixMyStreet/DB/Result/Problem.pm:690
msgid "Closed by council"
msgstr "(ikkje rapportert til administrasjonen)"
@@ -562,8 +611,8 @@ msgstr "Lukka rapportar"
msgid "Closed:"
msgstr "Lukka:"
-#: templates/web/default/around/display_location.html:101
#: templates/web/default/around/display_location.html:103
+#: templates/web/default/around/display_location.html:105
msgid "Closest nearby problems <small>(within&nbsp;%skm)</small>"
msgstr "Dei næraste problema <small>(innanfor&nbsp;%skm)</small>"
@@ -587,28 +636,27 @@ msgstr "Data om merkevaresamarbeid:"
msgid "Cobrand:"
msgstr "Merkevaresamarbeid:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:351
+#: perllib/FixMyStreet/App/Controller/Admin.pm:358
msgid "Configuration updated"
msgstr "Oppsett oppdatert"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:361
+#: perllib/FixMyStreet/App/Controller/Admin.pm:372
msgid "Configuration updated - contacts will be generated automatically later"
msgstr "Oppsett oppdatert - kontaktar vil genererast automatisk seinare"
-#: templates/web/default/admin/council_contacts.html:124
+#: templates/web/default/admin/council_contacts.html:153
msgid "Configure Open311"
msgstr "Sett opp Open311"
-#: templates/web/default/admin/council_contacts.html:101
+#: templates/web/default/admin/council_contacts.html:105
msgid "Configure Open311 integration"
msgstr "Sett opp Open311-integrasjon"
-#: templates/web/default/admin/council_contacts.html:38
+#: templates/web/default/admin/council_contacts.html:42
msgid "Confirm"
msgstr "Stadfest"
#: templates/web/default/auth/token.html:1
-#: templates/web/fixmystreet/auth/token.html:1
msgid "Confirm account"
msgstr "Stadfest konto"
@@ -622,8 +670,8 @@ msgstr "Stadfest konto"
msgid "Confirmation"
msgstr "Stadfesting"
-#: templates/web/default/admin/council_contacts.html:33
-#: templates/web/default/admin/council_contacts.html:78
+#: templates/web/default/admin/council_contacts.html:37
+#: templates/web/default/admin/council_contacts.html:82
#: templates/web/default/admin/council_edit.html:28
#: templates/web/default/admin/council_edit.html:43
#: templates/web/default/admin/stats.html:5
@@ -644,6 +692,7 @@ msgstr "Kontakt"
msgid "Contact FixMyStreet"
msgstr "Kontakt FiksGataMi"
+#: templates/web/bromley/contact/submit.html:1
#: templates/web/default/contact/index.html:1
#: templates/web/default/contact/index.html:2
#: templates/web/default/contact/submit.html:1
@@ -652,14 +701,15 @@ msgstr "Kontakt FiksGataMi"
msgid "Contact Us"
msgstr "Kontakt oss"
+#: templates/web/bromley/contact/submit.html:3
#: templates/web/default/contact/index.html:6
#: templates/web/default/contact/submit.html:3
#: templates/web/fixmystreet/contact/index.html:7
msgid "Contact the team"
msgstr "Kontakt prosjektgruppa"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1107
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1135
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1150
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1178
msgid "Could not find user"
msgstr "Kunne ikkje finna brukaren"
@@ -670,7 +720,7 @@ msgstr "Kunne ikkje finna brukaren"
msgid "Council"
msgstr "Administrasjon"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:979
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1022
#: templates/web/default/admin/council_list.html:1
msgid "Council contacts"
msgstr "Administrasjonskontaktar"
@@ -698,7 +748,7 @@ msgstr "Mengd"
msgid "Create a report"
msgstr "Lag ein rapport"
-#: templates/web/default/admin/council_contacts.html:92
+#: templates/web/default/admin/council_contacts.html:96
msgid "Create category"
msgstr "Lag kategori"
@@ -721,13 +771,19 @@ msgstr "Gjeldande tilstand"
msgid "Currently has 1+ deleted"
msgstr "For tida har 1+ sletta"
-#: templates/web/default/admin/council_contacts.html:34
-#: templates/web/default/admin/council_contacts.html:81
+#: templates/web/default/dashboard/index.html:5
+#: templates/web/default/dashboard/index.html:7
+msgid "Dashboard"
+msgstr ""
+
+#: templates/web/default/admin/council_contacts.html:38
+#: templates/web/default/admin/council_contacts.html:85
#: templates/web/default/admin/council_edit.html:29
#: templates/web/default/admin/council_edit.html:44
msgid "Deleted"
msgstr "Sletta"
+#: templates/web/bromley/report/new/fill_in_details_form.html:54
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:64
#, fuzzy
msgid "Details"
@@ -744,8 +800,8 @@ msgstr "Arbeidshestar"
#: templates/web/default/auth/general.html:32
#: templates/web/fixmystreet/auth/general.html:29
-#: templates/web/fixmystreet/report/display.html:133
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:147
+#: templates/web/fixmystreet/report/display.html:128
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:150
msgid "Do you have a FixMyStreet password?"
msgstr "Har du eit FiksGataMi-passord?"
@@ -776,7 +832,8 @@ msgstr "Redigerer brukar %d"
msgid "Editor"
msgstr "Oppdatert av"
-#: templates/web/default/admin/council_contacts.html:32
+#: templates/web/bromley/report/display.html:126
+#: templates/web/default/admin/council_contacts.html:36
#: templates/web/default/admin/council_edit.html:42
#: templates/web/default/admin/list_flagged.html:12
#: templates/web/default/admin/list_flagged.html:35
@@ -785,45 +842,45 @@ msgstr "Oppdatert av"
#: templates/web/default/admin/search_reports.html:15
#: templates/web/default/admin/search_users.html:13
#: templates/web/fixmystreet/auth/general.html:20
-#: templates/web/fixmystreet/report/display.html:125
+#: templates/web/fixmystreet/report/display.html:120
msgid "Email"
msgstr "E-post"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1083
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1126
msgid "Email added to abuse list"
msgstr "E-post lagd til misbrukliste"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1080
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1123
msgid "Email already in abuse list"
msgstr "E-post allereie i misbruklista"
-#: templates/web/default/around/display_location.html:83
+#: templates/web/default/around/display_location.html:85
msgid "Email me new local problems"
msgstr "Send meg e-post om lokale problem"
-#: templates/web/default/report/display.html:35
+#: templates/web/default/report/display.html:30
msgid "Email me updates"
msgstr "Send meg oppdateringar"
-#: templates/web/default/admin/council_contacts.html:73
+#: templates/web/default/admin/council_contacts.html:77
#: templates/web/default/admin/council_edit.html:26
#: templates/web/default/admin/report_edit.html:31
#: templates/web/default/admin/update_edit.html:24
#: templates/web/default/admin/user_edit.html:11
#: templates/web/default/alert/updates.html:13
-#: templates/web/default/report/display.html:39
+#: templates/web/default/report/display.html:34
msgid "Email:"
msgstr "E-post:"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:537
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:611
msgid "Empty flat or maisonette"
msgstr "Tom leilegheit"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:536
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:610
msgid "Empty house or bungalow"
msgstr "Tomt hus eller bungalow"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:539
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:613
msgid "Empty office or other commercial"
msgstr "Tomt kontor eller forretningsbygg"
@@ -831,11 +888,11 @@ msgstr "Tomt kontor eller forretningsbygg"
msgid "Empty property details form"
msgstr "Tom eigedom detaljskjema"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:540
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:614
msgid "Empty pub or bar"
msgstr "Tom pub eller bar"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:541
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:615
msgid "Empty public building - school, hospital, etc."
msgstr "Tom offentleg bygning – skule, sjukehus, osb."
@@ -852,37 +909,45 @@ msgid "End month:"
msgstr "Sluttmånad:"
# GB – Great Britain? --KBU
-#: templates/web/default/around/around_index.html:10
-#: templates/web/default/around/around_index.html:13
-#: templates/web/default/index.html:24 templates/web/default/index.html:27
#: templates/web/emptyhomes/index.html:40
-#: templates/web/emptyhomes/index.html:43
-#: templates/web/fixmystreet/around/around_index.html:10
-#: templates/web/fixmystreet/around/around_index.html:13
-#: templates/web/fixmystreet/index.html:32
-#: templates/web/fixmystreet/index.html:35
+#: templates/web/emptyhomes/index.html:41
msgid "Enter a nearby GB postcode, or street name and area"
msgstr "Skriv inn GB-postnummer i nærleiken, eller vegnamn og stad"
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:32
+#: perllib/FixMyStreet/Cobrand/UK.pm:18
+#, fuzzy
+msgid "Enter a nearby UK postcode, or street name and area"
+msgstr "Skriv inn postnummer i nærleiken, eller vegnamn og stad"
+
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:25
msgid "Enter a nearby postcode, or street name and area"
msgstr "Skriv inn postnummer i nærleiken, eller vegnamn og stad"
+#: templates/web/default/around/postcode_form.html:1
+#: templates/web/default/around/postcode_form.html:2
+#: templates/web/fixmystreet/around/postcode_form.html:10
+#: templates/web/fixmystreet/around/postcode_form.html:11
+#, fuzzy
+msgid "Enter a nearby street name and area"
+msgstr "Skriv inn postnummer i nærleiken, eller vegnamn og stad"
+
#: templates/web/default/auth/general.html:64
-#: templates/web/default/report/display.html:176
+#: templates/web/default/report/display.html:171
#: templates/web/default/report/new/fill_in_details_form.html:169
msgid "Enter a new password:"
msgstr "Skriv inn eit nytt passord:"
+#: templates/web/bromley/report/display.html:148
+#: templates/web/bromley/report/new/fill_in_details_form.html:189
#: templates/web/fixmystreet/auth/general.html:57
-#: templates/web/fixmystreet/report/display.html:165
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:194
+#: templates/web/fixmystreet/report/display.html:160
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:200
#, fuzzy
msgid "Enter a password"
msgstr "Skriv inn eit nytt passord:"
-#: templates/web/default/index.html:44 templates/web/emptyhomes/index.html:60
-#: templates/web/fixmystreet/index.html:55
+#: templates/web/default/index.html:33 templates/web/emptyhomes/index.html:58
+#: templates/web/fixmystreet/index.html:41
msgid "Enter details of the problem"
msgstr "Legg inn detaljar om problemet"
@@ -893,7 +958,6 @@ msgstr "Legg inn detaljar om problemet"
#: templates/web/default/tokens/abuse.html:3
#: templates/web/default/tokens/error.html:1
#: templates/web/default/tokens/error.html:3
-#: templates/web/fixmystreet/auth/token.html:5
msgid "Error"
msgstr "Feil"
@@ -906,6 +970,12 @@ msgstr "Postnummerdøme %s"
msgid "Examples:"
msgstr "Døme:"
+#: templates/web/default/admin/report_edit.html:40
+#, fuzzy
+msgid "Extra data:"
+msgstr "Data om merkevaresamarbeid:"
+
+#: templates/web/bromley/contact/submit.html:14
#: templates/web/default/contact/submit.html:15
msgid ""
"Failed to send message. Please try again, or <a href=\"mailto:%s\">email "
@@ -914,6 +984,13 @@ msgstr ""
"Klarte ikkje å senda meldinga. Ver venleg og prøv igjen seinare eller <a "
"href=\"mailto:%s\">send oss ein e-post</a>."
+#: templates/web/bromley/report/display.html:189
+#: templates/web/bromley/report/new/fill_in_details_form.html:113
+#: templates/web/bromley/report/new/fill_in_details_form.html:160
+#, fuzzy
+msgid "First Name"
+msgstr "Første gong"
+
#: templates/web/default/questionnaire/index.html:79
#: templates/web/fixmystreet/questionnaire/index.html:73
msgid "First time"
@@ -937,13 +1014,7 @@ msgstr "FiksGataMi-administrator:"
msgid "FixMyStreet administration"
msgstr "Fiksgatami-administrasjon"
-#: templates/web/fixmystreet/static/for_councils.html:1
-#, fuzzy
-msgid "FixMyStreet for Councils"
-msgstr "Finn ut om FiksGataMi for det offentlege"
-
-#: templates/web/default/alert/index.html:6
-#: templates/web/fixmystreet/alert/index.html:6
+#: templates/web/default/alert/index.html:11
msgid ""
"FixMyStreet has a variety of RSS feeds and email alerts for local problems, "
"including\n"
@@ -957,8 +1028,8 @@ msgstr ""
"innan ein gitt distanse frå ein viss posisjon."
# var bokmålen tilstrekkeleg her? --KBU
-#: templates/web/default/alert/list.html:98
-#: templates/web/fixmystreet/alert/_list.html:69
+#: templates/web/default/alert/_list.html:71
+#: templates/web/fixmystreet/alert/_list.html:73
msgid ""
"FixMyStreet sends different categories of problem\n"
"to the appropriate council, so problems within the boundary of a particular "
@@ -974,14 +1045,18 @@ msgstr ""
"FiksGataMi sender ulike kategoriar problem til ulike administrasjonar, "
"problem som gjeld fleire administrasjonar vert send til alle dei det gjeld."
-#: perllib/FixMyStreet/Cobrand/FixMyStreet.pm:20
+#: templates/web/bromley/report/display.html:80
+#: templates/web/bromley/report/display.html:82
#: templates/web/default/admin/index.html:36
#: templates/web/default/admin/report_edit.html:18
#: templates/web/default/admin/report_edit.html:20
-#: templates/web/default/report/display.html:84
-#: templates/web/default/report/display.html:86
-#: templates/web/fixmystreet/report/display.html:79
-#: templates/web/fixmystreet/report/display.html:81
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/dashboard/index.html:138
+#: templates/web/default/report/display.html:79
+#: templates/web/default/report/display.html:81
+#: templates/web/fixmystreet/report/banner.html:12
+#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/fixmystreet/report/display.html:76
msgid "Fixed"
msgstr "Løyst"
@@ -1011,14 +1086,14 @@ msgstr "Flagg brukar"
msgid "Flagged"
msgstr "Flagga:"
-#: templates/web/default/admin/report_edit.html:41
+#: templates/web/default/admin/report_edit.html:42
#: templates/web/default/admin/user_edit.html:18
msgid "Flagged:"
msgstr "Flagga:"
-#: templates/web/default/reports/council.html:24
-#: templates/web/default/reports/council.html:87
+#: templates/web/default/reports/_ward-list.html:3
#: templates/web/emptyhomes/reports/council.html:19
+#: templates/web/fixmystreet/reports/_ward-list.html:4
msgid "Follow a ward link to view only reports within that ward."
msgstr "Følg ei bydellenkje for å berre sjå rapportar innanfor den bydelen."
@@ -1032,6 +1107,8 @@ msgstr "For administrasjon(ane):"
#: templates/web/fiksgatami/faq/faq-nb.html:1
#: templates/web/fiksgatami/nn/faq/faq-nn.html:1
#: templates/web/fixmystreet/faq/faq-en-gb.html:1
+#: templates/web/fixmystreet/static/privacy.html:1
+#: templates/web/zurich/faq/faq-de.html:1
msgid "Frequently Asked Questions"
msgstr "Ofte spurde spurnader"
@@ -1043,31 +1120,37 @@ msgstr "Meir informasjon om arbeidet vårt med tomme heimar."
msgid "GeoRSS on Google Maps"
msgstr "GeoRSS på Google Maps"
-#: templates/web/fixmystreet/report/display.html:28
+#: templates/web/bromley/report/display.html:30
+#: templates/web/fixmystreet/report/display.html:23
#, fuzzy
msgid "Get updates"
msgstr "Siste oppdatering:"
-#: templates/web/default/reports/council.html:72
+#: templates/web/fixmystreet/reports/_rss.html:3
+#: templates/web/fixmystreet/reports/_rss.html:9
+#, fuzzy
+msgid "Get updates of %s problems"
+msgstr "RSS-straum for problem i denne %s-en"
+
+#: templates/web/fixmystreet/reports/_rss.html:11
+#: templates/web/fixmystreet/reports/_rss.html:3
#, fuzzy
msgid "Get updates of problems in this %s"
msgstr "RSS-straum for problem i denne %s-en"
-#: templates/web/default/alert/list.html:110
-#: templates/web/fixmystreet/alert/_list.html:78
+#: templates/web/default/alert/_list.html:83
+#: templates/web/fixmystreet/alert/_list.html:82
msgid "Give me an RSS feed"
msgstr "Gje meg ein RSS-straum"
-#: templates/web/default/alert/index.html:24
-#: templates/web/default/around/around_index.html:17
-#: templates/web/default/index.html:33 templates/web/emptyhomes/index.html:49
-#: templates/web/fixmystreet/alert/index.html:25
-#: templates/web/fixmystreet/around/around_index.html:20
-#: templates/web/fixmystreet/index.html:42
+#: templates/web/default/alert/index.html:34
+#: templates/web/default/around/postcode_form.html:8
+#: templates/web/emptyhomes/index.html:47
+#: templates/web/fixmystreet/around/postcode_form.html:18
msgid "Go"
msgstr "Hald fram"
-#: templates/web/default/admin/report_edit.html:40
+#: templates/web/default/admin/report_edit.html:41
msgid "Going to send questionnaire?"
msgstr "Skal spørjeskjemaet sendast?"
@@ -1095,7 +1178,8 @@ msgstr ""
"Har du rapportert eit problem til ein administrasjon før, eller er dette "
"første gongen?"
-#: templates/web/bromley/footer.html:41 templates/web/default/footer.html:15
+#: templates/web/barnet/footer.html:24 templates/web/bromley/footer.html:25
+#: templates/web/bromley/header.html:81 templates/web/default/footer.html:15
#: templates/web/emptyhomes/header.html:28
#: templates/web/fiksgatami/footer.html:9
#: templates/web/fiksgatami/nn/footer.html:9
@@ -1104,13 +1188,16 @@ msgstr ""
msgid "Help"
msgstr "Hjelp"
-#: templates/web/default/alert/list.html:37
+#: templates/web/default/alert/_list.html:6
#: templates/web/fixmystreet/alert/_list.html:8
msgid "Here are the types of local problem alerts for &lsquo;%s&rsquo;."
msgstr "Her er dei ulike typane lokale problemvarsel for &laquo;%s&raquo;."
-#: templates/web/bromley/header.html:46
-#: templates/web/fixmystreet/header.html:46
+#: templates/web/barnet/header.html:70 templates/web/bromley/header.html:64
+#: templates/web/bromley/header.html:99
+#: templates/web/fixmybarangay/header.html.orig:42
+#: templates/web/fixmystreet/header.html:47
+#: templates/web/zurich/header.html:47
msgid "Hi %s"
msgstr ""
@@ -1134,12 +1221,12 @@ msgstr "Skjul nåler"
msgid "History"
msgstr "Historie"
-#: templates/web/default/index.html:39 templates/web/emptyhomes/index.html:55
-#: templates/web/fixmystreet/index.html:50
+#: templates/web/default/index.html:28 templates/web/emptyhomes/index.html:53
+#: templates/web/fixmystreet/index.html:36
msgid "How to report a problem"
msgstr "Korleis rapportera eit problem"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:592
+#: perllib/FixMyStreet/App/Controller/Admin.pm:637
msgid "I am afraid you cannot confirm unconfirmed reports."
msgstr "Eg er redd du ikkje kan stadfesta ustadfesta rapportar."
@@ -1147,7 +1234,7 @@ msgstr "Eg er redd du ikkje kan stadfesta ustadfesta rapportar."
msgid "I'm afraid we couldn't locate your problem in the database.\n"
msgstr "Eg er redd vi ikkje klarte å finna problemet ditt i databasen.\n"
-#: perllib/FixMyStreet/App/Controller/Tokens.pm:43
+#: perllib/FixMyStreet/App/Controller/Tokens.pm:44
msgid ""
"I'm afraid we couldn't validate that token, as the report was made too long "
"ago."
@@ -1155,7 +1242,7 @@ msgstr ""
"Eg er redd vi ikkje kunne verifisera den referansen, då det er for lenge "
"sidan rapporten vart laga."
-#: perllib/FixMyStreet/App/Controller/Tokens.pm:233
+#: perllib/FixMyStreet/App/Controller/Tokens.pm:235
msgid ""
"I'm afraid we couldn't validate that token. If you've copied the URL from an "
"email, please check that you copied it exactly.\n"
@@ -1171,8 +1258,6 @@ msgstr "ID"
#: templates/web/default/report/new/councils_text_none.html:11
#: templates/web/default/report/new/councils_text_none.html:12
-#: templates/web/fixmystreet/report/new/councils_text_none.html:10
-#: templates/web/fixmystreet/report/new/councils_text_none.html:9
msgid ""
"If you submit a problem here the subject and details of the problem will be "
"public, but the problem will <strong>not</strong> be reported to the council."
@@ -1194,7 +1279,6 @@ msgstr ""
#: templates/web/default/auth/token.html:23
#: templates/web/default/email_sent.html:24
-#: templates/web/fixmystreet/auth/token.html:23
msgid ""
"If you use web-based email or have 'junk mail' filters, you may wish to "
"check your bulk/spam mail folders: sometimes, our messages are marked that "
@@ -1223,12 +1307,16 @@ msgstr "Ugyldig ID"
msgid "Illegal feed selection"
msgstr "Ugyldig val av straum"
+#: templates/web/bromley/report/display.html:80
+#: templates/web/bromley/report/display.html:82
#: templates/web/default/admin/report_edit.html:18
#: templates/web/default/admin/report_edit.html:20
-#: templates/web/default/report/display.html:84
-#: templates/web/default/report/display.html:86
-#: templates/web/fixmystreet/report/display.html:79
-#: templates/web/fixmystreet/report/display.html:81
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/dashboard/index.html:138
+#: templates/web/default/report/display.html:79
+#: templates/web/default/report/display.html:81
+#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/fixmystreet/report/display.html:76
msgid "In Progress"
msgstr "Under arbeid"
@@ -1244,7 +1332,7 @@ msgstr ""
"av description), interface_used, comment_count, requestor_name (berre "
"tilstades viss innsendar tillét at namnet kunne visast på denne nettstaden)."
-#: perllib/FixMyStreet/Cobrand/FixMyStreet.pm:29
+#: templates/web/fixmystreet/report/banner.html:19
#, fuzzy
msgid "In progress"
msgstr "Under arbeid"
@@ -1253,32 +1341,36 @@ msgstr "Under arbeid"
msgid "Include unconfirmed reports"
msgstr "Inkluder ikkje-stadfesta problem"
-#: perllib/FixMyStreet/App/Controller/Open311.pm:358
+#: perllib/FixMyStreet/App/Controller/Open311.pm:356
msgid "Incorrect has_photo value \"%s\""
msgstr "Feil has_photo-verdi «%s»"
-#: perllib/FixMyStreet/App/Controller/Open311.pm:343
+#: perllib/FixMyStreet/App/Controller/Open311.pm:341
msgid "Invalid agency_responsible value %s"
msgstr "Ugyldig agency_responsible-verdi %s"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:899
+#: perllib/FixMyStreet/App/Controller/Admin.pm:942
msgid "Invalid end date"
msgstr "Ugyldig slutt-dato"
-#: perllib/FixMyStreet/App/Controller/Open311.pm:426
+#: perllib/FixMyStreet/App/Controller/Open311.pm:432
msgid "Invalid format %s specified."
msgstr "Ugyldig format %s oppgjeve."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:889
+#: perllib/FixMyStreet/App/Controller/Admin.pm:932
msgid "Invalid start date"
msgstr "Ugyldig startdato"
+#: templates/web/bromley/report/display.html:80
+#: templates/web/bromley/report/display.html:81
#: templates/web/default/admin/report_edit.html:18
#: templates/web/default/admin/report_edit.html:19
-#: templates/web/default/report/display.html:84
-#: templates/web/default/report/display.html:85
-#: templates/web/fixmystreet/report/display.html:79
-#: templates/web/fixmystreet/report/display.html:80
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/dashboard/index.html:137
+#: templates/web/default/report/display.html:79
+#: templates/web/default/report/display.html:80
+#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/fixmystreet/report/display.html:75
msgid "Investigating"
msgstr "Undersøkjer"
@@ -1295,16 +1387,25 @@ msgid ""
"your concerns about this property to the council is a valuable first step."
msgstr ""
+#: templates/web/bromley/report/display.html:166
+#: templates/web/bromley/report/new/fill_in_details_form.html:209
#: templates/web/default/auth/general.html:44
-#: templates/web/default/report/display.html:156
+#: templates/web/default/report/display.html:151
#: templates/web/default/report/new/fill_in_details_form.html:149
#: templates/web/fixmystreet/auth/general.html:42
-#: templates/web/fixmystreet/report/display.html:149
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:164
+#: templates/web/fixmystreet/report/display.html:144
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:167
msgid "Keep me signed in on this computer"
msgstr "Hugs mi innlogging på denne datamaskina"
-#: templates/web/default/admin/council_contacts.html:35
+#: templates/web/bromley/report/display.html:195
+#: templates/web/bromley/report/new/fill_in_details_form.html:119
+#: templates/web/bromley/report/new/fill_in_details_form.html:166
+#, fuzzy
+msgid "Last Name"
+msgstr "Siste oppdatering:"
+
+#: templates/web/default/admin/council_contacts.html:39
msgid "Last editor"
msgstr "Sist redigert av"
@@ -1316,14 +1417,16 @@ msgstr "Siste oppdatering:"
msgid "Last&nbsp;update:"
msgstr "Siste&nbsp;oppdatering:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:985
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1028
msgid "List Flagged"
msgstr "Vis flagga"
-#: templates/web/default/admin/council_contacts.html:13
+#: templates/web/default/admin/council_contacts.html:14
+#: templates/web/default/admin/council_contacts.html:16
msgid "List all reported problems"
msgstr "Vis alle rapporterte problem"
+#: templates/web/bromley/report/new/fill_in_details_form.html:69
#: templates/web/default/report/new/fill_in_details_form.html:68
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:73
msgid "Loading..."
@@ -1340,12 +1443,6 @@ msgstr "Lastar …"
#: templates/web/default/tokens/confirm_alert.html:3
#: templates/web/emptyhomes/alert/index.html:1
#: templates/web/emptyhomes/alert/index.html:3
-#: templates/web/fixmystreet/alert/choose.html:1
-#: templates/web/fixmystreet/alert/choose.html:3
-#: templates/web/fixmystreet/alert/index.html:1
-#: templates/web/fixmystreet/alert/index.html:3
-#: templates/web/fixmystreet/alert/list.html:1
-#: templates/web/fixmystreet/alert/list.html:5
#: templates/web/fixmystreet/alert/updates.html:1
msgid "Local RSS feeds and email alerts"
msgstr "Lokal RSS-straum og e-postvarsel"
@@ -1354,14 +1451,11 @@ msgstr "Lokal RSS-straum og e-postvarsel"
#: templates/web/default/alert/list.html:12
#: templates/web/default/alert/list.html:14
#: templates/web/default/alert/list.html:3
-#: templates/web/fixmystreet/alert/list.html:1
-#: templates/web/fixmystreet/alert/list.html:12
-#: templates/web/fixmystreet/alert/list.html:14
-#: templates/web/fixmystreet/alert/list.html:3
msgid "Local RSS feeds and email alerts for ‘%s’"
msgstr "Lokal RSS-straum og e-postvarsel for «%s»"
-#: templates/web/bromley/footer.html:39 templates/web/default/footer.html:13
+#: templates/web/barnet/footer.html:22 templates/web/bromley/footer.html:23
+#: templates/web/bromley/header.html:79 templates/web/default/footer.html:13
#: templates/web/fiksgatami/footer.html:8
#: templates/web/fiksgatami/nn/footer.html:8
#: templates/web/fixmystreet/footer.html:51
@@ -1369,12 +1463,12 @@ msgstr "Lokal RSS-straum og e-postvarsel for «%s»"
msgid "Local alerts"
msgstr "Lokale varsel"
-#: templates/web/default/index.html:43 templates/web/emptyhomes/index.html:59
-#: templates/web/fixmystreet/index.html:54
+#: templates/web/default/index.html:32 templates/web/emptyhomes/index.html:57
+#: templates/web/fixmystreet/index.html:40
msgid "Locate the problem on a map of the area"
msgstr "Lokaliser problemet på kartet over området"
-#: perllib/FixMyStreet/Map/OSM.pm:43
+#: perllib/FixMyStreet/Map/OSM.pm:44
msgid ""
"Map &copy; <a id=\"osm_link\" href=\"http://www.openstreetmap.org/"
"\">OpenStreetMap</a> and contributors, <a href=\"http://creativecommons.org/"
@@ -1393,7 +1487,7 @@ msgstr "Melding:"
msgid "Message:"
msgstr "Melding:"
-#: perllib/FixMyStreet/App/Controller/Open311.pm:434
+#: perllib/FixMyStreet/App/Controller/Open311.pm:440
msgid "Missing jurisdiction_id"
msgstr "Manglar jurisdiction_id"
@@ -1401,7 +1495,7 @@ msgstr "Manglar jurisdiction_id"
msgid "Month"
msgstr "Månad"
-#: templates/web/default/report/display.html:31
+#: templates/web/default/report/display.html:26
msgid "More problems nearby"
msgstr "Fleire problem i nærleiken"
@@ -1415,9 +1509,9 @@ msgstr "Fleire problem i nærleiken"
#: templates/web/fiksgatami/nn/reports/index.html:9
#: templates/web/fiksgatami/reports/index.html:9
#: templates/web/fixmystreet/auth/general.html:52
-#: templates/web/fixmystreet/report/display.html:181
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:114
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:171
+#: templates/web/fixmystreet/report/display.html:177
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:117
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:176
msgid "Name"
msgstr "Namn"
@@ -1433,7 +1527,7 @@ msgstr "Namn:"
msgid "Navigation"
msgstr "Navigasjon"
-#: perllib/FixMyStreet/Geocode/OSM.pm:100
+#: perllib/FixMyStreet/Geocode/OSM.pm:159
msgid ""
"Nearest named road to the pin placed on the map (automatically generated "
"using OpenStreetMap): %s%s"
@@ -1441,7 +1535,7 @@ msgstr ""
"Næraste namngjevne veg til nålen plassert på kartet (automatisk generert ved "
"hjelp av OpenStreetMap): %s%s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:480
+#: perllib/FixMyStreet/Cobrand/UK.pm:161
msgid ""
"Nearest postcode to the pin placed on the map (automatically generated): %s "
"(%sm away)"
@@ -1449,8 +1543,8 @@ msgstr ""
"Næraste postnummer til nålen plassert på kartet (automatisk generert): %s "
"(%sm unna)"
-#: perllib/FixMyStreet/Cobrand/Default.pm:469
-#: perllib/FixMyStreet/Cobrand/Default.pm:520
+#: perllib/FixMyStreet/Cobrand/Default.pm:404
+#: perllib/FixMyStreet/Cobrand/Default.pm:444
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing "
"Maps): %s"
@@ -1458,7 +1552,7 @@ msgstr ""
"Næraste veg til nålen plassert på karta (automatisk generert ved hjelp av "
"Bing Maps): %s"
-#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:242
+#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:245
#, fuzzy
msgid ""
"Nearest road to the pin placed on the map (automatically generated by Bing "
@@ -1477,7 +1571,7 @@ msgstr "Nesten ferdig! No må du sjekka e-posten din …"
msgid "New <br>problems"
msgstr "Nye problem"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:311
+#: perllib/FixMyStreet/App/Controller/Admin.pm:314
msgid "New category contact added"
msgstr "Ny kategorikontakt lagt til"
@@ -1547,15 +1641,15 @@ msgstr "Ny tilstand"
msgid "New!"
msgstr "Ny!"
-#: templates/web/default/admin/council_contacts.html:44
-#: templates/web/default/admin/council_contacts.html:45
+#: templates/web/default/admin/council_contacts.html:48
+#: templates/web/default/admin/council_contacts.html:49
#: templates/web/default/admin/council_edit.html:4
#: templates/web/default/admin/list_updates.html:30
#: templates/web/default/admin/list_updates.html:31
#: templates/web/default/admin/list_updates.html:32
#: templates/web/default/admin/problem_row.html:19
#: templates/web/default/admin/report_edit.html:28
-#: templates/web/default/admin/report_edit.html:40
+#: templates/web/default/admin/report_edit.html:41
#: templates/web/default/admin/update_edit.html:16
#: templates/web/default/questionnaire/creator_fixed.html:16
#: templates/web/default/questionnaire/index.html:107
@@ -1570,7 +1664,7 @@ msgstr "Nei"
msgid "No council"
msgstr "Ingen administrasjon"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:320
+#: perllib/FixMyStreet/DB/Result/Problem.pm:328
msgid "No council selected"
msgstr "Ingen administrasjon er vald"
@@ -1590,13 +1684,13 @@ msgstr "Fann ingen flagga brukarar"
msgid "No info at all"
msgstr "Heilt utan informasjon"
-#: templates/web/default/around/around_map_list_items.html:15
-#: templates/web/fixmystreet/around/around_map_list_items.html:24
+#: templates/web/default/around/around_map_list_items.html:17
+#: templates/web/fixmystreet/around/around_map_list_items.html:8
msgid "No problems found."
msgstr "Fann ingen problem."
-#: templates/web/default/around/on_map_list_items.html:12
-#: templates/web/fixmystreet/around/on_map_list_items.html:21
+#: templates/web/default/around/on_map_list_items.html:14
+#: templates/web/fixmystreet/around/on_map_list_items.html:6
msgid "No problems have been reported yet."
msgstr "Ingen problem er rapporterte"
@@ -1609,13 +1703,13 @@ msgstr "Ingen"
msgid "Not reported before"
msgstr "Ikkje rapportert tidlegare"
-#: templates/web/default/report/_main.html:9
+#: templates/web/default/report/_main.html:11
#: templates/web/emptyhomes/report/display.html:24
-#: templates/web/fixmystreet/report/_main.html:11
+#: templates/web/fixmystreet/report/_main.html:13
msgid "Not reported to council"
msgstr "Ikkje rapportert til administrasjonen"
-#: templates/web/default/admin/council_contacts.html:36
+#: templates/web/default/admin/council_contacts.html:40
#: templates/web/default/admin/council_edit.html:46
msgid "Note"
msgstr "Merk"
@@ -1630,7 +1724,7 @@ msgstr ""
"var oppretta. Det treng vera den same månaden som rapporten var stadfesta, "
"så tala kan hoppa litt opp og ned."
-#: templates/web/default/admin/council_contacts.html:85
+#: templates/web/default/admin/council_contacts.html:89
#: templates/web/default/admin/council_edit.html:31
msgid "Note:"
msgstr "Merk:"
@@ -1639,7 +1733,7 @@ msgstr "Merk:"
msgid "Note: <strong>%s</strong>"
msgstr "Merk: <strong>%s</strong>"
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:146
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:149
#, fuzzy
msgid "Now to submit your report&hellip;"
msgstr "På tide å senda rapporten din, har du eit FiksGataMi-passord?"
@@ -1648,16 +1742,16 @@ msgstr "På tide å senda rapporten din, har du eit FiksGataMi-passord?"
msgid "Now to submit your report&hellip; do you have a FixMyStreet password?"
msgstr "På tide å senda rapporten din, har du eit FiksGataMi-passord?"
-#: templates/web/fixmystreet/report/display.html:132
+#: templates/web/fixmystreet/report/display.html:127
#, fuzzy
msgid "Now to submit your update&hellip;"
msgstr "På tide å registrera oppdateringa di, har du eit FiksGataMi-passord?"
-#: templates/web/default/report/display.html:138
+#: templates/web/default/report/display.html:133
msgid "Now to submit your update&hellip; do you have a FixMyStreet password?"
msgstr "På tide å registrera oppdateringa di, har du eit FiksGataMi-passord?"
-#: templates/web/default/report/display.html:26
+#: templates/web/default/report/display.html:21
#: templates/web/default/report/update.html:16
msgid "Offensive? Unsuitable? Tell us"
msgstr "Støytande? Upassende? Sei frå"
@@ -1698,10 +1792,12 @@ msgstr "Eldre løyste"
msgid "Older problems"
msgstr "Eldre problem"
+#: templates/web/bromley/report/display.html:80
#: templates/web/default/admin/report_edit.html:18
#: templates/web/default/admin/update_edit.html:19
-#: templates/web/default/report/display.html:84
-#: templates/web/fixmystreet/report/display.html:79
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/report/display.html:79
+#: templates/web/fixmystreet/report/display.html:74
msgid "Open"
msgstr "Opne"
@@ -1721,13 +1817,13 @@ msgstr "Nettsida til Open311-initiativet"
msgid "Open311 specification"
msgstr "Open311-spesifikasjon"
-#: templates/web/default/alert/list.html:85
-#: templates/web/fixmystreet/alert/_list.html:56
+#: templates/web/default/alert/_list.html:58
+#: templates/web/fixmystreet/alert/_list.html:60
msgid "Or problems reported to:"
msgstr "Eller problem meldt til:"
-#: templates/web/default/alert/list.html:61
-#: templates/web/fixmystreet/alert/_list.html:33
+#: templates/web/default/alert/_list.html:33
+#: templates/web/fixmystreet/alert/_list.html:36
msgid ""
"Or you can subscribe to an alert based upon what ward or council you&rsquo;"
"re in:"
@@ -1735,14 +1831,15 @@ msgstr ""
"Eller du kan abonnera på varsel basert på bydel eller administrasjon du "
"høyrer til under:"
-#: bin/send-reports:176 bin/send-reports:185
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:568
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:581
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:990
-#: perllib/FixMyStreet/DB/Result/Problem.pm:489
-#: perllib/FixMyStreet/DB/Result/Problem.pm:499
-#: perllib/FixMyStreet/DB/Result/Problem.pm:509
-#: perllib/FixMyStreet/DB/Result/Problem.pm:521
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:655
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:656
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:999
+#: perllib/FixMyStreet/DB/Result/Problem.pm:497
+#: perllib/FixMyStreet/DB/Result/Problem.pm:507
+#: perllib/FixMyStreet/DB/Result/Problem.pm:517
+#: perllib/FixMyStreet/DB/Result/Problem.pm:529
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:329
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:338
msgid "Other"
msgstr "Anna"
@@ -1768,53 +1865,62 @@ msgstr "Fann ikkje sida"
msgid "Partial"
msgstr "Delvis"
+#: templates/web/bromley/report/display.html:145
+#: templates/web/bromley/report/new/fill_in_details_form.html:186
#: templates/web/fixmystreet/auth/general.html:55
-#: templates/web/fixmystreet/report/display.html:162
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:191
+#: templates/web/fixmystreet/report/display.html:157
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:197
#, fuzzy
msgid "Password (optional)"
msgstr "(valfritt)"
#: templates/web/default/auth/change_password.html:25
-#: templates/web/fixmystreet/auth/change_password.html:25
msgid "Password:"
msgstr "Passord:"
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:130
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:188
+#: templates/web/bromley/report/new/fill_in_details_form.html:136
+#: templates/web/bromley/report/new/fill_in_details_form.html:183
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:133
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:194
#, fuzzy
msgid "Phone number (optional)"
msgstr "(valfritt)"
-#: bin/send-reports:70 templates/web/default/admin/report_edit.html:32
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:260
+#: templates/web/default/admin/report_edit.html:32
#: templates/web/default/report/new/fill_in_details_form.html:215
msgid "Phone:"
msgstr "Telefon:"
-#: templates/web/fixmystreet/report/display.html:108
+#: templates/web/bromley/report/display.html:109
+#: templates/web/bromley/report/new/fill_in_details_form.html:104
+#: templates/web/fixmystreet/report/display.html:103
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:108
#, fuzzy
msgid "Photo"
msgstr "Bilete:"
#: templates/web/default/questionnaire/index.html:95
-#: templates/web/default/report/display.html:114
+#: templates/web/default/report/display.html:109
#: templates/web/default/report/new/fill_in_details_form.html:102
#: templates/web/fixmystreet/questionnaire/index.html:90
msgid "Photo:"
msgstr "Bilete:"
-#: templates/web/default/alert/list.html:27
-#: templates/web/fixmystreet/alert/list.html:27
+#: templates/web/default/alert/list.html:26
msgid "Photos of recent nearby reports"
msgstr "Bilete av nye problem i nærleiken"
+#: templates/web/bromley/report/display.html:80
+#: templates/web/bromley/report/display.html:81
#: templates/web/default/admin/report_edit.html:18
#: templates/web/default/admin/report_edit.html:19
-#: templates/web/default/report/display.html:84
-#: templates/web/default/report/display.html:85
-#: templates/web/fixmystreet/report/display.html:79
-#: templates/web/fixmystreet/report/display.html:80
+#: templates/web/default/dashboard/index.html:136
+#: templates/web/default/dashboard/index.html:137
+#: templates/web/default/report/display.html:79
+#: templates/web/default/report/display.html:80
+#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/fixmystreet/report/display.html:75
msgid "Planned"
msgstr "Planlagt"
@@ -1832,13 +1938,10 @@ msgstr "Ver høfleg, poengtert og kortfatta."
#: templates/web/default/auth/change_password.html:12
#: templates/web/default/auth/change_password.html:17
-#: templates/web/fixmystreet/auth/change_password.html:12
-#: templates/web/fixmystreet/auth/change_password.html:17
msgid "Please check the passwords and try again"
msgstr "Ver venleg og sjekk passorda og prøv igjen"
#: templates/web/default/auth/token.html:17
-#: templates/web/fixmystreet/auth/token.html:17
msgid "Please check your email"
msgstr "Ver venleg og sjekk e-posten du oppgav"
@@ -1849,18 +1952,25 @@ msgstr "Ver venleg og sjekk e-posten du oppgav"
msgid "Please check your email address is correct"
msgstr "Ver venleg og sjekk at du har skrive ei gyldig e-postadresse"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:739
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:758
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:795
-#: perllib/FixMyStreet/DB/Result/Problem.pm:339
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:819
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:826
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:845
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:884
+#: perllib/FixMyStreet/DB/Result/Problem.pm:347
#: templates/web/default/js/validation_strings.html:9
msgid "Please choose a category"
msgstr "Vel ein kategori"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:345
+#: perllib/FixMyStreet/DB/Result/Problem.pm:353
msgid "Please choose a property type"
msgstr "Vel ein type eigenskap"
+#: templates/web/bromley/report/new/fill_in_details_form.html:64
+msgid ""
+"Please describe the exact location of the report. Example: “2 dumped "
+"mattresses outside Number 19 Stockwell Close”"
+msgstr ""
+
#: templates/web/default/contact/blurb.html:2
msgid ""
"Please do <strong>not</strong> report problems through this form; messages "
@@ -1882,42 +1992,40 @@ msgstr ""
"Ikkje ver ufin &mdash; å kjefta på administrasjonen din skader verdet av "
"tenesta for alle brukarane."
-#: perllib/FixMyStreet/DB/Result/Comment.pm:113
+#: perllib/FixMyStreet/DB/Result/Comment.pm:146
#: templates/web/default/js/validation_strings.html:2
msgid "Please enter a message"
msgstr "Ver venleg og skriv ei melding"
#: templates/web/default/auth/change_password.html:12
#: templates/web/default/auth/change_password.html:15
-#: templates/web/fixmystreet/auth/change_password.html:12
-#: templates/web/fixmystreet/auth/change_password.html:15
msgid "Please enter a password"
msgstr "Skriv inn eit passord"
#: perllib/FixMyStreet/App/Controller/Contact.pm:97
-#: perllib/FixMyStreet/DB/Result/Problem.pm:314
+#: perllib/FixMyStreet/DB/Result/Problem.pm:322
#: templates/web/default/js/validation_strings.html:3
msgid "Please enter a subject"
msgstr "Ver venleg og legg inn eit emne"
-#: perllib/FixMyStreet/DB/Result/User.pm:96
+#: perllib/FixMyStreet/DB/Result/User.pm:104
#: templates/web/default/js/validation_strings.html:12
#: templates/web/default/js/validation_strings.html:16
msgid "Please enter a valid email"
msgstr "Ver venleg og legg til ein gyldig e-post"
-#: perllib/FixMyStreet/App/Controller/Alert.pm:342
+#: perllib/FixMyStreet/App/Controller/Alert.pm:346
#: perllib/FixMyStreet/App/Controller/Contact.pm:107
msgid "Please enter a valid email address"
msgstr "Ver venleg og legg inn e-postadressa di"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:317
+#: perllib/FixMyStreet/DB/Result/Problem.pm:325
#: templates/web/default/js/validation_strings.html:4
msgid "Please enter some details"
msgstr "Ver venleg og legg inn opplysningar om problemet"
#: perllib/FixMyStreet/App/Controller/Contact.pm:96
-#: perllib/FixMyStreet/DB/Result/User.pm:93
+#: perllib/FixMyStreet/DB/Result/User.pm:101
#: templates/web/default/auth/general.html:13
#: templates/web/default/auth/general.html:8
#: templates/web/default/js/validation_strings.html:11
@@ -1927,12 +2035,18 @@ msgstr "Ver venleg og legg inn opplysningar om problemet"
msgid "Please enter your email"
msgstr "Ver venleg og legg inn e-posten din"
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:143
+#: templates/web/bromley/report/new/fill_in_details_form.html:149
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:146
#, fuzzy
msgid "Please enter your email address"
msgstr "Ver venleg og legg inn e-posten din"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:332
+#: templates/web/default/js/validation_strings.html:19
+#, fuzzy
+msgid "Please enter your first name"
+msgstr "Ver venleg og legg inn namnet ditt"
+
+#: perllib/FixMyStreet/DB/Result/Problem.pm:340
#: templates/web/default/js/validation_strings.html:7
#, fuzzy
msgid ""
@@ -1944,13 +2058,23 @@ msgstr ""
"visast."
#: perllib/FixMyStreet/App/Controller/Contact.pm:95
-#: perllib/FixMyStreet/DB/Result/Comment.pm:110
-#: perllib/FixMyStreet/DB/Result/Problem.pm:325
-#: perllib/FixMyStreet/DB/Result/User.pm:89
+#: perllib/FixMyStreet/DB/Result/Comment.pm:143
+#: perllib/FixMyStreet/DB/Result/Problem.pm:333
+#: perllib/FixMyStreet/DB/Result/User.pm:97
#: templates/web/default/js/validation_strings.html:6
msgid "Please enter your name"
msgstr "Ver venleg og legg inn namnet ditt"
+#: templates/web/default/js/validation_strings.html:20
+#, fuzzy
+msgid "Please enter your second name"
+msgstr "Ver venleg og legg inn namnet ditt"
+
+#: templates/web/default/js/validation_strings.html:18
+#, fuzzy
+msgid "Please enter your title"
+msgstr "Ver venleg og legg inn e-posten din"
+
#: templates/web/emptyhomes/report/new/fill_in_details_text.html:1
msgid ""
"Please fill in details of the empty property below, saying what type of\n"
@@ -1992,6 +2116,7 @@ msgstr ""
msgid "Please fill in details of the problem."
msgstr "Ver venleg og fyll ut detaljar om problemet under."
+#: templates/web/bromley/report/new/fill_in_details_form.html:28
#: templates/web/default/report/new/fill_in_details_form.html:27
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:34
msgid ""
@@ -2005,8 +2130,11 @@ msgstr ""
msgid "Please indicate whether you'd like to receive another questionnaire"
msgstr "Ver venleg og indiker om du ynskjer å motta eit nytt spørjeskjema"
-#: templates/web/default/report/display.html:61
-#: templates/web/fixmystreet/report/display.html:59
+#: templates/web/fixmystreet/report/updates-sidebar-notes.html:3
+msgid "Please note that updates are not sent to the council."
+msgstr ""
+
+#: templates/web/default/report/display.html:56
msgid ""
"Please note that updates are not sent to the council. If you leave your name "
"it will be public. Your information will only be used in accordance with our "
@@ -2017,6 +2145,19 @@ msgstr ""
"Informasjonen din vil berre brukast i samsvar med <a href=\"/faq#privacy"
"\">personvernpolicyen vår</a>"
+#: templates/web/barnet/report/updates-sidebar-notes.html:1
+#, fuzzy
+msgid ""
+"Please note that updates are not sent to the relevant department. If you "
+"leave your name it will be public. Your information will only be used in "
+"accordance with our <a href=\"/faq#privacy\">privacy policy</a>"
+msgstr ""
+"Merk at oppdateringar ikkje vert sende til administrasjonen. Viss du\n"
+"legg igjen namnet ditt så vil det vera offentleg tilgjengeleg.\n"
+"Informasjonen din vil berre brukast i samsvar med <a href=\"/faq#privacy"
+"\">personvernpolicyen vår</a>"
+
+#: templates/web/bromley/report/new/fill_in_details_form.html:23
#: templates/web/default/report/new/fill_in_details_form.html:5
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:25
msgid ""
@@ -2041,7 +2182,7 @@ msgstr ""
msgid "Please provide some text as well as a photo"
msgstr "Ver venleg og bidra med litt tekst i tillegg til eit bilete"
-#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:115
+#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:116
#: perllib/FixMyStreet/App/Controller/Questionnaire.pm:237
msgid ""
"Please say whether you've ever reported a problem to your council before"
@@ -2065,27 +2206,36 @@ msgstr "Ver venleg og oppgje om dette problemet har vorte fiksa eller ikkje"
msgid "Please take a look at the updates that have been left."
msgstr "Ver venleg og sjå over oppdateringane som er lagt inn."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:843
+#: perllib/FixMyStreet/App/Controller/Photo.pm:176
msgid "Please upload a JPEG image only"
msgstr "Ver venleg og berre last opp JPEG-bilete"
+#: perllib/FixMyStreet/App/Controller/Photo.pm:183
+#, fuzzy
+msgid "Please upload a JPEG image only\n"
+msgstr "Ver venleg og berre last opp JPEG-bilete"
+
#: perllib/FixMyStreet/App/Controller/Contact.pm:98
msgid "Please write a message"
msgstr "Skriv inn ei melding"
-#: templates/web/fixmystreet/report/display.html:74
+#: templates/web/bromley/report/display.html:70
+#: templates/web/fixmystreet/report/display.html:69
#, fuzzy
msgid "Please write your update here"
msgstr "Skriv inn ei melding"
+#: templates/web/bromley/report/display.html:121
+#: templates/web/bromley/report/display.html:149
+#: templates/web/bromley/report/display.html:161
#: templates/web/default/contact/index.html:93
-#: templates/web/default/report/display.html:124
-#: templates/web/default/report/display.html:161
-#: templates/web/default/report/display.html:183
+#: templates/web/default/report/display.html:119
+#: templates/web/default/report/display.html:156
+#: templates/web/default/report/display.html:178
#: templates/web/fixmystreet/contact/index.html:93
-#: templates/web/fixmystreet/report/display.html:120
-#: templates/web/fixmystreet/report/display.html:144
-#: templates/web/fixmystreet/report/display.html:166
+#: templates/web/fixmystreet/report/display.html:115
+#: templates/web/fixmystreet/report/display.html:139
+#: templates/web/fixmystreet/report/display.html:161
msgid "Post"
msgstr "Send inn"
@@ -2093,11 +2243,11 @@ msgstr "Send inn"
msgid "Posted anonymously at %s"
msgstr "Publisert anonymt %s"
-#: templates/web/default/report/updates.html:17
+#: templates/web/default/report/updates.html:21
msgid "Posted by %s (<strong>%s</strong>) at %s"
msgstr "Lagt inn av %s (<strong>%s</strong>) %s"
-#: templates/web/default/report/updates.html:19
+#: templates/web/default/report/updates.html:23
msgid "Posted by %s at %s"
msgstr "Sendt inn av %s %s"
@@ -2121,7 +2271,7 @@ msgstr "Problem %s sendt til administrasjon %s"
msgid "Problem breakdown by state"
msgstr "Tilstandsfordeling av problem"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:776
+#: perllib/FixMyStreet/App/Controller/Admin.pm:819
msgid "Problem marked as open."
msgstr "Problem markert som ope."
@@ -2133,17 +2283,18 @@ msgstr "Endring av problemtilstand basert på spørjeundersøkingsresultat"
msgid "Problems"
msgstr "Problem"
-#: templates/web/default/around/display_location.html:79
+#: templates/web/default/around/display_location.html:81
msgid "Problems in this area"
msgstr "Problem i dette området"
-#: templates/web/fixmystreet/around/display_location.html:93
-#: templates/web/fixmystreet/report/display.html:29
+#: templates/web/bromley/report/display.html:31
+#: templates/web/fixmystreet/around/display_location.html:98
+#: templates/web/fixmystreet/report/display.html:24
#, fuzzy
msgid "Problems nearby"
msgstr "Fleire problem i nærleiken"
-#: templates/web/fixmystreet/around/display_location.html:92
+#: templates/web/fixmystreet/around/display_location.html:97
#, fuzzy
msgid "Problems on the map"
msgstr "Problem i dette området"
@@ -2152,29 +2303,30 @@ msgstr "Problem i dette området"
msgid "Problems recently reported fixed on FixMyStreet"
msgstr "Problem nyleg rapportert fiksa på FiksGataMi"
-#: templates/web/default/alert/list.html:50
+#: templates/web/default/alert/_list.html:19
#: templates/web/fixmystreet/alert/_list.html:21
msgid "Problems within %.1fkm of this location"
msgstr "Problem innanfor %.1fkm av denne posisjonen"
-#: perllib/FixMyStreet/Cobrand/Default.pm:748
-#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:162
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:177
+#: perllib/FixMyStreet/Cobrand/Default.pm:609
+#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:95
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:162
+#: perllib/FixMyStreet/Cobrand/UK.pm:240
msgid "Problems within %s"
msgstr "Problem innanfor %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:757
-#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:170
+#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:103
+#: perllib/FixMyStreet/Cobrand/UK.pm:254
msgid "Problems within %s ward"
msgstr "Problem innanfor %s bydel"
#: templates/web/default/reports/council.html:0
-#: templates/web/default/reports/council.html:17
+#: templates/web/default/reports/council.html:29
msgid "Problems within %s, FixMyStreet"
msgstr "Problem innanfor %s, FiksGataMi"
-#: templates/web/default/alert/list.html:67
-#: templates/web/fixmystreet/alert/_list.html:38
+#: templates/web/default/alert/_list.html:40
+#: templates/web/fixmystreet/alert/_list.html:42
msgid "Problems within the boundary of:"
msgstr "Problem innanfor grensene av:"
@@ -2182,24 +2334,37 @@ msgstr "Problem innanfor grensene av:"
msgid "Properties recently reported as put back to use on reportemptyhomes.com"
msgstr "Eigedomar nyleg rapportert som tilbake i bruk på reportemptyhomes.com"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:543
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:617
msgid "Property type:"
msgstr "Type eigenskap:"
+#: templates/web/bromley/report/new/fill_in_details_form.html:52
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:62
#, fuzzy
msgid "Provide a title"
msgstr "Bidra med ei oppdatering"
-#: templates/web/default/report/display.html:56
-#: templates/web/fixmystreet/report/display.html:55
+#: templates/web/bromley/report/display.html:57
+#: templates/web/default/report/display.html:51
+#: templates/web/fixmystreet/report/display.html:50
msgid "Provide an update"
msgstr "Bidra med ei oppdatering"
-#: templates/web/default/report/display.html:180
+#: templates/web/bromley/report/new/fill_in_details_form.html:180
+#, fuzzy
+msgid ""
+"Providing a password is optional, but doing so will allow you to more easily "
+"report future problems, leave updates and manage your reports."
+msgstr ""
+"Det er valfritt å oppgje eit passord, men om du gjer det vil det verta "
+"enklare for deg å rapportera problem, leggja inn oppdateringar og halda "
+"oversyn over rapportane dine"
+
+#: templates/web/bromley/report/display.html:142
+#: templates/web/default/report/display.html:175
#: templates/web/default/report/new/fill_in_details_form.html:173
-#: templates/web/fixmystreet/report/display.html:159
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:185
+#: templates/web/fixmystreet/report/display.html:154
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:191
msgid ""
"Providing a password is optional, but doing so will allow you to more easily "
"report problems, leave updates and manage your reports."
@@ -2214,9 +2379,9 @@ msgstr ""
#: templates/web/default/questionnaire/index.html:14
#: templates/web/default/questionnaire/index.html:4
#: templates/web/fixmystreet/questionnaire/index.html:0
-#: templates/web/fixmystreet/questionnaire/index.html:15
-#: templates/web/fixmystreet/questionnaire/index.html:3
+#: templates/web/fixmystreet/questionnaire/index.html:14
#: templates/web/fixmystreet/questionnaire/index.html:32
+#: templates/web/fixmystreet/questionnaire/index.html:4
msgid "Questionnaire"
msgstr "Spørjeskjema"
@@ -2232,65 +2397,58 @@ msgstr "Spørjeskjema %d sendt for problem %d"
msgid "Questionnaire filled in by problem reporter"
msgstr "Spørjeskjema fylt inn av feilrapportøren"
-#: templates/web/fixmystreet/static/for_councils_faq.html:1
-#, fuzzy
-msgid "Questions and Answers :: FixMyStreet for Councils"
-msgstr "Finn ut om FiksGataMi for det offentlege"
-
-#: templates/web/default/alert/list.html:52
+#: templates/web/bromley/report/display.html:37
+#: templates/web/default/alert/_list.html:21
#: templates/web/default/around/display_location.html:1
#: templates/web/default/around/display_location.html:3
-#: templates/web/default/report/display.html:47
-#: templates/web/default/reports/council.html:79
+#: templates/web/default/report/display.html:42
+#: templates/web/default/reports/_rss.html:1
#: templates/web/fixmystreet/alert/_list.html:22
#: templates/web/fixmystreet/alert/updates.html:9
#: templates/web/fixmystreet/around/display_location.html:1
#: templates/web/fixmystreet/around/display_location.html:3
-#: templates/web/fixmystreet/report/display.html:35
+#: templates/web/fixmystreet/report/display.html:30
msgid "RSS feed"
msgstr "RSS-straum"
-#: perllib/FixMyStreet/Cobrand/Default.pm:786
-#: perllib/FixMyStreet/Cobrand/Default.pm:800
+#: perllib/FixMyStreet/Cobrand/UK.pm:283 perllib/FixMyStreet/Cobrand/UK.pm:295
msgid "RSS feed for %s"
msgstr "RSS-straum for %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:793
-#: perllib/FixMyStreet/Cobrand/Default.pm:807
+#: perllib/FixMyStreet/Cobrand/UK.pm:289 perllib/FixMyStreet/Cobrand/UK.pm:301
msgid "RSS feed for %s ward, %s"
msgstr "RSS-straum for %s bydel, %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:816
-#: perllib/FixMyStreet/Cobrand/Default.pm:830
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:193
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:201
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:211
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:219
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:178
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:186
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:196
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:204
+#: perllib/FixMyStreet/Cobrand/UK.pm:309 perllib/FixMyStreet/Cobrand/UK.pm:321
msgid "RSS feed of %s"
msgstr "RSS-straum frå %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:822
-#: perllib/FixMyStreet/Cobrand/Default.pm:836
+#: perllib/FixMyStreet/Cobrand/UK.pm:314 perllib/FixMyStreet/Cobrand/UK.pm:326
msgid "RSS feed of %s, within %s ward"
msgstr "RSS-straum av %s, innanfor %s bydel"
-#: templates/web/default/alert/list.html:52
+#: templates/web/default/alert/_list.html:21
#: templates/web/fixmystreet/alert/_list.html:22
msgid "RSS feed of nearby problems"
msgstr "RSS-straum med problem i nærleiken"
-#: templates/web/default/reports/council.html:79
+#: templates/web/default/reports/_rss.html:1
msgid "RSS feed of problems in this %s"
msgstr "RSS-straum for problem i denne %s-en"
-#: perllib/FixMyStreet/Cobrand/Default.pm:749
-#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:163
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:176
+#: perllib/FixMyStreet/Cobrand/Default.pm:610
+#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:96
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:161
+#: perllib/FixMyStreet/Cobrand/UK.pm:247
msgid "RSS feed of problems within %s"
msgstr "RSS-straum for problem innanfor %s"
-#: perllib/FixMyStreet/Cobrand/Default.pm:756
-#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:169
+#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:102
+#: perllib/FixMyStreet/Cobrand/UK.pm:253
msgid "RSS feed of problems within %s ward"
msgstr "RSS-straum for problem innanfor %s bydel"
@@ -2301,16 +2459,18 @@ msgstr "RSS-straum for problem innanfor %s bydel"
msgid "RSS feed of recent local problems"
msgstr "RSS-straum med nye lokale problem"
-#: templates/web/default/report/display.html:47
+#: templates/web/bromley/report/display.html:37
+#: templates/web/default/report/display.html:42
#: templates/web/fixmystreet/alert/updates.html:9
-#: templates/web/fixmystreet/report/display.html:35
+#: templates/web/fixmystreet/report/display.html:30
msgid "RSS feed of updates to this problem"
msgstr "RSS-straum med oppdateringar for dette problemet"
+#: templates/web/bromley/report/display.html:39
#: templates/web/default/alert/updates.html:9
-#: templates/web/default/report/display.html:38
+#: templates/web/default/report/display.html:33
#: templates/web/fixmystreet/alert/updates.html:14
-#: templates/web/fixmystreet/report/display.html:37
+#: templates/web/fixmystreet/report/display.html:32
msgid "Receive email when updates are left on this problem."
msgstr "Motta e-post når det er oppdateringar på dette problemet"
@@ -2332,7 +2492,7 @@ msgstr "Nyleg løyste problem"
msgid "Recently fixed"
msgstr "Nyleg løyste problem"
-#: templates/web/default/index.html:61 templates/web/fixmystreet/index.html:72
+#: templates/web/default/index.html:50 templates/web/fixmystreet/index.html:62
msgid "Recently reported problems"
msgstr "Nyleg melde problem"
@@ -2353,17 +2513,17 @@ msgstr ""
msgid "Remove flag"
msgstr "Fjern flagg"
-#: templates/web/default/admin/report_edit.html:52
+#: templates/web/default/admin/report_edit.html:53
#: templates/web/default/admin/update_edit.html:48
msgid "Remove photo (can't be undone!)"
msgstr "Fjern bilete (kan ikkje gjerast om!)"
-#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:77
+#: templates/web/emptyhomes/header.html:10
msgid "Report Empty Homes"
msgstr "Rapporter tomme heimar"
-#: templates/web/bromley/footer.html:33 templates/web/default/footer.html:7
-#: templates/web/emptyhomes/header.html:27
+#: templates/web/barnet/footer.html:16 templates/web/bromley/footer.html:17
+#: templates/web/default/footer.html:7 templates/web/emptyhomes/header.html:27
#: templates/web/fiksgatami/footer.html:5
#: templates/web/fiksgatami/nn/footer.html:5
#: templates/web/fixmystreet/footer.html:45
@@ -2371,7 +2531,8 @@ msgstr "Rapporter tomme heimar"
msgid "Report a problem"
msgstr "Rapporter eit problem"
-#: templates/web/fixmystreet/report/display.html:27
+#: templates/web/bromley/report/display.html:28
+#: templates/web/fixmystreet/report/display.html:22
#, fuzzy
msgid "Report abuse"
msgstr "Rapporter eit problem"
@@ -2381,23 +2542,24 @@ msgstr "Rapporter eit problem"
msgid "Report empty properties"
msgstr "Rapporter tomme heimar"
-#: perllib/FixMyStreet/App/Controller/Rss.pm:281
+#: perllib/FixMyStreet/App/Controller/Rss.pm:277
msgid "Report on %s"
msgstr "Rapport på %s"
-#: templates/web/default/index.html:15 templates/web/fixmystreet/index.html:28
+#: templates/web/default/index.html:15
+#: templates/web/fixmystreet/around/postcode_form.html:6
msgid "Report, view, or discuss local problems"
msgstr "Rapporter, finn eller diskuter lokale problem"
-#: templates/web/default/my/my.html:74 templates/web/fixmystreet/my/my.html:77
+#: templates/web/default/my/my.html:74
msgid "Reported %s"
msgstr "Rapportert %s"
-#: templates/web/default/my/my.html:72 templates/web/fixmystreet/my/my.html:75
+#: templates/web/default/my/my.html:72
msgid "Reported %s, to %s"
msgstr "Rapportert %s, til %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:504
+#: perllib/FixMyStreet/DB/Result/Problem.pm:512
#: templates/web/default/contact/index.html:45
#: templates/web/fixmystreet/contact/index.html:46
msgid "Reported anonymously at %s"
@@ -2409,33 +2571,33 @@ msgstr "Rapportert anonymt %s"
msgid "Reported before"
msgstr "Rapportert tidlegare"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:496
+#: perllib/FixMyStreet/DB/Result/Problem.pm:504
msgid "Reported by %s anonymously at %s"
msgstr "Publisert av %s anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:527
+#: perllib/FixMyStreet/DB/Result/Problem.pm:535
#: templates/web/default/contact/index.html:47
#: templates/web/fixmystreet/contact/index.html:48
msgid "Reported by %s at %s"
msgstr "Publisert av %s %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:518
+#: perllib/FixMyStreet/DB/Result/Problem.pm:526
msgid "Reported by %s by %s at %s"
msgstr "Rapportert av %s av %s %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:492
+#: perllib/FixMyStreet/DB/Result/Problem.pm:500
msgid "Reported by %s in the %s category anonymously at %s"
msgstr "Rapportert av %s i kategorien %s anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:512
+#: perllib/FixMyStreet/DB/Result/Problem.pm:520
msgid "Reported by %s in the %s category by %s at %s"
msgstr "Rapportert av %s i kategorien %s av %s %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:500
+#: perllib/FixMyStreet/DB/Result/Problem.pm:508
msgid "Reported in the %s category anonymously at %s"
msgstr "Rapportert i kategorien %s anonymt %s"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:522
+#: perllib/FixMyStreet/DB/Result/Problem.pm:530
msgid "Reported in the %s category by %s at %s"
msgstr "Rapportert i kategorien %s av %s %s"
@@ -2443,14 +2605,14 @@ msgstr "Rapportert i kategorien %s av %s %s"
#: templates/web/default/report/new/fill_in_details.html:0
#: templates/web/default/report/new/fill_in_details.html:3
#: templates/web/default/report/new/fill_in_details_form.html:1
-#: templates/web/fixmystreet/around/around_index.html:1
+#: templates/web/fixmystreet/around/around_index.html:2
#: templates/web/fixmystreet/report/new/fill_in_details.html:0
#: templates/web/fixmystreet/report/new/fill_in_details.html:5
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:2
msgid "Reporting a problem"
msgstr "Legger til eit problem"
-#: templates/web/default/around/display_location.html:93
+#: templates/web/default/around/display_location.html:95
msgid "Reports on and around the map"
msgstr "Problem i og rundt kartet"
@@ -2458,7 +2620,7 @@ msgstr "Problem i og rundt kartet"
msgid "Resend report"
msgstr "Send rapport på nytt"
-#: perllib/FixMyStreet/Geocode/OSM.pm:107
+#: perllib/FixMyStreet/Geocode/OSM.pm:166
msgid ""
"Road operator for this named road (derived from road reference number and "
"type): %s"
@@ -2466,7 +2628,7 @@ msgstr ""
"Vegoperatør for denne namngjevne vegen (utleia frå vegreferansenummer og "
"type): %s"
-#: perllib/FixMyStreet/Geocode/OSM.pm:104
+#: perllib/FixMyStreet/Geocode/OSM.pm:163
msgid "Road operator for this named road (from OpenStreetMap): %s"
msgstr "Vegoperatør for denne namngjevne vegen (frå OpenStreetMap): %s"
@@ -2474,7 +2636,7 @@ msgstr "Vegoperatør for denne namngjevne vegen (frå OpenStreetMap): %s"
msgid "Save changes"
msgstr "Lagra endringar"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:984
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1027
msgid "Search Abuse"
msgstr "Søk etter misbruk"
@@ -2482,13 +2644,13 @@ msgstr "Søk etter misbruk"
msgid "Search Abuse Table"
msgstr "Søk i misbruktabell"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:980
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1023
#: templates/web/default/admin/list_flagged.html:1
#: templates/web/default/admin/search_reports.html:1
msgid "Search Reports"
msgstr "Søk i rapportar"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:983
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1026
#: templates/web/default/admin/search_users.html:1
msgid "Search Users"
msgstr "Søk i brukarar"
@@ -2499,7 +2661,7 @@ msgstr "Søk i brukarar"
msgid "Search:"
msgstr "Søk:"
-#: templates/web/default/alert/list.html:39
+#: templates/web/default/alert/_list.html:8
#: templates/web/fixmystreet/alert/_list.html:10
msgid ""
"Select which type of alert you'd like and click the button for an RSS feed, "
@@ -2508,7 +2670,7 @@ msgstr ""
"Vel kva for ein type varsel du ynskjer og klikk på knappen for ei RSS-"
"kjelde, eller skriv inn e-postadressa di for å abonnera på eit e-postvarsel."
-#: perllib/FixMyStreet/DB/Result/Problem.pm:569
+#: perllib/FixMyStreet/DB/Result/Problem.pm:618
msgid "Sent to %s %s later"
msgstr "Sendt til %s %s seinare"
@@ -2541,11 +2703,14 @@ msgid ""
" significant contribution to the supply of affordable homes in Wales."
msgstr ""
-#: templates/web/default/report/display.html:213
+#: templates/web/bromley/report/display.html:203
+#: templates/web/bromley/report/new/fill_in_details_form.html:129
+#: templates/web/bromley/report/new/fill_in_details_form.html:175
+#: templates/web/default/report/display.html:208
#: templates/web/default/report/new/fill_in_details_form.html:210
-#: templates/web/fixmystreet/report/display.html:189
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:123
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:180
+#: templates/web/fixmystreet/report/display.html:185
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:126
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:186
msgid "Show my name publicly"
msgstr "Vis namnet mitt offentleg"
@@ -2559,13 +2724,14 @@ msgstr ""
msgid "Show pins"
msgstr "Vis nåler"
-#: templates/web/bromley/header.html:50
#: templates/web/default/auth/general.html:3
#: templates/web/default/auth/general.html:49
+#: templates/web/fixmybarangay/header.html.orig:46
#: templates/web/fixmystreet/auth/general.html:3
#: templates/web/fixmystreet/auth/general.html:38
#: templates/web/fixmystreet/auth/general.html:58
-#: templates/web/fixmystreet/header.html:50
+#: templates/web/fixmystreet/header.html:51
+#: templates/web/zurich/header.html:51
msgid "Sign in"
msgstr "Logg inn"
@@ -2578,12 +2744,12 @@ msgstr "Logg inn via epost"
msgid "Sign in or create an account"
msgstr "Logg inn eller opprett ein konto"
+#: templates/web/bromley/auth/sign_out.html:1
#: templates/web/default/auth/sign_out.html:1
#: templates/web/default/header.html:30
#: templates/web/emptyhomes/header.html:41
#: templates/web/fiksgatami/header.html:22
#: templates/web/fiksgatami/nn/header.html:22
-#: templates/web/fixmystreet/auth/sign_out.html:1
#: templates/web/lichfielddc/header.html:177
#: templates/web/reading/header.html:33
msgid "Sign out"
@@ -2603,8 +2769,7 @@ msgstr "Logga inn som %s"
msgid "Some categories may require additional information."
msgstr "Somme kategoriar krev kanskje meir informasjon"
-#: templates/web/default/alert/index.html:30
-#: templates/web/fixmystreet/alert/index.html:33
+#: templates/web/default/alert/index.html:42
msgid "Some photos of recent reports"
msgstr "Nokre bilete av nyleg melde problem"
@@ -2617,7 +2782,7 @@ msgstr "Noko tekst å omsetja"
msgid "Some unconfirmeds"
msgstr "Nokre ustadfesta"
-#: perllib/FixMyStreet/Cobrand/Default.pm:428
+#: perllib/FixMyStreet/Cobrand/UK.pm:97
msgid ""
"Sorry, that appears to be a Crown dependency postcode, which we don't cover."
msgstr ""
@@ -2630,14 +2795,15 @@ msgstr ""
"Orsak, men det oppstod eit problem når vi freista å stadfesta "
"problemrapporten din"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:147
-#: perllib/FixMyStreet/Geocode.pm:27 perllib/FixMyStreet/Geocode/Bing.pm:53
-#: perllib/FixMyStreet/Geocode/Google.pm:68
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:214
+#: perllib/FixMyStreet/Geocode.pm:27 perllib/FixMyStreet/Geocode/Bing.pm:51
+#: perllib/FixMyStreet/Geocode/Google.pm:69
msgid "Sorry, we could not find that location."
msgstr "Orsak, vi kunne ikkje finna den staden."
#: perllib/FixMyStreet/Geocode/Bing.pm:46
-#: perllib/FixMyStreet/Geocode/Google.pm:60
+#: perllib/FixMyStreet/Geocode/Google.pm:64
+#: perllib/FixMyStreet/Geocode/OSM.pm:59
msgid "Sorry, we could not parse that location. Please try again."
msgstr ""
"Orsak, vi kunne ikkje tolka den posisjonen. Ver venleg og prøv på nytt."
@@ -2659,20 +2825,21 @@ msgstr "Startdag:"
msgid "Start month:"
msgstr "Startmånad:"
+#: templates/web/bromley/report/display.html:78
#: templates/web/default/admin/list_flagged.html:18
#: templates/web/default/admin/list_updates.html:6
#: templates/web/default/admin/search_reports.html:21
-#: templates/web/fixmystreet/report/display.html:77
+#: templates/web/fixmystreet/report/display.html:72
msgid "State"
msgstr "Tilstand"
#: templates/web/default/admin/report_edit.html:17
#: templates/web/default/admin/update_edit.html:18
-#: templates/web/default/report/display.html:82
+#: templates/web/default/report/display.html:77
msgid "State:"
msgstr "Tilstand:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:986
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1029
#: templates/web/default/admin/stats.html:1
msgid "Stats"
msgstr "Statistikk"
@@ -2682,6 +2849,7 @@ msgstr "Statistikk"
msgid "Still open, via questionnaire, %s"
msgstr "Skal spørjeskjemaet sendast?"
+#: templates/web/bromley/report/new/fill_in_details_form.html:48
#: templates/web/fixmystreet/contact/index.html:79
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:58
#, fuzzy
@@ -2694,17 +2862,20 @@ msgstr "Emne:"
msgid "Subject:"
msgstr "Emne:"
+#: templates/web/bromley/report/new/fill_in_details_form.html:140
+#: templates/web/bromley/report/new/fill_in_details_form.html:190
+#: templates/web/bromley/report/new/fill_in_details_form.html:204
#: templates/web/default/questionnaire/creator_fixed.html:19
#: templates/web/default/report/new/fill_in_details_form.html:114
#: templates/web/default/report/new/fill_in_details_form.html:154
#: templates/web/default/report/new/fill_in_details_form.html:176
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:134
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:159
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:195
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:137
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:162
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:201
msgid "Submit"
msgstr "Send inn"
-#: templates/web/default/admin/report_edit.html:55
+#: templates/web/default/admin/report_edit.html:56
#: templates/web/default/admin/update_edit.html:51
#: templates/web/default/admin/user_edit.html:20
msgid "Submit changes"
@@ -2715,19 +2886,20 @@ msgstr "Send inn endringar"
msgid "Submit questionnaire"
msgstr "Send inn spørjeskjema"
+#: templates/web/bromley/report/display.html:44
#: templates/web/default/alert/updates.html:17
-#: templates/web/default/report/display.html:43
+#: templates/web/default/report/display.html:38
#: templates/web/fixmystreet/alert/updates.html:23
-#: templates/web/fixmystreet/report/display.html:42
+#: templates/web/fixmystreet/report/display.html:37
msgid "Subscribe"
msgstr "Abonner"
-#: templates/web/default/alert/list.html:126
-#: templates/web/fixmystreet/alert/_list.html:88
+#: templates/web/default/alert/_list.html:97
+#: templates/web/fixmystreet/alert/_list.html:92
msgid "Subscribe me to an email alert"
msgstr "Eg ynskjer å abonnera på e-postvarsel"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:978
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1021
#: templates/web/default/admin/index.html:1
msgid "Summary"
msgstr "Oppsummering"
@@ -2739,7 +2911,7 @@ msgstr "Oppsummering"
msgid "Summary reports"
msgstr "Oppsummeringsrapportar"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:982
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1025
#: templates/web/default/admin/questionnaire.html:1
msgid "Survey Results"
msgstr "Resultat frå spørjeundersøkinga"
@@ -2748,7 +2920,7 @@ msgstr "Resultat frå spørjeundersøkinga"
msgid "Text"
msgstr "Tekst"
-#: templates/web/default/admin/council_contacts.html:14
+#: templates/web/default/admin/council_contacts.html:18
msgid "Text only version"
msgstr "Tekst-utgåve"
@@ -2804,8 +2976,17 @@ msgstr ""
"Takk for at du brukar ReportEmptyHomes.com. Handlinga di bidreg\n"
"allereie til å løyse Storbritannias krise med tomme heimar."
-#: templates/web/default/around/around_index.html:43
-#: templates/web/fixmystreet/around/around_index.html:46
+#: templates/web/fixmystreet/around/around_index.html:27
+#, fuzzy
+msgid ""
+"Thanks for uploading your photo. We now need to locate your problem, so "
+"please enter a nearby street name or postcode in the box above&nbsp;:"
+msgstr ""
+"Takk for at du lasta opp biletet ditt. No treng vi å plassera\n"
+"problemet ditt, så ver venleg og skriv inn namn på ein veg i\n"
+"nærleiken, eller eit postnummer, i boksen under&nbsp:"
+
+#: templates/web/default/around/around_index.html:28
msgid ""
"Thanks for uploading your photo. We now need to locate your problem, so "
"please enter a nearby street name or postcode in the box below&nbsp;:"
@@ -2827,32 +3008,33 @@ msgstr ""
"Takk, glad for å høyra at problemet er løyst! Vi vil gjerne spørja deg om du "
"har rapportert eit problem til ein administrasjon tidlegare?"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:856
+#: perllib/FixMyStreet/App/Controller/Photo.pm:190
msgid ""
"That image doesn't appear to have uploaded correctly (%s), please try again."
msgstr ""
"Biletet ser ikkje ut til å ha vorte lasta opp riktig (%s), prøv på nytt."
-#: templates/web/default/alert/index.html:12
-#: templates/web/fixmystreet/alert/index.html:12
+#: perllib/FixMyStreet/App/Controller/Council.pm:91
+#, fuzzy
msgid ""
-"That location does not appear to be covered by a council, perhaps it is "
-"offshore - please try somewhere more specific."
+"That location does not appear to be covered by a council; perhaps it is "
+"offshore or outside the country. Please try again."
msgstr ""
"Den staden vert ikkje dekt av nokon administrasjon, kanskje det er til\n"
"havs – ver venleg og prøv ein meir spesifikk stad."
#: perllib/FixMyStreet/App/Controller/Location.pm:107
-msgid "That location does not appear to be in Britain; please try again."
+#, fuzzy
+msgid "That location does not appear to be in the UK; please try again."
msgstr ""
"Den staden synest ikkje å vera i Storbritannia. Ver venleg og prøv igjen."
-#: perllib/FixMyStreet/Cobrand/Default.pm:421
-#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:78
+#: perllib/FixMyStreet/Cobrand/FiksGataMi.pm:63
+#: perllib/FixMyStreet/Cobrand/UK.pm:90
msgid "That postcode was not recognised, sorry."
msgstr "Det postnummeret vart ikkje gjenkjent, orsak."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:560
+#: perllib/FixMyStreet/App/Controller/Admin.pm:605
msgid "That problem will now be resent."
msgstr "Det problemet vil no sendast på nytt."
@@ -2860,17 +3042,6 @@ msgstr "Det problemet vil no sendast på nytt."
msgid "That report has been removed from FixMyStreet."
msgstr "Den rapporten har vorte fjerna frå FiksGataMi."
-#: templates/web/default/around/around_index.html:26
-#: templates/web/fixmystreet/around/around_index.html:29
-msgid ""
-"That spot does not appear to be covered by a council. If you have tried to "
-"report an issue past the shoreline, for example, please specify the closest "
-"point on land."
-msgstr ""
-"Punktet ser ikkje ut til å vera dekt av ein administrasjon. Viss du til "
-"dømes har freista å rapportera eit problem utanfor kysten, marker næraste "
-"punkt på land."
-
#: templates/web/emptyhomes/static/about.html:7
msgid "The Empty Homes Agency"
msgstr ""
@@ -2903,7 +3074,6 @@ msgstr ""
#: templates/web/default/auth/token.html:21
#: templates/web/default/email_sent.html:22
-#: templates/web/fixmystreet/auth/token.html:21
msgid ""
"The confirmation email <strong>may</strong> take a few minutes to arrive "
"&mdash; <em>please</em> be patient."
@@ -2941,8 +3111,9 @@ msgid ""
msgstr ""
"Detaljane om problemet ditt er tilgjengelege på høgre kant av denne sida."
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:60
#: perllib/FixMyStreet/App/Controller/Reports.pm:44
-#: perllib/FixMyStreet/App/Controller/Reports.pm:71
+#: perllib/FixMyStreet/App/Controller/Reports.pm:75
msgid "The error was: %s"
msgstr "Feilen var: %s"
@@ -2956,7 +3127,7 @@ msgstr ""
"service_request_id, description, lat, long, media_url, status, "
"requested_datetime, updated_datetime, service_code og service_name."
-#: perllib/FixMyStreet/Geocode/OSM.pm:99
+#: perllib/FixMyStreet/Geocode/OSM.pm:158
msgid ""
"The following information about the nearest road might be inaccurate or "
"irrelevant, if the problem is close to several roads or close to a road "
@@ -3020,8 +3191,6 @@ msgstr ""
#: templates/web/default/auth/change_password.html:12
#: templates/web/default/auth/change_password.html:16
-#: templates/web/fixmystreet/auth/change_password.html:12
-#: templates/web/fixmystreet/auth/change_password.html:16
msgid "The passwords do not match"
msgstr "Passorda er ikkje like"
@@ -3030,25 +3199,16 @@ msgstr "Passorda er ikkje like"
msgid "The requested URL '%s' was not found on this server"
msgstr "Fann ikkje URL-en «%s» på denne tenaren"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1036
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1206
-#: perllib/FixMyStreet/App/Controller/Admin.pm:540
-#: perllib/FixMyStreet/App/Controller/Admin.pm:703
-msgid "The requested URL was not found on this server."
-msgstr "Fann ikkje URL-ein du spurde etter på denne tenaren"
-
-#: templates/web/default/alert/list.html:45
+#: templates/web/default/alert/_list.html:14
#: templates/web/fixmystreet/alert/_list.html:16
msgid "The simplest alert is our geographic one:"
msgstr "Den enklaste meldinga er den geografiske:"
-#: templates/web/default/report/new/councils_text_all.html:18
+#: templates/web/barnet/report/new/councils_text_all.html:3
+#: templates/web/default/report/new/councils_extra_text.html:1
#: templates/web/default/report/new/councils_text_some.html:10
#: templates/web/default/report/new/councils_text_some.html:11
#: templates/web/default/report/new/fill_in_details_form.html:17
-#: templates/web/fixmystreet/report/new/councils_text_all.html:18
-#: templates/web/fixmystreet/report/new/councils_text_some.html:10
-#: templates/web/fixmystreet/report/new/councils_text_some.html:11
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:12
msgid ""
"The subject and details of the problem will be public, plus your name if you "
@@ -3057,7 +3217,7 @@ msgstr ""
"Tittelen og detaljane for problemet vil verta offentlege, pluss namnet ditt\n"
"viss du gjev oss lov til det."
-#: bin/send-reports:79
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:269
msgid ""
"The user could not locate the problem on a map, but to see the area around "
"the location they entered"
@@ -3065,15 +3225,22 @@ msgstr ""
"Brukaren kunne ikkje plassera problemet på eit kart, men sjekk områdde rundt "
"staden dei skreiv inn"
-#: perllib/FixMyStreet/App/Controller/Reports.pm:70
+#: perllib/FixMyStreet/App/Controller/Reports.pm:72
msgid ""
"There was a problem showing the All Reports page. Please try again later."
msgstr ""
"Det oppstod problem med å visa «Alle rapportar»-sida. Ver venleg og prøv "
"igjen seinare."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:656
-#: perllib/FixMyStreet/App/Controller/Report/Update.pm:125
+#: perllib/FixMyStreet/App/Controller/Dashboard.pm:59
+#, fuzzy
+msgid "There was a problem showing this page. Please try again later."
+msgstr ""
+"Det oppstod problem med å visa «Alle rapportar»-sida. Ver venleg og prøv "
+"igjen seinare."
+
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:733
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:130
#: templates/web/default/auth/general.html:23
#: templates/web/fixmystreet/auth/general.html:24
#, fuzzy
@@ -3087,14 +3254,14 @@ msgstr ""
"sannsynlegvis ikkje ein konto enno. &ndash; ver venleg og fyll inn høgresida "
"av dette skjemaet for å skaffa deg ein."
-#: perllib/FixMyStreet/App/Controller/Alert.pm:351
+#: perllib/FixMyStreet/App/Controller/Alert.pm:355
msgid ""
"There was a problem with your email/password combination. Please try again."
msgstr ""
"Det var problem med e-post/passord-kombinasjonen din. Ver venleg og prøv "
"igjen."
-#: perllib/FixMyStreet/App/Controller/Report/Update.pm:215
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:252
msgid "There was a problem with your update. Please try again."
msgstr "Det var problem med oppdateringa di. Ver venleg og prøv igjen."
@@ -3102,7 +3269,7 @@ msgstr "Det var problem med oppdateringa di. Ver venleg og prøv igjen."
msgid "There were problems with your report. Please see below."
msgstr "Det var problem med rapporten din. Ver venleg og sjå under."
-#: perllib/FixMyStreet/App/Controller/Report/Update.pm:242
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:279
msgid "There were problems with your update. Please see below."
msgstr "Det var problem med oppdateringa di. Ver venleg og sjå under."
@@ -3114,7 +3281,7 @@ msgstr ""
"Denne API-implementasjonen er under arbeid og ikkje enno stabil. Han vil "
"endra seg utan åtvaring i framtida."
-#: bin/send-reports:186
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:339
msgid ""
"This email has been sent to both councils covering the location of the "
"problem, as the user did not categorise it; please ignore it if you're not "
@@ -3127,7 +3294,7 @@ msgstr ""
"eller gjev oss melding om kva for ein kategori av problem dette er så vi kan "
"leggja det til i systemet vårt."
-#: bin/send-reports:189
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:342
msgid ""
"This email has been sent to several councils covering the location of the "
"problem, as the category selected is provided for all of them; please ignore "
@@ -3138,7 +3305,8 @@ msgstr ""
"og ignorer e-posten viss de ikkje er korrekt administrasjon for å handtera "
"denne saka."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:778
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:865
+#: perllib/FixMyStreet/Cobrand/UK.pm:62
msgid "This information is required"
msgstr "Denne informasjonen er påkravd"
@@ -3169,49 +3337,51 @@ msgstr ""
"Dette er ei opplisting av alle problema i denne tenesta; vel ein viss "
"administrasjon for å sjå problem som er sende dit."
-#: perllib/FixMyStreet/Cobrand/Default.pm:874
+#: templates/web/default/report/banner.html:15
msgid "This problem has been closed"
msgstr "Dette problemet er lukka"
-#: perllib/FixMyStreet/Cobrand/Default.pm:870
-#: perllib/FixMyStreet/Cobrand/EmptyHomes.pm:117
-#: templates/web/default/report/display.html:100
-#: templates/web/fixmystreet/report/display.html:95
+#: templates/web/bromley/report/display.html:96
+#: templates/web/default/report/banner.html:12
+#: templates/web/default/report/display.html:95
+#: templates/web/emptyhomes/report/display.html:12
+#: templates/web/fixmystreet/report/display.html:90
msgid "This problem has been fixed"
msgstr "Dette problemet er løyst"
-#: templates/web/default/report/display.html:95
-#: templates/web/fixmystreet/report/display.html:89
+#: templates/web/bromley/report/display.html:90
+#: templates/web/default/report/display.html:90
+#: templates/web/fixmystreet/report/display.html:84
msgid "This problem has not been fixed"
msgstr "Dette problemet har ikkje vorte løyst"
-#: perllib/FixMyStreet/Cobrand/Default.pm:879
+#: templates/web/default/report/banner.html:19
msgid "This problem is in progress"
msgstr "Dette problemet er under arbeid"
-#: perllib/FixMyStreet/Cobrand/Default.pm:866
+#: templates/web/default/report/banner.html:9
msgid "This problem is old and of unknown status."
msgstr "Dette problemet er gammalt og med ukjend status."
-#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:81
+#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:83
msgid "This report is currently marked as closed."
msgstr "Denne rapporten er for tida markert som lukka."
-#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:79
+#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:81
msgid "This report is currently marked as fixed."
msgstr "Denne rapporten er for tida markert som fiksa."
-#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:83
+#: perllib/FixMyStreet/DB/ResultSet/AlertType.pm:85
msgid "This report is currently marked as open."
msgstr "Denne rapporten er for tida markert som open."
-#: bin/send-reports:72
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:262
msgid ""
"This web page also contains a photo of the problem, provided by the user."
msgstr ""
"Denne nettsida inneheld òg eit bilete av problemet, sendt inn av brukaren."
-#: perllib/FixMyStreet/App/Controller/Admin.pm:981
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1024
#: templates/web/default/admin/timeline.html:1
msgid "Timeline"
msgstr "Tidslinje"
@@ -3238,22 +3408,15 @@ msgstr ""
"For å <strong>rapportera eit problem</strong>, klikk på kartet på riktig "
"stad."
-#: templates/web/fixmystreet/alert/index.html:19
+#: templates/web/default/alert/index.html:27
#, fuzzy
msgid ""
-"To find out what local alerts we have for you, please enter your GB\n"
-" postcode or street name and area"
+"To find out what local alerts we have for you, please enter your postcode or "
+"street name and area"
msgstr ""
"Du finn lokale problem ved å søkja på postnummeret ditt, vegnamn eller stad:"
-#: templates/web/default/alert/index.html:21
-msgid ""
-"To find out what local alerts we have for you, please enter your GB\n"
-"postcode or street name and area:"
-msgstr ""
-"Du finn lokale problem ved å søkja på postnummeret ditt, vegnamn eller stad:"
-
-#: bin/send-reports:78
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:268
msgid "To view a map of the precise location of this issue"
msgstr "For å sjå eit kart med ei meir presis plassering for dette problemet"
@@ -3275,7 +3438,7 @@ msgstr ""
msgid "Unconfirmed"
msgstr "Ikkje stadfesta"
-#: perllib/FixMyStreet/Cobrand/FixMyStreet.pm:16
+#: templates/web/fixmystreet/report/banner.html:9
#, fuzzy
msgid "Unknown"
msgstr "*ukjent*"
@@ -3288,7 +3451,8 @@ msgstr "Ukjend varsel-type"
msgid "Unknown problem ID"
msgstr "Ukjend problem-ID"
-#: templates/web/fixmystreet/report/display.html:70
+#: templates/web/bromley/report/display.html:66
+#: templates/web/fixmystreet/report/display.html:65
#, fuzzy
msgid "Update"
msgstr "Oppdatering:"
@@ -3327,17 +3491,17 @@ msgstr "Ei oppdatering markerte dette problemet som fiksa."
msgid "Update reopened problem"
msgstr "Ei oppdatering gjenopna problemet"
-#: templates/web/default/admin/council_contacts.html:58
+#: templates/web/default/admin/council_contacts.html:62
msgid "Update statuses"
msgstr "Oppdater tilstanden"
-#: templates/web/default/report/display.html:76
+#: templates/web/default/report/display.html:71
msgid "Update:"
msgstr "Oppdatering:"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:649
-#: perllib/FixMyStreet/App/Controller/Admin.pm:766
-#: perllib/FixMyStreet/App/Controller/Admin.pm:846
+#: perllib/FixMyStreet/App/Controller/Admin.pm:694
+#: perllib/FixMyStreet/App/Controller/Admin.pm:809
+#: perllib/FixMyStreet/App/Controller/Admin.pm:889
msgid "Updated!"
msgstr "Oppdatert!"
@@ -3351,18 +3515,20 @@ msgstr "Oppdateringar"
msgid "Updates on {{title}}"
msgstr "Oppdateringar av {{title}}"
+#: templates/web/bromley/report/display.html:0
+#: templates/web/bromley/report/display.html:8
#: templates/web/default/report/display.html:0
#: templates/web/default/report/display.html:7
#: templates/web/fixmystreet/report/display.html:0
-#: templates/web/fixmystreet/report/display.html:7
+#: templates/web/fixmystreet/report/display.html:8
msgid "Updates to this problem, FixMyStreet"
msgstr "Oppdateringar til dette problemet, FiksGataMi"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1139
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1182
msgid "User flag removed"
msgstr "Brukarflagg fjerna"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:1111
+#: perllib/FixMyStreet/App/Controller/Admin.pm:1154
msgid "User flagged"
msgstr "Brukar flagga"
@@ -3370,8 +3536,8 @@ msgstr "Brukar flagga"
msgid "Users"
msgstr "Brukarar"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:306
-#: perllib/FixMyStreet/App/Controller/Admin.pm:336
+#: perllib/FixMyStreet/App/Controller/Admin.pm:309
+#: perllib/FixMyStreet/App/Controller/Admin.pm:339
msgid "Values updated"
msgstr "Verdi oppdatert"
@@ -3380,6 +3546,11 @@ msgstr "Verdi oppdatert"
msgid "View report on site"
msgstr "Sjå rapport på nettstaden"
+#: templates/web/default/reports/council.html:18
+#, fuzzy
+msgid "View reports by ward"
+msgstr "Sjå rapport på nettstaden"
+
#: templates/web/emptyhomes/tokens/confirm_problem.html:39
msgid "View your report"
msgstr "Vis rapporten din"
@@ -3393,30 +3564,21 @@ msgstr "Vis rapporten din"
msgid "Viewing a location"
msgstr "Ser på ein stad"
+#: templates/web/bromley/report/display.html:0
#: templates/web/default/report/display.html:0
-#: templates/web/emptyhomes/report/display.html:1
#: templates/web/emptyhomes/report/display.html:2
#: templates/web/fixmystreet/report/display.html:0
msgid "Viewing a problem"
msgstr "Ser på eit problem"
-#: templates/web/default/reports/council.html:23
-#: templates/web/default/reports/council.html:74
-#: templates/web/default/reports/council.html:86
+#: templates/web/default/reports/council.html:20
#: templates/web/emptyhomes/reports/council.html:18
msgid "Wards of this council"
msgstr "Bydelar innanfor denne administrasjonen"
-#: perllib/FixMyStreet/Cobrand/Default.pm:432
-#: perllib/FixMyStreet/Geocode/Bing.pm:48
-#: perllib/FixMyStreet/Geocode/Google.pm:63
-msgid "We do not currently cover Northern Ireland, I'm afraid."
-msgstr "Vi dekkjer diverre ikkje Nord-Irland."
-
#: templates/web/default/alert/choose.html:6
-#: templates/web/default/around/around_index.html:32
-#: templates/web/fixmystreet/alert/choose.html:6
-#: templates/web/fixmystreet/around/around_index.html:35
+#: templates/web/default/around/around_index.html:17
+#: templates/web/fixmystreet/around/around_index.html:16
msgid ""
"We found more than one match for that location. We show up to ten matches, "
"please try a different search if yours is not here."
@@ -3425,7 +3587,6 @@ msgstr ""
"prøv eit anna søk viss staden din ikkje er her."
#: templates/web/default/auth/token.html:19
-#: templates/web/fixmystreet/auth/token.html:19
msgid "We have sent you an email containing a link to confirm your account."
msgstr ""
"Vi har sendt deg ein epost som inneheld ei lenkje for å stadfesta kontoen "
@@ -3440,18 +3601,21 @@ msgstr ""
"Det kan hende vi periodisk tek kontakt med deg for å spørja om noko har "
"endra seg med eiedommen du rapporterte."
-#: templates/web/fixmystreet/report/display.html:158
+#: templates/web/bromley/report/display.html:141
+#: templates/web/fixmystreet/report/display.html:153
#, fuzzy
msgid "We never show your email"
msgstr "(vi viser aldri e-postadressa di)"
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:127
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:184
+#: templates/web/bromley/report/new/fill_in_details_form.html:133
+#: templates/web/bromley/report/new/fill_in_details_form.html:179
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:130
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:190
#, fuzzy
msgid "We never show your email address or phone number."
msgstr "(vi viser aldri e-postadressa di eller telefonnummeret ditt)"
-#: bin/send-reports:196
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:349
msgid ""
"We realise this problem might be the responsibility of %s; however, we don't "
"currently have any contact details for them. If you know of an appropriate "
@@ -3461,13 +3625,13 @@ msgstr ""
"tida kontaktinformasjon for dei. Viss du veit om ei eigna kontaktadresse, ta "
"kontakt med oss."
-#: templates/web/default/index.html:45 templates/web/emptyhomes/index.html:61
-#: templates/web/fixmystreet/index.html:56
+#: templates/web/default/index.html:34 templates/web/emptyhomes/index.html:59
+#: templates/web/fixmystreet/index.html:45
msgid "We send it to the council on your behalf"
msgstr "Vi sender til administrasjon på dine vegner"
+#: templates/web/bromley/report/new/fill_in_details_form.html:217
#: templates/web/default/report/new/notes.html:5
-#: templates/web/fixmystreet/report/new/notes.html:4
msgid ""
"We will only use your personal information in accordance with our <a href=\"/"
"faq#privacy\">privacy policy.</a>"
@@ -3475,6 +3639,15 @@ msgstr ""
"Vi vil berre bruka personleg informasjon om deg i samsvar med <a href=\"/"
"faq#privacy\">personvernpolicyen</a> vår."
+#: templates/web/fixmystreet/report/new/notes.html:4
+#, fuzzy
+msgid ""
+"We will only use your personal information in accordance with our <a href=\"/"
+"privacy\">privacy policy.</a>"
+msgstr ""
+"Vi vil berre bruka personleg informasjon om deg i samsvar med <a href=\"/"
+"faq#privacy\">personvernpolicyen</a> vår."
+
#: templates/web/emptyhomes/contact/blurb.html:2
msgid ""
"We&rsquo;d love to hear what you think about this website. Just fill in the "
@@ -3494,7 +3667,7 @@ msgstr ""
"Vi ynskjer å få tilbakemelding frå deg om kva du meiner om denne tenesta. "
"Berre fyll ut skjemaet, eller send ein e-post <a href='mailto:%s'>%s</a>:"
-#: templates/web/default/admin/council_contacts.html:37
+#: templates/web/default/admin/council_contacts.html:41
#: templates/web/default/admin/council_edit.html:41
msgid "When edited"
msgstr "Når redigert"
@@ -3504,7 +3677,7 @@ msgstr "Når redigert"
msgid "When sent"
msgstr "Når sendt"
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:538
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:612
msgid "Whole block of empty flats"
msgstr "Heil blokk med tomme leilegheiter"
@@ -3519,13 +3692,14 @@ msgstr ""
"einskild adminstrasjon. Søkjetermen er administrasjonssida som du får frå <a "
"href=\"%s\">MaPit</a>."
-#: templates/web/fixmystreet/footer.html:23
+#: templates/web/fixmystreet/footer.html:22
msgid ""
-"Would you like better integration with FixMyStreet? <a href=\"/for-councils"
-"\">Find out about FixMyStreet for councils</a>."
+"Would you like better integration with FixMyStreet? <a href=\"http://www."
+"mysociety.org/for-councils/fixmystreet/\">Find out about FixMyStreet for "
+"councils</a>."
msgstr ""
-#: templates/web/fixmystreet/footer.html:19
+#: templates/web/fixmystreet/footer.html:18
#, fuzzy
msgid ""
"Would you like to contribute to FixMyStreet? Our code is open source and <a "
@@ -3556,15 +3730,15 @@ msgstr ""
msgid "Year"
msgstr "År"
-#: templates/web/default/admin/council_contacts.html:44
-#: templates/web/default/admin/council_contacts.html:45
+#: templates/web/default/admin/council_contacts.html:48
+#: templates/web/default/admin/council_contacts.html:49
#: templates/web/default/admin/council_edit.html:5
#: templates/web/default/admin/list_updates.html:30
#: templates/web/default/admin/list_updates.html:31
#: templates/web/default/admin/list_updates.html:32
#: templates/web/default/admin/problem_row.html:19
#: templates/web/default/admin/report_edit.html:27
-#: templates/web/default/admin/report_edit.html:40
+#: templates/web/default/admin/report_edit.html:41
#: templates/web/default/admin/search_users.html:23
#: templates/web/default/admin/update_edit.html:15
#: templates/web/default/questionnaire/creator_fixed.html:14
@@ -3575,8 +3749,10 @@ msgstr "År"
msgid "Yes"
msgstr "Ja"
-#: templates/web/fixmystreet/report/display.html:138
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:153
+#: templates/web/bromley/report/display.html:155
+#: templates/web/bromley/report/new/fill_in_details_form.html:198
+#: templates/web/fixmystreet/report/display.html:133
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:156
#, fuzzy
msgid "Yes I have a password"
msgstr "<strong>Ja</strong>, eg har eit passord:"
@@ -3615,10 +3791,6 @@ msgstr "Du kan <a href=\"/reports/\">sjå alle administrasjonar</a>."
#: templates/web/default/report/new/councils_text_none.html:16
#: templates/web/default/report/new/councils_text_some.html:20
#: templates/web/default/report/new/councils_text_some.html:22
-#: templates/web/fixmystreet/report/new/councils_text_none.html:12
-#: templates/web/fixmystreet/report/new/councils_text_none.html:14
-#: templates/web/fixmystreet/report/new/councils_text_some.html:20
-#: templates/web/fixmystreet/report/new/councils_text_some.html:22
msgid ""
"You can help us by finding a contact email address for local problems for %s "
"and emailing it to us at <a href='mailto:%s'>%s</a>."
@@ -3635,6 +3807,7 @@ msgstr ""
"venleg og <a href='%s'>ta kontakt</a>, eller <a href='%s'>sjå på problemet "
"ditt</a>.\n"
+#: templates/web/bromley/report/new/fill_in_details_form.html:97
#: templates/web/default/questionnaire/index.html:92
#: templates/web/default/report/new/fill_in_details_form.html:93
#: templates/web/fixmystreet/questionnaire/index.html:87
@@ -3646,8 +3819,9 @@ msgstr ""
"Du har allereie lagt ved eit bilete til dette problemet. Å leggja ved eit "
"anna vil byta ut dette."
-#: templates/web/default/report/display.html:111
-#: templates/web/fixmystreet/report/display.html:105
+#: templates/web/bromley/report/display.html:106
+#: templates/web/default/report/display.html:106
+#: templates/web/fixmystreet/report/display.html:100
msgid ""
"You have already attached a photo to this update, attaching another one will "
"replace it."
@@ -3656,10 +3830,10 @@ msgstr ""
"anna vil byta ut dette."
#: templates/web/default/auth/sign_out.html:3
-#: templates/web/fixmystreet/auth/sign_out.html:3
msgid "You have been signed out"
msgstr "Du er allereie logga ut"
+#: templates/web/bromley/report/new/fill_in_details_form.html:25
#: templates/web/default/report/new/fill_in_details_form.html:7
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:27
#, fuzzy
@@ -3674,8 +3848,8 @@ msgstr ""
msgid "You have successfully confirmed your alert."
msgstr "Du har no stadfesta varselet ditt."
-#: templates/web/default/tokens/confirm_problem.html:6
-#: templates/web/default/tokens/confirm_problem.html:7
+#: templates/web/default/tokens/confirm_problem.html:14
+#: templates/web/default/tokens/confirm_problem.html:15
msgid "You have successfully confirmed your problem"
msgstr "Du har no stadfesta problemet ditt"
@@ -3696,8 +3870,8 @@ msgstr "Du har oppretta varselet ditt."
msgid "You have successfully deleted your alert."
msgstr "Sletting av varselet ditt var vellukka."
-#: perllib/FixMyStreet/App/Controller/Report/New.pm:662
-#: perllib/FixMyStreet/App/Controller/Report/Update.pm:131
+#: perllib/FixMyStreet/App/Controller/Report/New.pm:740
+#: perllib/FixMyStreet/App/Controller/Report/Update.pm:136
msgid ""
"You have successfully signed in; please check and confirm your details are "
"accurate:"
@@ -3724,19 +3898,23 @@ msgstr "Ynskjer du verkeleg å senda på nytt?"
msgid "Your Reports"
msgstr "Rapportane dine"
-#: templates/web/fixmystreet/alert/_list.html:85
+#: templates/web/bromley/report/display.html:41
+#: templates/web/bromley/report/display.html:43
+#: templates/web/bromley/report/new/fill_in_details_form.html:145
+#: templates/web/fixmystreet/alert/_list.html:89
#: templates/web/fixmystreet/alert/updates.html:19
#: templates/web/fixmystreet/alert/updates.html:22
#: templates/web/fixmystreet/contact/index.html:72
-#: templates/web/fixmystreet/report/display.html:39
-#: templates/web/fixmystreet/report/display.html:41
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:139
+#: templates/web/fixmystreet/report/display.html:34
+#: templates/web/fixmystreet/report/display.html:36
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:142
#, fuzzy
msgid "Your email"
msgstr "E-posten din"
+#: templates/web/bromley/report/display.html:130
#: templates/web/fixmystreet/auth/general.html:26
-#: templates/web/fixmystreet/report/display.html:129
+#: templates/web/fixmystreet/report/display.html:124
#, fuzzy
msgid "Your email address"
msgstr "e-postadressa di:"
@@ -3745,51 +3923,78 @@ msgstr "e-postadressa di:"
msgid "Your email address:"
msgstr "e-postadressa di:"
-#: templates/web/default/alert/list.html:120
-#: templates/web/default/report/display.html:133
+#: templates/web/default/alert/_list.html:92
+#: templates/web/default/report/display.html:128
#: templates/web/default/report/new/fill_in_details_form.html:124
msgid "Your email:"
msgstr "E-posten din"
+#: templates/web/bromley/report/display.html:193
+#: templates/web/bromley/report/new/fill_in_details_form.html:117
+#: templates/web/bromley/report/new/fill_in_details_form.html:164
+#, fuzzy
+msgid "Your first name"
+msgstr "Namnet ditt:"
+
+#: templates/web/fixmystreet/report/updates-sidebar-notes.html:5
+#, fuzzy
+msgid ""
+"Your information will only be used in accordance with our <a href=\"/privacy"
+"\">privacy policy</a>"
+msgstr ""
+"Vi vil berre bruka personleg informasjon om deg i samsvar med <a href=\"/"
+"faq#privacy\">personvernpolicyen</a> vår."
+
+#: templates/web/bromley/report/display.html:199
+#: templates/web/bromley/report/new/fill_in_details_form.html:123
+#: templates/web/bromley/report/new/fill_in_details_form.html:170
+#, fuzzy
+msgid "Your last name"
+msgstr "Namnet ditt:"
+
#: templates/web/fixmystreet/auth/general.html:53
#: templates/web/fixmystreet/contact/index.html:65
-#: templates/web/fixmystreet/report/display.html:185
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:118
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:175
+#: templates/web/fixmystreet/report/display.html:181
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:121
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:181
#, fuzzy
msgid "Your name"
msgstr "Namnet ditt:"
#: templates/web/default/auth/general.html:59
#: templates/web/default/contact/index.html:68
-#: templates/web/default/report/display.html:207
+#: templates/web/default/report/display.html:202
#: templates/web/default/report/new/fill_in_details_form.html:203
msgid "Your name:"
msgstr "Namnet ditt:"
+#: templates/web/bromley/report/display.html:160
+#: templates/web/bromley/report/new/fill_in_details_form.html:203
#: templates/web/fixmystreet/auth/general.html:37
-#: templates/web/fixmystreet/report/display.html:143
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:158
+#: templates/web/fixmystreet/report/display.html:138
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:161
#, fuzzy
msgid "Your password"
msgstr "Rapportane dine"
#: templates/web/default/auth/change_password.html:6
-#: templates/web/fixmystreet/auth/change_password.html:6
msgid "Your password has been changed"
msgstr "Passordet ditt har vorte endra"
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:131
-#: templates/web/fixmystreet/report/new/fill_in_details_form.html:189
+#: templates/web/bromley/report/new/fill_in_details_form.html:137
+#: templates/web/bromley/report/new/fill_in_details_form.html:184
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:134
+#: templates/web/fixmystreet/report/new/fill_in_details_form.html:195
msgid "Your phone number"
msgstr ""
-#: templates/web/fixmystreet/questionnaire/index.html:16
+#: templates/web/fixmystreet/questionnaire/index.html:15
#, fuzzy
msgid "Your report"
msgstr "Oppdateringane dine"
-#: templates/web/bromley/footer.html:35 templates/web/default/footer.html:9
+#: templates/web/barnet/footer.html:18 templates/web/bromley/footer.html:19
+#: templates/web/bromley/header.html:75 templates/web/default/footer.html:9
#: templates/web/fiksgatami/footer.html:6
#: templates/web/fiksgatami/nn/footer.html:6
#: templates/web/fixmystreet/footer.html:47
@@ -3809,8 +4014,8 @@ msgstr "E-posten&nbsp;din:"
msgid "by %s"
msgstr "av %s"
-#: templates/web/default/reports/council.html:6
-#: templates/web/default/reports/council.html:7
+#: templates/web/default/reports/council.html:12
+#: templates/web/default/reports/council.html:13
#: templates/web/emptyhomes/reports/council.html:6
#: templates/web/emptyhomes/reports/council.html:7
msgid "council"
@@ -3820,8 +4025,8 @@ msgstr "administrasjon"
msgid "didn't use map"
msgstr "brukte ikkje kart"
-#: templates/web/fixmystreet/alert/index.html:24
-#: templates/web/fixmystreet/index.html:41
+#: templates/web/default/alert/index.html:33
+#: templates/web/fixmystreet/around/postcode_form.html:17
msgid "e.g. ‘%s’ or ‘%s’"
msgstr ""
@@ -3829,26 +4034,26 @@ msgstr ""
msgid "from %d different users"
msgstr "frå %d ulike brukarar"
-#: perllib/Utils.pm:248
+#: perllib/Utils.pm:289
msgid "less than a minute"
msgstr "mindre enn eitt minutt"
-#: templates/web/default/report/updates.html:24
+#: templates/web/default/report/updates.html:27
msgid "marked as %s"
msgstr "markert som %s"
-#: templates/web/default/report/updates.html:22
+#: templates/web/default/report/updates.html:25
msgid "marked as fixed"
msgstr "markert som løyst"
-#: perllib/FixMyStreet/App/Controller/Admin.pm:109
+#: perllib/FixMyStreet/App/Controller/Admin.pm:112
#: templates/web/default/admin/questionnaire.html:15
#: templates/web/default/admin/questionnaire.html:16
msgid "n/a"
msgstr "i/t"
-#: templates/web/default/alert/list.html:114
-#: templates/web/fixmystreet/alert/_list.html:81
+#: templates/web/default/alert/_list.html:87
+#: templates/web/fixmystreet/alert/_list.html:85
msgid "or"
msgstr "eller"
@@ -3860,16 +4065,21 @@ msgstr "søkte etter"
msgid "other areas:"
msgstr "andre område:"
-#: templates/web/default/report/updates.html:23
+#: templates/web/default/report/updates.html:26
msgid "reopened"
msgstr "opna på nytt"
-#: templates/web/bromley/header.html:47
-#: templates/web/fixmystreet/header.html:47
+#: templates/web/barnet/header.html:71 templates/web/bromley/header.html:100
+#: templates/web/bromley/header.html:65
+#: templates/web/fixmybarangay/header.html.orig:43
+#: templates/web/fixmystreet/header.html:48
+#: templates/web/zurich/header.html:48
#, fuzzy
msgid "sign out"
msgstr "Logg ut"
+#: templates/web/bromley/report/new/fill_in_details_form.html:4
+#: templates/web/bromley/report/new/fill_in_details_form.html:7
#: templates/web/default/report/new/fill_in_details_form.html:11
#: templates/web/default/report/new/fill_in_details_form.html:14
#: templates/web/fixmystreet/report/new/fill_in_details_form.html:6
@@ -3877,15 +4087,19 @@ msgstr "Logg ut"
msgid "the local council"
msgstr "den lokale administrasjonen"
-#: perllib/FixMyStreet/DB/Result/Problem.pm:534
+#: perllib/FixMyStreet/DB/Result/Problem.pm:541
msgid "the map was not used so pin location may be inaccurate"
msgstr "karta vart ikkje brukt, så nåleposisjon kan vera unøyaktig"
-#: bin/send-reports:177
+#: perllib/FixMyStreet/DB/Result/Problem.pm:603
+msgid "their ref:&nbsp;%s"
+msgstr ""
+
+#: perllib/FixMyStreet/DB/ResultSet/Problem.pm:330
msgid "this type of local problem"
msgstr "denne typen lokalt problem"
-#: perllib/Utils.pm:222
+#: perllib/Utils.pm:263
msgid "today"
msgstr "i dag"
@@ -3902,7 +4116,7 @@ msgid "user is problem owner"
msgstr "brukaren er eigaren av problemet"
#: templates/web/default/reports/council.html:0
-#: templates/web/default/reports/council.html:3
+#: templates/web/default/reports/council.html:9
#: templates/web/emptyhomes/reports/council.html:0
#: templates/web/emptyhomes/reports/council.html:3
msgid "ward"
@@ -3938,13 +4152,6 @@ msgstr "vil problemet ditt ikkje publiserast"
msgid "your update will not be posted"
msgstr "oppdateringa di vil ikkje publiserast"
-#: templates/web/emptyhomes/front/stats.html:17
-#, perl-format
-msgid "<big>%s</big> report recently"
-msgid_plural "<big>%s</big> reports recently"
-msgstr[0] "<big>%s</big> rapport nyleg"
-msgstr[1] "<big>%s</big> rapportar nyleg"
-
#: templates/web/emptyhomes/report/new/councils_text_none.html:3
#, perl-format
msgid "We do not yet have details for the council that covers this location."
@@ -3955,6 +4162,13 @@ msgstr[0] ""
msgstr[1] ""
"Vi har enno ikkje detaljar for administrasjonane som dekkjer denne staden."
+#: templates/web/emptyhomes/front/stats.html:17
+#, perl-format
+msgid "<big>%s</big> report recently"
+msgid_plural "<big>%s</big> reports recently"
+msgstr[0] "<big>%s</big> rapport nyleg"
+msgstr[1] "<big>%s</big> rapportar nyleg"
+
#: templates/web/emptyhomes/front/stats.html:12
#, perl-format
msgid "<big>%s</big> report in past week"
@@ -3969,14 +4183,7 @@ msgid_plural "<big>%s</big> fixed in past month"
msgstr[0] "<big>%s</big> løyst siste månad"
msgstr[1] "<big>%s</big> løyst siste månad"
-#: templates/web/default/front/stats.html:29
-#, perl-format
-msgid "<big>%s</big> update on reports"
-msgid_plural "<big>%s</big> updates on reports"
-msgstr[0] "<big>%s</big> rapportoppdatering"
-msgstr[1] "<big>%s</big> rapportoppdateringar"
-
-#: templates/web/fixmystreet/report/new/councils_text_some.html:14
+#: templates/web/default/report/new/councils_text_some.html:14
#, perl-format
msgid ""
"We do <strong>not</strong> yet have details for the other council that "
@@ -3991,6 +4198,44 @@ msgstr[1] ""
"Vi har enno <strong>ikkje</strong> detaljane for dei andre administrasjonane "
"som dekkjer denne staden."
+#: templates/web/default/front/stats.html:29
+#, perl-format
+msgid "<big>%s</big> update on reports"
+msgid_plural "<big>%s</big> updates on reports"
+msgstr[0] "<big>%s</big> rapportoppdatering"
+msgstr[1] "<big>%s</big> rapportoppdateringar"
+
+#, fuzzy
+#~ msgid "FixMyStreet for Councils"
+#~ msgstr "Finn ut om FiksGataMi for det offentlege"
+
+#, fuzzy
+#~ msgid "Questions and Answers :: FixMyStreet for Councils"
+#~ msgstr "Finn ut om FiksGataMi for det offentlege"
+
+#~ msgid ""
+#~ "That spot does not appear to be covered by a council. If you have tried "
+#~ "to report an issue past the shoreline, for example, please specify the "
+#~ "closest point on land."
+#~ msgstr ""
+#~ "Punktet ser ikkje ut til å vera dekt av ein administrasjon. Viss du til "
+#~ "dømes har freista å rapportera eit problem utanfor kysten, marker næraste "
+#~ "punkt på land."
+
+#~ msgid "The requested URL was not found on this server."
+#~ msgstr "Fann ikkje URL-ein du spurde etter på denne tenaren"
+
+#, fuzzy
+#~ msgid ""
+#~ "To find out what local alerts we have for you, please enter your GB\n"
+#~ " postcode or street name and area"
+#~ msgstr ""
+#~ "Du finn lokale problem ved å søkja på postnummeret ditt, vegnamn eller "
+#~ "stad:"
+
+#~ msgid "We do not currently cover Northern Ireland, I'm afraid."
+#~ msgstr "Vi dekkjer diverre ikkje Nord-Irland."
+
#, fuzzy
#~ msgid "<strong>Yes</strong>, I have a password"
#~ msgstr "<strong>Ja</strong>, eg har eit passord:"
diff --git a/notes/INSTALL.pod b/notes/INSTALL.pod
deleted file mode 100644
index 701112b45..000000000
--- a/notes/INSTALL.pod
+++ /dev/null
@@ -1,359 +0,0 @@
-=head1 Installing FixMyStreet
-
-=head1 DOWNLOADING
-
-Fetch the latest version from L<http://github.com/mysociety/fixmystreet>
-
-At the moment the best way is to clone it using git:
-
- git clone https://github.com/mysociety/fixmystreet.git
-
-You'll then need to install mySociety's common library of code by running the
-following command from inside the fixmystreet directory:
-
- git submodule update --init
-
-If you're using git version 1.6.5 or later, you can do those steps in
-one go with:
-
- git clone --recursive https://github.com/mysociety/fixmystreet.git
-
-=head1 REQUIREMENTS
-
-On the server you are installing FixMyStreet on you will need the following things:
-
-=head2 Software requirements
-
-=over
-
-=item *
-
-PostgreSQL.
-
-=item *
-
-Perl 5.8 or above
-
-=item *
-
-ImageMagick and the perl bindings.
-
-=item *
-
-A webserver that supports FastCGI
-
-=item *
-
-gettext
-
-=item *
-
-The CSS for FixMyStreet is generated from SCSS sources so you will need a SCSS
-to CSS convertor. You can get one from L<http://sass-lang.com/>
-
-=back
-
-If you're expecting a lot of traffic it's recommended that you install memcached: L<http://memcached.org/>
-
-If you're using Debian 6.0 ("squeeze") then the packages to install
-some required dependencies (though not all the required Perl modules)
-are listed in C<conf/packages.debian-squeeze>. To install all of them
-you can run:
-
- sudo xargs -a conf/packages.debian-squeeze apt-get install
-
-A similar list of packages should work for other Debian-based
-distributions. (Please let us know if you would like to contribute
-such a package list or instructions for other distributions.)
-
-To generate the CSS for the current design of FixMyStreet you will
-also need Compass L<http://compass-style.org/>, but unfortunately
-it is not packaged in Debian squeeze (or squeeze-backports). You
-will either need to install the package from testing, or you could
-install it from the Ruby gem with:
-
- gem install compass
-
-=head2 Service dependencies
-
-For most uses of FixMyStreet you'll also need access to a MaPit server with
-data for the types of bodies you are reporting issues to. For more details on
-how to install MaPit see the mapit pypi page: L<http://pypi.python.org/pypi/django-mapit/>
-
-If you are in the UK then you can always use the mySociety's MaPit: L<http://mapit.mysociety.org>
-although please check with us if you are expecting to generate a lot of
-requests.
-
-You will also need a Tile Server to serve up Map tiles. FixMyStreet can use
-Google, Bing and OpenStreetMap Tile servers.
-
-Finally, you will need a geolocation service to turn addresses into longitude
-and latitudes. FixMyStreet currently includes code to use both Bing and Google
-geolocation services.
-
-=head1 DETAILED INSTALLATION INSTRUCTIONS
-
-=head2 Creating the database
-
-The default settings file (C<conf/general.yml>) assumes the database is called fms and the user the same.
-You can change these if you like.
-
-If you wish to create this new database and database user with
-password authentication, the following steps may help. First, create
-the fms user:
-
- $ sudo -u postgres createuser fms
- Shall the new role be a superuser? (y/n) n
- Shall the new role be allowed to create databases? (y/n) n
- Shall the new role be allowed to create more new roles? (y/n) n
-
-Then create the fms database:
-
- $ sudo -u postgres createdb fms
-
-Set the password of the fms user, and change the owner of the fms database to be the fms user:
-
- $ sudo -u postgres psql
- postgres=# ALTER USER fms WITH PASSWORD 'somepassword'
- ALTER ROLE
- postgres=# ALTER DATABASE fms OWNER to fms;
- ALTER DATABASE
- postgres=# \q
- $
-
-Then you need to configure PostgreSQL to allow password-based access
-to the fms database as the user fms from using Unix-domain sockets.
-Edit the file C</etc/postgresql/8.4/main/pg_hba.conf> and add as the
-first line:
-
- local fms fms md5
-
-You will then need to restart PostgreSQL with:
-
- $ sudo /etc/init.d/postgresql restart
-
-If you want to access the database from the command line, you can add
-the following line to C<~/.pgpass>:
-
- localhost:*:fms:fms:somepassword
-
-Then you should be able to access the database with:
-
- $ psql -U fms fms
-
-=head2 Set up the database
-
-Before creating the database schema, you will need to install the
-PostgreSQL's SQL procedural language into the database:
-
- createlang -U fms plpgsql fms
-
-Now you can use the sql in C<db/schema.sql> to create the required
-tables, triggers and stored procedures. You will also need to run
-C<db/alert_types.sql> which populates the alert_types table. For
-example, you might run:
-
- $ psql -U fms fms < db/schema.sql
- ...
- $ psql -U fms fms < db/alert_types.sql
- ...
-
-=head2 Install Perl modules
-
-FixMyStreet uses a number of CPAN modules which are installed by the
-C<bin/install_perl_modules> script, so run that now. This will install them
-into a directory called local.
-
-It uses cpanminus and Carton under the hood but should install these
-if they are missing. You may need to install some source packages to
-allow some of the included modules to be built, including:
-
-=over
-
-=item *
-
-expat
-
-=item *
-
-Postgresql
-
-=item *
-
-The GMP math library
-
-=back
-
-You will also need development tools installed. If you have installed the
-above source packages from distribution packages this should also install
-the required development tools.
-
-=head2 Set up Webserver
-
-For production use of FixMyStreet, we suggest you use Apache and
-FastCGI. (See below.) For local development, however, you can use
-the Catalyst development server. First, install the Catalyst
-development tools with:
-
- ./bin/cron-wrapper local/bin/carton install Catalyst::Devel
-
-Then the development server can be run with:
-
- CATALYST_DEBUG=1 ./bin/cron-wrapper ./script/fixmystreet_app_server.pl -r
-
-The server will be accessible as L<http://localhost:3000/>.
-
-=head3 Setting up Apache
-
-It is recommended that you run FixMyStreet using FastCGI. It should also be
-possible to run it using Plack/PSGI.
-
-There is an example Apache vhost configuration file in C<conf/httpd.conf-example>
-which contains a sample configuration and the required redirect rules.
-
-If you are using Apache and the sample configuration you will need the following
-modules enabled:
-
-=over
-
-=item *
-
-mod_rewrite
-
-=item *
-
-mod_proxy
-
-=item *
-
-mod_expires
-
-=item *
-
-mod_fastcgi
-
-=back
-
-For most Linux distributuions you should be able to install these using the distribution's
-packaging system.
-
-=head1 SETTINGS
-
-The settings for FixMyStreet are defined in C<conf/general.yml> using the YAML
-markup language. There are some defaults in C<conf/general.yml-example> which
-you should copy to C<conf/general.yml>.
-
-The bare minimum of settings you will need to fill in or update are:
-
-=over
-
-=item FMS_DB_PASS
-
-This is the password for the database.
-
-=item BASE_URL
-
-The URL for the homepage of your FixMyStreet install.
-
-=item EMAIL_DOMAIN
-
-The email domain that emails will be sent from
-
-=item CONTACT_EMAIL
-
-The email address to be used on the site for the contact us form.
-
-=item STAGING_SITE
-
-If this is 1 then all email ( alerts and reports ) will be sent to the
-contact email address. Use this for development sites.
-
-=item UPLOAD_DIR
-
-This is the location where images will be stored when they are uploaded.
-It should be accessible by and writeable by the FixMyStreet process.
-
-=item GEO_CACHE
-
-This is the location where Geolocation data will be cached.
-It should be accessible by and writeable by the FixMyStreet process.
-
-=back
-
-If you are using Bing or Google maps you should also set one of
-BING_MAPS_API_KEY or GOOGLE_MAPS_API_KEY.
-
-If you are using a MaPit install you should update MAPIT_URL.
-
-=head2 Generate CSS
-
-There is a script, bin/make_css, that uses sass (L<http://sass-lang.com/>) to
-convert the SCSS files to CSS files.
-
-=head2 Restart the webserver
-
-At this point you be able to restart the webserver and see your FixMyStreet
-installation at the configured URL.
-
-=head2 Cron jobs
-
-There is an example crontab in C<conf/crontab.ugly>. At the moment this is in
-the format used by mySociety's internal deployment tools. To convert this to
-a valid crontab the following should be done:
-
-=over
-
-=item *
-
-Replace C<!!(*= $user *)!!> with the name of the user the cron should run under
-
-=item *
-
-Replace C<!!(* $vhost *)!!> with the path to the FixMyStreet code.
-
-=back
-
-=head2 Check it's working
-
-You can run the unit tests using C<prove -r t> in the FixMyStreet directory. Note
-that this may leave entries in your database at the moment and should not be run
-on a live site.
-
-=head2 Next Steps
-
-The admin site should be protected using HTTP AUTH.
-
-Customise your install using Templates, CSS and a Cobrand module. See C<notes/customisation.pod>
-for details.
-
-Add contact details for authorities and categories using the admin interface.
-
-Add authority data to the MaPit install if required.
-
-=head1 COMMON PROBLEMS
-
-=head2 locale
-
-By default FixMyStreet uses the en_GB.UTF-8 locale. If it is not installed then
-it may not start
-
-=head2 Template caching
-
-FixMyStreet caches compiled templates alongside the source files so the templates
-directory needs to be writable by the process that is running FixMyStreet.
-
-=head2 Image::Magick perl module
-
-If your OS has a way to install a binary version of Image::Magick then it's recommended
-that you do that rather than install via CPAN.
-
-=head2 Missing Perl modules
-
-We think we've included all the modules you should need to run and develop FixMyStreet on your
-machine but it we've missed one (please let us know if this is the case), or you want to add one
-for something you are developing then you can do so using:
-
- ./bin/cron-wrapper ./local/bin/carton install Module::To::Add
-
-which will install the module into the local directory. C<./bin/cron-wrapper> is a script to
-make sure the correct library paths are set up for running scripts.
diff --git a/notes/cobranding.txt b/notes/cobranding.txt
index 1db3b8188..db71c87ce 100644
--- a/notes/cobranding.txt
+++ b/notes/cobranding.txt
@@ -1,5 +1,5 @@
-Notes on adding a co brand
---------------------------
+Notes on adding a cobrand
+-------------------------
Basic steps
@@ -10,7 +10,6 @@ NB: this is moderately specific to producing cobrands for UK councils
1: copy an exiting perllib/FixMyStreet/Cobrand/ file to perllib/FixMyStreet/Cobrand/ExampleCom.pm
* Change package name at top of file
* Change following functions accordingly:
- site_title
site_restriction
problems_clause
enter_postcode_text
diff --git a/notes/code_structure.txt b/notes/code_structure.txt
index c90db1784..310ffb193 100644
--- a/notes/code_structure.txt
+++ b/notes/code_structure.txt
@@ -1,11 +1,32 @@
The code is broken down into the following sections:
-website: code to display the website and handle user submissions
+* Website: code to display the website and handle user submissions
-backend: send alerts to the councils, work out who should get the alert, various
-confirmation emails
+* Backend: send reports to the councils, work out who should get alerts,
+ send questionnaires, and so on
-mobile apps: currently for iPhone and Android - two separate apps
+* Mobile apps: currently for iPhone and Android - two separate apps, with
+ a PhoneGap app being worked on.
+
+* Utility scripts: odds and ends
+
+Main top level directories
+--------------------------
+
+android Native Android phone app source code
+bin Scripts, ranging from the ones that send reports to councils to
+ one-offs to fix data import errors
+commonlib Shared mySociety functions
+conf Configuration file, needed Debian packages, example Apache config,
+ and example crontab
+db Schema for PostgreSQL database
+iphone Native iPhone phone app source code
+local Local store of Perl modules
+locale Translation files
+perllib Source code of the FixMyStreet project
+phonegap PhoneGap mobile app, in progress
+script Catalyst management commands
+t Test suite
+templates Email and web templates
+web Front end static files; CSS, JS, images
-utility scripts: odds and ends - eg importing photos from Flickr tagged
-'fixmystreet'
diff --git a/notes/customisation.pod b/notes/customisation.pod
deleted file mode 100644
index 04bfb6e1d..000000000
--- a/notes/customisation.pod
+++ /dev/null
@@ -1,205 +0,0 @@
-=head1 Customising FixMyStreet
-
-This document explains how to tailor the default installation of
-FixMyStreet to your requirements, including limiting the geographic
-area it accepts queries for and translating the text.
-
-It also includes information about how to change the design.
-
-=head1 OVERVIEW
-
-FixMyStreet implements a Cobrand system in order to allow customisation
-of the default behavior. The Cobrand is made up of a set of templates for
-the Cobrand and a Cobrand module that contains code that customises the
-way the Cobrand behaves. There are defaults for both of these so the
-Cobrand only needs to override things that are specific to it.
-
-Customisations should be implemented like this as this means that any
-upgrade to FixMyStreet will not overwrite your changes.
-
-For a cobrand to work then it should have the same name as your site,
-e.g if your site is www.FixMyPark.com then your Cobrand should be
-called FixMyPark.
-
-The default Cobrand is called Default.
-
-=head1 TEMPLATES
-
-Templates are found in the templates directory. Within that there are
-seperate directories for web templates and email templates. Under each
-of these there is a directory for each Cobrand. In our FixMyPark example
-this would be C<templates/web/fixmypark> for the web templates and
-C<templates/email/fixmypark> for the email templates.
-
-The full set of templates is stored in the default Cobrand and if no
-equivalent template is found in a Cobrand directory FixMyStreet will
-use the default template.
-
-At a bare minimum you will probably want to copy the header and footer
-web templates found in C<templates/web/default/header.html> and
-C<templates/web/default/footer.html> into your Cobrand and make appropriate
-changes.
-
-The other template you should make your own version of is the FAQ which
-is in C<templates/web/default/faq-en-gb.html>
-
-=head1 CSS
-
-The CSS is stored in web/css/ under which there are directories for Cobrands
-but this is only by custom. The loading of the css is controled by the header
-templates. Note that FixMyStreet uses sccs files to generate our CSS so by there
-are no CSS files until C<bin/make_css> has been run.
-
-The CSS provided with FixMyStreet uses CSS3 media queries in order to adapt
-the layout to work on different devices.
-
-The CSS is structured into two main files:
-
-=over
-
-=item core.css
-
-This contains all the styling for the content of the pages. This should not
-need changed unless you are significantly changing the layout of the site.
-
-=item main.css
-
-This contains the CSS for the header and footer as well as the colour scheme.
-
-=back
-
-=head1 Cobrand modules
-
-Much of the rest of the customisation takes place in the Cobrand modules. These
-are automatically loaded according to the current Cobrand and can be found in
-C<perllib/FixMyStreet/Cobrands/>. There is a default Cobrand ( Default.pm ) which
-all Cobrands should inherit from. A Cobrand module can then override any of the
-methods from the default Cobrand.
-
-FixMyStreet uses the hostname of the current request along with the contents
-of the C<ALLOWED_COBRANDS> config option to determine which cobrand to use.
-C<ALLOWED_COBRANDS> is a list of cobrand names with an optional hostname match.
-override. If there is no hostname override then the first cobrand name that
-matches all or part of the hostname of the current request is used. If there is
-a hostname override then that is compared against the hostname of the current
-request. For example if C<ALLOWED_COBRANDS> is
-
- ALLOWED_COBRANDS:
- - fixmypark_fr: 'fr.fixmypark'
- - fixmypark
-
-then a request to www.fixmypark.com will use the fixmypark cobrand but a
-request to fr.fixmypark.com will use fixmypark_fr. If no Cobrand listed in
-C<ALLOWED_COBRANDS> matches then the default Cobrand will be used.
-
-This means you can provide multiple Cobrands for the site if you require, e.g.
-for providing different languages, and FixMyStreet will use the first match
-listed in C<ALLOWED_COBRANDS>.
-
-Many of the functions in the Cobrand module are used by FixMyStreet in the UK
-to allow the site to offer versions localised to a single authority and should
-not be needed for most installs. Listed below are the most useful options that
-can be changed.
-
-=over
-
-=item site_title
-
-This should be set to the name of your site.
-
-=item country
-
-This should be set to the two letter ISO code for the country your site is for.
-
-=item disambiguate_location
-
-This is used by the Geocoding module of FixMyStreet to constrain the area for
-which results are returned when locating an address. It should return a hash
-reference of parameters that are compatible with the arguments of the geocoding module
-you are using.
-
-At a most basic level it should limit it to the country you are in:
-
- sub disambiguate_location {
- return {
- country => 'uk',
- };
- }
-
-You can limit it to a smaller area using bounding boxes to contrain the area
-that the geocoder will consider:
-
- sub disambiguate_location {
- return {
- centre => '52.688198,-1.804966',
- span => '0.1196,0.218675',
- bounds => [ '52.807793,-1.586291', '52.584891,-1.963232' ],
- };
- }
-
-The centre and span are used by the Google geocoding API and the bounds by
-Bing.
-
-Note that these areguments are only as good a limiting results as the API
-that they are used by.
-
-=item geocode_postcode
-
-This function is used to convert postcodes entered into a latitude and
-longitude. If the text passed is not a valid postcode then an error should
-be returned. If you do not want to use postcodes and always use a geocoding
-service then always return an error.
-
-If the postcode is valid and can be converted then the return value should
-look like this:
-
- return { latitude => $latitude, longitude => $longitude };
-
-If there is an error it should look like this:
-
- return { error => $error_message };
-
-=item find_closest and find_closest_address_for_rss
-
-These are used to provide information on the closest street to the point of
-the address in reports and rss feeds or alerts.
-
-=item allow_photo_upload
-
-Return 0 to disable the photo upload field.
-
-=item allow_photo_display
-
-Return 0 to disable the display of uploaded photos.
-
-=item area_types
-
-If you are using MaPit alongside FixMyStreet this should return a
-list of the area type codes that the site will handle. This is used
-to filter the data returned from MaPit so that only appropriate areas are
-displayed.
-
-=item remove_redundant_councils
-
-This is used to filter out any overlapping jurisdictions from MaPit results
-where only one of the authorities actually has reponsability for the events
-reported by the site. An example would be be a report in a city where MaPit
-has an id for the city council and the state council but problems are only
-reported to the state. In this case you would remove the id for the the city
-council from the results.
-
-=item short_name
-
-This is used to turn the full authority name returned by MaPit into a short
-name.
-
-=back
-
-=head1 Translations and Language
-
-The translations for FixMyStreet are stored as gettext files and the
-language for a Cobrand is set in the C<set_lang_and_domain> call of
-the Cobrand module.
-
-The templates use the C<loc> method to pass strings to gettext for
-translation.
diff --git a/notes/glossary.txt b/notes/glossary.txt
deleted file mode 100644
index 5a86e5a63..000000000
--- a/notes/glossary.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Unfamiliar terms that you may come across in the code:
-
-MaPit: The mySociety database and web service that maps postcodes and points to
-current or past administrative area information and polygons for all the United
-Kingdom. http://mapit.mysociety.org/
diff --git a/notes/location_related_flow.txt b/notes/location_related_flow.txt
deleted file mode 100644
index 5af3c88f0..000000000
--- a/notes/location_related_flow.txt
+++ /dev/null
@@ -1,23 +0,0 @@
---- '/' ---
-
- Homepage has a search form that submits to /around. There is no location
- processing done on the home page. Any queries sent to the homepage are
- redirected to /around.
-
---- '/around' ---
-
- SEARCH: allows user to search for a location using postcode or other text.
- If nothing matched error shown. If multiple match show alternatives.
-
- LIST: If a search could be resolved to a lat/lon, or a lot/lon was in query
- show matches near that location.
-
- PARTIAL: If there is a partial token show a message when searching. When a
- match is found redirect to '/report/new' for the partial to be completed.
-
---- '/report/new' ---
-
- Requires a lat/lng, or a tile click, or a partial report with a location
- stored. If no location can be deteremined redirects back to '/around'. All
- form information is lost but the partial token is preserved.
-
diff --git a/notes/no-update-server b/notes/no-update-server
index 1f59c0116..2d149d850 100644
--- a/notes/no-update-server
+++ b/notes/no-update-server
@@ -318,7 +318,6 @@ BASE_URL: 'http://$servername'
EMAIL_DOMAIN: 'nuug.no'
CONTACT_EMAIL: ''
-TEST_EMAIL_PREFIX: ''
CONTACT_NAME: 'FiksGataMi'
STAGING_SITE: 1
@@ -329,7 +328,6 @@ GOOGLE_MAPS_API_KEY: ''
MAPIT_URL: 'http://mapit.nuug.no'
MAP_TYPE: 'OSM'
-EVEL_URL: ''
GAZE_URL: 'http://gaze.mysociety.org/gaze'
# empty = use /usr/sbin/sendmail'
@@ -338,12 +336,8 @@ SMTP_SMARTHOST: ''
AUTH_SHARED_SECRET: ''
HEARFROMYOURMP_BASE_URL: ''
-IPHONE_URL: ''
ANDROID_URL: 'http://wiki.nuug.no/grupper/fiksgatami/android'
-# Log file (used in test harness, and later in admin scripts)
-HTTPD_ERROR_LOG: '/var/log/apache/error.log
-
ALLOWED_COBRANDS: 'fiksgatami'
# How many items are returned in the GeoRSS feeds by default
diff --git a/perl-external/.gitignore b/perl-external/.gitignore
deleted file mode 100644
index 8db64e38e..000000000
--- a/perl-external/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-local-lib
diff --git a/perl-external/bin/cpanm b/perl-external/bin/cpanm
deleted file mode 100755
index 9aeb9c906..000000000
--- a/perl-external/bin/cpanm
+++ /dev/null
@@ -1,5748 +0,0 @@
-#!/usr/bin/env perl
-
-eval 'exec /usr/bin/env perl -S $0 ${1+"$@"}'
- if 0; # not running under some shell
-#
-# You want to install cpanminus? Run the following command and it will
-# install itself for you. You might want to run it as a root with sudo
-# if you want to install to places like /usr/local/bin.
-#
-# % curl -L http://cpanmin.us | perl - --self-upgrade
-#
-# If you don't have curl but wget, replace `curl -L` with `wget -O -`.
-#
-# For more details about this program, visit http://search.cpan.org/dist/App-cpanminus
-#
-# DO NOT EDIT -- this is an auto generated file
-# This chunk of stuff was generated by App::FatPacker. To find the original
-# file's code, look for the end of this BEGIN block or the string 'FATPACK'
-BEGIN {
-my %fatpacked;
-
-$fatpacked{"App/cpanminus.pm"} = <<'APP_CPANMINUS';
- package App::cpanminus;
- our $VERSION = "1.4007";
-
- =head1 NAME
-
- App::cpanminus - get, unpack, build and install modules from CPAN
-
- =head1 SYNOPSIS
-
- cpanm Module
-
- Run C<cpanm -h> for more options.
-
- =head1 DESCRIPTION
-
- cpanminus is a script to get, unpack, build and install modules from
- CPAN and does nothing else.
-
- It's dependency free (can bootstrap itself), requires zero
- configuration, and stands alone. When running, it requires only 10MB
- of RAM.
-
- =head1 INSTALLATION
-
- There are several ways to install cpanminus to your system.
-
- =head2 Package management system
-
- There are Debian packages, RPMs, FreeBSD ports, and packages for other
- operation systems available. If you want to use the package management system,
- search for cpanminus and use the appropriate command to install. This makes it
- easy to install C<cpanm> to your system without thinking about where to
- install, and later upgrade.
-
- =head2 Installing to system perl
-
- You can also use the latest cpanminus to install cpanminus itself:
-
- curl -L http://cpanmin.us | perl - --sudo App::cpanminus
-
- This will install C<cpanm> to your bin directory like
- C</usr/local/bin> (unless you configured C<INSTALL_BASE> with
- L<local::lib>), so you probably need the C<--sudo> option.
-
- =head2 Installing to local perl (perlbrew)
-
- If you have perl in your home directory, which is the case if you use
- tools like L<perlbrew>, you don't need the C<--sudo> option, since
- you're most likely to have a write permission to the perl's library
- path. You can just do:
-
- curl -L http://cpanmin.us | perl - App::cpanminus
-
- to install the C<cpanm> executable to the perl's bin path, like
- C<~/perl5/perlbrew/bin/cpanm>.
-
- =head2 Downloading the standalone executable
-
- You can also copy the standalone executable to whatever location you'd like.
-
- cd ~/bin
- curl -LO http://xrl.us/cpanm
- chmod +x cpanm
- # edit shebang if you don't have /usr/bin/env
-
- This just works, but be sure to grab the new version manually when you
- upgrade because C<--self-upgrade> might not work for this.
-
- =head1 DEPENDENCIES
-
- perl 5.8 or later.
-
- =over 4
-
- =item *
-
- 'tar' executable (bsdtar or GNU tar version 1.22 are rcommended) or Archive::Tar to unpack files.
-
- =item *
-
- C compiler, if you want to build XS modules.
-
- =item *
-
- make
-
- =item *
-
- Module::Build (core in 5.10)
-
- =back
-
- =head1 QUESTIONS
-
- =head2 Another CPAN installer?
-
- OK, the first motivation was this: the CPAN shell runs out of memory (or swaps
- heavily and gets really slow) on Slicehost/linode's most affordable plan with
- only 256MB RAM. Should I pay more to install perl modules from CPAN? I don't
- think so.
-
- =head2 But why a new client?
-
- First of all, let me be clear that CPAN and CPANPLUS are great tools
- I've used for I<literally> years (you know how many modules I have on
- CPAN, right?). I really respect their efforts of maintaining the most
- important tools in the CPAN toolchain ecosystem.
-
- However, for less experienced users (mostly from outside the Perl community),
- or even really experienced Perl developers who know how to shoot themselves in
- their feet, setting up the CPAN toolchain often feels like yak shaving,
- especially when all they want to do is just install some modules and start
- writing code.
-
- =head2 Zero-conf? How does this module get/parse/update the CPAN index?
-
- It queries the CPAN Meta DB site running on Google AppEngine at
- L<http://cpanmetadb.appspot.com/>. The site is updated every hour to reflect
- the latest changes from fast syncing mirrors. The script then also falls back
- to scrape the site L<http://search.cpan.org/>.
-
- Fetched files are unpacked in C<~/.cpanm> and automatically cleaned up
- periodically. You can configure the location of this with the
- C<PERL_CPANM_HOME> environment variable.
-
- =head2 Where does this install modules to? Do I need root access?
-
- It installs to wherever ExtUtils::MakeMaker and Module::Build are
- configured to (via C<PERL_MM_OPT> and C<PERL_MB_OPT>). So if you're
- using local::lib, then it installs to your local perl5
- directory. Otherwise it installs to the site_perl directory that
- belongs to your perl.
-
- cpanminus at a boot time checks whether you have configured
- local::lib, or have the permission to install modules to the site_perl
- directory. If neither, it automatically sets up local::lib compatible
- installation path in a C<perl5> directory under your home
- directory. To avoid this, run the script as the root user, with
- C<--sudo> option or with C<--local-lib> option.
-
- =head2 cpanminus can't install the module XYZ. Is it a bug?
-
- It is more likely a problem with the distribution itself. cpanminus
- doesn't support or is known to have issues with distributions like as
- follows:
-
- =over 4
-
- =item *
-
- Tests that require input from STDIN.
-
- =item *
-
- Tests that might fail when C<AUTOMATED_TESTING> is enabled.
-
- =item *
-
- Modules that have invalid numeric values as VERSION (such as C<1.1a>)
-
- =back
-
- These failures can be reported back to the author of the module so
- that they can fix it accordingly, rather than me.
-
- =head2 Does cpanm support the feature XYZ of L<CPAN> and L<CPANPLUS>?
-
- Most likely not. Here are the things that cpanm doesn't do by
- itself. And it's a feature - you got that from the name I<minus>,
- right?
-
- If you need these features, use L<CPAN>, L<CPANPLUS> or the standalone
- tools that are mentioned.
-
- =over 4
-
- =item *
-
- Bundle:: module dependencies
-
- =item *
-
- CPAN testers reporting
-
- =item *
-
- Building RPM packages from CPAN modules
-
- =item *
-
- Listing the outdated modules that needs upgrading. See L<cpan-outdated>
-
- =item *
-
- Uninstalling modules. See L<pm-uninstall>.
-
- =item *
-
- Showing the changes of the modules you're about to upgrade. See L<cpan-listchanges>
-
- =item *
-
- Patching CPAN modules with distroprefs.
-
- =back
-
- See L<cpanm> or C<cpanm -h> to see what cpanminus I<can> do :)
-
- =head1 COPYRIGHT
-
- Copyright 2010- Tatsuhiko Miyagawa
-
- The standalone executable contains the following modules embedded.
-
- =over 4
-
- =item L<CPAN::DistnameInfo> Copyright 2003 Graham Barr
-
- =item L<Parse::CPAN::Meta> Copyright 2006-2009 Adam Kennedy
-
- =item L<local::lib> Copyright 2007-2009 Matt S Trout
-
- =item L<HTTP::Tiny> Copyright 2011 Christian Hansen
-
- =item L<Module::Metadata> Copyright 2001-2006 Ken Williams. 2010 Matt S Trout
-
- =item L<version> Copyright 2004-2010 John Peacock
-
- =back
-
- =head1 LICENSE
-
- Same as Perl.
-
- =head1 CREDITS
-
- =head2 CONTRIBUTORS
-
- Patches and code improvements were contributed by:
-
- Goro Fuji, Kazuhiro Osawa, Tokuhiro Matsuno, Kenichi Ishigaki, Ian
- Wells, Pedro Melo, Masayoshi Sekimura, Matt S Trout, squeeky, horus
- and Ingy dot Net.
-
- =head2 ACKNOWLEDGEMENTS
-
- Bug reports, suggestions and feedbacks were sent by, or general
- acknowledgement goes to:
-
- Jesse Vincent, David Golden, Andreas Koenig, Jos Boumans, Chris
- Williams, Adam Kennedy, Audrey Tang, J. Shirley, Chris Prather, Jesse
- Luehrs, Marcus Ramberg, Shawn M Moore, chocolateboy, Chirs Nehren,
- Jonathan Rockway, Leon Brocard, Simon Elliott, Ricardo Signes, AEvar
- Arnfjord Bjarmason, Eric Wilhelm, Florian Ragwitz and xaicron.
-
- =head1 COMMUNITY
-
- =over 4
-
- =item L<http://github.com/miyagawa/cpanminus> - source code repository, issue tracker
-
- =item L<irc://irc.perl.org/#toolchain> - discussions about Perl toolchain. I'm there.
-
- =back
-
- =head1 NO WARRANTY
-
- This software is provided "as-is," without any express or implied
- warranty. In no event shall the author be held liable for any damages
- arising from the use of the software.
-
- =head1 SEE ALSO
-
- L<CPAN> L<CPANPLUS> L<pip>
-
- =cut
-
- 1;
-APP_CPANMINUS
-
-$fatpacked{"App/cpanminus/script.pm"} = <<'APP_CPANMINUS_SCRIPT';
- package App::cpanminus::script;
- use strict;
- use Config;
- use Cwd ();
- use File::Basename ();
- use File::Find ();
- use File::Path ();
- use File::Spec ();
- use File::Copy ();
- use Getopt::Long ();
- use Parse::CPAN::Meta;
- use Symbol ();
-
- use constant WIN32 => $^O eq 'MSWin32';
- use constant SUNOS => $^O eq 'solaris';
-
- our $VERSION = "1.4007";
-
- my $quote = WIN32 ? q/"/ : q/'/;
-
- sub new {
- my $class = shift;
-
- bless {
- home => "$ENV{HOME}/.cpanm",
- cmd => 'install',
- seen => {},
- notest => undef,
- installdeps => undef,
- force => undef,
- sudo => undef,
- make => undef,
- verbose => undef,
- quiet => undef,
- interactive => undef,
- log => undef,
- mirrors => [],
- mirror_only => undef,
- perl => $^X,
- argv => [],
- local_lib => undef,
- self_contained => undef,
- prompt_timeout => 0,
- prompt => undef,
- configure_timeout => 60,
- try_lwp => 1,
- try_wget => 1,
- try_curl => 1,
- uninstall_shadows => ($] < 5.012),
- skip_installed => 1,
- auto_cleanup => 7, # days
- pod2man => 1,
- installed_dists => 0,
- scandeps => 0,
- scandeps_tree => [],
- format => 'tree',
- save_dists => undef,
- @_,
- }, $class;
- }
-
- sub env {
- my($self, $key) = @_;
- $ENV{"PERL_CPANM_" . $key};
- }
-
- sub parse_options {
- my $self = shift;
-
- local @ARGV = @{$self->{argv}};
- push @ARGV, split /\s+/, $self->env('OPT');
- push @ARGV, @_;
-
- Getopt::Long::Configure("bundling");
- Getopt::Long::GetOptions(
- 'f|force' => sub { $self->{skip_installed} = 0; $self->{force} = 1 },
- 'n|notest!' => \$self->{notest},
- 'S|sudo!' => \$self->{sudo},
- 'v|verbose' => sub { $self->{verbose} = $self->{interactive} = 1 },
- 'q|quiet' => \$self->{quiet},
- 'h|help' => sub { $self->{action} = 'show_help' },
- 'V|version' => sub { $self->{action} = 'show_version' },
- 'perl=s' => \$self->{perl},
- 'l|local-lib=s' => sub { $self->{local_lib} = $self->maybe_abs($_[1]) },
- 'L|local-lib-contained=s' => sub {
- $self->{local_lib} = $self->maybe_abs($_[1]);
- $self->{self_contained} = 1;
- $self->{pod2man} = undef;
- },
- 'mirror=s@' => $self->{mirrors},
- 'mirror-only!' => \$self->{mirror_only},
- 'prompt!' => \$self->{prompt},
- 'installdeps' => \$self->{installdeps},
- 'skip-installed!' => \$self->{skip_installed},
- 'reinstall' => sub { $self->{skip_installed} = 0 },
- 'interactive!' => \$self->{interactive},
- 'i|install' => sub { $self->{cmd} = 'install' },
- 'info' => sub { $self->{cmd} = 'info' },
- 'look' => sub { $self->{cmd} = 'look'; $self->{skip_installed} = 0 },
- 'self-upgrade' => sub { $self->{cmd} = 'install'; $self->{skip_installed} = 1; push @ARGV, 'App::cpanminus' },
- 'uninst-shadows!' => \$self->{uninstall_shadows},
- 'lwp!' => \$self->{try_lwp},
- 'wget!' => \$self->{try_wget},
- 'curl!' => \$self->{try_curl},
- 'auto-cleanup=s' => \$self->{auto_cleanup},
- 'man-pages!' => \$self->{pod2man},
- 'scandeps' => \$self->{scandeps},
- 'format=s' => \$self->{format},
- 'save-dists=s' => sub {
- $self->{save_dists} = $self->maybe_abs($_[1]);
- },
- );
-
- if (!@ARGV && $0 ne '-' && !-t STDIN){ # e.g. # cpanm < author/requires.cpanm
- push @ARGV, $self->load_argv_from_fh(\*STDIN);
- $self->{load_from_stdin} = 1;
- }
-
- $self->{argv} = \@ARGV;
- }
-
- sub check_libs {
- my $self = shift;
- return if $self->{_checked}++;
-
- $self->bootstrap_local_lib;
- if (@{$self->{bootstrap_deps} || []}) {
- local $self->{notest} = 1; # test failure in bootstrap should be tolerated
- local $self->{scandeps} = 0;
- $self->install_deps(Cwd::cwd, 0, @{$self->{bootstrap_deps}});
- }
- }
-
- sub doit {
- my $self = shift;
-
- $self->setup_home;
- $self->init_tools;
-
- if (my $action = $self->{action}) {
- $self->$action() and return 1;
- }
-
- $self->show_help(1)
- unless @{$self->{argv}} or $self->{load_from_stdin};
-
- $self->configure_mirrors;
-
- my @fail;
- for my $module (@{$self->{argv}}) {
- if ($module =~ s/\.pm$//i) {
- my ($volume, $dirs, $file) = File::Spec->splitpath($module);
- $module = join '::', grep { $_ } File::Spec->splitdir($dirs), $file;
- }
- $self->install_module($module, 0)
- or push @fail, $module;
- }
-
- if ($self->{base} && $self->{auto_cleanup}) {
- $self->cleanup_workdirs;
- }
-
- if ($self->{installed_dists}) {
- my $dists = $self->{installed_dists} > 1 ? "distributions" : "distribution";
- $self->diag("$self->{installed_dists} $dists installed\n", 1);
- }
-
- if ($self->{scandeps}) {
- $self->dump_scandeps();
- }
-
- return !@fail;
- }
-
- sub setup_home {
- my $self = shift;
-
- $self->{home} = $self->env('HOME') if $self->env('HOME');
-
- unless (_writable($self->{home})) {
- die "Can't write to cpanm home '$self->{home}': You should fix it with chown/chmod first.\n";
- }
-
- $self->{base} = "$self->{home}/work/" . time . ".$$";
- File::Path::mkpath([ $self->{base} ], 0, 0777);
-
- my $link = "$self->{home}/latest-build";
- eval { unlink $link; symlink $self->{base}, $link };
-
- $self->{log} = File::Spec->catfile($self->{home}, "build.log"); # because we use shell redirect
-
- {
- my $log = $self->{log}; my $base = $self->{base};
- $self->{at_exit} = sub {
- my $self = shift;
- File::Copy::copy($self->{log}, "$self->{base}/build.log");
- };
- }
-
- { open my $out, ">$self->{log}" or die "$self->{log}: $!" }
-
- $self->chat("cpanm (App::cpanminus) $VERSION on perl $] built for $Config{archname}\n" .
- "Work directory is $self->{base}\n");
- }
-
- sub fetch_meta_sco {
- my($self, $dist) = @_;
- return if $self->{mirror_only};
-
- my $meta_yml = $self->get("http://search.cpan.org/meta/$dist->{distvname}/META.yml");
- return $self->parse_meta_string($meta_yml);
- }
-
- sub package_index_for {
- my ($self, $mirror) = @_;
- return $self->source_for($mirror) . "/02packages.details.txt";
- }
-
- sub generate_mirror_index {
- my ($self, $mirror) = @_;
- my $file = $self->package_index_for($mirror);
- my $gz_file = $file . '.gz';
- my $index_mtime = (stat $gz_file)[9];
-
- unless (-e $file && (stat $file)[9] >= $index_mtime) {
- $self->chat("Uncompressing index file...\n");
- if (eval {require Compress::Zlib}) {
- my $gz = Compress::Zlib::gzopen($gz_file, "rb")
- or do { $self->diag_fail("$Compress::Zlib::gzerrno opening compressed index"); return};
- open my $fh, '>', $file
- or do { $self->diag_fail("$! opening uncompressed index for write"); return };
- my $buffer;
- while (my $status = $gz->gzread($buffer)) {
- if ($status < 0) {
- $self->diag_fail($gz->gzerror . " reading compressed index");
- return;
- }
- print $fh $buffer;
- }
- } else {
- if (system("gunzip -c $gz_file > $file")) {
- $self->diag_fail("Cannot uncompress -- please install gunzip or Compress::Zlib");
- return;
- }
- }
- utime $index_mtime, $index_mtime, $file;
- }
- return 1;
- }
-
- sub search_mirror_index {
- my ($self, $mirror, $module) = @_;
-
- open my $fh, '<', $self->package_index_for($mirror) or return;
- while (<$fh>) {
- if (m!^\Q$module\E\s+([\w\.]+)\s+(.*)!m) {
- return $self->cpan_module($module, $2, $1);
- }
- }
-
- return;
- }
-
- sub search_module {
- my($self, $module) = @_;
-
- unless ($self->{mirror_only}) {
- $self->chat("Searching $module on cpanmetadb ...\n");
- my $uri = "http://cpanmetadb.appspot.com/v1.0/package/$module";
- my $yaml = $self->get($uri);
- my $meta = $self->parse_meta_string($yaml);
- if ($meta && $meta->{distfile}) {
- return $self->cpan_module($module, $meta->{distfile}, $meta->{version});
- }
-
- $self->diag_fail("Finding $module on cpanmetadb failed.");
-
- $self->chat("Searching $module on search.cpan.org ...\n");
- my $uri = "http://search.cpan.org/perldoc?$module";
- my $html = $self->get($uri);
- $html =~ m!<a href="/CPAN/authors/id/(.*?\.(?:tar\.gz|tgz|tar\.bz2|zip))">!
- and return $self->cpan_module($module, $1);
-
- $self->diag_fail("Finding $module on search.cpan.org failed.");
- }
-
- MIRROR: for my $mirror (@{ $self->{mirrors} }) {
- $self->chat("Searching $module on mirror $mirror ...\n");
- my $name = '02packages.details.txt.gz';
- my $uri = "$mirror/modules/$name";
- my $gz_file = $self->package_index_for($mirror) . '.gz';
-
- unless ($self->{pkgs}{$uri}) {
- $self->chat("Downloading index file $uri ...\n");
- $self->mirror($uri, $gz_file);
- $self->generate_mirror_index($mirror) or next MIRROR;
- $self->{pkgs}{$uri} = "!!retrieved!!";
- }
-
- my $pkg = $self->search_mirror_index($mirror, $module);
- return $pkg if $pkg;
-
- $self->diag_fail("Finding $module on mirror $mirror failed.");
- }
-
- return;
- }
-
- sub source_for {
- my($self, $mirror) = @_;
- $mirror =~ s/[^\w\.\-]+/%/g;
-
- my $dir = "$self->{home}/sources/$mirror";
- File::Path::mkpath([ $dir ], 0, 0777);
-
- return $dir;
- }
-
- sub load_argv_from_fh {
- my($self, $fh) = @_;
-
- my @argv;
- while(defined(my $line = <$fh>)){
- chomp $line;
- $line =~ s/#.+$//; # comment
- $line =~ s/^\s+//; # trim spaces
- $line =~ s/\s+$//; # trim spaces
-
- push @argv, split ' ', $line if $line;
- }
- return @argv;
- }
-
- sub show_version {
- print "cpanm (App::cpanminus) version $VERSION\n";
- return 1;
- }
-
- sub show_help {
- my $self = shift;
-
- if ($_[0]) {
- die <<USAGE;
- Usage: cpanm [options] Module [...]
-
- Try `cpanm --help` or `man cpanm` for more options.
- USAGE
- }
-
- print <<HELP;
- Usage: cpanm [options] Module [...]
-
- Options:
- -v,--verbose Turns on chatty output
- -q,--quiet Turns off the most output
- --interactive Turns on interactive configure (required for Task:: modules)
- -f,--force force install
- -n,--notest Do not run unit tests
- -S,--sudo sudo to run install commands
- --installdeps Only install dependencies
- --reinstall Reinstall the distribution even if you already have the latest version installed
- --mirror Specify the base URL for the mirror (e.g. http://cpan.cpantesters.org/)
- --mirror-only Use the mirror's index file instead of the CPAN Meta DB
- --prompt Prompt when configure/build/test fails
- -l,--local-lib Specify the install base to install modules
- -L,--local-lib-contained Specify the install base to install all non-core modules
- --auto-cleanup Number of days that cpanm's work directories expire in. Defaults to 7
-
- Commands:
- --self-upgrade upgrades itself
- --info Displays distribution info on CPAN
- --look Opens the distribution with your SHELL
- -V,--version Displays software version
-
- Examples:
-
- cpanm Test::More # install Test::More
- cpanm MIYAGAWA/Plack-0.99_05.tar.gz # full distribution path
- cpanm http://example.org/LDS/CGI.pm-3.20.tar.gz # install from URL
- cpanm ~/dists/MyCompany-Enterprise-1.00.tar.gz # install from a local file
- cpanm --interactive Task::Kensho # Configure interactively
- cpanm . # install from local directory
- cpanm --installdeps . # install all the deps for the current directory
- cpanm -L extlib Plack # install Plack and all non-core deps into extlib
- cpanm --mirror http://cpan.cpantesters.org/ DBI # use the fast-syncing mirror
-
- You can also specify the default options in PERL_CPANM_OPT environment variable in the shell rc:
-
- export PERL_CPANM_OPT="--prompt --reinstall -l ~/perl --mirror http://cpan.cpantesters.org"
-
- Type `man cpanm` or `perldoc cpanm` for the more detailed explanation of the options.
-
- HELP
-
- return 1;
- }
-
- sub _writable {
- my $dir = shift;
- my @dir = File::Spec->splitdir($dir);
- while (@dir) {
- $dir = File::Spec->catdir(@dir);
- if (-e $dir) {
- return -w _;
- }
- pop @dir;
- }
-
- return;
- }
-
- sub maybe_abs {
- my($self, $lib) = @_;
- $lib =~ /^[~\/]/ ? $lib : Cwd::abs_path($lib);
- }
-
- sub bootstrap_local_lib {
- my $self = shift;
-
- # If -l is specified, use that.
- if ($self->{local_lib}) {
- return $self->setup_local_lib($self->{local_lib});
- }
-
- # root, locally-installed perl or --sudo: don't care about install_base
- return if $self->{sudo} or (_writable($Config{installsitelib}) and _writable($Config{installsitebin}));
-
- # local::lib is configured in the shell -- yay
- if ($ENV{PERL_MM_OPT} and ($ENV{MODULEBUILDRC} or $ENV{PERL_MB_OPT})) {
- $self->bootstrap_local_lib_deps;
- return;
- }
-
- $self->setup_local_lib;
-
- $self->diag(<<DIAG);
- !
- ! Can't write to $Config{installsitelib} and $Config{installsitebin}: Installing modules to $ENV{HOME}/perl5
- ! To turn off this warning, you have to do one of the following:
- ! - run me as a root or with --sudo option (to install to $Config{installsitelib} and $Config{installsitebin})
- | - run me with --local-lib option e.g. cpanm --local-lib=~/perl5
- ! - Set PERL_CPANM_OPT="--local-lib=~/perl5" environment variable (in your shell rc file)
- ! - Configure local::lib in your shell to set PERL_MM_OPT etc.
- !
- DIAG
- sleep 2;
- }
-
- sub _core_only_inc {
- my($self, $base) = @_;
- require local::lib;
- (
- local::lib->install_base_perl_path($base),
- local::lib->install_base_arch_path($base),
- @Config{qw(privlibexp archlibexp)},
- );
- }
-
- sub _dump_inc {
- my($self, $inc, $std_inc) = @_;
-
- # $self->{base} for ModuleBuildPatch.pm, . for inc/Module/Install.pm
- my @new_inc = map { qq('$_') } (@$inc, $self->{base}, '.');
- my @exclude_inc = map { qq('$_') } grep { $_ ne '.' && !ref } $self->_diff($inc, $std_inc);
-
- open my $out, ">$self->{base}/DumpedINC.pm" or die $!;
- local $" = ",";
- print $out <<EOF;
- package DumpedINC;
- my \%exclude = map { \$_ => 1 } (@exclude_inc);
- sub import {
- if (\$_[1] eq "tests") {
- \@INC = grep !\$exclude{\$_}, \@INC;
- } else {
- \@INC = (@new_inc);
- }
- }
- 1;
- EOF
- }
-
- sub _diff {
- my($self, $old, $new) = @_;
-
- my @diff;
- my %old = map { $_ => 1 } @$old;
- for my $n (@$new) {
- push @diff, $n unless exists $old{$n};
- }
-
- @diff;
- }
-
- sub _setup_local_lib_env {
- my($self, $base) = @_;
- local $SIG{__WARN__} = sub { }; # catch 'Attempting to write ...'
- local::lib->setup_env_hash_for($base);
- }
-
- sub setup_local_lib {
- my($self, $base) = @_;
-
- require local::lib;
- {
- local $0 = 'cpanm'; # so curl/wget | perl works
- $base ||= "~/perl5";
- if ($self->{self_contained}) {
- my @inc = $self->_core_only_inc($base);
- $self->_dump_inc(\@inc, \@INC);
- $self->{search_inc} = [ @inc ];
- } else {
- $self->{search_inc} = [
- local::lib->install_base_arch_path($base),
- local::lib->install_base_perl_path($base),
- @INC,
- ];
- }
- $self->_setup_local_lib_env($base);
- }
-
- $self->bootstrap_local_lib_deps;
- }
-
- sub bootstrap_local_lib_deps {
- my $self = shift;
- push @{$self->{bootstrap_deps}},
- 'ExtUtils::MakeMaker' => 6.31,
- 'ExtUtils::Install' => 1.46,
- 'Module::Build' => 0.36;
- }
-
- sub prompt_bool {
- my($self, $mess, $def) = @_;
-
- my $val = $self->prompt($mess, $def);
- return lc $val eq 'y';
- }
-
- sub prompt {
- my($self, $mess, $def) = @_;
-
- my $isa_tty = -t STDIN && (-t STDOUT || !(-f STDOUT || -c STDOUT)) ;
- my $dispdef = defined $def ? "[$def] " : " ";
- $def = defined $def ? $def : "";
-
- if (!$self->{prompt} || (!$isa_tty && eof STDIN)) {
- return $def;
- }
-
- local $|=1;
- local $\;
- my $ans;
- eval {
- local $SIG{ALRM} = sub { undef $ans; die "alarm\n" };
- print STDOUT "$mess $dispdef";
- alarm $self->{prompt_timeout} if $self->{prompt_timeout};
- $ans = <STDIN>;
- alarm 0;
- };
- if ( defined $ans ) {
- chomp $ans;
- } else { # user hit ctrl-D or alarm timeout
- print STDOUT "\n";
- }
-
- return (!defined $ans || $ans eq '') ? $def : $ans;
- }
-
- sub diag_ok {
- my($self, $msg) = @_;
- chomp $msg;
- $msg ||= "OK";
- if ($self->{in_progress}) {
- $self->_diag("$msg\n");
- $self->{in_progress} = 0;
- }
- $self->log("-> $msg\n");
- }
-
- sub diag_fail {
- my($self, $msg, $always) = @_;
- chomp $msg;
- if ($self->{in_progress}) {
- $self->_diag("FAIL\n");
- $self->{in_progress} = 0;
- }
-
- if ($msg) {
- $self->_diag("! $msg\n", $always);
- $self->log("-> FAIL $msg\n");
- }
- }
-
- sub diag_progress {
- my($self, $msg) = @_;
- chomp $msg;
- $self->{in_progress} = 1;
- $self->_diag("$msg ... ");
- $self->log("$msg\n");
- }
-
- sub _diag {
- my($self, $msg, $always) = @_;
- print STDERR $msg if $always or $self->{verbose} or !$self->{quiet};
- }
-
- sub diag {
- my($self, $msg, $always) = @_;
- $self->_diag($msg, $always);
- $self->log($msg);
- }
-
- sub chat {
- my $self = shift;
- print STDERR @_ if $self->{verbose};
- $self->log(@_);
- }
-
- sub log {
- my $self = shift;
- open my $out, ">>$self->{log}";
- print $out @_;
- }
-
- sub run {
- my($self, $cmd) = @_;
-
- if (WIN32 && ref $cmd eq 'ARRAY') {
- $cmd = join q{ }, map { $self->shell_quote($_) } @$cmd;
- }
-
- if (ref $cmd eq 'ARRAY') {
- my $pid = fork;
- if ($pid) {
- waitpid $pid, 0;
- return !$?;
- } else {
- $self->run_exec($cmd);
- }
- } else {
- unless ($self->{verbose}) {
- $cmd .= " >> " . $self->shell_quote($self->{log}) . " 2>&1";
- }
- !system $cmd;
- }
- }
-
- sub run_exec {
- my($self, $cmd) = @_;
-
- if (ref $cmd eq 'ARRAY') {
- unless ($self->{verbose}) {
- open my $logfh, ">>", $self->{log};
- open STDERR, '>&', $logfh;
- open STDOUT, '>&', $logfh;
- close $logfh;
- }
- exec @$cmd;
- } else {
- unless ($self->{verbose}) {
- $cmd .= " >> " . $self->shell_quote($self->{log}) . " 2>&1";
- }
- exec $cmd;
- }
- }
-
- sub run_timeout {
- my($self, $cmd, $timeout) = @_;
- return $self->run($cmd) if WIN32 || $self->{verbose} || !$timeout;
-
- my $pid = fork;
- if ($pid) {
- eval {
- local $SIG{ALRM} = sub { die "alarm\n" };
- alarm $timeout;
- waitpid $pid, 0;
- alarm 0;
- };
- if ($@ && $@ eq "alarm\n") {
- $self->diag_fail("Timed out (> ${timeout}s). Use --verbose to retry.");
- local $SIG{TERM} = 'IGNORE';
- kill TERM => 0;
- waitpid $pid, 0;
- return;
- }
- return !$?;
- } elsif ($pid == 0) {
- $self->run_exec($cmd);
- } else {
- $self->chat("! fork failed: falling back to system()\n");
- $self->run($cmd);
- }
- }
-
- sub configure {
- my($self, $cmd) = @_;
-
- # trick AutoInstall
- local $ENV{PERL5_CPAN_IS_RUNNING} = local $ENV{PERL5_CPANPLUS_IS_RUNNING} = $$;
-
- # e.g. skip CPAN configuration on local::lib
- local $ENV{PERL5_CPANM_IS_RUNNING} = $$;
-
- my $use_default = !$self->{interactive};
- local $ENV{PERL_MM_USE_DEFAULT} = $use_default;
-
- # skip man page generation
- local $ENV{PERL_MM_OPT} = $ENV{PERL_MM_OPT};
- unless ($self->{pod2man}) {
- $ENV{PERL_MM_OPT} .= " INSTALLMAN1DIR=none INSTALLMAN3DIR=none";
- }
-
- local $self->{verbose} = $self->{verbose} || $self->{interactive};
- $self->run_timeout($cmd, $self->{configure_timeout});
- }
-
- sub build {
- my($self, $cmd, $distname) = @_;
-
- return 1 if $self->run_timeout($cmd, $self->{build_timeout});
- while (1) {
- my $ans = lc $self->prompt("Building $distname failed.\nYou can s)kip, r)etry or l)ook ?", "s");
- return if $ans eq 's';
- return $self->build($cmd, $distname) if $ans eq 'r';
- $self->look if $ans eq 'l';
- }
- }
-
- sub test {
- my($self, $cmd, $distname) = @_;
- return 1 if $self->{notest};
-
- # http://www.nntp.perl.org/group/perl.perl5.porters/2009/10/msg152656.html
- local $ENV{AUTOMATED_TESTING} = 1
- unless $self->env('NO_AUTOMATED_TESTING');
-
- local $ENV{PERL5OPT} = "-I$self->{base} -MDumpedINC=tests"
- if $self->{self_contained};
-
- return 1 if $self->run_timeout($cmd, $self->{test_timeout});
- if ($self->{force}) {
- $self->diag_fail("Testing $distname failed but installing it anyway.");
- return 1;
- } else {
- $self->diag_fail;
- while (1) {
- my $ans = lc $self->prompt("Testing $distname failed.\nYou can s)kip, r)etry, f)orce install or l)ook ?", "s");
- return if $ans eq 's';
- return $self->test($cmd, $distname) if $ans eq 'r';
- return 1 if $ans eq 'f';
- $self->look if $ans eq 'l';
- }
- }
- }
-
- sub install {
- my($self, $cmd, $uninst_opts) = @_;
-
- if ($self->{sudo}) {
- unshift @$cmd, "sudo";
- }
-
- if ($self->{uninstall_shadows} && !$ENV{PERL_MM_OPT}) {
- push @$cmd, @$uninst_opts;
- }
-
- $self->run($cmd);
- }
-
- sub look {
- my $self = shift;
-
- my $shell = $ENV{SHELL};
- $shell ||= $ENV{COMSPEC} if WIN32;
- if ($shell) {
- my $cwd = Cwd::cwd;
- $self->diag("Entering $cwd with $shell\n");
- system $shell;
- } else {
- $self->diag_fail("You don't seem to have a SHELL :/");
- }
- }
-
- sub chdir {
- my $self = shift;
- chdir(File::Spec->canonpath($_[0])) or die "$_[0]: $!";
- }
-
- sub configure_mirrors {
- my $self = shift;
- unless (@{$self->{mirrors}}) {
- $self->{mirrors} = [ 'http://search.cpan.org/CPAN' ];
- }
- for (@{$self->{mirrors}}) {
- s!^/!file:///!;
- s!/$!!;
- }
- }
-
- sub self_upgrade {
- my $self = shift;
- $self->{argv} = [ 'App::cpanminus' ];
- return; # continue
- }
-
- sub install_module {
- my($self, $module, $depth) = @_;
-
- if ($self->{seen}{$module}++) {
- $self->chat("Already tried $module. Skipping.\n");
- return 1;
- }
-
- my $dist = $self->resolve_name($module);
- unless ($dist) {
- $self->diag_fail("Couldn't find module or a distribution $module", 1);
- return;
- }
-
- if ($dist->{distvname} && $self->{seen}{$dist->{distvname}}++) {
- $self->chat("Already tried $dist->{distvname}. Skipping.\n");
- return 1;
- }
-
- if ($self->{cmd} eq 'info') {
- print $self->format_dist($dist), "\n";
- return 1;
- }
-
- $self->check_libs;
- $self->setup_module_build_patch unless $self->{pod2man};
-
- if ($dist->{module}) {
- my($ok, $local) = $self->check_module($dist->{module}, $dist->{module_version} || 0);
- if ($self->{skip_installed} && $ok) {
- $self->diag("$dist->{module} is up to date. ($local)\n", 1);
- return 1;
- }
- }
-
- if ($dist->{dist} eq 'perl'){
- $self->diag("skipping $dist->{pathname}\n");
- return 1;
- }
-
- $self->diag("--> Working on $module\n");
-
- $dist->{dir} ||= $self->fetch_module($dist);
-
- unless ($dist->{dir}) {
- $self->diag_fail("Failed to fetch distribution $dist->{distvname}", 1);
- return;
- }
-
- $self->chat("Entering $dist->{dir}\n");
- $self->chdir($self->{base});
- $self->chdir($dist->{dir});
-
- if ($self->{cmd} eq 'look') {
- $self->look;
- return 1;
- }
-
- return $self->build_stuff($module, $dist, $depth);
- }
-
- sub format_dist {
- my($self, $dist) = @_;
-
- # TODO support --dist-format?
- return "$dist->{cpanid}/$dist->{filename}";
- }
-
- sub fetch_module {
- my($self, $dist) = @_;
-
- $self->chdir($self->{base});
-
- for my $uri (@{$dist->{uris}}) {
- $self->diag_progress("Fetching $uri");
-
- # Ugh, $dist->{filename} can contain sub directory
- my $filename = $dist->{filename} || $uri;
- my $name = File::Basename::basename($filename);
-
- my $cancelled;
- my $fetch = sub {
- my $file;
- eval {
- local $SIG{INT} = sub { $cancelled = 1; die "SIGINT\n" };
- $self->mirror($uri, $name);
- $file = $name if -e $name;
- };
- $self->chat("$@") if $@ && $@ ne "SIGINT\n";
- return $file;
- };
-
- my($try, $file);
- while ($try++ < 3) {
- $file = $fetch->();
- last if $cancelled or $file;
- $self->diag_fail("Download $uri failed. Retrying ... ");
- }
-
- if ($cancelled) {
- $self->diag_fail("Download cancelled.");
- return;
- }
-
- unless ($file) {
- $self->diag_fail("Failed to download $uri");
- next;
- }
-
- $self->diag_ok;
- $dist->{local_path} = File::Spec->rel2abs($name);
-
- my $dir = $self->unpack($file);
- next unless $dir; # unpack failed
-
- if (my $save = $self->{save_dists}) {
- my $path = "$save/authors/id/$dist->{pathname}";
- $self->chat("Copying $name to $path\n");
- File::Path::mkpath([ File::Basename::dirname($path) ], 0, 0777);
- File::Copy::copy($file, $path) or warn $!;
- }
-
- return $dist, $dir;
- }
- }
-
- sub unpack {
- my($self, $file) = @_;
- $self->chat("Unpacking $file\n");
- my $dir = $file =~ /\.zip/i ? $self->unzip($file) : $self->untar($file);
- unless ($dir) {
- $self->diag_fail("Failed to unpack $file: no directory");
- }
- return $dir;
- }
-
- sub resolve_name {
- my($self, $module) = @_;
-
- # URL
- if ($module =~ /^(ftp|https?|file):/) {
- if ($module =~ m!authors/id/!) {
- return $self->cpan_dist($module, $module);
- } else {
- return { uris => [ $module ] };
- }
- }
-
- # Directory
- if ($module =~ m!^[\./]! && -d $module) {
- return {
- source => 'local',
- dir => Cwd::abs_path($module),
- };
- }
-
- # File
- if (-f $module) {
- return {
- source => 'local',
- uris => [ "file://" . Cwd::abs_path($module) ],
- };
- }
-
- # cpan URI
- if ($module =~ s!^cpan:///distfile/!!) {
- return $self->cpan_dist($module);
- }
-
- # PAUSEID/foo
- if ($module =~ m!([A-Z]{3,})/!) {
- return $self->cpan_dist($module);
- }
-
- # Module name
- return $self->search_module($module);
- }
-
- sub cpan_module {
- my($self, $module, $dist, $version) = @_;
-
- my $dist = $self->cpan_dist($dist);
- $dist->{module} = $module;
- $dist->{module_version} = $version if $version && $version ne 'undef';
-
- return $dist;
- }
-
- sub cpan_dist {
- my($self, $dist, $url) = @_;
-
- $dist =~ s!^([A-Z]{3})!substr($1,0,1)."/".substr($1,0,2)."/".$1!e;
-
- require CPAN::DistnameInfo;
- my $d = CPAN::DistnameInfo->new($dist);
-
- if ($url) {
- $url = [ $url ] unless ref $url eq 'ARRAY';
- } else {
- my $id = $d->cpanid;
- my $fn = substr($id, 0, 1) . "/" . substr($id, 0, 2) . "/" . $id . "/" . $d->filename;
-
- my @mirrors = @{$self->{mirrors}};
- my @urls = map "$_/authors/id/$fn", @mirrors;
-
- $url = \@urls,
- }
-
- return {
- $d->properties,
- source => 'cpan',
- uris => $url,
- };
- }
-
- sub setup_module_build_patch {
- my $self = shift;
-
- open my $out, ">$self->{base}/ModuleBuildSkipMan.pm" or die $!;
- print $out <<EOF;
- package ModuleBuildSkipMan;
- CHECK {
- if (%Module::Build::) {
- no warnings 'redefine';
- *Module::Build::Base::ACTION_manpages = sub {};
- *Module::Build::Base::ACTION_docs = sub {};
- }
- }
- 1;
- EOF
- }
-
- sub check_module {
- my($self, $mod, $want_ver) = @_;
-
- require Module::Metadata;
- my $meta = Module::Metadata->new_from_module($mod, inc => $self->{search_inc})
- or return 0, undef;
-
- my $version = $meta->version;
-
- # When -L is in use, the version loaded from 'perl' library path
- # might be newer than the version that is shipped with the current perl
- if ($self->{self_contained} && $self->loaded_from_perl_lib($meta)) {
- my $core_version = eval {
- require Module::CoreList;
- $Module::CoreList::version{$]+0}{$mod};
- };
-
- # HACK: Module::Build 0.3622 or later has non-core module
- # dependencies such as Perl::OSType and CPAN::Meta, and causes
- # issues when a newer version is loaded from 'perl' while deps
- # are loaded from the 'site' library path. Just assume it's
- # not in the core, and install to the new local library path.
- if ($mod eq 'Module::Build' && $core_version != $version) {
- return 0, undef;
- }
-
- $version = $core_version if $core_version;
- }
-
- $self->{local_versions}{$mod} = $version;
-
- if ($self->is_deprecated($meta)){
- return 0, $version;
- } elsif (!$want_ver or $version >= version->new($want_ver)) {
- return 1, ($version || 'undef');
- } else {
- return 0, $version;
- }
- }
-
- sub is_deprecated {
- my($self, $meta) = @_;
-
- my $deprecated = eval {
- require Module::CoreList;
- Module::CoreList::is_deprecated($meta->{module});
- };
-
- return unless $deprecated;
- return $self->loaded_from_perl_lib($meta);
- }
-
- sub loaded_from_perl_lib {
- my($self, $meta) = @_;
-
- require Config;
- for my $dir (qw(archlibexp privlibexp)) {
- my $confdir = $Config{$dir};
- if ($confdir eq substr($meta->filename, 0, length($confdir))) {
- return 1;
- }
- }
-
- return;
- }
-
- sub should_install {
- my($self, $mod, $ver) = @_;
-
- $self->chat("Checking if you have $mod $ver ... ");
- my($ok, $local) = $self->check_module($mod, $ver);
-
- if ($ok) { $self->chat("Yes ($local)\n") }
- elsif ($local) { $self->chat("No ($local < $ver)\n") }
- else { $self->chat("No\n") }
-
- return $mod unless $ok;
- return;
- }
-
- sub install_deps {
- my($self, $dir, $depth, @deps) = @_;
-
- my(@install, %seen);
- while (my($mod, $ver) = splice @deps, 0, 2) {
- next if $seen{$mod} or $mod eq 'perl' or $mod eq 'Config';
- if ($self->should_install($mod, $ver)) {
- push @install, $mod;
- $seen{$mod} = 1;
- }
- }
-
- if (@install) {
- $self->diag("==> Found dependencies: " . join(", ", @install) . "\n");
- }
-
- my @fail;
- for my $mod (@install) {
- $self->install_module($mod, $depth + 1)
- or push @fail, $mod;
- }
-
- $self->chdir($self->{base});
- $self->chdir($dir) if $dir;
-
- return @fail;
- }
-
- sub install_deps_bailout {
- my($self, $target, $dir, $depth, @deps) = @_;
-
- my @fail = $self->install_deps($dir, $depth, @deps);
- if (@fail) {
- unless ($self->prompt_bool("Installing the following dependencies failed:\n==> " .
- join(", ", @fail) . "\nDo you want to continue building $target anyway?", "n")) {
- $self->diag_fail("Bailing out the installation for $target. Retry with --prompt or --force.", 1);
- return;
- }
- }
-
- return 1;
- }
-
- sub build_stuff {
- my($self, $stuff, $dist, $depth) = @_;
-
- my @config_deps;
- if (!%{$dist->{meta} || {}} && -e 'META.yml') {
- $self->chat("Checking configure dependencies from META.yml\n");
- $dist->{meta} = $self->parse_meta('META.yml');
- }
-
- if (!$dist->{meta} && $dist->{source} eq 'cpan') {
- $self->chat("META.yml not found or unparsable. Fetching META.yml from search.cpan.org\n");
- $dist->{meta} = $self->fetch_meta_sco($dist);
- }
-
- $dist->{meta} ||= {};
-
- push @config_deps, %{$dist->{meta}{configure_requires} || {}};
-
- my $target = $dist->{meta}{name} ? "$dist->{meta}{name}-$dist->{meta}{version}" : $dist->{dir};
-
- $self->install_deps_bailout($target, $dist->{dir}, $depth, @config_deps)
- or return;
-
- $self->diag_progress("Configuring $target");
-
- my $configure_state = $self->configure_this($dist);
-
- $self->diag_ok($configure_state->{configured_ok} ? "OK" : "N/A");
-
- my @deps = $self->find_prereqs($dist);
-
- my $distname = $dist->{meta}{name} ? "$dist->{meta}{name}-$dist->{meta}{version}" : $stuff;
-
- my $walkup;
- if ($self->{scandeps}) {
- $walkup = $self->scandeps_append_child($dist);
- }
-
- $self->install_deps_bailout($distname, $dist->{dir}, $depth, @deps)
- or return;
-
- if ($self->{scandeps}) {
- unless ($configure_state->{configured_ok}) {
- my $diag = <<DIAG;
- ! Configuring $distname failed. See $self->{log} for details.
- ! You might have to install the following modules first to get --scandeps working correctly.
- DIAG
- if (@config_deps) {
- my @tree = @{$self->{scandeps_tree}};
- $diag .= "!\n" . join("", map "! * $_->[0]{module}\n", @tree[0..$#tree-1]) if @tree;
- }
- $self->diag("!\n$diag!\n", 1);
- }
- $walkup->();
- return 1;
- }
-
- if ($self->{installdeps} && $depth == 0) {
- $self->diag("<== Installed dependencies for $stuff. Finishing.\n");
- return 1;
- }
-
- my $installed;
- if ($configure_state->{use_module_build} && -e 'Build' && -f _) {
- my @switches = $self->{pod2man} ? () : ("-I$self->{base}", "-MModuleBuildSkipMan");
- $self->diag_progress("Building " . ($self->{notest} ? "" : "and testing ") . $distname);
- $self->build([ $self->{perl}, @switches, "./Build" ], $distname) &&
- $self->test([ $self->{perl}, "./Build", "test" ], $distname) &&
- $self->install([ $self->{perl}, @switches, "./Build", "install" ], [ "--uninst", 1 ]) &&
- $installed++;
- } elsif ($self->{make} && -e 'Makefile') {
- $self->diag_progress("Building " . ($self->{notest} ? "" : "and testing ") . $distname);
- $self->build([ $self->{make} ], $distname) &&
- $self->test([ $self->{make}, "test" ], $distname) &&
- $self->install([ $self->{make}, "install" ], [ "UNINST=1" ]) &&
- $installed++;
- } else {
- my $why;
- my $configure_failed = $configure_state->{configured} && !$configure_state->{configured_ok};
- if ($configure_failed) { $why = "Configure failed for $distname." }
- elsif ($self->{make}) { $why = "The distribution doesn't have a proper Makefile.PL/Build.PL" }
- else { $why = "Can't configure the distribution. You probably need to have 'make'." }
-
- $self->diag_fail("$why See $self->{log} for details.", 1);
- return;
- }
-
- if ($installed) {
- my $local = $self->{local_versions}{$dist->{module} || ''};
- my $version = $dist->{module_version} || $dist->{meta}{version} || $dist->{version};
- my $reinstall = $local && ($local eq $version);
-
- my $how = $reinstall ? "reinstalled $distname"
- : $local ? "installed $distname (upgraded from $local)"
- : "installed $distname" ;
- my $msg = "Successfully $how";
- $self->diag_ok;
- $self->diag("$msg\n", 1);
- $self->{installed_dists}++;
- return 1;
- } else {
- my $msg = "Building $distname failed";
- $self->diag_fail("Installing $stuff failed. See $self->{log} for details.", 1);
- return;
- }
- }
-
- sub configure_this {
- my($self, $dist) = @_;
-
- my @switches;
- @switches = ("-I$self->{base}", "-MDumpedINC") if $self->{self_contained};
- local $ENV{PERL5LIB} = '' if $self->{self_contained};
-
- my @mb_switches = @switches;
- unless ($self->{pod2man}) {
- # it has to be push, so Module::Build is loaded from the adjusted path when -L is in use
- push @mb_switches, ("-I$self->{base}", "-MModuleBuildSkipMan");
- }
-
- my $state = {};
-
- my $try_eumm = sub {
- if (-e 'Makefile.PL') {
- $self->chat("Running Makefile.PL\n");
- local $ENV{X_MYMETA} = 'YAML';
-
- # NOTE: according to Devel::CheckLib, most XS modules exit
- # with 0 even if header files are missing, to avoid receiving
- # tons of FAIL reports in such cases. So exit code can't be
- # trusted if it went well.
- if ($self->configure([ $self->{perl}, @switches, "Makefile.PL" ])) {
- $state->{configured_ok} = -e 'Makefile';
- }
- $state->{configured}++;
- }
- };
-
- my $try_mb = sub {
- if (-e 'Build.PL') {
- $self->chat("Running Build.PL\n");
- if ($self->configure([ $self->{perl}, @mb_switches, "Build.PL" ])) {
- $state->{configured_ok} = -e 'Build' && -f _;
- }
- $state->{use_module_build}++;
- $state->{configured}++;
- }
- };
-
- # Module::Build deps should use MakeMaker because that causes circular deps and fail
- # Otherwise we should prefer Build.PL
- my %should_use_mm = map { $_ => 1 } qw( version ExtUtils-ParseXS ExtUtils-Install ExtUtils-Manifest );
-
- my @try;
- if ($dist->{dist} && $should_use_mm{$dist->{dist}}) {
- @try = ($try_eumm, $try_mb);
- } else {
- @try = ($try_mb, $try_eumm);
- }
-
- for my $try (@try) {
- $try->();
- last if $state->{configured_ok};
- }
-
- unless ($state->{configured_ok}) {
- while (1) {
- my $ans = lc $self->prompt("Configuring $dist->{dist} failed.\nYou can s)kip, r)etry or l)ook ?", "s");
- last if $ans eq 's';
- return $self->configure_this($dist) if $ans eq 'r';
- $self->look if $ans eq 'l';
- }
- }
-
- return $state;
- }
-
- sub safe_eval {
- my($self, $code) = @_;
- eval $code;
- }
-
- sub find_prereqs {
- my($self, $dist) = @_;
-
- my @deps;
-
- my $meta = $dist->{meta};
- if (-e 'MYMETA.yml') {
- $self->chat("Checking dependencies from MYMETA.yml ...\n");
- my $mymeta = $self->parse_meta('MYMETA.yml');
- if ($mymeta) {
- @deps = $self->extract_requires($mymeta);
- $meta->{$_} = $mymeta->{$_} for keys %$mymeta; # merge
- }
- } elsif (-e '_build/prereqs') {
- $self->chat("Checking dependencies from _build/prereqs ...\n");
- my $mymeta = do { open my $in, "_build/prereqs"; $self->safe_eval(join "", <$in>) };
- @deps = $self->extract_requires($mymeta);
- }
-
- if (-e 'Makefile') {
- $self->chat("Finding PREREQ from Makefile ...\n");
- open my $mf, "Makefile";
- while (<$mf>) {
- if (/^\#\s+PREREQ_PM => {\s*(.*?)\s*}/) {
- my @all;
- my @pairs = split ', ', $1;
- for (@pairs) {
- my ($pkg, $v) = split '=>', $_;
- push @all, [ $pkg, $v ];
- }
- my $list = join ", ", map { "'$_->[0]' => $_->[1]" } @all;
- my $prereq = $self->safe_eval("no strict; +{ $list }");
- push @deps, %$prereq if $prereq;
- last;
- }
- }
- }
-
- if ($dist->{module} =~ /^Bundle::/i) {
- push @deps, $self->bundle_deps($dist);
- }
-
- # No need to remove, but this gets in the way of signature testing :/
- unlink $_ for qw(MYMETA.json MYMETA.yml);
-
- return @deps;
- }
-
- sub bundle_deps {
- my($self, $dist) = @_;
-
- my @files;
- File::Find::find({
- wanted => sub { push @files, File::Spec->rel2abs($_) if /\.pm/i },
- no_chdir => 1,
- }, '.');
-
- my @deps;
-
- for my $file (@files) {
- open my $pod, "<", $file or next;
- my $in_contents;
- while (<$pod>) {
- if (/^=head\d\s+CONTENTS/) {
- $in_contents = 1;
- } elsif (/^=/) {
- $in_contents = 0;
- } elsif ($in_contents) {
- /^(\S+)\s*(\S+)?/
- and push @deps, $1, $self->maybe_version($2);
- }
- }
- }
-
- return @deps;
- }
-
- sub maybe_version {
- my($self, $string) = @_;
- return $string && $string =~ /^\.?\d/ ? $string : undef;
- }
-
- sub extract_requires {
- my($self, $meta) = @_;
-
- my @deps;
- push @deps, %{$meta->{requires}} if $meta->{requires};
- push @deps, %{$meta->{build_requires}} if $meta->{build_requires};
-
- return @deps;
- }
-
- sub cleanup_workdirs {
- my $self = shift;
-
- my $expire = time - 24 * 60 * 60 * $self->{auto_cleanup};
- my @targets;
-
- opendir my $dh, "$self->{home}/work";
- while (my $e = readdir $dh) {
- next if $e !~ /^(\d+)\.\d+$/; # {UNIX time}.{PID}
- my $time = $1;
- if ($time < $expire) {
- push @targets, "$self->{home}/work/$e";
- }
- }
-
- if (@targets) {
- $self->chat("Expiring ", scalar(@targets), " work directories.\n");
- File::Path::rmtree(\@targets, 0, 0); # safe = 0, since blib usually doesn't have write bits
- }
- }
-
- sub scandeps_append_child {
- my($self, $dist) = @_;
-
- my $new_node = [ $dist, [] ];
-
- my $curr_node = $self->{scandeps_current} || [ undef, $self->{scandeps_tree} ];
- push @{$curr_node->[1]}, $new_node;
-
- $self->{scandeps_current} = $new_node;
-
- return sub { $self->{scandeps_current} = $curr_node };
- }
-
- sub dump_scandeps {
- my $self = shift;
-
- if ($self->{format} eq 'tree') {
- $self->walk_down(sub {
- my($dist, $depth) = @_;
- if ($depth == 0) {
- print "$dist->{distvname}\n";
- } else {
- print " " x ($depth - 1);
- print "\\_ $dist->{distvname}\n";
- }
- }, 1);
- } elsif ($self->{format} =~ /^dists?$/) {
- $self->walk_down(sub {
- my($dist, $depth) = @_;
- print $self->format_dist($dist), "\n";
- }, 0);
- } elsif ($self->{format} eq 'json') {
- require JSON;
- print JSON::encode_json($self->{scandeps_tree});
- } elsif ($self->{format} eq 'yaml') {
- require YAML;
- print YAML::Dump($self->{scandeps_tree});
- } else {
- $self->diag("Unknown format: $self->{format}\n");
- }
- }
-
- sub walk_down {
- my($self, $cb, $pre) = @_;
- $self->_do_walk_down($self->{scandeps_tree}, $cb, 0, $pre);
- }
-
- sub _do_walk_down {
- my($self, $children, $cb, $depth, $pre) = @_;
-
- # DFS - $pre determines when we call the callback
- for my $node (@$children) {
- $cb->($node->[0], $depth) if $pre;
- $self->_do_walk_down($node->[1], $cb, $depth + 1, $pre);
- $cb->($node->[0], $depth) unless $pre;
- }
- }
-
- sub DESTROY {
- my $self = shift;
- $self->{at_exit}->($self) if $self->{at_exit};
- }
-
- # Utils
-
- sub shell_quote {
- my($self, $stuff) = @_;
- $stuff =~ /^${quote}.+${quote}$/ ? $stuff : ($quote . $stuff . $quote);
- }
-
- sub which {
- my($self, $name) = @_;
- my $exe_ext = $Config{_exe};
- for my $dir (File::Spec->path) {
- my $fullpath = File::Spec->catfile($dir, $name);
- if (-x $fullpath || -x ($fullpath .= $exe_ext)) {
- if ($fullpath =~ /\s/ && $fullpath !~ /^$quote/) {
- $fullpath = $self->shell_quote($fullpath);
- }
- return $fullpath;
- }
- }
- return;
- }
-
- sub get { $_[0]->{_backends}{get}->(@_) };
- sub mirror { $_[0]->{_backends}{mirror}->(@_) };
- sub untar { $_[0]->{_backends}{untar}->(@_) };
- sub unzip { $_[0]->{_backends}{unzip}->(@_) };
-
- sub file_get {
- my($self, $uri) = @_;
- open my $fh, "<$uri" or return;
- join '', <$fh>;
- }
-
- sub file_mirror {
- my($self, $uri, $path) = @_;
- File::Copy::copy($uri, $path);
- }
-
- sub init_tools {
- my $self = shift;
-
- return if $self->{initialized}++;
-
- if ($self->{make} = $self->which($Config{make})) {
- $self->chat("You have make $self->{make}\n");
- }
-
- # use --no-lwp if they have a broken LWP, to upgrade LWP
- if ($self->{try_lwp} && eval { require LWP::UserAgent; LWP::UserAgent->VERSION(5.802) }) {
- $self->chat("You have LWP $LWP::VERSION\n");
- my $ua = sub {
- LWP::UserAgent->new(
- parse_head => 0,
- env_proxy => 1,
- agent => "cpanminus/$VERSION",
- timeout => 30,
- @_,
- );
- };
- $self->{_backends}{get} = sub {
- my $self = shift;
- my $res = $ua->()->request(HTTP::Request->new(GET => $_[0]));
- return unless $res->is_success;
- return $res->decoded_content;
- };
- $self->{_backends}{mirror} = sub {
- my $self = shift;
- my $res = $ua->()->mirror(@_);
- $res->code;
- };
- } elsif ($self->{try_wget} and my $wget = $self->which('wget')) {
- $self->chat("You have $wget\n");
- $self->{_backends}{get} = sub {
- my($self, $uri) = @_;
- return $self->file_get($uri) if $uri =~ s!^file:/+!/!;
- $self->safeexec( my $fh, $wget, $uri, ( $self->{verbose} ? () : '-q' ), '-O', '-' ) or die "wget $uri: $!";
- local $/;
- <$fh>;
- };
- $self->{_backends}{mirror} = sub {
- my($self, $uri, $path) = @_;
- return $self->file_mirror($uri, $path) if $uri =~ s!^file:/+!/!;
- $self->safeexec( my $fh, $wget, '--retry-connrefused', $uri, ( $self->{verbose} ? () : '-q' ), '-O', $path ) or die "wget $uri: $!";
- local $/;
- <$fh>;
- };
- } elsif ($self->{try_curl} and my $curl = $self->which('curl')) {
- $self->chat("You have $curl\n");
- $self->{_backends}{get} = sub {
- my($self, $uri) = @_;
- return $self->file_get($uri) if $uri =~ s!^file:/+!/!;
- $self->safeexec( my $fh, $curl, '-L', ( $self->{verbose} ? () : '-s' ), $uri ) or die "curl $uri: $!";
- local $/;
- <$fh>;
- };
- $self->{_backends}{mirror} = sub {
- my($self, $uri, $path) = @_;
- return $self->file_mirror($uri, $path) if $uri =~ s!^file:/+!/!;
- $self->safeexec( my $fh, $curl, '-L', $uri, ( $self->{verbose} ? () : '-s' ), '-#', '-o', $path ) or die "curl $uri: $!";
- local $/;
- <$fh>;
- };
- } else {
- require HTTP::Tiny;
- $self->chat("Falling back to HTTP::Tiny $HTTP::Tiny::VERSION\n");
-
- $self->{_backends}{get} = sub {
- my $self = shift;
- my $res = HTTP::Tiny->new->get($_[0]);
- return unless $res->{success};
- return $res->{content};
- };
- $self->{_backends}{mirror} = sub {
- my $self = shift;
- my $res = HTTP::Tiny->new->mirror(@_);
- return $res->{status};
- };
- }
-
- my $tar = $self->which('tar');
- my $tar_ver;
- my $maybe_bad_tar = sub { WIN32 || SUNOS || (($tar_ver = `$tar --version 2>/dev/null`) =~ /GNU.*1\.13/i) };
-
- if ($tar && !$maybe_bad_tar->()) {
- chomp $tar_ver;
- $self->chat("You have $tar: $tar_ver\n");
- $self->{_backends}{untar} = sub {
- my($self, $tarfile) = @_;
-
- my $xf = "xf" . ($self->{verbose} ? 'v' : '');
- my $ar = $tarfile =~ /bz2$/ ? 'j' : 'z';
-
- my($root, @others) = `$tar tf$ar $tarfile`
- or return undef;
-
- chomp $root;
- $root =~ s!^\./!!;
- $root =~ s{^(.+?)/.*$}{$1};
-
- system "$tar $xf$ar $tarfile";
- return $root if -d $root;
-
- $self->diag_fail("Bad archive: $tarfile");
- return undef;
- }
- } elsif ( $tar
- and my $gzip = $self->which('gzip')
- and my $bzip2 = $self->which('bzip2')) {
- $self->chat("You have $tar, $gzip and $bzip2\n");
- $self->{_backends}{untar} = sub {
- my($self, $tarfile) = @_;
-
- my $x = "x" . ($self->{verbose} ? 'v' : '') . "f -";
- my $ar = $tarfile =~ /bz2$/ ? $bzip2 : $gzip;
-
- my($root, @others) = `$ar -dc $tarfile | $tar tf -`
- or return undef;
-
- chomp $root;
- $root =~ s{^(.+?)/.*$}{$1};
-
- system "$ar -dc $tarfile | $tar $x";
- return $root if -d $root;
-
- $self->diag_fail("Bad archive: $tarfile");
- return undef;
- }
- } elsif (eval { require Archive::Tar }) { # uses too much memory!
- $self->chat("Falling back to Archive::Tar $Archive::Tar::VERSION\n");
- $self->{_backends}{untar} = sub {
- my $self = shift;
- my $t = Archive::Tar->new($_[0]);
- my $root = ($t->list_files)[0];
- $root =~ s{^(.+?)/.*$}{$1};
- $t->extract;
- return -d $root ? $root : undef;
- };
- } else {
- $self->{_backends}{untar} = sub {
- die "Failed to extract $_[1] - You need to have tar or Archive::Tar installed.\n";
- };
- }
-
- if (my $unzip = $self->which('unzip')) {
- $self->chat("You have $unzip\n");
- $self->{_backends}{unzip} = sub {
- my($self, $zipfile) = @_;
-
- my $opt = $self->{verbose} ? '' : '-q';
- my(undef, $root, @others) = `$unzip -t $zipfile`
- or return undef;
-
- chomp $root;
- $root =~ s{^\s+testing:\s+(.+?)/\s+OK$}{$1};
-
- system "$unzip $opt $zipfile";
- return $root if -d $root;
-
- $self->diag_fail("Bad archive: [$root] $zipfile");
- return undef;
- }
- } else {
- $self->{_backends}{unzip} = sub {
- eval { require Archive::Zip }
- or die "Failed to extract $_[1] - You need to have unzip or Archive::Zip installed.\n";
- my($self, $file) = @_;
- my $zip = Archive::Zip->new();
- my $status;
- $status = $zip->read($file);
- $self->diag_fail("Read of file[$file] failed")
- if $status != Archive::Zip::AZ_OK();
- my @members = $zip->members();
- my $root;
- for my $member ( @members ) {
- my $af = $member->fileName();
- next if ($af =~ m!^(/|\.\./)!);
- $root = $af unless $root;
- $status = $member->extractToFileNamed( $af );
- $self->diag_fail("Extracting of file[$af] from zipfile[$file failed")
- if $status != Archive::Zip::AZ_OK();
- }
- return -d $root ? $root : undef;
- };
- }
- }
-
- sub safeexec {
- my $self = shift;
- my $rdr = $_[0] ||= Symbol::gensym();
-
- if (WIN32) {
- my $cmd = join q{ }, map { $self->shell_quote($_) } @_[ 1 .. $#_ ];
- return open( $rdr, "$cmd |" );
- }
-
- if ( my $pid = open( $rdr, '-|' ) ) {
- return $pid;
- }
- elsif ( defined $pid ) {
- exec( @_[ 1 .. $#_ ] );
- exit 1;
- }
- else {
- return;
- }
- }
-
- sub parse_meta {
- my($self, $file) = @_;
- return eval { (Parse::CPAN::Meta::LoadFile($file))[0] } || undef;
- }
-
- sub parse_meta_string {
- my($self, $yaml) = @_;
- return eval { (Parse::CPAN::Meta::Load($yaml))[0] } || undef;
- }
-
- 1;
-APP_CPANMINUS_SCRIPT
-
-$fatpacked{"CPAN/DistnameInfo.pm"} = <<'CPAN_DISTNAMEINFO';
-
- package CPAN::DistnameInfo;
-
- $VERSION = "0.11";
- use strict;
-
- sub distname_info {
- my $file = shift or return;
-
- my ($dist, $version) = $file =~ /^
- ((?:[-+.]*(?:[A-Za-z0-9]+|(?<=\D)_|_(?=\D))*
- (?:
- [A-Za-z](?=[^A-Za-z]|$)
- |
- \d(?=-)
- )(?<![._-][vV])
- )+)(.*)
- $/xs or return ($file,undef,undef);
-
- if ($dist =~ /-undef\z/ and ! length $version) {
- $dist =~ s/-undef\z//;
- }
-
- # Remove potential -withoutworldwriteables suffix
- $version =~ s/-withoutworldwriteables$//;
-
- if ($version =~ /^(-[Vv].*)-(\d.*)/) {
-
- # Catch names like Unicode-Collate-Standard-V3_1_1-0.1
- # where the V3_1_1 is part of the distname
- $dist .= $1;
- $version = $2;
- }
-
- # Normalize the Dist.pm-1.23 convention which CGI.pm and
- # a few others use.
- $dist =~ s{\.pm$}{};
-
- $version = $1
- if !length $version and $dist =~ s/-(\d+\w)$//;
-
- $version = $1 . $version
- if $version =~ /^\d+$/ and $dist =~ s/-(\w+)$//;
-
- if ($version =~ /\d\.\d/) {
- $version =~ s/^[-_.]+//;
- }
- else {
- $version =~ s/^[-_]+//;
- }
-
- my $dev;
- if (length $version) {
- if ($file =~ /^perl-?\d+\.(\d+)(?:\D(\d+))?(-(?:TRIAL|RC)\d+)?$/) {
- $dev = 1 if (($1 > 6 and $1 & 1) or ($2 and $2 >= 50)) or $3;
- }
- elsif ($version =~ /\d\D\d+_\d/ or $version =~ /-TRIAL/) {
- $dev = 1;
- }
- }
- else {
- $version = undef;
- }
-
- ($dist, $version, $dev);
- }
-
- sub new {
- my $class = shift;
- my $distfile = shift;
-
- $distfile =~ s,//+,/,g;
-
- my %info = ( pathname => $distfile );
-
- ($info{filename} = $distfile) =~ s,^(((.*?/)?authors/)?id/)?([A-Z])/(\4[A-Z])/(\5[-A-Z0-9]*)/,,
- and $info{cpanid} = $6;
-
- if ($distfile =~ m,([^/]+)\.(tar\.(?:g?z|bz2)|zip|tgz)$,i) { # support more ?
- $info{distvname} = $1;
- $info{extension} = $2;
- }
-
- @info{qw(dist version beta)} = distname_info($info{distvname});
- $info{maturity} = delete $info{beta} ? 'developer' : 'released';
-
- return bless \%info, $class;
- }
-
- sub dist { shift->{dist} }
- sub version { shift->{version} }
- sub maturity { shift->{maturity} }
- sub filename { shift->{filename} }
- sub cpanid { shift->{cpanid} }
- sub distvname { shift->{distvname} }
- sub extension { shift->{extension} }
- sub pathname { shift->{pathname} }
-
- sub properties { %{ $_[0] } }
-
- 1;
-
- __END__
-
-CPAN_DISTNAMEINFO
-
-$fatpacked{"HTTP/Tiny.pm"} = <<'HTTP_TINY';
- # vim: ts=4 sts=4 sw=4 et:
- #
- # This file is part of HTTP-Tiny
- #
- # This software is copyright (c) 2011 by Christian Hansen.
- #
- # This is free software; you can redistribute it and/or modify it under
- # the same terms as the Perl 5 programming language system itself.
- #
- package HTTP::Tiny;
- BEGIN {
- $HTTP::Tiny::VERSION = '0.009';
- }
- use strict;
- use warnings;
- # ABSTRACT: A small, simple, correct HTTP/1.1 client
-
- use Carp ();
-
-
- my @attributes;
- BEGIN {
- @attributes = qw(agent default_headers max_redirect max_size proxy timeout);
- no strict 'refs';
- for my $accessor ( @attributes ) {
- *{$accessor} = sub {
- @_ > 1 ? $_[0]->{$accessor} = $_[1] : $_[0]->{$accessor};
- };
- }
- }
-
- sub new {
- my($class, %args) = @_;
- (my $agent = $class) =~ s{::}{-}g;
- my $self = {
- agent => $agent . "/" . ($class->VERSION || 0),
- max_redirect => 5,
- timeout => 60,
- };
- for my $key ( @attributes ) {
- $self->{$key} = $args{$key} if exists $args{$key}
- }
- return bless $self, $class;
- }
-
-
- sub get {
- my ($self, $url, $args) = @_;
- @_ == 2 || (@_ == 3 && ref $args eq 'HASH')
- or Carp::croak(q/Usage: $http->get(URL, [HASHREF])/);
- return $self->request('GET', $url, $args || {});
- }
-
-
- sub mirror {
- my ($self, $url, $file, $args) = @_;
- @_ == 3 || (@_ == 4 && ref $args eq 'HASH')
- or Carp::croak(q/Usage: $http->mirror(URL, FILE, [HASHREF])/);
- if ( -e $file and my $mtime = (stat($file))[9] ) {
- $args->{headers}{'if-modified-since'} ||= $self->_http_date($mtime);
- }
- my $tempfile = $file . int(rand(2**31));
- open my $fh, ">", $tempfile
- or Carp::croak(qq/Error: Could not open temporary file $tempfile for downloading: $!/);
- $args->{data_callback} = sub { print {$fh} $_[0] };
- my $response = $self->request('GET', $url, $args);
- close $fh
- or Carp::croak(qq/Error: Could not close temporary file $tempfile: $!/);
- if ( $response->{success} ) {
- rename $tempfile, $file
- or Carp::croak "Error replacing $file with $tempfile: $!\n";
- my $lm = $response->{headers}{'last-modified'};
- if ( $lm and my $mtime = $self->_parse_http_date($lm) ) {
- utime $mtime, $mtime, $file;
- }
- }
- $response->{success} ||= $response->{status} eq '304';
- unlink $tempfile;
- return $response;
- }
-
-
- my %idempotent = map { $_ => 1 } qw/GET HEAD PUT DELETE OPTIONS TRACE/;
-
- sub request {
- my ($self, $method, $url, $args) = @_;
- @_ == 3 || (@_ == 4 && ref $args eq 'HASH')
- or Carp::croak(q/Usage: $http->request(METHOD, URL, [HASHREF])/);
- $args ||= {}; # we keep some state in this during _request
-
- # RFC 2616 Section 8.1.4 mandates a single retry on broken socket
- my $response;
- for ( 0 .. 1 ) {
- $response = eval { $self->_request($method, $url, $args) };
- last unless $@ && $idempotent{$method}
- && $@ =~ m{^(?:Socket closed|Unexpected end)};
- }
-
- if (my $e = "$@") {
- $response = {
- success => q{},
- status => 599,
- reason => 'Internal Exception',
- content => $e,
- headers => {
- 'content-type' => 'text/plain',
- 'content-length' => length $e,
- }
- };
- }
- return $response;
- }
-
- my %DefaultPort = (
- http => 80,
- https => 443,
- );
-
- sub _request {
- my ($self, $method, $url, $args) = @_;
-
- my ($scheme, $host, $port, $path_query) = $self->_split_url($url);
-
- my $request = {
- method => $method,
- scheme => $scheme,
- host_port => ($port == $DefaultPort{$scheme} ? $host : "$host:$port"),
- uri => $path_query,
- headers => {},
- };
-
- my $handle = HTTP::Tiny::Handle->new(timeout => $self->{timeout});
-
- if ($self->{proxy}) {
- $request->{uri} = "$scheme://$request->{host_port}$path_query";
- croak(qq/HTTPS via proxy is not supported/)
- if $request->{scheme} eq 'https';
- $handle->connect(($self->_split_url($self->{proxy}))[0..2]);
- }
- else {
- $handle->connect($scheme, $host, $port);
- }
-
- $self->_prepare_headers_and_cb($request, $args);
- $handle->write_request($request);
-
- my $response;
- do { $response = $handle->read_response_header }
- until (substr($response->{status},0,1) ne '1');
-
- if ( my @redir_args = $self->_maybe_redirect($request, $response, $args) ) {
- $handle->close;
- return $self->_request(@redir_args, $args);
- }
-
- if ($method eq 'HEAD' || $response->{status} =~ /^[23]04/) {
- # response has no message body
- }
- else {
- my $data_cb = $self->_prepare_data_cb($response, $args);
- $handle->read_body($data_cb, $response);
- }
-
- $handle->close;
- $response->{success} = substr($response->{status},0,1) eq '2';
- return $response;
- }
-
- sub _prepare_headers_and_cb {
- my ($self, $request, $args) = @_;
-
- for ($self->{default_headers}, $args->{headers}) {
- next unless defined;
- while (my ($k, $v) = each %$_) {
- $request->{headers}{lc $k} = $v;
- }
- }
- $request->{headers}{'host'} = $request->{host_port};
- $request->{headers}{'connection'} = "close";
- $request->{headers}{'user-agent'} ||= $self->{agent};
-
- if (defined $args->{content}) {
- $request->{headers}{'content-type'} ||= "application/octet-stream";
- if (ref $args->{content} eq 'CODE') {
- $request->{headers}{'transfer-encoding'} = 'chunked'
- unless $request->{headers}{'content-length'}
- || $request->{headers}{'transfer-encoding'};
- $request->{cb} = $args->{content};
- }
- else {
- my $content = $args->{content};
- if ( $] ge '5.008' ) {
- utf8::downgrade($content, 1)
- or Carp::croak(q/Wide character in request message body/);
- }
- $request->{headers}{'content-length'} = length $content
- unless $request->{headers}{'content-length'}
- || $request->{headers}{'transfer-encoding'};
- $request->{cb} = sub { substr $content, 0, length $content, '' };
- }
- $request->{trailer_cb} = $args->{trailer_callback}
- if ref $args->{trailer_callback} eq 'CODE';
- }
- return;
- }
-
- sub _prepare_data_cb {
- my ($self, $response, $args) = @_;
- my $data_cb = $args->{data_callback};
- $response->{content} = '';
-
- if (!$data_cb || $response->{status} !~ /^2/) {
- if (defined $self->{max_size}) {
- $data_cb = sub {
- $_[1]->{content} .= $_[0];
- die(qq/Size of response body exceeds the maximum allowed of $self->{max_size}\n/)
- if length $_[1]->{content} > $self->{max_size};
- };
- }
- else {
- $data_cb = sub { $_[1]->{content} .= $_[0] };
- }
- }
- return $data_cb;
- }
-
- sub _maybe_redirect {
- my ($self, $request, $response, $args) = @_;
- my $headers = $response->{headers};
- my ($status, $method) = ($response->{status}, $request->{method});
- if (($status eq '303' or ($status =~ /^30[127]/ && $method =~ /^GET|HEAD$/))
- and $headers->{location}
- and ++$args->{redirects} <= $self->{max_redirect}
- ) {
- my $location = ($headers->{location} =~ /^\//)
- ? "$request->{scheme}://$request->{host_port}$headers->{location}"
- : $headers->{location} ;
- return (($status eq '303' ? 'GET' : $method), $location);
- }
- return;
- }
-
- sub _split_url {
- my $url = pop;
-
- # URI regex adapted from the URI module
- my ($scheme, $authority, $path_query) = $url =~ m<\A([^:/?#]+)://([^/?#]*)([^#]*)>
- or Carp::croak(qq/Cannot parse URL: '$url'/);
-
- $scheme = lc $scheme;
- $path_query = "/$path_query" unless $path_query =~ m<\A/>;
-
- my $host = (length($authority)) ? lc $authority : 'localhost';
- $host =~ s/\A[^@]*@//; # userinfo
- my $port = do {
- $host =~ s/:([0-9]*)\z// && length $1
- ? $1
- : ($scheme eq 'http' ? 80 : $scheme eq 'https' ? 443 : undef);
- };
-
- return ($scheme, $host, $port, $path_query);
- }
-
- # Date conversions adapted from HTTP::Date
- my $DoW = "Sun|Mon|Tue|Wed|Thu|Fri|Sat";
- my $MoY = "Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec";
- sub _http_date {
- my ($sec, $min, $hour, $mday, $mon, $year, $wday) = gmtime($_[1]);
- return sprintf("%s, %02d %s %04d %02d:%02d:%02d GMT",
- substr($DoW,$wday*4,3),
- $mday, substr($MoY,$mon*4,3), $year+1900,
- $hour, $min, $sec
- );
- }
-
- sub _parse_http_date {
- my ($self, $str) = @_;
- require Time::Local;
- my @tl_parts;
- if ($str =~ /^[SMTWF][a-z]+, +(\d{1,2}) ($MoY) +(\d\d\d\d) +(\d\d):(\d\d):(\d\d) +GMT$/) {
- @tl_parts = ($6, $5, $4, $1, (index($MoY,$2)/4), $3);
- }
- elsif ($str =~ /^[SMTWF][a-z]+, +(\d\d)-($MoY)-(\d{2,4}) +(\d\d):(\d\d):(\d\d) +GMT$/ ) {
- @tl_parts = ($6, $5, $4, $1, (index($MoY,$2)/4), $3);
- }
- elsif ($str =~ /^[SMTWF][a-z]+ +($MoY) +(\d{1,2}) +(\d\d):(\d\d):(\d\d) +(?:[^0-9]+ +)?(\d\d\d\d)$/ ) {
- @tl_parts = ($5, $4, $3, $2, (index($MoY,$1)/4), $6);
- }
- return eval {
- my $t = @tl_parts ? Time::Local::timegm(@tl_parts) : -1;
- $t < 0 ? undef : $t;
- };
- }
-
- package
- HTTP::Tiny::Handle; # hide from PAUSE/indexers
- use strict;
- use warnings;
-
- use Carp qw[croak];
- use Errno qw[EINTR EPIPE];
- use IO::Socket qw[SOCK_STREAM];
-
- sub BUFSIZE () { 32768 }
-
- my $Printable = sub {
- local $_ = shift;
- s/\r/\\r/g;
- s/\n/\\n/g;
- s/\t/\\t/g;
- s/([^\x20-\x7E])/sprintf('\\x%.2X', ord($1))/ge;
- $_;
- };
-
- my $Token = qr/[\x21\x23-\x27\x2A\x2B\x2D\x2E\x30-\x39\x41-\x5A\x5E-\x7A\x7C\x7E]/;
-
- sub new {
- my ($class, %args) = @_;
- return bless {
- rbuf => '',
- timeout => 60,
- max_line_size => 16384,
- max_header_lines => 64,
- %args
- }, $class;
- }
-
- my $ssl_verify_args = {
- check_cn => "when_only",
- wildcards_in_alt => "anywhere",
- wildcards_in_cn => "anywhere"
- };
-
- sub connect {
- @_ == 4 || croak(q/Usage: $handle->connect(scheme, host, port)/);
- my ($self, $scheme, $host, $port) = @_;
-
- if ( $scheme eq 'https' ) {
- eval "require IO::Socket::SSL"
- unless exists $INC{'IO/Socket/SSL.pm'};
- croak(qq/IO::Socket::SSL must be installed for https support\n/)
- unless $INC{'IO/Socket/SSL.pm'};
- }
- elsif ( $scheme ne 'http' ) {
- croak(qq/Unsupported URL scheme '$scheme'/);
- }
-
- $self->{fh} = 'IO::Socket::INET'->new(
- PeerHost => $host,
- PeerPort => $port,
- Proto => 'tcp',
- Type => SOCK_STREAM,
- Timeout => $self->{timeout}
- ) or croak(qq/Could not connect to '$host:$port': $@/);
-
- binmode($self->{fh})
- or croak(qq/Could not binmode() socket: '$!'/);
-
- if ( $scheme eq 'https') {
- IO::Socket::SSL->start_SSL($self->{fh});
- ref($self->{fh}) eq 'IO::Socket::SSL'
- or die(qq/SSL connection failed for $host\n/);
- $self->{fh}->verify_hostname( $host, $ssl_verify_args )
- or die(qq/SSL certificate not valid for $host\n/);
- }
-
- $self->{host} = $host;
- $self->{port} = $port;
-
- return $self;
- }
-
- sub close {
- @_ == 1 || croak(q/Usage: $handle->close()/);
- my ($self) = @_;
- CORE::close($self->{fh})
- or croak(qq/Could not close socket: '$!'/);
- }
-
- sub write {
- @_ == 2 || croak(q/Usage: $handle->write(buf)/);
- my ($self, $buf) = @_;
-
- if ( $] ge '5.008' ) {
- utf8::downgrade($buf, 1)
- or croak(q/Wide character in write()/);
- }
-
- my $len = length $buf;
- my $off = 0;
-
- local $SIG{PIPE} = 'IGNORE';
-
- while () {
- $self->can_write
- or croak(q/Timed out while waiting for socket to become ready for writing/);
- my $r = syswrite($self->{fh}, $buf, $len, $off);
- if (defined $r) {
- $len -= $r;
- $off += $r;
- last unless $len > 0;
- }
- elsif ($! == EPIPE) {
- croak(qq/Socket closed by remote server: $!/);
- }
- elsif ($! != EINTR) {
- croak(qq/Could not write to socket: '$!'/);
- }
- }
- return $off;
- }
-
- sub read {
- @_ == 2 || @_ == 3 || croak(q/Usage: $handle->read(len [, allow_partial])/);
- my ($self, $len, $allow_partial) = @_;
-
- my $buf = '';
- my $got = length $self->{rbuf};
-
- if ($got) {
- my $take = ($got < $len) ? $got : $len;
- $buf = substr($self->{rbuf}, 0, $take, '');
- $len -= $take;
- }
-
- while ($len > 0) {
- $self->can_read
- or croak(q/Timed out while waiting for socket to become ready for reading/);
- my $r = sysread($self->{fh}, $buf, $len, length $buf);
- if (defined $r) {
- last unless $r;
- $len -= $r;
- }
- elsif ($! != EINTR) {
- croak(qq/Could not read from socket: '$!'/);
- }
- }
- if ($len && !$allow_partial) {
- croak(q/Unexpected end of stream/);
- }
- return $buf;
- }
-
- sub readline {
- @_ == 1 || croak(q/Usage: $handle->readline()/);
- my ($self) = @_;
-
- while () {
- if ($self->{rbuf} =~ s/\A ([^\x0D\x0A]* \x0D?\x0A)//x) {
- return $1;
- }
- if (length $self->{rbuf} >= $self->{max_line_size}) {
- croak(qq/Line size exceeds the maximum allowed size of $self->{max_line_size}/);
- }
- $self->can_read
- or croak(q/Timed out while waiting for socket to become ready for reading/);
- my $r = sysread($self->{fh}, $self->{rbuf}, BUFSIZE, length $self->{rbuf});
- if (defined $r) {
- last unless $r;
- }
- elsif ($! != EINTR) {
- croak(qq/Could not read from socket: '$!'/);
- }
- }
- croak(q/Unexpected end of stream while looking for line/);
- }
-
- sub read_header_lines {
- @_ == 1 || @_ == 2 || croak(q/Usage: $handle->read_header_lines([headers])/);
- my ($self, $headers) = @_;
- $headers ||= {};
- my $lines = 0;
- my $val;
-
- while () {
- my $line = $self->readline;
-
- if (++$lines >= $self->{max_header_lines}) {
- croak(qq/Header lines exceeds maximum number allowed of $self->{max_header_lines}/);
- }
- elsif ($line =~ /\A ([^\x00-\x1F\x7F:]+) : [\x09\x20]* ([^\x0D\x0A]*)/x) {
- my ($field_name) = lc $1;
- if (exists $headers->{$field_name}) {
- for ($headers->{$field_name}) {
- $_ = [$_] unless ref $_ eq "ARRAY";
- push @$_, $2;
- $val = \$_->[-1];
- }
- }
- else {
- $val = \($headers->{$field_name} = $2);
- }
- }
- elsif ($line =~ /\A [\x09\x20]+ ([^\x0D\x0A]*)/x) {
- $val
- or croak(q/Unexpected header continuation line/);
- next unless length $1;
- $$val .= ' ' if length $$val;
- $$val .= $1;
- }
- elsif ($line =~ /\A \x0D?\x0A \z/x) {
- last;
- }
- else {
- croak(q/Malformed header line: / . $Printable->($line));
- }
- }
- return $headers;
- }
-
- sub write_request {
- @_ == 2 || croak(q/Usage: $handle->write_request(request)/);
- my($self, $request) = @_;
- $self->write_request_header(@{$request}{qw/method uri headers/});
- $self->write_body($request) if $request->{cb};
- return;
- }
-
- my %HeaderCase = (
- 'content-md5' => 'Content-MD5',
- 'etag' => 'ETag',
- 'te' => 'TE',
- 'www-authenticate' => 'WWW-Authenticate',
- 'x-xss-protection' => 'X-XSS-Protection',
- );
-
- sub write_header_lines {
- (@_ == 2 && ref $_[1] eq 'HASH') || croak(q/Usage: $handle->write_header_lines(headers)/);
- my($self, $headers) = @_;
-
- my $buf = '';
- while (my ($k, $v) = each %$headers) {
- my $field_name = lc $k;
- if (exists $HeaderCase{$field_name}) {
- $field_name = $HeaderCase{$field_name};
- }
- else {
- $field_name =~ /\A $Token+ \z/xo
- or croak(q/Invalid HTTP header field name: / . $Printable->($field_name));
- $field_name =~ s/\b(\w)/\u$1/g;
- $HeaderCase{lc $field_name} = $field_name;
- }
- for (ref $v eq 'ARRAY' ? @$v : $v) {
- /[^\x0D\x0A]/
- or croak(qq/Invalid HTTP header field value ($field_name): / . $Printable->($_));
- $buf .= "$field_name: $_\x0D\x0A";
- }
- }
- $buf .= "\x0D\x0A";
- return $self->write($buf);
- }
-
- sub read_body {
- @_ == 3 || croak(q/Usage: $handle->read_body(callback, response)/);
- my ($self, $cb, $response) = @_;
- my $te = $response->{headers}{'transfer-encoding'} || '';
- if ( grep { /chunked/i } ( ref $te eq 'ARRAY' ? @$te : $te ) ) {
- $self->read_chunked_body($cb, $response);
- }
- else {
- $self->read_content_body($cb, $response);
- }
- return;
- }
-
- sub write_body {
- @_ == 2 || croak(q/Usage: $handle->write_body(request)/);
- my ($self, $request) = @_;
- if ($request->{headers}{'content-length'}) {
- return $self->write_content_body($request);
- }
- else {
- return $self->write_chunked_body($request);
- }
- }
-
- sub read_content_body {
- @_ == 3 || @_ == 4 || croak(q/Usage: $handle->read_content_body(callback, response, [read_length])/);
- my ($self, $cb, $response, $content_length) = @_;
- $content_length ||= $response->{headers}{'content-length'};
-
- if ( $content_length ) {
- my $len = $content_length;
- while ($len > 0) {
- my $read = ($len > BUFSIZE) ? BUFSIZE : $len;
- $cb->($self->read($read, 0), $response);
- $len -= $read;
- }
- }
- else {
- my $chunk;
- $cb->($chunk, $response) while length( $chunk = $self->read(BUFSIZE, 1) );
- }
-
- return;
- }
-
- sub write_content_body {
- @_ == 2 || croak(q/Usage: $handle->write_content_body(request)/);
- my ($self, $request) = @_;
-
- my ($len, $content_length) = (0, $request->{headers}{'content-length'});
- while () {
- my $data = $request->{cb}->();
-
- defined $data && length $data
- or last;
-
- if ( $] ge '5.008' ) {
- utf8::downgrade($data, 1)
- or croak(q/Wide character in write_content()/);
- }
-
- $len += $self->write($data);
- }
-
- $len == $content_length
- or croak(qq/Content-Length missmatch (got: $len expected: $content_length)/);
-
- return $len;
- }
-
- sub read_chunked_body {
- @_ == 3 || croak(q/Usage: $handle->read_chunked_body(callback, $response)/);
- my ($self, $cb, $response) = @_;
-
- while () {
- my $head = $self->readline;
-
- $head =~ /\A ([A-Fa-f0-9]+)/x
- or croak(q/Malformed chunk head: / . $Printable->($head));
-
- my $len = hex($1)
- or last;
-
- $self->read_content_body($cb, $response, $len);
-
- $self->read(2) eq "\x0D\x0A"
- or croak(q/Malformed chunk: missing CRLF after chunk data/);
- }
- $self->read_header_lines($response->{headers});
- return;
- }
-
- sub write_chunked_body {
- @_ == 2 || croak(q/Usage: $handle->write_chunked_body(request)/);
- my ($self, $request) = @_;
-
- my $len = 0;
- while () {
- my $data = $request->{cb}->();
-
- defined $data && length $data
- or last;
-
- if ( $] ge '5.008' ) {
- utf8::downgrade($data, 1)
- or croak(q/Wide character in write_chunked_body()/);
- }
-
- $len += length $data;
-
- my $chunk = sprintf '%X', length $data;
- $chunk .= "\x0D\x0A";
- $chunk .= $data;
- $chunk .= "\x0D\x0A";
-
- $self->write($chunk);
- }
- $self->write("0\x0D\x0A");
- $self->write_header_lines($request->{trailer_cb}->())
- if ref $request->{trailer_cb} eq 'CODE';
- return $len;
- }
-
- sub read_response_header {
- @_ == 1 || croak(q/Usage: $handle->read_response_header()/);
- my ($self) = @_;
-
- my $line = $self->readline;
-
- $line =~ /\A (HTTP\/(0*\d+\.0*\d+)) [\x09\x20]+ ([0-9]{3}) [\x09\x20]+ ([^\x0D\x0A]*) \x0D?\x0A/x
- or croak(q/Malformed Status-Line: / . $Printable->($line));
-
- my ($protocol, $version, $status, $reason) = ($1, $2, $3, $4);
-
- croak (qq/Unsupported HTTP protocol: $protocol/)
- unless $version =~ /0*1\.0*[01]/;
-
- return {
- status => $status,
- reason => $reason,
- headers => $self->read_header_lines,
- protocol => $protocol,
- };
- }
-
- sub write_request_header {
- @_ == 4 || croak(q/Usage: $handle->write_request_header(method, request_uri, headers)/);
- my ($self, $method, $request_uri, $headers) = @_;
-
- return $self->write("$method $request_uri HTTP/1.1\x0D\x0A")
- + $self->write_header_lines($headers);
- }
-
- sub _do_timeout {
- my ($self, $type, $timeout) = @_;
- $timeout = $self->{timeout}
- unless defined $timeout && $timeout >= 0;
-
- my $fd = fileno $self->{fh};
- defined $fd && $fd >= 0
- or croak(q/select(2): 'Bad file descriptor'/);
-
- my $initial = time;
- my $pending = $timeout;
- my $nfound;
-
- vec(my $fdset = '', $fd, 1) = 1;
-
- while () {
- $nfound = ($type eq 'read')
- ? select($fdset, undef, undef, $pending)
- : select(undef, $fdset, undef, $pending) ;
- if ($nfound == -1) {
- $! == EINTR
- or croak(qq/select(2): '$!'/);
- redo if !$timeout || ($pending = $timeout - (time - $initial)) > 0;
- $nfound = 0;
- }
- last;
- }
- $! = 0;
- return $nfound;
- }
-
- sub can_read {
- @_ == 1 || @_ == 2 || croak(q/Usage: $handle->can_read([timeout])/);
- my $self = shift;
- return $self->_do_timeout('read', @_)
- }
-
- sub can_write {
- @_ == 1 || @_ == 2 || croak(q/Usage: $handle->can_write([timeout])/);
- my $self = shift;
- return $self->_do_timeout('write', @_)
- }
-
- 1;
-
-
-
- __END__
- =pod
-
-HTTP_TINY
-
-$fatpacked{"Module/Metadata.pm"} = <<'MODULE_METADATA';
- # -*- mode: cperl; tab-width: 8; indent-tabs-mode: nil; basic-offset: 2 -*-
- # vim:ts=8:sw=2:et:sta:sts=2
- package Module::Metadata;
-
- # Adapted from Perl-licensed code originally distributed with
- # Module-Build by Ken Williams
-
- # This module provides routines to gather information about
- # perl modules (assuming this may be expanded in the distant
- # parrot future to look at other types of modules).
-
- use strict;
- use vars qw($VERSION);
- $VERSION = '1.000003';
- $VERSION = eval $VERSION;
-
- use File::Spec;
- use IO::File;
- use version 0.87;
- BEGIN {
- if ($INC{'Log/Contextual.pm'}) {
- Log::Contextual->import('log_info');
- } else {
- *log_info = sub (&) { warn $_[0]->() };
- }
- }
- use File::Find qw(find);
-
- my $V_NUM_REGEXP = qr{v?[0-9._]+}; # crudely, a v-string or decimal
-
- my $PKG_REGEXP = qr{ # match a package declaration
- ^[\s\{;]* # intro chars on a line
- package # the word 'package'
- \s+ # whitespace
- ([\w:]+) # a package name
- \s* # optional whitespace
- ($V_NUM_REGEXP)? # optional version number
- \s* # optional whitesapce
- ; # semicolon line terminator
- }x;
-
- my $VARNAME_REGEXP = qr{ # match fully-qualified VERSION name
- ([\$*]) # sigil - $ or *
- (
- ( # optional leading package name
- (?:::|\')? # possibly starting like just :: ( la $::VERSION)
- (?:\w+(?:::|\'))* # Foo::Bar:: ...
- )?
- VERSION
- )\b
- }x;
-
- my $VERS_REGEXP = qr{ # match a VERSION definition
- (?:
- \(\s*$VARNAME_REGEXP\s*\) # with parens
- |
- $VARNAME_REGEXP # without parens
- )
- \s*
- =[^=~] # = but not ==, nor =~
- }x;
-
-
- sub new_from_file {
- my $class = shift;
- my $filename = File::Spec->rel2abs( shift );
-
- return undef unless defined( $filename ) && -f $filename;
- return $class->_init(undef, $filename, @_);
- }
-
- sub new_from_module {
- my $class = shift;
- my $module = shift;
- my %props = @_;
-
- $props{inc} ||= \@INC;
- my $filename = $class->find_module_by_name( $module, $props{inc} );
- return undef unless defined( $filename ) && -f $filename;
- return $class->_init($module, $filename, %props);
- }
-
- {
-
- my $compare_versions = sub {
- my ($v1, $op, $v2) = @_;
- $v1 = version->new($v1)
- unless UNIVERSAL::isa($v1,'version');
-
- my $eval_str = "\$v1 $op \$v2";
- my $result = eval $eval_str;
- log_info { "error comparing versions: '$eval_str' $@" } if $@;
-
- return $result;
- };
-
- my $normalize_version = sub {
- my ($version) = @_;
- if ( $version =~ /[=<>!,]/ ) { # logic, not just version
- # take as is without modification
- }
- elsif ( ref $version eq 'version' ) { # version objects
- $version = $version->is_qv ? $version->normal : $version->stringify;
- }
- elsif ( $version =~ /^[^v][^.]*\.[^.]+\./ ) { # no leading v, multiple dots
- # normalize string tuples without "v": "1.2.3" -> "v1.2.3"
- $version = "v$version";
- }
- else {
- # leave alone
- }
- return $version;
- };
-
- # separate out some of the conflict resolution logic
-
- my $resolve_module_versions = sub {
- my $packages = shift;
-
- my( $file, $version );
- my $err = '';
- foreach my $p ( @$packages ) {
- if ( defined( $p->{version} ) ) {
- if ( defined( $version ) ) {
- if ( $compare_versions->( $version, '!=', $p->{version} ) ) {
- $err .= " $p->{file} ($p->{version})\n";
- } else {
- # same version declared multiple times, ignore
- }
- } else {
- $file = $p->{file};
- $version = $p->{version};
- }
- }
- $file ||= $p->{file} if defined( $p->{file} );
- }
-
- if ( $err ) {
- $err = " $file ($version)\n" . $err;
- }
-
- my %result = (
- file => $file,
- version => $version,
- err => $err
- );
-
- return \%result;
- };
-
- sub package_versions_from_directory {
- my ( $class, $dir, $files ) = @_;
-
- my @files;
-
- if ( $files ) {
- @files = @$files;
- } else {
- find( {
- wanted => sub {
- push @files, $_ if -f $_ && /\.pm$/;
- },
- no_chdir => 1,
- }, $dir );
- }
-
- # First, we enumerate all packages & versions,
- # separating into primary & alternative candidates
- my( %prime, %alt );
- foreach my $file (@files) {
- my $mapped_filename = File::Spec->abs2rel( $file, $dir );
- my @path = split( /\//, $mapped_filename );
- (my $prime_package = join( '::', @path )) =~ s/\.pm$//;
-
- my $pm_info = $class->new_from_file( $file );
-
- foreach my $package ( $pm_info->packages_inside ) {
- next if $package eq 'main'; # main can appear numerous times, ignore
- next if $package eq 'DB'; # special debugging package, ignore
- next if grep /^_/, split( /::/, $package ); # private package, ignore
-
- my $version = $pm_info->version( $package );
-
- if ( $package eq $prime_package ) {
- if ( exists( $prime{$package} ) ) {
- # M::B::ModuleInfo will handle this conflict
- die "Unexpected conflict in '$package'; multiple versions found.\n";
- } else {
- $prime{$package}{file} = $mapped_filename;
- $prime{$package}{version} = $version if defined( $version );
- }
- } else {
- push( @{$alt{$package}}, {
- file => $mapped_filename,
- version => $version,
- } );
- }
- }
- }
-
- # Then we iterate over all the packages found above, identifying conflicts
- # and selecting the "best" candidate for recording the file & version
- # for each package.
- foreach my $package ( keys( %alt ) ) {
- my $result = $resolve_module_versions->( $alt{$package} );
-
- if ( exists( $prime{$package} ) ) { # primary package selected
-
- if ( $result->{err} ) {
- # Use the selected primary package, but there are conflicting
- # errors among multiple alternative packages that need to be
- # reported
- log_info {
- "Found conflicting versions for package '$package'\n" .
- " $prime{$package}{file} ($prime{$package}{version})\n" .
- $result->{err}
- };
-
- } elsif ( defined( $result->{version} ) ) {
- # There is a primary package selected, and exactly one
- # alternative package
-
- if ( exists( $prime{$package}{version} ) &&
- defined( $prime{$package}{version} ) ) {
- # Unless the version of the primary package agrees with the
- # version of the alternative package, report a conflict
- if ( $compare_versions->(
- $prime{$package}{version}, '!=', $result->{version}
- )
- ) {
-
- log_info {
- "Found conflicting versions for package '$package'\n" .
- " $prime{$package}{file} ($prime{$package}{version})\n" .
- " $result->{file} ($result->{version})\n"
- };
- }
-
- } else {
- # The prime package selected has no version so, we choose to
- # use any alternative package that does have a version
- $prime{$package}{file} = $result->{file};
- $prime{$package}{version} = $result->{version};
- }
-
- } else {
- # no alt package found with a version, but we have a prime
- # package so we use it whether it has a version or not
- }
-
- } else { # No primary package was selected, use the best alternative
-
- if ( $result->{err} ) {
- log_info {
- "Found conflicting versions for package '$package'\n" .
- $result->{err}
- };
- }
-
- # Despite possible conflicting versions, we choose to record
- # something rather than nothing
- $prime{$package}{file} = $result->{file};
- $prime{$package}{version} = $result->{version}
- if defined( $result->{version} );
- }
- }
-
- # Normalize versions. Can't use exists() here because of bug in YAML::Node.
- # XXX "bug in YAML::Node" comment seems irrelvant -- dagolden, 2009-05-18
- for (grep defined $_->{version}, values %prime) {
- $_->{version} = $normalize_version->( $_->{version} );
- }
-
- return \%prime;
- }
- }
-
-
- sub _init {
- my $class = shift;
- my $module = shift;
- my $filename = shift;
- my %props = @_;
-
- my( %valid_props, @valid_props );
- @valid_props = qw( collect_pod inc );
- @valid_props{@valid_props} = delete( @props{@valid_props} );
- warn "Unknown properties: @{[keys %props]}\n" if scalar( %props );
-
- my %data = (
- module => $module,
- filename => $filename,
- version => undef,
- packages => [],
- versions => {},
- pod => {},
- pod_headings => [],
- collect_pod => 0,
-
- %valid_props,
- );
-
- my $self = bless(\%data, $class);
-
- $self->_parse_file();
-
- unless($self->{module} and length($self->{module})) {
- my ($v, $d, $f) = File::Spec->splitpath($self->{filename});
- if($f =~ /\.pm$/) {
- $f =~ s/\..+$//;
- my @candidates = grep /$f$/, @{$self->{packages}};
- $self->{module} = shift(@candidates); # punt
- }
- else {
- if(grep /main/, @{$self->{packages}}) {
- $self->{module} = 'main';
- }
- else {
- $self->{module} = $self->{packages}[0] || '';
- }
- }
- }
-
- $self->{version} = $self->{versions}{$self->{module}}
- if defined( $self->{module} );
-
- return $self;
- }
-
- # class method
- sub _do_find_module {
- my $class = shift;
- my $module = shift || die 'find_module_by_name() requires a package name';
- my $dirs = shift || \@INC;
-
- my $file = File::Spec->catfile(split( /::/, $module));
- foreach my $dir ( @$dirs ) {
- my $testfile = File::Spec->catfile($dir, $file);
- return [ File::Spec->rel2abs( $testfile ), $dir ]
- if -e $testfile and !-d _; # For stuff like ExtUtils::xsubpp
- return [ File::Spec->rel2abs( "$testfile.pm" ), $dir ]
- if -e "$testfile.pm";
- }
- return;
- }
-
- # class method
- sub find_module_by_name {
- my $found = shift()->_do_find_module(@_) or return;
- return $found->[0];
- }
-
- # class method
- sub find_module_dir_by_name {
- my $found = shift()->_do_find_module(@_) or return;
- return $found->[1];
- }
-
-
- # given a line of perl code, attempt to parse it if it looks like a
- # $VERSION assignment, returning sigil, full name, & package name
- sub _parse_version_expression {
- my $self = shift;
- my $line = shift;
-
- my( $sig, $var, $pkg );
- if ( $line =~ $VERS_REGEXP ) {
- ( $sig, $var, $pkg ) = $2 ? ( $1, $2, $3 ) : ( $4, $5, $6 );
- if ( $pkg ) {
- $pkg = ($pkg eq '::') ? 'main' : $pkg;
- $pkg =~ s/::$//;
- }
- }
-
- return ( $sig, $var, $pkg );
- }
-
- sub _parse_file {
- my $self = shift;
-
- my $filename = $self->{filename};
- my $fh = IO::File->new( $filename )
- or die( "Can't open '$filename': $!" );
-
- $self->_parse_fh($fh);
- }
-
- sub _parse_fh {
- my ($self, $fh) = @_;
-
- my( $in_pod, $seen_end, $need_vers ) = ( 0, 0, 0 );
- my( @pkgs, %vers, %pod, @pod );
- my $pkg = 'main';
- my $pod_sect = '';
- my $pod_data = '';
-
- while (defined( my $line = <$fh> )) {
- my $line_num = $.;
-
- chomp( $line );
- next if $line =~ /^\s*#/;
-
- $in_pod = ($line =~ /^=(?!cut)/) ? 1 : ($line =~ /^=cut/) ? 0 : $in_pod;
-
- # Would be nice if we could also check $in_string or something too
- last if !$in_pod && $line =~ /^__(?:DATA|END)__$/;
-
- if ( $in_pod || $line =~ /^=cut/ ) {
-
- if ( $line =~ /^=head\d\s+(.+)\s*$/ ) {
- push( @pod, $1 );
- if ( $self->{collect_pod} && length( $pod_data ) ) {
- $pod{$pod_sect} = $pod_data;
- $pod_data = '';
- }
- $pod_sect = $1;
-
-
- } elsif ( $self->{collect_pod} ) {
- $pod_data .= "$line\n";
-
- }
-
- } else {
-
- $pod_sect = '';
- $pod_data = '';
-
- # parse $line to see if it's a $VERSION declaration
- my( $vers_sig, $vers_fullname, $vers_pkg ) =
- $self->_parse_version_expression( $line );
-
- if ( $line =~ $PKG_REGEXP ) {
- $pkg = $1;
- push( @pkgs, $pkg ) unless grep( $pkg eq $_, @pkgs );
- $vers{$pkg} = (defined $2 ? $2 : undef) unless exists( $vers{$pkg} );
- $need_vers = defined $2 ? 0 : 1;
-
- # VERSION defined with full package spec, i.e. $Module::VERSION
- } elsif ( $vers_fullname && $vers_pkg ) {
- push( @pkgs, $vers_pkg ) unless grep( $vers_pkg eq $_, @pkgs );
- $need_vers = 0 if $vers_pkg eq $pkg;
-
- unless ( defined $vers{$vers_pkg} && length $vers{$vers_pkg} ) {
- $vers{$vers_pkg} =
- $self->_evaluate_version_line( $vers_sig, $vers_fullname, $line );
- } else {
- # Warn unless the user is using the "$VERSION = eval
- # $VERSION" idiom (though there are probably other idioms
- # that we should watch out for...)
- warn <<"EOM" unless $line =~ /=\s*eval/;
- Package '$vers_pkg' already declared with version '$vers{$vers_pkg}',
- ignoring subsequent declaration on line $line_num.
- EOM
- }
-
- # first non-comment line in undeclared package main is VERSION
- } elsif ( !exists($vers{main}) && $pkg eq 'main' && $vers_fullname ) {
- $need_vers = 0;
- my $v =
- $self->_evaluate_version_line( $vers_sig, $vers_fullname, $line );
- $vers{$pkg} = $v;
- push( @pkgs, 'main' );
-
- # first non-comment line in undeclared package defines package main
- } elsif ( !exists($vers{main}) && $pkg eq 'main' && $line =~ /\w+/ ) {
- $need_vers = 1;
- $vers{main} = '';
- push( @pkgs, 'main' );
-
- # only keep if this is the first $VERSION seen
- } elsif ( $vers_fullname && $need_vers ) {
- $need_vers = 0;
- my $v =
- $self->_evaluate_version_line( $vers_sig, $vers_fullname, $line );
-
-
- unless ( defined $vers{$pkg} && length $vers{$pkg} ) {
- $vers{$pkg} = $v;
- } else {
- warn <<"EOM";
- Package '$pkg' already declared with version '$vers{$pkg}'
- ignoring new version '$v' on line $line_num.
- EOM
- }
-
- }
-
- }
-
- }
-
- if ( $self->{collect_pod} && length($pod_data) ) {
- $pod{$pod_sect} = $pod_data;
- }
-
- $self->{versions} = \%vers;
- $self->{packages} = \@pkgs;
- $self->{pod} = \%pod;
- $self->{pod_headings} = \@pod;
- }
-
- {
- my $pn = 0;
- sub _evaluate_version_line {
- my $self = shift;
- my( $sigil, $var, $line ) = @_;
-
- # Some of this code came from the ExtUtils:: hierarchy.
-
- # We compile into $vsub because 'use version' would cause
- # compiletime/runtime issues with local()
- my $vsub;
- $pn++; # everybody gets their own package
- my $eval = qq{BEGIN { q# Hide from _packages_inside()
- #; package Module::Metadata::_version::p$pn;
- use version;
- no strict;
-
- local $sigil$var;
- \$$var=undef;
- \$vsub = sub {
- $line;
- \$$var
- };
- }};
-
- local $^W;
- # Try to get the $VERSION
- eval $eval;
- # some modules say $VERSION = $Foo::Bar::VERSION, but Foo::Bar isn't
- # installed, so we need to hunt in ./lib for it
- if ( $@ =~ /Can't locate/ && -d 'lib' ) {
- local @INC = ('lib',@INC);
- eval $eval;
- }
- warn "Error evaling version line '$eval' in $self->{filename}: $@\n"
- if $@;
- (ref($vsub) eq 'CODE') or
- die "failed to build version sub for $self->{filename}";
- my $result = eval { $vsub->() };
- die "Could not get version from $self->{filename} by executing:\n$eval\n\nThe fatal error was: $@\n"
- if $@;
-
- # Upgrade it into a version object
- my $version = eval { _dwim_version($result) };
-
- die "Version '$result' from $self->{filename} does not appear to be valid:\n$eval\n\nThe fatal error was: $@\n"
- unless defined $version; # "0" is OK!
-
- return $version;
- }
- }
-
- # Try to DWIM when things fail the lax version test in obvious ways
- {
- my @version_prep = (
- # Best case, it just works
- sub { return shift },
-
- # If we still don't have a version, try stripping any
- # trailing junk that is prohibited by lax rules
- sub {
- my $v = shift;
- $v =~ s{([0-9])[a-z-].*$}{$1}i; # 1.23-alpha or 1.23b
- return $v;
- },
-
- # Activestate apparently creates custom versions like '1.23_45_01', which
- # cause version.pm to think it's an invalid alpha. So check for that
- # and strip them
- sub {
- my $v = shift;
- my $num_dots = () = $v =~ m{(\.)}g;
- my $num_unders = () = $v =~ m{(_)}g;
- my $leading_v = substr($v,0,1) eq 'v';
- if ( ! $leading_v && $num_dots < 2 && $num_unders > 1 ) {
- $v =~ s{_}{}g;
- $num_unders = () = $v =~ m{(_)}g;
- }
- return $v;
- },
-
- # Worst case, try numifying it like we would have before version objects
- sub {
- my $v = shift;
- no warnings 'numeric';
- return 0 + $v;
- },
-
- );
-
- sub _dwim_version {
- my ($result) = shift;
-
- return $result if ref($result) eq 'version';
-
- my ($version, $error);
- for my $f (@version_prep) {
- $result = $f->($result);
- $version = eval { version->new($result) };
- $error ||= $@ if $@; # capture first failure
- last if defined $version;
- }
-
- die $error unless defined $version;
-
- return $version;
- }
- }
-
- ############################################################
-
- # accessors
- sub name { $_[0]->{module} }
-
- sub filename { $_[0]->{filename} }
- sub packages_inside { @{$_[0]->{packages}} }
- sub pod_inside { @{$_[0]->{pod_headings}} }
- sub contains_pod { $#{$_[0]->{pod_headings}} }
-
- sub version {
- my $self = shift;
- my $mod = shift || $self->{module};
- my $vers;
- if ( defined( $mod ) && length( $mod ) &&
- exists( $self->{versions}{$mod} ) ) {
- return $self->{versions}{$mod};
- } else {
- return undef;
- }
- }
-
- sub pod {
- my $self = shift;
- my $sect = shift;
- if ( defined( $sect ) && length( $sect ) &&
- exists( $self->{pod}{$sect} ) ) {
- return $self->{pod}{$sect};
- } else {
- return undef;
- }
- }
-
- 1;
-
-MODULE_METADATA
-
-$fatpacked{"Parse/CPAN/Meta.pm"} = <<'PARSE_CPAN_META';
- package Parse::CPAN::Meta;
-
- use strict;
- use Carp 'croak';
-
- # UTF Support?
- sub HAVE_UTF8 () { $] >= 5.007003 }
- BEGIN {
- if ( HAVE_UTF8 ) {
- # The string eval helps hide this from Test::MinimumVersion
- eval "require utf8;";
- die "Failed to load UTF-8 support" if $@;
- }
-
- # Class structure
- require 5.004;
- require Exporter;
- $Parse::CPAN::Meta::VERSION = '1.40';
- @Parse::CPAN::Meta::ISA = qw{ Exporter };
- @Parse::CPAN::Meta::EXPORT_OK = qw{ Load LoadFile };
- }
-
- # Prototypes
- sub LoadFile ($);
- sub Load ($);
- sub _scalar ($$$);
- sub _array ($$$);
- sub _hash ($$$);
-
- # Printable characters for escapes
- my %UNESCAPES = (
- z => "\x00", a => "\x07", t => "\x09",
- n => "\x0a", v => "\x0b", f => "\x0c",
- r => "\x0d", e => "\x1b", '\\' => '\\',
- );
-
-
-
-
-
- #####################################################################
- # Implementation
-
- # Create an object from a file
- sub LoadFile ($) {
- # Check the file
- my $file = shift;
- croak('You did not specify a file name') unless $file;
- croak( "File '$file' does not exist" ) unless -e $file;
- croak( "'$file' is a directory, not a file" ) unless -f _;
- croak( "Insufficient permissions to read '$file'" ) unless -r _;
-
- # Slurp in the file
- local $/ = undef;
- local *CFG;
- unless ( open( CFG, $file ) ) {
- croak("Failed to open file '$file': $!");
- }
- my $yaml = <CFG>;
- unless ( close(CFG) ) {
- croak("Failed to close file '$file': $!");
- }
-
- # Hand off to the actual parser
- Load( $yaml );
- }
-
- # Parse a document from a string.
- # Doing checks on $_[0] prevents us having to do a string copy.
- sub Load ($) {
- my $string = $_[0];
- unless ( defined $string ) {
- croak("Did not provide a string to load");
- }
-
- # Byte order marks
- if ( $string =~ /^(?:\376\377|\377\376|\377\376\0\0|\0\0\376\377)/ ) {
- croak("Stream has a non UTF-8 Unicode Byte Order Mark");
- } else {
- # Strip UTF-8 bom if found, we'll just ignore it
- $string =~ s/^\357\273\277//;
- }
-
- # Try to decode as utf8
- utf8::decode($string) if HAVE_UTF8;
-
- # Check for some special cases
- return () unless length $string;
- unless ( $string =~ /[\012\015]+\z/ ) {
- croak("Stream does not end with newline character");
- }
-
- # Split the file into lines
- my @lines = grep { ! /^\s*(?:\#.*)?\z/ }
- split /(?:\015{1,2}\012|\015|\012)/, $string;
-
- # Strip the initial YAML header
- @lines and $lines[0] =~ /^\%YAML[: ][\d\.]+.*\z/ and shift @lines;
-
- # A nibbling parser
- my @documents = ();
- while ( @lines ) {
- # Do we have a document header?
- if ( $lines[0] =~ /^---\s*(?:(.+)\s*)?\z/ ) {
- # Handle scalar documents
- shift @lines;
- if ( defined $1 and $1 !~ /^(?:\#.+|\%YAML[: ][\d\.]+)\z/ ) {
- push @documents, _scalar( "$1", [ undef ], \@lines );
- next;
- }
- }
-
- if ( ! @lines or $lines[0] =~ /^(?:---|\.\.\.)/ ) {
- # A naked document
- push @documents, undef;
- while ( @lines and $lines[0] !~ /^---/ ) {
- shift @lines;
- }
-
- } elsif ( $lines[0] =~ /^\s*\-/ ) {
- # An array at the root
- my $document = [ ];
- push @documents, $document;
- _array( $document, [ 0 ], \@lines );
-
- } elsif ( $lines[0] =~ /^(\s*)\S/ ) {
- # A hash at the root
- my $document = { };
- push @documents, $document;
- _hash( $document, [ length($1) ], \@lines );
-
- } else {
- croak("Parse::CPAN::Meta failed to classify line '$lines[0]'");
- }
- }
-
- if ( wantarray ) {
- return @documents;
- } else {
- return $documents[-1];
- }
- }
-
- # Deparse a scalar string to the actual scalar
- sub _scalar ($$$) {
- my ($string, $indent, $lines) = @_;
-
- # Trim trailing whitespace
- $string =~ s/\s*\z//;
-
- # Explitic null/undef
- return undef if $string eq '~';
-
- # Quotes
- if ( $string =~ /^\'(.*?)\'\z/ ) {
- return '' unless defined $1;
- $string = $1;
- $string =~ s/\'\'/\'/g;
- return $string;
- }
- if ( $string =~ /^\"((?:\\.|[^\"])*)\"\z/ ) {
- # Reusing the variable is a little ugly,
- # but avoids a new variable and a string copy.
- $string = $1;
- $string =~ s/\\"/"/g;
- $string =~ s/\\([never\\fartz]|x([0-9a-fA-F]{2}))/(length($1)>1)?pack("H2",$2):$UNESCAPES{$1}/gex;
- return $string;
- }
-
- # Special cases
- if ( $string =~ /^[\'\"!&]/ ) {
- croak("Parse::CPAN::Meta does not support a feature in line '$lines->[0]'");
- }
- return {} if $string eq '{}';
- return [] if $string eq '[]';
-
- # Regular unquoted string
- return $string unless $string =~ /^[>|]/;
-
- # Error
- croak("Parse::CPAN::Meta failed to find multi-line scalar content") unless @$lines;
-
- # Check the indent depth
- $lines->[0] =~ /^(\s*)/;
- $indent->[-1] = length("$1");
- if ( defined $indent->[-2] and $indent->[-1] <= $indent->[-2] ) {
- croak("Parse::CPAN::Meta found bad indenting in line '$lines->[0]'");
- }
-
- # Pull the lines
- my @multiline = ();
- while ( @$lines ) {
- $lines->[0] =~ /^(\s*)/;
- last unless length($1) >= $indent->[-1];
- push @multiline, substr(shift(@$lines), length($1));
- }
-
- my $j = (substr($string, 0, 1) eq '>') ? ' ' : "\n";
- my $t = (substr($string, 1, 1) eq '-') ? '' : "\n";
- return join( $j, @multiline ) . $t;
- }
-
- # Parse an array
- sub _array ($$$) {
- my ($array, $indent, $lines) = @_;
-
- while ( @$lines ) {
- # Check for a new document
- if ( $lines->[0] =~ /^(?:---|\.\.\.)/ ) {
- while ( @$lines and $lines->[0] !~ /^---/ ) {
- shift @$lines;
- }
- return 1;
- }
-
- # Check the indent level
- $lines->[0] =~ /^(\s*)/;
- if ( length($1) < $indent->[-1] ) {
- return 1;
- } elsif ( length($1) > $indent->[-1] ) {
- croak("Parse::CPAN::Meta found bad indenting in line '$lines->[0]'");
- }
-
- if ( $lines->[0] =~ /^(\s*\-\s+)[^\'\"]\S*\s*:(?:\s+|$)/ ) {
- # Inline nested hash
- my $indent2 = length("$1");
- $lines->[0] =~ s/-/ /;
- push @$array, { };
- _hash( $array->[-1], [ @$indent, $indent2 ], $lines );
-
- } elsif ( $lines->[0] =~ /^\s*\-(\s*)(.+?)\s*\z/ ) {
- # Array entry with a value
- shift @$lines;
- push @$array, _scalar( "$2", [ @$indent, undef ], $lines );
-
- } elsif ( $lines->[0] =~ /^\s*\-\s*\z/ ) {
- shift @$lines;
- unless ( @$lines ) {
- push @$array, undef;
- return 1;
- }
- if ( $lines->[0] =~ /^(\s*)\-/ ) {
- my $indent2 = length("$1");
- if ( $indent->[-1] == $indent2 ) {
- # Null array entry
- push @$array, undef;
- } else {
- # Naked indenter
- push @$array, [ ];
- _array( $array->[-1], [ @$indent, $indent2 ], $lines );
- }
-
- } elsif ( $lines->[0] =~ /^(\s*)\S/ ) {
- push @$array, { };
- _hash( $array->[-1], [ @$indent, length("$1") ], $lines );
-
- } else {
- croak("Parse::CPAN::Meta failed to classify line '$lines->[0]'");
- }
-
- } elsif ( defined $indent->[-2] and $indent->[-1] == $indent->[-2] ) {
- # This is probably a structure like the following...
- # ---
- # foo:
- # - list
- # bar: value
- #
- # ... so lets return and let the hash parser handle it
- return 1;
-
- } else {
- croak("Parse::CPAN::Meta failed to classify line '$lines->[0]'");
- }
- }
-
- return 1;
- }
-
- # Parse an array
- sub _hash ($$$) {
- my ($hash, $indent, $lines) = @_;
-
- while ( @$lines ) {
- # Check for a new document
- if ( $lines->[0] =~ /^(?:---|\.\.\.)/ ) {
- while ( @$lines and $lines->[0] !~ /^---/ ) {
- shift @$lines;
- }
- return 1;
- }
-
- # Check the indent level
- $lines->[0] =~ /^(\s*)/;
- if ( length($1) < $indent->[-1] ) {
- return 1;
- } elsif ( length($1) > $indent->[-1] ) {
- croak("Parse::CPAN::Meta found bad indenting in line '$lines->[0]'");
- }
-
- # Get the key
- unless ( $lines->[0] =~ s/^\s*([^\'\" ][^\n]*?)\s*:(\s+|$)// ) {
- if ( $lines->[0] =~ /^\s*[?\'\"]/ ) {
- croak("Parse::CPAN::Meta does not support a feature in line '$lines->[0]'");
- }
- croak("Parse::CPAN::Meta failed to classify line '$lines->[0]'");
- }
- my $key = $1;
-
- # Do we have a value?
- if ( length $lines->[0] ) {
- # Yes
- $hash->{$key} = _scalar( shift(@$lines), [ @$indent, undef ], $lines );
- } else {
- # An indent
- shift @$lines;
- unless ( @$lines ) {
- $hash->{$key} = undef;
- return 1;
- }
- if ( $lines->[0] =~ /^(\s*)-/ ) {
- $hash->{$key} = [];
- _array( $hash->{$key}, [ @$indent, length($1) ], $lines );
- } elsif ( $lines->[0] =~ /^(\s*)./ ) {
- my $indent2 = length("$1");
- if ( $indent->[-1] >= $indent2 ) {
- # Null hash entry
- $hash->{$key} = undef;
- } else {
- $hash->{$key} = {};
- _hash( $hash->{$key}, [ @$indent, length($1) ], $lines );
- }
- }
- }
- }
-
- return 1;
- }
-
- 1;
-
- __END__
-
-PARSE_CPAN_META
-
-$fatpacked{"lib/core/only.pm"} = <<'LIB_CORE_ONLY';
- package lib::core::only;
-
- use strict;
- use warnings FATAL => 'all';
- use Config;
-
- sub import {
- @INC = @Config{qw(privlibexp archlibexp)};
- return
- }
-
- 1;
-LIB_CORE_ONLY
-
-$fatpacked{"local/lib.pm"} = <<'LOCAL_LIB';
- use strict;
- use warnings;
-
- package local::lib;
-
- use 5.008001; # probably works with earlier versions but I'm not supporting them
- # (patches would, of course, be welcome)
-
- use File::Spec ();
- use File::Path ();
- use Carp ();
- use Config;
-
- our $VERSION = '1.008001'; # 1.8.1
-
- our @KNOWN_FLAGS = qw(--self-contained);
-
- sub import {
- my ($class, @args) = @_;
-
- # Remember what PERL5LIB was when we started
- my $perl5lib = $ENV{PERL5LIB} || '';
-
- my %arg_store;
- for my $arg (@args) {
- # check for lethal dash first to stop processing before causing problems
- if ($arg =~ /−/) {
- die <<'DEATH';
- WHOA THERE! It looks like you've got some fancy dashes in your commandline!
- These are *not* the traditional -- dashes that software recognizes. You
- probably got these by copy-pasting from the perldoc for this module as
- rendered by a UTF8-capable formatter. This most typically happens on an OS X
- terminal, but can happen elsewhere too. Please try again after replacing the
- dashes with normal minus signs.
- DEATH
- }
- elsif(grep { $arg eq $_ } @KNOWN_FLAGS) {
- (my $flag = $arg) =~ s/--//;
- $arg_store{$flag} = 1;
- }
- elsif($arg =~ /^--/) {
- die "Unknown import argument: $arg";
- }
- else {
- # assume that what's left is a path
- $arg_store{path} = $arg;
- }
- }
-
- if($arg_store{'self-contained'}) {
- die "FATAL: The local::lib --self-contained flag has never worked reliably and the original author, Mark Stosberg, was unable or unwilling to maintain it. As such, this flag has been removed from the local::lib codebase in order to prevent misunderstandings and potentially broken builds. The local::lib authors recommend that you look at the lib::core::only module shipped with this distribution in order to create a more robust environment that is equivalent to what --self-contained provided (although quite possibly not what you originally thought it provided due to the poor quality of the documentation, for which we apologise).\n";
- }
-
- $arg_store{path} = $class->resolve_path($arg_store{path});
- $class->setup_local_lib_for($arg_store{path});
-
- for (@INC) { # Untaint @INC
- next if ref; # Skip entry if it is an ARRAY, CODE, blessed, etc.
- m/(.*)/ and $_ = $1;
- }
- }
-
- sub pipeline;
-
- sub pipeline {
- my @methods = @_;
- my $last = pop(@methods);
- if (@methods) {
- \sub {
- my ($obj, @args) = @_;
- $obj->${pipeline @methods}(
- $obj->$last(@args)
- );
- };
- } else {
- \sub {
- shift->$last(@_);
- };
- }
- }
-
- sub _uniq {
- my %seen;
- grep { ! $seen{$_}++ } @_;
- }
-
- sub resolve_path {
- my ($class, $path) = @_;
- $class->${pipeline qw(
- resolve_relative_path
- resolve_home_path
- resolve_empty_path
- )}($path);
- }
-
- sub resolve_empty_path {
- my ($class, $path) = @_;
- if (defined $path) {
- $path;
- } else {
- '~/perl5';
- }
- }
-
- sub resolve_home_path {
- my ($class, $path) = @_;
- return $path unless ($path =~ /^~/);
- my ($user) = ($path =~ /^~([^\/]+)/); # can assume ^~ so undef for 'us'
- my $tried_file_homedir;
- my $homedir = do {
- if (eval { require File::HomeDir } && $File::HomeDir::VERSION >= 0.65) {
- $tried_file_homedir = 1;
- if (defined $user) {
- File::HomeDir->users_home($user);
- } else {
- File::HomeDir->my_home;
- }
- } else {
- if (defined $user) {
- (getpwnam $user)[7];
- } else {
- if (defined $ENV{HOME}) {
- $ENV{HOME};
- } else {
- (getpwuid $<)[7];
- }
- }
- }
- };
- unless (defined $homedir) {
- Carp::croak(
- "Couldn't resolve homedir for "
- .(defined $user ? $user : 'current user')
- .($tried_file_homedir ? '' : ' - consider installing File::HomeDir')
- );
- }
- $path =~ s/^~[^\/]*/$homedir/;
- $path;
- }
-
- sub resolve_relative_path {
- my ($class, $path) = @_;
- $path = File::Spec->rel2abs($path);
- }
-
- sub setup_local_lib_for {
- my ($class, $path) = @_;
- $path = $class->ensure_dir_structure_for($path);
- if ($0 eq '-') {
- $class->print_environment_vars_for($path);
- exit 0;
- } else {
- $class->setup_env_hash_for($path);
- @INC = _uniq(split($Config{path_sep}, $ENV{PERL5LIB}), @INC);
- }
- }
-
- sub install_base_bin_path {
- my ($class, $path) = @_;
- File::Spec->catdir($path, 'bin');
- }
-
- sub install_base_perl_path {
- my ($class, $path) = @_;
- File::Spec->catdir($path, 'lib', 'perl5');
- }
-
- sub install_base_arch_path {
- my ($class, $path) = @_;
- File::Spec->catdir($class->install_base_perl_path($path), $Config{archname});
- }
-
- sub ensure_dir_structure_for {
- my ($class, $path) = @_;
- unless (-d $path) {
- warn "Attempting to create directory ${path}\n";
- }
- File::Path::mkpath($path);
- # Need to have the path exist to make a short name for it, so
- # converting to a short name here.
- $path = Win32::GetShortPathName($path) if $^O eq 'MSWin32';
-
- return $path;
- }
-
- sub INTERPOLATE_ENV () { 1 }
- sub LITERAL_ENV () { 0 }
-
- sub guess_shelltype {
- my $shellbin = 'sh';
- if(defined $ENV{'SHELL'}) {
- my @shell_bin_path_parts = File::Spec->splitpath($ENV{'SHELL'});
- $shellbin = $shell_bin_path_parts[-1];
- }
- my $shelltype = do {
- local $_ = $shellbin;
- if(/csh/) {
- 'csh'
- } else {
- 'bourne'
- }
- };
-
- # Both Win32 and Cygwin have $ENV{COMSPEC} set.
- if (defined $ENV{'COMSPEC'} && $^O ne 'cygwin') {
- my @shell_bin_path_parts = File::Spec->splitpath($ENV{'COMSPEC'});
- $shellbin = $shell_bin_path_parts[-1];
- $shelltype = do {
- local $_ = $shellbin;
- if(/command\.com/) {
- 'win32'
- } elsif(/cmd\.exe/) {
- 'win32'
- } elsif(/4nt\.exe/) {
- 'win32'
- } else {
- $shelltype
- }
- };
- }
- return $shelltype;
- }
-
- sub print_environment_vars_for {
- my ($class, $path) = @_;
- print $class->environment_vars_string_for($path);
- }
-
- sub environment_vars_string_for {
- my ($class, $path) = @_;
- my @envs = $class->build_environment_vars_for($path, LITERAL_ENV);
- my $out = '';
-
- # rather basic csh detection, goes on the assumption that something won't
- # call itself csh unless it really is. also, default to bourne in the
- # pathological situation where a user doesn't have $ENV{SHELL} defined.
- # note also that shells with funny names, like zoid, are assumed to be
- # bourne.
-
- my $shelltype = $class->guess_shelltype;
-
- while (@envs) {
- my ($name, $value) = (shift(@envs), shift(@envs));
- $value =~ s/(\\")/\\$1/g;
- $out .= $class->${\"build_${shelltype}_env_declaration"}($name, $value);
- }
- return $out;
- }
-
- # simple routines that take two arguments: an %ENV key and a value. return
- # strings that are suitable for passing directly to the relevant shell to set
- # said key to said value.
- sub build_bourne_env_declaration {
- my $class = shift;
- my($name, $value) = @_;
- return qq{export ${name}="${value}"\n};
- }
-
- sub build_csh_env_declaration {
- my $class = shift;
- my($name, $value) = @_;
- return qq{setenv ${name} "${value}"\n};
- }
-
- sub build_win32_env_declaration {
- my $class = shift;
- my($name, $value) = @_;
- return qq{set ${name}=${value}\n};
- }
-
- sub setup_env_hash_for {
- my ($class, $path) = @_;
- my %envs = $class->build_environment_vars_for($path, INTERPOLATE_ENV);
- @ENV{keys %envs} = values %envs;
- }
-
- sub build_environment_vars_for {
- my ($class, $path, $interpolate) = @_;
- return (
- PERL_LOCAL_LIB_ROOT => $path,
- PERL_MB_OPT => "--install_base ${path}",
- PERL_MM_OPT => "INSTALL_BASE=${path}",
- PERL5LIB => join($Config{path_sep},
- $class->install_base_arch_path($path),
- $class->install_base_perl_path($path),
- (($ENV{PERL5LIB}||()) ?
- ($interpolate == INTERPOLATE_ENV
- ? ($ENV{PERL5LIB})
- : (($^O ne 'MSWin32') ? '$PERL5LIB' : '%PERL5LIB%' ))
- : ())
- ),
- PATH => join($Config{path_sep},
- $class->install_base_bin_path($path),
- ($interpolate == INTERPOLATE_ENV
- ? ($ENV{PATH}||())
- : (($^O ne 'MSWin32') ? '$PATH' : '%PATH%' ))
- ),
- )
- }
-
- 1;
-LOCAL_LIB
-
-$fatpacked{"version.pm"} = <<'VERSION';
- #!perl -w
- package version;
-
- use 5.005_04;
- use strict;
-
- use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv);
-
- $VERSION = 0.88;
-
- $CLASS = 'version';
-
- #--------------------------------------------------------------------------#
- # Version regexp components
- #--------------------------------------------------------------------------#
-
- # Fraction part of a decimal version number. This is a common part of
- # both strict and lax decimal versions
-
- my $FRACTION_PART = qr/\.[0-9]+/;
-
- # First part of either decimal or dotted-decimal strict version number.
- # Unsigned integer with no leading zeroes (except for zero itself) to
- # avoid confusion with octal.
-
- my $STRICT_INTEGER_PART = qr/0|[1-9][0-9]*/;
-
- # First part of either decimal or dotted-decimal lax version number.
- # Unsigned integer, but allowing leading zeros. Always interpreted
- # as decimal. However, some forms of the resulting syntax give odd
- # results if used as ordinary Perl expressions, due to how perl treats
- # octals. E.g.
- # version->new("010" ) == 10
- # version->new( 010 ) == 8
- # version->new( 010.2) == 82 # "8" . "2"
-
- my $LAX_INTEGER_PART = qr/[0-9]+/;
-
- # Second and subsequent part of a strict dotted-decimal version number.
- # Leading zeroes are permitted, and the number is always decimal.
- # Limited to three digits to avoid overflow when converting to decimal
- # form and also avoid problematic style with excessive leading zeroes.
-
- my $STRICT_DOTTED_DECIMAL_PART = qr/\.[0-9]{1,3}/;
-
- # Second and subsequent part of a lax dotted-decimal version number.
- # Leading zeroes are permitted, and the number is always decimal. No
- # limit on the numerical value or number of digits, so there is the
- # possibility of overflow when converting to decimal form.
-
- my $LAX_DOTTED_DECIMAL_PART = qr/\.[0-9]+/;
-
- # Alpha suffix part of lax version number syntax. Acts like a
- # dotted-decimal part.
-
- my $LAX_ALPHA_PART = qr/_[0-9]+/;
-
- #--------------------------------------------------------------------------#
- # Strict version regexp definitions
- #--------------------------------------------------------------------------#
-
- # Strict decimal version number.
-
- my $STRICT_DECIMAL_VERSION =
- qr/ $STRICT_INTEGER_PART $FRACTION_PART? /x;
-
- # Strict dotted-decimal version number. Must have both leading "v" and
- # at least three parts, to avoid confusion with decimal syntax.
-
- my $STRICT_DOTTED_DECIMAL_VERSION =
- qr/ v $STRICT_INTEGER_PART $STRICT_DOTTED_DECIMAL_PART{2,} /x;
-
- # Complete strict version number syntax -- should generally be used
- # anchored: qr/ \A $STRICT \z /x
-
- $STRICT =
- qr/ $STRICT_DECIMAL_VERSION | $STRICT_DOTTED_DECIMAL_VERSION /x;
-
- #--------------------------------------------------------------------------#
- # Lax version regexp definitions
- #--------------------------------------------------------------------------#
-
- # Lax decimal version number. Just like the strict one except for
- # allowing an alpha suffix or allowing a leading or trailing
- # decimal-point
-
- my $LAX_DECIMAL_VERSION =
- qr/ $LAX_INTEGER_PART (?: \. | $FRACTION_PART $LAX_ALPHA_PART? )?
- |
- $FRACTION_PART $LAX_ALPHA_PART?
- /x;
-
- # Lax dotted-decimal version number. Distinguished by having either
- # leading "v" or at least three non-alpha parts. Alpha part is only
- # permitted if there are at least two non-alpha parts. Strangely
- # enough, without the leading "v", Perl takes .1.2 to mean v0.1.2,
- # so when there is no "v", the leading part is optional
-
- my $LAX_DOTTED_DECIMAL_VERSION =
- qr/
- v $LAX_INTEGER_PART (?: $LAX_DOTTED_DECIMAL_PART+ $LAX_ALPHA_PART? )?
- |
- $LAX_INTEGER_PART? $LAX_DOTTED_DECIMAL_PART{2,} $LAX_ALPHA_PART?
- /x;
-
- # Complete lax version number syntax -- should generally be used
- # anchored: qr/ \A $LAX \z /x
- #
- # The string 'undef' is a special case to make for easier handling
- # of return values from ExtUtils::MM->parse_version
-
- $LAX =
- qr/ undef | $LAX_DECIMAL_VERSION | $LAX_DOTTED_DECIMAL_VERSION /x;
-
- #--------------------------------------------------------------------------#
-
- eval "use version::vxs $VERSION";
- if ( $@ ) { # don't have the XS version installed
- eval "use version::vpp $VERSION"; # don't tempt fate
- die "$@" if ( $@ );
- push @ISA, "version::vpp";
- local $^W;
- *version::qv = \&version::vpp::qv;
- *version::declare = \&version::vpp::declare;
- *version::_VERSION = \&version::vpp::_VERSION;
- if ($] >= 5.009000 && $] < 5.011004) {
- no strict 'refs';
- *version::stringify = \&version::vpp::stringify;
- *{'version::(""'} = \&version::vpp::stringify;
- *version::new = \&version::vpp::new;
- *version::parse = \&version::vpp::parse;
- }
- }
- else { # use XS module
- push @ISA, "version::vxs";
- local $^W;
- *version::declare = \&version::vxs::declare;
- *version::qv = \&version::vxs::qv;
- *version::_VERSION = \&version::vxs::_VERSION;
- *version::vcmp = \&version::vxs::VCMP;
- if ($] >= 5.009000 && $] < 5.011004) {
- no strict 'refs';
- *version::stringify = \&version::vxs::stringify;
- *{'version::(""'} = \&version::vxs::stringify;
- *version::new = \&version::vxs::new;
- *version::parse = \&version::vxs::parse;
- }
-
- }
-
- # Preloaded methods go here.
- sub import {
- no strict 'refs';
- my ($class) = shift;
-
- # Set up any derived class
- unless ($class eq 'version') {
- local $^W;
- *{$class.'::declare'} = \&version::declare;
- *{$class.'::qv'} = \&version::qv;
- }
-
- my %args;
- if (@_) { # any remaining terms are arguments
- map { $args{$_} = 1 } @_
- }
- else { # no parameters at all on use line
- %args =
- (
- qv => 1,
- 'UNIVERSAL::VERSION' => 1,
- );
- }
-
- my $callpkg = caller();
-
- if (exists($args{declare})) {
- *{$callpkg.'::declare'} =
- sub {return $class->declare(shift) }
- unless defined(&{$callpkg.'::declare'});
- }
-
- if (exists($args{qv})) {
- *{$callpkg.'::qv'} =
- sub {return $class->qv(shift) }
- unless defined(&{$callpkg.'::qv'});
- }
-
- if (exists($args{'UNIVERSAL::VERSION'})) {
- local $^W;
- *UNIVERSAL::VERSION
- = \&version::_VERSION;
- }
-
- if (exists($args{'VERSION'})) {
- *{$callpkg.'::VERSION'} = \&version::_VERSION;
- }
-
- if (exists($args{'is_strict'})) {
- *{$callpkg.'::is_strict'} = \&version::is_strict
- unless defined(&{$callpkg.'::is_strict'});
- }
-
- if (exists($args{'is_lax'})) {
- *{$callpkg.'::is_lax'} = \&version::is_lax
- unless defined(&{$callpkg.'::is_lax'});
- }
- }
-
- sub is_strict { defined $_[0] && $_[0] =~ qr/ \A $STRICT \z /x }
- sub is_lax { defined $_[0] && $_[0] =~ qr/ \A $LAX \z /x }
-
- 1;
-VERSION
-
-$fatpacked{"version/vpp.pm"} = <<'VERSION_VPP';
- package charstar;
- # a little helper class to emulate C char* semantics in Perl
- # so that prescan_version can use the same code as in C
-
- use overload (
- '""' => \&thischar,
- '0+' => \&thischar,
- '++' => \&increment,
- '--' => \&decrement,
- '+' => \&plus,
- '-' => \&minus,
- '*' => \&multiply,
- 'cmp' => \&cmp,
- '<=>' => \&spaceship,
- 'bool' => \&thischar,
- '=' => \&clone,
- );
-
- sub new {
- my ($self, $string) = @_;
- my $class = ref($self) || $self;
-
- my $obj = {
- string => [split(//,$string)],
- current => 0,
- };
- return bless $obj, $class;
- }
-
- sub thischar {
- my ($self) = @_;
- my $last = $#{$self->{string}};
- my $curr = $self->{current};
- if ($curr >= 0 && $curr <= $last) {
- return $self->{string}->[$curr];
- }
- else {
- return '';
- }
- }
-
- sub increment {
- my ($self) = @_;
- $self->{current}++;
- }
-
- sub decrement {
- my ($self) = @_;
- $self->{current}--;
- }
-
- sub plus {
- my ($self, $offset) = @_;
- my $rself = $self->clone;
- $rself->{current} += $offset;
- return $rself;
- }
-
- sub minus {
- my ($self, $offset) = @_;
- my $rself = $self->clone;
- $rself->{current} -= $offset;
- return $rself;
- }
-
- sub multiply {
- my ($left, $right, $swapped) = @_;
- my $char = $left->thischar();
- return $char * $right;
- }
-
- sub spaceship {
- my ($left, $right, $swapped) = @_;
- unless (ref($right)) { # not an object already
- $right = $left->new($right);
- }
- return $left->{current} <=> $right->{current};
- }
-
- sub cmp {
- my ($left, $right, $swapped) = @_;
- unless (ref($right)) { # not an object already
- if (length($right) == 1) { # comparing single character only
- return $left->thischar cmp $right;
- }
- $right = $left->new($right);
- }
- return $left->currstr cmp $right->currstr;
- }
-
- sub bool {
- my ($self) = @_;
- my $char = $self->thischar;
- return ($char ne '');
- }
-
- sub clone {
- my ($left, $right, $swapped) = @_;
- $right = {
- string => [@{$left->{string}}],
- current => $left->{current},
- };
- return bless $right, ref($left);
- }
-
- sub currstr {
- my ($self, $s) = @_;
- my $curr = $self->{current};
- my $last = $#{$self->{string}};
- if (defined($s) && $s->{current} < $last) {
- $last = $s->{current};
- }
-
- my $string = join('', @{$self->{string}}[$curr..$last]);
- return $string;
- }
-
- package version::vpp;
- use strict;
-
- use POSIX qw/locale_h/;
- use locale;
- use vars qw ($VERSION @ISA @REGEXS);
- $VERSION = 0.88;
-
- use overload (
- '""' => \&stringify,
- '0+' => \&numify,
- 'cmp' => \&vcmp,
- '<=>' => \&vcmp,
- 'bool' => \&vbool,
- 'nomethod' => \&vnoop,
- );
-
- eval "use warnings";
- if ($@) {
- eval '
- package warnings;
- sub enabled {return $^W;}
- 1;
- ';
- }
-
- my $VERSION_MAX = 0x7FFFFFFF;
-
- # implement prescan_version as closely to the C version as possible
- use constant TRUE => 1;
- use constant FALSE => 0;
-
- sub isDIGIT {
- my ($char) = shift->thischar();
- return ($char =~ /\d/);
- }
-
- sub isALPHA {
- my ($char) = shift->thischar();
- return ($char =~ /[a-zA-Z]/);
- }
-
- sub isSPACE {
- my ($char) = shift->thischar();
- return ($char =~ /\s/);
- }
-
- sub BADVERSION {
- my ($s, $errstr, $error) = @_;
- if ($errstr) {
- $$errstr = $error;
- }
- return $s;
- }
-
- sub prescan_version {
- my ($s, $strict, $errstr, $sqv, $ssaw_decimal, $swidth, $salpha) = @_;
- my $qv = defined $sqv ? $$sqv : FALSE;
- my $saw_decimal = defined $ssaw_decimal ? $$ssaw_decimal : 0;
- my $width = defined $swidth ? $$swidth : 3;
- my $alpha = defined $salpha ? $$salpha : FALSE;
-
- my $d = $s;
-
- if ($qv && isDIGIT($d)) {
- goto dotted_decimal_version;
- }
-
- if ($d eq 'v') { # explicit v-string
- $d++;
- if (isDIGIT($d)) {
- $qv = TRUE;
- }
- else { # degenerate v-string
- # requires v1.2.3
- return BADVERSION($s,$errstr,"Invalid version format (dotted-decimal versions require at least three parts)");
- }
-
- dotted_decimal_version:
- if ($strict && $d eq '0' && isDIGIT($d+1)) {
- # no leading zeros allowed
- return BADVERSION($s,$errstr,"Invalid version format (no leading zeros)");
- }
-
- while (isDIGIT($d)) { # integer part
- $d++;
- }
-
- if ($d eq '.')
- {
- $saw_decimal++;
- $d++; # decimal point
- }
- else
- {
- if ($strict) {
- # require v1.2.3
- return BADVERSION($s,$errstr,"Invalid version format (dotted-decimal versions require at least three parts)");
- }
- else {
- goto version_prescan_finish;
- }
- }
-
- {
- my $i = 0;
- my $j = 0;
- while (isDIGIT($d)) { # just keep reading
- $i++;
- while (isDIGIT($d)) {
- $d++; $j++;
- # maximum 3 digits between decimal
- if ($strict && $j > 3) {
- return BADVERSION($s,$errstr,"Invalid version format (maximum 3 digits between decimals)");
- }
- }
- if ($d eq '_') {
- if ($strict) {
- return BADVERSION($s,$errstr,"Invalid version format (no underscores)");
- }
- if ( $alpha ) {
- return BADVERSION($s,$errstr,"Invalid version format (multiple underscores)");
- }
- $d++;
- $alpha = TRUE;
- }
- elsif ($d eq '.') {
- if ($alpha) {
- return BADVERSION($s,$errstr,"Invalid version format (underscores before decimal)");
- }
- $saw_decimal++;
- $d++;
- }
- elsif (!isDIGIT($d)) {
- last;
- }
- $j = 0;
- }
-
- if ($strict && $i < 2) {
- # requires v1.2.3
- return BADVERSION($s,$errstr,"Invalid version format (dotted-decimal versions require at least three parts)");
- }
- }
- } # end if dotted-decimal
- else
- { # decimal versions
- # special $strict case for leading '.' or '0'
- if ($strict) {
- if ($d eq '.') {
- return BADVERSION($s,$errstr,"Invalid version format (0 before decimal required)");
- }
- if ($d eq '0' && isDIGIT($d+1)) {
- return BADVERSION($s,$errstr,"Invalid version format (no leading zeros)");
- }
- }
-
- # consume all of the integer part
- while (isDIGIT($d)) {
- $d++;
- }
-
- # look for a fractional part
- if ($d eq '.') {
- # we found it, so consume it
- $saw_decimal++;
- $d++;
- }
- elsif (!$d || $d eq ';' || isSPACE($d) || $d eq '}') {
- if ( $d == $s ) {
- # found nothing
- return BADVERSION($s,$errstr,"Invalid version format (version required)");
- }
- # found just an integer
- goto version_prescan_finish;
- }
- elsif ( $d == $s ) {
- # didn't find either integer or period
- return BADVERSION($s,$errstr,"Invalid version format (non-numeric data)");
- }
- elsif ($d eq '_') {
- # underscore can't come after integer part
- if ($strict) {
- return BADVERSION($s,$errstr,"Invalid version format (no underscores)");
- }
- elsif (isDIGIT($d+1)) {
- return BADVERSION($s,$errstr,"Invalid version format (alpha without decimal)");
- }
- else {
- return BADVERSION($s,$errstr,"Invalid version format (misplaced underscore)");
- }
- }
- elsif ($d) {
- # anything else after integer part is just invalid data
- return BADVERSION($s,$errstr,"Invalid version format (non-numeric data)");
- }
-
- # scan the fractional part after the decimal point
- if ($d && !isDIGIT($d) && ($strict || ! ($d eq ';' || isSPACE($d) || $d eq '}') )) {
- # $strict or lax-but-not-the-end
- return BADVERSION($s,$errstr,"Invalid version format (fractional part required)");
- }
-
- while (isDIGIT($d)) {
- $d++;
- if ($d eq '.' && isDIGIT($d-1)) {
- if ($alpha) {
- return BADVERSION($s,$errstr,"Invalid version format (underscores before decimal)");
- }
- if ($strict) {
- return BADVERSION($s,$errstr,"Invalid version format (dotted-decimal versions must begin with 'v')");
- }
- $d = $s; # start all over again
- $qv = TRUE;
- goto dotted_decimal_version;
- }
- if ($d eq '_') {
- if ($strict) {
- return BADVERSION($s,$errstr,"Invalid version format (no underscores)");
- }
- if ( $alpha ) {
- return BADVERSION($s,$errstr,"Invalid version format (multiple underscores)");
- }
- if ( ! isDIGIT($d+1) ) {
- return BADVERSION($s,$errstr,"Invalid version format (misplaced underscore)");
- }
- $d++;
- $alpha = TRUE;
- }
- }
- }
-
- version_prescan_finish:
- while (isSPACE($d)) {
- $d++;
- }
-
- if ($d && !isDIGIT($d) && (! ($d eq ';' || $d eq '}') )) {
- # trailing non-numeric data
- return BADVERSION($s,$errstr,"Invalid version format (non-numeric data)");
- }
-
- if (defined $sqv) {
- $$sqv = $qv;
- }
- if (defined $swidth) {
- $$swidth = $width;
- }
- if (defined $ssaw_decimal) {
- $$ssaw_decimal = $saw_decimal;
- }
- if (defined $salpha) {
- $$salpha = $alpha;
- }
- return $d;
- }
-
- sub scan_version {
- my ($s, $rv, $qv) = @_;
- my $start;
- my $pos;
- my $last;
- my $errstr;
- my $saw_decimal = 0;
- my $width = 3;
- my $alpha = FALSE;
- my $vinf = FALSE;
- my @av;
-
- $s = new charstar $s;
-
- while (isSPACE($s)) { # leading whitespace is OK
- $s++;
- }
-
- $last = prescan_version($s, FALSE, \$errstr, \$qv, \$saw_decimal,
- \$width, \$alpha);
-
- if ($errstr) {
- # 'undef' is a special case and not an error
- if ( $s ne 'undef') {
- use Carp;
- Carp::croak($errstr);
- }
- }
-
- $start = $s;
- if ($s eq 'v') {
- $s++;
- }
- $pos = $s;
-
- if ( $qv ) {
- $$rv->{qv} = $qv;
- }
- if ( $alpha ) {
- $$rv->{alpha} = $alpha;
- }
- if ( !$qv && $width < 3 ) {
- $$rv->{width} = $width;
- }
-
- while (isDIGIT($pos)) {
- $pos++;
- }
- if (!isALPHA($pos)) {
- my $rev;
-
- for (;;) {
- $rev = 0;
- {
- # this is atoi() that delimits on underscores
- my $end = $pos;
- my $mult = 1;
- my $orev;
-
- # the following if() will only be true after the decimal
- # point of a version originally created with a bare
- # floating point number, i.e. not quoted in any way
- #
- if ( !$qv && $s > $start && $saw_decimal == 1 ) {
- $mult *= 100;
- while ( $s < $end ) {
- $orev = $rev;
- $rev += $s * $mult;
- $mult /= 10;
- if ( (abs($orev) > abs($rev))
- || (abs($rev) > $VERSION_MAX )) {
- warn("Integer overflow in version %d",
- $VERSION_MAX);
- $s = $end - 1;
- $rev = $VERSION_MAX;
- $vinf = 1;
- }
- $s++;
- if ( $s eq '_' ) {
- $s++;
- }
- }
- }
- else {
- while (--$end >= $s) {
- $orev = $rev;
- $rev += $end * $mult;
- $mult *= 10;
- if ( (abs($orev) > abs($rev))
- || (abs($rev) > $VERSION_MAX )) {
- warn("Integer overflow in version");
- $end = $s - 1;
- $rev = $VERSION_MAX;
- $vinf = 1;
- }
- }
- }
- }
-
- # Append revision
- push @av, $rev;
- if ( $vinf ) {
- $s = $last;
- last;
- }
- elsif ( $pos eq '.' ) {
- $s = ++$pos;
- }
- elsif ( $pos eq '_' && isDIGIT($pos+1) ) {
- $s = ++$pos;
- }
- elsif ( $pos eq ',' && isDIGIT($pos+1) ) {
- $s = ++$pos;
- }
- elsif ( isDIGIT($pos) ) {
- $s = $pos;
- }
- else {
- $s = $pos;
- last;
- }
- if ( $qv ) {
- while ( isDIGIT($pos) ) {
- $pos++;
- }
- }
- else {
- my $digits = 0;
- while ( ( isDIGIT($pos) || $pos eq '_' ) && $digits < 3 ) {
- if ( $pos ne '_' ) {
- $digits++;
- }
- $pos++;
- }
- }
- }
- }
- if ( $qv ) { # quoted versions always get at least three terms
- my $len = $#av;
- # This for loop appears to trigger a compiler bug on OS X, as it
- # loops infinitely. Yes, len is negative. No, it makes no sense.
- # Compiler in question is:
- # gcc version 3.3 20030304 (Apple Computer, Inc. build 1640)
- # for ( len = 2 - len; len > 0; len-- )
- # av_push(MUTABLE_AV(sv), newSViv(0));
- #
- $len = 2 - $len;
- while ($len-- > 0) {
- push @av, 0;
- }
- }
-
- # need to save off the current version string for later
- if ( $vinf ) {
- $$rv->{original} = "v.Inf";
- $$rv->{vinf} = 1;
- }
- elsif ( $s > $start ) {
- $$rv->{original} = $start->currstr($s);
- if ( $qv && $saw_decimal == 1 && $start ne 'v' ) {
- # need to insert a v to be consistent
- $$rv->{original} = 'v' . $$rv->{original};
- }
- }
- else {
- $$rv->{original} = '0';
- push(@av, 0);
- }
-
- # And finally, store the AV in the hash
- $$rv->{version} = \@av;
-
- # fix RT#19517 - special case 'undef' as string
- if ($s eq 'undef') {
- $s += 5;
- }
-
- return $s;
- }
-
- sub new
- {
- my ($class, $value) = @_;
- my $self = bless ({}, ref ($class) || $class);
- my $qv = FALSE;
-
- if ( ref($value) && eval('$value->isa("version")') ) {
- # Can copy the elements directly
- $self->{version} = [ @{$value->{version} } ];
- $self->{qv} = 1 if $value->{qv};
- $self->{alpha} = 1 if $value->{alpha};
- $self->{original} = ''.$value->{original};
- return $self;
- }
-
- my $currlocale = setlocale(LC_ALL);
-
- # if the current locale uses commas for decimal points, we
- # just replace commas with decimal places, rather than changing
- # locales
- if ( localeconv()->{decimal_point} eq ',' ) {
- $value =~ tr/,/./;
- }
-
- if ( not defined $value or $value =~ /^undef$/ ) {
- # RT #19517 - special case for undef comparison
- # or someone forgot to pass a value
- push @{$self->{version}}, 0;
- $self->{original} = "0";
- return ($self);
- }
-
- if ( $#_ == 2 ) { # must be CVS-style
- $value = $_[2];
- $qv = TRUE;
- }
-
- $value = _un_vstring($value);
-
- # exponential notation
- if ( $value =~ /\d+.?\d*e[-+]?\d+/ ) {
- $value = sprintf("%.9f",$value);
- $value =~ s/(0+)$//; # trim trailing zeros
- }
-
- my $s = scan_version($value, \$self, $qv);
-
- if ($s) { # must be something left over
- warn("Version string '%s' contains invalid data; "
- ."ignoring: '%s'", $value, $s);
- }
-
- return ($self);
- }
-
- *parse = \&new;
-
- sub numify
- {
- my ($self) = @_;
- unless (_verify($self)) {
- require Carp;
- Carp::croak("Invalid version object");
- }
- my $width = $self->{width} || 3;
- my $alpha = $self->{alpha} || "";
- my $len = $#{$self->{version}};
- my $digit = $self->{version}[0];
- my $string = sprintf("%d.", $digit );
-
- for ( my $i = 1 ; $i < $len ; $i++ ) {
- $digit = $self->{version}[$i];
- if ( $width < 3 ) {
- my $denom = 10**(3-$width);
- my $quot = int($digit/$denom);
- my $rem = $digit - ($quot * $denom);
- $string .= sprintf("%0".$width."d_%d", $quot, $rem);
- }
- else {
- $string .= sprintf("%03d", $digit);
- }
- }
-
- if ( $len > 0 ) {
- $digit = $self->{version}[$len];
- if ( $alpha && $width == 3 ) {
- $string .= "_";
- }
- $string .= sprintf("%0".$width."d", $digit);
- }
- else # $len = 0
- {
- $string .= sprintf("000");
- }
-
- return $string;
- }
-
- sub normal
- {
- my ($self) = @_;
- unless (_verify($self)) {
- require Carp;
- Carp::croak("Invalid version object");
- }
- my $alpha = $self->{alpha} || "";
- my $len = $#{$self->{version}};
- my $digit = $self->{version}[0];
- my $string = sprintf("v%d", $digit );
-
- for ( my $i = 1 ; $i < $len ; $i++ ) {
- $digit = $self->{version}[$i];
- $string .= sprintf(".%d", $digit);
- }
-
- if ( $len > 0 ) {
- $digit = $self->{version}[$len];
- if ( $alpha ) {
- $string .= sprintf("_%0d", $digit);
- }
- else {
- $string .= sprintf(".%0d", $digit);
- }
- }
-
- if ( $len <= 2 ) {
- for ( $len = 2 - $len; $len != 0; $len-- ) {
- $string .= sprintf(".%0d", 0);
- }
- }
-
- return $string;
- }
-
- sub stringify
- {
- my ($self) = @_;
- unless (_verify($self)) {
- require Carp;
- Carp::croak("Invalid version object");
- }
- return exists $self->{original}
- ? $self->{original}
- : exists $self->{qv}
- ? $self->normal
- : $self->numify;
- }
-
- sub vcmp
- {
- require UNIVERSAL;
- my ($left,$right,$swap) = @_;
- my $class = ref($left);
- unless ( UNIVERSAL::isa($right, $class) ) {
- $right = $class->new($right);
- }
-
- if ( $swap ) {
- ($left, $right) = ($right, $left);
- }
- unless (_verify($left)) {
- require Carp;
- Carp::croak("Invalid version object");
- }
- unless (_verify($right)) {
- require Carp;
- Carp::croak("Invalid version object");
- }
- my $l = $#{$left->{version}};
- my $r = $#{$right->{version}};
- my $m = $l < $r ? $l : $r;
- my $lalpha = $left->is_alpha;
- my $ralpha = $right->is_alpha;
- my $retval = 0;
- my $i = 0;
- while ( $i <= $m && $retval == 0 ) {
- $retval = $left->{version}[$i] <=> $right->{version}[$i];
- $i++;
- }
-
- # tiebreaker for alpha with identical terms
- if ( $retval == 0
- && $l == $r
- && $left->{version}[$m] == $right->{version}[$m]
- && ( $lalpha || $ralpha ) ) {
-
- if ( $lalpha && !$ralpha ) {
- $retval = -1;
- }
- elsif ( $ralpha && !$lalpha) {
- $retval = +1;
- }
- }
-
- # possible match except for trailing 0's
- if ( $retval == 0 && $l != $r ) {
- if ( $l < $r ) {
- while ( $i <= $r && $retval == 0 ) {
- if ( $right->{version}[$i] != 0 ) {
- $retval = -1; # not a match after all
- }
- $i++;
- }
- }
- else {
- while ( $i <= $l && $retval == 0 ) {
- if ( $left->{version}[$i] != 0 ) {
- $retval = +1; # not a match after all
- }
- $i++;
- }
- }
- }
-
- return $retval;
- }
-
- sub vbool {
- my ($self) = @_;
- return vcmp($self,$self->new("0"),1);
- }
-
- sub vnoop {
- require Carp;
- Carp::croak("operation not supported with version object");
- }
-
- sub is_alpha {
- my ($self) = @_;
- return (exists $self->{alpha});
- }
-
- sub qv {
- my $value = shift;
- my $class = 'version';
- if (@_) {
- $class = ref($value) || $value;
- $value = shift;
- }
-
- $value = _un_vstring($value);
- $value = 'v'.$value unless $value =~ /(^v|\d+\.\d+\.\d)/;
- my $version = $class->new($value);
- return $version;
- }
-
- *declare = \&qv;
-
- sub is_qv {
- my ($self) = @_;
- return (exists $self->{qv});
- }
-
-
- sub _verify {
- my ($self) = @_;
- if ( ref($self)
- && eval { exists $self->{version} }
- && ref($self->{version}) eq 'ARRAY'
- ) {
- return 1;
- }
- else {
- return 0;
- }
- }
-
- sub _is_non_alphanumeric {
- my $s = shift;
- $s = new charstar $s;
- while ($s) {
- return 0 if isSPACE($s); # early out
- return 1 unless (isALPHA($s) || isDIGIT($s) || $s =~ /[.-]/);
- $s++;
- }
- return 0;
- }
-
- sub _un_vstring {
- my $value = shift;
- # may be a v-string
- if ( length($value) >= 3 && $value !~ /[._]/
- && _is_non_alphanumeric($value)) {
- my $tvalue;
- if ( $] ge 5.008_001 ) {
- $tvalue = _find_magic_vstring($value);
- $value = $tvalue if length $tvalue;
- }
- elsif ( $] ge 5.006_000 ) {
- $tvalue = sprintf("v%vd",$value);
- if ( $tvalue =~ /^v\d+(\.\d+){2,}$/ ) {
- # must be a v-string
- $value = $tvalue;
- }
- }
- }
- return $value;
- }
-
- sub _find_magic_vstring {
- my $value = shift;
- my $tvalue = '';
- require B;
- my $sv = B::svref_2object(\$value);
- my $magic = ref($sv) eq 'B::PVMG' ? $sv->MAGIC : undef;
- while ( $magic ) {
- if ( $magic->TYPE eq 'V' ) {
- $tvalue = $magic->PTR;
- $tvalue =~ s/^v?(.+)$/v$1/;
- last;
- }
- else {
- $magic = $magic->MOREMAGIC;
- }
- }
- return $tvalue;
- }
-
- sub _VERSION {
- my ($obj, $req) = @_;
- my $class = ref($obj) || $obj;
-
- no strict 'refs';
- if ( exists $INC{"$class.pm"} and not %{"$class\::"} and $] >= 5.008) {
- # file but no package
- require Carp;
- Carp::croak( "$class defines neither package nor VERSION"
- ."--version check failed");
- }
-
- my $version = eval "\$$class\::VERSION";
- if ( defined $version ) {
- local $^W if $] <= 5.008;
- $version = version::vpp->new($version);
- }
-
- if ( defined $req ) {
- unless ( defined $version ) {
- require Carp;
- my $msg = $] < 5.006
- ? "$class version $req required--this is only version "
- : "$class does not define \$$class\::VERSION"
- ."--version check failed";
-
- if ( $ENV{VERSION_DEBUG} ) {
- Carp::confess($msg);
- }
- else {
- Carp::croak($msg);
- }
- }
-
- $req = version::vpp->new($req);
-
- if ( $req > $version ) {
- require Carp;
- if ( $req->is_qv ) {
- Carp::croak(
- sprintf ("%s version %s required--".
- "this is only version %s", $class,
- $req->normal, $version->normal)
- );
- }
- else {
- Carp::croak(
- sprintf ("%s version %s required--".
- "this is only version %s", $class,
- $req->stringify, $version->stringify)
- );
- }
- }
- }
-
- return defined $version ? $version->stringify : undef;
- }
-
- 1; #this line is important and will help the module return a true value
-VERSION_VPP
-
-s/^ //mg for values %fatpacked;
-
-unshift @INC, sub {
- if (my $fat = $fatpacked{$_[1]}) {
- open my $fh, '<', \$fat
- or die "FatPacker error loading $_[1] (could be a perl installation issue?)";
- return $fh;
- }
- return
-};
-
-} # END OF FATPACK CODE
-
-use strict;
-use App::cpanminus::script;
-
-unless (caller) {
- my $app = App::cpanminus::script->new;
- $app->parse_options(@ARGV);
- $app->doit or exit(1);
-}
-
-__END__
-
-=head1 NAME
-
-cpanm - get, unpack build and install modules from CPAN
-
-=head1 SYNOPSIS
-
- cpanm Test::More # install Test::More
- cpanm MIYAGAWA/Plack-0.99_05.tar.gz # full distribution path
- cpanm http://example.org/LDS/CGI.pm-3.20.tar.gz # install from URL
- cpanm ~/dists/MyCompany-Enterprise-1.00.tar.gz # install from a local file
- cpanm --interactive Task::Kensho # Configure interactively
- cpanm . # install from local directory
- cpanm --installdeps . # install all the deps for the current directory
- cpanm -L extlib Plack # install Plack and all non-core deps into extlib
- cpanm --mirror http://cpan.cpantesters.org/ DBI # use the fast-syncing mirror
- cpanm --scandeps Moose # See what modules will be installed for Moose
-
-=head1 COMMANDS
-
-=over 4
-
-=item -i, --install
-
-Installs the modules. This is a default behavior and this is just a
-compatibility option to make it work like L<cpan> or L<cpanp>.
-
-=item --self-upgrade
-
-Upgrades itself. It's just an alias for:
-
- cpanm App::cpanminus
-
-=item --info
-
-Displays the distribution information in
-C<AUTHOR/Dist-Name-ver.tar.gz> format in the standard out.
-
-=item --installdeps
-
-Installs the dependencies of the target distribution but won't build
-itself. Handy if you want to try the application from a version
-controlled repository such as git.
-
- cpanm --installdeps .
-
-=item --look
-
-Download and unpack the distribution and then open the directory with
-your shell. Handy to poke around the source code or do the manual
-testing.
-
-=item -h, --help
-
-Displays the help message.
-
-=item -V, --version
-
-Displays the version number.
-
-=back
-
-=head1 OPTIONS
-
-You can specify the default options in C<PERL_CPANM_OPT> environment variable.
-
-=over 4
-
-=item -f, --force
-
-Force install modules even when testing failed.
-
-=item -n, --notest
-
-Skip the testing of modules. Use this only when you just want to save
-time for installing hundreds of distributions to the same perl and
-architecture you've already tested to make sure it builds fine.
-
-Defaults to false, and you can say C<--no-notest> to override when it
-is set in the default options in C<PERL_CPANM_OPT>.
-
-=item -S, --sudo
-
-Switch to the root user with C<sudo> when installing modules. Use this
-if you want to install modules to the system perl include path.
-
-Defaults to false, and you can say C<--no-sudo> to override when it is
-set in the default options in C<PERL_CPANM_OPT>.
-
-=item -v, --verbose
-
-Makes the output verbose. It also enables the interactive
-configuration. (See --interactive)
-
-=item -q, --quiet
-
-Makes the output even more quiet than the default. It doesn't print
-anything to the STDERR.
-
-=item -l, --local-lib
-
-Sets the L<local::lib> compatible path to install modules to. You
-don't need to set this if you already configure the shell environment
-variables using L<local::lib>, but this can be used to override that
-as well.
-
-=item -L, --local-lib-contained
-
-Same with C<--local-lib> but when examining the dependencies, it
-assumes no non-core modules are installed on the system. It's handy if
-you want to bundle application dependencies in one directory so you
-can distribute to other machines.
-
-For instance,
-
- cpanm -L extlib Plack
-
-would install Plack and all of its non-core dependencies into the
-directory C<extlib>, which can be loaded from your application with:
-
- use local::lib '/path/to/extlib';
-
-=item --mirror
-
-Specifies the base URL for the CPAN mirror to use, such as
-C<http://cpan.cpantesters.org/> (you can omit the trailing slash). You
-can specify multiple mirror URLs by repeating the command line option.
-
-Defaults to C<http://search.cpan.org/CPAN> which is a geo location
-aware redirector.
-
-=item --mirror-only
-
-Download the mirror's 02packages.details.txt.gz index file instead of
-querying the CPAN Meta DB.
-
-Select this option if you are using a local mirror of CPAN, such as
-minicpan when you're offline, or your own CPAN index (a.k.a darkpan).
-
-B<Tip:> It might be useful if you name these mirror options with your
-shell aliases, like:
-
- alias minicpanm='cpanm --mirror ~/minicpan --mirror-only'
- alias darkpan='cpanm --mirror http://mycompany.example.com/DPAN --mirror-only'
-
-=item --prompt
-
-Prompts when a test fails so that you can skip, force install, retry
-or look in the shell to see what's going wrong. It also prompts when
-one of the dependency failed if you want to proceed the installation.
-
-Defaults to false, and you can say C<--no-prompt> to override if it's
-set in the default options in C<PERL_CPANM_OPT>.
-
-=item --reinstall
-
-cpanm, when given a module name in the command line (i.e. C<cpanm
-Plack>), checks the locally installed version first and skips if it is
-already installed. This option makes it skip the check, so:
-
- cpanm --reinstall Plack
-
-would reinstall L<Plack> even if your locally installed version is
-latest, or even newer (which would happen if you install a developer
-release from version control repositories).
-
-Defaults to false.
-
-=item --interactive
-
-Makes the configuration (such as C<Makefile.PL> and C<Build.PL>)
-interactive, so you can answer questions in the distribution that
-requires custom configuration or Task:: distributions.
-
-Defaults to false, and you can say C<--no-interactive> to override
-when it's set in the default options in C<PERL_CPANM_OPT>.
-
-=item --scandeps
-
-Scans the depencencies of given modules and output the tree in a text
-format. (See C<--format> below for more options)
-
-Because this command doesn't actually install any distributions, it
-will be useful that by typing:
-
- cpanm --scandeps Catalyst::Runtime
-
-you can make sure what modules will be installed.
-
-This command takes into account which modules you already have
-installed in your system. If you want to see what modules will be
-installed against a vanilla perl installation, you might want to
-combine it with C<-L> option.
-
-=item --format
-
-Determines what format to display the scanned dependency
-tree. Available options are C<tree>, C<json>, C<yaml> and C<dists>.
-
-=over 8
-
-=item tree
-
-Displays the tree in a plain text format. This is the default value.
-
-=item json, yaml
-
-Outputs the tree in a JSON or YAML format. L<JSON> and L<YAML> modules
-need to be installed respectively. The output tree is represented as a
-recursive tuple of:
-
- [ distribution, dependencies ]
-
-and the container is an array containing the root elements. Note that
-there may be multiple root nodes, since you can give multiple modules
-to the C<--scandeps> command.
-
-=item dists
-
-C<dists> is a special output format, where it prints the distribution
-filename in the I<depth first order> after the dependency resolution,
-like:
-
- GAAS/MIME-Base64-3.13.tar.gz
- GAAS/URI-1.58.tar.gz
- PETDANCE/HTML-Tagset-3.20.tar.gz
- GAAS/HTML-Parser-3.68.tar.gz
- GAAS/libwww-perl-5.837.tar.gz
-
-which means you can install these distributions in this order without
-extra dependencies. When combined with C<-L> option, it will be useful
-to replay installations on other machines.
-
-=back
-
-=item --save-dists
-
-Specifies the optional directory path to copy downloaded tarballs in
-the CPAN mirror compatible directory structure
-i.e. I<authors/id/A/AU/AUTHORS/Foo-Bar-version.tar.gz>
-
-=item --uninst-shadows
-
-Uninstalls the shadow files of the distribution that you're
-installing. This eliminates the confusion if you're trying to install
-core (dual-life) modules from CPAN against perl 5.10 or older, or
-modules that used to be XS-based but switched to pure perl at some
-version.
-
-If you run cpanm as root and use C<INSTALL_BASE> or equivalent to
-specify custom installation path, you SHOULD disable this option so
-you won't accidentally uninstall dual-life modules from the core
-include path.
-
-Defaults to true if your perl version is smaller than 5.12, and you
-can disable that with C<--no-uninst-shadows>.
-
-B<NOTE>: Since version 1.3000 this flag is turned off by default for
-perl newer than 5.12, since with 5.12 @INC contains site_perl directory
-I<before> the perl core library path, and uninstalling shadows is not
-necessary anymore and does more harm by deleting files from the core
-library path.
-
-=item --auto-cleanup
-
-Specifies the number of days in whcih cpanm's work directories
-expire. Defaults to 7, which means old work directories will be
-cleaned up in one week.
-
-You can set the value to C<0> to make cpan never cleanup those
-directories.
-
-=item --man-pages
-
-Generates man pages for executables (man1) and libraries (man3).
-
-Defaults to false (no man pages generated) if
-C<-L|--local-lib-contained> option is supplied. Otherwise, defaults to
-true, and you can disable it with C<--no-man-pages>.
-
-=item --lwp
-
-Uses L<LWP> module to download stuff over HTTP. Defaults to true, and
-you can say C<--no-lwp> to disable using LWP, when you want to upgrade
-LWP from CPAN on some broken perl systems.
-
-=item --wget
-
-Uses GNU Wget (if available) to download stuff. Defaults to true, and
-you can say C<--no-wget> to disable using Wget (versions of Wget older
-than 1.9 don't support the C<--retry-connrefused> option used by cpanm).
-
-=item --curl
-
-Uses cURL (if available) to download stuff. Defaults to true, and
-you can say C<--no-curl> to disable using cURL.
-
-Normally with C<--lwp>, C<--wget> and C<--curl> options set to true
-(which is the default) cpanm tries L<LWP>, Wget, cURL and L<HTTP::Tiny>
-(in that order) and uses the first one available.
-
-=back
-
-=head1 SEE ALSO
-
-L<App::cpanminus>
-
-=head1 COPYRIGHT
-
-Copyright 2010 Tatsuhiko Miyagawa.
-
-=head1 AUTHOR
-
-Tatsuhiko Miyagawa
-
-=cut
diff --git a/perl-external/bin/module-manage.pl b/perl-external/bin/module-manage.pl
deleted file mode 100755
index 5e826aabf..000000000
--- a/perl-external/bin/module-manage.pl
+++ /dev/null
@@ -1,265 +0,0 @@
-#!/usr/bin/env perl
-
-use strict;
-use warnings;
-
-use IPC::Run3;
-use LWP::Simple;
-use File::Slurp;
-use Path::Class;
-use List::MoreUtils 'uniq';
-
-# TODO - 'updates' action that lists packages that could be updated
-# TODO - add smarts to strip out old packages (could switch to building using files.txt after)
-
-my $root_dir = file(__FILE__)->dir->parent->absolute->stringify;
-my $module_list = "$root_dir/modules.txt";
-my $file_list = "$root_dir/files.txt";
-my $minicpan = "$root_dir/minicpan";
-my $local_packages_file = "$minicpan/modules/02packages.details.txt";
-my $local_packages_file_gz = "$local_packages_file.gz";
-
-my %actions = (
- add => \&add,
- build_all => \&build_all,
- fetch_all => \&fetch_all,
- force_install => \&force_install,
- index_minicpan => \&index_minicpan,
- init => \&init,
- setup => \&setup,
- sort_files => \&sort_files,
- zap => \&zap,
-);
-
-# work out what to run
-my ( $action, @args ) = @ARGV;
-$actions{$action}
- ? $actions{$action}->(@args)
- : die("Usage: $0 action [...]\n actions: "
- . join( ', ', sort keys %actions )
- . "\n" );
-
-exit;
-
-############################################################################
-
-sub init {
- add('App::cpanminus');
-}
-
-sub setup {
- fetch_all();
- build('App::cpanminus');
- build_all();
-}
-
-sub add {
- my $module = shift || die "Usage: $0 add Dist::To::Add";
-
- # try to install the distribution using cpanm
- my $out = '';
- my $cmd = "cpanm --reinstall --save-dists $minicpan $module";
-
- run3( $cmd, undef, undef, undef )
- || die "Error running '$cmd'";
-
- write_file( $module_list, { append => 1 }, "$module\n" );
-
- index_minicpan();
- sort_files();
-}
-
-sub index_minicpan {
-
- # Go through all files in minicpan and add to files.txt
- my @files = sort map { s{^.*?(/authors/id/.*)$}{$1}; $_ }
- split '\s', `find $minicpan/authors -type f`;
- write_file( $file_list, map { "$_\n" } @files );
-
- # work out which ones are not currently in packages
- my @local_packages_lines = read_packages_txt_gz($local_packages_file_gz);
-
- # Are there any missing files?
- my @missing_files = ();
- MINICPAN_FILE:
- foreach my $file (@files) {
- my ($auth_and_file) = $file =~ m{/authors/id/./../(.*)$};
-
- foreach my $line (@local_packages_lines) {
- next MINICPAN_FILE if $line =~ m{$auth_and_file};
- }
-
- push @missing_files, $auth_and_file;
- }
-
- # If there are no missing files we can stop
- return unless @missing_files;
-
- # Fetch 02packages off live cpan
- my $remote_packages_url =
- 'http://cpan.perl.org/modules/02packages.details.txt.gz';
- my $remote_packages_file = "$minicpan/modules/remote_packages.txt.gz";
- print " Fetching '$remote_packages_url'...\n";
- is_error( mirror( $remote_packages_url, $remote_packages_file ) )
- && die "Could not retrieve '$remote_packages_url'";
- print " done...\n";
-
- my @remote_packages_lines = read_packages_txt_gz($remote_packages_file);
-
- # Find remaining in live file and add to local file
- my %lines_to_add = ();
- foreach my $missing (@missing_files) {
- print " Finding matches for '$missing'\n";
- my @matches = grep { m{$missing} } @remote_packages_lines;
- next unless @matches;
- $lines_to_add{$missing} = \@matches;
- }
-
- # for packages still not found parse out the contents
- foreach my $missing (@missing_files) {
- next if $lines_to_add{$missing};
-
- # do a require here so that this module does not prevent 'setup' from
- # being run - needed to install it.
- require CPAN::ParseDistribution;
-
- print " Parsing out matches for '$missing'\n";
-
- my ( $A, $B ) = $missing =~ m{^(.)(.)};
- my $dist =
- CPAN::ParseDistribution->new("$minicpan/authors/id/$A/$A$B/$missing");
-
- my $modules = $dist->modules();
- my @matches = ();
-
- foreach my $module ( sort keys %$modules ) {
- my $version = $modules->{$module} || 'undef';
-
- # Zucchini 0.000017 C/CH/CHISEL/Zucchini-0.0.17.tar.gz
- push @matches, "$module $version $A/$A$B/$missing\n";
- }
-
- $lines_to_add{$missing} = \@matches;
- }
-
- # combine and sort the lines found
- my @new_lines = sort @local_packages_lines,
- map { @$_ } values %lines_to_add;
- unlink $local_packages_file_gz;
- write_file( $local_packages_file, map { "$_\n" } packages_file_headers(),
- @new_lines );
- system "gzip -v $local_packages_file";
-}
-
-sub read_packages_txt_gz {
- my $file = shift;
-
- return unless -e $file;
-
- my @lines = split /\n/, `zcat $file`;
-
- # ditch the headers
- while ( my $line = shift @lines ) {
- last if $line =~ m{^\s*$};
- }
-
- return @lines;
-}
-
-sub packages_file_headers {
-
- # this is all fake stuff
-
- return << 'END_OF_LINES';
-Allow-Packages-Only-Once: 0
-Columns: package name, version, path
-Description: Package names for my private CPAN
-File: 02packages.details.txt
-Intended-For: My private CPAN
-Last-Updated: Wed, 04 May 2011 09:59:13 GMT
-Line-Count: 1389
-URL: http://example.com/MyCPAN/modules/02packages.details.txt
-Written-By: /home/evdb/fixmystreet/perl-external/local-lib/bin/dpan using CPAN::PackageDetails 0.25
-
-END_OF_LINES
-}
-
-sub build_all {
- my @modules = sort uniq map { s{\s+$}{}; $_; } read_file($module_list);
- build($_) for @modules;
-}
-
-sub build {
- my $module = shift #
- || die "Usage: $0 build Module::To::Build\n";
-
- print " --- checking/installing $module ---\n";
-
- my $out = '';
- my $cmd = "cpanm --mirror $minicpan --mirror-only $module";
-
- # print " running '$cmd'\n";
-
- run3( $cmd, undef, \$out, \$out )
- || die "Error running '$cmd'";
-
- my @lines =
- grep { m{\S} }
- split /\n+/, $out;
- my $last_line = $lines[-1];
-
- die "Error building '$module':\n\n$last_line\n\n$out\n\n"
- unless $last_line =~ m{Successfully installed }
- || $last_line =~ m{is up to date}
- || $last_line =~ m{\d+ distributions? installed};
-}
-
-sub fetch_all {
- my @urls = sort uniq map { s{\s+$}{}; $_; } read_file($file_list);
- fetch($_) for @urls;
-}
-
-sub fetch {
- my $filename = shift;
-
- my $destination = file("$minicpan/$filename");
- $destination->dir->mkpath;
-
- return if -e $destination;
-
- # create a list of urls to try in order
- my @urls = (
- "http://search.cpan.org/CPAN" . $filename,
- "http://backpan.perl.org" . $filename,
- );
-
- while ( scalar @urls ) {
- my $url = shift @urls;
-
- # try to fetch
- print " Fetching '$url'...\n";
- last if is_success( getstore( $url, "$destination" ) );
-
- # if more options try again
- next if scalar @urls;
-
- # could not retrieve - die
- die "ERROR - ran out of urls fetching '$filename'";
- }
-}
-
-sub zap {
-
- # delete all the bits that are generated
- my $local_lib_root = $ENV{PERL_LOCAL_LIB_ROOT} || die;
- dir($local_lib_root)->rmtree(1);
- dir($minicpan)->subdir('authors')->rmtree(1);
-}
-
-sub sort_files {
- foreach my $file ( $file_list, $module_list ) {
- my @entries = read_file($file);
- @entries = uniq sort @entries;
- write_file( $file, @entries );
- }
-}
diff --git a/perl-external/files.txt b/perl-external/files.txt
deleted file mode 100644
index 781a2564e..000000000
--- a/perl-external/files.txt
+++ /dev/null
@@ -1,261 +0,0 @@
-/authors/id/A/AB/ABRAXXA/Catalyst-View-TT-0.36.tar.gz
-/authors/id/A/AB/ABRAXXA/DBIx-Class-0.08127.tar.gz
-/authors/id/A/AB/ABW/AppConfig-1.66.tar.gz
-/authors/id/A/AB/ABW/Template-Toolkit-2.22.tar.gz
-/authors/id/A/AC/ACALPINI/Lingua-Stem-It-0.02.tar.gz
-/authors/id/A/AC/ACOBURN/Lingua-EN-Tagger-0.16.tar.gz
-/authors/id/A/AD/ADAMK/Archive-Zip-1.30.tar.gz
-/authors/id/A/AD/ADAMK/Class-Inspector-1.25.tar.gz
-/authors/id/A/AD/ADAMK/DBD-SQLite-1.31.tar.gz
-/authors/id/A/AD/ADAMK/File-Remove-1.48.tar.gz
-/authors/id/A/AD/ADAMK/File-ShareDir-1.03.tar.gz
-/authors/id/A/AD/ADAMK/Module-Install-1.00.tar.gz
-/authors/id/A/AD/ADAMK/Object-Signature-1.05.tar.gz
-/authors/id/A/AD/ADAMK/PPI-1.215.tar.gz
-/authors/id/A/AD/ADAMK/Params-Util-1.03.tar.gz
-/authors/id/A/AD/ADAMK/Task-Weaken-1.04.tar.gz
-/authors/id/A/AD/ADAMK/Test-NoWarnings-1.02.tar.gz
-/authors/id/A/AD/ADAMK/Test-Object-0.07.tar.gz
-/authors/id/A/AD/ADAMK/Test-SubCalls-1.09.tar.gz
-/authors/id/A/AD/ADAMK/YAML-Tiny-1.48.tar.gz
-/authors/id/A/AD/ADIE/Test-Exception-0.31.tar.gz
-/authors/id/A/AL/ALEXP/Net-Domain-TLD-1.68.tar.gz
-/authors/id/A/AL/ALGDR/Lingua-Stem-Ru-0.01.tar.gz
-/authors/id/A/AN/ANDK/CPAN-Checksums-2.07.tar.gz
-/authors/id/A/AN/ANDYA/CGI-Simple-1.113.tar.gz
-/authors/id/A/AN/ANDYA/Test-Harness-3.23.tar.gz
-/authors/id/A/AR/ARJAY/Compress-Bzip2-2.09.tar.gz
-/authors/id/A/AS/ASKSH/Snowball-Norwegian-1.2.tar.gz
-/authors/id/A/AS/ASKSH/Snowball-Swedish-1.2.tar.gz
-/authors/id/A/AU/AUDREYT/Test-use-ok-0.02.tar.gz
-/authors/id/B/BD/BDFOY/CPAN-PackageDetails-0.25.tar.gz
-/authors/id/B/BD/BDFOY/ConfigReader-Simple-1.28.tar.gz
-/authors/id/B/BD/BDFOY/Distribution-Guess-BuildSystem-0.12.tar.gz
-/authors/id/B/BD/BDFOY/File-Find-Closures-1.09.tar.gz
-/authors/id/B/BD/BDFOY/Module-Extract-Namespaces-0.14.tar.gz
-/authors/id/B/BD/BDFOY/Module-Extract-Use-0.17.tar.gz
-/authors/id/B/BD/BDFOY/Module-Extract-VERSION-0.13.tar.gz
-/authors/id/B/BD/BDFOY/MyCPAN-App-DPAN-1.28.tar.gz
-/authors/id/B/BD/BDFOY/MyCPAN-Indexer-1.28.tar.gz
-/authors/id/B/BD/BDFOY/Test-Output-0.16.tar.gz
-/authors/id/B/BI/BINGOS/Archive-Tar-1.76.tar.gz
-/authors/id/B/BI/BINGOS/Module-CoreList-2.45.tar.gz
-/authors/id/B/BO/BOBTFISH/Catalyst-Action-RenderView-0.16.tar.gz
-/authors/id/B/BO/BOBTFISH/Catalyst-Authentication-Store-DBIx-Class-0.1401.tar.gz
-/authors/id/B/BO/BOBTFISH/Catalyst-Devel-1.31.tar.gz
-/authors/id/B/BO/BOBTFISH/Catalyst-Model-Adaptor-0.10.tar.gz
-/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Authentication-0.10017.tar.gz
-/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Session-0.31.tar.gz
-/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Session-Store-Delegate-0.06.tar.gz
-/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Unicode-0.93.tar.gz
-/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Unicode-Encoding-1.1.tar.gz
-/authors/id/B/BO/BOBTFISH/Catalyst-Runtime-5.80032.tar.gz
-/authors/id/B/BO/BOBTFISH/CatalystX-Component-Traits-0.16.tar.gz
-/authors/id/B/BO/BOBTFISH/MooseX-Getopt-0.35.tar.gz
-/authors/id/B/BO/BOBTFISH/Test-WWW-Mechanize-Catalyst-0.53.tar.gz
-/authors/id/B/BO/BOBTFISH/namespace-autoclean-0.12.tar.gz
-/authors/id/B/BP/BPOWERS/Memoize-ExpireLRU-0.55.tar.gz
-/authors/id/B/BR/BRICAS/Catalyst-Plugin-ConfigLoader-0.30.tar.gz
-/authors/id/B/BR/BRICAS/Config-Any-0.20.tar.gz
-/authors/id/C/CH/CHOCOLATE/Scope-Guard-0.20.tar.gz
-/authors/id/C/CH/CHORNY/Hook-LexWrap-0.24.tar.gz
-/authors/id/C/CH/CHORNY/Test-Warn-0.23.tar.gz
-/authors/id/C/CH/CHORNY/Tie-IxHash-1.22.tar.gz
-/authors/id/C/CI/CINE/Lingua-Stem-Snowball-Da-1.01.tar.gz
-/authors/id/C/CK/CKRAS/DateTime-Format-HTTP-0.40.tar.gz
-/authors/id/C/CO/COGENT/Tree-DAG_Node-1.06.tar.gz
-/authors/id/C/CO/CORION/parent-0.225.tar.gz
-/authors/id/C/CR/CRENZ/Module-Find-0.10.tar.gz
-/authors/id/D/DA/DAGOLDEN/CPAN-Meta-2.110580.tar.gz
-/authors/id/D/DA/DAGOLDEN/CPAN-Meta-YAML-0.003.tar.gz
-/authors/id/D/DA/DAGOLDEN/ExtUtils-CBuilder-0.280202.tar.gz
-/authors/id/D/DA/DAGOLDEN/ExtUtils-ParseXS-2.2206.tar.gz
-/authors/id/D/DA/DAGOLDEN/Module-Build-0.3800.tar.gz
-/authors/id/D/DA/DAGOLDEN/Module-Metadata-1.000004.tar.gz
-/authors/id/D/DA/DAGOLDEN/Parse-CPAN-Meta-1.4401.tar.gz
-/authors/id/D/DA/DAGOLDEN/Perl-OSType-1.002.tar.gz
-/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.22.tar.gz
-/authors/id/D/DC/DCANTRELL/CPAN-ParseDistribution-1.3.tar.gz
-/authors/id/D/DC/DCANTRELL/Data-Compare-1.22.tar.gz
-/authors/id/D/DC/DCONWAY/Lingua-EN-Inflect-1.893.tar.gz
-/authors/id/D/DL/DLAND/File-Path-2.08.tar.gz
-/authors/id/D/DL/DLUX/Parallel-ForkManager-0.7.9.tar.gz
-/authors/id/D/DM/DMAKI/DateTime-Format-Pg-0.16005.tar.gz
-/authors/id/D/DM/DMUEY/File-Copy-Recursive-0.38.tar.gz
-/authors/id/D/DM/DMUEY/Hash-Merge-0.12.tar.gz
-/authors/id/D/DO/DOY/Dist-CheckConflicts-0.02.tar.gz
-/authors/id/D/DO/DOY/Package-Stash-0.26.tar.gz
-/authors/id/D/DO/DOY/Package-Stash-XS-0.22.tar.gz
-/authors/id/D/DO/DOY/Try-Tiny-0.09.tar.gz
-/authors/id/D/DR/DROLSKY/Class-Factory-Util-1.7.tar.gz
-/authors/id/D/DR/DROLSKY/DateTime-0.70.tar.gz
-/authors/id/D/DR/DROLSKY/DateTime-Format-Builder-0.80.tar.gz
-/authors/id/D/DR/DROLSKY/DateTime-Format-Strptime-1.5000.tar.gz
-/authors/id/D/DR/DROLSKY/DateTime-Locale-0.45.tar.gz
-/authors/id/D/DR/DROLSKY/DateTime-TimeZone-1.34.tar.gz
-/authors/id/D/DR/DROLSKY/File-ChangeNotify-0.19.tar.gz
-/authors/id/D/DR/DROLSKY/File-Slurp-9999.13.tar.gz
-/authors/id/D/DR/DROLSKY/Moose-1.24.tar.gz
-/authors/id/D/DR/DROLSKY/MooseX-Params-Validate-0.16.tar.gz
-/authors/id/D/DR/DROLSKY/MooseX-SemiAffordanceAccessor-0.09.tar.gz
-/authors/id/D/DR/DROLSKY/MooseX-Types-0.25.tar.gz
-/authors/id/D/DR/DROLSKY/Package-DeprecationManager-0.10.tar.gz
-/authors/id/D/DR/DRTECH/Locale-Maketext-Lexicon-0.86.tar.gz
-/authors/id/F/FD/FDALY/Test-Tester-0.107.tar.gz
-/authors/id/F/FE/FERREIRA/Devel-Hide-0.0008.tar.gz
-/authors/id/F/FE/FERREIRA/Exporter-5.63.tar.gz
-/authors/id/F/FE/FERREIRA/Term-Size-Any-0.001.tar.gz
-/authors/id/F/FE/FERREIRA/Term-Size-Perl-0.029.tar.gz
-/authors/id/F/FL/FLORA/B-Hooks-EndOfScope-0.09.tar.gz
-/authors/id/F/FL/FLORA/Catalyst-Plugin-Session-Store-DBIC-0.11.tar.gz
-/authors/id/F/FL/FLORA/Class-C3-0.23.tar.gz
-/authors/id/F/FL/FLORA/Class-C3-Adopt-NEXT-0.13.tar.gz
-/authors/id/F/FL/FLORA/Class-MOP-1.12.tar.gz
-/authors/id/F/FL/FLORA/Data-Visitor-0.27.tar.gz
-/authors/id/F/FL/FLORA/Devel-GlobalDestruction-0.03.tar.gz
-/authors/id/F/FL/FLORA/HTTP-Request-AsCGI-1.2.tar.gz
-/authors/id/F/FL/FLORA/MRO-Compat-0.11.tar.gz
-/authors/id/F/FL/FLORA/MooseX-Emulate-Class-Accessor-Fast-0.00903.tar.gz
-/authors/id/F/FL/FLORA/MooseX-MethodAttributes-0.24.tar.gz
-/authors/id/F/FL/FLORA/MooseX-Role-WithOverloading-0.09.tar.gz
-/authors/id/F/FL/FLORA/Sub-Name-0.05.tar.gz
-/authors/id/F/FL/FLORA/namespace-clean-0.20.tar.gz
-/authors/id/F/FR/FREW/Data-Dumper-Concise-2.020.tar.gz
-/authors/id/F/FR/FREW/SQL-Abstract-1.72.tar.gz
-/authors/id/G/GA/GAAS/Data-Dump-1.19.tar.gz
-/authors/id/G/GA/GAAS/Digest-HMAC-1.02.tar.gz
-/authors/id/G/GA/GAAS/Encode-Locale-1.01.tar.gz
-/authors/id/G/GA/GAAS/File-Listing-6.00.tar.gz
-/authors/id/G/GA/GAAS/HTML-Form-6.00.tar.gz
-/authors/id/G/GA/GAAS/HTML-Parser-3.68.tar.gz
-/authors/id/G/GA/GAAS/HTTP-Cookies-6.00.tar.gz
-/authors/id/G/GA/GAAS/HTTP-Daemon-6.00.tar.gz
-/authors/id/G/GA/GAAS/HTTP-Date-6.00.tar.gz
-/authors/id/G/GA/GAAS/HTTP-Message-6.01.tar.gz
-/authors/id/G/GA/GAAS/HTTP-Negotiate-6.00.tar.gz
-/authors/id/G/GA/GAAS/IO-String-1.08.tar.gz
-/authors/id/G/GA/GAAS/LWP-MediaTypes-6.01.tar.gz
-/authors/id/G/GA/GAAS/Net-HTTP-6.00.tar.gz
-/authors/id/G/GA/GAAS/URI-1.58.tar.gz
-/authors/id/G/GA/GAAS/WWW-RobotRules-6.00.tar.gz
-/authors/id/G/GA/GAAS/libwww-perl-6.01.tar.gz
-/authors/id/G/GA/GAAS/libwww-perl-6.02.tar.gz
-/authors/id/G/GB/GBARR/CPAN-DistnameInfo-0.12.tar.gz
-/authors/id/G/GB/GBARR/Scalar-List-Utils-1.23.tar.gz
-/authors/id/G/GE/GETTY/HTTP-Body-1.11.tar.gz
-/authors/id/G/GR/GRODITI/MooseX-Types-Common-0.001002.tar.gz
-/authors/id/G/GR/GROMMEL/Math-Round-0.06.tar.gz
-/authors/id/G/GW/GWILLIAMS/DateTime-Format-W3CDTF-0.06.tar.gz
-/authors/id/I/IL/ILMARI/Class-Unload-0.07.tar.gz
-/authors/id/I/IN/INGY/Spiffy-0.30.tar.gz
-/authors/id/I/IN/INGY/Test-Base-0.59.tar.gz
-/authors/id/J/JE/JESSE/HTTP-Server-Simple-0.43.tar.gz
-/authors/id/J/JE/JESSE/HTTP-Server-Simple-0.44.tar.gz
-/authors/id/J/JH/JHOBLITT/DateTime-Format-ISO8601-0.07.tar.gz
-/authors/id/J/JP/JPEACOCK/version-0.88.tar.gz
-/authors/id/J/JR/JROCKWAY/Context-Preserve-0.01.tar.gz
-/authors/id/J/JR/JROCKWAY/Template-Plugin-DateTime-Format-0.02.tar.gz
-/authors/id/K/KA/KASEI/Class-Accessor-0.34.tar.gz
-/authors/id/K/KW/KWILLIAMS/Path-Class-0.23.tar.gz
-/authors/id/K/KW/KWILLIAMS/Probe-Perl-0.01.tar.gz
-/authors/id/L/LB/LBROCARD/Data-Page-2.02.tar.gz
-/authors/id/M/MA/MAKAMAKA/JSON-2.51.tar.gz
-/authors/id/M/MA/MAKAMAKA/JSON-PP-2.27105.tar.gz
-/authors/id/M/MA/MANU/Net-IP-1.25.tar.gz
-/authors/id/M/MA/MARKOV/MIME-Types-1.31.tar.gz
-/authors/id/M/MA/MAUKE/Dir-Self-0.10.tar.gz
-/authors/id/M/MH/MHX/Devel-PPPort-3.19.tar.gz
-/authors/id/M/MI/MIROD/HTML-TreeBuilder-XPath-0.12.tar.gz
-/authors/id/M/MI/MIROD/XML-XPathEngine-0.12.tar.gz
-/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.4004.tar.gz
-/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.4007.tar.gz
-/authors/id/M/MI/MIYAGAWA/HTML-Selector-XPath-0.07.tar.gz
-/authors/id/M/MI/MIYAGAWA/Template-Plugin-Comma-0.04.tar.gz
-/authors/id/M/MI/MIYAGAWA/Web-Scraper-0.34.tar.gz
-/authors/id/M/ML/MLEHMANN/JSON-XS-2.3.tar.gz
-/authors/id/M/ML/MLEHMANN/common-sense-3.4.tar.gz
-/authors/id/M/MR/MRAMBERG/Text-SimpleTable-2.03.tar.gz
-/authors/id/M/MS/MSCHILLI/Log-Log4perl-1.32.tar.gz
-/authors/id/M/MS/MSCHWERN/Carp-Assert-0.20.tar.gz
-/authors/id/M/MS/MSCHWERN/ExtUtils-MakeMaker-6.56.tar.gz
-/authors/id/M/MS/MSCHWERN/Test-Simple-0.98.tar.gz
-/authors/id/M/MS/MSCHWERN/UNIVERSAL-require-0.13.tar.gz
-/authors/id/M/MS/MSTROUT/Catalyst-Plugin-Session-State-Cookie-0.17.tar.gz
-/authors/id/M/MS/MSTROUT/Catalyst-Plugin-Static-Simple-0.29.tar.gz
-/authors/id/N/NU/NUFFIN/Tie-ToObject-0.03.tar.gz
-/authors/id/O/OL/OLAF/Net-DNS-0.66.tar.gz
-/authors/id/O/OV/OVID/Sub-Override-0.08.tar.gz
-/authors/id/O/OV/OVID/aliased-0.30.tar.gz
-/authors/id/P/PE/PETDANCE/Carp-Assert-More-1.12.tar.gz
-/authors/id/P/PE/PETDANCE/Template-Timer-1.00.tar.gz
-/authors/id/P/PE/PETDANCE/Test-WWW-Mechanize-1.30.tar.gz
-/authors/id/P/PE/PETDANCE/WWW-Mechanize-1.66.tar.gz
-/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.033.tar.gz
-/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.033.tar.gz
-/authors/id/P/PM/PMQS/IO-Compress-2.033.tar.gz
-/authors/id/R/RC/RCLAMP/Class-Accessor-Chained-0.01.tar.gz
-/authors/id/R/RC/RCLAMP/Devel-Caller-2.05.tar.gz
-/authors/id/R/RC/RCLAMP/File-Find-Rule-0.32.tar.gz
-/authors/id/R/RC/RCLAMP/Number-Compare-0.01.tar.gz
-/authors/id/R/RC/RCLAMP/Text-Glob-0.09.tar.gz
-/authors/id/R/RD/RDF/Clone-0.31.tar.gz
-/authors/id/R/RG/RGARCIA/Sub-Identify-0.04.tar.gz
-/authors/id/R/RG/RGARCIA/Test-LongString-0.14.tar.gz
-/authors/id/R/RG/RGARCIA/Test-LongString-0.15.tar.gz
-/authors/id/R/RI/RIBASUSHI/Class-C3-Componentised-1.0008.tar.gz
-/authors/id/R/RJ/RJBS/Data-OptList-0.106.tar.gz
-/authors/id/R/RJ/RJBS/Email-Address-1.892.tar.gz
-/authors/id/R/RJ/RJBS/Email-Date-Format-1.002.tar.gz
-/authors/id/R/RJ/RJBS/Email-MIME-1.908.tar.gz
-/authors/id/R/RJ/RJBS/Email-MIME-ContentType-1.015.tar.gz
-/authors/id/R/RJ/RJBS/Email-MIME-Encodings-1.313.tar.gz
-/authors/id/R/RJ/RJBS/Email-MessageID-1.402.tar.gz
-/authors/id/R/RJ/RJBS/Email-Send-2.198.tar.gz
-/authors/id/R/RJ/RJBS/Email-Simple-2.100.tar.gz
-/authors/id/R/RJ/RJBS/Email-Valid-0.184.tar.gz
-/authors/id/R/RJ/RJBS/Getopt-Long-Descriptive-0.089.tar.gz
-/authors/id/R/RJ/RJBS/Return-Value-1.666001.tar.gz
-/authors/id/R/RJ/RJBS/String-RewritePrefix-0.006.tar.gz
-/authors/id/R/RJ/RJBS/Sub-Exporter-0.982.tar.gz
-/authors/id/R/RJ/RJBS/Sub-Install-0.925.tar.gz
-/authors/id/R/RJ/RJBS/Test-Deep-0.108.tar.gz
-/authors/id/R/RJ/RJBS/Test-Fatal-0.003.tar.gz
-/authors/id/R/RJ/RJBS/Version-Requirements-0.101020.tar.gz
-/authors/id/R/RK/RKITOVER/Catalyst-Model-DBIC-Schema-0.48.tar.gz
-/authors/id/R/RK/RKITOVER/Catalyst-Plugin-SmartURI-0.036.tar.gz
-/authors/id/R/RK/RKITOVER/Class-Accessor-Grouped-0.10002.tar.gz
-/authors/id/R/RK/RKITOVER/DBIx-Class-Schema-Loader-0.07010.tar.gz
-/authors/id/R/RK/RKITOVER/Lingua-EN-Inflect-Phrase-0.04.tar.gz
-/authors/id/R/RK/RKITOVER/MooseX-Traits-Pluggable-0.10.tar.gz
-/authors/id/R/RK/RKITOVER/URI-SmartURI-0.031.tar.gz
-/authors/id/R/RO/ROBIN/PadWalker-1.92.tar.gz
-/authors/id/R/RO/ROODE/Readonly-1.03.tar.gz
-/authors/id/R/RS/RSCHUPP/Module-ScanDeps-1.00.tar.gz
-/authors/id/S/SA/SALVA/Sort-Key-1.28.tar.gz
-/authors/id/S/SA/SARTAK/Class-Load-0.06.tar.gz
-/authors/id/S/SD/SDP/Lingua-Stem-Fr-0.02.tar.gz
-/authors/id/S/SI/SIMON/Lingua-EN-Inflect-Number-1.1.tar.gz
-/authors/id/S/SI/SIMONW/Module-Pluggable-3.9.tar.gz
-/authors/id/S/SM/SMUELLER/Class-XSAccessor-1.11.tar.gz
-/authors/id/S/SM/SMUELLER/PAR-Dist-0.47.tar.gz
-/authors/id/S/SM/SMUELLER/PathTools-3.33.tar.gz
-/authors/id/S/SN/SNOWHARE/Lingua-Stem-0.84.tar.gz
-/authors/id/S/ST/STBEY/Carp-Clan-6.04.tar.gz
-/authors/id/S/ST/STEVAN/Tree-Simple-1.18.tar.gz
-/authors/id/S/ST/STEVAN/Tree-Simple-VisitorFactory-0.10.tar.gz
-/authors/id/T/TI/TIMB/DBI-1.616.tar.gz
-/authors/id/T/TJ/TJENNESS/File-Temp-0.22.tar.gz
-/authors/id/T/TL/TLINDEN/Config-General-2.50.tar.gz
-/authors/id/T/TM/TMTM/Class-Data-Inheritable-0.08.tar.gz
-/authors/id/T/TO/TODDR/Locale-Maketext-1.19.tar.gz
-/authors/id/T/TO/TOKUHIROM/Test-Requires-0.06.tar.gz
-/authors/id/T/TU/TURNSTEP/DBD-Pg-2.17.2.tar.gz
-/authors/id/T/TU/TURNSTEP/DBD-Pg-2.18.1.tar.gz
-/authors/id/U/UL/ULPFR/Text-German-0.06.tar.gz
-/authors/id/V/VP/VPIT/Variable-Magic-0.46.tar.gz
-/authors/id/W/WR/WREIS/DBIx-Class-EncodedColumn-0.00011.tar.gz
-/authors/id/X/XE/XERN/Lingua-PT-Stemmer-0.01.tar.gz
-/authors/id/Y/YV/YVES/ExtUtils-Install-1.54.tar.gz
-/authors/id/Z/ZE/ZEFRAM/Class-Mix-0.004.tar.gz
-/authors/id/Z/ZE/ZEFRAM/Crypt-Eksblowfish-0.009.tar.gz
-/authors/id/Z/ZE/ZEFRAM/Params-Classify-0.013.tar.gz
diff --git a/perl-external/lib/perl5/local/lib.pm b/perl-external/lib/perl5/local/lib.pm
deleted file mode 100644
index 87d186903..000000000
--- a/perl-external/lib/perl5/local/lib.pm
+++ /dev/null
@@ -1,1030 +0,0 @@
-use strict;
-use warnings;
-
-package local::lib;
-
-use 5.008001; # probably works with earlier versions but I'm not supporting them
- # (patches would, of course, be welcome)
-
-use File::Spec ();
-use File::Path ();
-use Carp ();
-use Config;
-
-our $VERSION = '1.008004'; # 1.8.4
-
-our @KNOWN_FLAGS = qw(--self-contained --deactivate --deactivate-all);
-
-sub DEACTIVATE_ONE () { 1 }
-sub DEACTIVATE_ALL () { 2 }
-
-sub INTERPOLATE_ENV () { 1 }
-sub LITERAL_ENV () { 0 }
-
-sub import {
- my ($class, @args) = @_;
-
- # Remember what PERL5LIB was when we started
- my $perl5lib = $ENV{PERL5LIB} || '';
-
- my %arg_store;
- for my $arg (@args) {
- # check for lethal dash first to stop processing before causing problems
- if ($arg =~ /−/) {
- die <<'DEATH';
-WHOA THERE! It looks like you've got some fancy dashes in your commandline!
-These are *not* the traditional -- dashes that software recognizes. You
-probably got these by copy-pasting from the perldoc for this module as
-rendered by a UTF8-capable formatter. This most typically happens on an OS X
-terminal, but can happen elsewhere too. Please try again after replacing the
-dashes with normal minus signs.
-DEATH
- }
- elsif(grep { $arg eq $_ } @KNOWN_FLAGS) {
- (my $flag = $arg) =~ s/--//;
- $arg_store{$flag} = 1;
- }
- elsif($arg =~ /^--/) {
- die "Unknown import argument: $arg";
- }
- else {
- # assume that what's left is a path
- $arg_store{path} = $arg;
- }
- }
-
- if($arg_store{'self-contained'}) {
- die "FATAL: The local::lib --self-contained flag has never worked reliably and the original author, Mark Stosberg, was unable or unwilling to maintain it. As such, this flag has been removed from the local::lib codebase in order to prevent misunderstandings and potentially broken builds. The local::lib authors recommend that you look at the lib::core::only module shipped with this distribution in order to create a more robust environment that is equivalent to what --self-contained provided (although quite possibly not what you originally thought it provided due to the poor quality of the documentation, for which we apologise).\n";
- }
-
- my $deactivating = 0;
- if ($arg_store{deactivate}) {
- $deactivating = DEACTIVATE_ONE;
- }
- if ($arg_store{'deactivate-all'}) {
- $deactivating = DEACTIVATE_ALL;
- }
-
- $arg_store{path} = $class->resolve_path($arg_store{path});
- $class->setup_local_lib_for($arg_store{path}, $deactivating);
-
- for (@INC) { # Untaint @INC
- next if ref; # Skip entry if it is an ARRAY, CODE, blessed, etc.
- m/(.*)/ and $_ = $1;
- }
-}
-
-sub pipeline;
-
-sub pipeline {
- my @methods = @_;
- my $last = pop(@methods);
- if (@methods) {
- \sub {
- my ($obj, @args) = @_;
- $obj->${pipeline @methods}(
- $obj->$last(@args)
- );
- };
- } else {
- \sub {
- shift->$last(@_);
- };
- }
-}
-
-=begin testing
-
-#:: test pipeline
-
-package local::lib;
-
-{ package Foo; sub foo { -$_[1] } sub bar { $_[1]+2 } sub baz { $_[1]+3 } }
-my $foo = bless({}, 'Foo');
-Test::More::ok($foo->${pipeline qw(foo bar baz)}(10) == -15);
-
-=end testing
-
-=cut
-
-sub _uniq {
- my %seen;
- grep { ! $seen{$_}++ } @_;
-}
-
-sub resolve_path {
- my ($class, $path) = @_;
- $class->${pipeline qw(
- resolve_relative_path
- resolve_home_path
- resolve_empty_path
- )}($path);
-}
-
-sub resolve_empty_path {
- my ($class, $path) = @_;
- if (defined $path) {
- $path;
- } else {
- '~/perl5';
- }
-}
-
-=begin testing
-
-#:: test classmethod setup
-
-my $c = 'local::lib';
-
-=end testing
-
-=begin testing
-
-#:: test classmethod
-
-is($c->resolve_empty_path, '~/perl5');
-is($c->resolve_empty_path('foo'), 'foo');
-
-=end testing
-
-=cut
-
-sub resolve_home_path {
- my ($class, $path) = @_;
- return $path unless ($path =~ /^~/);
- my ($user) = ($path =~ /^~([^\/]+)/); # can assume ^~ so undef for 'us'
- my $tried_file_homedir;
- my $homedir = do {
- if (eval { require File::HomeDir } && $File::HomeDir::VERSION >= 0.65) {
- $tried_file_homedir = 1;
- if (defined $user) {
- File::HomeDir->users_home($user);
- } else {
- File::HomeDir->my_home;
- }
- } else {
- if (defined $user) {
- (getpwnam $user)[7];
- } else {
- if (defined $ENV{HOME}) {
- $ENV{HOME};
- } else {
- (getpwuid $<)[7];
- }
- }
- }
- };
- unless (defined $homedir) {
- Carp::croak(
- "Couldn't resolve homedir for "
- .(defined $user ? $user : 'current user')
- .($tried_file_homedir ? '' : ' - consider installing File::HomeDir')
- );
- }
- $path =~ s/^~[^\/]*/$homedir/;
- $path;
-}
-
-sub resolve_relative_path {
- my ($class, $path) = @_;
- $path = File::Spec->rel2abs($path);
-}
-
-=begin testing
-
-#:: test classmethod
-
-local *File::Spec::rel2abs = sub { shift; 'FOO'.shift; };
-is($c->resolve_relative_path('bar'),'FOObar');
-
-=end testing
-
-=cut
-
-sub setup_local_lib_for {
- my ($class, $path, $deactivating) = @_;
-
- my $interpolate = LITERAL_ENV;
- my @active_lls = $class->active_paths;
-
- $path = $class->ensure_dir_structure_for($path);
-
- if (! $deactivating) {
- if (@active_lls && $active_lls[-1] eq $path) {
- exit 0 if $0 eq '-';
- return; # Asked to add what's already at the top of the stack
- } elsif (grep { $_ eq $path} @active_lls) {
- # Asked to add a dir that's lower in the stack -- so we remove it from
- # where it is, and then add it back at the top.
- $class->setup_env_hash_for($path, DEACTIVATE_ONE);
- # Which means we can no longer output "PERL5LIB=...:$PERL5LIB" stuff
- # anymore because we're taking something *out*.
- $interpolate = INTERPOLATE_ENV;
- }
- }
-
- if ($0 eq '-') {
- $class->print_environment_vars_for($path, $deactivating, $interpolate);
- exit 0;
- } else {
- $class->setup_env_hash_for($path, $deactivating);
- @INC = _uniq(split($Config{path_sep}, $ENV{PERL5LIB}), @INC);
- }
-}
-
-sub install_base_bin_path {
- my ($class, $path) = @_;
- File::Spec->catdir($path, 'bin');
-}
-
-sub install_base_perl_path {
- my ($class, $path) = @_;
- File::Spec->catdir($path, 'lib', 'perl5');
-}
-
-sub install_base_arch_path {
- my ($class, $path) = @_;
- File::Spec->catdir($class->install_base_perl_path($path), $Config{archname});
-}
-
-sub ensure_dir_structure_for {
- my ($class, $path) = @_;
- unless (-d $path) {
- warn "Attempting to create directory ${path}\n";
- }
- File::Path::mkpath($path);
- # Need to have the path exist to make a short name for it, so
- # converting to a short name here.
- $path = Win32::GetShortPathName($path) if $^O eq 'MSWin32';
-
- return $path;
-}
-
-sub guess_shelltype {
- my $shellbin = 'sh';
- if(defined $ENV{'SHELL'}) {
- my @shell_bin_path_parts = File::Spec->splitpath($ENV{'SHELL'});
- $shellbin = $shell_bin_path_parts[-1];
- }
- my $shelltype = do {
- local $_ = $shellbin;
- if(/csh/) {
- 'csh'
- } else {
- 'bourne'
- }
- };
-
- # Both Win32 and Cygwin have $ENV{COMSPEC} set.
- if (defined $ENV{'COMSPEC'} && $^O ne 'cygwin') {
- my @shell_bin_path_parts = File::Spec->splitpath($ENV{'COMSPEC'});
- $shellbin = $shell_bin_path_parts[-1];
- $shelltype = do {
- local $_ = $shellbin;
- if(/command\.com/) {
- 'win32'
- } elsif(/cmd\.exe/) {
- 'win32'
- } elsif(/4nt\.exe/) {
- 'win32'
- } else {
- $shelltype
- }
- };
- }
- return $shelltype;
-}
-
-sub print_environment_vars_for {
- my ($class, $path, $deactivating, $interpolate) = @_;
- print $class->environment_vars_string_for($path, $deactivating, $interpolate);
-}
-
-sub environment_vars_string_for {
- my ($class, $path, $deactivating, $interpolate) = @_;
- my @envs = $class->build_environment_vars_for($path, $deactivating, $interpolate);
- my $out = '';
-
- # rather basic csh detection, goes on the assumption that something won't
- # call itself csh unless it really is. also, default to bourne in the
- # pathological situation where a user doesn't have $ENV{SHELL} defined.
- # note also that shells with funny names, like zoid, are assumed to be
- # bourne.
-
- my $shelltype = $class->guess_shelltype;
-
- while (@envs) {
- my ($name, $value) = (shift(@envs), shift(@envs));
- $value =~ s/(\\")/\\$1/g if defined $value;
- $out .= $class->${\"build_${shelltype}_env_declaration"}($name, $value);
- }
- return $out;
-}
-
-# simple routines that take two arguments: an %ENV key and a value. return
-# strings that are suitable for passing directly to the relevant shell to set
-# said key to said value.
-sub build_bourne_env_declaration {
- my $class = shift;
- my($name, $value) = @_;
- return defined($value) ? qq{export ${name}="${value}";\n} : qq{unset ${name};\n};
-}
-
-sub build_csh_env_declaration {
- my $class = shift;
- my($name, $value) = @_;
- return defined($value) ? qq{setenv ${name} "${value}"\n} : qq{unsetenv ${name}\n};
-}
-
-sub build_win32_env_declaration {
- my $class = shift;
- my($name, $value) = @_;
- return defined($value) ? qq{set ${name}=${value}\n} : qq{set ${name}=\n};
-}
-
-sub setup_env_hash_for {
- my ($class, $path, $deactivating) = @_;
- my %envs = $class->build_environment_vars_for($path, $deactivating, INTERPOLATE_ENV);
- @ENV{keys %envs} = values %envs;
-}
-
-sub build_environment_vars_for {
- my ($class, $path, $deactivating, $interpolate) = @_;
-
- if ($deactivating == DEACTIVATE_ONE) {
- return $class->build_deactivate_environment_vars_for($path, $interpolate);
- } elsif ($deactivating == DEACTIVATE_ALL) {
- return $class->build_deact_all_environment_vars_for($path, $interpolate);
- } else {
- return $class->build_activate_environment_vars_for($path, $interpolate);
- }
-}
-
-sub build_activate_environment_vars_for {
- my ($class, $path, $interpolate) = @_;
- return (
- PERL_LOCAL_LIB_ROOT => join($Config{path_sep},
- (($ENV{PERL_LOCAL_LIB_ROOT}||()) ?
- ($interpolate == INTERPOLATE_ENV
- ? ($ENV{PERL_LOCAL_LIB_ROOT}||())
- : (($^O ne 'MSWin32') ? '$PERL_LOCAL_LIB_ROOT'
- : '%PERL_LOCAL_LIB_ROOT%' ))
- : ()),
- $path
- ),
- PERL_MB_OPT => "--install_base ${path}",
- PERL_MM_OPT => "INSTALL_BASE=${path}",
- PERL5LIB => join($Config{path_sep},
- $class->install_base_arch_path($path),
- $class->install_base_perl_path($path),
- (($ENV{PERL5LIB}||()) ?
- ($interpolate == INTERPOLATE_ENV
- ? ($ENV{PERL5LIB})
- : (($^O ne 'MSWin32') ? '$PERL5LIB' : '%PERL5LIB%' ))
- : ())
- ),
- PATH => join($Config{path_sep},
- $class->install_base_bin_path($path),
- ($interpolate == INTERPOLATE_ENV
- ? ($ENV{PATH}||())
- : (($^O ne 'MSWin32') ? '$PATH' : '%PATH%' ))
- ),
- )
-}
-
-sub active_paths {
- my ($class) = @_;
-
- return () unless defined $ENV{PERL_LOCAL_LIB_ROOT};
- return split /\Q$Config{path_sep}/, $ENV{PERL_LOCAL_LIB_ROOT};
-}
-
-sub build_deactivate_environment_vars_for {
- my ($class, $path, $interpolate) = @_;
-
- my @active_lls = $class->active_paths;
-
- if (!grep { $_ eq $path } @active_lls) {
- warn "Tried to deactivate inactive local::lib '$path'\n";
- return ();
- }
-
- my @new_ll_root = grep { $_ ne $path } @active_lls;
- my @new_perl5lib = grep {
- $_ ne $class->install_base_arch_path($path) &&
- $_ ne $class->install_base_perl_path($path)
- } split /\Q$Config{path_sep}/, $ENV{PERL5LIB};
-
- my %env = (
- PERL_LOCAL_LIB_ROOT => (@new_ll_root ?
- join($Config{path_sep}, @new_ll_root) : undef
- ),
- PERL5LIB => (@new_perl5lib ?
- join($Config{path_sep}, @new_perl5lib) : undef
- ),
- PATH => join($Config{path_sep},
- grep { $_ ne $class->install_base_bin_path($path) }
- split /\Q$Config{path_sep}/, $ENV{PATH}
- ),
- );
-
- # If removing ourselves from the "top of the stack", set install paths to
- # correspond with the new top of stack.
- if ($active_lls[-1] eq $path) {
- if (@active_lls > 1) {
- my $new_top = $active_lls[-2];
- %env = (%env,
- PERL_MB_OPT => "--install_base ${new_top}",
- PERL_MM_OPT => "INSTALL_BASE=${new_top}",
- );
- } else {
- %env = (%env,
- PERL_MB_OPT => undef,
- PERL_MM_OPT => undef,
- );
- }
- }
-
- return %env;
-}
-
-sub build_deact_all_environment_vars_for {
- my ($class, $path, $interpolate) = @_;
-
- my @active_lls = $class->active_paths;
-
- my @new_perl5lib = split /\Q$Config{path_sep}/, $ENV{PERL5LIB};
- my @new_path = split /\Q$Config{path_sep}/, $ENV{PATH};
-
- for my $path (@active_lls) {
- @new_perl5lib = grep {
- $_ ne $class->install_base_arch_path($path) &&
- $_ ne $class->install_base_perl_path($path)
- } @new_perl5lib;
-
- @new_path = grep {
- $_ ne $class->install_base_bin_path($path)
- } @new_path;
- }
-
- my %env = (
- PERL_LOCAL_LIB_ROOT => undef,
- PERL_MM_OPT => undef,
- PERL_MB_OPT => undef,
- PERL5LIB => (@new_perl5lib ?
- join($Config{path_sep}, @new_perl5lib) : undef
- ),
- PATH => join($Config{path_sep}, @new_path),
- );
-
- return %env;
-}
-
-=begin testing
-
-#:: test classmethod
-
-File::Path::rmtree('t/var/splat');
-
-$c->ensure_dir_structure_for('t/var/splat');
-
-ok(-d 't/var/splat');
-
-=end testing
-
-=encoding utf8
-
-=head1 NAME
-
-local::lib - create and use a local lib/ for perl modules with PERL5LIB
-
-=head1 SYNOPSIS
-
-In code -
-
- use local::lib; # sets up a local lib at ~/perl5
-
- use local::lib '~/foo'; # same, but ~/foo
-
- # Or...
- use FindBin;
- use local::lib "$FindBin::Bin/../support"; # app-local support library
-
-From the shell -
-
- # Install LWP and its missing dependencies to the '~/perl5' directory
- perl -MCPAN -Mlocal::lib -e 'CPAN::install(LWP)'
-
- # Just print out useful shell commands
- $ perl -Mlocal::lib
- export PERL_MB_OPT='--install_base /home/username/perl5'
- export PERL_MM_OPT='INSTALL_BASE=/home/username/perl5'
- export PERL5LIB='/home/username/perl5/lib/perl5/i386-linux:/home/username/perl5/lib/perl5'
- export PATH="/home/username/perl5/bin:$PATH"
-
-=head2 The bootstrapping technique
-
-A typical way to install local::lib is using what is known as the
-"bootstrapping" technique. You would do this if your system administrator
-hasn't already installed local::lib. In this case, you'll need to install
-local::lib in your home directory.
-
-If you do have administrative privileges, you will still want to set up your
-environment variables, as discussed in step 4. Without this, you would still
-install the modules into the system CPAN installation and also your Perl scripts
-will not use the lib/ path you bootstrapped with local::lib.
-
-By default local::lib installs itself and the CPAN modules into ~/perl5.
-
-Windows users must also see L</Differences when using this module under Win32>.
-
-1. Download and unpack the local::lib tarball from CPAN (search for "Download"
-on the CPAN page about local::lib). Do this as an ordinary user, not as root
-or administrator. Unpack the file in your home directory or in any other
-convenient location.
-
-2. Run this:
-
- perl Makefile.PL --bootstrap
-
-If the system asks you whether it should automatically configure as much
-as possible, you would typically answer yes.
-
-In order to install local::lib into a directory other than the default, you need
-to specify the name of the directory when you call bootstrap, as follows:
-
- perl Makefile.PL --bootstrap=~/foo
-
-3. Run this: (local::lib assumes you have make installed on your system)
-
- make test && make install
-
-4. Now we need to setup the appropriate environment variables, so that Perl
-starts using our newly generated lib/ directory. If you are using bash or
-any other Bourne shells, you can add this to your shell startup script this
-way:
-
- echo 'eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)' >>~/.bashrc
-
-If you are using C shell, you can do this as follows:
-
- /bin/csh
- echo $SHELL
- /bin/csh
- perl -I$HOME/perl5/lib/perl5 -Mlocal::lib >> ~/.cshrc
-
-If you passed to bootstrap a directory other than default, you also need to give that as
-import parameter to the call of the local::lib module like this way:
-
- echo 'eval $(perl -I$HOME/foo/lib/perl5 -Mlocal::lib=$HOME/foo)' >>~/.bashrc
-
-After writing your shell configuration file, be sure to re-read it to get the
-changed settings into your current shell's environment. Bourne shells use
-C<. ~/.bashrc> for this, whereas C shells use C<source ~/.cshrc>.
-
-If you're on a slower machine, or are operating under draconian disk space
-limitations, you can disable the automatic generation of manpages from POD when
-installing modules by using the C<--no-manpages> argument when bootstrapping:
-
- perl Makefile.PL --bootstrap --no-manpages
-
-To avoid doing several bootstrap for several Perl module environments on the
-same account, for example if you use it for several different deployed
-applications independently, you can use one bootstrapped local::lib
-installation to install modules in different directories directly this way:
-
- cd ~/mydir1
- perl -Mlocal::lib=./
- eval $(perl -Mlocal::lib=./) ### To set the environment for this shell alone
- printenv ### You will see that ~/mydir1 is in the PERL5LIB
- perl -MCPAN -e install ... ### whatever modules you want
- cd ../mydir2
- ... REPEAT ...
-
-If you are working with several C<local::lib> environments, you may want to
-remove some of them from the current environment without disturbing the others.
-You can deactivate one environment like this (using bourne sh):
-
- eval $(perl -Mlocal::lib=--deactivate,~/path)
-
-which will generate and run the commands needed to remove C<~/path> from your
-various search paths. Whichever environment was B<activated most recently> will
-remain the target for module installations. That is, if you activate
-C<~/path_A> and then you activate C<~/path_B>, new modules you install will go
-in C<~/path_B>. If you deactivate C<~/path_B> then modules will be installed
-into C<~/pathA> -- but if you deactivate C<~/path_A> then they will still be
-installed in C<~/pathB> because pathB was activated later.
-
-You can also ask C<local::lib> to clean itself completely out of the current
-shell's environment with the C<--deactivate-all> option.
-For multiple environments for multiple apps you may need to include a modified
-version of the C<< use FindBin >> instructions in the "In code" sample above.
-If you did something like the above, you have a set of Perl modules at C<<
-~/mydir1/lib >>. If you have a script at C<< ~/mydir1/scripts/myscript.pl >>,
-you need to tell it where to find the modules you installed for it at C<<
-~/mydir1/lib >>.
-
-In C<< ~/mydir1/scripts/myscript.pl >>:
-
- use strict;
- use warnings;
- use local::lib "$FindBin::Bin/.."; ### points to ~/mydir1 and local::lib finds lib
- use lib "$FindBin::Bin/../lib"; ### points to ~/mydir1/lib
-
-Put this before any BEGIN { ... } blocks that require the modules you installed.
-
-=head2 Differences when using this module under Win32
-
-To set up the proper environment variables for your current session of
-C<CMD.exe>, you can use this:
-
- C:\>perl -Mlocal::lib
- set PERL_MB_OPT=--install_base C:\DOCUME~1\ADMINI~1\perl5
- set PERL_MM_OPT=INSTALL_BASE=C:\DOCUME~1\ADMINI~1\perl5
- set PERL5LIB=C:\DOCUME~1\ADMINI~1\perl5\lib\perl5;C:\DOCUME~1\ADMINI~1\perl5\lib\perl5\MSWin32-x86-multi-thread
- set PATH=C:\DOCUME~1\ADMINI~1\perl5\bin;%PATH%
-
- ### To set the environment for this shell alone
- C:\>perl -Mlocal::lib > %TEMP%\tmp.bat && %TEMP%\tmp.bat && del %TEMP%\temp.bat
- ### instead of $(perl -Mlocal::lib=./)
-
-If you want the environment entries to persist, you'll need to add then to the
-Control Panel's System applet yourself or use L<App::local::lib::Win32Helper>.
-
-The "~" is translated to the user's profile directory (the directory named for
-the user under "Documents and Settings" (Windows XP or earlier) or "Users"
-(Windows Vista or later)) unless $ENV{HOME} exists. After that, the home
-directory is translated to a short name (which means the directory must exist)
-and the subdirectories are created.
-
-=head1 RATIONALE
-
-The version of a Perl package on your machine is not always the version you
-need. Obviously, the best thing to do would be to update to the version you
-need. However, you might be in a situation where you're prevented from doing
-this. Perhaps you don't have system administrator privileges; or perhaps you
-are using a package management system such as Debian, and nobody has yet gotten
-around to packaging up the version you need.
-
-local::lib solves this problem by allowing you to create your own directory of
-Perl packages downloaded from CPAN (in a multi-user system, this would typically
-be within your own home directory). The existing system Perl installation is
-not affected; you simply invoke Perl with special options so that Perl uses the
-packages in your own local package directory rather than the system packages.
-local::lib arranges things so that your locally installed version of the Perl
-packages takes precedence over the system installation.
-
-If you are using a package management system (such as Debian), you don't need to
-worry about Debian and CPAN stepping on each other's toes. Your local version
-of the packages will be written to an entirely separate directory from those
-installed by Debian.
-
-=head1 DESCRIPTION
-
-This module provides a quick, convenient way of bootstrapping a user-local Perl
-module library located within the user's home directory. It also constructs and
-prints out for the user the list of environment variables using the syntax
-appropriate for the user's current shell (as specified by the C<SHELL>
-environment variable), suitable for directly adding to one's shell
-configuration file.
-
-More generally, local::lib allows for the bootstrapping and usage of a
-directory containing Perl modules outside of Perl's C<@INC>. This makes it
-easier to ship an application with an app-specific copy of a Perl module, or
-collection of modules. Useful in cases like when an upstream maintainer hasn't
-applied a patch to a module of theirs that you need for your application.
-
-On import, local::lib sets the following environment variables to appropriate
-values:
-
-=over 4
-
-=item PERL_MB_OPT
-
-=item PERL_MM_OPT
-
-=item PERL5LIB
-
-=item PATH
-
-PATH is appended to, rather than clobbered.
-
-=back
-
-These values are then available for reference by any code after import.
-
-=head1 CREATING A SELF-CONTAINED SET OF MODULES
-
-See L<lib::core::only> for one way to do this - but note that
-there are a number of caveats, and the best approach is always to perform a
-build against a clean perl (i.e. site and vendor as close to empty as possible).
-
-=head1 OPTIONS
-
-Options are values that can be passed to the C<local::lib> import besides the
-directory to use. They are specified as C<use local::lib '--option'[, path];>
-or C<perl -Mlocal::lib=--option[,path]>.
-
-=head2 --deactivate
-
-Remove the chosen path (or the default path) from the module search paths if it
-was added by C<local::lib>, instead of adding it.
-
-=head2 --deactivate-all
-
-Remove all directories that were added to search paths by C<local::lib> from the
-search paths.
-
-=head1 METHODS
-
-=head2 ensure_dir_structure_for
-
-=over 4
-
-=item Arguments: $path
-
-=item Return value: None
-
-=back
-
-Attempts to create the given path, and all required parent directories. Throws
-an exception on failure.
-
-=head2 print_environment_vars_for
-
-=over 4
-
-=item Arguments: $path
-
-=item Return value: None
-
-=back
-
-Prints to standard output the variables listed above, properly set to use the
-given path as the base directory.
-
-=head2 build_environment_vars_for
-
-=over 4
-
-=item Arguments: $path, $interpolate
-
-=item Return value: \%environment_vars
-
-=back
-
-Returns a hash with the variables listed above, properly set to use the
-given path as the base directory.
-
-=head2 setup_env_hash_for
-
-=over 4
-
-=item Arguments: $path
-
-=item Return value: None
-
-=back
-
-Constructs the C<%ENV> keys for the given path, by calling
-L</build_environment_vars_for>.
-
-=head2 active_paths
-
-=over 4
-
-=item Arguments: None
-
-=item Return value: @paths
-
-=back
-
-Returns a list of active C<local::lib> paths, according to the
-C<PERL_LOCAL_LIB_ROOT> environment variable.
-
-=head2 install_base_perl_path
-
-=over 4
-
-=item Arguments: $path
-
-=item Return value: $install_base_perl_path
-
-=back
-
-Returns a path describing where to install the Perl modules for this local
-library installation. Appends the directories C<lib> and C<perl5> to the given
-path.
-
-=head2 install_base_arch_path
-
-=over 4
-
-=item Arguments: $path
-
-=item Return value: $install_base_arch_path
-
-=back
-
-Returns a path describing where to install the architecture-specific Perl
-modules for this local library installation. Based on the
-L</install_base_perl_path> method's return value, and appends the value of
-C<$Config{archname}>.
-
-=head2 install_base_bin_path
-
-=over 4
-
-=item Arguments: $path
-
-=item Return value: $install_base_bin_path
-
-=back
-
-Returns a path describing where to install the executable programs for this
-local library installation. Based on the L</install_base_perl_path> method's
-return value, and appends the directory C<bin>.
-
-=head2 resolve_empty_path
-
-=over 4
-
-=item Arguments: $path
-
-=item Return value: $base_path
-
-=back
-
-Builds and returns the base path into which to set up the local module
-installation. Defaults to C<~/perl5>.
-
-=head2 resolve_home_path
-
-=over 4
-
-=item Arguments: $path
-
-=item Return value: $home_path
-
-=back
-
-Attempts to find the user's home directory. If installed, uses C<File::HomeDir>
-for this purpose. If no definite answer is available, throws an exception.
-
-=head2 resolve_relative_path
-
-=over 4
-
-=item Arguments: $path
-
-=item Return value: $absolute_path
-
-=back
-
-Translates the given path into an absolute path.
-
-=head2 resolve_path
-
-=over 4
-
-=item Arguments: $path
-
-=item Return value: $absolute_path
-
-=back
-
-Calls the following in a pipeline, passing the result from the previous to the
-next, in an attempt to find where to configure the environment for a local
-library installation: L</resolve_empty_path>, L</resolve_home_path>,
-L</resolve_relative_path>. Passes the given path argument to
-L</resolve_empty_path> which then returns a result that is passed to
-L</resolve_home_path>, which then has its result passed to
-L</resolve_relative_path>. The result of this final call is returned from
-L</resolve_path>.
-
-=head1 A WARNING ABOUT UNINST=1
-
-Be careful about using local::lib in combination with "make install UNINST=1".
-The idea of this feature is that will uninstall an old version of a module
-before installing a new one. However it lacks a safety check that the old
-version and the new version will go in the same directory. Used in combination
-with local::lib, you can potentially delete a globally accessible version of a
-module while installing the new version in a local place. Only combine "make
-install UNINST=1" and local::lib if you understand these possible consequences.
-
-=head1 LIMITATIONS
-
-The perl toolchain is unable to handle directory names with spaces in it,
-so you cant put your local::lib bootstrap into a directory with spaces. What
-you can do is moving your local::lib to a directory with spaces B<after> you
-installed all modules inside your local::lib bootstrap. But be aware that you
-cant update or install CPAN modules after the move.
-
-Rather basic shell detection. Right now anything with csh in its name is
-assumed to be a C shell or something compatible, and everything else is assumed
-to be Bourne, except on Win32 systems. If the C<SHELL> environment variable is
-not set, a Bourne-compatible shell is assumed.
-
-Bootstrap is a hack and will use CPAN.pm for ExtUtils::MakeMaker even if you
-have CPANPLUS installed.
-
-Kills any existing PERL5LIB, PERL_MM_OPT or PERL_MB_OPT.
-
-Should probably auto-fixup CPAN config if not already done.
-
-Patches very much welcome for any of the above.
-
-On Win32 systems, does not have a way to write the created environment variables
-to the registry, so that they can persist through a reboot.
-
-=head1 TROUBLESHOOTING
-
-If you've configured local::lib to install CPAN modules somewhere in to your
-home directory, and at some point later you try to install a module with C<cpan
--i Foo::Bar>, but it fails with an error like: C<Warning: You do not have
-permissions to install into /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux at
-/usr/lib64/perl5/5.8.8/Foo/Bar.pm> and buried within the install log is an
-error saying C<'INSTALL_BASE' is not a known MakeMaker parameter name>, then
-you've somehow lost your updated ExtUtils::MakeMaker module.
-
-To remedy this situation, rerun the bootstrapping procedure documented above.
-
-Then, run C<rm -r ~/.cpan/build/Foo-Bar*>
-
-Finally, re-run C<cpan -i Foo::Bar> and it should install without problems.
-
-=head1 ENVIRONMENT
-
-=over 4
-
-=item SHELL
-
-=item COMSPEC
-
-local::lib looks at the user's C<SHELL> environment variable when printing out
-commands to add to the shell configuration file.
-
-On Win32 systems, C<COMSPEC> is also examined.
-
-=back
-
-=head1 SUPPORT
-
-IRC:
-
- Join #local-lib on irc.perl.org.
-
-=head1 AUTHOR
-
-Matt S Trout <mst@shadowcat.co.uk> http://www.shadowcat.co.uk/
-
-auto_install fixes kindly sponsored by http://www.takkle.com/
-
-=head1 CONTRIBUTORS
-
-Patches to correctly output commands for csh style shells, as well as some
-documentation additions, contributed by Christopher Nehren <apeiron@cpan.org>.
-
-Doc patches for a custom local::lib directory, more cleanups in the english
-documentation and a L<german documentation|POD2::DE::local::lib> contributed by Torsten Raudssus
-<torsten@raudssus.de>.
-
-Hans Dieter Pearcey <hdp@cpan.org> sent in some additional tests for ensuring
-things will install properly, submitted a fix for the bug causing problems with
-writing Makefiles during bootstrapping, contributed an example program, and
-submitted yet another fix to ensure that local::lib can install and bootstrap
-properly. Many, many thanks!
-
-pattern of Freenode IRC contributed the beginnings of the Troubleshooting
-section. Many thanks!
-
-Patch to add Win32 support contributed by Curtis Jewell <csjewell@cpan.org>.
-
-Warnings for missing PATH/PERL5LIB (as when not running interactively) silenced
-by a patch from Marco Emilio Poleggi.
-
-Mark Stosberg <mark@summersault.com> provided the code for the now deleted
-'--self-contained' option.
-
-Documentation patches to make win32 usage clearer by
-David Mertens <dcmertens.perl@gmail.com> (run4flat).
-
-Brazilian L<portuguese translation|POD2::PT_BR::local::lib> and minor doc patches contributed by Breno
-G. de Oliveira <garu@cpan.org>.
-
-Improvements to stacking multiple local::lib dirs and removing them from the
-environment later on contributed by Andrew Rodland <arodland@cpan.org>.
-
-=head1 COPYRIGHT
-
-Copyright (c) 2007 - 2010 the local::lib L</AUTHOR> and L</CONTRIBUTORS> as
-listed above.
-
-=head1 LICENSE
-
-This library is free software and may be distributed under the same terms
-as perl itself.
-
-=cut
-
-1;
diff --git a/perl-external/minicpan/.gitignore b/perl-external/minicpan/.gitignore
deleted file mode 100644
index 40c08735d..000000000
--- a/perl-external/minicpan/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-authors
-modules/remote_packages.txt.gz
-indexer_reports
diff --git a/perl-external/minicpan/modules/02packages.details.txt.gz b/perl-external/minicpan/modules/02packages.details.txt.gz
deleted file mode 100644
index dda827b07..000000000
--- a/perl-external/minicpan/modules/02packages.details.txt.gz
+++ /dev/null
Binary files differ
diff --git a/perl-external/minicpan/modules/03modlist.data.gz b/perl-external/minicpan/modules/03modlist.data.gz
deleted file mode 100644
index 9c8cc712e..000000000
--- a/perl-external/minicpan/modules/03modlist.data.gz
+++ /dev/null
Binary files differ
diff --git a/perl-external/modules.txt b/perl-external/modules.txt
deleted file mode 100644
index 5ad9b477c..000000000
--- a/perl-external/modules.txt
+++ /dev/null
@@ -1,62 +0,0 @@
-App::cpanminus
-Bundle::DBD::Pg
-CPAN::ParseDistribution
-Catalyst
-Catalyst::Action::RenderView
-Catalyst::Authentication::Store::DBIx::Class
-Catalyst::Devel
-Catalyst::Model::Adaptor
-Catalyst::Plugin::Authentication
-Catalyst::Plugin::ConfigLoader
-Catalyst::Plugin::Session::Store::DBIC
-Catalyst::Plugin::SmartURI
-Catalyst::Plugin::Static::Simple
-Catalyst::Plugin::Unicode
-Catalyst::Plugin::Unicode::Encoding
-Catalyst::Runtime
-Catalyst::View::TT
-Class::Accessor
-Class::Unload
-Config::General
-Crypt::Eksblowfish::Bcrypt
-DBIx::Class
-DBIx::Class::EncodedColumn
-DBIx::Class::EncodedColumn::Crypt::Eksblowfish::Bcrypt
-DBIx::Class::FilterColumn
-DBIx::Class::Schema::Loader
-DBIx::Class::Storage::DBI
-DateTime::Format::HTTP
-DateTime::Format::ISO8601
-DateTime::Format::Pg
-DateTime::Format::W3CDTF
-Email::Address
-Email::MIME
-Email::Send
-Email::Simple
-Email::Valid
-File::Path
-HTML::Entities
-HTML::Form
-HTTP::Server::Simple
-HTTP::Server::Simple::CGI
-IO::String
-JSON
-LWP::UserAgent
-Locale::Maketext::Lexicon
-Moose
-Net::Domain::TLD
-Path::Class
-Readonly
-Return::Value
-Sort::Key
-Spiffy
-Sub::Override
-Template::Plugin::Comma
-Template::Plugin::DateTime::Format
-Term::Size::Any
-Test::More
-Test::WWW::Mechanize
-Test::WWW::Mechanize::Catalyst
-URI
-Web::Scraper
-namespace::autoclean
diff --git a/perllib/FixMyStreet/App.pm b/perllib/FixMyStreet/App.pm
index 6ccc801ce..fda9d665c 100644
--- a/perllib/FixMyStreet/App.pm
+++ b/perllib/FixMyStreet/App.pm
@@ -153,17 +153,16 @@ sub setup_request {
my $cobrand = $c->cobrand;
# append the cobrand templates to the include path
- $c->stash->{additional_template_paths} = $cobrand->path_to_web_templates
- unless $cobrand->is_default;
+ $c->stash->{additional_template_paths} = $cobrand->path_to_web_templates;
# work out which language to use
my $lang_override = $c->get_override('lang');
my $host = $c->req->uri->host;
my $lang =
$lang_override ? $lang_override
- : $host =~ /^en\./ ? 'en-gb'
- : $host =~ /cy/ ? 'cy'
- : undef;
+ : $host =~ /^(..)\./ ? $1
+ : undef;
+ $lang = 'en-gb' if $lang && $lang eq 'en';
# set the language and the translation file to use - store it on stash
my $set_lang = $cobrand->set_lang_and_domain(
@@ -177,12 +176,18 @@ sub setup_request {
$c->log->debug( sprintf "Set lang to '%s' and cobrand to '%s'",
$set_lang, $cobrand->moniker );
- $c->model('DB::Problem')->set_restriction( $cobrand->site_restriction() );
+ $c->model('DB::Problem')->set_restriction( $cobrand->site_key() );
Memcached::set_namespace( FixMyStreet->config('FMS_DB_NAME') . ":" );
FixMyStreet::Map::set_map_class( $cobrand->map_type || $c->req->param('map_override') );
+ unless ( FixMyStreet->config('MAPIT_URL') ) {
+ my $port = $c->req->uri->port;
+ $host = "$host:$port" unless $port == 80;
+ mySociety::MaPit::configure( "http://$host/fakemapit/" );
+ }
+
return $c;
}
@@ -387,11 +392,10 @@ and uses that.
=cut
sub uri_for_email {
- my $c = shift;
- my @args = @_;
+ my $c = shift;
my $normal_uri = $c->uri_for(@_)->absolute;
- my $base = $c->cobrand->base_url_with_lang( 1 );
+ my $base = $c->cobrand->base_url_with_lang;
my $email_uri = $base . $normal_uri->path_query;
@@ -418,7 +422,7 @@ call), use this method.
sub render_fragment {
my ($c, $template, $vars) = @_;
$vars->{additional_template_paths} = $c->cobrand->path_to_web_templates
- if $vars && !$c->cobrand->is_default;
+ if $vars;
$c->view('Web')->render($c, $template, $vars);
}
diff --git a/perllib/FixMyStreet/App/Controller/Admin.pm b/perllib/FixMyStreet/App/Controller/Admin.pm
index 998cb83a8..298c75352 100644
--- a/perllib/FixMyStreet/App/Controller/Admin.pm
+++ b/perllib/FixMyStreet/App/Controller/Admin.pm
@@ -50,7 +50,7 @@ sub index : Path : Args(0) {
$c->forward('check_page_allowed');
- my ( $sql_restriction, $id, $site_restriction ) = $c->cobrand->site_restriction();
+ my $site_restriction = $c->cobrand->site_restriction();
my $problems = $c->cobrand->problems->summary_count;
@@ -122,7 +122,7 @@ sub timeline : Path( 'timeline' ) : Args(0) {
$c->forward('check_page_allowed');
- my ( $sql_restriction, $id, $site_restriction ) = $c->cobrand->site_restriction();
+ my $site_restriction = $c->cobrand->site_restriction();
my %time;
$c->model('DB')->schema->storage->sql_maker->quote_char( '"' );
@@ -221,10 +221,10 @@ sub council_list : Path('council_list') : Args(0) {
$c->stash->{edit_activity} = $edit_activity;
# Not London, as treated separately
- my @area_types = $c->cobrand->moniker eq 'emptyhomes'
+ my $area_types = $c->cobrand->moniker eq 'emptyhomes'
? $c->cobrand->area_types
- : grep { $_ ne 'LBO' } $c->cobrand->area_types;
- my $areas = mySociety::MaPit::call('areas', \@area_types);
+ : [ grep { $_ ne 'LBO' } @{ $c->cobrand->area_types } ];
+ my $areas = mySociety::MaPit::call('areas', $area_types);
my @councils_ids = sort { strcoll($areas->{$a}->{name}, $areas->{$b}->{name}) } keys %$areas;
@councils_ids = $c->cobrand->filter_all_council_ids_list( @councils_ids );
@@ -472,7 +472,7 @@ sub search_reports : Path('search_reports') {
if (my $search = $c->req->param('search')) {
$c->stash->{searched} = 1;
- my ( $site_res_sql, $site_key, $site_restriction ) = $c->cobrand->site_restriction;
+ my $site_restriction = $c->cobrand->site_restriction;
my $search_n = 0;
$search_n = int($search) if $search =~ /^\d+$/;
@@ -532,13 +532,11 @@ sub search_reports : Path('search_reports') {
if (is_valid_email($search)) {
$query = [
'user.email' => { ilike => $like_search },
- %{ $site_restriction },
];
} elsif ($search =~ /^id:(\d+)$/) {
$query = [
'me.id' => int($1),
- 'problem.id' => int($1),
- %{ $site_restriction },
+ 'me.problem_id' => int($1),
];
} elsif ($search =~ /^area:(\d+)$/) {
$query = [];
@@ -550,13 +548,13 @@ sub search_reports : Path('search_reports') {
'me.name' => { ilike => $like_search },
text => { ilike => $like_search },
'me.cobrand_data' => { ilike => $like_search },
- %{ $site_restriction },
];
}
if (@$query) {
my $updates = $c->model('DB::Comment')->search(
{
+ %{ $site_restriction },
-or => $query,
},
{
@@ -576,7 +574,7 @@ sub search_reports : Path('search_reports') {
sub report_edit : Path('report_edit') : Args(1) {
my ( $self, $c, $id ) = @_;
- my ( $site_res_sql, $site_key, $site_restriction ) = $c->cobrand->site_restriction;
+ my $site_restriction = $c->cobrand->site_restriction;
my $problem = $c->cobrand->problems->search(
{
@@ -737,8 +735,7 @@ sub search_users: Path('search_users') : Args(0) {
sub update_edit : Path('update_edit') : Args(1) {
my ( $self, $c, $id ) = @_;
- my ( $site_res_sql, $site_key, $site_restriction ) =
- $c->cobrand->site_restriction;
+ my $site_restriction = $c->cobrand->site_restriction;
my $update = $c->model('DB::Comment')->search(
{
id => $id,
@@ -1258,8 +1255,7 @@ sub check_page_allowed : Private {
sub set_up_council_details : Private {
my ($self, $c ) = @_;
- my @area_types = $c->cobrand->area_types;
- my $areas = mySociety::MaPit::call('areas', \@area_types);
+ my $areas = mySociety::MaPit::call('areas', $c->cobrand->area_types);
my @councils_ids = sort { strcoll($areas->{$a}->{name}, $areas->{$b}->{name}) } keys %$areas;
@councils_ids = $c->cobrand->filter_all_council_ids_list( @councils_ids );
diff --git a/perllib/FixMyStreet/App/Controller/Alert.pm b/perllib/FixMyStreet/App/Controller/Alert.pm
index 6e9ae819c..4e5319a59 100644
--- a/perllib/FixMyStreet/App/Controller/Alert.pm
+++ b/perllib/FixMyStreet/App/Controller/Alert.pm
@@ -184,7 +184,7 @@ sub create_alert : Private {
unless ($alert) {
$options->{cobrand} = $c->cobrand->moniker();
- $options->{cobrand_data} = $c->cobrand->extra_update_data();
+ $options->{cobrand_data} = '';
$options->{lang} = $c->stash->{lang_code};
$alert = $c->model('DB::Alert')->new($options);
diff --git a/perllib/FixMyStreet/App/Controller/Contact.pm b/perllib/FixMyStreet/App/Controller/Contact.pm
index c300aee9a..926a3f2a5 100644
--- a/perllib/FixMyStreet/App/Controller/Contact.pm
+++ b/perllib/FixMyStreet/App/Controller/Contact.pm
@@ -139,7 +139,7 @@ sub prepare_params_for_email : Private {
$c->stash->{message} =~ s/\r\n/\n/g;
$c->stash->{subject} =~ s/\r|\n/ /g;
- my $base_url = $c->cobrand->base_url_for_emails( $c->cobrand->extra_data );
+ my $base_url = $c->cobrand->base_url();
my $admin_url = $c->cobrand->admin_base_url;
if ( $c->stash->{update} ) {
diff --git a/perllib/FixMyStreet/App/Controller/Council.pm b/perllib/FixMyStreet/App/Controller/Council.pm
index 7a0f9b73f..a6ce533e4 100644
--- a/perllib/FixMyStreet/App/Controller/Council.pm
+++ b/perllib/FixMyStreet/App/Controller/Council.pm
@@ -23,8 +23,8 @@ there are no councils then return false.
sub load_and_check_councils_and_wards : Private {
my ( $self, $c ) = @_;
- my @area_types = ( $c->cobrand->area_types(), @$mySociety::VotingArea::council_child_types );
- $c->stash->{area_types} = \@area_types;
+ my $area_types = [ @{$c->cobrand->area_types}, @{$c->cobrand->area_types_children} ];
+ $c->stash->{area_types} = $area_types;
$c->forward('load_and_check_councils');
}
@@ -42,11 +42,11 @@ sub load_and_check_councils : Private {
my $longitude = $c->stash->{longitude};
# Look up councils and do checks for the point we've got
- my @area_types;
+ my $area_types;
if ( $c->stash->{area_types} and scalar @{ $c->stash->{area_types} } ) {
- @area_types = @{ $c->stash->{area_types} };
+ $area_types = $c->stash->{area_types};
} else {
- @area_types = $c->cobrand->area_types();
+ $area_types = $c->cobrand->area_types;
}
my $short_latitude = Utils::truncate_coordinate($latitude);
@@ -55,7 +55,7 @@ sub load_and_check_councils : Private {
# TODO: I think we want in_gb_locale around the MaPit line, needs testing
my $all_councils;
if ( $c->stash->{fetch_all_areas} ) {
- my %area_types = map { $_ => 1 } @area_types;
+ my %area_types = map { $_ => 1 } @$area_types;
my $all_areas =
mySociety::MaPit::call( 'point', "4326/$short_longitude,$short_latitude" );
$c->stash->{all_areas} = $all_areas;
@@ -67,7 +67,11 @@ sub load_and_check_councils : Private {
} else {
$all_councils =
mySociety::MaPit::call( 'point', "4326/$short_longitude,$short_latitude",
- type => \@area_types );
+ type => $area_types );
+ }
+ if ($all_councils->{error}) {
+ $c->stash->{location_error} = $all_councils->{error};
+ return;
}
# Let cobrand do a check
@@ -83,9 +87,8 @@ sub load_and_check_councils : Private {
$c->cobrand->remove_redundant_councils($all_councils) if $c->stash->{remove_redundant_councils};
# If we don't have any councils we can't accept the report
- if ( !scalar keys %$all_councils || $all_councils->{error}) {
- $c->stash->{location_offshore} = 1;
- $c->stash->{location_error} = 'That point is outside the boundaries.';
+ if ( !scalar keys %$all_councils ) {
+ $c->stash->{location_error} = _('That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again.');
return;
}
diff --git a/perllib/FixMyStreet/App/Controller/Location.pm b/perllib/FixMyStreet/App/Controller/Location.pm
index df8a090c2..c3d754485 100644
--- a/perllib/FixMyStreet/App/Controller/Location.pm
+++ b/perllib/FixMyStreet/App/Controller/Location.pm
@@ -104,7 +104,7 @@ sub check_location : Private {
eval { Utils::convert_latlon_to_en( $c->stash->{latitude}, $c->stash->{longitude} ); };
if (my $error = $@) {
mySociety::Locale::pop(); # We threw exception, so it won't have happened.
- $error = _('That location does not appear to be in Britain; please try again.')
+ $error = _('That location does not appear to be in the UK; please try again.')
if $error =~ /of the area covered/;
$c->stash->{location_error} = $error;
return;
diff --git a/perllib/FixMyStreet/App/Controller/Open311.pm b/perllib/FixMyStreet/App/Controller/Open311.pm
index 34e2b7cd3..040b0d3e6 100644
--- a/perllib/FixMyStreet/App/Controller/Open311.pm
+++ b/perllib/FixMyStreet/App/Controller/Open311.pm
@@ -163,10 +163,10 @@ sub get_services : Private {
my $categories = $c->model('DB::Contact')->not_deleted;
if ($lat || $lon) {
- my @area_types = $c->cobrand->area_types;
+ my $area_types = $c->cobrand->area_types;
my $all_councils = mySociety::MaPit::call('point',
"4326/$lon,$lat",
- type => \@area_types);
+ type => $area_types);
$categories = $categories->search( {
area_id => [ keys %$all_councils ],
} );
@@ -319,8 +319,6 @@ sub get_requests : Private {
service_request_id => [ '=', 'id' ],
service_code => [ '=', 'category' ],
status => [ 'IN', 'state' ],
- start_date => [ '>=', 'confirmed' ],
- end_date => [ '<', 'confirmed' ],
agency_responsible => [ '~', 'council' ],
interface_used => [ '=', 'service' ],
has_photo => [ '=', 'photo' ],
@@ -365,6 +363,14 @@ sub get_requests : Private {
$criteria->{$key} = { $op, $value };
}
+ if ( $c->req->param('start_date') and $c->req->param('end_date') ) {
+ $criteria->{confirmed} = [ '-and' => { '>=', $c->req->param('start_date') }, { '<', $c->req->param('end_date') } ];
+ } elsif ( $c->req->param('start_date') ) {
+ $criteria->{confirmed} = { '>=', $c->req->param('start_date') };
+ } elsif ( $c->req->param('end_date') ) {
+ $criteria->{confirmed} = { '<', $c->req->param('end_date') };
+ }
+
if ('rss' eq $c->stash->{format}) {
$c->stash->{type} = 'new_problems';
$c->forward( '/rss/lookup_type' );
diff --git a/perllib/FixMyStreet/App/Controller/Questionnaire.pm b/perllib/FixMyStreet/App/Controller/Questionnaire.pm
index 6aa4f7604..f0cc72e07 100755
--- a/perllib/FixMyStreet/App/Controller/Questionnaire.pm
+++ b/perllib/FixMyStreet/App/Controller/Questionnaire.pm
@@ -31,27 +31,27 @@ sub check_questionnaire : Private {
my $questionnaire = $c->stash->{questionnaire};
- my $problem_id = $questionnaire->problem_id;
+ my $problem = $questionnaire->problem;
if ( $questionnaire->whenanswered ) {
- my $problem_url = $c->uri_for( "/report/$problem_id" );
+ my $problem_url = $c->cobrand->base_url_for_report( $problem ) . $problem->url;
my $contact_url = $c->uri_for( "/contact" );
$c->stash->{message} = sprintf(_("You have already answered this questionnaire. If you have a question, please <a href='%s'>get in touch</a>, or <a href='%s'>view your problem</a>.\n"), $contact_url, $problem_url);
$c->stash->{template} = 'errors/generic.html';
$c->detach;
}
- unless ( $questionnaire->problem->is_visible ) {
+ unless ( $problem->is_visible ) {
$c->detach('missing_problem');
}
- $c->stash->{problem} = $questionnaire->problem;
- $c->stash->{answered_ever_reported} = $questionnaire->problem->user->answered_ever_reported;
+ $c->stash->{problem} = $problem;
+ $c->stash->{answered_ever_reported} = $problem->user->answered_ever_reported;
# EHA needs to know how many to alter display, and whether to send another or not
if ($c->cobrand->moniker eq 'emptyhomes') {
$c->stash->{num_questionnaire} = $c->model('DB::Questionnaire')->count(
- { problem_id => $c->stash->{problem}->id }
+ { problem_id => $problem->id }
);
}
@@ -96,15 +96,16 @@ sub submit_creator_fixed : Private {
my @errors;
- map { $c->stash->{$_} = $c->req->params->{$_} || '' } qw(reported problem);
+ $c->stash->{reported} = $c->req->params->{reported};
+ $c->stash->{problem_id} = $c->req->params->{problem};
# should only be able to get to here if we are logged and we have a
# problem
- unless ( $c->user && $c->stash->{problem} ) {
+ unless ( $c->user && $c->stash->{problem_id} ) {
$c->detach('missing_problem');
}
- my $problem = $c->cobrand->problems->find( { id => $c->stash->{problem} } );
+ my $problem = $c->cobrand->problems->find( { id => $c->stash->{problem_id} } );
# you should not be able to answer questionnaires about problems
# that you've not submitted
@@ -114,13 +115,12 @@ sub submit_creator_fixed : Private {
push @errors, _('Please say whether you\'ve ever reported a problem to your council before') unless $c->stash->{reported};
- $c->stash->{problem_id} = $c->stash->{problem};
$c->stash->{errors} = \@errors;
$c->detach( 'creator_fixed' ) if scalar @errors;
my $questionnaire = $c->model( 'DB::Questionnaire' )->find_or_new(
{
- problem_id => $c->stash->{problem},
+ problem_id => $c->stash->{problem_id},
# we want to look for any previous questionnaire here rather than one for
# this specific open state -> fixed transistion
old_state => [ FixMyStreet::DB::Result::Problem->open_states() ],
@@ -199,7 +199,7 @@ sub submit_standard : Private {
mark_open => $new_state eq 'confirmed' ? 1 : 0,
lang => $c->stash->{lang_code},
cobrand => $c->cobrand->moniker,
- cobrand_data => $c->cobrand->extra_update_data,
+ cobrand_data => '',
confirmed => \'ms_current_timestamp()',
anonymous => $problem->anonymous,
}
@@ -281,10 +281,10 @@ sub display : Private {
map { Utils::truncate_coordinate($_) }
( $problem->latitude, $problem->longitude );
- $c->stash->{updates} = $c->model('DB::Comment')->search(
+ $c->stash->{updates} = [ $c->model('DB::Comment')->search(
{ problem_id => $problem->id, state => 'confirmed' },
{ order_by => 'confirmed' }
- );
+ )->all ];
$c->stash->{page} = 'questionnaire';
FixMyStreet::Map::display_map(
diff --git a/perllib/FixMyStreet/App/Controller/Report.pm b/perllib/FixMyStreet/App/Controller/Report.pm
index 6f249b2fe..d36ba32fe 100644
--- a/perllib/FixMyStreet/App/Controller/Report.pm
+++ b/perllib/FixMyStreet/App/Controller/Report.pm
@@ -115,8 +115,6 @@ sub format_problem_for_display : Private {
my $problem = $c->stash->{problem};
- $c->stash->{banner} = $c->cobrand->generate_problem_banner($problem);
-
( $c->stash->{short_latitude}, $c->stash->{short_longitude} ) =
map { Utils::truncate_coordinate($_) }
( $problem->latitude, $problem->longitude );
@@ -125,7 +123,7 @@ sub format_problem_for_display : Private {
$c->stash->{add_alert} = 1;
}
- $c->stash->{extra_name_info} = $problem->council eq '2482' ? 1 : 0;
+ $c->stash->{extra_name_info} = $problem->council && $problem->council eq '2482' ? 1 : 0;
$c->forward('generate_map_tags');
diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm
index b0b338c69..b18e6e39f 100644
--- a/perllib/FixMyStreet/App/Controller/Report/New.pm
+++ b/perllib/FixMyStreet/App/Controller/Report/New.pm
@@ -78,6 +78,7 @@ partial
=cut
use constant COUNCIL_ID_BARNET => 2489;
+use constant COUNCIL_ID_BROMLEY => 2482;
sub report_new : Path : Args(0) {
my ( $self, $c ) = @_;
@@ -93,6 +94,7 @@ sub report_new : Path : Args(0) {
$c->stash->{template} = "report/new/fill_in_details.html";
$c->forward('setup_categories_and_councils');
$c->forward('generate_map');
+ $c->forward('check_for_category');
# deal with the user and report and check both are happy
return unless $c->forward('check_form_submitted');
@@ -614,12 +616,12 @@ sub setup_categories_and_councils : Private {
);
$category_label = _('Property type:');
- } elsif ($first_council->{id} != 2482 && $first_council->{type} eq 'LBO') {
+ } elsif ($first_council->{id} != COUNCIL_ID_BROMLEY && $first_council->{type} eq 'LBO') {
$area_ids_to_list{ $first_council->{id} } = 1;
my @local_categories;
if ($first_council->{id} == COUNCIL_ID_BARNET) {
- @local_categories = sort(keys %{ Utils::barnet_categories() }); # removed 'Other' option
+ @local_categories = sort keys %{ Utils::barnet_categories() }
} else {
@local_categories = sort keys %{ Utils::london_categories() }
}
@@ -639,8 +641,6 @@ sub setup_categories_and_councils : Private {
$area_ids_to_list{ $contact->area_id } = 1;
- next if $contact->category eq _('Other');
-
unless ( $seen{$contact->category} ) {
push @category_options, $contact->category;
@@ -651,9 +651,9 @@ sub setup_categories_and_councils : Private {
}
if (@category_options) {
- @category_options = ( _('-- Pick a category --'), @category_options );
- push @category_options, _('Other')
- unless $first_council->{id} == 2482;
+ # If there's an Other category present, put it at the bottom
+ @category_options = ( _('-- Pick a category --'), grep { $_ ne _('Other') } @category_options );
+ push @category_options, _('Other') if $seen{_('Other')};
$category_label = _('Category');
}
}
@@ -664,7 +664,7 @@ sub setup_categories_and_councils : Private {
$c->stash->{category_options} = \@category_options;
$c->stash->{category_extras} = \%category_extras;
$c->stash->{category_extras_json} = encode_json \%category_extras;
- $c->stash->{extra_name_info} = $first_council->{id} == 2482 ? 1 : 0;
+ $c->stash->{extra_name_info} = $first_council->{id} == COUNCIL_ID_BROMLEY ? 1 : 0;
my @missing_details_councils =
grep { !$area_ids_to_list{$_} } #
@@ -815,12 +815,12 @@ sub process_report : Private {
} elsif ( $first_council->{id} == COUNCIL_ID_BARNET ) {
- unless ( exists Utils::barnet_categories()->{ $report->category } or $report->category eq 'Other') {
+ unless ( exists Utils::barnet_categories()->{ $report->category } ) {
$c->stash->{field_errors}->{category} = _('Please choose a category');
}
$report->council( $first_council->{id} );
- } elsif ( $first_council->{id} != 2482 && $first_council->{type} eq 'LBO') {
+ } elsif ( $first_council->{id} != COUNCIL_ID_BROMLEY && $first_council->{type} eq 'LBO') {
unless ( Utils::london_categories()->{ $report->category } ) {
$c->stash->{field_errors}->{category} = _('Please choose a category');
@@ -896,7 +896,7 @@ sub process_report : Private {
# save the cobrand and language related information
$report->cobrand( $c->cobrand->moniker );
- $report->cobrand_data( $c->cobrand->extra_problem_data );
+ $report->cobrand_data( '' );
$report->lang( $c->stash->{lang_code} );
return 1;
@@ -1055,6 +1055,14 @@ sub generate_map : Private {
return 1;
}
+sub check_for_category : Private {
+ my ( $self, $c ) = @_;
+
+ $c->stash->{category} = $c->req->param('category');
+
+ return 1;
+}
+
=head2 redirect_or_confirm_creation
Now that the report has been created either redirect the user to its page if it
@@ -1075,7 +1083,7 @@ sub redirect_or_confirm_creation : Private {
if ( $c->cobrand->moniker eq 'fixmybarangay' && $c->user->from_council && $c->stash->{external_source_id}) {
$report_uri = $c->uri_for( '/report', $report->id, undef, { external_source_id => $c->stash->{external_source_id} } );
} else {
- $report_uri = $c->uri_for( '/report', $report->id );
+ $report_uri = $c->cobrand->base_url_for_report( $report ) . $report->url;
}
$c->log->info($report->user->id . ' was logged in, redirecting to /report/' . $report->id);
$c->res->redirect($report_uri);
diff --git a/perllib/FixMyStreet/App/Controller/Report/Update.pm b/perllib/FixMyStreet/App/Controller/Report/Update.pm
index 3a2b40c2c..c49123a90 100644
--- a/perllib/FixMyStreet/App/Controller/Report/Update.pm
+++ b/perllib/FixMyStreet/App/Controller/Report/Update.pm
@@ -189,7 +189,7 @@ sub process_update : Private {
mark_fixed => $params{fixed} ? 1 : 0,
mark_open => $params{reopen} ? 1 : 0,
cobrand => $c->cobrand->moniker,
- cobrand_data => $c->cobrand->extra_update_data,
+ cobrand_data => '',
lang => $c->stash->{lang_code},
anonymous => $anonymous,
}
@@ -348,7 +348,7 @@ sub redirect_or_confirm_creation : Private {
if ( $update->confirmed ) {
$c->forward( 'update_problem' );
$c->forward( 'signup_for_alerts' );
- my $report_uri = $c->uri_for( '/report', $update->problem_id );
+ my $report_uri = $c->cobrand->base_url_for_report( $update->problem ) . $update->problem->url;
$c->res->redirect($report_uri);
$c->detach;
}
diff --git a/perllib/FixMyStreet/App/Controller/Reports.pm b/perllib/FixMyStreet/App/Controller/Reports.pm
index c5f709054..37766db44 100644
--- a/perllib/FixMyStreet/App/Controller/Reports.pm
+++ b/perllib/FixMyStreet/App/Controller/Reports.pm
@@ -34,8 +34,8 @@ sub index : Path : Args(0) {
# Fetch all areas of the types we're interested in
my $areas_info;
eval {
- my @area_types = $c->cobrand->area_types;
- $areas_info = mySociety::MaPit::call('areas', \@area_types,
+ my $area_types = $c->cobrand->area_types;
+ $areas_info = mySociety::MaPit::call('areas', $area_types,
min_generation => $c->cobrand->area_min_generation
);
};
@@ -57,6 +57,7 @@ sub index : Path : Args(0) {
$c->stash->{areas_info} = $areas_info;
my @keys = sort { strcoll($areas_info->{$a}{name}, $areas_info->{$b}{name}) } keys %$areas_info;
+ @keys = $c->cobrand->filter_all_council_ids_list( @keys );
$c->stash->{areas_info_sorted} = [ map { $areas_info->{$_} } @keys ];
eval {
@@ -68,8 +69,11 @@ sub index : Path : Args(0) {
$c->stash->{open} = $j->{open};
};
if ($@) {
- $c->stash->{message} = _("There was a problem showing the All Reports page. Please try again later.") . ' ' .
- sprintf(_('The error was: %s'), $@);
+ $c->stash->{message} = _("There was a problem showing the All Reports page. Please try again later.");
+ if ($c->config->{STAGING_SITE}) {
+ $c->stash->{message} .= '</p><p>Perhaps the bin/update-all-reports script needs running.</p><p>'
+ . sprintf(_('The error was: %s'), $@);
+ }
$c->stash->{template} = 'errors/generic.html';
return;
}
@@ -126,6 +130,8 @@ sub ward : Path : Args(2) {
any_zoom => 1,
);
+ $c->cobrand->tweak_all_reports_map( $c );
+
# List of wards
unless ($c->stash->{ward}) {
my $children = mySociety::MaPit::call('area/children', [ $c->stash->{council}->{id} ],
@@ -211,13 +217,6 @@ sub council_check : Private {
$q_council =~ s/\+/ /g;
$q_council =~ s/\.html//;
- # Manual misspelling redirect
- if ($q_council =~ /^rhondda cynon taff$/i) {
- my $url = $c->uri_for( '/reports/rhondda+cynon+taf' );
- $c->res->redirect( $url );
- $c->detach();
- }
-
# Check cobrand specific incantations - e.g. ONS codes for UK,
# Oslo/ kommunes sharing a name in Norway
return if $c->cobrand->reports_council_check( $c, $q_council );
@@ -232,9 +231,9 @@ sub council_check : Private {
}
# We must now have a string to check
- my @area_types = $c->cobrand->area_types;
+ my $area_types = $c->cobrand->area_types;
my $areas = mySociety::MaPit::call( 'areas', $q_council,
- type => \@area_types,
+ type => $area_types,
min_generation => $c->cobrand->area_min_generation
);
if (keys %$areas == 1) {
@@ -351,7 +350,7 @@ sub load_and_group_problems : Private {
{ photo => 'photo is not null' },
],
order_by => { -desc => 'lastupdate' },
- rows => 100,
+ rows => $c->cobrand->reports_per_page,
}
)->page( $page );
$c->stash->{pager} = $problems->pager;
diff --git a/perllib/FixMyStreet/App/Controller/Rss.pm b/perllib/FixMyStreet/App/Controller/Rss.pm
index 4d0b6cb93..fe4b652ed 100755
--- a/perllib/FixMyStreet/App/Controller/Rss.pm
+++ b/perllib/FixMyStreet/App/Controller/Rss.pm
@@ -172,7 +172,6 @@ sub generate : Private {
$c->stash->{rss} = new XML::RSS(
version => '2.0',
encoding => 'UTF-8',
- stylesheet => $c->cobrand->feed_xsl,
encode_output => undef
);
$c->stash->{rss}->add_module(
@@ -205,14 +204,10 @@ sub query_main : Private {
my ( $self, $c ) = @_;
my $alert_type = $c->stash->{alert_type};
- my ( $site_restriction, $site_id ) = $c->cobrand->site_restriction( $c->cobrand->extra_data );
- # Only apply a site restriction if the alert uses the problem table
- $site_restriction = '' unless $alert_type->item_table eq 'problem';
-
# FIXME Do this in a nicer way at some point in the future...
my $query = 'select * from ' . $alert_type->item_table . ' where '
. ($alert_type->head_table ? $alert_type->head_table . '_id=? and ' : '')
- . $alert_type->item_where . $site_restriction . ' order by '
+ . $alert_type->item_where . ' order by '
. $alert_type->item_order;
my $rss_limit = mySociety::Config::get('RSS_LIMIT');
$query .= " limit $rss_limit" unless $c->stash->{type} =~ /^all/;
@@ -250,12 +245,13 @@ sub add_row : Private {
(my $title = _($alert_type->item_title)) =~ s/{{(.*?)}}/$row->{$1}/g;
(my $link = $alert_type->item_link) =~ s/{{(.*?)}}/$row->{$1}/g;
(my $desc = _($alert_type->item_description)) =~ s/{{(.*?)}}/$row->{$1}/g;
- my $url = $c->uri_for( $link );
- if ( $row->{postcode} ) {
- my $pc = $c->cobrand->format_postcode( $row->{postcode} );
- $title .= ", $pc";
+ my $hashref_restriction = $c->cobrand->site_restriction;
+ my $base_url = $c->cobrand->base_url;
+ if ( $hashref_restriction && $hashref_restriction->{council} && $row->{council} && $row->{council} ne $hashref_restriction->{council} ) {
+ $base_url = $c->config->{BASE_URL};
}
+ my $url = $base_url . $link;
my %item = (
title => ent($title),
@@ -268,7 +264,7 @@ sub add_row : Private {
if ($c->cobrand->allow_photo_display && $row->{photo}) {
my $key = $alert_type->item_table eq 'comment' ? 'c/' : '';
- $item{description} .= ent("\n<br><img src=\"". $c->cobrand->base_url . "/photo/$key$row->{id}.jpeg\">");
+ $item{description} .= ent("\n<br><img src=\"". $base_url . "/photo/$key$row->{id}.jpeg\">");
}
if ( $row->{used_map} ) {
diff --git a/perllib/FixMyStreet/App/Controller/Tokens.pm b/perllib/FixMyStreet/App/Controller/Tokens.pm
index 1434838f2..03dc69b00 100644
--- a/perllib/FixMyStreet/App/Controller/Tokens.pm
+++ b/perllib/FixMyStreet/App/Controller/Tokens.pm
@@ -34,7 +34,8 @@ sub confirm_problem : Path('/P') {
# Load the problem
my $data = $auth_token->data;
my $problem_id = ref $data ? $data->{id} : $data;
- my $problem = $c->cobrand->problems->find( { id => $problem_id } )
+ # Look at all problems, not just cobrand, in case am approving something we don't actually show
+ my $problem = $c->model('DB::Problem')->find( { id => $problem_id } )
|| $c->detach('token_error');
$c->stash->{problem} = $problem;
@@ -78,7 +79,7 @@ sub confirm_problem : Path('/P') {
$c->set_session_cookie_expire(0);
if ( FixMyStreet::DB::Result::Problem->visible_states()->{$old_state} ) {
- my $report_uri = $c->uri_for( '/report', $problem->id );
+ my $report_uri = $c->cobrand->base_url_for_report( $problem ) . $problem->url;
$c->res->redirect($report_uri);
}
diff --git a/perllib/FixMyStreet/App/View/Web.pm b/perllib/FixMyStreet/App/View/Web.pm
index 092e362f9..eac194dff 100644
--- a/perllib/FixMyStreet/App/View/Web.pm
+++ b/perllib/FixMyStreet/App/View/Web.pm
@@ -83,14 +83,12 @@ sub tprintf {
[% display_crosssell_advert( email, name ) %]
-Displays a crosssell advert if permitted by the cobrand.
+Displays a crosssell advert (will be fixmystreet cobrand only).
=cut
sub display_crosssell_advert {
my ( $self, $c, $email, $name, %data ) = @_;
-
- return unless $c->cobrand->allow_crosssell_adverts();
return CrossSell::display_advert( $c, $email, $name, %data );
}
diff --git a/perllib/FixMyStreet/Cobrand.pm b/perllib/FixMyStreet/Cobrand.pm
index b88f6facc..881183463 100644
--- a/perllib/FixMyStreet/Cobrand.pm
+++ b/perllib/FixMyStreet/Cobrand.pm
@@ -38,7 +38,7 @@ Simply returns the config variable (so this function can be overridden in test s
=cut
sub _get_allowed_cobrands {
- return FixMyStreet->config('ALLOWED_COBRANDS');
+ return FixMyStreet->config('ALLOWED_COBRANDS') || [];
}
=head2 available_cobrand_classes
@@ -46,9 +46,9 @@ sub _get_allowed_cobrands {
@available_cobrand_classes =
FixMyStreet::Cobrand->available_cobrand_classes();
-Return an array of all the classes that were found and that have monikers
-that match the values from get_allowed_cobrands, in the order of
-get_allowed_cobrands.
+Return an array of all the classes from get_allowed_cobrands, in
+the order of get_allowed_cobrands, with added class information
+for those that have found classes.
=cut
@@ -58,7 +58,7 @@ sub available_cobrand_classes {
my %all = map { $_->moniker => $_ } @ALL_COBRAND_CLASSES;
my @avail;
foreach (@{ $class->get_allowed_cobrands }) {
- next unless $all{$_->{moniker}};
+ #next unless $all{$_->{moniker}};
$_->{class} = $all{$_->{moniker}};
push @avail, $_;
}
@@ -66,6 +66,20 @@ sub available_cobrand_classes {
return @avail;
}
+=head2 class
+
+=cut
+
+sub class {
+ my $avail = shift;
+ return $avail->{class} if $avail->{class};
+ my $moniker = $avail->{moniker};
+ Class::MOP::Class->create("FixMyStreet::Cobrand::$moniker" => (
+ superclasses => [ 'FixMyStreet::Cobrand::Default' ],
+ ));
+ return "FixMyStreet::Cobrand::$moniker";
+}
+
=head2 get_class_for_host
$cobrand_class = FixMyStreet::Cobrand->get_class_for_host( $host );
@@ -79,7 +93,7 @@ sub get_class_for_host {
my $host = shift;
foreach my $avail ( $class->available_cobrand_classes ) {
- return $avail->{class} if $host =~ /$avail->{host}/;
+ return class($avail) if $host =~ /$avail->{host}/;
}
# if none match then use the default
@@ -99,7 +113,7 @@ sub get_class_for_moniker {
my $moniker = shift;
foreach my $avail ( $class->available_cobrand_classes ) {
- return $avail->{class} if $moniker eq $avail->{moniker};
+ return class($avail) if $moniker eq $avail->{moniker};
}
# Special case for old blank cobrand entries in fixmystreet.com.
diff --git a/perllib/FixMyStreet/Cobrand/Barnet.pm b/perllib/FixMyStreet/Cobrand/Barnet.pm
index b3876a2c6..768ca9efb 100644
--- a/perllib/FixMyStreet/Cobrand/Barnet.pm
+++ b/perllib/FixMyStreet/Cobrand/Barnet.pm
@@ -1,5 +1,5 @@
package FixMyStreet::Cobrand::Barnet;
-use base 'FixMyStreet::Cobrand::UKCouncils';
+use parent 'FixMyStreet::Cobrand::UKCouncils';
use strict;
use warnings;
@@ -8,7 +8,6 @@ sub council_id { return 2489; }
sub council_area { return 'Barnet'; }
sub council_name { return 'Barnet Council'; }
sub council_url { return 'barnet'; }
-sub all_reports_style { return 'detailed'; }
sub path_to_web_templates {
my $self = shift;
@@ -25,83 +24,13 @@ sub disambiguate_location {
town => 'Barnet',
centre => '51.612832,-0.218169',
span => '0.0563,0.09',
- bounds => [ '51.584682,-0.263169', '51.640982,-0.173169' ],
+ bounds => [ 51.584682, -0.263169, 51.640982, -0.173169 ],
};
}
-sub generate_problem_banner {
- my ( $self, $problem ) = @_;
-
- my $banner = {};
- if ( $problem->is_open && time() - $problem->lastupdate_local->epoch > 8 * 7 * 24 * 60 * 60 )
- {
- $banner->{id} = 'unknown';
- $banner->{text} = _('Unknown');
- }
- if ($problem->is_fixed) {
- $banner->{id} = 'fixed';
- $banner->{text} = _('Fixed');
- }
- if ($problem->is_closed) {
- $banner->{id} = 'closed';
- $banner->{text} = _('Closed');
- }
-
- if ( grep { $problem->state eq $_ } ( 'investigating', 'in progress', 'planned' ) ) {
- $banner->{id} = 'progress';
- $banner->{text} = _('In progress');
- }
-
- return $banner;
-}
-
-sub council_rss_alert_options {
- my $self = shift;
- my $all_councils = shift;
- my $c = shift;
-
- my %councils = map { $_ => 1 } $self->area_types();
-
- my $num_councils = scalar keys %$all_councils;
-
- my ( @options, @reported_to_options );
- if ( $num_councils == 1 or $num_councils == 2 ) {
- my ($council, $ward);
- foreach (values %$all_councils) {
- if ($councils{$_->{type}}) {
- $council = $_;
- $council->{short_name} = $self->short_name( $council );
- ( $council->{id_name} = $council->{short_name} ) =~ tr/+/_/;
- } else {
- $ward = $_;
- $ward->{short_name} = $self->short_name( $ward );
- ( $ward->{id_name} = $ward->{short_name} ) =~ tr/+/_/;
- }
- }
-
- push @options,
- {
- type => 'council',
- id => sprintf( 'council:%s:%s', $council->{id}, $council->{id_name} ),
- text => 'All problems within the council.',
- rss_text => sprintf( _('RSS feed of problems within %s'), $council->{name}),
- uri => $c->uri_for( '/rss/reports/' . $council->{short_name} ),
- };
- push @options,
- {
- type => 'ward',
- id => sprintf( 'ward:%s:%s:%s:%s', $council->{id}, $ward->{id}, $council->{id_name}, $ward->{id_name} ),
- rss_text => sprintf( _('RSS feed of problems within %s ward'), $ward->{name}),
- text => sprintf( _('Problems within %s ward'), $ward->{name}),
- uri => $c->uri_for( '/rss/reports/' . $council->{short_name} . '/' . $ward->{short_name} ),
- } if $ward;
- }
-
- return ( \@options, @reported_to_options ? \@reported_to_options : undef );
-}
-
sub example_places {
return [ 'N11 1NP', 'Wood St' ];
}
+
1;
diff --git a/perllib/FixMyStreet/Cobrand/Base.pm b/perllib/FixMyStreet/Cobrand/Base.pm
index fada33b78..4941712b2 100644
--- a/perllib/FixMyStreet/Cobrand/Base.pm
+++ b/perllib/FixMyStreet/Cobrand/Base.pm
@@ -51,19 +51,5 @@ sub is_default {
return $self->moniker eq 'default';
}
-=head2 path_to_web_templates
-
- $path = $cobrand->path_to_web_templates( );
-
-Returns the path to the templates for this cobrand - by default
-"templates/web/$moniker"
-
-=cut
-
-sub path_to_web_templates {
- my $self = shift;
- return [ FixMyStreet->path_to( 'templates/web', $self->moniker )->stringify ];
-}
-
1;
diff --git a/perllib/FixMyStreet/Cobrand/Bromley.pm b/perllib/FixMyStreet/Cobrand/Bromley.pm
index c5c6c6345..c33135673 100644
--- a/perllib/FixMyStreet/Cobrand/Bromley.pm
+++ b/perllib/FixMyStreet/Cobrand/Bromley.pm
@@ -1,6 +1,4 @@
package FixMyStreet::Cobrand::Bromley;
-use mro 'c3';
-use parent 'FixMyStreet::Cobrand::FixMyStreet';
use parent 'FixMyStreet::Cobrand::UKCouncils';
use strict;
@@ -10,15 +8,12 @@ sub council_id { return 2482; }
sub council_area { return 'Bromley'; }
sub council_name { return 'Bromley Council'; }
sub council_url { return 'bromley'; }
-sub all_reports_style { return 'detailed'; }
sub base_url {
return FixMyStreet->config('BASE_URL') if FixMyStreet->config('STAGING_SITE');
return 'https://fix.bromley.gov.uk';
}
-sub admin_base_url { '' }
-
sub path_to_web_templates {
my $self = shift;
return [
@@ -27,22 +22,22 @@ sub path_to_web_templates {
];
}
-sub site_title {
- my ($self) = @_;
- return "London Borough of Bromley - Report a problem in Bromley\x{2019}s streets or parks";
-}
-sub site_name {
- return 'Bromley FixMyStreet';
-}
-
sub disambiguate_location {
- my $self = shift;
+ my $self = shift;
+ my $string = shift;
+
+ my $town = 'Bromley';
+ # Bing turns High St Bromley into Bromley High St which is in
+ # Bromley by Bow.
+ if ( $string =~ /high\+st/i ) {
+ $town .= ', BR1';
+ }
return {
%{ $self->SUPER::disambiguate_location() },
- town => 'Bromley',
+ town => $town,
centre => '51.366836,0.040623',
span => '0.154963,0.24347',
- bounds => [ '51.289355,-0.081112', '51.444318,0.162358' ],
+ bounds => [ 51.289355, -0.081112, 51.444318, 0.162358 ],
};
}
@@ -91,5 +86,20 @@ sub contact_email {
}
sub contact_name { 'Bromley Council (do not reply)'; }
+sub reports_per_page { return 20; }
+
+sub tweak_all_reports_map {
+ my $self = shift;
+ my $c = shift;
+
+ if ( !$c->stash->{ward} ) {
+ $c->stash->{map}->{longitude} = 0.040622967881348;
+ $c->stash->{map}->{latitude} = 51.36690161822;
+ $c->stash->{map}->{any_zoom} = 0;
+ $c->stash->{map}->{zoom} = 11;
+ }
+}
+
+
1;
diff --git a/perllib/FixMyStreet/Cobrand/Default.pm b/perllib/FixMyStreet/Cobrand/Default.pm
index 87bd2d316..0eff95d48 100644
--- a/perllib/FixMyStreet/Cobrand/Default.pm
+++ b/perllib/FixMyStreet/Cobrand/Default.pm
@@ -11,14 +11,34 @@ use Carp;
use mySociety::MaPit;
use mySociety::PostcodeUtil;
+=head1 path_to_web_templates
+
+ $path = $cobrand->path_to_web_templates( );
+
+Returns the path to the templates for this cobrand - by default
+"templates/web/$moniker" and "templates/web/fixmystreet"
+
+=cut
+
+sub path_to_web_templates {
+ my $self = shift;
+ my $paths = [];
+ push @$paths, FixMyStreet->path_to( 'templates/web', $self->moniker )->stringify
+ unless $self->is_default;
+ push @$paths, FixMyStreet->path_to( 'templates/web/fixmystreet' )->stringify;
+ return $paths;
+}
+
=head1 country
Returns the country that this cobrand operates in, as an ISO3166-alpha2 code.
+Default is none. This is not really used for anything important (minor GB only
+things involving eastings/northings mostly).
=cut
sub country {
- return 'GB';
+ return '';
}
=head1 problems_clause
@@ -44,13 +64,14 @@ sub problems {
=head1 site_restriction
-Return a site restriction clause and a site key if the cobrand uses a subset of
-the FixMyStreet data. Parameter is any extra data the cobrand needs. Returns an
-empty string and site key 0 if the cobrand uses all the data.
+Return a site key and a hash of extra query parameters if the cobrand uses a
+subset of the FixMyStreet data. Parameter is any extra data the cobrand needs.
+Returns a site key of 0 and an empty hash if the cobrand uses all the data.
=cut
-sub site_restriction { return ( "", 0, {} ) }
+sub site_restriction { return {}; }
+sub site_key { return 0; }
=head2 restriction
@@ -64,31 +85,13 @@ sub restriction {
return $self->moniker ? { cobrand => $self->moniker } : {};
}
-=head2 base_url_for_emails
-
-Return the base url to use in links in emails for the cobranded version of the
-site, parameter is extra data.
-
-=cut
-
-sub base_url_for_emails {
- my $self = shift;
- return $self->base_url;
-}
-
=head2 base_url_with_lang
=cut
sub base_url_with_lang {
my $self = shift;
- my $email = shift;
-
- if ($email) {
- return $self->base_url_for_emails;
- } else {
- return $self->base_url;
- }
+ return $self->base_url;
}
=head2 admin_base_url
@@ -97,23 +100,27 @@ Base URL for the admin interface.
=cut
-sub admin_base_url { '' }
+sub admin_base_url { FixMyStreet->config('ADMIN_BASE_URL') || '' }
-=head2 writetothem_url
+=head2 base_url
-URL for writetothem; parameter is COBRAND_DATA.
+Return the base url for the cobranded version of the site
=cut
-sub writetothem_url { 0 }
+sub base_url { FixMyStreet->config('BASE_URL') }
-=head2 base_url
+=head2 base_url_for_report
-Return the base url for the cobranded version of the site
+Return the base url for a report (might be different in a two-tier county, but
+most of the time will be same as base_url).
=cut
-sub base_url { mySociety::Config::get('BASE_URL') }
+sub base_url_for_report {
+ my ( $self, $report ) = @_;
+ return $self->base_url;
+}
=head2 base_host
@@ -129,21 +136,12 @@ sub base_host {
=head2 enter_postcode_text
-Return the text that prompts the user to enter their postcode/place name.
-Parameter is QUERY
-
-=cut
-
-sub enter_postcode_text { _('Enter a nearby street name and area') }
-
-=head2 all_reports_style
-
-Return the type of problem information to display on the all reports
-pages for councils. Can be either simple or detailed.
+Return override text that prompts the user to enter their postcode/place name.
+Can be specified in template.
=cut
-sub all_reports_style { return 'simple'; }
+sub enter_postcode_text { }
=head2 set_lang_and_domain
@@ -155,13 +153,19 @@ Set the language and domain of the site based on the cobrand and host.
sub set_lang_and_domain {
my ( $self, $lang, $unicode, $dir ) = @_;
- my $set_lang = mySociety::Locale::negotiate_language(
- 'en-gb,English,en_GB', $lang
- );
- mySociety::Locale::gettext_domain( 'FixMyStreet', $unicode, $dir );
+
+ my $languages = join('|', @{$self->languages});
+ my $lang_override = $self->language_override || $lang;
+ my $lang_domain = $self->language_domain || 'FixMyStreet';
+
+ my $set_lang = mySociety::Locale::negotiate_language( $languages, $lang_override );
+ mySociety::Locale::gettext_domain( $lang_domain, $unicode, $dir );
mySociety::Locale::change();
return $set_lang;
}
+sub languages { FixMyStreet->config('LANGUAGES') || [ 'en-gb,English,en_GB' ] }
+sub language_domain { }
+sub language_override { }
=head2 alert_list_options
@@ -242,17 +246,11 @@ sub front_stats_data {
=head2 disambiguate_location
-Returns disambiguating information available
+Returns any disambiguating information available. Defaults to none.
=cut
-sub disambiguate_location {
- return {
- country => 'uk',
- bing_culture => 'en-GB',
- bing_country => 'United Kingdom'
- };
-}
+sub disambiguate_location { FixMyStreet->config('GEOCODING_DISAMBIGUATION') or {}; }
=head2 cobrand_data_for_generic_update
@@ -272,54 +270,6 @@ Return cobrand extra data for the problem
sub cobrand_data_for_generic_problem { '' }
-=head2 extra_problem_data
-
-Parameter is QUERY. Return a string of extra data to be stored with a problem
-
-=cut
-
-sub extra_problem_data { '' }
-
-=head2 extra_update_data
-
-Parameter is QUERY. Return a string of extra data to be stored with an update
-
-=cut
-
-sub extra_update_data { '' }
-
-=head2 extra_alert_data
-
-Parameter is QUERY. Return a string of extra data to be stored with an alert
-
-=cut
-
-sub extra_alert_data { '' }
-
-=head2 extra_data
-
-Given a QUERY, extract any extra data required by the cobrand
-
-=cut
-
-sub extra_data { '' }
-
-=head2 extra_problem_meta_text
-
-Returns any extra text to be displayed with a PROBLEM.
-
-=cut
-
-sub extra_problem_meta_text { '' }
-
-=head2 extra_update_meta_text
-
-Returns any extra text to be displayed with an UPDATE.
-
-=cut
-
-sub extra_update_meta_text { '' }
-
=head2 uri
Given a URL ($_[1]), QUERY, EXTRA_DATA, return a URL with any extra params
@@ -352,24 +302,6 @@ Return any params to be added to responses
sub header_params { return {} }
-=head2 site_title
-
-Return the title to be used in page heads.
-
-=cut
-
-sub site_title { 'FixMyStreet' }
-
-=head2 site_name
-
-Return short name for use in emails.
-
-=cut
-sub site_name {
- my $self = shift;
- $self->site_title;
-}
-
=head2 map_type
Return an override type of map if necessary.
@@ -381,6 +313,16 @@ sub map_type {
return;
}
+=head2 reports_per_page
+
+The number of reports to show per page on all reports page.
+
+=cut
+
+sub reports_per_page {
+ return FixMyStreet->config('ALL_REPORTS_PER_PAGE') || 100;
+}
+
=head2 on_map_list_limit
Return the maximum number of items to be given in the list of reports on the map
@@ -405,15 +347,6 @@ Return a boolean indicating whether the cobrand allows photo uploads
sub allow_photo_upload { return 1; }
-=head2 allow_crosssell_adverts
-
-Return a boolean indicating whether the cobrand allows the display of crosssell
-adverts
-
-=cut
-
-sub allow_crosssell_adverts { return 1; }
-
=head2 allow_photo_display
Return a boolean indicating whether the cobrand allows photo display
@@ -439,35 +372,6 @@ Given a QUERY, return LAT/LON and/or ERROR.
sub geocode_postcode {
my ( $self, $s ) = @_;
-
- if ($s =~ /^\d+$/) {
- return {
- error => 'FixMyStreet is a UK-based website that currently works in England, Scotland, and Wales. Please enter either a postcode, or a Great British street name and area.'
- };
- } elsif (mySociety::PostcodeUtil::is_valid_postcode($s)) {
- my $location = mySociety::MaPit::call('postcode', $s);
- if ($location->{error}) {
- return {
- error => $location->{code} =~ /^4/
- ? _('That postcode was not recognised, sorry.')
- : $location->{error}
- };
- }
- my $island = $location->{coordsyst};
- if (!$island) {
- return {
- error => _("Sorry, that appears to be a Crown dependency postcode, which we don't cover.")
- };
- } elsif ($island eq 'I') {
- return {
- error => _("We do not currently cover Northern Ireland, I'm afraid.")
- };
- }
- return {
- latitude => $location->{wgs84_lat},
- longitude => $location->{wgs84_lon},
- };
- }
return {};
}
@@ -502,17 +406,6 @@ sub find_closest {
}
}
- # Get nearest postcode from Matthew's random gazetteer (put in MaPit? Or elsewhere?)
- my $url = "http://gazetteer.dracos.vm.bytemark.co.uk/point/$latitude,$longitude.json";
- my $j = LWP::Simple::get($url);
- if ($j) {
- $j = JSON->new->utf8->allow_nonref->decode($j);
- if ($j->{postcode}) {
- $str .= sprintf(_("Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"),
- $j->{postcode}[0], $j->{postcode}[1]) . "\n\n";
- }
- }
-
return $str;
}
@@ -581,14 +474,6 @@ COUNCILS pass any extra checks. CONTEXT is where we are on the site.
sub council_check { return ( 1, '' ); }
-=head2 feed_xsl
-
-Return an XSL to be used in rendering feeds
-
-=cut
-
-sub feed_xsl { '/xsl.xsl' }
-
=head2 all_councils_report
Return a boolean indicating whether the cobrand displays a report of all
@@ -636,7 +521,8 @@ The MaPit types this site handles
=cut
-sub area_types { qw(ZZZ) }
+sub area_types { FixMyStreet->config('MAPIT_TYPES') || [ 'ZZZ' ] }
+sub area_types_children { FixMyStreet->config('MAPIT_TYPES_CHILDREN') || [] }
sub area_min_generation { '' }
=head2 contact_name, contact_email
@@ -646,42 +532,8 @@ used in emails).
=cut
-sub contact_name { $_[0]->get_cobrand_conf('CONTACT_NAME') }
-sub contact_email { $_[0]->get_cobrand_conf('CONTACT_EMAIL') }
-
-=head2 get_cobrand_conf COBRAND KEY
-
-Get the value for KEY from the config file for COBRAND
-
-=cut
-
-sub get_cobrand_conf {
- my ( $self, $key ) = @_;
- my $value = undef;
- my $cobrand_moniker = $self->moniker;
-
- my $cobrand_config_file =
- FixMyStreet->path_to("conf/cobrands/$cobrand_moniker/general");
- my $normal_config_file = FixMyStreet->path_to('conf/general');
-
- if ( -e $cobrand_config_file ) {
-
- # FIXME - don't rely on the config file name - should
- # change mySociety::Config so that it can return values from a
- # particular config file instead
- mySociety::Config::set_file("$cobrand_config_file");
- my $config_key = $key . "_" . uc($cobrand_moniker);
- $value = mySociety::Config::get( $config_key, undef );
- mySociety::Config::set_file("$normal_config_file");
- }
-
- # If we didn't find a value use one from normal config
- if ( !defined($value) ) {
- $value = mySociety::Config::get($key);
- }
-
- return $value;
-}
+sub contact_name { FixMyStreet->config('CONTACT_NAME') }
+sub contact_email { FixMyStreet->config('CONTACT_EMAIL') }
=item email_host
@@ -702,16 +554,6 @@ Remove councils whose reports go to another council
sub remove_redundant_councils {
my $self = shift;
my $all_councils = shift;
-
- # Ipswich & St Edmundsbury are responsible for everything in their
- # areas, not Suffolk
- delete $all_councils->{2241}
- if $all_councils->{2446} #
- || $all_councils->{2443};
-
- # Norwich is responsible for everything in its areas, not Norfolk
- delete $all_councils->{2233} #
- if $all_councils->{2391};
}
=item filter_all_council_ids_list
@@ -733,23 +575,21 @@ Remove extra information from council names for tidy URIs
=cut
sub short_name {
- my $self = shift;
- my ($area, $info) = @_;
- # Special case Durham as it's the only place with two councils of the same name
- return 'Durham+County' if $area->{name} eq 'Durham County Council';
- return 'Durham+City' if $area->{name} eq 'Durham City Council';
-
- my $name = $area->{name};
- $name =~ s/ (Borough|City|District|County) Council$//;
- $name =~ s/ Council$//;
- $name =~ s/ & / and /;
- $name =~ s{/}{_}g;
- $name = URI::Escape::uri_escape_utf8($name);
- $name =~ s/%20/+/g;
- return $name;
-
+ my $self = shift;
+ my ($area, $info) = @_;
+ my $name = $area->{name};
+ $name = URI::Escape::uri_escape_utf8($name);
+ $name =~ s/%20/+/g;
+ return $name;
}
+=item is_council
+
+For UK sub-cobrands, to specify various alternations needed for them.
+
+=cut
+sub is_council { 0; }
+
=item council_rss_alert_options
Generate a set of options for council rss alerts.
@@ -757,187 +597,34 @@ Generate a set of options for council rss alerts.
=cut
sub council_rss_alert_options {
- my $self = shift;
- my $all_councils = shift;
- my $c = shift;
-
- my %councils = map { $_ => 1 } $self->area_types();
+ my ( $self, $all_councils, $c ) = @_;
- my $num_councils = scalar keys %$all_councils;
-
- my ( @options, @reported_to_options );
- if ( $num_councils == 1 or $num_councils == 2 ) {
- my ($council, $ward);
+ my ( @options, @reported_to_options );
foreach (values %$all_councils) {
- if ($councils{$_->{type}}) {
- $council = $_;
- $council->{short_name} = $self->short_name( $council );
- ( $council->{id_name} = $council->{short_name} ) =~ tr/+/_/;
- } else {
- $ward = $_;
- $ward->{short_name} = $self->short_name( $ward );
- ( $ward->{id_name} = $ward->{short_name} ) =~ tr/+/_/;
- }
- }
- $council->{name} = 'London Borough of Bromley'
- if $council->{name} eq 'Bromley Council';
-
- push @options,
- {
- type => 'council',
- id => sprintf( 'council:%s:%s', $council->{id}, $council->{id_name} ),
- text => sprintf( _('Problems within %s'), $council->{name}),
- rss_text => sprintf( _('RSS feed of problems within %s'), $council->{name}),
- uri => $c->uri_for( '/rss/reports/' . $council->{short_name} ),
- };
- push @options,
- {
- type => 'ward',
- id => sprintf( 'ward:%s:%s:%s:%s', $council->{id}, $ward->{id}, $council->{id_name}, $ward->{id_name} ),
- rss_text => sprintf( _('RSS feed of problems within %s ward'), $ward->{name}),
- text => sprintf( _('Problems within %s ward'), $ward->{name}),
- uri => $c->uri_for( '/rss/reports/' . $council->{short_name} . '/' . $ward->{short_name} ),
- } if $ward;
- } elsif ( $num_councils == 4 ) {
-# # Two-tier council
- my ($county, $district, $c_ward, $d_ward);
- foreach (values %$all_councils) {
- $_->{short_name} = $self->short_name( $_ );
- ( $_->{id_name} = $_->{short_name} ) =~ tr/+/_/;
- if ($_->{type} eq 'CTY') {
- $county = $_;
- } elsif ($_->{type} eq 'DIS') {
- $district = $_;
- } elsif ($_->{type} eq 'CED') {
- $c_ward = $_;
- } elsif ($_->{type} eq 'DIW') {
- $d_ward = $_;
- }
- }
- my $district_name = $district->{name};
- my $d_ward_name = $d_ward->{name};
- my $county_name = $county->{name};
- my $c_ward_name = $c_ward->{name};
-
- push @options,
- {
- type => 'area',
- id => sprintf( 'area:%s:%s', $district->{id}, $district->{id_name} ),
- text => $district_name,
- rss_text => sprintf( _('RSS feed for %s'), $district_name ),
- uri => $c->uri_for( '/rss/area/' . $district->{short_name} )
- },
- {
- type => 'area',
- id => sprintf( 'area:%s:%s:%s:%s', $district->{id}, $d_ward->{id}, $district->{id_name}, $d_ward->{id_name} ),
- text => sprintf( _('%s ward, %s'), $d_ward_name, $district_name ),
- rss_text => sprintf( _('RSS feed for %s ward, %s'), $d_ward_name, $district_name ),
- uri => $c->uri_for( '/rss/area/' . $district->{short_name} . '/' . $d_ward->{short_name} )
- },
- {
- type => 'area',
- id => sprintf( 'area:%s:%s', $county->{id}, $county->{id_name} ),
- text => $county_name,
- rss_text => sprintf( _('RSS feed for %s'), $county_name ),
- uri => $c->uri_for( '/rss/area/' . $county->{short_name} )
- },
- {
- type => 'area',
- id => sprintf( 'area:%s:%s:%s:%s', $county->{id}, $c_ward->{id}, $county->{id_name}, $c_ward->{id_name} ),
- text => sprintf( _('%s ward, %s'), $c_ward_name, $county_name ),
- rss_text => sprintf( _('RSS feed for %s ward, %s'), $c_ward_name, $county_name ),
- uri => $c->uri_for( '/rss/area/' . $county->{short_name} . '/' . $c_ward->{short_name} )
- };
-
- push @reported_to_options,
- {
+ $_->{short_name} = $self->short_name( $_ );
+ ( $_->{id_name} = $_->{short_name} ) =~ tr/+/_/;
+ push @options, {
type => 'council',
- id => sprintf( 'council:%s:%s', $district->{id}, $district->{id_name} ),
- text => $district->{name},
- rss_text => sprintf( _('RSS feed of %s'), $district->{name}),
- uri => $c->uri_for( '/rss/reports/' . $district->{short_name} ),
- },
- {
- type => 'ward',
- id => sprintf( 'ward:%s:%s:%s:%s', $district->{id}, $d_ward->{id}, $district->{id_name}, $d_ward->{id_name} ),
- rss_text => sprintf( _('RSS feed of %s, within %s ward'), $district->{name}, $d_ward->{name}),
- text => sprintf( _('%s, within %s ward'), $district->{name}, $d_ward->{name}),
- uri => $c->uri_for( '/rss/reports/' . $district->{short_name} . '/' . $d_ward->{short_name} ),
- },
- {
- type => 'council',
- id => sprintf( 'council:%s:%s', $county->{id}, $county->{id_name} ),
- text => $county->{name},
- rss_text => sprintf( _('RSS feed of %s'), $county->{name}),
- uri => $c->uri_for( '/rss/reports/' . $county->{short_name} ),
- },
- {
- type => 'ward',
- id => sprintf( 'ward:%s:%s:%s:%s', $county->{id}, $c_ward->{id}, $county->{id_name}, $c_ward->{id_name} ),
- rss_text => sprintf( _('RSS feed of %s, within %s ward'), $county->{name}, $c_ward->{name}),
- text => sprintf( _('%s, within %s ward'), $county->{name}, $c_ward->{name}),
- uri => $c->uri_for( '/rss/reports/' . $county->{short_name} . '/' . $c_ward->{short_name} ),
- };
-
-
- } else {
- throw Error::Simple('An area with three tiers of council? Impossible! '. join('|',keys %$all_councils));
+ id => sprintf( 'council:%s:%s', $_->{id}, $_->{id_name} ),
+ text => sprintf( _('Problems within %s'), $_->{name}),
+ rss_text => sprintf( _('RSS feed of problems within %s'), $_->{name}),
+ uri => $c->uri_for( '/rss/reports/' . $_->{short_name} ),
+ };
}
return ( \@options, @reported_to_options ? \@reported_to_options : undef );
}
-=head2 generate_problem_banner
-
- my $banner = $c->cobrand->generate_problem_banner;
-
- <p id="[% banner.id %]:>[% banner.text %]</p>
+=head2 reports_council_check
-Generate id and text for banner that appears at top of problem page.
+This function is called by the All Reports page, and lets you do some cobrand
+specific checking on the URL passed to try and match to a relevant area.
=cut
-sub generate_problem_banner {
- my ( $self, $problem ) = @_;
-
- my $banner = {};
- if ( $problem->is_open && time() - $problem->lastupdate_local->epoch > 8 * 7 * 24 * 60 * 60 )
- {
- $banner->{id} = 'unknown';
- $banner->{text} = _('This problem is old and of unknown status.');
- }
- if ($problem->is_fixed) {
- $banner->{id} = 'fixed';
- $banner->{text} = _('This problem has been fixed') . '.';
- }
- if ($problem->is_closed) {
- $banner->{id} = 'closed';
- $banner->{text} = _('This problem has been closed') . '.';
- }
-
- if ( grep { $problem->state eq $_ } ( 'investigating', 'in progress', 'planned' ) ) {
- $banner->{id} = 'progress';
- $banner->{text} = _('This problem is in progress') . '.';
- }
-
- return $banner;
-}
-
sub reports_council_check {
my ( $self, $c, $code ) = @_;
-
- if ($code =~ /^(\d\d)([a-z]{2})?([a-z]{2})?$/i) {
- my $area = mySociety::MaPit::call( 'area', uc $code );
- $c->detach( 'redirect_index' ) if $area->{error}; # Given a bad/old ONS code
- if (length($code) == 6) {
- my $council = mySociety::MaPit::call( 'area', $area->{parent_area} );
- $c->stash->{ward} = $area;
- $c->stash->{council} = $council;
- } else {
- $c->stash->{council} = $area;
- }
- $c->detach( 'redirect_area' );
- }
+ return 0;
}
=head2 default_photo_resize
@@ -960,7 +647,7 @@ sub get_report_stats { return 0; }
sub get_council_sender { return 'Email' };
sub example_places {
- return [ 'B2 4QA', 'Tib St, Manchester' ];
+ return FixMyStreet->config('EXAMPLE_PLACES') || [ 'High Street', 'Main Street' ];
}
=head2 only_authed_can_create
@@ -996,5 +683,15 @@ sub pin_colour {
return $p->is_fixed ? 'green' : 'red';
}
+=head2 tweak_all_reports_map
+
+Used to tweak the display settings of the map on the all reports pages.
+
+Used in some cobrands to improve the intial display for Internet Explorer.
+
+=cut
+
+sub tweak_all_reports_map {}
+
1;
diff --git a/perllib/FixMyStreet/Cobrand/EmptyHomes.pm b/perllib/FixMyStreet/Cobrand/EmptyHomes.pm
index 6885f6a95..c3d13448d 100644
--- a/perllib/FixMyStreet/Cobrand/EmptyHomes.pm
+++ b/perllib/FixMyStreet/Cobrand/EmptyHomes.pm
@@ -1,5 +1,5 @@
package FixMyStreet::Cobrand::EmptyHomes;
-use base 'FixMyStreet::Cobrand::FixMyStreet';
+use base 'FixMyStreet::Cobrand::UK';
use strict;
use warnings;
@@ -22,25 +22,15 @@ sub base_url {
return $base_url;
}
-sub admin_base_url {
- return 'https://secure.mysociety.org/admin/emptyhomes/';
-}
-
sub area_types {
- return qw(DIS LBO MTD UTA LGD COI); # No CTY
+ [ 'DIS', 'LBO', 'MTD', 'UTA', 'LGD', 'COI' ]; # No CTY
}
-
sub base_url_with_lang {
my $self = shift;
- my $email = shift;
my $base = $self->base_url;
- if ($email) {
- $base = $self->base_url_for_emails;
- }
-
my $lang = $mySociety::Locale::lang;
if ($lang eq 'cy') {
$base =~ s{http://}{$&cy.};
@@ -50,43 +40,8 @@ sub base_url_with_lang {
return $base;
}
-=item set_lang_and_domain LANG UNICODE
-
-Set the language and text domain for the site based on the query and host.
-
-=cut
-
-sub set_lang_and_domain {
- my ( $self, $lang, $unicode, $dir ) = @_;
- my $set_lang = mySociety::Locale::negotiate_language(
- 'en-gb,English,en_GB|cy,Cymraeg,cy_GB', $lang );
- mySociety::Locale::gettext_domain( 'FixMyStreet-EmptyHomes', $unicode,
- $dir );
- mySociety::Locale::change();
- return $set_lang;
-}
-
-=item site_title
-
-Return the title to be used in page heads
-
-=cut
-
-sub site_title {
- my ($self) = @_;
- return _('Report Empty Homes');
-}
-
-=item feed_xsl
-
-Return the XSL file path to be used for feeds'
-
-=cut
-
-sub feed_xsl {
- my ($self) = @_;
- return '/xsl.eha.xsl';
-}
+sub languages { [ 'en-gb,English,en_GB', 'cy,Cymraeg,cy_GB' ] }
+sub language_domain { 'FixMyStreet-EmptyHomes' }
=item shorten_recency_if_new_greater_than_fixed
@@ -98,28 +53,6 @@ sub shorten_recency_if_new_greater_than_fixed {
return 0;
}
-=head2 generate_problem_banner
-
- my $banner = $c->cobrand->generate_problem_banner;
-
- <p id="[% banner.id %]:>[% banner.text %]</p>
-
-Generate id and text for banner that appears at top of problem page.
-
-=cut
-
-sub generate_problem_banner {
- my ( $self, $problem ) = @_;
-
- my $banner = {};
- if ($problem->is_fixed ) {
- $banner->{id} = 'fixed';
- $banner->{text} = _('This problem has been fixed') . '.';
- }
-
- return $banner;
-}
-
=head2 default_photo_resize
Size that photos are to be resized to for display. If photos aren't
@@ -140,7 +73,7 @@ sub council_rss_alert_options {
my $all_councils = shift;
my $c = shift;
- my %councils = map { $_ => 1 } $self->area_types();
+ my %councils = map { $_ => 1 } @{$self->area_types};
my $num_councils = scalar keys %$all_councils;
diff --git a/perllib/FixMyStreet/Cobrand/FiksGataMi.pm b/perllib/FixMyStreet/Cobrand/FiksGataMi.pm
index 8ff5e3656..85ebf035e 100644
--- a/perllib/FixMyStreet/Cobrand/FiksGataMi.pm
+++ b/perllib/FixMyStreet/Cobrand/FiksGataMi.pm
@@ -8,24 +8,17 @@ use Carp;
use mySociety::MaPit;
use FixMyStreet::Geocode::OSM;
-sub country {
- return 'NO';
+sub path_to_web_templates {
+ my $self = shift;
+ return [ FixMyStreet->path_to( 'templates/web', $self->moniker )->stringify ];
}
-sub set_lang_and_domain {
- my ( $self, $lang, $unicode, $dir ) = @_;
- my $set_lang = mySociety::Locale::negotiate_language(
- 'en-gb,English,en_GB|nb,Norwegian,nb_NO', 'nb'
- );
- mySociety::Locale::gettext_domain( 'FixMyStreet', $unicode, $dir );
- mySociety::Locale::change();
- return $set_lang;
+sub country {
+ return 'NO';
}
-sub site_title {
- my ($self) = @_;
- return 'FiksGataMi';
-}
+sub languages { [ 'en-gb,English,en_GB', 'nb,Norwegian,nb_NO' ] }
+sub language_override { 'nb' }
sub enter_postcode_text {
my ( $self ) = @_;
@@ -41,21 +34,13 @@ sub disambiguate_location {
}
sub area_types {
- return ( 'NKO', 'NFY', 'NRA' );
-}
-
-sub area_min_generation {
- return '';
+ [ 'NKO', 'NFY', 'NRA' ];
}
sub admin_base_url {
return 'http://www.fiksgatami.no/admin/';
}
-sub writetothem_url {
- return 'http://www.norge.no/styresmakter/';
-}
-
# If lat/lon are present in the URL, OpenLayers will use that to centre the map.
# Need to specify a zoom to stop it defaulting to null/0.
sub uri {
@@ -243,9 +228,9 @@ sub reports_council_check {
# Some kommunes have the same name, use the fylke name to work out which.
my ($kommune, $fylke) = split /\s*,\s*/, $council;
- my @area_types = $c->cobrand->area_types;
- my $areas_k = mySociety::MaPit::call('areas', $kommune, type => \@area_types);
- my $areas_f = mySociety::MaPit::call('areas', $fylke, type => \@area_types);
+ my $area_types = $c->cobrand->area_types;
+ my $areas_k = mySociety::MaPit::call('areas', $kommune, type => $area_types);
+ my $areas_f = mySociety::MaPit::call('areas', $fylke, type => $area_types);
if (keys %$areas_f == 1) {
($fylke) = values %$areas_f;
foreach (values %$areas_k) {
diff --git a/perllib/FixMyStreet/Cobrand/FixMyStreet.pm b/perllib/FixMyStreet/Cobrand/FixMyStreet.pm
index fbc48449c..00f161dea 100644
--- a/perllib/FixMyStreet/Cobrand/FixMyStreet.pm
+++ b/perllib/FixMyStreet/Cobrand/FixMyStreet.pm
@@ -1,5 +1,5 @@
package FixMyStreet::Cobrand::FixMyStreet;
-use base 'FixMyStreet::Cobrand::Default';
+use base 'FixMyStreet::Cobrand::UK';
sub area_types { return qw(DIS LBO MTD UTA CTY COI); }
sub area_min_generation { 10 }
@@ -18,76 +18,5 @@ sub admin_base_url {
return 'https://secure.mysociety.org/admin/bci/';
}
-sub get_council_sender {
- my ( $self, $area_id, $area_info ) = @_;
-
- my $send_method;
-
- my $council_config = FixMyStreet::App->model("DB::Open311conf")->search( { area_id => $area_id } )->first;
- $send_method = $council_config->send_method if $council_config;
-
- return $send_method if $send_method;
-
- return 'London' if $area_info->{type} eq 'LBO';
-
- return 'Email';
-}
-
-sub all_reports_style { return 'detailed'; }
-
-sub generate_problem_banner {
- my ( $self, $problem ) = @_;
-
- my $banner = {};
- if ( $problem->is_open && time() - $problem->lastupdate_local->epoch > 8 * 7 * 24 * 60 * 60 )
- {
- $banner->{id} = 'unknown';
- $banner->{text} = _('Unknown');
- }
- if ($problem->is_fixed) {
- $banner->{id} = 'fixed';
- $banner->{text} = _('Fixed');
- }
- if ($problem->is_closed) {
- $banner->{id} = 'closed';
- $banner->{text} = _('Closed');
- }
-
- if ( grep { $problem->state eq $_ } ( 'investigating', 'in progress', 'planned' ) ) {
- $banner->{id} = 'progress';
- $banner->{text} = _('In progress');
- }
-
- return $banner;
-}
-
-sub process_extras {
- my $self = shift;
- my $ctx = shift;
- my $area_id = shift;
- my $extra = shift;
- my $fields = shift || [];
-
- if ( $area_id == 2482 ) {
- my @fields = ( 'fms_extra_title', @$fields );
- for my $field ( @fields ) {
- my $value = $ctx->request->param( $field );
-
- if ( !$value ) {
- $ctx->stash->{field_errors}->{ $field } = _('This information is required');
- }
- push @$extra, {
- name => $field,
- description => uc( $field),
- value => $value || '',
- };
- }
-
- if ( $ctx->request->param('fms_extra_title') ) {
- $ctx->stash->{fms_extra_title} = $ctx->request->param('fms_extra_title');
- $ctx->stash->{extra_name_info} = 1;
- }
- }
-}
1;
diff --git a/perllib/FixMyStreet/Cobrand/LichfieldDC.pm b/perllib/FixMyStreet/Cobrand/LichfieldDC.pm
index 804289d34..5c8a04681 100644
--- a/perllib/FixMyStreet/Cobrand/LichfieldDC.pm
+++ b/perllib/FixMyStreet/Cobrand/LichfieldDC.pm
@@ -11,10 +11,6 @@ sub council_url { return 'lichfielddc'; }
# Different to councils parent due to this being a two-tier council. If we get
# more, this can be genericised in the parent.
-sub site_restriction {
- return ( "and council like '%2434%'", 'lichfield', { council => '2434' } );
-}
-
sub problems_clause {
return { council => { like => '%2434%' } };
}
@@ -26,9 +22,20 @@ sub disambiguate_location {
%{ $self->SUPER::disambiguate_location() },
centre => '52.688198,-1.804966',
span => '0.1196,0.218675',
- bounds => [ '52.584891,-1.963232', '52.807793,-1.586291' ],
+ bounds => [ 52.584891, -1.963232, 52.807793, -1.586291 ],
};
}
+# If we ever link to a county problem report, needs to be to main FixMyStreet
+sub base_url_for_report {
+ my ( $self, $report ) = @_;
+ my %councils = map { $_ => 1 } @{$report->councils};
+ if ( $councils{2434} ) {
+ return $self->base_url;
+ } else {
+ return FixMyStreet->config('BASE_URL');
+ }
+}
+
1;
diff --git a/perllib/FixMyStreet/Cobrand/Reading.pm b/perllib/FixMyStreet/Cobrand/Reading.pm
index c8591924e..4cd3f82e2 100644
--- a/perllib/FixMyStreet/Cobrand/Reading.pm
+++ b/perllib/FixMyStreet/Cobrand/Reading.pm
@@ -18,7 +18,7 @@ sub disambiguate_location {
town => 'Reading',
centre => '51.452983,-0.983827',
span => '0.083355,0.1245',
- bounds => [ '51.409779,-1.052994', '51.493134,-0.928494' ],
+ bounds => [ 51.409779, -1.052994, 51.493134, -0.928494 ],
};
}
diff --git a/perllib/FixMyStreet/Cobrand/Southampton.pm b/perllib/FixMyStreet/Cobrand/Southampton.pm
index b57091bef..b7374149a 100644
--- a/perllib/FixMyStreet/Cobrand/Southampton.pm
+++ b/perllib/FixMyStreet/Cobrand/Southampton.pm
@@ -16,7 +16,7 @@ sub disambiguate_location {
town => 'Southampton',
centre => '50.913822,-1.400493',
span => '0.084628,0.15701',
- bounds => [ '50.871508,-1.478998', '50.956136,-1.321988' ],
+ bounds => [ 50.871508, -1.478998, 50.956136, -1.321988 ],
};
}
diff --git a/perllib/FixMyStreet/Cobrand/UK.pm b/perllib/FixMyStreet/Cobrand/UK.pm
new file mode 100644
index 000000000..c2618cbd9
--- /dev/null
+++ b/perllib/FixMyStreet/Cobrand/UK.pm
@@ -0,0 +1,339 @@
+package FixMyStreet::Cobrand::UK;
+use base 'FixMyStreet::Cobrand::Default';
+
+use mySociety::VotingArea;
+
+sub path_to_web_templates {
+ my $self = shift;
+ return [ FixMyStreet->path_to( 'templates/web', $self->moniker )->stringify ];
+}
+
+sub country { return 'GB'; }
+sub area_types { [ 'DIS', 'LBO', 'MTD', 'UTA', 'CTY', 'COI', 'LGD' ] }
+sub area_types_children { $mySociety::VotingArea::council_child_types }
+sub area_min_generation { 10 }
+
+sub enter_postcode_text {
+ my ( $self ) = @_;
+ return _("Enter a nearby UK postcode, or street name and area");
+}
+
+sub example_places {
+ return [ 'B2 4QA', 'Tib St, Manchester' ];
+}
+
+sub disambiguate_location {
+ return {
+ country => 'gb',
+ google_country => 'uk',
+ bing_culture => 'en-GB',
+ bing_country => 'United Kingdom'
+ };
+}
+
+sub get_council_sender {
+ my ( $self, $area_id, $area_info ) = @_;
+
+ my $send_method;
+
+ my $council_config = FixMyStreet::App->model("DB::Open311conf")->search( { area_id => $area_id } )->first;
+ $send_method = $council_config->send_method if $council_config;
+
+ return $send_method if $send_method;
+
+ return 'London' if $area_info->{type} eq 'LBO';
+ return 'NI' if $area_info->{type} eq 'LGD';
+ return 'Email';
+}
+
+sub process_extras {
+ my $self = shift;
+ my $ctx = shift;
+ my $area_id = shift;
+ my $extra = shift;
+ my $fields = shift || [];
+
+ if ( $area_id == 2482 ) {
+ my @fields = ( 'fms_extra_title', @$fields );
+ for my $field ( @fields ) {
+ my $value = $ctx->request->param( $field );
+
+ if ( !$value ) {
+ $ctx->stash->{field_errors}->{ $field } = _('This information is required');
+ }
+ push @$extra, {
+ name => $field,
+ description => uc( $field),
+ value => $value || '',
+ };
+ }
+
+ if ( $ctx->request->param('fms_extra_title') ) {
+ $ctx->stash->{fms_extra_title} = $ctx->request->param('fms_extra_title');
+ $ctx->stash->{extra_name_info} = 1;
+ }
+ }
+}
+
+sub geocode_postcode {
+ my ( $self, $s ) = @_;
+
+ if ($s =~ /^\d+$/) {
+ return {
+ error => 'FixMyStreet is a UK-based website. Please enter either a UK postcode, or street name and area.'
+ };
+ } elsif (mySociety::PostcodeUtil::is_valid_postcode($s)) {
+ my $location = mySociety::MaPit::call('postcode', $s);
+ if ($location->{error}) {
+ return {
+ error => $location->{code} =~ /^4/
+ ? _('That postcode was not recognised, sorry.')
+ : $location->{error}
+ };
+ }
+ my $island = $location->{coordsyst};
+ if (!$island) {
+ return {
+ error => _("Sorry, that appears to be a Crown dependency postcode, which we don't cover.")
+ };
+ }
+ return {
+ latitude => $location->{wgs84_lat},
+ longitude => $location->{wgs84_lon},
+ };
+ }
+ return {};
+}
+
+sub remove_redundant_councils {
+ my $self = shift;
+ my $all_councils = shift;
+
+ # Ipswich & St Edmundsbury are responsible for everything in their
+ # areas, not Suffolk
+ delete $all_councils->{2241}
+ if $all_councils->{2446} #
+ || $all_councils->{2443};
+
+ # Norwich is responsible for everything in its areas, not Norfolk
+ delete $all_councils->{2233} #
+ if $all_councils->{2391};
+}
+
+sub filter_all_council_ids_list {
+ my $self = shift;
+ my @all_councils_ids = @_;
+
+ # Ignore the four council areas introduced because of generation 15
+ # (where we put the new boundaries under the old IDs)
+ return grep { $_ < 141648 || $_ > 141651 } @all_councils_ids;
+}
+
+sub short_name {
+ my $self = shift;
+ my ($area, $info) = @_;
+ # Special case Durham as it's the only place with two councils of the same name
+ return 'Durham+County' if $area->{name} eq 'Durham County Council';
+ return 'Durham+City' if $area->{name} eq 'Durham City Council';
+
+ my $name = $area->{name};
+ $name =~ s/ (Borough|City|District|County) Council$//;
+ $name =~ s/ Council$//;
+ $name =~ s/ & / and /;
+ $name =~ s{/}{_}g;
+ $name = URI::Escape::uri_escape_utf8($name);
+ $name =~ s/%20/+/g;
+ return $name;
+
+}
+
+sub find_closest {
+ my ( $self, $latitude, $longitude, $problem ) = @_;
+
+ my $str = $self->SUPER::find_closest( $latitude, $longitude, $problem );
+
+ # Get nearest postcode from Matthew's random gazetteer (put in MaPit? Or elsewhere?)
+ my $url = "http://gazetteer.dracos.vm.bytemark.co.uk/point/$latitude,$longitude.json";
+ my $j = LWP::Simple::get($url);
+ if ($j) {
+ $j = JSON->new->utf8->allow_nonref->decode($j);
+ if ($j->{postcode}) {
+ $str .= sprintf(_("Nearest postcode to the pin placed on the map (automatically generated): %s (%sm away)"),
+ $j->{postcode}[0], $j->{postcode}[1]) . "\n\n";
+ }
+ }
+
+ return $str;
+}
+
+sub reports_council_check {
+ my ( $self, $c, $code ) = @_;
+
+ # Manual misspelling redirect
+ if ($code =~ /^rhondda cynon taff$/i) {
+ my $url = $c->uri_for( '/reports/Rhondda+Cynon+Taf' );
+ $c->res->redirect( $url );
+ $c->detach();
+ }
+
+ # Old ONS codes
+ if ($code =~ /^(\d\d)([a-z]{2})?([a-z]{2})?$/i) {
+ my $area = mySociety::MaPit::call( 'area', uc $code );
+ $c->detach( 'redirect_index' ) if $area->{error}; # Given a bad/old ONS code
+ if (length($code) == 6) {
+ my $council = mySociety::MaPit::call( 'area', $area->{parent_area} );
+ $c->stash->{ward} = $area;
+ $c->stash->{council} = $council;
+ } else {
+ $c->stash->{council} = $area;
+ }
+ $c->detach( 'redirect_area' );
+ }
+
+ # New ONS codes
+ if ($code =~ /^[ESWN]\d{8}$/i) {
+ my $area = mySociety::MaPit::call( 'area', uc $code );
+ $c->detach( 'redirect_index' ) if $area->{error}; # Given a bad/old ONS code
+ if ($code =~ /^(E05|W05|S13)/) {
+ my $council = mySociety::MaPit::call( 'area', $area->{parent_area} );
+ $c->stash->{ward} = $area;
+ $c->stash->{council} = $council;
+ $c->detach( 'redirect_area' );
+ } elsif ($code =~ /^(W06|S12|E0[6-9]|E10)/) {
+ $c->stash->{council} = $area;
+ $c->detach( 'redirect_area' );
+ }
+ }
+
+}
+
+sub council_rss_alert_options {
+ my $self = shift;
+ my $all_councils = shift;
+ my $c = shift;
+
+ my %councils = map { $_ => 1 } @{$self->area_types};
+
+ my $num_councils = scalar keys %$all_councils;
+
+ my ( @options, @reported_to_options );
+ if ( $num_councils == 1 or $num_councils == 2 ) {
+ my ($council, $ward);
+ foreach (values %$all_councils) {
+ if ($councils{$_->{type}}) {
+ $council = $_;
+ $council->{short_name} = $self->short_name( $council );
+ ( $council->{id_name} = $council->{short_name} ) =~ tr/+/_/;
+ } else {
+ $ward = $_;
+ $ward->{short_name} = $self->short_name( $ward );
+ ( $ward->{id_name} = $ward->{short_name} ) =~ tr/+/_/;
+ }
+ }
+ $council->{name} = 'London Borough of Bromley'
+ if $council->{name} eq 'Bromley Council';
+
+ my $council_text;
+ if ( $c->cobrand->is_council ) {
+ $council_text = 'All problems within the council';
+ } else {
+ $council_text = sprintf( _('Problems within %s'), $council->{name});
+ }
+
+ push @options, {
+ type => 'council',
+ id => sprintf( 'council:%s:%s', $council->{id}, $council->{id_name} ),
+ text => $council_text,
+ rss_text => sprintf( _('RSS feed of problems within %s'), $council->{name}),
+ uri => $c->uri_for( '/rss/reports/' . $council->{short_name} ),
+ };
+ push @options, {
+ type => 'ward',
+ id => sprintf( 'ward:%s:%s:%s:%s', $council->{id}, $ward->{id}, $council->{id_name}, $ward->{id_name} ),
+ rss_text => sprintf( _('RSS feed of problems within %s ward'), $ward->{name}),
+ text => sprintf( _('Problems within %s ward'), $ward->{name}),
+ uri => $c->uri_for( '/rss/reports/' . $council->{short_name} . '/' . $ward->{short_name} ),
+ } if $ward;
+
+ } elsif ( $num_councils == 4 ) {
+ # Two-tier council
+ my ($county, $district, $c_ward, $d_ward);
+ foreach (values %$all_councils) {
+ $_->{short_name} = $self->short_name( $_ );
+ ( $_->{id_name} = $_->{short_name} ) =~ tr/+/_/;
+ if ($_->{type} eq 'CTY') {
+ $county = $_;
+ } elsif ($_->{type} eq 'DIS') {
+ $district = $_;
+ } elsif ($_->{type} eq 'CED') {
+ $c_ward = $_;
+ } elsif ($_->{type} eq 'DIW') {
+ $d_ward = $_;
+ }
+ }
+ my $district_name = $district->{name};
+ my $d_ward_name = $d_ward->{name};
+ my $county_name = $county->{name};
+ my $c_ward_name = $c_ward->{name};
+
+ push @options, {
+ type => 'area',
+ id => sprintf( 'area:%s:%s', $district->{id}, $district->{id_name} ),
+ text => $district_name,
+ rss_text => sprintf( _('RSS feed for %s'), $district_name ),
+ uri => $c->uri_for( '/rss/area/' . $district->{short_name} )
+ }, {
+ type => 'area',
+ id => sprintf( 'area:%s:%s:%s:%s', $district->{id}, $d_ward->{id}, $district->{id_name}, $d_ward->{id_name} ),
+ text => sprintf( _('%s ward, %s'), $d_ward_name, $district_name ),
+ rss_text => sprintf( _('RSS feed for %s ward, %s'), $d_ward_name, $district_name ),
+ uri => $c->uri_for( '/rss/area/' . $district->{short_name} . '/' . $d_ward->{short_name} )
+ }, {
+ type => 'area',
+ id => sprintf( 'area:%s:%s', $county->{id}, $county->{id_name} ),
+ text => $county_name,
+ rss_text => sprintf( _('RSS feed for %s'), $county_name ),
+ uri => $c->uri_for( '/rss/area/' . $county->{short_name} )
+ }, {
+ type => 'area',
+ id => sprintf( 'area:%s:%s:%s:%s', $county->{id}, $c_ward->{id}, $county->{id_name}, $c_ward->{id_name} ),
+ text => sprintf( _('%s ward, %s'), $c_ward_name, $county_name ),
+ rss_text => sprintf( _('RSS feed for %s ward, %s'), $c_ward_name, $county_name ),
+ uri => $c->uri_for( '/rss/area/' . $county->{short_name} . '/' . $c_ward->{short_name} )
+ };
+
+ push @reported_to_options, {
+ type => 'council',
+ id => sprintf( 'council:%s:%s', $district->{id}, $district->{id_name} ),
+ text => $district->{name},
+ rss_text => sprintf( _('RSS feed of %s'), $district->{name}),
+ uri => $c->uri_for( '/rss/reports/' . $district->{short_name} ),
+ }, {
+ type => 'ward',
+ id => sprintf( 'ward:%s:%s:%s:%s', $district->{id}, $d_ward->{id}, $district->{id_name}, $d_ward->{id_name} ),
+ rss_text => sprintf( _('RSS feed of %s, within %s ward'), $district->{name}, $d_ward->{name}),
+ text => sprintf( _('%s, within %s ward'), $district->{name}, $d_ward->{name}),
+ uri => $c->uri_for( '/rss/reports/' . $district->{short_name} . '/' . $d_ward->{short_name} ),
+ }, {
+ type => 'council',
+ id => sprintf( 'council:%s:%s', $county->{id}, $county->{id_name} ),
+ text => $county->{name},
+ rss_text => sprintf( _('RSS feed of %s'), $county->{name}),
+ uri => $c->uri_for( '/rss/reports/' . $county->{short_name} ),
+ }, {
+ type => 'ward',
+ id => sprintf( 'ward:%s:%s:%s:%s', $county->{id}, $c_ward->{id}, $county->{id_name}, $c_ward->{id_name} ),
+ rss_text => sprintf( _('RSS feed of %s, within %s ward'), $county->{name}, $c_ward->{name}),
+ text => sprintf( _('%s, within %s ward'), $county->{name}, $c_ward->{name}),
+ uri => $c->uri_for( '/rss/reports/' . $county->{short_name} . '/' . $c_ward->{short_name} ),
+ };
+
+ } else {
+ throw Error::Simple('An area with three tiers of council? Impossible! '. join('|',keys %$all_councils));
+ }
+
+ return ( \@options, @reported_to_options ? \@reported_to_options : undef );
+}
+
+1;
+
diff --git a/perllib/FixMyStreet/Cobrand/UKCouncils.pm b/perllib/FixMyStreet/Cobrand/UKCouncils.pm
index 8a6954418..a9ebb1b3f 100644
--- a/perllib/FixMyStreet/Cobrand/UKCouncils.pm
+++ b/perllib/FixMyStreet/Cobrand/UKCouncils.pm
@@ -1,5 +1,5 @@
package FixMyStreet::Cobrand::UKCouncils;
-use base 'FixMyStreet::Cobrand::Default';
+use base 'FixMyStreet::Cobrand::UK';
use strict;
use warnings;
@@ -13,13 +13,18 @@ sub is_council {
sub site_restriction {
my $self = shift;
- return ( "and council='" . $self->council_id . "'", $self->council_url, { council => sprintf('%d', $self->council_id) } );
+ return { council => sprintf('%d', $self->council_id) };
+}
+sub site_key {
+ my $self = shift;
+ return $self->council_url;
}
sub restriction {
return { cobrand => shift->moniker };
}
+# Different function to site_restriction due to two-tier use
sub problems_clause {
my $self = shift;
return { council => sprintf('%d', $self->council_id) };
@@ -41,11 +46,6 @@ sub base_url {
return $base_url;
}
-sub site_title {
- my ($self) = @_;
- return $self->council_name . ' FixMyStreet';
-}
-
sub enter_postcode_text {
my ($self) = @_;
return 'Enter a ' . $self->council_area . ' postcode, or street name and area';
@@ -86,19 +86,4 @@ sub recent_photos {
return $self->problems->recent_photos( $num, $lat, $lon, $dist );
}
-sub get_council_sender {
- my ( $self, $area_id, $area_info ) = @_;
-
- my $send_method;
-
- my $council_config = FixMyStreet::App->model("DB::Open311conf")->search( { area_id => $area_id } )->first;
- $send_method = $council_config->send_method if $council_config;
-
- return $send_method if $send_method;
-
- return 'London' if $area_info->{type} eq 'LBO';
-
- return 'Email';
-}
-
1;
diff --git a/perllib/FixMyStreet/DB/Result/Problem.pm b/perllib/FixMyStreet/DB/Result/Problem.pm
index 4f35e7c94..c55ed3403 100644
--- a/perllib/FixMyStreet/DB/Result/Problem.pm
+++ b/perllib/FixMyStreet/DB/Result/Problem.pm
@@ -542,7 +542,6 @@ sub meta_line {
}
- $meta .= $c->cobrand->extra_problem_meta_text($problem);
$meta .= '; ' . _('the map was not used so pin location may be inaccurate')
unless $problem->used_map;
@@ -555,9 +554,8 @@ sub body {
if ($problem->external_body) {
$body = $problem->external_body;
} else {
- (my $council = $problem->council) =~ s/\|.*//g;
- my @councils = split( /,/, $council );
- my $areas_info = mySociety::MaPit::call('areas', \@councils);
+ my $councils = $problem->councils;
+ my $areas_info = mySociety::MaPit::call('areas', $councils);
$body = join( _(' and '),
map {
my $name = $areas_info->{$_}->{name};
@@ -568,7 +566,7 @@ sub body {
} else {
$name;
}
- } @councils
+ } @$councils
);
}
return $body;
diff --git a/perllib/FixMyStreet/DB/ResultSet/AlertType.pm b/perllib/FixMyStreet/DB/ResultSet/AlertType.pm
index 26d8f32a9..a0320ccc3 100644
--- a/perllib/FixMyStreet/DB/ResultSet/AlertType.pm
+++ b/perllib/FixMyStreet/DB/ResultSet/AlertType.pm
@@ -65,7 +65,7 @@ sub email_alerts ($) {
# call checks if this is the host that sends mail for this cobrand.
next unless $cobrand->email_host;
- my ( $sql_restriction, $name_restictions, $hashref_restriction ) = $cobrand->site_restriction( $row->{cobrand_data} );
+ my $hashref_restriction = $cobrand->site_restriction( $row->{cobrand_data} );
FixMyStreet::App->model('DB::AlertSent')->create( {
alert_id => $row->{alert_id},
@@ -85,7 +85,7 @@ sub email_alerts ($) {
$data{state_message} = _("This report is currently marked as open.");
}
- my $url = $cobrand->base_url_for_emails( $row->{alert_cobrand_data} );
+ my $url = $cobrand->base_url( $row->{alert_cobrand_data} );
if ( $hashref_restriction && $hashref_restriction->{council} && $row->{council} ne $hashref_restriction->{council} ) {
$url = mySociety::Config::get('BASE_URL');
}
@@ -96,9 +96,7 @@ sub email_alerts ($) {
$data{data} .= $row->{item_text} . "\n\n------\n\n";
# this is ward and council problems
} else {
- my $postcode = $cobrand->format_postcode( $row->{postcode} );
- $postcode = ", $postcode" if $postcode;
- $data{data} .= $url . "/report/" . $row->{id} . " - $row->{title}$postcode\n\n";
+ $data{data} .= $url . "/report/" . $row->{id} . " - $row->{title}\n\n";
if ( exists $row->{geocode} && $row->{geocode} && $ref =~ /ward|council/ ) {
my $nearest_st = _get_address_from_gecode( $row->{geocode} );
$data{data} .= $nearest_st if $nearest_st;
@@ -141,7 +139,7 @@ sub email_alerts ($) {
my $longitude = $alert->parameter;
my $latitude = $alert->parameter2;
- my ($site_restriction, $site_id, $hashref_restriction) = $cobrand->site_restriction( $alert->cobrand_data );
+ my $hashref_restriction = $cobrand->site_restriction( $alert->cobrand_data );
my $d = mySociety::Gaze::get_radius_containing_population($latitude, $longitude, 200000);
# Convert integer to GB locale string (with a ".")
$d = mySociety::Locale::in_gb_locale {
@@ -164,13 +162,11 @@ sub email_alerts ($) {
alert_id => $alert->id,
parameter => $row->{id},
} );
- my $url = $cobrand->base_url_for_emails( $alert->cobrand_data );
+ my $url = $cobrand->base_url( $alert->cobrand_data );
if ( $hashref_restriction && $hashref_restriction->{council} && $row->{council} ne $hashref_restriction->{council} ) {
$url = mySociety::Config::get('BASE_URL');
}
- my $postcode = $cobrand->format_postcode( $row->{postcode} );
- $postcode = ", $postcode" if $postcode;
- $data{data} .= $url . "/report/" . $row->{id} . " - $row->{title}$postcode\n\n";
+ $data{data} .= $url . "/report/" . $row->{id} . " - $row->{title}\n\n";
if ( exists $row->{geocode} && $row->{geocode} ) {
my $nearest_st = _get_address_from_gecode( $row->{geocode} );
$data{data} .= $nearest_st if $nearest_st;
@@ -203,7 +199,7 @@ sub _send_aggregated_alert_email(%) {
email => $data{alert_email},
}
} );
- $data{unsubscribe_url} = $cobrand->base_url_for_emails( $data{cobrand_data} ) . '/A/' . $token->token;
+ $data{unsubscribe_url} = $cobrand->base_url( $data{cobrand_data} ) . '/A/' . $token->token;
my $template = FixMyStreet->path_to(
"templates", "email", $cobrand->moniker, $data{lang}, "$data{template}.txt"
diff --git a/perllib/FixMyStreet/DB/ResultSet/Problem.pm b/perllib/FixMyStreet/DB/ResultSet/Problem.pm
index a7738becf..bac367b87 100644
--- a/perllib/FixMyStreet/DB/ResultSet/Problem.pm
+++ b/perllib/FixMyStreet/DB/ResultSet/Problem.pm
@@ -14,13 +14,11 @@ use mySociety::MaPit;
use FixMyStreet::App;
use FixMyStreet::SendReport;
-my $site_restriction;
my $site_key;
sub set_restriction {
- my ( $rs, $sql, $key, $restriction ) = @_;
+ my ( $rs, $key ) = @_;
$site_key = $key;
- $site_restriction = $restriction;
}
# Front page statistics
@@ -252,13 +250,13 @@ sub send_reports {
}
# Template variables for the email
- my $email_base_url = $cobrand->base_url_for_emails($row->cobrand_data);
+ my $email_base_url = $cobrand->base_url_for_report($row);
my %h = map { $_ => $row->$_ } qw/id title detail name category latitude longitude used_map/;
map { $h{$_} = $row->user->$_ } qw/email phone/;
$h{confirmed} = DateTime::Format::Pg->format_datetime( $row->confirmed->truncate (to => 'second' ) );
$h{query} = $row->postcode;
- $h{url} = $email_base_url . '/report/' . $row->id;
+ $h{url} = $email_base_url . $row->url;
$h{phone_line} = $h{phone} ? _('Phone:') . " $h{phone}\n\n" : '';
if ($row->photo) {
$h{has_photo} = _("This web page also contains a photo of the problem, provided by the user.") . "\n\n";
@@ -289,16 +287,14 @@ sub send_reports {
}
my %reporters = ();
- my (@to, @recips, $template, $areas_info, $sender_count );
+ my ( $sender_count );
if ($site eq 'emptyhomes') {
my $council = $row->council;
- $areas_info = mySociety::MaPit::call('areas', $council);
- my $name = $areas_info->{$council}->{name};
+ my $areas_info = mySociety::MaPit::call('areas', $council);
my $sender = "FixMyStreet::SendReport::EmptyHomes";
$reporters{ $sender } = $sender->new() unless $reporters{$sender};
- $reporters{ $sender }->add_council( $council, $name );
- $template = Utils::read_file("$FindBin::Bin/../templates/email/emptyhomes/" . $row->lang . "/submit.txt");
+ $reporters{ $sender }->add_council( $council, $areas_info->{$council} );
} else {
@@ -306,7 +302,7 @@ sub send_reports {
my @all_councils = split /,|\|/, $row->council;
my ($councils, $missing) = $row->council =~ /^([\d,]+)(?:\|([\d,]+))?/;
my @councils = split(/,/, $councils);
- $areas_info = mySociety::MaPit::call('areas', \@all_councils);
+ my $areas_info = mySociety::MaPit::call('areas', \@all_councils);
my @dear;
foreach my $council (@councils) {
@@ -326,17 +322,10 @@ sub send_reports {
$reporters{ $sender }->skipped;
} else {
push @dear, $name;
- $reporters{ $sender }->add_council( $council, $name );
+ $reporters{ $sender }->add_council( $council, $areas_info->{$council} );
}
}
- $template = 'submit.txt';
- $template = 'submit-brent.txt' if $row->council eq 2488 || $row->council eq 2237;
- my $template_path = FixMyStreet->path_to( "templates", "email", $cobrand->moniker, $template )->stringify;
- $template_path = FixMyStreet->path_to( "templates", "email", "default", $template )->stringify
- unless -e $template_path;
- $template = Utils::read_file( $template_path );
-
if ($h{category} eq _('Other')) {
$h{category_footer} = _('this type of local problem');
$h{category_line} = '';
@@ -374,9 +363,10 @@ sub send_reports {
# on a staging server send emails to ourselves rather than the councils
my @testing_councils = split( '\|', mySociety::Config::get('TESTING_COUNCILS') );
unless ( grep { $row->council eq $_ } @testing_councils ) {
- %reporters = (
- 'FixMyStreet::SendReport::Email' => $reporters{ 'FixMyStreet::SendReport::Email' } || FixMyStreet::SendReport::Email->new()
- );
+ %reporters = map { $_ => $reporters{$_} } grep { /FixMyStreet::SendReport::(Email|NI)/ } keys %reporters;
+ unless (%reporters) {
+ %reporters = ( 'FixMyStreet::SendReport::Email' => FixMyStreet::SendReport::Email->new() );
+ }
}
}
@@ -384,9 +374,18 @@ sub send_reports {
my $result = -1;
for my $sender ( keys %reporters ) {
- $result *= $reporters{ $sender }->send(
- $row, \%h, \@to, $template, \@recips, $nomail, $areas_info
- );
+ $result *= $reporters{ $sender }->send( $row, \%h );
+ if ( $reporters{ $sender }->unconfirmed_counts) {
+ foreach my $e (keys %{ $reporters{ $sender }->unconfirmed_counts } ) {
+ foreach my $c (keys %{ $reporters{ $sender }->unconfirmed_counts->{$e} }) {
+ $notgot{$e}{$c} += $reporters{ $sender }->unconfirmed_counts->{$e}{$c};
+ }
+ }
+ %note = (
+ %note,
+ %{ $reporters{ $sender }->unconfirmed_notes }
+ );
+ }
}
if ($result == mySociety::EmailUtil::EMAIL_SUCCESS) {
@@ -409,7 +408,7 @@ sub send_reports {
print "Council email addresses that need checking:\n" if keys %notgot;
foreach my $e (keys %notgot) {
foreach my $c (keys %{$notgot{$e}}) {
- print $notgot{$e}{$c} . " problem, to $e category $c (" . $note{$e}{$c}. ")\n";
+ print " " . $notgot{$e}{$c} . " problem, to $e category $c (" . $note{$e}{$c}. ")\n";
}
}
if (keys %sending_skipped_by_method) {
diff --git a/perllib/FixMyStreet/DB/ResultSet/Questionnaire.pm b/perllib/FixMyStreet/DB/ResultSet/Questionnaire.pm
index 753eb2084..bbf0c9a9e 100644
--- a/perllib/FixMyStreet/DB/ResultSet/Questionnaire.pm
+++ b/perllib/FixMyStreet/DB/ResultSet/Questionnaire.pm
@@ -85,7 +85,7 @@ sub send_questionnaires_period {
scope => 'questionnaire',
data => $questionnaire->id,
} );
- $h{url} = $cobrand->base_url_for_emails($row->cobrand_data) . '/Q/' . $token->token;
+ $h{url} = $cobrand->base_url($row->cobrand_data) . '/Q/' . $token->token;
my $sender = $cobrand->contact_email;
my $sender_name = _($cobrand->contact_name);
diff --git a/perllib/FixMyStreet/Geocode.pm b/perllib/FixMyStreet/Geocode.pm
index 6ee17029a..f92e9cc9a 100644
--- a/perllib/FixMyStreet/Geocode.pm
+++ b/perllib/FixMyStreet/Geocode.pm
@@ -12,13 +12,13 @@ use strict;
use URI::Escape;
use FixMyStreet::Geocode::Bing;
use FixMyStreet::Geocode::Google;
+use FixMyStreet::Geocode::OSM;
# lookup STRING CONTEXT
# Given a user-inputted string, try and convert it into co-ordinates using either
# MaPit if it's a postcode, or some web API otherwise. Returns an array of
-# data, including an error if there is one (which includes a location being in
-# Northern Ireland). The information in the query may be used by cobranded versions
-# of the site to diambiguate locations.
+# data, including an error if there is one. The information in the query may be
+# used by cobranded versions of the site to diambiguate locations.
sub lookup {
my ($s, $c) = @_;
my $data = $c->cobrand->geocode_postcode($s);
@@ -38,11 +38,13 @@ sub string {
$s =~ s/\s+/ /g;
$s = URI::Escape::uri_escape_utf8($s);
$s =~ s/%20/+/g;
- my $params = $c->cobrand->disambiguate_location();
+ my $params = $c->cobrand->disambiguate_location($s);
return FixMyStreet::Geocode::Bing::string($s, $c, $params)
if FixMyStreet->config('BING_MAPS_API_KEY');
- # Fall back to Google API, which allow acces with and without a key
- return FixMyStreet::Geocode::Google::string($s, $c, $params);
+ # Fall back to Google API, which allow access with and without a key
+ return FixMyStreet::Geocode::Google::string($s, $c, $params)
+ if FixMyStreet->config('GOOGLE_MAPS_API_KEY');
+ return FixMyStreet::Geocode::OSM::string($s, $c, $params);
}
1;
diff --git a/perllib/FixMyStreet/Geocode/Bing.pm b/perllib/FixMyStreet/Geocode/Bing.pm
index 3bbb9dcdc..18e6b56ce 100644
--- a/perllib/FixMyStreet/Geocode/Bing.pm
+++ b/perllib/FixMyStreet/Geocode/Bing.pm
@@ -24,7 +24,7 @@ sub string {
my ( $s, $c, $params ) = @_;
$s .= '+' . $params->{town} if $params->{town} and $s !~ /$params->{town}/i;
my $url = "http://dev.virtualearth.net/REST/v1/Locations?q=$s";
- $url .= '&userMapView=' . $params->{bounds}[0] . ',' . $params->{bounds}[1]
+ $url .= '&userMapView=' . join(',', @{$params->{bounds}})
if $params->{bounds};
$url .= '&userLocation=' . $params->{centre} if $params->{centre};
$url .= '&c=' . $params->{bing_culture} if $params->{bing_culture};
@@ -52,15 +52,11 @@ sub string {
}
my $results = $js->{resourceSets}->[0]->{resources};
- my ( $error, @valid_locations, $latitude, $longitude, $ni );
+ my ( $error, @valid_locations, $latitude, $longitude );
foreach (@$results) {
my $address = $_->{name};
- next unless $_->{address}->{countryRegion} eq $params->{bing_country};
- if ($params->{bing_country} eq 'United Kingdom' && $_->{address}{adminDistrict} eq 'Northern Ireland') {
- $ni = 1;
- next;
- }
+ next if $params->{bing_country} && $_->{address}->{countryRegion} ne $params->{bing_country};
# Getting duplicate, yet different, results from Bing sometimes
next if @valid_locations
@@ -82,10 +78,6 @@ sub string {
push (@valid_locations, $_);
}
- if ($ni && !scalar @valid_locations) {
- return { error => _("We do not currently cover Northern Ireland, I'm afraid.") };
- }
-
return { latitude => $latitude, longitude => $longitude } if scalar @valid_locations == 1;
return { error => $error };
}
diff --git a/perllib/FixMyStreet/Geocode/Google.pm b/perllib/FixMyStreet/Geocode/Google.pm
index 1ab347066..db3a8ae91 100644
--- a/perllib/FixMyStreet/Geocode/Google.pm
+++ b/perllib/FixMyStreet/Geocode/Google.pm
@@ -24,10 +24,14 @@ sub string {
my ( $s, $c, $params ) = @_;
my $url = 'http://maps.google.com/maps/geo?q=' . $s;
- $url .= '&ll=' . $params->{centre} if $params->{centre};
- $url .= '&spn=' . $params->{span} if $params->{span};
- $url .= '&gl=' . $params->{country} if $params->{country};
- $url .= '&hl=' . $params->{lang} if $params->{lang};
+ $url .= '&ll=' . $params->{centre} if $params->{centre};
+ $url .= '&spn=' . $params->{span} if $params->{span};
+ if ($params->{google_country}) {
+ $url .= '&gl=' . $params->{google_country};
+ } elsif ($params->{country}) {
+ $url .= '&gl=' . $params->{country};
+ }
+ $url .= '&hl=' . $params->{lang} if $params->{lang};
my $cache_dir = FixMyStreet->config('GEO_CACHE') . 'google/';
my $cache_file = $cache_dir . md5_hex($url);
@@ -58,9 +62,6 @@ sub string {
if (!$js) {
return { error => _('Sorry, we could not parse that location. Please try again.') };
- } elsif ($js =~ /BT\d/) {
- # Northern Ireland, hopefully
- return { error => _("We do not currently cover Northern Ireland, I'm afraid.") };
}
$js = JSON->new->utf8->allow_nonref->decode($js);
diff --git a/perllib/FixMyStreet/Geocode/OSM.pm b/perllib/FixMyStreet/Geocode/OSM.pm
index b1becaa7a..ba939b443 100644
--- a/perllib/FixMyStreet/Geocode/OSM.pm
+++ b/perllib/FixMyStreet/Geocode/OSM.pm
@@ -11,20 +11,79 @@ package FixMyStreet::Geocode::OSM;
use warnings;
use strict;
-use Memcached;
-use mySociety::Config;
+use Digest::MD5 qw(md5_hex);
+use Encode;
+use File::Slurp;
+use File::Path ();
use LWP::Simple;
+use Memcached;
use XML::Simple;
my $osmapibase = "http://www.openstreetmap.org/api/";
my $nominatimbase = "http://nominatim.openstreetmap.org/";
+# string STRING CONTEXT
+# Looks up on Nominatim, and caches, a user-inputted location.
+# Returns array of (LAT, LON, ERROR), where ERROR is either undef, a string, or
+# an array of matches if there are more than one. The information in the query
+# may be used to disambiguate the location in cobranded versions of the site.
+sub string {
+ my ( $s, $c, $params ) = @_;
+ $s .= '+' . $params->{town} if $params->{town} and $s !~ /$params->{town}/i;
+ my $url = "${nominatimbase}search?";
+ my %query_params = (
+ q => $s,
+ format => 'json',
+ #'accept-language' => '',
+ email => 'support' . chr(64) . 'fixmystreet.com',
+ );
+ $query_params{viewbox} = $params->{bounds}[1] . ',' . $params->{bounds}[2] . ',' . $params->{bounds}[3] . ',' . $params->{bounds}[0]
+ if $params->{bounds};
+ $query_params{countrycodes} = $params->{country}
+ if $params->{country};
+ $url .= join('&', map { "$_=$query_params{$_}" } keys %query_params);
+
+ my $cache_dir = FixMyStreet->config('GEO_CACHE') . 'osm/';
+ my $cache_file = $cache_dir . md5_hex($url);
+ my $js;
+ if (-s $cache_file) {
+ $js = File::Slurp::read_file($cache_file);
+ } else {
+ $js = LWP::Simple::get($url);
+ $js = encode_utf8($js) if utf8::is_utf8($js);
+ File::Path::mkpath($cache_dir);
+ File::Slurp::write_file($cache_file, $js) if $js;
+ }
+
+ if (!$js) {
+ return { error => _('Sorry, we could not parse that location. Please try again.') };
+ }
+
+ $js = JSON->new->utf8->allow_nonref->decode($js);
+
+ my ( $error, @valid_locations, $latitude, $longitude );
+ foreach (@$js) {
+ # These co-ordinates are output as query parameters in a URL, make sure they have a "."
+ ( $latitude, $longitude ) = ( $_->{lat}, $_->{lon} );
+ mySociety::Locale::in_gb_locale {
+ push (@$error, {
+ address => $_->{display_name},
+ latitude => sprintf('%0.6f', $latitude),
+ longitude => sprintf('%0.6f', $longitude)
+ });
+ };
+ push (@valid_locations, $_);
+ }
+
+ return { latitude => $latitude, longitude => $longitude } if scalar @valid_locations == 1;
+ return { error => $error };
+}
-sub lookup_location {
+sub reverse_geocode {
my ($latitude, $longitude, $zoom) = @_;
my $url =
"${nominatimbase}reverse?format=xml&zoom=$zoom&lat=$latitude&lon=$longitude";
- my $key = "OSM:lookup_location:$url";
+ my $key = "OSM:reverse_geocode:$url";
my $result = Memcached::get($key);
unless ($result) {
my $j = LWP::Simple::get($url);
@@ -74,7 +133,7 @@ sub get_object_tags {
# http://www.geonames.org/maps/osm-reverse-geocoder.html#findNearbyStreetsOSM
sub get_nearest_road_tags {
my ( $cobrand, $latitude, $longitude ) = @_;
- my $inforef = lookup_location($latitude, $longitude, 16);
+ my $inforef = reverse_geocode($latitude, $longitude, 16);
if (exists $inforef->{result}->{osm_type}
&& 'way' eq $inforef->{result}->{osm_type}) {
my $osmtags = get_object_tags('way',
diff --git a/perllib/FixMyStreet/Map.pm b/perllib/FixMyStreet/Map.pm
index 08bba3285..d36b91ffe 100644
--- a/perllib/FixMyStreet/Map.pm
+++ b/perllib/FixMyStreet/Map.pm
@@ -18,7 +18,6 @@ use Module::Pluggable
# Get the list of maps we want and load map classes at compile time
my @ALL_MAP_CLASSES = allowed_maps();
-use mySociety::Config;
use mySociety::Gaze;
use mySociety::Locale;
use Utils;
@@ -31,7 +30,8 @@ are permitted by the config.
=cut
sub allowed_maps {
- my @allowed = split /,/, mySociety::Config::get('MAP_TYPE');
+ my @allowed = split /,/, ( FixMyStreet->config('MAP_TYPE') or "");
+ push @allowed, 'OSM'; # OSM is always allowed
@allowed = map { __PACKAGE__.'::'.$_ } @allowed;
my %avail = map { $_ => 1 } __PACKAGE__->maps;
return grep { $avail{$_} } @allowed;
diff --git a/perllib/FixMyStreet/Map/FMS.pm b/perllib/FixMyStreet/Map/FMS.pm
index b1dd29002..e7aa46784 100644
--- a/perllib/FixMyStreet/Map/FMS.pm
+++ b/perllib/FixMyStreet/Map/FMS.pm
@@ -42,8 +42,10 @@ sub map_tile_base {
}
sub map_tiles {
- my ($self, $x, $y, $z) = @_;
- if ($z >= 16) {
+ my ( $self, %params ) = @_;
+ my ( $x, $y, $z ) = ( $params{x_tile}, $params{y_tile}, $params{zoom_act} );
+ my $ni = in_northern_ireland_box( $params{latitude}, $params{longitude} );
+ if (!$ni && $z >= 16) {
my ($tile_sep, $tile_base) = $self->map_tile_base;
return [
sprintf($tile_base, 'a' . $tile_sep, $z, $x-1, $y-1),
@@ -53,7 +55,7 @@ sub map_tiles {
];
} else {
my $url = "g=701";
- $url .= "&productSet=mmOS" if $z > 10;
+ $url .= "&productSet=mmOS" if $z > 10 && !$ni;
return [
"//ecn.t0.tiles.virtualearth.net/tiles/r" . get_quadkey($x-1, $y-1, $z) . ".png?$url",
"//ecn.t1.tiles.virtualearth.net/tiles/r" . get_quadkey($x, $y-1, $z) . ".png?$url",
@@ -63,4 +65,10 @@ sub map_tiles {
}
}
+sub in_northern_ireland_box {
+ my ($lat, $lon) = @_;
+ return 1 if $lat >= 54.015 && $lat <= 55.315 && $lon >= -8.18 && $lon <= -5.415;
+ return 0;
+}
+
1;
diff --git a/perllib/FixMyStreet/Map/OSM.pm b/perllib/FixMyStreet/Map/OSM.pm
index 119337e37..693f42e4f 100644
--- a/perllib/FixMyStreet/Map/OSM.pm
+++ b/perllib/FixMyStreet/Map/OSM.pm
@@ -25,7 +25,8 @@ sub map_template {
}
sub map_tiles {
- my ($self, $x, $y, $z) = @_;
+ my ( $self, %params ) = @_;
+ my ( $x, $y, $z ) = ( $params{x_tile}, $params{y_tile}, $params{zoom_act} );
my $tile_url = $self->base_tile_url();
return [
"http://a.$tile_url/$z/" . ($x - 1) . "/" . ($y - 1) . ".png",
@@ -73,26 +74,23 @@ sub display_map {
my $zoom = defined $c->req->params->{zoom} ? $c->req->params->{zoom} + 0 : $default_zoom;
$zoom = $numZoomLevels - 1 if $zoom >= $numZoomLevels;
$zoom = 0 if $zoom < 0;
- my $zoom_act = $zoomOffset + $zoom;
- my ($x_tile, $y_tile) = latlon_to_tile_with_adjust($params{latitude}, $params{longitude}, $zoom_act);
+ $params{zoom_act} = $zoomOffset + $zoom;
+ ($params{x_tile}, $params{y_tile}) = latlon_to_tile_with_adjust($params{latitude}, $params{longitude}, $params{zoom_act});
foreach my $pin (@{$params{pins}}) {
- ($pin->{px}, $pin->{py}) = latlon_to_px($pin->{latitude}, $pin->{longitude}, $x_tile, $y_tile, $zoom_act);
+ ($pin->{px}, $pin->{py}) = latlon_to_px($pin->{latitude}, $pin->{longitude}, $params{x_tile}, $params{y_tile}, $params{zoom_act});
}
$c->stash->{map} = {
%params,
type => $self->map_template(),
map_type => $self->map_type(),
- tiles => $self->map_tiles( $x_tile, $y_tile, $zoom_act ),
+ tiles => $self->map_tiles( %params ),
copyright => $self->copyright(),
- x_tile => $x_tile,
- y_tile => $y_tile,
zoom => $zoom,
- zoom_act => $zoom_act,
zoomOffset => $zoomOffset,
numZoomLevels => $numZoomLevels,
- compass => compass( $x_tile, $y_tile, $zoom_act ),
+ compass => compass( $params{x_tile}, $params{y_tile}, $params{zoom_act} ),
};
}
diff --git a/perllib/FixMyStreet/Map/OSM/MapQuest.pm b/perllib/FixMyStreet/Map/OSM/MapQuest.pm
index 9cf6de01f..4751679f5 100644
--- a/perllib/FixMyStreet/Map/OSM/MapQuest.pm
+++ b/perllib/FixMyStreet/Map/OSM/MapQuest.pm
@@ -16,7 +16,8 @@ sub map_type {
}
sub map_tiles {
- my ($self, $x, $y, $z) = @_;
+ my ( $self, %params ) = @_;
+ my ( $x, $y, $z ) = ( $params{x_tile}, $params{y_tile}, $params{zoom_act} );
my $tile_url = $self->base_tile_url();
return [
"http://otile1.$tile_url/$z/" . ($x - 1) . "/" . ($y - 1) . ".png",
diff --git a/perllib/FixMyStreet/SendReport.pm b/perllib/FixMyStreet/SendReport.pm
index 915fe4a20..f750ef479 100644
--- a/perllib/FixMyStreet/SendReport.pm
+++ b/perllib/FixMyStreet/SendReport.pm
@@ -12,6 +12,8 @@ has 'to' => ( is => 'rw', isa => 'ArrayRef', default => sub { [] } );
has 'success' => ( is => 'rw', isa => 'Bool', default => 0 );
has 'error' => ( is => 'rw', isa => 'Str', default => '' );
has 'skipped' => ( 'is' => 'rw', isa => 'Str', default => '' );
+has 'unconfirmed_counts' => ( 'is' => 'rw', isa => 'HashRef', default => sub { {} } );
+has 'unconfirmed_notes' => ( 'is' => 'rw', isa => 'HashRef', default => sub { {} } );
sub should_skip {
@@ -36,9 +38,9 @@ sub reset {
sub add_council {
my $self = shift;
my $council = shift;
- my $name = shift;
+ my $info = shift;
- $self->councils->{ $council } = $name;
+ $self->councils->{ $council } = $info;
}
diff --git a/perllib/FixMyStreet/SendReport/Barnet.pm b/perllib/FixMyStreet/SendReport/Barnet.pm
index ecbe82872..9a92686ec 100644
--- a/perllib/FixMyStreet/SendReport/Barnet.pm
+++ b/perllib/FixMyStreet/SendReport/Barnet.pm
@@ -19,15 +19,15 @@ use constant MAX_LINE_LENGTH => 132;
sub should_skip {
my $self = shift;
- my $problem = shift;
+ my $row = shift;
my $council_name = 'Barnet';
my $err_msg = "";
- if ($problem->send_fail_count >= SEND_FAIL_RETRIES_CUTOFF) {
+ if ($row->send_fail_count >= SEND_FAIL_RETRIES_CUTOFF) {
$council_name &&= " to $council_name";
- $err_msg = "skipped: problem id=" . $problem->id . " send$council_name has failed "
- . $problem->send_fail_count . " times, cutoff is " . SEND_FAIL_RETRIES_CUTOFF;
+ $err_msg = "skipped: problem id=" . $row->id . " send$council_name has failed "
+ . $row->send_fail_count . " times, cutoff is " . SEND_FAIL_RETRIES_CUTOFF;
$self->skipped( $err_msg );
@@ -52,7 +52,7 @@ EOF
sub send {
- my ( $self, $problem, $h, $to, $template, $recips, $nomail ) = @_;
+ my ( $self, $row, $h ) = @_;
my %h = %$h;
@@ -127,9 +127,9 @@ sub send {
if ($result) {
# currently not using this: get_EV_ORDER_GUID (maybe that's the customer number in the CRM)
if (my $barnet_id = $result->get_EV_ORDER_NO()) {
- $problem->external_id( $barnet_id );
- $problem->external_body( 'Barnet Borough Council' ); # better to use $problem->body()?
- $problem->send_method_used('barnet');
+ $row->external_id( $barnet_id );
+ $row->external_body( 'Barnet Borough Council' ); # better to use $row->body()?
+ $row->send_method_used('barnet');
$return = 0;
} else {
my @returned_items = split /<item[^>]*>/, $result->get_ET_RETURN;
diff --git a/perllib/FixMyStreet/SendReport/EastHants.pm b/perllib/FixMyStreet/SendReport/EastHants.pm
index 681a9d4c4..beab9d55c 100644
--- a/perllib/FixMyStreet/SendReport/EastHants.pm
+++ b/perllib/FixMyStreet/SendReport/EastHants.pm
@@ -32,7 +32,7 @@ EOF
sub send {
return if mySociety::Config::get('STAGING_SITE');
- my ( $self, $row, $h, $to, $template, $recips, $nomail ) = @_;
+ my ( $self, $row, $h ) = @_;
# FIXME: should not recreate this each time
my $eh_service;
diff --git a/perllib/FixMyStreet/SendReport/Email.pm b/perllib/FixMyStreet/SendReport/Email.pm
index 239bee715..654ed6b3a 100644
--- a/perllib/FixMyStreet/SendReport/Email.pm
+++ b/perllib/FixMyStreet/SendReport/Email.pm
@@ -7,8 +7,7 @@ BEGIN { extends 'FixMyStreet::SendReport'; }
use mySociety::EmailUtil;
sub build_recipient_list {
- my $self = shift;
- my $row = shift;
+ my ( $self, $row, $h ) = @_;
my %recips;
my $all_confirmed = 1;
@@ -26,14 +25,14 @@ sub build_recipient_list {
unless ($confirmed) {
$all_confirmed = 0;
- #$note = 'Council ' . $row->council . ' deleted'
- #unless $note;
+ $note = 'Council ' . $row->council . ' deleted'
+ unless $note;
$council_email = 'N/A' unless $council_email;
- #$notgot{$council_email}{$row->category}++;
- #$note{$council_email}{$row->category} = $note;
+ $self->unconfirmed_counts->{$council_email}{$row->category}++;
+ $self->unconfirmed_notes->{$council_email}{$row->category} = $note;
}
- push @{ $self->to }, [ $council_email, $self->councils->{ $council } ];
+ push @{ $self->to }, [ $council_email, $self->councils->{ $council }->{name} ];
$recips{$council_email} = 1;
}
@@ -41,24 +40,38 @@ sub build_recipient_list {
return keys %recips;
}
+sub get_template {
+ my ( $self, $row ) = @_;
+
+ my $template = 'submit.txt';
+ $template = 'submit-brent.txt' if $row->council eq 2488 || $row->council eq 2237;
+ my $template_path = FixMyStreet->path_to( "templates", "email", $row->cobrand, $template )->stringify;
+ $template_path = FixMyStreet->path_to( "templates", "email", "default", $template )->stringify
+ unless -e $template_path;
+ $template = Utils::read_file( $template_path );
+ return $template;
+}
+
sub send {
my $self = shift;
- my ( $row, $h, $to, $template, $recips, $nomail, $areas_info ) = @_;
-
- my @recips;
+ my ( $row, $h ) = @_;
- @recips = $self->build_recipient_list( $row, $areas_info );
+ my @recips = $self->build_recipient_list( $row, $h );
# on a staging server send emails to ourselves rather than the councils
- if (mySociety::Config::get('STAGING_SITE')) {
+ if (mySociety::Config::get('STAGING_SITE') && !FixMyStreet->test_mode) {
@recips = ( mySociety::Config::get('CONTACT_EMAIL') );
}
- return unless @recips;
+ unless ( @recips ) {
+ $self->error( 'No recipients' );
+ return 1;
+ }
+ my ($verbose, $nomail) = CronFns::options();
my $result = FixMyStreet::App->send_email_cron(
{
- _template_ => $template,
+ _template_ => $self->get_template( $row ),
_parameters_ => $h,
To => $self->to,
From => [ $row->user->email, $row->name ],
diff --git a/perllib/FixMyStreet/SendReport/EmptyHomes.pm b/perllib/FixMyStreet/SendReport/EmptyHomes.pm
index 9453b4ca5..e1b914523 100644
--- a/perllib/FixMyStreet/SendReport/EmptyHomes.pm
+++ b/perllib/FixMyStreet/SendReport/EmptyHomes.pm
@@ -6,9 +6,7 @@ use namespace::autoclean;
BEGIN { extends 'FixMyStreet::SendReport::Email'; }
sub build_recipient_list {
- my $self = shift;
- my $row = shift;
- my $areas_info = shift;
+ my ( $self, $row, $h ) = @_;
my %recips;
my $all_confirmed = 1;
@@ -21,9 +19,6 @@ sub build_recipient_list {
my ($council_email, $confirmed, $note) = ( $contact->email, $contact->confirmed, $contact->note );
- $council_email = essex_contact($row->latitude, $row->longitude) if $council == 2225;
- $council_email = oxfordshire_contact($row->latitude, $row->longitude) if $council == 2237 && $council_email eq 'SPECIAL';
-
unless ($confirmed) {
$all_confirmed = 0;
#$note = 'Council ' . $row->council . ' deleted'
@@ -33,10 +28,10 @@ sub build_recipient_list {
#$note{$council_email}{$row->category} = $note;
}
- push @{ $self->to }, [ $council_email, $self->councils->{ $council } ];
+ push @{ $self->to }, [ $council_email, $self->councils->{ $council }->{name} ];
$recips{$council_email} = 1;
- my $country = $areas_info->{$council}->{country};
+ my $country = $self->councils->{$council}->{country};
if ($country eq 'W') {
$recips{ 'shelter@' . mySociety::Config::get('EMAIL_DOMAIN') } = 1;
} else {
@@ -48,4 +43,9 @@ sub build_recipient_list {
return keys %recips;
}
+sub get_template {
+ my ( $self, $row ) = @_;
+ return Utils::read_file( FixMyStreet->path_to( "templates", "email", "emptyhomes", $row->lang, "submit.txt" )->stringify );
+}
+
1;
diff --git a/perllib/FixMyStreet/SendReport/London.pm b/perllib/FixMyStreet/SendReport/London.pm
index 58ecb2375..6e7951922 100644
--- a/perllib/FixMyStreet/SendReport/London.pm
+++ b/perllib/FixMyStreet/SendReport/London.pm
@@ -33,7 +33,7 @@ EOF
sub send {
return if mySociety::Config::get('STAGING_SITE');
- my ( $self, $row, $h, $to, $template, $recips, $nomail ) = @_;
+ my ( $self, $row, $h ) = @_;
$h->{message} = construct_message( %$h );
my $phone = $h->{phone};
diff --git a/perllib/FixMyStreet/SendReport/NI.pm b/perllib/FixMyStreet/SendReport/NI.pm
new file mode 100644
index 000000000..0783a385b
--- /dev/null
+++ b/perllib/FixMyStreet/SendReport/NI.pm
@@ -0,0 +1,40 @@
+package FixMyStreet::SendReport::NI;
+
+use Moose;
+
+BEGIN { extends 'FixMyStreet::SendReport::Email'; }
+
+sub build_recipient_list {
+ my ( $self, $row, $h ) = @_;
+ my %recips;
+
+ my $all_confirmed = 1;
+ foreach my $council ( keys %{ $self->councils } ) {
+ my $contact = FixMyStreet::App->model("DB::Contact")->find( {
+ deleted => 0,
+ area_id => $council,
+ category => $row->category
+ } );
+
+ my ($email, $confirmed, $note) = ( $contact->email, $contact->confirmed, $contact->note );
+
+ unless ($confirmed) {
+ $all_confirmed = 0;
+ $email = 'N/A' unless $email;
+ }
+
+ my $name = $self->councils->{$council}->{name};
+ if ( $email =~ /^roads.([^@]*)\@drdni/ ) {
+ $name = "Roads Service (\u$1)";
+ $h->{councils_name} = $name;
+ $row->external_body( 'Roads Service' );
+ }
+ push @{ $self->to }, [ $email, $name ];
+ $recips{$email} = 1;
+ }
+
+ return () unless $all_confirmed;
+ return keys %recips;
+}
+
+1;
diff --git a/perllib/FixMyStreet/SendReport/Open311.pm b/perllib/FixMyStreet/SendReport/Open311.pm
index b4380df02..56473cf5f 100644
--- a/perllib/FixMyStreet/SendReport/Open311.pm
+++ b/perllib/FixMyStreet/SendReport/Open311.pm
@@ -23,7 +23,7 @@ sub should_skip {
sub send {
my $self = shift;
- my ( $row, $h, $to, $template, $recips, $nomail ) = @_;
+ my ( $row, $h ) = @_;
my $result = -1;
@@ -32,6 +32,7 @@ sub send {
my $always_send_latlong = 1;
my $send_notpinpointed = 0;
+ my $use_service_as_deviceid = 0;
my $basic_desc = 0;
@@ -54,6 +55,15 @@ sub send {
$always_send_latlong = 0;
$send_notpinpointed = 1;
+ $use_service_as_deviceid = 0;
+
+ # make sure we have last_name attribute present in row's extra, so
+ # it is passed correctly to Bromley as attribute[]
+ if ( $row->cobrand ne 'bromley' ) {
+ my ( $firstname, $lastname ) = ( $row->user->name =~ /(\w+)\.?\s+(.+)/ );
+ push @$extra, { name => 'last_name', value => $lastname };
+ }
+
$basic_desc = 1;
}
@@ -65,12 +75,13 @@ sub send {
} );
my $open311 = Open311->new(
- jurisdiction => $conf->jurisdiction,
- endpoint => $conf->endpoint,
- api_key => $conf->api_key,
- always_send_latlong => $always_send_latlong,
- send_notpinpointed => $send_notpinpointed,
- basic_description => $basic_desc,
+ jurisdiction => $conf->jurisdiction,
+ endpoint => $conf->endpoint,
+ api_key => $conf->api_key,
+ always_send_latlong => $always_send_latlong,
+ send_notpinpointed => $send_notpinpointed,
+ use_service_as_deviceid => $use_service_as_deviceid,
+ basic_description => $basic_desc,
);
# non standard west berks end points
diff --git a/perllib/FixMyStreet/TestMech.pm b/perllib/FixMyStreet/TestMech.pm
index dc42c1aba..2a49cc2f8 100644
--- a/perllib/FixMyStreet/TestMech.pm
+++ b/perllib/FixMyStreet/TestMech.pm
@@ -211,26 +211,6 @@ sub get_email {
return $emails[0];
}
-=head2 form_errors
-
- my $arrayref = $mech->form_errors;
-
-Find all the form errors on the current page and return them in page order as an
-arrayref of TEXTs. If none found return empty arrayref.
-
-=cut
-
-sub form_errors {
- my $mech = shift;
- my $result = scraper {
- process 'div.form-error', 'errors[]', 'TEXT';
- process 'p.form-error', 'errors[]', 'TEXT';
- process 'p.error', 'errors[]', 'TEXT';
- }
- ->scrape( $mech->response );
- return $result->{errors} || [];
-}
-
=head2 page_errors
my $arrayref = $mech->page_errors;
@@ -243,8 +223,7 @@ arrayref of TEXTs. If none found return empty arrayref.
sub page_errors {
my $mech = shift;
my $result = scraper {
- process 'p.error', 'errors[]', 'TEXT';
- process 'ul.error li', 'errors[]', 'TEXT';
+ process 'div.form-error, p.form-error, p.error, ul.error li', 'errors[]', 'TEXT';
}
->scrape( $mech->response );
return $result->{errors} || [];
@@ -327,6 +306,7 @@ sub extract_problem_meta {
my $result = scraper {
process 'div#side p em', 'meta', 'TEXT';
+ process '.problem-header p em', 'meta', 'TEXT';
}
->scrape( $mech->response );
@@ -348,6 +328,7 @@ sub extract_problem_title {
my $result = scraper {
process 'div#side h1', 'title', 'TEXT';
+ process '.problem-header h1', 'title', 'TEXT';
}
->scrape( $mech->response );
@@ -388,6 +369,7 @@ sub extract_update_metas {
my $result = scraper {
process 'div#updates div.problem-update p em', 'meta[]', 'TEXT';
+ process '.update-text .meta-2', 'meta[]', 'TEXT';
}
->scrape( $mech->response );
diff --git a/perllib/Open311.pm b/perllib/Open311.pm
index fd6a67706..aa0e64b53 100644
--- a/perllib/Open311.pm
+++ b/perllib/Open311.pm
@@ -23,6 +23,7 @@ has error => ( is => 'rw', 'isa' => 'Str', default => '' );
has always_send_latlong => ( is => 'ro', isa => 'Bool', default => 1 );
has send_notpinpointed => ( is => 'ro', isa => 'Bool', default => 0 );
has basic_description => ( is => 'ro', isa => 'Bool', default => 0 );
+has use_service_as_deviceid => ( is => 'ro', isa => 'Bool', default => 0 );
before [
qw/get_service_list get_service_meta_info get_service_requests get_service_request_updates
@@ -93,7 +94,7 @@ sub _populate_service_request_params {
);
}
- my ( $firstname, $lastname ) = ( $problem->user->name =~ /(\w+)\s+(.+)/ );
+ my ( $firstname, $lastname ) = ( $problem->user->name =~ /(\w+)\.?\s+(.+)/ );
my $params = {
email => $problem->user->email,
@@ -130,6 +131,10 @@ sub _populate_service_request_params {
$params->{media_url} = $extra->{image_url};
}
+ if ( $self->use_service_as_deviceid && $problem->service ) {
+ $params->{deviceid} = $problem->service;
+ }
+
if ( $problem->extra ) {
my $extras = $problem->extra;
@@ -263,7 +268,7 @@ sub _populate_service_request_update_params {
my $comment = shift;
my $name = $comment->name || $comment->user->name;
- my ( $firstname, $lastname ) = ( $name =~ /(\w+)\s+(.+)/ );
+ my ( $firstname, $lastname ) = ( $name =~ /(\w+)\.?\s+(.+)/ );
my $params = {
update_id_ext => $comment->id,
@@ -280,7 +285,7 @@ sub _populate_service_request_update_params {
if ( $comment->photo ) {
my $cobrand = FixMyStreet::Cobrand->get_class_for_moniker($comment->cobrand)->new();
- my $email_base_url = $cobrand->base_url_for_emails($comment->cobrand_data);
+ my $email_base_url = $cobrand->base_url($comment->cobrand_data);
my $url = $email_base_url . '/photo/c/' . $comment->id . '.full.jpeg';
$params->{media_url} = $url;
}
diff --git a/t/app/controller/alert_new.t b/t/app/controller/alert_new.t
index 7ba887824..d66590c57 100644
--- a/t/app/controller/alert_new.t
+++ b/t/app/controller/alert_new.t
@@ -448,7 +448,7 @@ subtest "Test normal alert signups and that alerts are sent" => sub {
$count++ if $_->body =~ /The following updates have been left on this problem:/;
$count++ if $_->body =~ /The following new problems have been reported to City of\s*Edinburgh Council:/;
$count++ if $_->body =~ /The following nearby problems have been added:/;
- $count++ if $_->body =~ /\s+-\s+Testing,\s+EH1\s+1BB/;
+ $count++ if $_->body =~ /\s+-\s+Testing/;
}
is $count, 5, 'Five emails with the right things in them';
diff --git a/t/app/controller/around.t b/t/app/controller/around.t
index ca1694b49..db03e00f4 100644
--- a/t/app/controller/around.t
+++ b/t/app/controller/around.t
@@ -72,7 +72,7 @@ foreach my $test (
$mech->get_ok('/');
$mech->submit_form_ok( { with_fields => { pc => $test->{pc} } },
"good location" );
- is_deeply $mech->form_errors, [], "no errors for pc '$test->{pc}'";
+ is_deeply $mech->page_errors, [], "no errors for pc '$test->{pc}'";
is_deeply $mech->extract_location, $test,
"got expected location for pc '$test->{pc}'";
};
diff --git a/t/app/controller/auth.t b/t/app/controller/auth.t
index efc5e60e6..67466e959 100644
--- a/t/app/controller/auth.t
+++ b/t/app/controller/auth.t
@@ -33,7 +33,7 @@ for my $test (
my ( $email, $error_message ) = @$test;
pass "--- testing bad email '$email' gives error '$error_message'";
$mech->get_ok('/auth');
- is_deeply $mech->form_errors, [], 'no errors initially';
+ is_deeply $mech->page_errors, [], 'no errors initially';
$mech->submit_form_ok(
{
form_name => 'general_auth',
@@ -43,7 +43,7 @@ for my $test (
"try to create an account with email '$email'"
);
is $mech->uri->path, '/auth', "still on auth page";
- is_deeply $mech->form_errors, [ $error_message ], 'no errors initially';
+ is_deeply $mech->page_errors, [ $error_message ], 'errors match';
}
# create a new account
diff --git a/t/app/controller/contact.t b/t/app/controller/contact.t
index 970241d12..11e0d30cf 100644
--- a/t/app/controller/contact.t
+++ b/t/app/controller/contact.t
@@ -131,8 +131,7 @@ for my $test (
message => '',
},
page_errors =>
- [ 'There were problems with your report. Please see below.', ],
- field_errors => [
+ [ 'There were problems with your report. Please see below.',
'Please enter your name',
'Please enter your email',
'Please enter a subject',
@@ -147,8 +146,7 @@ for my $test (
message => '',
},
page_errors =>
- [ 'There were problems with your report. Please see below.', ],
- field_errors => [
+ [ 'There were problems with your report. Please see below.',
'Please enter your name',
'Please enter a valid email address',
'Please enter a subject',
@@ -162,9 +160,10 @@ for my $test (
subject => '',
message => '',
},
- page_errors =>
- [ 'There were problems with your report. Please see below.', ],
- field_errors => [ 'Please enter a subject', 'Please write a message', ]
+ page_errors => [
+ 'There were problems with your report. Please see below.',
+ 'Please enter a subject', 'Please write a message',
+ ]
},
{
fields => {
@@ -173,9 +172,10 @@ for my $test (
subject => 'A subject',
message => '',
},
- page_errors =>
- [ 'There were problems with your report. Please see below.', ],
- field_errors => [ 'Please write a message', ]
+ page_errors => [
+ 'There were problems with your report. Please see below.',
+ 'Please write a message',
+ ]
},
{
fields => {
@@ -184,9 +184,11 @@ for my $test (
subject => ' ',
message => '',
},
- page_errors =>
- [ 'There were problems with your report. Please see below.', ],
- field_errors => [ 'Please enter a subject', 'Please write a message', ]
+ page_errors => [
+ 'There were problems with your report. Please see below.',
+ 'Please enter a subject',
+ 'Please write a message',
+ ]
},
{
fields => {
@@ -195,9 +197,10 @@ for my $test (
subject => 'A subject',
message => ' ',
},
- page_errors =>
- [ 'There were problems with your report. Please see below.', ],
- field_errors => [ 'Please write a message', ]
+ page_errors => [
+ 'There were problems with your report. Please see below.',
+ 'Please write a message',
+ ]
},
{
url => '/contact?id=' . $problem_main->id,
@@ -209,7 +212,6 @@ for my $test (
id => 'invalid',
},
page_errors => [ 'Illegal ID' ],
- field_errors => []
},
)
{
@@ -217,7 +219,6 @@ for my $test (
$mech->get_ok( $test->{url} ? $test->{url} : '/contact' );
$mech->submit_form_ok( { with_fields => $test->{fields} } );
is_deeply $mech->page_errors, $test->{page_errors}, 'page errors';
- is_deeply $mech->form_errors, $test->{field_errors}, 'field_errors';
# we santise this when we submit so need to remove it
delete $test->{fields}->{id}
diff --git a/t/app/controller/dashboard.t b/t/app/controller/dashboard.t
index 472c6d9bd..47d10ff5c 100644
--- a/t/app/controller/dashboard.t
+++ b/t/app/controller/dashboard.t
@@ -42,14 +42,14 @@ $mech->submit_form_ok( {
with_fields => { email => $test_user, password_sign_in => $test_pass }
} );
-$mech->content_contains( 'Summary Statistics for City of Edinburgh' );
+$mech->content_contains( 'City of Edinburgh' );
FixMyStreet::App->model('DB::Contact')->search( { area_id => $test_council } )
->delete;
delete_problems();
-my @cats = qw( Grafitti Litter Potholes );
+my @cats = qw( Grafitti Litter Potholes Other );
for my $contact ( @cats ) {
FixMyStreet::App->model('DB::Contact')->create(
{
@@ -90,7 +90,7 @@ my $categories = scraper {
},
};
-my $expected_cats = [ 'All', '-- Pick a category --', @cats, 'Other' ];
+my $expected_cats = [ 'All', '-- Pick a category --', @cats ];
my $res = $categories->scrape( $mech->content );
is_deeply( $res->{cats}, $expected_cats, 'correct list of categories' );
diff --git a/t/app/controller/questionnaire.t b/t/app/controller/questionnaire.t
index 2d4fdb711..3475307fb 100644
--- a/t/app/controller/questionnaire.t
+++ b/t/app/controller/questionnaire.t
@@ -8,6 +8,12 @@ use FixMyStreet::App::Controller::Questionnaire;
ok( my $mech = FixMyStreet::TestMech->new, 'Created mech object' );
+# Make sure there's no outstanding questionnaire emails to be sent
+FixMyStreet::App->model('DB::Questionnaire')->send_questionnaires( {
+ site => 'fixmystreet'
+} );
+$mech->clear_emails_ok;
+
# create a test user and report
$mech->delete_user('test@example.com');
@@ -273,6 +279,23 @@ foreach my $test (
};
}
+my $comment = FixMyStreet::App->model('DB::Comment')->find_or_create(
+ {
+ problem_id => $report->id,
+ user_id => $user->id,
+ name => 'A User',
+ mark_fixed => 'false',
+ text => 'This is some update text',
+ state => 'confirmed',
+ confirmed => $sent_time,
+ anonymous => 'f',
+ }
+);
+subtest 'Check updates are shown correctly on questionnaire page' => sub {
+ $mech->get_ok("/Q/" . $token->token);
+ $mech->content_contains( 'updates that have been left' );
+ $mech->content_contains( 'This is some update text' );
+};
for my $test (
{
diff --git a/t/app/controller/report_display.t b/t/app/controller/report_display.t
index 548580fe1..6c2733e36 100644
--- a/t/app/controller/report_display.t
+++ b/t/app/controller/report_display.t
@@ -209,7 +209,7 @@ for my $test (
),
state => 'confirmed',
banner_id => 'unknown',
- banner_text => 'This problem is old and of unknown status.',
+ banner_text => 'unknown',
fixed => 0
},
{
@@ -224,7 +224,7 @@ for my $test (
),
state => 'fixed',
banner_id => 'fixed',
- banner_text => 'This problem has been fixed.',
+ banner_text => 'fixed',
fixed => 1
},
{
@@ -232,7 +232,7 @@ for my $test (
date => DateTime->now,
state => 'fixed',
banner_id => 'fixed',
- banner_text => 'This problem has been fixed.',
+ banner_text => 'fixed',
fixed => 1
},
{
@@ -240,7 +240,7 @@ for my $test (
date => DateTime->now,
state => 'fixed - user',
banner_id => 'fixed',
- banner_text => 'This problem has been fixed.',
+ banner_text => 'fixed',
fixed => 1
},
{
@@ -248,7 +248,7 @@ for my $test (
date => DateTime->now,
state => 'fixed - council',
banner_id => 'fixed',
- banner_text => 'This problem has been fixed.',
+ banner_text => 'fixed',
fixed => 1
},
{
@@ -256,7 +256,7 @@ for my $test (
date => DateTime->now,
state => 'closed',
banner_id => 'closed',
- banner_text => 'This problem has been closed.',
+ banner_text => 'closed',
fixed => 0
},
{
@@ -264,7 +264,7 @@ for my $test (
date => DateTime->now,
state => 'investigating',
banner_id => 'progress',
- banner_text => 'This problem is in progress.',
+ banner_text => 'progress',
fixed => 0
},
{
@@ -272,7 +272,7 @@ for my $test (
date => DateTime->now,
state => 'planned',
banner_id => 'progress',
- banner_text => 'This problem is in progress.',
+ banner_text => 'progress',
fixed => 0
},
{
@@ -280,7 +280,7 @@ for my $test (
date => DateTime->now,
state => 'in progress',
banner_id => 'progress',
- banner_text => 'This problem is in progress.',
+ banner_text => 'progress',
fixed => 0
},
) {
@@ -299,7 +299,11 @@ for my $test (
}
is $banner->{id}, $test->{banner_id}, 'banner id';
- is $banner->{text}, $test->{banner_text}, 'banner text';
+ if ($test->{banner_text}) {
+ ok $banner->{text} =~ /$test->{banner_text}/i, 'banner text';
+ } else {
+ is $banner->{text}, $test->{banner_text}, 'banner text';
+ }
my $update_form = $mech->form_name( 'updateForm' );
if ( $test->{fixed} ) {
diff --git a/t/app/controller/report_new.t b/t/app/controller/report_new.t
index 29fb650e5..88236a1c3 100644
--- a/t/app/controller/report_new.t
+++ b/t/app/controller/report_new.t
@@ -34,6 +34,9 @@ my %contact_params = (
note => 'Created for test',
);
# Let's make some contacts to send things to!
+FixMyStreet::App->model('DB::Contact')->search( {
+ email => { 'like', '%example.com' },
+} )->delete;
my $contact1 = FixMyStreet::App->model('DB::Contact')->find_or_create( {
%contact_params,
area_id => 2651, # Edinburgh
@@ -64,11 +67,25 @@ my $contact5 = FixMyStreet::App->model('DB::Contact')->find_or_create( {
category => 'Trees',
email => 'trees@example.com',
} );
+my $contact6 = FixMyStreet::App->model('DB::Contact')->find_or_create( {
+ %contact_params,
+ area_id => 2434, # Lichfield
+ category => 'Trees',
+ email => 'trees@example.com',
+} );
+my $contact7 = FixMyStreet::App->model('DB::Contact')->find_or_create( {
+ %contact_params,
+ area_id => 2240, # Lichfield
+ category => 'Street lighting',
+ email => 'highways@example.com',
+} );
ok $contact1, "created test contact 1";
ok $contact2, "created test contact 2";
ok $contact3, "created test contact 3";
ok $contact4, "created test contact 4";
ok $contact5, "created test contact 5";
+ok $contact6, "created test contact 6";
+ok $contact7, "created test contact 7";
# test that the various bit of form get filled in and errors correctly
# generated.
@@ -371,7 +388,7 @@ foreach my $test (
# submit initial pc form
$mech->submit_form_ok( { with_fields => { pc => $test->{pc} } },
"submit location" );
- is_deeply $mech->form_errors, [], "no errors for pc '$test->{pc}'";
+ is_deeply $mech->page_errors, [], "no errors for pc '$test->{pc}'";
# click through to the report page
$mech->follow_link_ok( { text_regex => qr/skip this step/i, },
@@ -382,7 +399,7 @@ foreach my $test (
"submit form" );
# check that we got the errors expected
- is_deeply $mech->form_errors, $test->{errors}, "check errors";
+ is_deeply $mech->page_errors, $test->{errors}, "check errors";
# check that fields have changed as expected
my $new_values = {
@@ -463,7 +480,7 @@ foreach my $test (
);
# check that we got the errors expected
- is_deeply $mech->form_errors, [], "check there were no errors";
+ is_deeply $mech->page_errors, [], "check there were no errors";
# check that the user has been created/ not changed
my $user =
@@ -573,7 +590,7 @@ subtest "test password errors for a user who is signing in as they report" => su
);
# check that we got the errors expected
- is_deeply $mech->form_errors, [
+ is_deeply $mech->page_errors, [
"There was a problem with your email/password combination. If you cannot remember your password, or do not have one, please fill in the \x{2018}sign in by email\x{2019} section of the form.",
], "check there were errors";
};
@@ -620,7 +637,7 @@ subtest "test report creation for a user who is signing in as they report" => su
);
# check that we got the errors expected
- is_deeply $mech->form_errors, [
+ is_deeply $mech->page_errors, [
'You have successfully signed in; please check and confirm your details are accurate:',
], "check there were errors";
@@ -798,10 +815,8 @@ subtest "check that a lat/lon off coast leads to /around" => sub {
is $mech->uri->path, '/around', "redirected to '/around'";
is_deeply #
- $mech->form_errors,
- [ 'That spot does not appear to be covered by a council. If you have'
- . ' tried to report an issue past the shoreline, for example, please'
- . ' specify the closest point on land.' ], #
+ $mech->page_errors,
+ [ 'That location does not appear to be covered by a council; perhaps it is offshore or outside the country. Please try again.' ],
"Found location error";
};
@@ -859,6 +874,10 @@ for my $test (
)
{
subtest $test->{desc} => sub {
+ if ( $test->{host} =~ /bromley/ && !FixMyStreet::Cobrand->exists('bromley') ) {
+ plan skip_all => 'Skipping Bromley tests without Bromley cobrand';
+ }
+
$mech->host( $test->{host} );
$mech->log_out_ok;
@@ -941,10 +960,78 @@ for my $test (
};
}
+SKIP: {
+ skip( "Need 'lichfielddc' in ALLOWED_COBRANDS config", 100 )
+ unless FixMyStreet::Cobrand->exists('lichfielddc');
+
+ my $test_email = 'test-22@example.com';
+ $mech->host( 'http://lichfielddc.fixmystreet.com/' );
+ $mech->clear_emails_ok;
+ $mech->log_out_ok;
+
+ $mech->get_ok('/around');
+ $mech->submit_form_ok( { with_fields => { pc => 'WS13 7RD' } }, "submit location" );
+ $mech->follow_link_ok( { text_regex => qr/skip this step/i, }, "follow 'skip this step' link" );
+ $mech->submit_form_ok(
+ {
+ button => 'submit_register',
+ with_fields => {
+ title => 'Test Report',
+ detail => 'Test report details.',
+ photo => '',
+ name => 'Joe Bloggs',
+ may_show_name => '1',
+ email => $test_email,
+ phone => '07903 123 456',
+ category => 'Street lighting',
+ }
+ },
+ "submit good details"
+ );
+ is_deeply $mech->page_errors, [], "check there were no errors";
+
+ # check that the user has been created/ not changed
+ my $user =
+ FixMyStreet::App->model('DB::User')->find( { email => $test_email } );
+ ok $user, "user found";
+
+ # find the report
+ my $report = $user->problems->first;
+ ok $report, "Found the report";
+
+ # Check the report has been assigned appropriately
+ is $report->council, 2240;
+
+ # receive token
+ my $email = $mech->get_email;
+ ok $email, "got an email";
+ like $email->body, qr/confirm the problem/i, "confirm the problem";
+
+ my ($url) = $email->body =~ m{(http://\S+)};
+ ok $url, "extracted confirm url '$url'";
+
+ # confirm token
+ $mech->get_ok($url);
+ $report->discard_changes;
+ is $report->state, 'confirmed', "Report is now confirmed";
+
+ # Shouldn't be found, as it was a county problem
+ is $mech->get( '/report/' . $report->id )->code, 404, "report not found";
+
+ # But should be on the main site
+ $mech->host( 'www.fixmystreet.com' );
+ $mech->get_ok( '/report/' . $report->id );
+ is $report->name, 'Joe Bloggs', 'name updated correctly';
+
+ $mech->delete_user($user);
+}
+
$contact1->delete;
$contact2->delete;
$contact3->delete;
$contact4->delete;
$contact5->delete;
+$contact6->delete;
+$contact7->delete;
done_testing();
diff --git a/t/app/controller/report_new_open311.t b/t/app/controller/report_new_open311.t
index dc3583e6b..863571ad0 100644
--- a/t/app/controller/report_new_open311.t
+++ b/t/app/controller/report_new_open311.t
@@ -113,10 +113,10 @@ foreach my $test (
# submit initial pc form
$mech->submit_form_ok( { with_fields => { pc => $test->{pc} } },
"submit location" );
- is_deeply $mech->form_errors, [], "no errors for pc '$test->{pc}'";
+ is_deeply $mech->page_errors, [], "no errors for pc '$test->{pc}'";
# click through to the report page
- $mech->follow_link_ok( { text => 'skip this step', },
+ $mech->follow_link_ok( { text_regex => qr/skip this step/i, },
"follow 'skip this step' link" );
# submit the main form
@@ -124,7 +124,7 @@ foreach my $test (
"submit form" );
# check that we got the errors expected
- is_deeply $mech->form_errors, $test->{errors}, "check errors";
+ is_deeply $mech->page_errors, $test->{errors}, "check errors";
# check that fields have changed as expected
my $new_values = {
@@ -136,7 +136,7 @@ foreach my $test (
if ( $test->{fields}->{category} eq 'Street lighting' ) {
my $result = scraper {
- process 'div#category_meta div select#form_type option', 'option[]' => '@value';
+ process 'select#form_type option', 'option[]' => '@value';
}
->scrape( $mech->response );
diff --git a/t/app/controller/report_updates.t b/t/app/controller/report_updates.t
index 0337a881b..cf6af16cb 100644
--- a/t/app/controller/report_updates.t
+++ b/t/app/controller/report_updates.t
@@ -271,7 +271,7 @@ for my $test (
$mech->submit_form_ok( { with_fields => $test->{fields} },
'submit update' );
- is_deeply $mech->form_errors, $test->{field_errors}, 'field errors';
+ is_deeply $mech->page_errors, $test->{field_errors}, 'field errors';
my $values = {
%{ $test->{fields} },
@@ -640,7 +640,7 @@ for my $test (
'submit update'
);
- is_deeply $mech->form_errors, $test->{field_errors}, 'check there were errors';
+ is_deeply $mech->page_errors, $test->{field_errors}, 'check there were errors';
SKIP: {
skip( "Incorrect password", 5 ) unless $test->{form_values}{password_sign_in} eq $pw;
diff --git a/t/app/controller/rss.t b/t/app/controller/rss.t
index c6ab20574..77e2c7ee1 100644
--- a/t/app/controller/rss.t
+++ b/t/app/controller/rss.t
@@ -41,7 +41,7 @@ my $report = FixMyStreet::App->model('DB::Problem')->find_or_create( {
$mech->get_ok("/rss/pc/EH11BB/2");
-$mech->content_contains( "Testing, 10th October, EH1 1BB" );
+$mech->content_contains( "Testing, 10th October" );
$mech->content_lacks( 'Nearest road to the pin' );
$report->geocode(
@@ -106,19 +106,12 @@ $report->geocode(
'authenticationResultCode' => 'ValidCredentials'
}
);
-$report->postcode('eh11bb');
$report->update();
$mech->get_ok("/rss/pc/EH11BB/2");
-$mech->content_contains( "Testing, 10th October, EH1 1BB" );
+$mech->content_contains( "Testing, 10th October" );
$mech->content_contains( '18 North Bridge, Edinburgh' );
-$report->postcode('Princes St, Edinburgh');
-$report->update();
-
-$mech->get_ok("/rss/pc/EH11BB/2");
-$mech->content_contains( "Testing, 10th October, Princes St, Edinburgh" );
-
$report->delete();
$user1->delete();
diff --git a/t/app/model/alert_type.t b/t/app/model/alert_type.t
index c23252de6..7df4c44c0 100644
--- a/t/app/model/alert_type.t
+++ b/t/app/model/alert_type.t
@@ -155,59 +155,24 @@ my $council_alert = FixMyStreet::App->model('DB::Alert')->find_or_create(
}
);
-for my $test (
- {
- postcode => 'SW1A 1AA',
- expected_postcode => 'SW1A 1AA',
- },
- {
- postcode => 'sw1a 1AA',
- expected_postcode => 'SW1A 1AA',
- },
- {
- postcode => 'SW1A 1aa',
- expected_postcode => 'SW1A 1AA',
- },
- {
- postcode => 'SW1A1AA',
- expected_postcode => 'SW1A 1AA',
- },
- {
- postcode => 'Buckingham Gate',
- expected_postcode => 'Buckingham\s+Gate',
- },
- {
- postcode => 'Buckingham gate',
- expected_postcode => 'Buckingham\s+gate',
- },
-) {
- subtest "correct text for postcode $test->{postcode}" => sub {
- $mech->clear_emails_ok;
-
- my $sent = FixMyStreet::App->model('DB::AlertSent')->search(
- {
- alert_id => $council_alert->id,
- parameter => $report->id,
- }
- )->delete;
-
- $report->postcode( $test->{postcode} );
- $report->update;
-
- FixMyStreet::App->model('DB::AlertType')->email_alerts();
+subtest "correct text for title after URL" => sub {
+ $mech->clear_emails_ok;
- $mech->email_count_is( 1 );
- my $email = $mech->get_email;
- my $pc = $test->{expected_postcode};
- (my $title = $report->title) =~ s/ /\\s+/;
- my $body = $email->body;
+ my $sent = FixMyStreet::App->model('DB::AlertSent')->search(
+ {
+ alert_id => $council_alert->id,
+ parameter => $report->id,
+ }
+ )->delete;
+ FixMyStreet::App->model('DB::AlertType')->email_alerts();
- like $body, qr#report/$report_id\s+-\s+$title,\s+$pc#, 'email contains expected postcode';
- };
-}
+ $mech->email_count_is( 1 );
+ my $email = $mech->get_email;
+ (my $title = $report->title) =~ s/ /\\s+/;
+ my $body = $email->body;
-$report->postcode( 'SW1A 1AA' );
-$report->update;
+ like $body, qr#report/$report_id\s+-\s+$title#, 'email contains expected title';
+};
$report->geocode(
{
@@ -448,7 +413,7 @@ subtest "check alerts from cobrand send main site url for alerts for different c
my $expected1 = mySociety::Config::get('BASE_URL') . '/report/' . $report_to_county_council->id;
my $expected3 = mySociety::Config::get('BASE_URL') . '/report/' . $report_outside_district->id;
my $cobrand = FixMyStreet::Cobrand->get_class_for_moniker('lichfielddc')->new();
- my $expected2 = $cobrand->base_url_for_emails . '/report/' . $report_to_council->id;
+ my $expected2 = $cobrand->base_url . '/report/' . $report_to_council->id;
like $body, qr#$expected1#, 'non cobrand area report point to fixmystreet.com';
like $body, qr#$expected2#, 'cobrand area report point to cobrand url';
@@ -485,7 +450,7 @@ subtest "check local alerts from cobrand send main site url for alerts for diffe
my $expected1 = mySociety::Config::get('BASE_URL') . '/report/' . $report_to_county_council->id;
my $cobrand = FixMyStreet::Cobrand->get_class_for_moniker('lichfielddc')->new();
- my $expected2 = $cobrand->base_url_for_emails . '/report/' . $report_to_council->id;
+ my $expected2 = $cobrand->base_url . '/report/' . $report_to_council->id;
like $body, qr#$expected1#, 'non cobrand area report point to fixmystreet.com';
like $body, qr#$expected2#, 'cobrand area report point to cobrand url';
diff --git a/t/app/model/problem.t b/t/app/model/problem.t
index a7415851b..8aabce4f7 100644
--- a/t/app/model/problem.t
+++ b/t/app/model/problem.t
@@ -348,84 +348,138 @@ for my $test (
my $mech = FixMyStreet::TestMech->new();
-FixMyStreet::App->model('DB::Contact')->find_or_create(
- {
- area_id => 2651,
- category => 'potholes',
- email => 'test@example.org',
- confirmed => 1,
- deleted => 0,
- editor => 'test',
- whenedited => \'ms_current_timestamp()',
- note => '',
- }
-);
-
-FixMyStreet::App->model('DB::Contact')->find_or_create(
- {
- area_id => 2226,
- category => 'potholes',
- email => '2226@example.org',
- confirmed => 1,
- deleted => 0,
- editor => 'test',
- whenedited => \'ms_current_timestamp()',
- note => '',
- }
+my %contact_params = (
+ confirmed => 1,
+ deleted => 0,
+ editor => 'Test',
+ whenedited => \'ms_current_timestamp()',
+ note => 'Created for test',
);
+# Let's make some contacts to send things to!
+FixMyStreet::App->model('DB::Contact')->search( {
+ email => { 'like', '%example.com' },
+} )->delete;
+my @contacts;
+for my $contact ( {
+ area_id => 2651, # Edinburgh
+ category => 'potholes',
+ email => 'test@example.org',
+}, {
+ area_id => 2226, # Gloucestershire
+ category => 'potholes',
+ email => '2226@example.org',
+}, {
+ area_id => 2326, # Cheltenham
+ category => 'potholes',
+ email => '2326@example.org',
+}, {
+ area_id => 2434, # Lichfield
+ category => 'potholes',
+ email => 'trees@example.com',
+}, {
+ area_id => 2240, # Staffordshire
+ category => 'potholes',
+ email => 'highways@example.com',
+}, {
+ area_id => 14279, # Ballymoney
+ category => 'Street lighting',
+ email => 'roads.western@drdni.example.org',
+}, {
+ area_id => 14279, # Ballymoney
+ category => 'Graffiti',
+ email => 'highways@example.com',
+}, {
+ confirmed => 0,
+ area_id => 2636, # Isle of Wight
+ category => 'potholes',
+ email => '2636@example.com',
+} ) {
+ my $new_contact = FixMyStreet::App->model('DB::Contact')->find_or_create( { %contact_params, %$contact } );
+ ok $new_contact, "created test contact";
+ push @contacts, $new_contact;
+}
-FixMyStreet::App->model('DB::Contact')->find_or_create(
- {
- area_id => 2326,
- category => 'potholes',
- email => '2326@example.org',
- confirmed => 1,
- deleted => 0,
- editor => 'test',
- whenedited => \'ms_current_timestamp()',
- note => '',
- }
+my %common = (
+ email => 'system_user@example.com',
+ name => 'Andrew Smith',
);
-
foreach my $test ( {
+ %common,
desc => 'sends an email',
unset_whendef => 1,
email_count => 1,
- email => 'system_user@example.com',
- name => 'Andrew Smith',
dear => qr'Dear City of Edinburgh Council',
to => qr'City of Edinburgh Council',
council => 2651,
- },
- {
+ }, {
+ %common,
desc => 'no email sent if no unsent problems',
unset_whendef => 0,
email_count => 0,
- email => 'system_user@example.com',
- name => 'Andrew Smith',
council => 2651,
- },
- {
+ }, {
+ %common,
desc => 'email to two tier council',
unset_whendef => 1,
email_count => 1,
- email => 'system_user@example.com',
- name => 'Andrew Smith',
to => qr'Gloucestershire County Council.*Cheltenham Borough Council',
dear => qr'Dear Gloucestershire County Council and Cheltenham Borough',
council => '2226,2326',
multiple => 1,
- },
- {
+ }, {
+ %common,
desc => 'email to two tier council with one missing details',
unset_whendef => 1,
email_count => 1,
- email => 'system_user@example.com',
- name => 'Andrew Smith',
- to => qr'Gloucestershire County Council',
+ to => qr'Gloucestershire County Council" <2226@example',
dear => qr'Dear Gloucestershire County Council,',
council => '2226|2649',
missing => qr'problem might be the responsibility of Fife.*Council'ms,
+ }, {
+ %common,
+ desc => 'email to two tier council that only shows district, district',
+ unset_whendef => 1,
+ email_count => 1,
+ to => qr'Lichfield District Council',
+ dear => qr'Dear Lichfield District Council,',
+ council => '2434',
+ cobrand => 'lichfielddc',
+ url => 'lichfielddc.',
+ }, {
+ %common,
+ desc => 'email to two tier council that only shows district, county',
+ unset_whendef => 1,
+ email_count => 1,
+ to => qr'Staffordshire County Council" <highways@example',
+ dear => qr'Dear Staffordshire County Council,',
+ council => '2240',
+ cobrand => 'lichfielddc',
+ url => '',
+ }, {
+ %common,
+ desc => 'directs NI correctly, 1',
+ unset_whendef => 1,
+ email_count => 1,
+ dear => qr'Dear Ballymoney Borough Council',
+ to => qr'Ballymoney Borough Council',
+ council => 14279,
+ category => 'Graffiti',
+ }, {
+ %common,
+ desc => 'directs NI correctly, 2',
+ unset_whendef => 1,
+ email_count => 1,
+ dear => qr'Dear Roads Service \(Western\)',
+ to => qr'Roads Service \(Western\)" <roads',
+ council => 14279,
+ category => 'Street lighting',
+ }, {
+ %common,
+ desc => 'does not send to unconfirmed contact',
+ unset_whendef => 1,
+ stays_unsent => 1,
+ email_count => 0,
+ council => 2636,
},
) {
subtest $test->{ desc } => sub {
@@ -437,14 +491,19 @@ foreach my $test ( {
}
)->update( { whensent => \'ms_current_timestamp()' } );
+ if ( $test->{cobrand} && $test->{cobrand} =~ /lichfielddc/ && !FixMyStreet::Cobrand->exists('lichfielddc') ) {
+ plan skip_all => 'Skipping Lichfield tests without Lichfield cobrand';
+ }
+
$problem->discard_changes;
$problem->update( {
council => $test->{ council },
state => 'confirmed',
confirmed => \'ms_current_timestamp()',
whensent => $test->{ unset_whendef } ? undef : \'ms_current_timestamp()',
- category => 'potholes',
+ category => $test->{ category } || 'potholes',
name => $test->{ name },
+ cobrand => $test->{ cobrand } || 'fixmystreet',
} );
FixMyStreet::App->model('DB::Problem')->send_reports();
@@ -465,9 +524,19 @@ foreach my $test ( {
like $email->body, $test->{ missing }, 'missing council information correct';
}
+ if ( $test->{url} ) {
+ (my $base_url = FixMyStreet->config('BASE_URL')) =~ s{http://}{};
+ my $id = $problem->id;
+ like $email->body, qr[$test->{url}$base_url/report/$id], 'URL present is correct';
+ }
+
$problem->discard_changes;
ok defined( $problem->whensent ), 'whensent set';
}
+ if ( $test->{stays_unsent} ) {
+ $problem->discard_changes;
+ ok !defined( $problem->whensent ), 'whensent not set';
+ }
};
}
@@ -475,4 +544,8 @@ $problem->comments->delete;
$problem->delete;
$user->delete;
+foreach (@contacts) {
+ $_->delete;
+}
+
done_testing();
diff --git a/t/app/sendreport/email.t b/t/app/sendreport/email.t
new file mode 100644
index 000000000..f0e1f153a
--- /dev/null
+++ b/t/app/sendreport/email.t
@@ -0,0 +1,77 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More;
+
+use FixMyStreet;
+use FixMyStreet::App;
+use FixMyStreet::DB::Result::Contact;
+use FixMyStreet::SendReport::Email;
+use FixMyStreet::TestMech;
+use mySociety::Locale;
+
+my $e = FixMyStreet::SendReport::Email->new();
+
+my $contact = FixMyStreet::App->model('DB::Contact')->find_or_create(
+ email => 'council@example.com',
+ area_id => 1000,
+ category => 'category',
+ confirmed => 1,
+ deleted => 0,
+ editor => 'test suite',
+ whenedited => DateTime->now,
+ note => '',
+);
+
+my $row = FixMyStreet::App->model('DB::Problem')->new( {
+ council => '1000',
+ category => 'category',
+} );
+
+ok $e;
+
+foreach my $test ( {
+ desc => 'no councils added means no receipients',
+ count => 0,
+ add_council => 0,
+ },
+ {
+ desc => 'adding a council results in receipients',
+ count => 1,
+ add_council => 1,
+ },
+ {
+ desc => 'unconfirmed contact results in no receipients',
+ count => undef,
+ add_council => 1,
+ unconfirmed => 1,
+ expected_note => 'Council 1000 deleted',
+ },
+ {
+ desc => 'unconfirmed contact note uses note from contact table',
+ count => undef,
+ add_council => 1,
+ unconfirmed => 1,
+ note => 'received bounced so unconfirmed',
+ expected_note => 'received bounced so unconfirmed',
+ },
+) {
+ subtest $test->{desc} => sub {
+ my $e = FixMyStreet::SendReport::Email->new;
+ $contact->update( { confirmed => 0 } ) if $test->{unconfirmed};
+ $contact->update( { note => $test->{note} } ) if $test->{note};
+ $e->add_council( 1000, { name => 'test council' } ) if $test->{add_council};
+ is $e->build_recipient_list( $row, {} ), $test->{count}, 'correct recipient list count';
+
+ if ( $test->{unconfirmed} ) {
+ is_deeply $e->unconfirmed_counts, { 'council@example.com' => { 'category' => 1 } }, 'correct unconfirmed_counts count';
+ is_deeply $e->unconfirmed_notes, { 'council@example.com' => { 'category' => $test->{expected_note} } }, 'correct note used';
+ }
+ };
+}
+
+$contact->delete;
+
+done_testing();
diff --git a/t/cobrand/closest.t b/t/cobrand/closest.t
index c7ba10cc4..02c979756 100644
--- a/t/cobrand/closest.t
+++ b/t/cobrand/closest.t
@@ -10,7 +10,7 @@ use_ok 'FixMyStreet::Cobrand';
mySociety::Locale::gettext_domain( 'FixMyStreet' );
-my $c = FixMyStreet::Cobrand::Default->new();
+my $c = FixMyStreet::Cobrand::UK->new();
my $user =
FixMyStreet::App->model('DB::User')
@@ -58,21 +58,27 @@ ok !$report->geocode, 'no gecode entry for report';
my $near = $c->find_closest( $report->latitude, $report->longitude, $report );
-ok $report->geocode, 'geocode entry added to report';
-ok $report->geocode->{resourceSets}, 'geocode entry looks like right sort of thing';
+SKIP: {
+ if (!FixMyStreet->config('BING_MAPS_API_KEY')) {
+ skip 'No Bing Maps key', 0;
+ }
-like $near, qr/Constitution Hill/i, 'nearest street looks right';
-like $near, qr/Nearest postcode .*: SW1A 1AA/i, 'nearest postcode looks right';
+ ok $report->geocode, 'geocode entry added to report';
+ ok $report->geocode->{resourceSets}, 'geocode entry looks like right sort of thing';
-$near = $c->find_closest_address_for_rss( $report->latitude, $report->longitude, $report );
+ like $near, qr/Constitution Hill/i, 'nearest street looks right';
+ like $near, qr/Nearest postcode .*: SW1A 1AA/i, 'nearest postcode looks right';
-like $near, qr/Constitution Hill/i, 'nearest street for RSS looks right';
-unlike $near, qr/Nearest postcode/i, 'no nearest postcode in RSS text';
+ $near = $c->find_closest_address_for_rss( $report->latitude, $report->longitude, $report );
-$report->geocode( undef );
-$near = $c->find_closest_address_for_rss( $report->latitude, $report->longitude, $report );
+ like $near, qr/Constitution Hill/i, 'nearest street for RSS looks right';
+ unlike $near, qr/Nearest postcode/i, 'no nearest postcode in RSS text';
+
+ $report->geocode( undef );
+ $near = $c->find_closest_address_for_rss( $report->latitude, $report->longitude, $report );
-ok !$near, 'no closest address for RSS if not cached';
+ ok !$near, 'no closest address for RSS if not cached';
+}
# all done
done_testing();
diff --git a/t/open311.t b/t/open311.t
index 814b11f82..f082179ea 100644
--- a/t/open311.t
+++ b/t/open311.t
@@ -428,6 +428,49 @@ subtest 'error reponse' => sub {
is $results->{ res }, 0, 'error in response is a failure';
};
+for my $test (
+ {
+ desc => 'deviceid not sent by default',
+ use_service_as_id => 0,
+ service => 'iPhone',
+ },
+ {
+ desc => 'if use_service_as_id set then deviceid sent with service as id',
+ use_service_as_id => 1,
+ service => 'iPhone',
+ },
+ {
+ desc => 'no deviceid sent if service is blank',
+ use_service_as_id => 1,
+ service => '',
+ },
+ )
+{
+ subtest $test->{desc} => sub {
+ my $extra = { url => 'http://example.com/report/1', };
+ $problem->service( $test->{service} );
+
+ my $results = make_service_req(
+ $problem,
+ $extra,
+ $problem->category,
+ '<?xml version="1.0" encoding="utf-8"?><service_requests><request><service_request_id>248</service_request_id></request></service_requests>',
+ { use_service_as_deviceid => $test->{use_service_as_id} },
+ );
+
+ is $results->{res}, 248, 'got request id';
+
+ my $c = CGI::Simple->new( $results->{req}->content );
+
+ if ( $test->{use_service_as_id} and $test->{service} ) {
+ is $c->param('deviceid'), $test->{service}, 'deviceid set to service';
+ }
+ else {
+ is $c->param('deviceid'), undef, 'no deviceid is set';
+ }
+ };
+}
+
done_testing();
sub make_update_req {
diff --git a/templates/email/barnet/site-name.txt b/templates/email/barnet/site-name.txt
new file mode 100644
index 000000000..78563bdf3
--- /dev/null
+++ b/templates/email/barnet/site-name.txt
@@ -0,0 +1 @@
+Barnet Council FixMyStreet
diff --git a/templates/email/bromley/site-name.txt b/templates/email/bromley/site-name.txt
new file mode 100644
index 000000000..fc49c6865
--- /dev/null
+++ b/templates/email/bromley/site-name.txt
@@ -0,0 +1 @@
+Bromley FixMyStreet
diff --git a/templates/email/default/alert-confirm.txt b/templates/email/default/alert-confirm.txt
index abf7801f5..0d23d7733 100644
--- a/templates/email/default/alert-confirm.txt
+++ b/templates/email/default/alert-confirm.txt
@@ -1,9 +1,9 @@
-Subject: Confirm your alert on [% c.cobrand.site_name %]
+Subject: Confirm your alert on [% INCLUDE 'site-name.txt' | trim %]
Hi,
Please click on the link below to confirm the alert you just
-asked to subscribe to on [% c.cobrand.site_name %]:
+asked to subscribe to on [% INCLUDE 'site-name.txt' | trim %]:
[% token_url %]
diff --git a/templates/email/default/problem-confirm.txt b/templates/email/default/problem-confirm.txt
index 5f5bd511a..3a6bbe03a 100644
--- a/templates/email/default/problem-confirm.txt
+++ b/templates/email/default/problem-confirm.txt
@@ -1,9 +1,9 @@
-Subject: Confirm your problem on [% c.cobrand.site_name %]
+Subject: Confirm your problem on [% INCLUDE 'site-name.txt' | trim %]
Hi [% report.name %],
Please click on the link below to confirm the problem you just
-added to [% c.cobrand.site_name %]:
+added to [% INCLUDE 'site-name.txt' | trim %]:
[% token_url %]
diff --git a/templates/email/default/site-name.txt b/templates/email/default/site-name.txt
new file mode 100644
index 000000000..4e9a24bb9
--- /dev/null
+++ b/templates/email/default/site-name.txt
@@ -0,0 +1 @@
+FixMyStreet
diff --git a/templates/email/default/update-confirm.txt b/templates/email/default/update-confirm.txt
index fdcd68edb..beefac9c1 100644
--- a/templates/email/default/update-confirm.txt
+++ b/templates/email/default/update-confirm.txt
@@ -1,4 +1,4 @@
-Subject: Confirm your update on [% c.cobrand.site_name %]
+Subject: Confirm your update on [% INCLUDE 'site-name.txt' | trim %]
Hi [% update.name %],
diff --git a/templates/email/lichfielddc/site-name.txt b/templates/email/lichfielddc/site-name.txt
new file mode 100644
index 000000000..97ebd69a3
--- /dev/null
+++ b/templates/email/lichfielddc/site-name.txt
@@ -0,0 +1 @@
+Lichfield District Council FixMyStreet
diff --git a/templates/email/reading/site-name.txt b/templates/email/reading/site-name.txt
new file mode 100644
index 000000000..a0cf6367c
--- /dev/null
+++ b/templates/email/reading/site-name.txt
@@ -0,0 +1 @@
+Reading City Council FixMyStreet
diff --git a/templates/email/southampton/site-name.txt b/templates/email/southampton/site-name.txt
new file mode 100644
index 000000000..48f5deeb3
--- /dev/null
+++ b/templates/email/southampton/site-name.txt
@@ -0,0 +1 @@
+Southampton City Council FixMyStreet
diff --git a/templates/web/barnet/header.html b/templates/web/barnet/header.html
index 5c6a19d89..d7cc01f4b 100644
--- a/templates/web/barnet/header.html
+++ b/templates/web/barnet/header.html
@@ -30,7 +30,7 @@
<script src="[% version('/js/modernizr.custom.js') %]" charset="utf-8"></script>
<script src="[% version('/cobrands/barnet/position_map.js') %]" charset="utf-8"></script>
- [% INCLUDE 'common_header_tags.html', js_override = '/cobrands/fixmystreet/fixmystreet.js' %]
+ [% INCLUDE 'common_header_tags.html', js_override = '/cobrands/fixmystreet/fixmystreet.js', site_title = 'Barnet Council FixMyStreet' %]
<script src="[% version('/js/fancybox/jquery.fancybox-1.3.4.pack.js') %]" charset="utf-8"></script>
</head>
diff --git a/templates/web/barnet/index.html b/templates/web/barnet/index.html
deleted file mode 100644
index 82600625e..000000000
--- a/templates/web/barnet/index.html
+++ /dev/null
@@ -1,100 +0,0 @@
-[%# Assumes fixmystreet cobrand is using FMS map template - for bonus points preload all the right map elements. %]
-[% map_js = BLOCK %]
-<script>
-yepnope.addPrefix( 'preload', function ( resource ) {
- resource.noexec = true;
- return resource;
-});
-Modernizr.load({
- load: [
- "preload![% version('/js/OpenLayers.fixmystreet.js') %]",
- "preload![% version('/js/map-OpenLayers.js') %]",
- "preload![% version('/js/map-bing-ol.js') %]",
- "preload![% version('/js/jquery.ba-hashchange.min.js') %]"
- ]
-});
-</script>
-[% END %]
-
-[% pre_container_extra = BLOCK %]
-<div id="front-main">
- <div id="front-main-container">
- <h1>[% loc('Report, view, or discuss local problems') %]</h1>
-
- <h2>[% loc('(like graffiti, fly tipping, broken paving slabs, or street lighting)') %]</h2>
-
- [%
- question
- = c.cobrand.enter_postcode_text()
- || loc("Enter a nearby GB postcode, or street name and area");
- %]
-
- <form action="[% c.uri_for('/around') %]" method="get" name="postcodeForm" id="postcodeForm">
- <label for="pc">[% question %]:</label>
- <div>
- <input type="text" name="pc" value="" id="pc" size="10" maxlength="200" placeholder="[% tprintf(loc('e.g. ‘%s’ or ‘%s’'), c.cobrand.example_places) %]">
- <input type="submit" value="[% loc('Go') %]" id="submit">
- </div>
- </form>
- </div>
-</div>
-[% END %]
-
-[% INCLUDE 'header.html', title => '' , bodyclass => 'frontpage fullwidthpage' %]
-
-[% IF error %]
- <p class="error">[% error %]</p>
-[% END %]
-
-<div class="tablewrapper">
- <div id="front-howto">
- <h2>[% loc('How to report a problem') %]</h2>
-
- <ol class="big-numbers">
- <li>[% question %]</li>
- <li>[% loc('Locate the problem on a map of the area') %]</li>
- <li>[% loc('Enter details of the problem') %]</li>
- </ol>
-
- <section class="full-width">
- [% INCLUDE "front/stats.html" %]
- [% TRY %][% INCLUDE "front/tips.html" %][% CATCH file %][% END %]
- </section>
- </div>
-
-
- [%
- recent_photos = c.cobrand.recent_photos('front', 5);
- %]
-
- [% IF recent_photos.size %]
- <div id="front-recently">
- <h2>[% loc('Recently reported problems') %]</h2>
-
- <section class="full-width">
- <ul class="issue-list-a">
- [% FOREACH p IN recent_photos %]
- <li>
- <a href="/report/[% p.id %]">
- <div class="text">
- <h4>[% p.title | html %]</h4>
- <small>[% prettify_epoch( p.confirmed_local.epoch, 1 ) %]</small>
- </div>
- <div class="img">
- <img alt="[% p.title | html %]" title="[% p.title | html %]" height="60" width="90" src="/photo/[% p.id %].fp.jpeg">
- </div>
- </a>
- </li>
- [% END %]
- </ul>
- </section>
-
- </div>
- [% END %]
-</div>
-
-
-<!-- [% TRY %][% INCLUDE 'front/news.html' %][% CATCH file %][% END %] -->
-
-
-[% INCLUDE 'footer.html' pagefooter = 'yes' %]
diff --git a/templates/web/bromley/faq/faq-en-gb.html b/templates/web/bromley/faq/faq-en-gb.html
index f0b5e1a7e..3dfd26483 100755
--- a/templates/web/bromley/faq/faq-en-gb.html
+++ b/templates/web/bromley/faq/faq-en-gb.html
@@ -23,11 +23,18 @@
<li>complaining about your neighbours
<li>complaining or commenting about the council
</ul>
- <p>Do not use this to report urgent or emergency problems because reports are not always dealt with immediately outside of working hours.</p>
+
<p>Note, the council does not maintain responsibility for problems on private land or TFL roads (A21 and part of the A232, West Wickham to Locksbottom). TFL road enquiries should be directed to <a href="http://reportit.tfl.gov.uk/">http://reportit.tfl.gov.uk/</a>.
</dd>
+ <dt><a name="emergencies"></a>Reporting emergencies (out of hours)</dt>
+ <dd>
+ <p>Please do not report problems which present an immediate risk to life, for example missing manhole covers or a fallen lamp column.</p>
+ <p>Please direct your enquiry to our <a href="http://www.bromley.gov.uk/info/200039/emergencies/460/emergency_contacts">Out of Hours service</a></p>
+
+ </dd>
+
<dt>How do I report a problem here?</dt>
<dd>After entering a postcode or location, you are shown
a map of that area. You can view problems already reported in that area,
diff --git a/templates/web/bromley/header.html b/templates/web/bromley/header.html
index 69a595923..55304a280 100644
--- a/templates/web/bromley/header.html
+++ b/templates/web/bromley/header.html
@@ -20,9 +20,24 @@
<script src="[% version('/js/modernizr.custom.js') %]" charset="utf-8"></script>
<script src="[% version('/cobrands/bromley/position_map.js') %]" charset="utf-8"></script>
- [% INCLUDE 'common_header_tags.html', js_override = '/cobrands/fixmystreet/fixmystreet.js' %]
+ [% INCLUDE 'common_header_tags.html', js_override = '/cobrands/fixmystreet/fixmystreet.js', site_title = "London Borough of Bromley - Report a problem in Bromley&rsquo;s streets or parks" %]
+ <script type="text/javascript">
+
+   var _gaq = _gaq || [];
+   _gaq.push(['_setAccount', 'UA-12543967-1']);
+   _gaq.push(['_setDomainName', 'bromley.gov.uk']);
+   _gaq.push(['_trackPageview']);
+
+   (function() {
+     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+   })();
+
+ </script>
+
[% extra_js %]
-
+
<link rel="Shortcut Icon" type="image/x-icon" href="/cobrands/bromley/favicon.ico">
</head>
diff --git a/templates/web/bromley/report/display.html b/templates/web/bromley/report/display.html
index 89b74277f..13bc5f960 100644
--- a/templates/web/bromley/report/display.html
+++ b/templates/web/bromley/report/display.html
@@ -15,12 +15,7 @@
</div>
-[% IF banner.id %]
- <div class="banner">
- <p id="[% banner.id %]">[% banner.text %]</p>
- </div>
-[% END %]
-
+[% INCLUDE 'report/banner.html' %]
[% INCLUDE 'report/_main.html' %]
<div class="shadow-wrap">
diff --git a/templates/web/bromley/report/new/councils_extra_text.html b/templates/web/bromley/report/new/councils_extra_text.html
new file mode 100644
index 000000000..91cceca11
--- /dev/null
+++ b/templates/web/bromley/report/new/councils_extra_text.html
@@ -0,0 +1 @@
+Do not use this to <a href="/faq#emergencies">report emergencies outside of working hours</a>.
diff --git a/templates/web/bromley/report/new/fill_in_details_form.html b/templates/web/bromley/report/new/fill_in_details_form.html
index 1ceb0ac10..2c5abb874 100644
--- a/templates/web/bromley/report/new/fill_in_details_form.html
+++ b/templates/web/bromley/report/new/fill_in_details_form.html
@@ -55,14 +55,13 @@
[% IF report.used_map %]
<p>
We won&rsquo;t be able to help unless you leave as much
-detail as you can. Please describe the exact location of the problem (e.g. on a
-wall).
+ detail as you can. <strong>Please remember the content of this report will be public.</strong>
</p>
[% END %]
[% IF field_errors.detail %]
<p class='form-error'>[% field_errors.detail %]</p>
[% END %]
- <textarea rows="7" cols="26" name="detail" id="form_detail" placeholder="[% loc('Please fill in details of the problem.') %]" required>[% report.detail | html %]</textarea>
+ <textarea rows="7" cols="26" name="detail" id="form_detail" placeholder="[% loc('Please describe the exact location of the report. Example: “2 dumped mattresses outside Number 19 Stockwell Close”') %]" required>[% report.detail | html %]</textarea>
[% IF js %]
<div id="form_category_row">
diff --git a/templates/web/default/alert/_list.html b/templates/web/default/alert/_list.html
new file mode 100644
index 000000000..2ffcfae39
--- /dev/null
+++ b/templates/web/default/alert/_list.html
@@ -0,0 +1,100 @@
+ <input type="hidden" name="type" value="local">
+ <input type="hidden" name="pc" value="[% pc | html %]">
+
+ <p>
+ [% IF pretty_pc %]
+ [% tprintf( loc('Here are the types of local problem alerts for &lsquo;%s&rsquo;.'), pretty_pc ) %]
+ [% END %]
+ [% loc('Select which type of alert you\'d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert.') %]
+ </p>
+
+ [% INCLUDE 'errors.html' %]
+
+ <p>
+ [% loc('The simplest alert is our geographic one:') %]
+ </p>
+
+ <p id="rss_local">
+ <input type="radio" name="feed" id="[% rss_feed_id %]" value="[% rss_feed_id %]"[% IF rss_feed_id == selected_feed || selected_feed == '' %] checked[% END %]>
+ <label for="[% rss_feed_id %]">[% tprintf( loc('Problems within %.1fkm of this location'), population_radius ) %]</label>
+ [% loc('(a default distance which covers roughly 200,000 people)') %] <a href='[% rss_feed_uri %]'>
+ <img src='/i/feed.png' width='16' height='16' title='[% loc('RSS feed of nearby problems') %]' alt='[% loc('RSS feed') %]' border='0'></a>
+ </p>
+
+ <p id="rss_local_alt">
+ [% loc('(alternatively the RSS feed can be customised, within') %]
+ <a href="[% rss_feed_2k %]">2km</a> / <a href="[% rss_feed_5k %]">5km</a> / <a href="[% rss_feed_10k %]">10km</a> / <a href="[% rss_feed_20k %]">20km</a>)
+ </p>
+
+ <p>
+ [% IF c.cobrand.is_council %]
+ Or you can subscribe to an alert for all council problems or one based upon what ward you&rsquo;re in:
+ [% ELSE %]
+ [% loc("Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:") %]
+ [% END %]
+ </p>
+
+ [% IF reported_to_options %]
+ <div id="rss_list">
+ <p><strong>
+ [% loc('Problems within the boundary of:') %]
+ </strong></p>
+ <ul class="plain-list">
+ [% ELSE %]
+ <div><ul id="rss_feed">
+ [% END %]
+
+ [% FOREACH option IN options %]
+ <li[% IF ! (loop.count % 2) %] class="a"[% END %]>
+ <input type="radio" name="feed" id="[% option.id %]" value="[% option.id %]"[% IF option.id == selected_feed %] checked[% END %]>
+ <label class="inline" for="[% option.id %]">[% option.text %]</label>
+ <a href="[% option.uri %]"><img src="/i/feed.png" width="16" height="16"
+title="[% option.rss_text %]" alt="RSS feed" border="0"></a>
+ </li>
+ [% END %]
+</ul>
+ [% IF reported_to_options %]
+ <p><strong>
+ [% loc('Or problems reported to:') %]
+ </strong></p>
+ <ul class="plain-list">
+ [% FOREACH option IN reported_to_options %]
+ <li[% IF ! (loop.count % 2) %] class="a"[% END %]>
+ <input type="radio" name="feed" id="[% option.id %]" value="[% option.id %]"[% IF option.id == selected_feed %] checked[% END %]>
+ <label class="inline" for="[% option.id %]">[% option.text %]</label>
+ <a href="[% option.uri %]"><img src="/i/feed.png" width="16" height="16"
+ title="[% option.rss_text %]" alt="RSS feed" border="0"></a>
+ </li>
+ [% END %]
+ </ul>
+ <p><small>
+ [% loc( 'FixMyStreet sends different categories of problem
+to the appropriate council, so problems within the boundary of a particular council
+might not match the problems sent to that council. For example, a graffiti report
+will be sent to the district council, so will appear in both of the district
+council&rsquo;s alerts, but will only appear in the "Within the boundary" alert
+for the county council.' ) %]
+ </small></p>
+</div>
+<div id="rss_buttons">
+ [% END %]
+
+ <p>
+ <input type="submit" name="rss" value="[% loc('Give me an RSS feed') %]">
+ <p>
+
+ <p id="alert_or">
+ [% loc('or') %]
+ </p>
+
+ [% UNLESS c.user_exists %]
+ <p>
+ [% loc('Your email:') %] <input type="text" id="rznvy" name="rznvy" value="[% rznvy | html %]" size="30">
+ </p>
+ [% END %]
+
+ <p>
+ <input type="submit" name="alert" value="[% loc('Subscribe me to an email alert') %]">
+ </p>
+ </div> <!-- ???? -->
+
diff --git a/templates/web/default/alert/choose.html b/templates/web/default/alert/choose.html
index fad365088..312b9f520 100644
--- a/templates/web/default/alert/choose.html
+++ b/templates/web/default/alert/choose.html
@@ -4,7 +4,7 @@
[% IF possible_location_matches %]
<p>[% loc('We found more than one match for that location. We show up to ten matches, please try a different search if yours is not here.') %]</p>
- <ul class="pc_alternatives">
+ <ul class="pc_alternatives plain-list">
[% FOREACH match IN possible_location_matches %]
<li><a href="[% choose_target_uri %]?latitude=[% match.latitude | uri %];longitude=[% match.longitude | uri %]">[% match.address | html %]</a></li>
[% END %]
diff --git a/templates/web/default/alert/index.html b/templates/web/default/alert/index.html
index 274d61780..1f0635ae4 100644
--- a/templates/web/default/alert/index.html
+++ b/templates/web/default/alert/index.html
@@ -1,37 +1,50 @@
-[% INCLUDE 'header.html', title => loc('Local RSS feeds and email alerts') %]
+[% INCLUDE 'header.html', title = loc('Local RSS feeds and email alerts'), bodyclass = 'twothirdswidthpage' %]
<h1>[% loc('Local RSS feeds and email alerts') %]</h1>
<p>
+[% IF c.cobrand.is_council %]
+FixMyStreet has a variety of RSS feeds and email alerts for local problems, including
+alerts for all problems within a particular ward, or all problems
+within a certain distance of a particular location.
+[% ELSE %]
[% loc('FixMyStreet has a variety of RSS feeds and email alerts for local problems, including
alerts for all problems within a particular ward or council, or all problems
within a certain distance of a particular location.') %]
+[% END %]
</p>
-[% IF location_offshore %]
- <ul class="error"><li>[% loc('That location does not appear to be covered by a council, perhaps it is offshore - please try somewhere more specific.') %]</li></ul>
-[% ELSIF location_error %]
- <ul class="error"><li>[% location_error %]</li></ul>
+[% IF location_error %]
+ <div class="error">[% location_error %]</div>
[% ELSE %]
[% INCLUDE 'errors.html' %]
[% END %]
-<form method="get" action="/alert/list">
- <p>
- [% loc('To find out what local alerts we have for you, please enter your GB
-postcode or street name and area:' ) %]
- <input type="text" name="pc" value="[% pc | html %]">
- <input type="submit" value="[% loc('Go') %]">
- </p>
+<p>
+[% IF c.cobrand.is_council %]
+To find out what local alerts we have for you, please enter your [% c.cobrand.council_area %] postcode or street name and area:
+[% ELSE %]
+[% loc('To find out what local alerts we have for you, please enter your postcode or street name and area' ) %]
+[% END %]
+</p>
+<form method="get" action="/alert/list" class="full-width">
+ <fieldset>
+ <div class="form-txt-submit-box">
+ <input type="text" name="pc" value="[% pc | html %]" placeholder="[% tprintf(loc('e.g. ‘%s’ or ‘%s’'), c.cobrand.example_places) %]">
+ <input class="green-btn" type="submit" value="[% loc('Go') %]">
+ </div>
+ </fieldset>
</form>
[% IF photos.size %]
-<div id="alert_recent">
- <h2>[% loc('Some photos of recent reports') %]</h2>
+<div class="sticky-sidebar" id="alert_recent">
+ <aside>
+ <h2>[% loc('Some photos of recent reports') %]</h2>
[% FOREACH p IN photos %]
<a href="/report/[% p.id %]"><img border="0" height="100"
src="/photo/[% p.id %].tn.jpeg" alt="[% p.title | html %]" title="[% p.title | html %]"></a>
[% END %]
+ </aside>
</div>
[% END %]
diff --git a/templates/web/default/alert/list.html b/templates/web/default/alert/list.html
index 9f2bd69d0..20ebbf455 100644
--- a/templates/web/default/alert/list.html
+++ b/templates/web/default/alert/list.html
@@ -6,7 +6,7 @@
END;
%]
-[% INCLUDE 'header.html', title => title %]
+[% INCLUDE 'header.html', title = title, bodyclass = 'twothirdswidthpage' %]
[% IF pretty_pc %]
[%
@@ -19,113 +19,21 @@
<h1>[% title %]</h1>
<form id="alerts" name="alerts" method="post" action="/alert/subscribe">
- <input type="hidden" name="type" value="local">
- <input type="hidden" name="pc" value="[% pc | html %]">
[% IF photos.size %]
- <div id="alert_photos">
- <h2>[% loc('Photos of recent nearby reports') %]</h2>
+ <div id="alert_photos" class="sticky-sidebar">
+ <aside>
+ <h2>[% loc('Photos of recent nearby reports') %]</h2>
[% FOREACH p IN photos %]
<a href="/report/[% p.id %]"><img border="0" height="100"
src="/photo/[% p.id %].tn.jpeg" alt="[% p.title | html %]" title="[% p.title | html %]"></a>
[% END %]
+ </aside>
</div>
[% END %]
- <p>
- [% IF pretty_pc %]
- [% tprintf( loc('Here are the types of local problem alerts for &lsquo;%s&rsquo;.'), pretty_pc ) %]
- [% END %]
- [% loc('Select which type of alert you\'d like and click the button for an RSS feed, or enter your email address to subscribe to an email alert.') %]
- </p>
-
- [% INCLUDE 'errors.html' %]
-
- <p>
- [% loc('The simplest alert is our geographic one:') %]
- </p>
-
- <p id="rss_local">
- <input type="radio" name="feed" id="[% rss_feed_id %]" value="[% rss_feed_id %]"[% IF rss_feed_id == selected_feed || selected_feed == '' %] checked[% END %]>
- <label for="[% rss_feed_id %]">[% tprintf( loc('Problems within %.1fkm of this location'), population_radius ) %]</label>
- [% loc('(a default distance which covers roughly 200,000 people)') %] <a href='[% rss_feed_uri %]'>
- <img src='/i/feed.png' width='16' height='16' title='[% loc('RSS feed of nearby problems') %]' alt='[% loc('RSS feed') %]' border='0'></a>
- </p>
-
- <p id="rss_local_alt">
- [% loc('(alternatively the RSS feed can be customised, within') %]
- <a href="[% rss_feed_2k %]">2km</a> / <a href="[% rss_feed_5k %]">5km</a> / <a href="[% rss_feed_10k %]">10km</a> / <a href="[% rss_feed_20k %]">20km</a>)
- </p>
-
- <p>
- [% loc("Or you can subscribe to an alert based upon what ward or council you&rsquo;re in:") %]
- </p>
-
- [% IF reported_to_options %]
- <div id="rss_list">
- <p><strong>
- [% loc('Problems within the boundary of:') %]
- </strong></p>
- <ul>
- [% ELSE %]
- <div><ul id="rss_feed">
- [% END %]
-
- [% FOREACH option IN options %]
- <li>
- <input type="radio" name="feed" id="[% option.id %]" value="[% option.id %]"[% IF option.id == selected_feed %] checked[% END %]>
- <label for="[% option.id %]">[% option.text %]</label>
- <a href="[% option.uri %]"><img src="/i/feed.png" width="16" height="16"
-title="[% option.rss_text %]" alt="RSS feed" border="0"></a>
- </li>
- [% END %]
-</ul>
- [% IF reported_to_options %]
- <p><strong>
- [% loc('Or problems reported to:') %]
- </strong></p>
- <ul>
- [% FOREACH option IN reported_to_options %]
- <li>
- <input type="radio" name="feed" id="[% option.id %]" value="[% option.id %]"[% IF option.id == selected_feed %] checked[% END %]>
- <label for="[% option.id %]">[% option.text %]</label>
- <a href="[% option.uri %]"><img src="/i/feed.png" width="16" height="16"
- title="[% option.rss_text %]" alt="RSS feed" border="0"></a>
- </li>
- [% END %]
- </ul>
- <p><small>
- [% loc( 'FixMyStreet sends different categories of problem
-to the appropriate council, so problems within the boundary of a particular council
-might not match the problems sent to that council. For example, a graffiti report
-will be sent to the district council, so will appear in both of the district
-council&rsquo;s alerts, but will only appear in the "Within the boundary" alert
-for the county council.' ) %]
- </small></p>
-</div>
-<div id="rss_buttons">
- [% END %]
-
- <p>
- <input type="submit" name="rss" value="[% loc('Give me an RSS feed') %]">
- <p>
-
- <p id="alert_or">
- [% loc('or') %]
- </p>
-
-[% UNLESS c.user_exists %]
-
- <p>
- [% loc('Your email:') %] <input type="text" id="rznvy" name="rznvy" value="[% rznvy | html %]" size="30">
- </p>
-
-[% END %]
+ [% INCLUDE 'alert/_list.html' %]
- <p>
- <input type="submit" name="alert" value="[% loc('Subscribe me to an email alert') %]">
- </p>
- </div> <!-- ???? -->
- </form>
+</form>
[% INCLUDE 'footer.html' %]
diff --git a/templates/web/default/around/around_index.html b/templates/web/default/around/around_index.html
index 55ed38341..f58d13d80 100644
--- a/templates/web/default/around/around_index.html
+++ b/templates/web/default/around/around_index.html
@@ -7,22 +7,9 @@
# '/report/new' and the partial hidden field is added to the form.
%]
-[%
- question = c.cobrand.enter_postcode_text();
-%]
-
-<form action="[% c.uri_for('/around') %]" method="get" name="postcodeForm" id="postcodeForm">
- <label for="pc">[% question %]:</label>&nbsp;<input type="text" name="pc" value="[% pc | html %]" id="pc" size="10" maxlength="200">&nbsp;<input type="submit" value="[% loc('Go') %]" id="submit">
-
-[% IF partial_token %]
- <input type="hidden" name="partial" value="[% partial_token.token %]">
-[% END %]
-
-</form>
+[% INCLUDE 'around/postcode_form.html' %]
-[% IF location_offshore %]
- <p class="error">[% loc('That spot does not appear to be covered by a council. If you have tried to report an issue past the shoreline, for example, please specify the closest point on land.') %]</p>
-[% ELSIF location_error %]
+[% IF location_error %]
<p class="error">[% location_error %]</p>
[% END %]
diff --git a/templates/web/default/around/around_map_list_items.html b/templates/web/default/around/around_map_list_items.html
index e248ce3ed..f598a9ba9 100644
--- a/templates/web/default/around/around_map_list_items.html
+++ b/templates/web/default/around/around_map_list_items.html
@@ -8,6 +8,8 @@
<small>[% prettify_epoch( p.problem.confirmed_local.epoch, 1 ) %], [% dist %]km</small>
[% IF p.problem.is_fixed %]
<small>[% loc('(fixed)') %]</small>
+ [% ELSIF p.problem.is_closed %]
+ <small>[% loc('(closed)') %]</small>
[% END %]
</li>
[% END %]
diff --git a/templates/web/default/around/display_location.html b/templates/web/default/around/display_location.html
index 27f54f346..88f8b89ae 100755
--- a/templates/web/default/around/display_location.html
+++ b/templates/web/default/around/display_location.html
@@ -76,6 +76,8 @@
<span id="text_map_arrow"></span>
</p>
+[% TRY %][% INCLUDE 'around/extra_text.html' %][% CATCH file %][% END %]
+
<h1>[% loc('Problems in this area') %]</h1>
<p id="alert_links_area">
diff --git a/templates/web/default/around/on_map_list_items.html b/templates/web/default/around/on_map_list_items.html
index 245be7190..e0f8eea08 100644
--- a/templates/web/default/around/on_map_list_items.html
+++ b/templates/web/default/around/on_map_list_items.html
@@ -5,6 +5,8 @@
<small>[% prettify_epoch( p.confirmed_local.epoch, 1 ) %]</small>
[% IF p.is_fixed %]
<small>[% loc('(fixed)') %]</small>
+ [% ELSIF p.is_closed %]
+ <small>[% loc('(closed)') %]</small>
[% END %]
</li>
[% END %]
diff --git a/templates/web/default/around/postcode_form.html b/templates/web/default/around/postcode_form.html
new file mode 100644
index 000000000..935995cfe
--- /dev/null
+++ b/templates/web/default/around/postcode_form.html
@@ -0,0 +1,13 @@
+[%
+ question = c.cobrand.enter_postcode_text || loc('Enter a nearby street name and area');
+%]
+
+<form action="[% c.uri_for('/around') %]" method="get" name="postcodeForm" id="postcodeForm">
+ <label for="pc">[% question %]:</label>
+ <span><input type="text" name="pc" value="[% pc | html %]" id="pc" size="10" maxlength="200">
+ <input type="submit" value="[% loc('Go') %]" id="submit">
+ </span>
+ [% IF partial_token %]
+ <input type="hidden" name="partial" value="[% partial_token.token %]">
+ [% END %]
+</form>
diff --git a/templates/web/default/common_header_tags.html b/templates/web/default/common_header_tags.html
index 582afd422..9d32164f7 100644
--- a/templates/web/default/common_header_tags.html
+++ b/templates/web/default/common_header_tags.html
@@ -30,5 +30,5 @@
<title>
[% "$title :: " | html IF title %]
- [% c.cobrand.site_title %]
+ [% site_title || 'FixMyStreet' %]
</title>
diff --git a/templates/web/default/dashboard/index.html b/templates/web/default/dashboard/index.html
index 308042d0d..c2bfa9ea3 100644
--- a/templates/web/default/dashboard/index.html
+++ b/templates/web/default/dashboard/index.html
@@ -1,39 +1,52 @@
-[%
+[% extra_css = BLOCK %]
+ <link rel="stylesheet" href="[% version('/cobrands/fixmystreet/dashboard.css') %]">
+[% END %]
+
+[%
INCLUDE 'header.html'
title = loc('Dashboard')
robots = 'noindex, nofollow'
bodyclass = 'fullwidthpage'
%]
-<style>
- th[scope=row] { text-align: left; }
- tr.subtotal { background-color: #eee; }
- #overview tr:nth-child(2) { background-color: #fee; }
- select { width: auto; }
-</style>
-
<form>
-<p>Ward: <select name="ward"><option value=''>All</option>
- [% FOR w IN children.values.sort('name') %]
- <option value="[% w.id %]"[% ' selected' IF w.id == ward %]>[% w.name %]</option>
- [% END %]
-</select>
-
-<p>Report category: <select name="category"><option value=''>All</option>
- [% FOR cat_op IN category_options %]
- <option value='[% cat_op | html %]'[% ' selected' IF category == cat_op %]>[% cat_op | html %]</option>
- [% END %]
- </select>
-
-<p><input type="submit" value="Look up">
+<hgroup>
+ <h2>Reports, Statistics and Actions for</h2>
+ <h1>[% council.name %]</h1>
+</hgroup>
+
+<div class="filters">
+ <p>
+ <label for="ward">Ward:</label>
+ <select name="ward"><option value=''>All</option>
+ [% FOR w IN children.values.sort('name') %]
+ <option value="[% w.id %]"[% ' selected' IF w.id == ward %]>[% w.name %]</option>
+ [% END %]
+ </select>
+ </p>
+
+ <p>
+ <label for="category">Report category:</label>
+ <select name="category"><option value=''>All</option>
+ [% FOR cat_op IN category_options %]
+ <option value='[% cat_op | html %]'[% ' selected' IF category == cat_op %]>[% cat_op | html %]</option>
+ [% END %]
+ </select>
+ </p>
+
+ <p>
+ <input type="submit" value="Look up">
+ </p>
+
+ <br clear="all" />
+</div>
-<h2>Summary Statistics for [% council.name %]</h2>
<table width="100%" id="overview">
<tr>
- <td>&nbsp;</td>
- <th scope="col">WTD</th>
+ <th>&nbsp;</th>
+ <th scope="col"><abbr title="Week To Date">WTD</abbr></th>
<th scope="col">Last 7 days</th>
<th scope="col">Last 4 weeks</th>
<th scope="col">YTD</th>
@@ -147,6 +160,6 @@
[% BLOCK list %]
[% FOR p IN list %]
-<li><a href="/report/[% p.id %]">[% p.title | html %]</a></li>
+<li><a href="/report/[% p.id %]">[% p.title | html %]</a> <date>[% p.confirmed.dmy('/') %]</date></li>
[% END %]
[% END %]
diff --git a/templates/web/default/faq/faq-en-gb.html b/templates/web/default/faq/faq-en-gb.html
index 1e52cc3b0..f0030dcb9 100755
--- a/templates/web/default/faq/faq-en-gb.html
+++ b/templates/web/default/faq/faq-en-gb.html
@@ -77,11 +77,6 @@ href="https://secure.mysociety.org/donate/">please do</a>.</dd>
</ul>
</dd>
- <dt>Why do you only cover the countries of Great Britain?</dt>
- <dd>We would love to cover Northern Ireland, but we have only been able
- to locate boundaries for Great Britain (from Ordnance Survey). If you
- know of a source for Northern Ireland council boundaries
- so that we can add them to the site, that'd be great.</dd>
</dl>
<h2>Practical Questions</h2>
diff --git a/templates/web/default/index.html b/templates/web/default/index.html
index 8f755d4d5..159a595bc 100644
--- a/templates/web/default/index.html
+++ b/templates/web/default/index.html
@@ -21,16 +21,7 @@
[% TRY %][% INCLUDE 'front/news.html' %][% CATCH file %][% END %]
-[%
- question = c.cobrand.enter_postcode_text();
-%]
-
-<form action="[% c.uri_for('/around') %]" method="get" name="postcodeForm" id="postcodeForm">
- <label for="pc">[% question %]:</label>
- <span><input type="text" name="pc" value="" id="pc" size="10" maxlength="200">
- <input type="submit" value="[% loc('Go') %]" id="submit">
- </span>
-</form>
+[% PROCESS 'around/postcode_form.html' %]
<div id="front_intro">
diff --git a/templates/web/default/my/my.html b/templates/web/default/my/my.html
index b96823df2..3d418cda7 100644
--- a/templates/web/default/my/my.html
+++ b/templates/web/default/my/my.html
@@ -1,6 +1,6 @@
[%
PROCESS "maps/${map.type}.html" IF problems.size;
- INCLUDE 'header.html', title = loc('Your Reports')
+ INCLUDE 'header.html', title = loc('Your Reports'), bodyclass = 'mappage'
%]
[% IF problems.size %]
@@ -47,7 +47,7 @@ END %]
pager = updates_pager,
param = 'u'
%]
- <ul>
+ <ul class="issue-list full-width">
[% END %]
<li>&ldquo;[% u.text | html %]&rdquo;
@@ -64,7 +64,7 @@ END %]
[% INCLUDE 'footer.html' %]
[% BLOCK problem %]
- [% "<ul>" IF loop.first %]
+ [% "<ul class='issue-list-a full-width'>" IF loop.first %]
<li><a href="[% c.uri_for( '/report', p.id ) %]">[% p.title | html %]</a>
<em class="council_sent_info"> &ndash;
diff --git a/templates/web/default/questionnaire/completed-open.html b/templates/web/default/questionnaire/completed-open.html
new file mode 100644
index 000000000..7c5469259
--- /dev/null
+++ b/templates/web/default/questionnaire/completed-open.html
@@ -0,0 +1,5 @@
+[% loc('<p style="font-size:150%">We&rsquo;re sorry to hear that. We have two
+suggestions: why not try writing to your local representative or, if it&rsquo;s
+a problem that could be fixed by local people working together, why not
+<a href="http://www.pledgebank.com/new">make and publicise a pledge</a>?
+</p>') %]
diff --git a/templates/web/default/questionnaire/completed.html b/templates/web/default/questionnaire/completed.html
index fe896b383..a125d48bd 100644
--- a/templates/web/default/questionnaire/completed.html
+++ b/templates/web/default/questionnaire/completed.html
@@ -12,12 +12,7 @@ site and leave an update.</p>') %]
[% ELSIF new_state == 'confirmed' OR (!new_state AND problem.is_open) %]
-[% tprintf( loc('<p style="font-size:150%%">We&rsquo;re sorry to hear that. We have two suggestions: why not try
-<a href="%s">writing direct to your councillor(s)</a>
-or, if it&rsquo;s a problem that could be fixed by local people working together,
-why not <a href="http://www.pledgebank.com/new">make and publicise a pledge</a>?
-</p>'), c.cobrand.writetothem_url || 'http://www.writetothem.com/' ) %]
-
+[% INCLUDE 'questionnaire/completed-open.html' %]
[% advert_outcome = 0 %]
[% ELSE %]
diff --git a/templates/web/default/report/banner.html b/templates/web/default/report/banner.html
new file mode 100644
index 000000000..85aaed82d
--- /dev/null
+++ b/templates/web/default/report/banner.html
@@ -0,0 +1,22 @@
+[% USE date %]
+[% BLOCK banner %]
+<p class="banner" id="[% id %]">
+ [% text %]
+</p>
+[% END %]
+
+[% IF problem.is_open AND date.now - problem.lastupdate_local.epoch > 8 * 7 * 24 * 60 * 60 %]
+ [% INCLUDE banner, id = 'unknown', text = loc('This problem is old and of unknown status.') %]
+[% END %]
+[% IF problem.is_fixed %]
+ [% INCLUDE banner, id = 'fixed', text = loc('This problem has been fixed') %]
+[% END %]
+[% IF problem.is_closed %]
+ [% INCLUDE banner, id = 'closed', text = loc('This problem has been closed') %]
+[% END %]
+[% states = [ 'investigating', 'in progress', 'planned' ];
+ IF states.grep(problem.state).size %]
+ [% INCLUDE banner, id = 'progress', text = loc('This problem is in progress') %]
+[% END %]
+
+
diff --git a/templates/web/default/report/display.html b/templates/web/default/report/display.html
index fac3ef0b2..6b93539f2 100644
--- a/templates/web/default/report/display.html
+++ b/templates/web/default/report/display.html
@@ -13,12 +13,7 @@
</div>
<div id="side">
-[% IF banner.id %]
-<p class="banner" id="[% banner.id %]">
- [% banner.text %]
-</p>
-[% END %]
-
+[% INCLUDE 'report/banner.html' %]
[% INCLUDE 'report/_main.html' %]
<p align="right">
diff --git a/templates/web/default/report/new/category.html b/templates/web/default/report/new/category.html
index 095cd7c2e..8bff539c4 100644
--- a/templates/web/default/report/new/category.html
+++ b/templates/web/default/report/new/category.html
@@ -1,9 +1,13 @@
[% FILTER collapse %]
[% IF category_options.size %]
+ [% IF category;
+ category = category | lower;
+ END; %]
<label for='form_category'>[% category_label | html %]</label>
<select name='category' id='form_category'[% ' onchange="form_category_onchange()"' IF category_extras.size %]>
[% FOREACH cat_op IN category_options %]
- <option value='[% cat_op | html %]'[% ' selected' IF report.category == cat_op %]>[% cat_op | html %]</option>
+ [% cat_op_lc = cat_op | lower %]
+ <option value='[% cat_op | html %]'[% ' selected' IF report.category == cat_op || category == cat_op_lc %]>[% cat_op | html %]</option>
[% END %]
</select>
[% END %]
diff --git a/templates/web/default/report/new/councils_extra_text.html b/templates/web/default/report/new/councils_extra_text.html
new file mode 100644
index 000000000..1088b9f8b
--- /dev/null
+++ b/templates/web/default/report/new/councils_extra_text.html
@@ -0,0 +1 @@
+[% loc('The subject and details of the problem will be public, plus your name if you give us permission.') %]
diff --git a/templates/web/default/report/new/councils_text_all.html b/templates/web/default/report/new/councils_text_all.html
index df3388bf3..af5d822b0 100644
--- a/templates/web/default/report/new/councils_text_all.html
+++ b/templates/web/default/report/new/councils_text_all.html
@@ -6,6 +6,13 @@
all_council_names.join( '</strong>' _ loc(' or ') _ '<strong>' )
);
%]
+[% ELSIF all_councils.${area_ids_to_list.0}.type == 'LGD' %]
+[%
+ tprintf(
+ loc('All the information you provide here will be sent to <strong>%s</strong> or <strong>Roads Service</strong>.'),
+ all_council_names.join( '</strong>' _ loc(' or ') _ '<strong>' )
+ );
+%]
[% ELSE %]
[%
tprintf(
@@ -15,5 +22,5 @@
%]
[% END %]
-[% loc('The subject and details of the problem will be public, plus your name if you give us permission.') %]
+[% INCLUDE 'report/new/councils_extra_text.html' %]
</p>
diff --git a/templates/web/default/report/updates.html b/templates/web/default/report/updates.html
index 2a65a3e3e..de873e2ed 100644
--- a/templates/web/default/report/updates.html
+++ b/templates/web/default/report/updates.html
@@ -22,7 +22,6 @@
[%- ELSE %]
[% tprintf( loc( 'Posted by %s at %s' ), update.name, prettify_epoch( update.confirmed_local.epoch ) ) | html -%]
[%- END -%]
- [%- c.cobrand.extra_update_meta_text(update) -%]
[%- ", " _ loc( 'marked as fixed' ) IF update.mark_fixed %]
[%- ", " _ loc( 'reopened' ) IF update.mark_open %]
[%- ", " _ tprintf(loc( 'marked as %s' ), update.meta_problem_state) IF update.problem_state %]
diff --git a/templates/web/default/reports/_list-entry.html b/templates/web/default/reports/_list-entry.html
new file mode 100755
index 000000000..14863c4a1
--- /dev/null
+++ b/templates/web/default/reports/_list-entry.html
@@ -0,0 +1,6 @@
+<li><a href="[% c.uri_for('/report/' _ problem.id) %]">[% problem.title | html %]</a>
+ [% IF problem.councils > 1 %] <small>[% loc('(sent to both)') %]</small> [% END %]
+ [% IF c.cobrand.moniker != 'emptyhomes' %]
+ [% IF problem.councils == 0 %] <small>[% loc('(not sent to council)') %]</small> [% END %]
+ [% END %]
+</li>
diff --git a/templates/web/default/reports/_rss.html b/templates/web/default/reports/_rss.html
new file mode 100644
index 000000000..9756f131d
--- /dev/null
+++ b/templates/web/default/reports/_rss.html
@@ -0,0 +1,2 @@
+<p><a href="[% rss_url %]"><img align="right" src="/i/feed.png" width="16" height="16" title="[% loc('RSS feed') %]" alt="[% tprintf(loc('RSS feed of problems in this %s'), thing) %]" border="0" hspace="4"></a>
+
diff --git a/templates/web/default/reports/_ward-list.html b/templates/web/default/reports/_ward-list.html
new file mode 100755
index 000000000..e78ac7d90
--- /dev/null
+++ b/templates/web/default/reports/_ward-list.html
@@ -0,0 +1,9 @@
+[% IF location == 'before' AND children.size %]
+<h2 style="clear:right">[% ward_text %]</h2>
+<p>[% loc('Follow a ward link to view only reports within that ward.') %]</p>
+<ul>
+[% FOR child IN children.values.sort('name') %]
+<li><a href="[% child.url %]">[% child.name %]</a></li>
+[% END %]
+</ul>
+[% END %]
diff --git a/templates/web/default/reports/council.html b/templates/web/default/reports/council.html
index b837bcee9..134c9d4fc 100755
--- a/templates/web/default/reports/council.html
+++ b/templates/web/default/reports/council.html
@@ -31,15 +31,7 @@
[% map_html %]
-[% IF c.cobrand.all_reports_style != 'detailed' AND children.size %]
-<h2 style="clear:right">[% ward_text %]</h2>
-<p>[% loc('Follow a ward link to view only reports within that ward.') %]</p>
-<ul>
-[% FOR child IN children.values.sort('name') %]
-<li><a href="[% child.url %]">[% child.name %]</a></li>
-[% END %]
-</ul>
-[% END %]
+[% INCLUDE 'reports/_ward-list.html', location = 'before' %]
</div>
<div id="side">
@@ -53,67 +45,38 @@
</h1>
[% IF council.generation_high == 10 AND c.cobrand.country == 'GB' %]
-<p id="unknown" class="alert">This council no longer exists.
-[% IF council.name.match('Penwith|Kerrier|Carrick|Restormel|Caradon|North Cornwall') %]
-Its area is now covered by <a href="/reports/Cornwall">Cornwall Council</a>.
-[% ELSIF council.name.match('Durham|Easington|Sedgefield|Teesdale|Wear Valley|Derwentside|Chester le Street') %]
-Its area is now covered by <a href="/reports/Durham+County">Durham County Council</a>.
-[% ELSIF council.name.match('Blyth Valley|Wansbeck|Castle Morpeth|Tynedale|Alnwick|Berwick upon Tweed') %]
-Its area is now covered by <a href="/reports/Northumberland">Northumberland County Council</a>.
-[% ELSIF council.name.match('North Shropshire|Oswestry|Shrewsbury and Atcham|South Shropshire|Bridgnorth') %]
-Its area is now covered by <a href="/reports/Shropshire">Shropshire Council</a>.
-[% ELSIF council.name.match('Salisbury|West Wiltshire|Kennet|North Wiltshire') %]
-Its area is now covered by <a href="/reports/Wiltshire">Wiltshire Council</a>.
-[% ELSIF council.name.match('Ellesmere Port and Neston|Vale Royal|Chester') %]
-Its area is now covered by <a href="/reports/Cheshire+West+and+Chester">Cheshire West and Chester Council</a>.
-[% ELSIF council.name.match('Macclesfield|Congleton|Crewe and Nantwich') %]
-Its area is now covered by <a href="/reports/Cheshire+East">Cheshire East Council</a>.
-[% ELSIF council.name.match('Mid Bedfordshire|South Bedfordshire') %]
-Its area is now covered by <a href="/reports/Central+Bedfordshire">Central Bedfordshire Council</a>.
-[% ELSIF council.name.match('Cheshire') %]
-Its area is now covered by <a href="/reports/Cheshire+West+and+Chester">Cheshire West and Chester Council</a> or
-<a href="/reports/Cheshire+East">Cheshire East Council</a>.
-[% ELSIF council.name.match('Bedfordshire') %]
-Its area is now covered by <a href="/reports/Bedford">Bedford Borough Council</a> or
-<a href="/reports/Central+Bedfordshire">Central Bedfordshire Council</a>.
-[% END %]
-</p>
-[% ELSIF c.cobrand.all_reports_style == 'detailed' %]
- <div class="shadow-wrap">
- <ul id="key-tools"[% IF NOT children.size %] class="singleton"[% END %]>
- <li><a rel="nofollow" id="key-tool-updates-area" class="feed" href="[% rss_url %]">[%
- IF c.cobrand.moniker == 'bromley' AND thing == 'council';
- 'Get updates of reports in Bromley';
- ELSIF c.cobrand.moniker == 'bromley';
- 'Get updates of reports in this ward';
- ELSIF c.cobrand.is_council;
- tprintf(loc('Get updates of %s problems'), thing);
- ELSE;
- tprintf(loc('Get updates of problems in this %s'), thing);
- END
- %]</a></li>
- [% IF children.size %]
- <li><a href="#council_wards" id="key-tool-wards" class="chevron">[% ward_text %]</a></li>
- [% END %]
- </ul>
- </div>
+ <p id="unknown" class="alert">This council no longer exists.
+ [% IF council.name.match('Penwith|Kerrier|Carrick|Restormel|Caradon|North Cornwall') %]
+ Its area is now covered by <a href="/reports/Cornwall">Cornwall Council</a>.
+ [% ELSIF council.name.match('Durham|Easington|Sedgefield|Teesdale|Wear Valley|Derwentside|Chester le Street') %]
+ Its area is now covered by <a href="/reports/Durham+County">Durham County Council</a>.
+ [% ELSIF council.name.match('Blyth Valley|Wansbeck|Castle Morpeth|Tynedale|Alnwick|Berwick upon Tweed') %]
+ Its area is now covered by <a href="/reports/Northumberland">Northumberland County Council</a>.
+ [% ELSIF council.name.match('North Shropshire|Oswestry|Shrewsbury and Atcham|South Shropshire|Bridgnorth') %]
+ Its area is now covered by <a href="/reports/Shropshire">Shropshire Council</a>.
+ [% ELSIF council.name.match('Salisbury|West Wiltshire|Kennet|North Wiltshire') %]
+ Its area is now covered by <a href="/reports/Wiltshire">Wiltshire Council</a>.
+ [% ELSIF council.name.match('Ellesmere Port and Neston|Vale Royal|Chester') %]
+ Its area is now covered by <a href="/reports/Cheshire+West+and+Chester">Cheshire West and Chester Council</a>.
+ [% ELSIF council.name.match('Macclesfield|Congleton|Crewe and Nantwich') %]
+ Its area is now covered by <a href="/reports/Cheshire+East">Cheshire East Council</a>.
+ [% ELSIF council.name.match('Mid Bedfordshire|South Bedfordshire') %]
+ Its area is now covered by <a href="/reports/Central+Bedfordshire">Central Bedfordshire Council</a>.
+ [% ELSIF council.name.match('Cheshire') %]
+ Its area is now covered by <a href="/reports/Cheshire+West+and+Chester">Cheshire West and Chester Council</a> or
+ <a href="/reports/Cheshire+East">Cheshire East Council</a>.
+ [% ELSIF council.name.match('Bedfordshire') %]
+ Its area is now covered by <a href="/reports/Bedford">Bedford Borough Council</a> or
+ <a href="/reports/Central+Bedfordshire">Central Bedfordshire Council</a>.
+ [% END %]
+ </p>
[% ELSE %]
- <p><a href="[% rss_url %]"><img align="right" src="/i/feed.png" width="16" height="16" title="[% loc('RSS feed') %]" alt="[% tprintf(loc('RSS feed of problems in this %s'), thing) %]" border="0" hspace="4"></a>
+ [% INCLUDE 'reports/_rss.html' %]
[% END %]
[% TRY %][% INCLUDE 'reports/cobrand_stats.html' %][% CATCH file %][% END %]
-[% IF c.cobrand.all_reports_style == 'detailed' AND children.size %]
-<section id="council_wards" class="hidden-js">
-<h2>[% ward_text %]</h2>
- <p>[% loc('Follow a ward link to view only reports within that ward.') %]</p>
- <ul class="issue-list-a full-width">
- [% FOR child IN children.values.sort('name') %]
- <li><a href="[% child.url %]"><span class="text">[% child.name %]</span></a></li>
- [% END %]
- </ul>
-</section>
-[% END %]
+[% INCLUDE 'reports/_ward-list.html', location = 'after' %]
[% IF c.cobrand.moniker == 'fixmystreet' %]
<p class="promo">
@@ -139,43 +102,8 @@ Its area is now covered by <a href="/reports/Bedford">Bedford Borough Council</a
[% IF problems %]
<ul class="issue-list-a">
-[% IF c.cobrand.all_reports_style == 'detailed' %]
-
[% FOREACH problem IN problems %]
- <li>
- <a href="[% c.uri_for('/report/' _ problem.id) %]">
- <div class="text">
- <h4>[% problem.title | html %]</h4>
- <small>[% prettify_epoch( problem.confirmed, 1 ) %]
- [%- IF problem.confirmed != problem.lastupdate AND problem.whensent != problem.lastupdate %], last updated [% prettify_epoch( problem.lastupdate, 1 ) %]
- [%- END %]</small>
- [% IF problem.councils > 1 %] <small>[% loc('(sent to both)') %]</small>
- [% ELSIF problem.councils == 0 %] <small>[% loc('(not sent to council)') %]</small>
- [% END %]
- [% IF problem.is_fixed %]
- <small>[% loc('(fixed)') %]</small>
- [% END %]
- </div>
- [% IF problem.photo %]
- <div class="img">
- <img height="60" width="90" src="/photo/[% problem.id %].fp.jpeg" alt="">
- </div>
- [% END %]
- </a>
- </li>
-[% END %]
-
-[% ELSE %]
-
-[% FOREACH problem IN problems %]
- <li><a href="[% c.uri_for('/report/' _ problem.id) %]">[% problem.title | html %]</a>
- [% IF problem.councils > 1 %] <small>[% loc('(sent to both)') %]</small> [% END %]
- [% IF c.cobrand.moniker != 'emptyhomes' %]
- [% IF problem.councils == 0 %] <small>[% loc('(not sent to council)') %]</small> [% END %]
- [% END %]
- </li>
-[% END %]
-
+ [% INCLUDE 'reports/_list-entry.html' %]
[% END %]
</ul>
diff --git a/templates/web/default/tokens/confirm_problem.html b/templates/web/default/tokens/confirm_problem.html
index 1e3c6c535..b6d82968f 100644
--- a/templates/web/default/tokens/confirm_problem.html
+++ b/templates/web/default/tokens/confirm_problem.html
@@ -6,7 +6,7 @@
[% IF c.cobrand.is_council %]
Thank you. You have successfully confirmed your report
and this will now be investigated by the council.
-You can <a href="[% c.uri_for( '/report', problem.id ) %]">view the problem on this site</a>.
+You can <a href="[% c.cobrand.base_url_for_report( problem ) %][% problem.url %]">view the problem on this site</a>.
</p>
<p>Your reference for this problem is [% problem.id %], please quote it in any enquiries.
@@ -19,8 +19,9 @@ You can <a href="[% c.uri_for( '/report', problem.id ) %]">view the problem on t
END;
tprintf(
- loc( '. You can <a href="%s">view the problem on this site</a>.' ),
- c.uri_for( '/report', problem.id )
+ loc( '. You can <a href="%s%s">view the problem on this site</a>.' ),
+ c.cobrand.base_url_for_report( problem ),
+ problem.url
);
%]
[% END %]
diff --git a/templates/web/emptyhomes/header.html b/templates/web/emptyhomes/header.html
index 063cbba18..96ad1040c 100644
--- a/templates/web/emptyhomes/header.html
+++ b/templates/web/emptyhomes/header.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" type="text/css" href="[% version('/css/core.css') %]">
<link rel="stylesheet" type="text/css" href="[% version('/cobrands/emptyhomes/css.css') %]">
- [% INCLUDE 'common_header_tags.html' %]
+ [% INCLUDE 'common_header_tags.html', site_title = loc('Report Empty Homes') %]
</head>
<body>
diff --git a/templates/web/emptyhomes/index.html b/templates/web/emptyhomes/index.html
index 60bdee70c..be6a14b95 100644
--- a/templates/web/emptyhomes/index.html
+++ b/templates/web/emptyhomes/index.html
@@ -38,7 +38,7 @@ The TV series launched a campaign for action and while this is running, our <a h
</p>
[%
- question = c.cobrand.enter_postcode_text();
+ question = loc("Enter a nearby GB postcode, or street name and area");
%]
<form action="[% c.uri_for('/around') %]" method="get" name="postcodeForm" id="postcodeForm">
diff --git a/templates/web/emptyhomes/report/display.html b/templates/web/emptyhomes/report/display.html
index bcce6789d..e9a101e3e 100644
--- a/templates/web/emptyhomes/report/display.html
+++ b/templates/web/emptyhomes/report/display.html
@@ -7,9 +7,9 @@
<div id="side">
-[% IF banner.id %]
-<p class="banner" id="[% banner.id %]">
- [% banner.text %]
+[% IF problem.is_fixed %]
+<p class="banner" id="fixed">
+ [% loc('This problem has been fixed') . '.' %];
</p>
[% END %]
diff --git a/templates/web/fiksgatami/header.html b/templates/web/fiksgatami/header.html
index 5449eff81..e2ea1f684 100644
--- a/templates/web/fiksgatami/header.html
+++ b/templates/web/fiksgatami/header.html
@@ -8,7 +8,7 @@
<link rel="stylesheet" type="text/css" href="[% version('/css/core.css') %]">
<link rel="stylesheet" type="text/css" href="[% version('/cobrands/fiksgatami/css.css') %]">
- [% INCLUDE 'common_header_tags.html' %]
+ [% INCLUDE 'common_header_tags.html', site_title = 'FiksGataMi' %]
</head>
<body>
diff --git a/templates/web/fiksgatami/questionnaire/completed-open.html b/templates/web/fiksgatami/questionnaire/completed-open.html
new file mode 100644
index 000000000..72fa507b2
--- /dev/null
+++ b/templates/web/fiksgatami/questionnaire/completed-open.html
@@ -0,0 +1,6 @@
+[% loc('<p style="font-size:150%">We&rsquo;re sorry to hear that. We have two
+suggestions: why not try <a href="http://www.norge.no/styresmakter/">writing
+direct to your councillor(s)</a> or, if it&rsquo;s a problem that could be
+fixed by local people working together, why not
+<a href="http://www.pledgebank.com/new">make and publicise a pledge</a>?
+</p>') %]
diff --git a/templates/web/fiksgatami/reports/index.html b/templates/web/fiksgatami/reports/index.html
index 3cbb2bf8d..1ba90ece3 100755
--- a/templates/web/fiksgatami/reports/index.html
+++ b/templates/web/fiksgatami/reports/index.html
@@ -15,7 +15,6 @@
</tr>
[% FOREACH area IN areas_info_sorted %]
-[% NEXT IF area.id == 301 %]
<tr align="center"
[%- IF loop.count % 2 %] class="a"
[%- END -%]
diff --git a/templates/web/fixmystreet/alert/_list.html b/templates/web/fixmystreet/alert/_list.html
index e14d394f2..f376e3c66 100644
--- a/templates/web/fixmystreet/alert/_list.html
+++ b/templates/web/fixmystreet/alert/_list.html
@@ -15,8 +15,8 @@
<p>
[% loc('The simplest alert is our geographic one:') %]
</p>
-
- <p>
+
+ <p id="rss_local">
<input type="radio" name="feed" id="[% rss_feed_id %]" value="[% rss_feed_id %]"[% IF rss_feed_id == selected_feed || selected_feed == '' %] checked[% END %]>
<label class="inline" for="[% rss_feed_id %]">[% tprintf( loc('Problems within %.1fkm of this location'), population_radius ) %]</label>
<a href='[% rss_feed_uri %]'><img src='/i/feed.png' width='16' height='16' title='[% loc('RSS feed of nearby problems') %]' alt='[% loc('RSS feed') %]' border='0'></a>
diff --git a/templates/web/fixmystreet/alert/choose.html b/templates/web/fixmystreet/alert/choose.html
deleted file mode 100644
index 312b9f520..000000000
--- a/templates/web/fixmystreet/alert/choose.html
+++ /dev/null
@@ -1,14 +0,0 @@
-[% INCLUDE 'header.html', title => loc('Local RSS feeds and email alerts') %]
-
-<h1>[% loc('Local RSS feeds and email alerts') %]</h1>
-
-[% IF possible_location_matches %]
- <p>[% loc('We found more than one match for that location. We show up to ten matches, please try a different search if yours is not here.') %]</p>
- <ul class="pc_alternatives plain-list">
- [% FOREACH match IN possible_location_matches %]
- <li><a href="[% choose_target_uri %]?latitude=[% match.latitude | uri %];longitude=[% match.longitude | uri %]">[% match.address | html %]</a></li>
- [% END %]
- </ul>
-[% END %]
-
-[% INCLUDE 'footer.html' %]
diff --git a/templates/web/fixmystreet/alert/index.html b/templates/web/fixmystreet/alert/index.html
deleted file mode 100644
index 03d9843f6..000000000
--- a/templates/web/fixmystreet/alert/index.html
+++ /dev/null
@@ -1,53 +0,0 @@
-[% INCLUDE 'header.html', title = loc('Local RSS feeds and email alerts'), bodyclass = 'twothirdswidthpage' %]
-
-<h1>[% loc('Local RSS feeds and email alerts') %]</h1>
-
-<p>
-[% IF c.cobrand.is_council %]
-FixMyStreet has a variety of RSS feeds and email alerts for local problems, including
-alerts for all problems within a particular ward, or all problems
-within a certain distance of a particular location.
-[% ELSE %]
-[% loc('FixMyStreet has a variety of RSS feeds and email alerts for local problems, including
-alerts for all problems within a particular ward or council, or all problems
-within a certain distance of a particular location.') %]
-[% END %]
-</p>
-
-[% IF location_offshore %]
- <div class="error">[% loc('That location does not appear to be covered by a council, perhaps it is offshore - please try somewhere more specific.') %]</div>
-[% ELSIF location_error %]
- <div class="error">[% location_error %]</div>
-[% ELSE %]
- [% INCLUDE 'errors.html' %]
-[% END %]
-
-<p>
-[% IF c.cobrand.is_council %]
-To find out what local alerts we have for you, please enter your [% c.cobrand.council_area %] postcode or street name and area:
-[% ELSE %]
-[% loc('To find out what local alerts we have for you, please enter your GB postcode or street name and area' ) %]
-[% END %]
-</p>
-<form method="get" action="/alert/list" class="full-width">
- <fieldset>
- <div class="form-txt-submit-box">
- <input type="text" name="pc" value="[% pc | html %]" placeholder="[% tprintf(loc('e.g. ‘%s’ or ‘%s’'), c.cobrand.example_places) %]">
- <input class="green-btn" type="submit" value="[% loc('Go') %]">
- </div>
- </fieldset>
-</form>
-
-[% IF photos.size %]
-<div class="sticky-sidebar">
- <aside>
- <h2>[% loc('Some photos of recent reports') %]</h2>
- [% FOREACH p IN photos %]
- <a href="/report/[% p.id %]"><img border="0" height="100"
- src="/photo/[% p.id %].tn.jpeg" alt="[% p.title | html %]" title="[% p.title | html %]"></a>
- [% END %]
- </aside>
-</div>
-[% END %]
-
-[% INCLUDE 'footer.html' %]
diff --git a/templates/web/fixmystreet/alert/list.html b/templates/web/fixmystreet/alert/list.html
deleted file mode 100644
index 84899d457..000000000
--- a/templates/web/fixmystreet/alert/list.html
+++ /dev/null
@@ -1,39 +0,0 @@
-[%
- IF pretty_pc;
- title = tprintf( loc("Local RSS feeds and email alerts for ‘%s’"), pretty_pc );
- ELSE;
- title = loc('Local RSS feeds and email alerts');
- END;
-%]
-
-[% INCLUDE 'header.html', title = title, bodyclass = 'twothirdswidthpage' %]
-
-[% IF pretty_pc %]
- [%
- pretty_pc = pretty_pc | html | replace(' ', '&nbsp;');
- title = tprintf( loc("Local RSS feeds and email alerts for ‘%s’"), pretty_pc );
- %]
-[% END %]
-
-
-<h1>[% title %]</h1>
-
-<form id="alerts" name="alerts" method="post" action="/alert/subscribe">
-
- [% IF photos.size %]
- <div class="sticky-sidebar">
- <aside>
- <h2>[% loc('Photos of recent nearby reports') %]</h2>
- [% FOREACH p IN photos %]
- <a href="/report/[% p.id %]"><img border="0" height="100"
- src="/photo/[% p.id %].tn.jpeg" alt="[% p.title | html %]" title="[% p.title | html %]"></a>
- [% END %]
- </aside>
- </div>
- [% END %]
-
- [% INCLUDE 'alert/_list.html' %]
-
-</form>
-
-[% INCLUDE 'footer.html' %]
diff --git a/templates/web/fixmystreet/around/around_index.html b/templates/web/fixmystreet/around/around_index.html
index 5ffddad4f..c547b7ba9 100644
--- a/templates/web/fixmystreet/around/around_index.html
+++ b/templates/web/fixmystreet/around/around_index.html
@@ -1,22 +1,4 @@
-[% pre_container_extra = BLOCK %]
-<div id="front-main"><div id="front-main-container">
-[%
- question = c.cobrand.enter_postcode_text();
-%]
-<form action="[% c.uri_for('/around') %]" method="get" name="postcodeForm" id="postcodeForm">
- <label for="pc">[% question %]:</label>
- <div>
- <input type="text" name="pc" value="[% pc | html %]" id="pc" size="10" maxlength="200">
- <input type="submit" value="[% loc('Go') %]" id="submit">
- </div>
-
- [% IF partial_token %]
- <input type="hidden" name="partial" value="[% partial_token.token %]">
- [% END %]
-</form>
-</div></div>
-[% END %]
-
+[% pre_container_extra = INCLUDE 'around/postcode_form.html' %]
[% INCLUDE 'header.html', title = loc('Reporting a problem'), bodyclass = 'frontpage fullwidthpage' %]
[%
@@ -26,9 +8,7 @@
# '/report/new' and the partial hidden field is added to the form.
%]
-[% IF location_offshore %]
- <p class="form-error">[% loc('That spot does not appear to be covered by a council. If you have tried to report an issue past the shoreline, for example, please specify the closest point on land.') %]</p>
-[% ELSIF location_error %]
+[% IF location_error %]
<p class="form-error">[% location_error %]</p>
[% END %]
diff --git a/templates/web/fixmystreet/around/around_map_list_items.html b/templates/web/fixmystreet/around/around_map_list_items.html
index 7dce76ce1..612b37d00 100644
--- a/templates/web/fixmystreet/around/around_map_list_items.html
+++ b/templates/web/fixmystreet/around/around_map_list_items.html
@@ -1,24 +1,8 @@
[% IF around_map.size %]
[% FOREACH p IN around_map %]
-
- [% dist = tprintf("%.1f", (p.distance || 0) ) %]
-
- <li>
- <a href="[% c.uri_for('/report', p.problem.id ) %]">
- <div class="text">
- <h4>[% p.problem.title | html %]</h4>
- <small>[% prettify_epoch( p.problem.confirmed_local.epoch, 1 ) %], [% dist %]km</small>
- [% IF p.problem.is_fixed %]
- <small>[% loc('(fixed)') %]</small>
- [% END %]
- </div>
- [% IF p.problem.photo %]
- <div class="img">
- <img height="60" width="90" src="/photo/[% p.problem.id %].fp.jpeg" alt="">
- </div>
- [% END %]
- </a>
- </li>
+ [% INCLUDE 'report/_item.html'
+ problem = p.problem,
+ dist = tprintf("%.1f", (p.distance || 0) ) %]
[% END %]
[% ELSE %]
<li><p>[% loc('No problems found.') %]</p></li>
diff --git a/templates/web/fixmystreet/around/on_map_list_items.html b/templates/web/fixmystreet/around/on_map_list_items.html
index 9329e6833..7b66d4267 100644
--- a/templates/web/fixmystreet/around/on_map_list_items.html
+++ b/templates/web/fixmystreet/around/on_map_list_items.html
@@ -1,21 +1,6 @@
[% IF on_map.size %]
- [% FOREACH p IN on_map %]
- <li>
- <a href="[% c.uri_for('/report', p.id ) %]">
- <div class="text">
- <h4>[% p.title | html %]</h4>
- <small>[% prettify_epoch( p.confirmed_local.epoch, 1 ) %]</small>
- [% IF p.is_fixed %]
- <small>[% loc('(fixed)') %]</small>
- [% END %]
- </div>
- [% IF p.photo %]
- <div class="img">
- <img height="60" width="90" src="/photo/[% p.id %].fp.jpeg" alt="">
- </div>
- [% END %]
- </a>
- </li>
+ [% FOREACH problem IN on_map %]
+ [% INCLUDE 'report/_item.html' %]
[% END %]
[% ELSE %]
<li><p>[% loc('No problems have been reported yet.') %]</p></li>
diff --git a/templates/web/fixmystreet/around/postcode_form.html b/templates/web/fixmystreet/around/postcode_form.html
new file mode 100644
index 000000000..3b63a52d4
--- /dev/null
+++ b/templates/web/fixmystreet/around/postcode_form.html
@@ -0,0 +1,37 @@
+<div id="front-main">
+ <div id="front-main-container">
+ [% IF c.cobrand.moniker == 'bromley' %]
+ <h1 class="main mob-only">Reporting a problem in Bromley&rsquo;s streets or parks</h1>
+ [% ELSIF c.cobrand.moniker == 'fixmybarangay' %]
+ <h1>View local problems</h1>
+ <h2>(potholes or street lighting)</h2>
+ [% ELSE %]
+ <h1>[% loc('Report, view, or discuss local problems') %]</h1>
+ <h2>[% loc('(like graffiti, fly tipping, broken paving slabs, or street lighting)') %]</h2>
+ [% END %]
+
+ [%
+ question = c.cobrand.enter_postcode_text || loc('Enter a nearby street name and area');
+ %]
+
+ <form action="[% c.uri_for('/around') %]" method="get" name="postcodeForm" id="postcodeForm">
+ [% IF c.cobrand.moniker == 'fixmybarangay' %]
+ <p>
+ <a href="/around?latitude=10.322;longitude=123.907" class="yellow-btn">Bgy. Luz</a>
+ <a href="/around?latitude=10.288;longitude=123.870" class="yellow-btn">Bgy. Basak San Nicolas</a>
+ </p>
+ [% ELSE %]
+ <label for="pc">[% question %]:</label>
+ <div>
+ <input type="text" name="pc" value="[% pc | html %]" id="pc" size="10" maxlength="200" placeholder="[% tprintf(loc('e.g. ‘%s’ or ‘%s’'), c.cobrand.example_places) %]">
+ <input type="submit" value="[% loc('Go') %]" id="submit">
+ </div>
+ [% END %]
+
+ [% IF partial_token %]
+ <input type="hidden" name="partial" value="[% partial_token.token %]">
+ [% END %]
+
+ </form>
+ </div>
+</div>
diff --git a/templates/web/fixmystreet/faq/faq-en-gb.html b/templates/web/fixmystreet/faq/faq-en-gb.html
index 123de7c37..bd94ecd38 100755
--- a/templates/web/fixmystreet/faq/faq-en-gb.html
+++ b/templates/web/fixmystreet/faq/faq-en-gb.html
@@ -88,11 +88,6 @@ href="https://secure.mysociety.org/donate/">please do</a>.</dd>
</ul>
</dd>
- <dt>Why do you only cover the countries of Great Britain?</dt>
- <dd>We would love to cover Northern Ireland, but we have only been able
- to locate boundaries for Great Britain (from Ordnance Survey). If you
- know of a source for Northern Ireland council boundaries
- so that we can add them to the site, that'd be great.</dd>
</dl>
<h2><a name="practical"></a>Practical Questions</h2>
diff --git a/templates/web/fixmystreet/front/news.html b/templates/web/fixmystreet/front/news.html
index 080034a28..2285ab8d0 100644
--- a/templates/web/fixmystreet/front/news.html
+++ b/templates/web/fixmystreet/front/news.html
@@ -1,6 +1,6 @@
[%#
news = [
- { date = '2008-12-11', text = '<a href="' _ c.config.IPHONE_URL _ '">' _ loc('Get FixMyStreet on your iPhone') _ '</a>' },
+ { date = '2008-12-11', text = '<a href="">' _ loc('Get FixMyStreet on your iPhone') _ '</a>' },
]
%]
[% FOREACH item IN news %]
diff --git a/templates/web/fixmystreet/header.html b/templates/web/fixmystreet/header.html
index 163925dcf..cb6ca8c43 100644
--- a/templates/web/fixmystreet/header.html
+++ b/templates/web/fixmystreet/header.html
@@ -11,16 +11,16 @@
<meta name="HandHeldFriendly" content="true">
<meta name="mobileoptimized" content="0">
- <link rel="stylesheet" href="[% version('/cobrands/fixmystreet/base.css') %]">
- <link rel="stylesheet" href="[% version('/cobrands/fixmystreet/layout.css') %]" media="(min-width:48em)">
+ <link rel="stylesheet" href="[% version('/cobrands/' _ c.cobrand.moniker _ '/base.css') %]">
+ <link rel="stylesheet" href="[% version('/cobrands/' _ c.cobrand.moniker _ '/layout.css') %]" media="(min-width:48em)">
[% extra_css %]
<!--[if (lt IE 9) & (!IEMobile)]>
- <link rel="stylesheet" href="[% version('/cobrands/fixmystreet/layout.css') %]">
+ <link rel="stylesheet" href="[% version('/cobrands/' _ c.cobrand.moniker _ '/layout.css') %]">
<![endif]-->
<script src="[% version('/js/modernizr.custom.js') %]" charset="utf-8"></script>
<script src="[% version('/cobrands/fixmystreet/position_map.js') %]" charset="utf-8"></script>
- [% INCLUDE 'common_header_tags.html', js_override = '/cobrands/fixmystreet/fixmystreet.js' %]
+ [% INCLUDE 'common_header_tags.html', js_override = '/cobrands/fixmystreet/fixmystreet.js', site_title = 'FixMyStreet' %]
[% extra_js %]
[% IF c.req.uri.host == 'osm.fixmystreet.com' %]
diff --git a/templates/web/fixmystreet/index.html b/templates/web/fixmystreet/index.html
index 922999f88..72dba9376 100644
--- a/templates/web/fixmystreet/index.html
+++ b/templates/web/fixmystreet/index.html
@@ -16,6 +16,7 @@ Modernizr.load({
</script>
[% END %]
+<<<<<<< HEAD
[% pre_container_extra = BLOCK %]
<div id="front-main">
<div id="front-main-container">
@@ -49,10 +50,15 @@ Modernizr.load({
</form>
</div>
</div>
-[% END %]
-
+=======
+[% pre_container_extra = PROCESS 'around/postcode_form.html' %]
[% INCLUDE 'header.html', title = '', bodyclass = 'frontpage fullwidthpage' %]
+[% IF error %]
+ <p class="form-error">[% error %]</p>
+>>>>>>> origin/master
+[% END %]
+
[% IF c.cobrand.moniker == 'bromley' %]
<p>This is primarily for reporting physical problems that can be fixed
like graffiti, cleansing issues or road defects. To report other
@@ -99,18 +105,9 @@ kinds of problems like missed bins use our
<section class="full-width">
<ul class="issue-list-a">
- [% FOREACH p IN recent_photos %]
- <li>
- <a href="/report/[% p.id %]">
- <div class="text">
- <h4>[% p.title | html %]</h4>
- <small>[% prettify_epoch( p.confirmed_local.epoch, 1 ) %]</small>
- </div>
- <div class="img">
- <img alt="[% p.title | html %]" title="[% p.title | html %]" height="60" width="90" src="/photo/[% p.id %].fp.jpeg">
- </div>
- </a>
- </li>
+ [% FOREACH problem IN recent_photos %]
+ [% problem.photo = 1; # Definitely is
+ INCLUDE 'report/_item.html', no_fixed = 1 %]
[% END %]
</ul>
</section>
diff --git a/templates/web/fixmystreet/my/my.html b/templates/web/fixmystreet/my/my.html
index 4793989f8..e170202de 100644
--- a/templates/web/fixmystreet/my/my.html
+++ b/templates/web/fixmystreet/my/my.html
@@ -65,26 +65,6 @@ END %]
[% BLOCK problem %]
[% "<ul class='issue-list-a full-width'>" IF loop.first %]
-
- <li>
- <a href="[% c.uri_for( '/report', p.id ) %]">
- <div class="text">
- <h4>[% p.title | html %]</h4>
- <small>
- [% IF p.whensent %]
- [% tprintf( loc("Reported %s, to %s"), prettify_epoch( p.confirmed_local.epoch, 'date' ), p.body(c) ) %]
- [% ELSE %]
- [% tprintf( loc("Reported %s"), prettify_epoch( p.confirmed_local.epoch, 'date' ) ) %]
- [% END %]
- </small>
- </div>
- [% IF p.photo %]
- <div class="img">
- <img height="60" width="90" src="/photo/[% p.id %].fp.jpeg" alt="">
- </div>
- [% END %]
- </a>
- </li>
-
+ [% INCLUDE 'report/_item.html', problem = p, no_fixed =1 %]
[% "</ul>" IF loop.last %]
[% END %]
diff --git a/templates/web/fixmystreet/questionnaire/completed-open.html b/templates/web/fixmystreet/questionnaire/completed-open.html
new file mode 100644
index 000000000..2bb3bad1f
--- /dev/null
+++ b/templates/web/fixmystreet/questionnaire/completed-open.html
@@ -0,0 +1,6 @@
+[% loc('<p style="font-size:150%">We&rsquo;re sorry to hear that. We have two
+suggestions: why not try <a href="http://www.writetothem.com/">writing direct
+to your councillor(s)</a> or, if it&rsquo;s a problem that could be fixed by
+local people working together, why not
+<a href="http://www.pledgebank.com/new">make and publicise a pledge</a>?
+</p>' ) %]
diff --git a/templates/web/fixmystreet/questionnaire/index.html b/templates/web/fixmystreet/questionnaire/index.html
index ded95df04..0c0e8af7f 100644
--- a/templates/web/fixmystreet/questionnaire/index.html
+++ b/templates/web/fixmystreet/questionnaire/index.html
@@ -6,8 +6,6 @@
[% map_html %]
-[% INCLUDE 'report/updates.html' %]
-
</div>
<div id="side">
@@ -24,6 +22,7 @@
<div id="report" class="issue-list-a tab">
[% INCLUDE 'report/_main.html' %]
+ [% INCLUDE 'report/updates.html' %]
</div>
</div>
@@ -97,9 +96,9 @@ your experience of getting the problem fixed?') %]</p>
<p>[% loc('Would you like to receive another questionnaire in 4 weeks, reminding you to check the status?') %]</p>
<p>
<input type="radio" name="another" id="another_yes" value="Yes"[% ' checked' IF another == 'Yes' %]>
- <label for="another_yes">[% loc('Yes') %]</label>
+ <label class="inline" for="another_yes">[% loc('Yes') %]</label>
<input type="radio" name="another" id="another_no" value="No"[% ' checked' IF another == 'No' %]>
- <label for="another_no">[% loc('No') %]</label>
+ <label class="inline" for="another_no">[% loc('No') %]</label>
</p>
</div>
diff --git a/templates/web/fixmystreet/report/_item.html b/templates/web/fixmystreet/report/_item.html
new file mode 100644
index 000000000..6014074e0
--- /dev/null
+++ b/templates/web/fixmystreet/report/_item.html
@@ -0,0 +1,26 @@
+<li>
+<a class="text" href="[% c.uri_for('/report', problem.id ) %]">
+ [% IF problem.photo %]
+ <img class="img" height="60" width="90" src="/photo/[% problem.id %].fp.jpeg" alt="">
+ [% END %]
+ <h4>[% problem.title | html %]</h4>
+ <small>[% IF problem.confirmed_local %]
+ [%- prettify_epoch( problem.confirmed_local.epoch, 1 ) %]
+ [%- ELSE %]
+ [%- prettify_epoch( problem.confirmed, 1 ) %]
+ [%- END %]
+ [%- IF dist %], [% dist %]km[% END %]
+ [%- IF include_lastupdate AND problem.confirmed != problem.lastupdate AND problem.whensent != problem.lastupdate %], last updated [% prettify_epoch( problem.lastupdate, 1 ) %]
+ [%- END %]
+ [% IF include_lastupdate %]
+ [% IF problem.councils > 1 %] [% loc('(sent to both)') %]
+ [% ELSIF problem.councils == 0 %] [% loc('(not sent to council)') %]
+ [% END %]
+ [% END %]
+ [% IF NOT no_fixed AND problem.is_fixed %]
+ [% loc('(fixed)') %]
+ [% ELSIF NOT no_fixed AND problem.is_closed %]
+ [% loc('(closed)') %]
+ [% END %]</small>
+</a>
+</li>
diff --git a/templates/web/fixmystreet/report/banner.html b/templates/web/fixmystreet/report/banner.html
new file mode 100644
index 000000000..58712604e
--- /dev/null
+++ b/templates/web/fixmystreet/report/banner.html
@@ -0,0 +1,21 @@
+[% USE date %]
+[% BLOCK banner %]
+ <div class="banner">
+ <p id="[% id %]">[% text %]</p>
+ </div>
+[% END %]
+
+[% IF problem.is_open AND date.now - problem.lastupdate_local.epoch > 8 * 7 * 24 * 60 * 60 %]
+ [% INCLUDE banner, id = 'unknown', text = loc('Unknown') %]
+[% END %]
+[% IF problem.is_fixed %]
+ [% INCLUDE banner, id = 'fixed', text = loc('Fixed') %]
+[% END %]
+[% IF problem.is_closed %]
+ [% INCLUDE banner, id = 'closed', text = loc('Closed') %]
+[% END %]
+[% states = [ 'investigating', 'in progress', 'planned' ];
+ IF states.grep(problem.state).size %]
+ [% INCLUDE banner, id = 'progress', text = loc('In progress') %]
+[% END %]
+
diff --git a/templates/web/fixmystreet/report/display.html b/templates/web/fixmystreet/report/display.html
index fdfd9765c..1adc1c1e7 100644
--- a/templates/web/fixmystreet/report/display.html
+++ b/templates/web/fixmystreet/report/display.html
@@ -16,13 +16,7 @@
</div>
-
-[% IF banner.id %]
- <div class="banner">
- <p id="[% banner.id %]">[% banner.text %]</p>
- </div>
-[% END %]
-
+[% INCLUDE 'report/banner.html' %]
[% INCLUDE 'report/_main.html' %]
<div class="shadow-wrap">
diff --git a/templates/web/fixmystreet/reports/_list-entry.html b/templates/web/fixmystreet/reports/_list-entry.html
new file mode 100755
index 000000000..8509df376
--- /dev/null
+++ b/templates/web/fixmystreet/reports/_list-entry.html
@@ -0,0 +1 @@
+[% INCLUDE 'report/_item.html', include_lastupdate = 1 %]
diff --git a/templates/web/fixmystreet/reports/_rss.html b/templates/web/fixmystreet/reports/_rss.html
new file mode 100644
index 000000000..f2d164bfa
--- /dev/null
+++ b/templates/web/fixmystreet/reports/_rss.html
@@ -0,0 +1,19 @@
+<div class="shadow-wrap">
+ <ul id="key-tools"[% IF NOT children.size %] class="singleton"[% END %]>
+ <li><a rel="nofollow" id="key-tool-updates-area" class="feed" href="[% rss_url %]">[%
+ IF c.cobrand.moniker == 'bromley' AND thing == 'council';
+ 'Get updates of reports in Bromley';
+ ELSIF c.cobrand.moniker == 'bromley';
+ 'Get updates of reports in this ward';
+ ELSIF c.cobrand.is_council;
+ tprintf(loc('Get updates of %s problems'), thing);
+ ELSE;
+ tprintf(loc('Get updates of problems in this %s'), thing);
+ END
+ %]</a></li>
+ [% IF children.size %]
+ <li><a href="#council_wards" id="key-tool-wards" class="chevron">[% ward_text %]</a></li>
+ [% END %]
+ </ul>
+</div>
+
diff --git a/templates/web/fixmystreet/reports/_ward-list.html b/templates/web/fixmystreet/reports/_ward-list.html
new file mode 100755
index 000000000..5e82a93cc
--- /dev/null
+++ b/templates/web/fixmystreet/reports/_ward-list.html
@@ -0,0 +1,12 @@
+[% IF location == 'after' AND children.size %]
+<section id="council_wards" class="hidden-js">
+<h2>[% ward_text %]</h2>
+ <p>[% loc('Follow a ward link to view only reports within that ward.') %]</p>
+ <ul class="issue-list-a full-width">
+ [% FOR child IN children.values.sort('name') %]
+ <li><a href="[% child.url %]"><span class="text">[% child.name %]</span></a></li>
+ [% END %]
+ </ul>
+</section>
+[% END %]
+
diff --git a/templates/web/lichfielddc/around/extra_text.html b/templates/web/lichfielddc/around/extra_text.html
new file mode 100644
index 000000000..7f3fa0dbf
--- /dev/null
+++ b/templates/web/lichfielddc/around/extra_text.html
@@ -0,0 +1,5 @@
+<p>
+<strong>
+This is primarily for reporting physical problems that can be fixed like graffiti, cleansing issues or road defects. To report other kinds of problems like missed bins use our <a href="http://www.lichfielddc.gov.uk/reportitother">online report it forms</a>.
+</strong>
+</p>
diff --git a/templates/web/lichfielddc/front/news.html b/templates/web/lichfielddc/front/news.html
new file mode 100644
index 000000000..987c8e58e
--- /dev/null
+++ b/templates/web/lichfielddc/front/news.html
@@ -0,0 +1,3 @@
+<p class="other-problems">
+This is primarily for reporting physical problems that can be fixed like graffiti, cleansing issues or road defects. To report other kinds of problems like missed bins use our <a href="http://www.lichfielddc.gov.uk/reportitother">online report it forms</a>.
+</p>
diff --git a/templates/web/lichfielddc/header.html b/templates/web/lichfielddc/header.html
index 863ef1c1d..02e3c6a5b 100644
--- a/templates/web/lichfielddc/header.html
+++ b/templates/web/lichfielddc/header.html
@@ -6,7 +6,7 @@
<head>
<link rel="stylesheet" type="text/css" href="[% version('/css/core.css') %]">
- <link rel="stylesheet" type="text/css" href="/cobrands/lichfielddc/css/layout.css" />
+ <link rel="stylesheet" type="text/css" href="[% version('/cobrands/lichfielddc/css/layout.css') %]" />
<link rel="stylesheet" type="text/css" href="http://www.lichfielddc.gov.uk/site/styles/standard_1_.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://www.lichfielddc.gov.uk/site/styles/generic/style.php" media="screen" />
@@ -71,7 +71,7 @@
<meta name="DC.subject" lang="en" scheme="eGMS.IPSV" content="Local government;Government, politics and public administration" />
<meta name="DC.subject" lang="en" content="Council, government and democracy" />
-[% INCLUDE 'common_header_tags.html' %]
+[% INCLUDE 'common_header_tags.html', site_title = 'Lichfield District Council FixMyStreet' %]
</head>
<body>
<!-- ########## MAIN STRUCTURE ######### -->
diff --git a/templates/web/reading/header.html b/templates/web/reading/header.html
index 39281ed01..85117b57e 100644
--- a/templates/web/reading/header.html
+++ b/templates/web/reading/header.html
@@ -14,7 +14,7 @@
<link rel="stylesheet" type="text/css" href="[% version('/cobrands/reading/css/print3rdParty.css') %]" media="print"/>
<link rel="stylesheet" type="text/css" href="[% version('/cobrands/reading/css/css.css') %]" />
- [% INCLUDE 'common_header_tags.html' %]
+ [% INCLUDE 'common_header_tags.html', site_title = 'Reading City Council FixMyStreet' %]
</head>
<body>
diff --git a/templates/web/southampton/header.html b/templates/web/southampton/header.html
index 7b0f77e88..43553468c 100644
--- a/templates/web/southampton/header.html
+++ b/templates/web/southampton/header.html
@@ -8,7 +8,7 @@
<link rel="stylesheet" type="text/css" href="/cobrands/southampton/style.css" />
<link rel="stylesheet" type="text/css" href="[% version('/cobrands/southampton/css.css') %]" />
- [% INCLUDE 'common_header_tags.html' %]
+ [% INCLUDE 'common_header_tags.html', site_title = 'Southampton City Council FixMyStreet' %]
<script type="text/javascript" src="[% version('/js/southampton.js') %]"></script>
</head>
diff --git a/templates/web/zurich/faq/faq-de.html b/templates/web/zurich/faq/faq-de.html
new file mode 100755
index 000000000..bd94ecd38
--- /dev/null
+++ b/templates/web/zurich/faq/faq-de.html
@@ -0,0 +1,192 @@
+[% INCLUDE 'header.html', title => loc('Frequently Asked Questions'), bodyclass => 'twothirdswidthpage' %]
+
+<div class="sticky-sidebar">
+ <aside>
+ <ul class="plain-list">
+ <li><a href="#faq">Frequently Asked Questions</a></li>
+ <li><a href="#practical">Practical Questions</a></li>
+ <li><a href="#organisation">Organisation Questions</a></li>
+ <li><a href="/privacy">Privacy and cookies</a></li>
+ </ul>
+ </aside>
+</div>
+
+<h1><a name="faq"></a>Frequently Asked Questions</h1>
+ <dl>
+ <dt>What is FixMyStreet?</dt>
+ <dd>FixMyStreet is a site to help people report, view,
+or discuss local problems they&rsquo;ve found to their local council by
+simply locating them on a map. It launched in early February
+2007.</dd>
+ <dt>What sort of problems should I report with FixMyStreet?</dt>
+ <dd>FixMyStreet is primarily for reporting things which are
+<strong>broken or dirty or damaged or dumped, and need fixing, cleaning
+or clearing</strong>, such as:
+
+ <ul><li>Abandoned vehicles
+ <li>Dog Fouling
+ <li>Flyposting or graffiti
+ <li>Flytipping or litter
+ <li>Streetcleaning, such as broken glass in a cycle lane
+ [% IF c.cobrand.moniker != 'southampton' %]
+ <li>Unlit lamposts
+ [% END %]
+ <li>Potholes
+ </ul>
+ </dd>
+
+ <dt>What isn&rsquo;t FixMyStreet for?</dt>
+ <dd>FixMyStreet is not a way of getting in touch with [% c.cobrand.is_council ? 'the' : 'your' %] council for all
+ issues &ndash; please use FixMyStreet only for problems such as the above. We
+ often route problem reports via cleansing services or highways and so using
+ FixMyStreet for other matters may result in a delay in your report getting
+ to the right department. <strong>You will need to contact [% c.cobrand.is_council ? 'the' : 'your' %] council
+ directly for problems such as</strong>:
+
+ <ul><li>Anti-social behaviour
+ <li>Any urgent or emergency problems
+ <li>Noise pollution or barking dogs
+ <li>Fires and smoke/smell pollution
+ <li>Missing wheelie bins or recycling boxes or missed rubbish collections
+ <li>Proposals for speed bumps/ CCTV/ pedestrian crossings/ new road layouts/ etc.
+ <li>Complaining about your neighbours
+ <li>Complaining about the council
+ <li>Joy riding, drug taking, animal cruelty, or other criminal activity
+ </ul>
+ <p>Councils often have direct hotlines for these sorts of issues.</p>
+ </dd>
+
+ <dt>How do I use the site?</dt>
+ <dd>After entering a postcode or location, you are presented
+with a map of that area. You can view problems already reported in that area,
+or report ones of your own simply by clicking on the map at the location of
+the problem.</dd>
+ <dt>How are the problems solved?</dt>
+ <dd>They are reported to the [% IF !c.cobrand.is_council %]relevant[% END %] council by email. The
+council can then resolve the problem the way they normally would.
+Alternatively, you can discuss the problem on the website with others[% IF c.cobrand.moniker != 'southampton' %], and
+then together lobby the council to fix it, or fix it directly yourselves[% END %].</dd>
+ <dt>Is it free?</dt>
+ <dd>The site is free to use, yes. FixMyStreet is run
+by a registered charity, though, so if you want to make a contribution, <a
+href="https://secure.mysociety.org/donate/">please do</a>.</dd>
+
+ <dt>Can I use FixMyStreet on my mobile?</dt>
+ <dd>
+ <p>The FixMyStreet website should work on your mobile phone, adapting to
+ the size of your screen automatically. We plan to release updated native
+ apps in the near future.
+ <ul>
+ <li><em>iPhone:</em> Our basic app from 2008 is available for download
+ on the App Store:
+ <a href="http://itunes.apple.com/gb/app/fixmystreet/id297456545">FixMyStreet</a>,
+ <li><em>Android:</em> A volunteer, Anna Powell-Smith, has written an app
+ available from the
+ <a href="https://market.android.com/details?id=com.android.fixmystreet">Android Market</a>.
+ <li><em>Nokia:</em> A volunteer, Thomas Forth, has written an app available from the
+ <a href="http://store.ovi.com/content/107557">Ovi Store</a>.
+ </ul>
+ </dd>
+
+ </dl>
+
+ <h2><a name="practical"></a>Practical Questions</h2>
+ <dl>
+ <dt>I&rsquo;m from a council, where do you send the reports?</dt>
+ <dd>You can either leave a test report or <a href="/contact">contact us</a>
+to find out where reports go at the moment. Also <a href="/contact">contact us</a>
+to update the address or addresses we use.</dd>
+ <dt>I&rsquo;m from a council, can we have FixMyStreet on our website?</dt>
+ <dd>Yes you can! We offer branded, hosted versions of FixMyStreet for local council websites. <a href="http://www.mysociety.org/for-councils/fixmystreet/">Full details</a>.</dd>
+ <dt>Do you remove silly or illegal content?</dt>
+ <dd>FixMyStreet is not responsible for the content and accuracy
+of material submitted by its users. We reserve the right to edit or remove any
+problems or updates which we consider to be inappropriate upon being informed
+by a user of the site.</dd>
+ <dt>Why does the site use kilometres for measurements?</dt>
+ <dd>Thanks for asking politely &ndash; we never quite understand why some of the rudest
+ emails we receive are on this topic. The British national
+ grid reference system, devised by Ordnance Survey (the British national
+ mapping agency) around the time of the second world war, uses eastings and
+ northings measured in metres and kilometres; the maps we use are from
+ Ordnance Survey and so this is what we use to display distances.
+ There you have it: not everything British is in miles!</dd>
+
+ <dt>Why can&rsquo;t I zoom out more on the reporting map?</dt>
+ <dd>We want to keep FixMyStreet locally focused, so restrict the ability to
+ move radically between areas. The map on Your Reports will let you see all
+ the reports you&rsquo;ve made, wherever they are. If you&rsquo;re from the
+ council then the emailed version of the problem report also contains the
+ closest road and postcode to the pin on the map.</dd>
+
+ <dt>This site is great – why aren&rsquo;t you better publicised?</dt>
+ <dd>As a tiny charity we simply don&rsquo;t have a publicity budget, and we
+ rely on word of mouth to advertise the site. We have a whole <a
+ href="posters/">array of posters, flyers and badges</a> if you&rsquo;d like
+ to publicise us on the web or in your local area, and why not write to your
+ local paper to let them know about us?</dd> </dl>
+
+ <h2><a name="organisation"></a>Organisation Questions</h2>
+ <dl>
+ <dt>Who built FixMyStreet?</dt>
+ <dd>This site was built by <a href="http://www.mysociety.org/">mySociety</a>,
+ in conjunction with the <a href="http://www.youngfoundation.org.uk/">Young Foundation</a>.
+mySociety is the project of a registered charity which has grown out of the community of
+volunteers who built sites like <a href="http://www.theyworkforyou.com/">TheyWorkForYou.com</a>.
+mySociety&rsquo;s primary mission is to build Internet projects which give people simple, tangible
+benefits in the civic and community aspects of their lives. Our first project
+was <a href="http://www.writetothem.com/">WriteToThem</a>, where you can write to any of your
+elected representatives, for free. The charity is called UK Citizens Online Democracy and is charity number 1076346. mySociety
+can be contacted by email at <a href="mailto:hello&#64;mysociety.org">hello&#64;mysociety.org</a>,
+or by post at mySociety, 483 Green Lanes, London, N13 4BS, UK.</dd>
+ <dt><img src="/i/moj.png" align="right" alt="Ministry of Justice" hspace="10">Who pays for it?</dt>
+ <dd>FixMyStreet was originally paid for via the Department for
+ Constitutional Affairs Innovations Fund. It is now funded by a variety of means, from commercial
+ work to <a href="http://www.mysociety.org/donate/">donations</a>.</dd>
+ <dt><a name="nfi"></a>Wasn&rsquo;t this site called Neighbourhood Fix-It?</dt>
+ <dd>Yes, we changed the name mid June 2007. We decided
+Neighbourhood Fix-It was a bit of a mouthful, hard to spell, and hard to publicise (does the URL have a dash in it or not?). The domain FixMyStreet became available, and everyone liked the name.</dd>
+ <dt>Do you need any help with the project?</dt>
+ <dd>Yes, we can use help in all sorts of ways, technical or
+non-technical. Please see our <a
+href="http://www.mysociety.org/helpus/">Get Involved page</a>.</dd>
+ <dt>I&rsquo;d like a site like this for my own location/ where&rsquo;s the "source code" to this site?</dt>
+ <dd>
+The software behind this site is open source, and available
+to you mainly under the GNU Affero GPL software license. You can <a
+href="http://github.com/mysociety/fixmystreet">download the
+source code</a> and help us develop it.
+You&rsquo;re welcome to use it in your own projects, although you must also
+make available the source code to any such projects.
+<a href="http://www.fiksgatami.no/">Fiksgatami</a> is an example of our code
+being used in a Norwegian version of this site.
+</dd>
+<dt>I&rsquo;d prefer code in a different language?</dt>
+<dd>
+VisibleGovernment.ca wrote their own code for
+<a href="http://www.fixmystreet.ca/">http://www.fixmystreet.ca/</a>, which is
+written in GeoDjango and available under an MIT licence at <a
+href="http://github.com/visiblegovernment/django-fixmystreet/tree/master">github</a>.
+Or <a href="http://www.fixmystreet.org.nz/">FixMyStreet.org.nz</a> is written in
+Drupal.
+</p>
+</dd>
+ <dt>People build things, not organisations. Who <em>actually</em> built it?</dt>
+ <dd>Matthew Somerville and Francis Irving wrote the site,
+Chris Lightfoot wrote the tileserver and map cutter, Richard Pope created
+our pins, Deborah Kerr keeps things up-to-date and does user support,
+Ayesha Garrett designed our posters, and Tom Steinberg managed it all.
+
+Thanks also to
+<a href="http://www.ordnancesurvey.co.uk">Ordnance Survey</a> (for the maps,
+UK postcodes, and UK addresses &ndash; data &copy; Crown copyright, all
+rights reserved, Ministry of Justice 100037819&nbsp;2008),
+Yahoo! for their BSD-licensed JavaScript libraries, the entire free software
+community (this particular project was brought to you by Perl, PostgreSQL,
+and the number 161.290) and <a
+href="http://www.m247.com/">M247</a> (who kindly host all
+our servers).
+
+Let us know if we&rsquo;ve missed anyone.</dd>
+ </dl>
+[% INCLUDE 'footer.html' pagefooter = 'yes' %]
diff --git a/templates/web/zurich/header.html b/templates/web/zurich/header.html
new file mode 100644
index 000000000..9fa43f3fa
--- /dev/null
+++ b/templates/web/zurich/header.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<!--[if lt IE 7]><html class="no-js ie6 oldie" lang="[% lang_code %]"><![endif]-->
+<!--[if IE 7]> <html class="no-js ie7 oldie" lang="[% lang_code %]"><![endif]-->
+<!--[if IE 8]> <html class="no-js ie8 oldie" lang="[% lang_code %]"><![endif]-->
+<!--[if IE 9]> <html class="no-js ie9 oldie" lang="[% lang_code %]"><![endif]-->
+<!--[if gt IE 9]><!--><html class="no-js" lang="[% lang_code %]"><!--<![endif]-->
+ <head>
+ <meta name="viewport" content="initial-scale=1.0">
+
+ <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
+ <meta name="HandHeldFriendly" content="true">
+ <meta name="mobileoptimized" content="0">
+
+ <link rel="stylesheet" href="[% version('/cobrands/' _ c.cobrand.moniker _ '/base.css') %]">
+ <link rel="stylesheet" href="[% version('/cobrands/' _ c.cobrand.moniker _ '/layout.css') %]" media="(min-width:48em)">
+ [% extra_css %]
+ <!--[if (lt IE 9) & (!IEMobile)]>
+ <link rel="stylesheet" href="[% version('/cobrands/' _ c.cobrand.moniker _ '/layout.css') %]">
+ <![endif]-->
+
+ <script src="[% version('/js/modernizr.custom.js') %]" charset="utf-8"></script>
+ <script src="[% version('/cobrands/fixmystreet/position_map.js') %]" charset="utf-8"></script>
+ [% INCLUDE 'common_header_tags.html', js_override = '/cobrands/fixmystreet/fixmystreet.js', site_title = 'FixMyZ&uuml;rich' %]
+ [% extra_js %]
+
+ [% IF c.req.uri.host == 'osm.fixmystreet.com' %]
+ <link rel="canonical" href="http://www.fixmystreet.com[% c.req.uri.path_query %]">
+ [% END %]
+
+ [% INCLUDE 'tracking_code.html' %]
+
+ </head>
+ <body class="[% bodyclass | html IF bodyclass %]">
+
+ <div class="wrapper">
+ <div class="table-cell">
+ <header id="site-header" role="banner">
+ <div class="container">
+ <a href="/" id="site-logo">FixMyStreet</a>
+ <a href="#main-nav" id="nav-link">Main Navigation</a>
+ </div>
+ </header>
+
+ <div id="user-meta">
+ [% IF c.user_exists %]
+ <p>
+ [% tprintf(loc('Hi %s'), c.user.name || c.user.email) %]
+ <a href="/auth/sign_out">[% loc('sign out') %]</a>
+ </p>
+ [% ELSE %]
+ <!-- <a href="/auth">[% loc('Sign in') %]</a> -->
+ [% END %]
+ </div>
+
+ [% pre_container_extra %]
+
+ <div class="container">
+ <div class="content[% " $mainclass" | html IF mainclass %]" role="main">
+
+ <!-- [% INCLUDE 'debug_header.html' %] -->
diff --git a/web/cobrands/default/_colours.scss b/web/cobrands/default/_colours.scss
new file mode 100644
index 000000000..2c044a6e7
--- /dev/null
+++ b/web/cobrands/default/_colours.scss
@@ -0,0 +1,9 @@
+/* COLOURS */
+
+$primary: #ff9900;
+$primary_b: #000000;
+$primary_text: #222222;
+
+$contrast1: #6688ff;
+$contrast1_dark: darken(#6688ff, 10%);
+$contrast2: #AA8D11;
diff --git a/web/cobrands/default/base.scss b/web/cobrands/default/base.scss
new file mode 100644
index 000000000..4594f832f
--- /dev/null
+++ b/web/cobrands/default/base.scss
@@ -0,0 +1,7 @@
+@import "../fixmystreet/_h5bp";
+@import "./_colours";
+@import "../fixmystreet/_mixins";
+@import "compass";
+
+@import "../fixmystreet/_base";
+
diff --git a/web/cobrands/default/config.rb b/web/cobrands/default/config.rb
new file mode 100644
index 000000000..cab97b18f
--- /dev/null
+++ b/web/cobrands/default/config.rb
@@ -0,0 +1,25 @@
+# Require any additional compass plugins here.
+
+# Set this to the root of your project when deployed:
+http_path = "/"
+css_dir = ""
+sass_dir = ""
+images_dir = ""
+javascripts_dir = ""
+
+# You can select your preferred output style here (can be overridden via the command line):
+# output_style = :expanded or :nested or :compact or :compressed
+
+# To enable relative paths to assets via compass helper functions. Uncomment:
+# relative_assets = true
+
+# To disable debugging comments that display the original location of your selectors. Uncomment:
+# line_comments = false
+
+# If you prefer the indented syntax, you might want to regenerate this
+# project again passing --syntax sass, or you can uncomment this:
+# preferred_syntax = :sass
+# and then run:
+# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass
+
+line_comments = false # by Compass.app
diff --git a/web/cobrands/default/layout.scss b/web/cobrands/default/layout.scss
new file mode 100644
index 000000000..93a3f7120
--- /dev/null
+++ b/web/cobrands/default/layout.scss
@@ -0,0 +1,60 @@
+@import "_colours";
+@import "../fixmystreet/_layout";
+
+/*
+Note: The fact that the below has to override the CSS, though it is for the
+default template, is a sign that the CSS is not best organised. It needs
+refactoring, and making more maintainable through the use of SMACSS, OOCSS
+and similar.
+*/
+
+body {
+ background: #6688ff;
+}
+
+#front-main {
+ color: $primary_text;
+ background: $primary;
+ // layout sets this because base has it slightly lighter
+ h2 {
+ color: $primary_text;
+ }
+ a#geolocate_link {
+ color: $primary_text;
+ }
+}
+
+.nav-wrapper {
+ .nav-wrapper-2 {
+ border-top: 4px solid $primary;
+ @include border-image(none);
+ }
+}
+body.mappage {
+ .nav-wrapper {
+ .nav-wrapper-2 {
+ background: $contrast1;
+ }
+ }
+}
+
+#main-nav {
+ ul {
+ li {
+ a, span {
+ color: #000;
+ }
+ }
+ &#main-menu {
+ li {
+ a:hover {
+ background: $primary;
+ }
+ }
+ }
+ &#mysoc-menu {
+ background: $primary;
+ }
+ }
+}
+
diff --git a/web/cobrands/fixmystreet/_base.scss b/web/cobrands/fixmystreet/_base.scss
index 4d3b36888..5d71c33e6 100644
--- a/web/cobrands/fixmystreet/_base.scss
+++ b/web/cobrands/fixmystreet/_base.scss
@@ -863,8 +863,8 @@ a:hover.button-left {
list-style: none;
margin:0;
padding:0;
- a {
margin: 0.25em 0 0 0;
+ /* see note below about this */
display:table;
background: #f6f6f6;
color:#222222;
@@ -874,28 +874,39 @@ a:hover.button-left {
color:#222222;
background:#e6e6e6;
}
- .text,
- .img {
- display:table-cell;
- vertical-align:top;
+ a {
+ color:#222222;
}
- .img {
- text-align:right;
- width: 90px;
- img {
- height:auto;
- }
+ a:hover {
+ color:#222222;
+ background:#e6e6e6;
+ text-decoration: none;
}
.text {
- padding:0.25em 1em;
+ /* this is and the display:table above are required otherwise
+ on iphone the rows end up being slightly wider than the screen */
+ display: table-cell;
+ width: 100%;
+ vertical-align:top;
+ padding: 0px 0px 0px 1em;
+ .img {
+ width: 90px;
+ float: right;
+ height:auto;
+ }
h4 {
+ padding-right: 1em;
+ padding-top: 0.25em;
margin:0;
}
small {
color:#666;
+ display: block;
+ padding-right: 1em;
+ padding-top: 0.25em;
+ padding-bottom: 0.25em;
}
}
- }
>p {
margin: 0.25em 0 0 0;
padding: 0.5em 1em;
@@ -914,25 +925,20 @@ a:hover.button-left {
.ie6, .ie7 {
.issue-list-a {
overflow:hidden;
- li a {
+ li {
clear:both;
- width:auto;
+ width:100%;
display:block;
overflow:hidden;
.text {
float:left;
- width:18em;
- }
- .img {
- width:6.25em;
- float:right;
}
}
}
}
.ie6 .issue-list-a li a {
height:5.5em;
- .img img {
+ .img {
height:60px;
}
}
diff --git a/web/cobrands/fixmystreet/dashboard.scss b/web/cobrands/fixmystreet/dashboard.scss
new file mode 100644
index 000000000..bd241617e
--- /dev/null
+++ b/web/cobrands/fixmystreet/dashboard.scss
@@ -0,0 +1,97 @@
+ select {
+ width: auto;
+ }
+
+ #overview {
+ margin-top: 1em;
+
+ th[scope=col] {
+ font-size:0.8em;
+ }
+
+ tr:nth-child(2) {
+ background-color:#fee;
+ }
+ }
+
+ th {
+ text-align:left;
+ &[scope=col] {
+ border-left:1px solid #ccc;
+ padding:10px 0 10px 10px;
+ font-weight:bold;
+ }
+
+ &[scope=row] {
+ font-weight: normal;text-align:left;
+ border-top:1px solid #ddd;
+ padding-left:10px;
+ }
+
+ abbr[title] {
+ border: none;
+ }
+ }
+
+ td {
+ width:10%;
+ border-left:1px solid #ccc;
+ border-top:1px solid #ddd;
+ padding-left:10px;
+ }
+
+ tr.subtotal {
+ background-color:#eee;
+ border-bottom:20px solid white;
+ border-top:2px solid #aaa;
+ font-weight: bold;
+
+ th {
+ font-weight: bold;
+ }
+ }
+
+
+ #reports{
+ th {
+ padding-left: 20px;
+ border-bottom: none;
+ }
+ date {
+ font-size: 0.7em;
+ color: #ccc;
+ }
+ }
+
+ .filters{
+ background-color:#ffec99;
+ margin:0 -1em;
+ border-top:#ffd000 solid 0.75em;
+ padding:0 1em;
+
+ p {
+ float:left;
+ padding:0 1em;
+ width:25%;
+ font-size:0.75em;
+ color:#333333;
+ input {
+ margin-top: 2.5em;
+ }
+ }
+ select {
+ width:100%;
+ }
+ }
+
+ hgroup {
+ h2 {
+ color:#737373;
+ font-size:1.25em;
+ margin-bottom:0.5em;
+ }
+ h1 {
+ color:#333;
+ font-size:2.25em;
+ }
+ }
diff --git a/web/cobrands/lichfielddc/css/layout.css b/web/cobrands/lichfielddc/css/layout.css
index e671ef61c..363ab8579 100644
--- a/web/cobrands/lichfielddc/css/layout.css
+++ b/web/cobrands/lichfielddc/css/layout.css
@@ -7,6 +7,11 @@
background-color: #F3F4F4;
}
+#mysociety .other-problems {
+ margin: 2em 8em 0em 8em;
+ font-weight: bold;
+}
+
#mysociety #postcodeForm label {
float: none;
margin-bottom: 5px;
diff --git a/web/cobrands/zurich/_colours.scss b/web/cobrands/zurich/_colours.scss
new file mode 100644
index 000000000..1a62d0282
--- /dev/null
+++ b/web/cobrands/zurich/_colours.scss
@@ -0,0 +1,9 @@
+/* COLOURS */
+
+$primary: #FFD000;
+$primary_b: #F3B11E;
+$primary_text: #222;
+
+$contrast1: #00BD08;
+$contrast1_dark: #4B8304;
+$contrast2: #AA8D11;
diff --git a/web/cobrands/zurich/base.scss b/web/cobrands/zurich/base.scss
new file mode 100644
index 000000000..4594f832f
--- /dev/null
+++ b/web/cobrands/zurich/base.scss
@@ -0,0 +1,7 @@
+@import "../fixmystreet/_h5bp";
+@import "./_colours";
+@import "../fixmystreet/_mixins";
+@import "compass";
+
+@import "../fixmystreet/_base";
+
diff --git a/web/cobrands/zurich/config.rb b/web/cobrands/zurich/config.rb
new file mode 100644
index 000000000..cab97b18f
--- /dev/null
+++ b/web/cobrands/zurich/config.rb
@@ -0,0 +1,25 @@
+# Require any additional compass plugins here.
+
+# Set this to the root of your project when deployed:
+http_path = "/"
+css_dir = ""
+sass_dir = ""
+images_dir = ""
+javascripts_dir = ""
+
+# You can select your preferred output style here (can be overridden via the command line):
+# output_style = :expanded or :nested or :compact or :compressed
+
+# To enable relative paths to assets via compass helper functions. Uncomment:
+# relative_assets = true
+
+# To disable debugging comments that display the original location of your selectors. Uncomment:
+# line_comments = false
+
+# If you prefer the indented syntax, you might want to regenerate this
+# project again passing --syntax sass, or you can uncomment this:
+# preferred_syntax = :sass
+# and then run:
+# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass
+
+line_comments = false # by Compass.app
diff --git a/web/cobrands/zurich/layout.scss b/web/cobrands/zurich/layout.scss
new file mode 100644
index 000000000..abaa25224
--- /dev/null
+++ b/web/cobrands/zurich/layout.scss
@@ -0,0 +1,3 @@
+@import "_colours";
+@import "../fixmystreet/_layout";
+
diff --git a/web/fixmystreet_app_cgi.cgi b/web/fixmystreet_app_cgi.cgi
index dd0984e15..8c2535e83 100755
--- a/web/fixmystreet_app_cgi.cgi
+++ b/web/fixmystreet_app_cgi.cgi
@@ -1,11 +1,10 @@
#!/usr/bin/env perl
BEGIN { # set all the paths to the perl code
+ use File::Basename qw(dirname);
use File::Spec;
- use File::Basename;
- my $root = dirname(File::Spec->rel2abs(__FILE__));
-
- require "$root/../setenv.pl";
+ my $d = dirname(File::Spec->rel2abs($0));
+ require "$d/../setenv.pl";
}
use Catalyst::ScriptRunner;
diff --git a/web/fixmystreet_app_fastcgi.cgi b/web/fixmystreet_app_fastcgi.cgi
index 08504f8f4..f83ef0023 100755
--- a/web/fixmystreet_app_fastcgi.cgi
+++ b/web/fixmystreet_app_fastcgi.cgi
@@ -1,10 +1,10 @@
#!/usr/bin/env perl
BEGIN { # set all the paths to the perl code
+ use File::Basename qw(dirname);
use File::Spec;
- use File::Basename;
- my $root = dirname(File::Spec->rel2abs(__FILE__));
- require "$root/../setenv.pl";
+ my $d = dirname(File::Spec->rel2abs($0));
+ require "$d/../setenv.pl";
}
use Catalyst::ScriptRunner;
diff --git a/web/js/map-bing-ol.js b/web/js/map-bing-ol.js
index 7d40f8afc..6d86663f0 100644
--- a/web/js/map-bing-ol.js
+++ b/web/js/map-bing-ol.js
@@ -22,12 +22,30 @@ function set_map_config(perm) {
if (fixmystreet.map_type) {
tile_base = fixmystreet.map_type;
}
- fixmystreet.map_type = OpenLayers.Layer.Bing;
+ fixmystreet.map_type = OpenLayers.Layer.BingUK;
}
-OpenLayers.Layer.Bing = OpenLayers.Class(OpenLayers.Layer.XYZ, {
+OpenLayers.Layer.BingUK = OpenLayers.Class(OpenLayers.Layer.XYZ, {
attributionTemplate: '${logo}${copyrights}',
+ uk_bounds: [
+ new OpenLayers.Bounds(-6.6, 49.8, 1.102680, 51),
+ new OpenLayers.Bounds(-5.4, 51, 2.28, 54.94),
+ new OpenLayers.Bounds(-5.85, 54.94, -1.15, 55.33),
+ new OpenLayers.Bounds(-9.35, 55.33, -0.7, 60.98)
+ ],
+ in_uk: function(c) {
+ c = c.clone();
+ c.transform(
+ fixmystreet.map.getProjectionObject(),
+ new OpenLayers.Projection("EPSG:4326")
+ );
+ if ( this.uk_bounds[0].contains(c.lon, c.lat) || this.uk_bounds[1].contains(c.lon, c.lat) || this.uk_bounds[2].contains(c.lon, c.lat) || this.uk_bounds[3].contains(c.lon, c.lat) ) {
+ return true;
+ }
+ return false;
+ },
+
setMap: function() {
OpenLayers.Layer.XYZ.prototype.setMap.apply(this, arguments);
this.updateAttribution();
@@ -38,7 +56,9 @@ OpenLayers.Layer.Bing = OpenLayers.Class(OpenLayers.Layer.XYZ, {
var z = this.map.getZoom() + this.zoomOffset;
var copyrights;
var logo = '';
- if (z >= 16) {
+ var c = this.map.getCenter();
+ var in_uk = c ? this.in_uk(c) : true;
+ if (z >= 16 && in_uk) {
copyrights = 'Contains Ordnance Survey data &copy; Crown copyright and database right 2010';
} else {
logo = '<a href="http://www.bing.com/maps/"><img border=0 src="//dev.virtualearth.net/Branding/logo_powered_by.png"></a>';
@@ -98,14 +118,15 @@ OpenLayers.Layer.Bing = OpenLayers.Class(OpenLayers.Layer.XYZ, {
this.map.getZoom() + this.zoomOffset;
var url;
- if (z >= 16) {
+ var in_uk = this.in_uk(bounds.getCenterLonLat());
+ if (z >= 16 && in_uk) {
url = [];
for (var i=0; i< tile_base[0].length; i++) {
url.push( tile_base[1].replace('{S}', tile_base[0][i]) + "/${z}/${x}/${y}.png" );
}
} else {
var type = '';
- if (z > 10) { type = '&productSet=mmOS'; }
+ if (z > 10 && in_uk) { type = '&productSet=mmOS'; }
url = [
"//ecn.t0.tiles.virtualearth.net/tiles/r${id}.png?g=701" + type,
"//ecn.t1.tiles.virtualearth.net/tiles/r${id}.png?g=701" + type,
@@ -121,5 +142,5 @@ OpenLayers.Layer.Bing = OpenLayers.Class(OpenLayers.Layer.XYZ, {
return path;
},
- CLASS_NAME: "OpenLayers.Layer.Bing"
+ CLASS_NAME: "OpenLayers.Layer.BingUK"
});
diff --git a/web/js/southampton.js b/web/js/southampton.js
index af090d89b..ac7292f5d 100644
--- a/web/js/southampton.js
+++ b/web/js/southampton.js
@@ -120,7 +120,11 @@ $(function(){
$('#category_extra').hide('fast');
var lighting_content =
'<div id="street_light_report" style="margin: 1em 0em 1em 6.5em">Please report Street light problems using the Southampton Street Lighting site at: <a href="http://www.lightsoninsouthampton.co.uk/Public/ReportFault.aspx">http://www.lightsoninsouthampton.co.uk/Public/ReportFault.aspx</a></div>';
- $('#form_category_row').after(lighting_content);
+ if ( $('#form_category_row').count ) {
+ $('#form_category_row').after(lighting_content);
+ } else {
+ $('#form_category:parent').after(lighting_content);
+ }
} else {
$('#category_extra').hide('fast');
}
diff --git a/web/xsl.eha.xsl b/web/xsl.eha.xsl
deleted file mode 100644
index 41b86ea07..000000000
--- a/web/xsl.eha.xsl
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <xsl:output method="html" />
- <xsl:variable name="title" select="/rss/channel/title"/>
- <xsl:variable name="uri" select="/rss/channel/uri"/>
- <xsl:template match="/">
-<html lang="en-gb">
- <head>
- <title><xsl:value-of select="$title"/> RSS Feed</title>
- <link rel="stylesheet" href="/css/core.css"/>
- <link rel="stylesheet" href="/cobrands/emptyhomes/css.css"/>
- </head>
- <body>
- <div id="header"><a href="http://www.emptyhomes.com/"><img border="0" src="/i/eha.png" alt="Empty Homes Agency" width="272" height="71"/></a></div>
- <div id="navigation">
- <ul>
- <li><a href="/">Report a property</a></li>
- <li><a href="/reports">Reports</a></li>
- <li><a href="/alert">Get local reports</a></li>
- <li><a href="/faq">FAQs</a></li>
- <li><a href="/about">About us</a></li>
- </ul>
- </div>
-
- <div id="wrapper"><div id="mysociety">
- <xsl:apply-templates select="rss/channel"/>
- </div></div>
-
-<div id="footer">
-Empty Homes Agency <br/>
-Downstream Building, 1 London Bridge, London, SE1 9BG
-
-<br/>
-Tel: 020 7022 1870 <br/>
-Fax: 020 7681 3214 <br/>
-Email: <a href="mailto:info&#64;emptyhomes.com">info&#64;emptyhomes.com</a>
-</div>
-
-</body>
-</html>
- </xsl:template>
-
- <xsl:template match="channel">
- <div id="rss_box">
- <h1>What is this page?</h1>
- <p>This is an RSS feed from the ReportEmptyHomes website. RSS feeds allow you to stay up to date with the latest changes and additions to the site.
- To subscribe to it, you will need a News Reader or other similar device.
- <br/>
- <a href="http://news.bbc.co.uk/1/hi/help/3223484.stm#whatisrss"><strong>Help</strong>, I don't know what a news reader is and still don't know what this is about <small>(from the BBC)</small>.</a></p>
- </div>
-
- <p>Below is the latest content available from this feed,
- <a href="#" class="item"><img height="16" hspace="5" vspace="0" border="0" width="16" alt="RSS News feeds" src="/i/feed.png" title="RSS News feeds" /><xsl:value-of select="$title"/></a>.</p>
-
- <div id="rss_items"><ul><xsl:apply-templates select="item"/></ul></div>
- <div id="rss_rhs">
- <h2 style="margin:0">Subscribe to this feed</h2>
- <p>You can subscribe to this RSS feed in a number of ways, including the following:</p>
- <ul>
- <li>Drag the orange RSS button into your News Reader</li>
- <li>Drag the URL of the RSS feed into your News Reader</li>
- <li>Cut and paste the URL of the RSS feed into your News Reader</li>
- </ul>
- <h3>One-click subscriptions</h3>
- <p>If you use one of the following web-based News Readers, click on the appropriate button to subscribe to the RSS feed.</p>
-<a href="http://www.bloglines.com/sub/{uri}"><img height="18" width="91" hspace="3" vspace="3" border="0" alt="bloglines" src="http://newsimg.bbc.co.uk/shared/bsp/xsl/rss/img/bloglines.gif" /></a>
-<a href="http://www.feedzilla.com/mini/default.asp?ref=bbc&amp;url={uri}"><img height="22" width="93" hspace="3" vspace="3" border="0" alt="feedzilla" src="http://newsimg.bbc.co.uk/shared/bsp/xsl/rss/img/feedzilla.gif" /></a>
-<a href="http://add.my.yahoo.com/rss?url={uri}"><img height="17" width="91" hspace="3" vspace="3" border="0" alt="my yahoo" src="http://newsimg.bbc.co.uk/shared/bsp/xsl/rss/img/myyahoo.gif" /></a>
-<a href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url={uri}"><img height="17" width="91" hspace="3" vspace="3" border="0" alt="newsgator" src="http://newsimg.bbc.co.uk/shared/bsp/xsl/rss/img/newsgator.gif" /></a>
-<a href="http://www.live.com/?add={uri}"><img height="17" width="91" hspace="3" vspace="3" border="0" alt="Microsoft Live" src="http://newsimg.bbc.co.uk/shared/bsp/xsl/rss/img/windowslive.gif" /></a>
-<a href="http://feeds.my.aol.com/add.jsp?url={uri}"><img hspace="3" src="http://o.aolcdn.com/myfeeds/html/vis/myaol_cta1.gif" alt="Add to My AOL" border="0"/></a>
-<a href="http://www.netvibes.com/subscribe.php?url={uri}"><img hspace="3" src="http://www.netvibes.com/img/add2netvibes.gif" alt="Add to netvibes" /></a>
-<a href="http://fusion.google.com/add?feedurl={uri}"><img hspace="3" src="http://buttons.googlesyndication.com/fusion/add.gif" width="104" height="17" alt="Add to Google"/></a>
-<a href="http://www.pageflakes.com/subscribe.aspx?url={uri}"><img hspace="3" src="http://www.pageflakes.com/subscribe2.gif" border="0"/></a>
-
-<ul>
-<li><a href="http://google.com/reader/view/feed/{uri}">Google Reader</a></li>
-<li><a href="http://my.msn.com/addtomymsn.armx?id=rss&amp;ut={uri}&amp;tt=CENTRALDIRECTORY&amp;ru=http://rss.msn.com">My MSN</a></li>
-<li><a href="http://127.0.0.1:5335/system/pages/subscriptions?url={uri}">Userland</a></li>
-<li><a href="http://127.0.0.1:8888/index.html?add_url={uri}">Amphetadesk</a></li>
-<li><a href="http://www.feedmarker.com/admin.php?do=add_feed&amp;url={uri}">Feedmarker</a></li>
-</ul>
-
- </div>
-
- </xsl:template>
-
- <xsl:template match="item">
- <li>
- <a href="{link}" class="item"><xsl:value-of select="title"/></a><br/>
- <div><xsl:value-of disable-output-escaping="yes" select="description" /></div>
- </li>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/web/xsl.xsl b/web/xsl.xsl
deleted file mode 100644
index 12a4a93d5..000000000
--- a/web/xsl.xsl
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <xsl:output method="html" />
- <xsl:variable name="title" select="/rss/channel/title"/>
- <xsl:variable name="uri" select="/rss/channel/uri"/>
- <xsl:template match="/">
-<html lang="en-gb">
- <head>
- <title><xsl:value-of select="$title"/> XML Feed</title>
- <link rel="stylesheet" href="/css/core.css"/>
- <link rel="stylesheet" href="/css/main.css"/>
- </head>
- <body>
- <div id="header"><a href="/">FixMyStreet</a></div>
- <div id="wrapper"><div id="mysociety">
- <xsl:apply-templates select="rss/channel"/>
- </div></div>
-
-<h2 class="v">Navigation</h2>
-<ul id="navigation">
-<li><a href="/report/new">Report a problem</a></li>
-<li><a href="/reports">All reports</a></li>
-<li><a href="/faq">Help</a></li>
-<li><a href="/contact">Contact</a></li>
-</ul>
-
-<p id="footer">Built by <a href="http://www.mysociety.org/">mySociety</a>,
-using some <a href="http://github.com/mysociety/fixmystreet">clever</a> <a
-href="https://secure.mysociety.org/cvstrac/dir?d=mysociety/services/TilMa">code</a>.</p>
-
-</body>
-</html>
- </xsl:template>
-
- <xsl:template match="channel">
- <div id="rss_box">
- <h1>What is this page?</h1>
- <p>This is an RSS feed from the FixMyStreet website. RSS feeds allow you to stay up to date with the latest changes and additions to the site.
- To subscribe to it, you will need a News Reader or other similar device.
- <br/>
- <a href="http://news.bbc.co.uk/1/hi/help/3223484.stm#whatisrss"><strong>Help</strong>, I don't know what a news reader is and still don't know what this is about <small>(from the BBC)</small>.</a></p>
- </div>
-
- <p>Below is the latest content available from this feed,
- <a href="#" class="item"><img height="16" hspace="5" vspace="0" border="0" width="16" alt="RSS News feeds" src="/i/feed.png" title="RSS News feeds" /><xsl:value-of select="$title"/></a>.</p>
-
- <div id="rss_items"><ul><xsl:apply-templates select="item"/></ul></div>
- <div id="rss_rhs">
- <h2 style="margin:0">Subscribe to this feed</h2>
- <p>You can subscribe to this RSS feed in a number of ways, including the following:</p>
- <ul>
- <li>Drag the orange RSS button into your News Reader</li>
- <li>Drag the URL of the RSS feed into your News Reader</li>
- <li>Cut and paste the URL of the RSS feed into your News Reader</li>
- </ul>
- <h3>One-click subscriptions</h3>
- <p>If you use one of the following web-based News Readers, click on the appropriate button to subscribe to the RSS feed.</p>
-<a href="http://www.bloglines.com/sub/{uri}"><img height="18" width="91" hspace="3" vspace="3" border="0" alt="bloglines" src="http://newsimg.bbc.co.uk/shared/bsp/xsl/rss/img/bloglines.gif" /></a>
-<a href="http://www.feedzilla.com/mini/default.asp?ref=bbc&amp;url={uri}"><img height="22" width="93" hspace="3" vspace="3" border="0" alt="feedzilla" src="http://newsimg.bbc.co.uk/shared/bsp/xsl/rss/img/feedzilla.gif" /></a>
-<a href="http://add.my.yahoo.com/rss?url={uri}"><img height="17" width="91" hspace="3" vspace="3" border="0" alt="my yahoo" src="http://newsimg.bbc.co.uk/shared/bsp/xsl/rss/img/myyahoo.gif" /></a>
-<a href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url={uri}"><img height="17" width="91" hspace="3" vspace="3" border="0" alt="newsgator" src="http://newsimg.bbc.co.uk/shared/bsp/xsl/rss/img/newsgator.gif" /></a>
-<a href="http://www.live.com/?add={uri}"><img height="17" width="91" hspace="3" vspace="3" border="0" alt="Microsoft Live" src="http://newsimg.bbc.co.uk/shared/bsp/xsl/rss/img/windowslive.gif" /></a>
-<a href="http://feeds.my.aol.com/add.jsp?url={uri}"><img hspace="3" src="http://o.aolcdn.com/myfeeds/html/vis/myaol_cta1.gif" alt="Add to My AOL" border="0"/></a>
-<a href="http://www.netvibes.com/subscribe.php?url={uri}"><img hspace="3" src="http://www.netvibes.com/img/add2netvibes.gif" alt="Add to netvibes" /></a>
-<a href="http://fusion.google.com/add?feedurl={uri}"><img hspace="3" src="http://buttons.googlesyndication.com/fusion/add.gif" width="104" height="17" alt="Add to Google"/></a>
-<a href="http://www.pageflakes.com/subscribe.aspx?url={uri}"><img hspace="3" src="http://www.pageflakes.com/subscribe2.gif" border="0"/></a>
-
-<ul>
-<li><a href="http://google.com/reader/view/feed/{uri}">Google Reader</a></li>
-<li><a href="http://my.msn.com/addtomymsn.armx?id=rss&amp;ut={uri}&amp;tt=CENTRALDIRECTORY&amp;ru=http://rss.msn.com">My MSN</a></li>
-<li><a href="http://127.0.0.1:5335/system/pages/subscriptions?url={uri}">Userland</a></li>
-<li><a href="http://127.0.0.1:8888/index.html?add_url={uri}">Amphetadesk</a></li>
-<li><a href="http://www.feedmarker.com/admin.php?do=add_feed&amp;url={uri}">Feedmarker</a></li>
-</ul>
-
- </div>
-
- </xsl:template>
-
- <xsl:template match="item">
- <li>
- <a href="{link}" class="item"><xsl:value-of select="title"/></a><br/>
- <div><xsl:value-of disable-output-escaping="yes" select="description" /></div>
- </li>
- </xsl:template>
-
-</xsl:stylesheet>