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): ?>
-
+
@@ -24,6 +24,15 @@
context->comment->comment_date) ?>
+
+ context->comment->commenter->id == $this->context->user->id ? 'own' : 'all' ?>
+ context->user, Privilege::DeleteComment, $secondary)): ?>
+
+
+ delete
+
+
+