X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2FBeerDB.pm;h=fd2c704e549a3db51306618c709008d16fa3291e;hb=48b7f94a68422ee2d1ee9ca6bf9cd5c2ee34e189;hp=5cb320a4ecb29b5914690007959a18424dfe7dae;hpb=a0b702113b5a868698f65a5a88c35d91227a775f;p=maypole.git diff --git a/lib/BeerDB.pm b/lib/BeerDB.pm index 5cb320a..fd2c704 100644 --- a/lib/BeerDB.pm +++ b/lib/BeerDB.pm @@ -1,15 +1,32 @@ -# vim:ft=perl package BeerDB; -use Apache::MVC; use base 'Apache::MVC'; -sub handler { Apache::MVC::handler("BeerDB", @_) } -BeerDB->set_database("dbi:SQLite:dbname=/opt/beer/beerdb.db"); -BeerDB->config->{template_root} = "/opt/beer"; -BeerDB->config->{uri_base} = "http://neo.trinity-house.org.uk/beerdb/"; +use Class::DBI::Loader::Relationship; +# This line is required if you don't have Apache calling Perl handlers +# as methods. +sub handler { Maypole::handler(__PACKAGE__, @_) } + +# This is the sample application. Change this to the path to your +# database. (or use mysql or something) +#BeerDB->set_database("dbi:SQLite:t/beerdb.db"); +BeerDB->set_database("dbi:mysql:beerdb"); -BeerDB::Brewery->columns(Stringify => qw/name/); +# Change this to the root of the web space. +#BeerDB->config->{uri_base} = "http://localhost/beerdb/"; +BeerDB->config->{uri_base} = "http://neo.trinity-house.org.uk/beerdb/"; -BeerDB->config->{loader}->relationship( "a brewery produces beers" ); -BeerDB->config->{loader}->relationship( "a pub has beers on handpumps"); +BeerDB->config->{rows_per_page} = 10; +# Handpumps should not show up. +BeerDB->config->{display_tables} = [qw[beer brewery pub style]]; +BeerDB::Brewery->untaint_columns( printable => [qw/name notes url/] ); +BeerDB::Style->untaint_columns( printable => [qw/name notes/] ); +BeerDB::Beer->untaint_columns( + printable => [qw/abv name price notes/], + integer => [qw/style brewery score/], + date =>[ qw/date/], +); +BeerDB->config->{loader}->relationship($_) for ( + "a brewery produces beers", + "a style defines beers", + "a pub has beers on handpumps"); 1;