diff options
Diffstat (limited to 'lib/VNWeb/Discussions/PostEdit.pm')
-rw-r--r-- | lib/VNWeb/Discussions/PostEdit.pm | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/VNWeb/Discussions/PostEdit.pm b/lib/VNWeb/Discussions/PostEdit.pm index a645fb6f..d0e4e1d2 100644 --- a/lib/VNWeb/Discussions/PostEdit.pm +++ b/lib/VNWeb/Discussions/PostEdit.pm @@ -10,7 +10,7 @@ my $FORM = { num => { id => 1 }, can_mod => { anybool => 1, _when => 'out' }, - hidden => { anybool => 1 }, # When can_mod + hidden => { default => sub { $_[0] } }, # When can_mod nolastmod => { anybool => 1, _when => 'in' }, # When can_mod delete => { anybool => 1 }, # When can_mod @@ -44,14 +44,15 @@ elm_api DiscussionsPostEdit => $FORM_OUT, $FORM_IN, sub { return tuwf->resNotFound if !$t->{id}; return elm_Unauth if !can_edit t => $t; + tuwf->dbExeci(q{DELETE FROM notifications WHERE iid =}, \$id, 'AND num =', \$num) if auth->permBoardmod && ($data->{delete} || defined $data->{hidden}); + if($data->{delete} && auth->permBoardmod) { auth->audit($t->{user_id}, 'post delete', "deleted $id.$num"); tuwf->dbExeci('DELETE FROM threads_posts WHERE tid =', \$id, 'AND num =', \$num); tuwf->dbExeci('DELETE FROM reviews_posts WHERE id =', \$id, 'AND num =', \$num); - tuwf->dbExeci(q{DELETE FROM notifications WHERE iid =}, \$id, 'AND num =', \$num); return elm_Redirect "/$id"; } - auth->audit($t->{user_id}, 'post edit', "edited $id.$num") if $t->{user_id} != auth->uid; + auth->audit($t->{user_id}, 'post edit', "edited $id.$num") if $t->{user_id} ne auth->uid; my $post = { tid => $id, |