X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=Memories.pm;h=43f9a3e003e2d9de31c1a6cef320661e8b7264b0;hb=857662436716c74a68a28b32aa55f2a468a0e4d2;hp=0aebf11fab5cf447bbdadd0b047c800ffbf725b3;hpb=7767c51977a235b2f9205da1a94b07ba55ad2f52;p=memories.git diff --git a/Memories.pm b/Memories.pm index 0aebf11..43f9a3e 100644 --- a/Memories.pm +++ b/Memories.pm @@ -1,9 +1,10 @@ package Memories; use strict; our $VERSION = "1.2"; -use Maypole::Application qw(Upload Authentication::UserSessionCookie -Debug); +use Maypole::Application qw(Authentication::UserSessionCookie); use HTML::TagCloud; use URI; +use Tagtools; use Memories::Config; use Memories::DBI; use Memories::Photo; @@ -15,12 +16,12 @@ use Memories::Album; use URI::Escape; use Calendar::Simple; use XML::RSS; -use Tagtools; Memories->config->auth->{ user_field } = "name"; Memories->config->model("Maypole::Model::CDBI::Plain"); Memories->setup([qw/ Memories::Photo Memories::User Memories::Tag Memories::Album Memories::SystemTag/]); +Memories->setup_tagging("photo"); sub message { my ($self, $message) = @_; @@ -81,7 +82,7 @@ sub additional_data { } $r->{template_args}{now} = Time::Piece->new; if ($r->session) { - (tied %{$r->session})->{lock_manager}->clean('/var/lib/memories/sessionlock', 3600) #remove files older than 1 hour + (tied %{$r->session})->{lock_manager}->clean(Memories->config->{auth}{session_args}{LockDirectory}, 3600) #remove files older than 1 hour } return $r->do_rss if ($r->params->{format} =~ /rss/) } @@ -91,6 +92,12 @@ sub authenticate { my ($self, $r) = @_; return DECLINED if $self->path =~/static|store/; # XXX $r->get_user; + if (!$r->user and $self->path =~ /upload/) { $r->template("login"); } + # Don't let 'em go until they've fixed it + if ($r->session and $r->session->{quarantined} and $self->path !~ /js$/) { + $r->table("photo"); $r->action("quarantine"); + $r->model_class("Memories::Photo"); + } return OK; }