]> git.decadent.org.uk Git - memories.git/blobdiff - Memories.pm
Ignore quilt's .pc directory
[memories.git] / Memories.pm
index 0aebf11fab5cf447bbdadd0b047c800ffbf725b3..c3f1127d1c41189a19daac1262415337d1d03bcc 100644 (file)
@@ -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; 
 }