From 379674d027503329b1faf734ff6ece7c168138c8 Mon Sep 17 00:00:00 2001 From: Marcin Kurczewski Date: Thu, 17 Oct 2013 23:37:41 +0200 Subject: [PATCH] Closed #8 --- config.ini | 2 ++ public_html/media/css/comment-small.css | 20 +++++++++++++++++++- public_html/media/css/post-view.css | 3 +-- public_html/media/js/post-view.js | 2 +- src/Controllers/CommentController.php | 17 +++++++++++++++++ src/Models/Model_Comment.php | 8 ++++++++ src/Models/Privilege.php | 1 + src/Views/comment-small.phtml | 11 ++++++++++- 8 files changed, 59 insertions(+), 5 deletions(-) diff --git a/config.ini b/config.ini index 34819c19..1ed83de6 100644 --- a/config.ini +++ b/config.ini @@ -85,5 +85,7 @@ deleteUser.all=nobody listComments=anonymous addComment=registered +deleteComment.self=registered +deleteComment.all=moderator listTags=anonymous diff --git a/public_html/media/css/comment-small.css b/public_html/media/css/comment-small.css index 358ea583..1f5d3227 100644 --- a/public_html/media/css/comment-small.css +++ b/public_html/media/css/comment-small.css @@ -1,10 +1,12 @@ .comment { margin: 0 0 1em 0; } -.comment .body, .comment .avatar { float: left; } +.comment .body { + margin-left: 60px; +} .comment .header { margin-bottom: 0.2em; } @@ -26,5 +28,21 @@ } .comment .date { color: silver; +} + +.comment .date, +.comment .delete { font-size: small; } +.comment .delete:before { + margin-left: 0.2em; + content: ' ['; + color: silver; +} +.comment .delete:after { + content: ']'; + color: silver; +} +.comment .delete a { + color: silver; +} diff --git a/public_html/media/css/post-view.css b/public_html/media/css/post-view.css index b40ff200..352a0fd0 100644 --- a/public_html/media/css/post-view.css +++ b/public_html/media/css/post-view.css @@ -90,8 +90,7 @@ i.icon-dl { margin: 2px; } -form.edit-post, -form.edit-comment { +form.edit-post { display: none; } form.edit-post .safety label:not(.left) { diff --git a/public_html/media/js/post-view.js b/public_html/media/js/post-view.js index a4d81540..3c49578c 100644 --- a/public_html/media/js/post-view.js +++ b/public_html/media/js/post-view.js @@ -66,7 +66,7 @@ $(function() $.ajax(ajaxData); }); - $('form.add-comment, form.edit-comment').submit(function(e) + $('form.add-comment').submit(function(e) { e.preventDefault(); diff --git a/src/Controllers/CommentController.php b/src/Controllers/CommentController.php index b5907f10..259bd54e 100644 --- a/src/Controllers/CommentController.php +++ b/src/Controllers/CommentController.php @@ -51,6 +51,8 @@ class CommentController $this->context->transport->comments = $comments; } + + /** * @route /post/{postId}/add-comment * @valdiate postId [0-9]+ @@ -78,4 +80,19 @@ class CommentController $this->context->transport->success = true; } } + + + + /** + * @route /comment/{id}/delete + * @validate id [0-9]+ + */ + public function deleteAction($id) + { + $comment = Model_Comment::locate($id); + $secondary = $comment->commenter->id == $this->context->user->id ? 'own' : 'all'; + PrivilegesHelper::confirmWithException($this->context->user, Privilege::DeleteComment, $secondary); + R::trash($comment); + $this->context->transport->success = true; + } } diff --git a/src/Models/Model_Comment.php b/src/Models/Model_Comment.php index 72da56d5..e8fd37d5 100644 --- a/src/Models/Model_Comment.php +++ b/src/Models/Model_Comment.php @@ -1,6 +1,14 @@ context->comment->commenter): ?> - <?php echo $this->context->comment->commenter->name ?: '[deleted user]' ?> + <?php echo $this->context->comment->commenter->name ?: '[deleted user]' ?> [deleted user] @@ -24,6 +24,15 @@ context->comment->comment_date) ?> + + context->comment->commenter->id == $this->context->user->id ? 'own' : 'all' ?> + context->user, Privilege::DeleteComment, $secondary)): ?> + + + delete + + +