X-Git-Url: https://git.decadent.org.uk/gitweb/?p=memories.git;a=blobdiff_plain;f=Memories.pm;h=c3f1127d1c41189a19daac1262415337d1d03bcc;hp=0aebf11fab5cf447bbdadd0b047c800ffbf725b3;hb=HEAD;hpb=7767c51977a235b2f9205da1a94b07ba55ad2f52 diff --git a/Memories.pm b/Memories.pm index 0aebf11..c3f1127 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; @@ -13,14 +14,14 @@ use Memories::SystemTag; use Memories::User; 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"); +Memories->setup_tagging("photo", "system_tag"); 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; }