diff options
25 files changed, 87 insertions, 899 deletions
diff --git a/.gitignore b/.gitignore index ea28bc4b2..c8eebb0b2 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,8 @@ inc/ .sass-cache _Inline/ lib -tags
\ No newline at end of file +tags +/web/cobrands/fiksgatami/css.css +/web/cobrands/southampton/css.css +/web/css/core.css +/web/css/main.css diff --git a/bin/make_css b/bin/make_css index 7e01da267..59acdb984 100755 --- a/bin/make_css +++ b/bin/make_css @@ -12,7 +12,4 @@ DIRECTORY=$(cd `dirname $0` && pwd) -for file in `find $DIRECTORY/../ -name "*.scss" ! -name "_*"`; do - sass --style expanded $file ${file/scss/css} -done - +sass --scss --update --style compressed $DIRECTORY/.. diff --git a/conf/httpd.conf-example b/conf/httpd.conf-example index 378aa88a5..8ed6a9c81 100644 --- a/conf/httpd.conf-example +++ b/conf/httpd.conf-example @@ -16,6 +16,7 @@ # # on production servers these are run under fastcgi # Options +ExecCGI # AddHandler cgi-script .cgi +# AllowOverride None # </Directory> # # <Directory /home/yourname/fixmystreet/web-admin> @@ -60,6 +61,14 @@ ProxyPassReverse /mapit/ http://mapit.mysociety.org/ RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f RewriteRule /(.+) /$1 [L] +# Performance things +ExpiresActive On +ExpiresByType text/css "access plus 10 years" +ExpiresByType application/javascript "access plus 10 years" +<Location /js/> + AddOutputFilter DEFLATE js +</Location> + # Don't want jslib being passed to Catalyst RewriteRule ^/jslib(.*) /jslib$1 [L,PT] diff --git a/perllib/FixMyStreet/App/Controller/Rss.pm b/perllib/FixMyStreet/App/Controller/Rss.pm index 3a7ffa19a..767d38c21 100755 --- a/perllib/FixMyStreet/App/Controller/Rss.pm +++ b/perllib/FixMyStreet/App/Controller/Rss.pm @@ -265,8 +265,8 @@ sub add_row : Private { } if ( $row->{used_map} ) { - my $address = $c->cobrand->find_closest_address_for_rss( $row->{latitude}, $row->{longitude} ); - $item{description} .= ent("\n<br>$address"); + #my $address = $c->cobrand->find_closest_address_for_rss( $row->{latitude}, $row->{longitude} ); + #$item{description} .= ent("\n<br>$address"); } my $recipient_name = $c->cobrand->contact_name; diff --git a/perllib/FixMyStreet/App/View/Web.pm b/perllib/FixMyStreet/App/View/Web.pm index 5579d0d53..43d46ae25 100644 --- a/perllib/FixMyStreet/App/View/Web.pm +++ b/perllib/FixMyStreet/App/View/Web.pm @@ -19,7 +19,7 @@ __PACKAGE__->config( render_die => 1, expose_methods => [ 'loc', 'nget', 'tprintf', 'display_crosssell_advert', 'prettify_epoch', - 'add_links', + 'add_links', 'version', ], FILTERS => { escape_js => \&escape_js, @@ -165,5 +165,15 @@ sub html_filter { return $text; } +my %version_hash; +sub version { + my ( $self, $c, $file ) = @_; + unless ($version_hash{$file}) { + my $path = FixMyStreet->path_to('web', $file); + $version_hash{$file} = ( stat( $path ) )[9]; + } + return "$file?$version_hash{$file}"; +} + 1; diff --git a/t/app/controller/admin.t b/t/app/controller/admin.t index 4bfdd7821..25e921a4f 100644 --- a/t/app/controller/admin.t +++ b/t/app/controller/admin.t @@ -944,6 +944,12 @@ subtest 'report search' => sub { $mech->get_ok('/admin/search_reports?search=' . $report->user->email); $mech->content_like( qr{<tr [^>]*hidden[^>]*> \s* <td> \s* $r_id \s* </td>}xs ); + + $report->state('fixed - user'); + $report->update; + + $mech->get_ok('/admin/search_reports?search=' . $report->user->email); + $mech->content_like( qr{href="http://[^/]*[^.]/report/$r_id/">$r_id</a>} ); }; subtest 'search abuse' => sub { diff --git a/t/app/controller/questionnaire.t b/t/app/controller/questionnaire.t index af3b373ac..a013569ee 100644 --- a/t/app/controller/questionnaire.t +++ b/t/app/controller/questionnaire.t @@ -1,6 +1,7 @@ use strict; use warnings; use Test::More; +use DateTime; use FixMyStreet::TestMech; use FixMyStreet::App::Controller::Questionnaire; @@ -15,7 +16,10 @@ my $user = ->find_or_create( { email => 'test@example.com', name => 'Test User' } ); ok $user, "created test user"; -my $report_time = '2011-03-01 12:00:00'; +my $dt = DateTime->now()->subtract( weeks => 5 ); +my $report_time = $dt->ymd . ' ' . $dt->hms; +my $sent = $dt->add( minutes => 5 ); +my $sent_time = $sent->ymd . ' ' . $sent->hms; my $report = FixMyStreet::App->model('DB::Problem')->find_or_create( { @@ -31,7 +35,7 @@ my $report = FixMyStreet::App->model('DB::Problem')->find_or_create( state => 'confirmed', confirmed => $report_time, lastupdate => $report_time, - whensent => '2011-03-01 12:05:00', + whensent => $sent_time, lang => 'en-gb', service => '', cobrand => 'default', @@ -334,10 +338,11 @@ $mech->get_ok("/Q/" . $token); $mech->content_contains( 'should have reported what they have done' ); # Test already answered the ever reported question, so not shown again +$dt = $dt->add( weeks => 4 ); my $questionnaire2 = FixMyStreet::App->model('DB::Questionnaire')->find_or_create( { problem_id => $report->id, - whensent => '2011-03-28 12:00:00', + whensent => $dt->ymd . ' ' . $dt->hms, ever_reported => 1, } ); diff --git a/t/app/controller/report_updates.t b/t/app/controller/report_updates.t index 993c6758e..4469d4003 100644 --- a/t/app/controller/report_updates.t +++ b/t/app/controller/report_updates.t @@ -413,19 +413,15 @@ subtest 'check non authority user cannot change set state' => sub { $user->update; $mech->get_ok("/report/$report_id"); - $mech->submit_form_ok( { - form_number => 2, - fields => { + $mech->post_ok( "/report/update", { submit_update => 1, id => $report_id, name => $user->name, - rznvy => $user->email, may_show_name => 1, - add_alert => 0, + add_alert => undef, photo => '', update => 'this is a forbidden update', state => 'fixed - council', - }, }, 'submitted with state', ); @@ -445,19 +441,15 @@ for my $state ( qw/unconfirmed hidden partial/ ) { $user->update; $mech->get_ok("/report/$report_id"); - $mech->submit_form_ok( { - form_number => 2, - fields => { + $mech->post_ok( "/report/update", { submit_update => 1, id => $report_id, name => $user->name, - rznvy => $user->email, may_show_name => 1, - add_alert => 0, + add_alert => undef, photo => '', update => 'this is a forbidden update', state => $state, - }, }, 'submitted with state', ); @@ -477,7 +469,7 @@ for my $test ( fields => { name => $user->name, may_show_name => 1, - add_alert => 0, + add_alert => undef, photo => '', update => 'Set state to investigating', state => 'investigating', @@ -489,7 +481,7 @@ for my $test ( fields => { name => $user->name, may_show_name => 1, - add_alert => 0, + add_alert => undef, photo => '', update => 'Set state to planned', state => 'planned', @@ -501,7 +493,7 @@ for my $test ( fields => { name => $user->name, may_show_name => 1, - add_alert => 0, + add_alert => undef, photo => '', update => 'Set state to in progress', state => 'in progress', @@ -513,7 +505,7 @@ for my $test ( fields => { name => $user->name, may_show_name => 1, - add_alert => 0, + add_alert => undef, photo => '', update => 'Set state to closed', state => 'closed', @@ -525,7 +517,7 @@ for my $test ( fields => { name => $user->name, may_show_name => 1, - add_alert => 0, + add_alert => undef, photo => '', update => 'Set state to fixed', state => 'fixed', @@ -537,7 +529,7 @@ for my $test ( fields => { name => $user->name, may_show_name => 1, - add_alert => 0, + add_alert => undef, photo => '', update => 'Set state to confirmed', state => 'confirmed', @@ -549,7 +541,7 @@ for my $test ( fields => { name => $user->name, may_show_name => 1, - add_alert => 0, + add_alert => undef, photo => '', update => 'Set state to fixed', state => 'fixed', diff --git a/templates/web/barnet/header.html b/templates/web/barnet/header.html index 1616198e7..8270154ab 100644 --- a/templates/web/barnet/header.html +++ b/templates/web/barnet/header.html @@ -3,7 +3,7 @@ <head> <link rel="stylesheet" type="text/css" href="/cobrands/barnet/css/basic.css"> - <link rel="stylesheet" type="text/css" href="/css/core.css"> + <link rel="stylesheet" type="text/css" href="[% version('/css/core.css') %]"> <link rel="stylesheet" type="text/css" href="/cobrands/barnet/css/layout.css"> <!-- Preferred style sheet enabled when the page is loaded --> @@ -41,10 +41,10 @@ <![endif]--> <link rel="stylesheet" media="print" type="text/css" href="/cobrands/barnet/css/print.css"> - <script type="text/javascript" src="/cobrands/barnet/javascript/jquery-1.2.6_common.js"></script> - <script type="text/javascript" src="/cobrands/barnet/javascript/styleswitch.js"></script> - <script type="text/javascript" src="/cobrands/barnet/javascript/jquery-cookie-min.js"></script> - <script type="text/javascript" src="/cobrands/barnet/javascript/2008-portsurf.js"></script> + <script type="text/javascript" src="[% version('/cobrands/barnet/javascript/jquery-1.2.6_common.js') %]"></script> + <script type="text/javascript" src="[% version('/cobrands/barnet/javascript/styleswitch.js') %]"></script> + <script type="text/javascript" src="[% version('/cobrands/barnet/javascript/jquery-cookie-min.js') %]"></script> + <script type="text/javascript" src="[% version('/cobrands/barnet/javascript/2008-portsurf.js') %]"></script> [% INCLUDE 'common_header_tags.html' %] diff --git a/templates/web/default/admin/problem_row.html b/templates/web/default/admin/problem_row.html index 664ff1b13..22825429a 100644 --- a/templates/web/default/admin/problem_row.html +++ b/templates/web/default/admin/problem_row.html @@ -1,6 +1,6 @@ [%- FOR problem IN problems %] <tr[% ' class="hidden"' IF problem.state == 'hidden' %]> - <td>[%- IF problem.state == 'confirmed' || problem.state == 'fixed' -%] + <td>[%- IF problem.is_visible -%] [%- cobrand_data = problem.cobrand_data %] [%- cobrand_data = c.data_for_generic_problem IF !problem.cobrand %] <a href="[% c.uri_for_email( '/report', problem.id, cobrand_data ) %]">[% problem.id %]</a> @@ -20,9 +20,10 @@ <td>[% problem.cobrand %]<br>[% problem.cobrand_data | html %]</td> <td>[% PROCESS format_time time=problem.created %]</td> <td>[% problem.state %]<small> - [%- IF problem.state == 'fixed' || problem.state == 'confirmed' %]<br>[% loc('Confirmed:' ) %] [% PROCESS format_time time=problem.confirmed %][% END -%] - [%- IF problem.state == 'fixed' %]<br>[% loc('Fixed:') %] [% PROCESS format_time time=problem.lastupdate %][% END -%] - [%- IF problem.state == 'confirmed' %]<br>[% loc('Last update:') %] [% PROCESS format_time time=problem.lastupdate %][% END -%]</small> + [%- IF problem.is_visible %]<br>[% loc('Confirmed:' ) %] [% PROCESS format_time time=problem.confirmed %][% END -%] + [%- IF problem.is_fixed %]<br>[% loc('Fixed:') %] [% PROCESS format_time time=problem.lastupdate %][% END -%] + [%- IF problem.is_closed %]<br>[% loc('Closed:') %] [% PROCESS format_time time=problem.lastupdate %][% END -%] + [%- IF problem.is_open %]<br>[% loc('Last update:') %] [% PROCESS format_time time=problem.lastupdate %][% END -%]</small> </td> <td>[% PROCESS format_time time=problem.whensent %]</td> <td><a href="[% c.uri_for( 'report_edit', problem.id ) %]">[% loc('Edit') %]</a></td> diff --git a/templates/web/default/common_header_tags.html b/templates/web/default/common_header_tags.html index f9048b067..d0140d69c 100644 --- a/templates/web/default/common_header_tags.html +++ b/templates/web/default/common_header_tags.html @@ -1,6 +1,6 @@ <meta http-equiv="content-type" content="text/html; charset=utf-8"> <script type="text/javascript" src="/jslib/jquery-1.6.2.min.js"></script> -<script type="text/javascript" src="/js/fixmystreet.js"></script> +<script type="text/javascript" src="[% version('/js/fixmystreet.js') %]"></script> [% map_js %] diff --git a/templates/web/default/header.html b/templates/web/default/header.html index b2bfd27d7..cfe4911a0 100644 --- a/templates/web/default/header.html +++ b/templates/web/default/header.html @@ -2,8 +2,8 @@ <html lang="[% lang_code %]"> <head> - <link rel="stylesheet" type="text/css" href="/css/core.css"> - <link rel="stylesheet" type="text/css" href="/css/main.css"> + <link rel="stylesheet" type="text/css" href="[% version('/css/core.css') %]"> + <link rel="stylesheet" type="text/css" href="[% version('/css/main.css') %]"> <!--[if LT IE 7]> <link rel="stylesheet" type="text/css" href="/css/ie6.css"> <![endif]--> diff --git a/templates/web/default/maps/bing.html b/templates/web/default/maps/bing.html index 6b7114199..277886cdb 100644 --- a/templates/web/default/maps/bing.html +++ b/templates/web/default/maps/bing.html @@ -1,6 +1,6 @@ [% map_js = BLOCK %] <script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0&mkt=en-GB"></script> -<script type="text/javascript" src="/js/map-bing.js"></script> +<script type="text/javascript" src="[% version('/js/map-bing.js') %]"></script> [% END %] [% map_html = BLOCK %] diff --git a/templates/web/default/maps/fms.html b/templates/web/default/maps/fms.html index 2b322849b..956a22e69 100644 --- a/templates/web/default/maps/fms.html +++ b/templates/web/default/maps/fms.html @@ -1,9 +1,9 @@ [% map_js = BLOCK %] <!-- <script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0&mkt=en-GB"></script> --> -<script type="text/javascript" src="/js/OpenLayers.fixmystreet.js"></script> -<script type="text/javascript" src="/js/map-OpenLayers.js"></script> -<script type="text/javascript" src="/js/map-bing-ol.js"></script> -<script type="text/javascript" src="/js/jquery.ba-hashchange.min.js"></script> +<script type="text/javascript" src="[% version('/js/OpenLayers.fixmystreet.js') %]"></script> +<script type="text/javascript" src="[% version('/js/map-OpenLayers.js') %]"></script> +<script type="text/javascript" src="[% version('/js/map-bing-ol.js') %]"></script> +<script type="text/javascript" src="[% version('/js/jquery.ba-hashchange.min.js') %]"></script> <!--[if lte IE 6]> <link rel="stylesheet" href="/jslib/OpenLayers-2.10/theme/default/ie6-style.css" type="text/css" /> <![endif]--> diff --git a/templates/web/default/maps/google.html b/templates/web/default/maps/google.html index 2e326734b..69020ea81 100644 --- a/templates/web/default/maps/google.html +++ b/templates/web/default/maps/google.html @@ -1,6 +1,6 @@ [% map_js = BLOCK %] <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> -<script type="text/javascript" src="/js/map-google.js"></script> +<script type="text/javascript" src="[% version('/js/map-google.js') %]"></script> [% END %] [% map_html = BLOCK %] diff --git a/templates/web/default/maps/osm-streetview.html b/templates/web/default/maps/osm-streetview.html index fd889e6ee..3bc4614c6 100644 --- a/templates/web/default/maps/osm-streetview.html +++ b/templates/web/default/maps/osm-streetview.html @@ -1,8 +1,8 @@ [% map_js = BLOCK %] -<script type="text/javascript" src="/js/OpenLayers.fixmystreet.js"></script> -<script type="text/javascript" src="/js/map-OpenLayers.js"></script> -<script type="text/javascript" src="/js/map-streetview.js"></script> -<script type="text/javascript" src="/js/jquery.ba-hashchange.min.js"></script> +<script type="text/javascript" src="[% version('/js/OpenLayers.fixmystreet.js') %]"></script> +<script type="text/javascript" src="[% version('/js/map-OpenLayers.js') %]"></script> +<script type="text/javascript" src="[% version('/js/map-streetview.js') %]"></script> +<script type="text/javascript" src="[% version('/js/jquery.ba-hashchange.min.js') %]"></script> <!--[if lte IE 6]> <link rel="stylesheet" href="/jslib/OpenLayers-2.10/theme/default/ie6-style.css" type="text/css" /> <![endif]--> diff --git a/templates/web/default/maps/osm.html b/templates/web/default/maps/osm.html index f583dd227..804710ad1 100644 --- a/templates/web/default/maps/osm.html +++ b/templates/web/default/maps/osm.html @@ -1,8 +1,8 @@ [% map_js = BLOCK %] -<script type="text/javascript" src="/js/OpenLayers.fixmystreet.js"></script> -<script type="text/javascript" src="/js/map-OpenLayers.js"></script> -<script type="text/javascript" src="/js/map-OpenStreetMap.js"></script> -<script type="text/javascript" src="/js/jquery.ba-hashchange.min.js"></script> +<script type="text/javascript" src="[% version('/js/OpenLayers.fixmystreet.js') %]"></script> +<script type="text/javascript" src="[% version('/js/map-OpenLayers.js') %]"></script> +<script type="text/javascript" src="[% version('/js/map-OpenStreetMap.js') %]"></script> +<script type="text/javascript" src="[% version('/js/jquery.ba-hashchange.min.js') %]"></script> <!--[if lte IE 6]> <link rel="stylesheet" href="/jslib/OpenLayers-2.10/theme/default/ie6-style.css" type="text/css" /> <![endif]--> diff --git a/templates/web/emptyhomes/header.html b/templates/web/emptyhomes/header.html index 017d3a6f5..25d62db5c 100644 --- a/templates/web/emptyhomes/header.html +++ b/templates/web/emptyhomes/header.html @@ -2,7 +2,7 @@ <html lang="[% lang_code %]"> <head> - <link rel="stylesheet" type="text/css" href="/css/core.css"> + <link rel="stylesheet" type="text/css" href="[% version('/css/core.css') %]"> <link rel="stylesheet" type="text/css" href="/cobrands/emptyhomes/css.css"> <!--[if LT IE 7]> <link rel="stylesheet" type="text/css" href="/css/ie6.css"> diff --git a/templates/web/fiksgatami/header.html b/templates/web/fiksgatami/header.html index 44ebb7ee7..0e78bfc43 100644 --- a/templates/web/fiksgatami/header.html +++ b/templates/web/fiksgatami/header.html @@ -2,8 +2,8 @@ <html lang="[% lang_code %]"> <head> - <link rel="stylesheet" type="text/css" href="/css/core.css"> - <link rel="stylesheet" type="text/css" href="/cobrands/fiksgatami/css.css"> + <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' %] </head> diff --git a/templates/web/lichfielddc/header.html b/templates/web/lichfielddc/header.html index e134cd6f9..e17e22b9d 100644 --- a/templates/web/lichfielddc/header.html +++ b/templates/web/lichfielddc/header.html @@ -2,7 +2,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="[% lang_code %]"> <head> - <link rel="stylesheet" type="text/css" href="/css/core.css" /> + <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="http://www.lichfielddc.gov.uk/site/styles/standard_1_.css" media="screen" /> diff --git a/templates/web/southampton/header.html b/templates/web/southampton/header.html index 049034252..648027d8c 100644 --- a/templates/web/southampton/header.html +++ b/templates/web/southampton/header.html @@ -1,12 +1,12 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> - <link rel="stylesheet" type="text/css" href="/css/core.css" /> + <link rel="stylesheet" type="text/css" href="[% version('/css/core.css') %]"> <link rel="stylesheet" type="text/css" href="/cobrands/southampton/style.css" /> - <link rel="stylesheet" type="text/css" href="/cobrands/southampton/css.css" /> + <link rel="stylesheet" type="text/css" href="[% version('/cobrands/southampton/css.css') %]" /> [% INCLUDE 'common_header_tags.html' %] - <script type="text/javascript" src="/js/southampton.js"></script> + <script type="text/javascript" src="[% version('/js/southampton.js') %]"></script> </head> <body> diff --git a/web/cobrands/fiksgatami/css.css b/web/cobrands/fiksgatami/css.css deleted file mode 100644 index 6c2a4e16b..000000000 --- a/web/cobrands/fiksgatami/css.css +++ /dev/null @@ -1,193 +0,0 @@ -#mysociety #front_stats div { - width: 6.5em; -} -#mysociety label { - width: 6em; -} -#mysociety #fieldset div.checkbox, #mysociety #problem_submit { - padding-left: 6.5em; -} - -body { - font-family: "Gill Sans", "Gill Sans MT", Helvetica, Arial, sans-serif; - margin: 0; - padding: 0; -} - -h1 { - margin: 0; - font-size: 175%; -} - -h2 { - font-size: 140%; -} - -select, input, textarea { - font-size: 99%; -} - -#mysociety a.unsuitable-report { - font-size: small; -} -#mysociety blockquote { - border-left: solid 4px #1a4f7f; -} -#mysociety .a { - color: #000000; - background-color: #a9cff1; -} -#mysociety #postcodeForm { - background-color: #99bfe1; -} -#mysociety #front_stats div { - background-color: #99bfe1; -} -#mysociety p.promo { - border-top: 1px solid #bbb; - border-bottom: 1px solid #bbb; - background-color: #eee; - text-align: center; - padding: 0 0.5em; -} - -#header { - font-size: 200%; - font-weight: bold; - border-bottom: solid 2px #1a4f7f; - margin: 0; - padding: 0.15em 0.5em; - background-color: #99bfe1; - color: #1a4f7f; -} -#header a:link, #header a:visited { - color: #1a4f7f; - background-color: #99bfe1; - text-decoration: none; -} -#header a:active, #header a:hover { - text-decoration: underline; -} - -#my { - color: #0a3f6f; - background-color: #99bfe1; -} - -#mysociety { - width: 100%; - /* Must specify a width or IE goes crazy wrong! */ - position: relative; - margin: 0 auto; - max-width: 60em; - overflow: auto; -} - -/* Can't put the margin in #mysociety because of above IE craziness */ -#wrapper { - margin: 1em 2em; -} - -#meta { - list-style-type: none; - margin: 0.25em 0 0 1em; - padding: 0; - font-size: 0.875em; -} -#meta li { - display: inline; - margin: 0; - padding: 0 0 0 0.25em; - border-left: solid 1px #1a4f7f; -} -#meta li:first-child { - border-left: none; -} - -.v { - display: none; -} - -#navigation { - position: absolute; - top: 1em; - right: 1em; - padding: 0; - margin: 0; - list-style-type: none; -} -#navigation li { - display: inline; - padding: 0; - margin: 0; -} -#navigation a { - display: -moz-inline-box; - display: inline-block; - padding: 0.4em 1em; -} -#navigation a:link, #navigation a:visited { - color: #1a4f7f; -} -#navigation a:hover, #navigation a:active { - background-color: #1a4f7f; - color: #99bfe1; - -moz-border-radius-topleft: 0.5em; - -webkit-border-top-left-radius: 0.5em; - border-radius-top-left: 0.5em; - -moz-border-radius-topright: 0.5em; - -webkit-border-top-right-radius: 0.5em; - border-radius-top-right: 0.5em; -} - -#nav_new a { - background-image: url("/i/new.png"); - background-repeat: no-repeat; - background-position: 100% 0; -} - -#logo { - border: none; - position: absolute; - top: 3.3em; - right: 10px; -} - -#footer { - clear: both; - text-align: center; - border-top: solid 2px #ccc; - width: 50%; - margin: 1em auto 0; - padding: 0; - color: #333333; -} -#footer .l, #footer .r { - margin-top: 0; - text-align: left; - width: 45%; -} -#footer .l { - float: left; -} -#footer .r { - float: right; -} - -body { - font-family: Helmet, Freesans, "Helvetica Neue", Arial, sans-serif; -} - -a:link { - color: #215d93; -} -a:visited { - color: #518dc3; -} -a:hover, a:active { - color: #cc0000; -} - -#header { - padding: 0.1em 0.5em 0.15em; -} diff --git a/web/cobrands/southampton/css.css b/web/cobrands/southampton/css.css deleted file mode 100644 index fa0e07548..000000000 --- a/web/cobrands/southampton/css.css +++ /dev/null @@ -1,42 +0,0 @@ -#mysociety #map_box { - width: 422px; -} -#mysociety #map, #mysociety #drag { - width: 420px; - height: 420px; -} -#mysociety p#fixed, #mysociety p#unknown { - margin-right: 442px; - width: auto; -} -#mysociety #problem_form { - clear: both; -} -#mysociety h1 { - margin: 0; - font-size: 175%; -} -#mysociety h2 { - font-size: 140%; -} -#mysociety select, #mysociety input, #mysociety textarea { - font-size: 99%; -} -#mysociety a.unsuitable-report { - font-size: small; -} -#mysociety blockquote { - border-left: solid 4px #768eb5; -} -#mysociety .a { - color: #000000; - background-color: #e9eef7; -} -#mysociety #postcodeForm { - background-color: #e9eef7; -} -#mysociety #front_stats div { - background-color: #e9eef7; - width: 6em; - padding: 0.5em; -} diff --git a/web/css/core.css b/web/css/core.css deleted file mode 100644 index 309d8a9cb..000000000 --- a/web/css/core.css +++ /dev/null @@ -1,426 +0,0 @@ -#mysociety blockquote { - border-left: solid 4px #666666; - padding-left: 0.5em; -} -#mysociety blockquote h2, #mysociety blockquote p { - margin: 0; -} -#mysociety dt { - font-weight: bold; - margin-top: 0.5em; -} -#mysociety .gone { - color: #666666; - background-color: #cccccc; -} -#mysociety p.dev-site-notice, #mysociety p.error { - text-align: center; - color: #cc0000; - font-size: larger; -} -#mysociety ul { - padding: 0 0 0 1.5em; - margin: 0; -} -#mysociety ul.error { - color: #cc0000; - background-color: #ffeeee; - padding-right: 4px; - text-align: left; - font-size: larger; -} -#mysociety div.form-error { - color: #cc0000; - margin: 5px 1em 5px 1em; - padding: 2px 5px 2px 5px; - float: left; - background-color: #ffeeee; - text-align: left; -} -#mysociety div.form-field { - clear: both; -} -#mysociety #advert_thin { - width: 50%; - margin: 1em auto; - text-align: center; - border-top: dotted 1px #999999; -} -#mysociety #advert_hfymp { - border-top: dotted 1px #999999; - text-align: center; -} -#mysociety p#expl { - text-align: center; - font-size: 150%; - margin: 0 2em; -} -#mysociety #postcodeForm { - display: table; - _width: 33em; - text-align: center; - font-size: 150%; - margin: 1em auto; - padding: 1em; - -moz-border-radius: 1em; - -webkit-border-radius: 1em; - border-radius: 1em; -} -#mysociety #postcodeForm label { - float: none; - padding-right: 0; -} -#mysociety #postcodeForm #submit { - font-size: 83%; -} -#mysociety #front_intro { - float: left; - width: 48%; -} -#mysociety #front_intro p { - clear: both; - margin-top: 0; -} -#mysociety #front_stats div { - text-align: center; - width: 5.5em; - -moz-border-radius: 0.5em; - -webkit-border-radius: 0.5em; - border-radius: 0.5em; - float: left; - margin: 0 1em 1em; -} -#mysociety #front_stats div big { - font-size: 150%; - display: block; -} -#mysociety #front_recent { - float: right; - width: 48%; - margin-bottom: 1em; -} -#mysociety #front_recent img, #mysociety #alert_recent img { - margin-right: 0.25em; - margin-bottom: 0.25em; -} -#mysociety #front_recent > h2:first-child, #mysociety #front_intro > h2:first-child { - margin-top: 0; -} -#mysociety form { - margin: 0; -} -#mysociety label { - float: left; - text-align: right; - padding-right: 0.5em; - width: 5em; -} -#mysociety fieldset, #mysociety #fieldset { - border: none; - padding: 0.5em; -} -#mysociety fieldset div, #mysociety #fieldset div { - margin-top: 2px; - clear: left; -} -#mysociety legend { - display: none; -} -#mysociety #fieldset div.checkbox, #mysociety #problem_submit { - padding-left: 5.5em; -} -#mysociety #fieldset div.checkbox label, #mysociety label.n { - float: none; - text-align: left; - padding-right: 0; - width: auto; - cursor: pointer; - cursor: hand; -} -#mysociety #questionnaire label, #mysociety #alerts label { - float: none; -} -#mysociety .confirmed { - background-color: #ccffcc; - border: solid 2px #009900; - padding: 5px; - text-align: center; -} -#mysociety #form_sign_in_yes { - float: left; - width: 47%; - padding-right: 1%; - border-right: solid 1px #999999; - margin-bottom: 1em; -} -#mysociety #form_sign_in_no, #mysociety #fieldset #form_sign_in_no { - float: right; - width: 47%; - padding-left: 1%; - clear: none; - margin-bottom: 1em; -} -#mysociety #map_box { - float: right; - width: 502px; - position: relative; - padding-left: 20px; - background-color: #ffffff; -} -#mysociety p#copyright { - float: right; - text-align: right; - margin: 0 0 1em 0; - font-size: 78%; -} -#mysociety #map { - border: solid 1px #000000; - width: 500px; - height: 500px; - overflow: hidden; - position: relative; - background-color: #f1f1f1; -} -#mysociety #drag { - position: absolute; - width: 500px; - height: 500px; - right: 0; - top: 0; -} -#mysociety #drag input, #mysociety #drag img { - position: absolute; - border: none; -} -#mysociety #drag input { - cursor: crosshair; - background-color: #cccccc; -} -#mysociety #drag img { - cursor: move; -} -#mysociety #drag img.pin { - z-index: 100; - background-color: inherit; -} -#mysociety #drag a img.pin { - cursor: pointer; - cursor: hand; -} -#mysociety form#mapForm #map { - cursor: pointer; -} -#mysociety form#mapForm .olTileImage { - cursor: crosshair; -} -#mysociety #text_map { - margin: 0 530px 1em 0; - padding: 5px; - text-align: center; - position: relative; - padding-left: 0.5em; - text-align: left; - margin-top: 0; - font-size: 110%; - background-color: #eeeeee; - -moz-border-radius-topleft: 1em; - -moz-border-radius-bottomleft: 1em; - -webkit-border-top-left-radius: 1em; - -webkit-border-bottom-left-radius: 1em; - border-top-left-radius: 1em; - border-bottom-left-radius: 1em; -} -#mysociety #text_map_arrow { - display: block; - position: absolute; - top: 0; - right: -28px; - width: 0; - height: 0; - line-height: 0; - font-size: 0; - border-style: solid; - border-width: 26px 14px 26px 14px; - border-color: #fff #fff #fff #eee; -} -#mysociety #text_no_map { - margin-top: 0; -} -#mysociety #sub_map_links { - float: right; - clear: right; - margin-top: 0; -} -#mysociety #fixed { - margin: 0 530px 1em 0; - padding: 5px; - text-align: center; - position: relative; - background-color: #ccffcc; - border: solid 2px #009900; -} -#mysociety #unknown { - margin: 0 530px 1em 0; - padding: 5px; - text-align: center; - position: relative; - background-color: #ffcccc; - border: solid 2px #990000; -} -#mysociety #closed { - margin: 0 530px 1em 0; - padding: 5px; - text-align: center; - position: relative; - background-color: #ccccff; - border: solid 2px #000099; -} -#mysociety #progress { - margin: 0 530px 1em 0; - padding: 5px; - text-align: center; - position: relative; - background-color: #ffffcc; - border: solid 2px #999900; -} -#mysociety #updates div { - padding: 0 0 0.5em; - margin: 0 0 0.25em; - border-bottom: dotted 1px #5e552b; -} -#mysociety #updates div .problem-update, #mysociety #updates div .update-text { - padding: 0; - margin: 0; - border-bottom: 0; -} -#mysociety #updates p { - margin: 0; -} -#mysociety #nearby_lists h2 { - margin-top: 1em; - margin-bottom: 0; -} -#mysociety #nearby_lists li small { - color: #666666; -} -#mysociety #alert_links { - float: right; -} -#mysociety #alert_links_area { - padding-left: 0.5em; - margin: 0; - color: #666; - font-size: smaller; -} -#mysociety #rss_alert { - text-decoration: none; -} -#mysociety #rss_alert span { - text-decoration: underline; -} -#mysociety #email_alert_box { - display: none; - position: absolute; - padding: 3px; - font-size: 83%; - border: solid 1px #7399C3; - background-color: #eeeeff; - color: #000000; -} -#mysociety #email_alert_box p { - margin: 0; -} -#mysociety .council_sent_info { - font-size: smaller; -} -#mysociety #rss_items { - width: 62%; - float: left; -} -#mysociety #rss_rhs { - border-left: 1px dashed #999; - width: 36%; - float: right; - padding: 0 0 0 0.5em; - margin: 0 0 1em 0.5em; -} -#mysociety #rss_box { - padding: 10px; - border: 1px solid #999999; -} -#mysociety #rss_feed { - list-style-type: none; - margin-bottom: 2em; -} -#mysociety #rss_feed li { - margin-bottom: 1em; -} -#mysociety #alert_or { - font-style: italic; - font-size: 125%; - margin: 0; -} -#mysociety #rss_list { - float: left; - width: 47%; -} -#mysociety #rss_list ul { - list-style-type: none; -} -#mysociety #rss_buttons { - float: right; - width: 35%; - text-align: center; - margin-bottom: 2em; -} -#mysociety #rss_local { - margin-left: 1.5em; - margin-bottom: 0; -} -#mysociety #rss_local_alt { - margin: 0 0 2em 4em; -} -#mysociety #alert_photos { - text-align: center; - float: right; - width: 150px; - margin-left: 0.5em; -} -#mysociety #alert_photos h2 { - font-size: 100%; -} -#mysociety #alert_photos img { - margin-bottom: 0.25em; -} -#mysociety #col_problems, #mysociety #col_fixed { - float: left; - width: 48%; - margin-right: 1em; -} -#mysociety .contact-details { - font-size: 80%; - margin-top: 2em; -} - -.olControlAttribution { - bottom: 3px !important; - left: 3px; -} - -.olControlPermalink { - bottom: 3px !important; - right: 3px; -} - -@media print { - #mysociety #map_box { - float: none; - margin: 0 auto; - } - #mysociety #mysociety { - max-width: none; - } - #mysociety #side { - margin-right: 0; - } -} diff --git a/web/css/main.css b/web/css/main.css deleted file mode 100644 index a3fe3b400..000000000 --- a/web/css/main.css +++ /dev/null @@ -1,175 +0,0 @@ -a:link { - color: #0000ff; -} -a:visited { - color: #000099; -} -a:hover, a:active { - color: #ff0000; -} - -body { - font-family: "Gill Sans", "Gill Sans MT", Helvetica, Arial, sans-serif; - margin: 0; - padding: 0; -} - -h1 { - margin: 0; - font-size: 175%; -} - -h2 { - font-size: 140%; -} - -select, input, textarea { - font-size: 99%; -} - -#mysociety a.unsuitable-report { - font-size: small; -} -#mysociety blockquote { - border-left: solid 4px #5e552b; -} -#mysociety .a { - color: #000000; - background-color: #f3e5a5; -} -#mysociety #postcodeForm { - background-color: #e3d595; -} -#mysociety #front_stats div { - background-color: #e3d595; -} -#mysociety p.promo { - border-top: 1px solid #bbb; - border-bottom: 1px solid #bbb; - background-color: #eee; - text-align: center; - padding: 0 0.5em; -} - -#header { - font-size: 200%; - font-weight: bold; - border-bottom: solid 2px #5e552b; - margin: 0; - padding: 0.15em 0.5em; - background-color: #e3d595; - color: #5e552b; -} -#header a:link, #header a:visited { - color: #5e552b; - background-color: #e3d595; - text-decoration: none; -} -#header a:active, #header a:hover { - text-decoration: underline; -} - -#my { - color: #4e451b; - background-color: #e3d595; -} - -#mysociety { - width: 100%; - /* Must specify a width or IE goes crazy wrong! */ - position: relative; - margin: 0 auto; - max-width: 60em; - overflow: auto; -} - -/* Can't put the margin in #mysociety because of above IE craziness */ -#wrapper { - margin: 1em 2em; -} - -#meta { - list-style-type: none; - margin: 0.25em 0 0 1em; - padding: 0; - font-size: 0.875em; -} -#meta li { - display: inline; - margin: 0; - padding: 0 0 0 0.25em; - border-left: solid 1px #5e552b; -} -#meta li:first-child { - border-left: none; -} - -.v { - display: none; -} - -#navigation { - position: absolute; - top: 1em; - right: 1em; - padding: 0; - margin: 0; - list-style-type: none; -} -#navigation li { - display: inline; - padding: 0; - margin: 0; -} -#navigation a { - display: -moz-inline-box; - display: inline-block; - padding: 0.4em 1em; -} -#navigation a:link, #navigation a:visited { - color: #5e552b; -} -#navigation a:hover, #navigation a:active { - background-color: #5e552b; - color: #e3d595; - -moz-border-radius-topleft: 0.5em; - -webkit-border-top-left-radius: 0.5em; - border-radius-top-left: 0.5em; - -moz-border-radius-topright: 0.5em; - -webkit-border-top-right-radius: 0.5em; - border-radius-top-right: 0.5em; -} - -#nav_new a { - background-image: url("/i/new.png"); - background-repeat: no-repeat; - background-position: 100% 0; -} - -#logo { - border: none; - position: absolute; - top: 3.3em; - right: 10px; -} - -#footer { - clear: both; - text-align: center; - border-top: solid 2px #ccc; - width: 50%; - margin: 1em auto 0; - padding: 0; - color: #333333; -} -#footer .l, #footer .r { - margin-top: 0; - text-align: left; - width: 45%; -} -#footer .l { - float: left; -} -#footer .r { - float: right; -} |