diff options
Diffstat (limited to 'lib/Bookmarks/C')
-rw-r--r-- | lib/Bookmarks/C/Main.pm | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/Bookmarks/C/Main.pm b/lib/Bookmarks/C/Main.pm index d64f2fd..1039ade 100644 --- a/lib/Bookmarks/C/Main.pm +++ b/lib/Bookmarks/C/Main.pm @@ -87,6 +87,12 @@ sub jump : Global { sub add : Global { my ( $self, $c ) = @_; + unless ($self->_authorized($c)) { + $c->res->status(403); + $c->res->body('non puoi'); + return; + } + my %pre_link=(); for my $field (qw(pk url title descr)) { $pre_link{$field}=$c->req->param($field); @@ -167,6 +173,12 @@ sub add : Global { sub edit : Global { my ( $self, $c ) = @_; + unless ($self->_authorized($c)) { + $c->res->status(403); + $c->res->body('non puoi'); + return; + } + my $link=Bookmarks::M::DB::Links->retrieve($c->req->param('link')); $c->stash->{link}=$link; @@ -198,6 +210,15 @@ sub search : Global { $c->stash->{template}='results'; } +sub _authorized { + my ($self,$c)=@_; + + if ($ENV{BOOKMARKS_CAN_EDIT}) { + return 1; + } + return; +} + =head1 AUTHOR A clever guy |