| @@ -0,0 +1,88 @@ | |||||
| <div class="d-flex align-items-center justify-content-between mb-4"> | |||||
| <div> | |||||
| <h1 class="h3 mb-1">Manage Comments</h1> | |||||
| <p class="text-muted mb-0">Approve comments before they appear on posts.</p> | |||||
| </div> | |||||
| <a class="btn btn-outline-secondary" href="<%= AdminUrl() %>">← Back to dashboard</a> | |||||
| </div> | |||||
| <% If comments.Count = 0 Then %> | |||||
| <div class="alert alert-secondary">No comments yet.</div> | |||||
| <% Else %> | |||||
| <div class="table-responsive"> | |||||
| <table class="table table-hover align-middle"> | |||||
| <thead class="table-light"> | |||||
| <tr> | |||||
| <th>Comment</th> | |||||
| <th>Post</th> | |||||
| <th>Status</th> | |||||
| <th>Created</th> | |||||
| <th class="text-end">Actions</th> | |||||
| </tr> | |||||
| </thead> | |||||
| <tbody> | |||||
| <% | |||||
| Dim adminCommentIter, adminCommentItem, adminCommentPost, adminCommentPostTitle, adminCommentPostUrl | |||||
| Set adminCommentIter = comments.Iterator() | |||||
| Do While adminCommentIter.HasNext | |||||
| Set adminCommentItem = adminCommentIter.GetNext() | |||||
| adminCommentPostTitle = "Post #" & CStr(adminCommentItem.PostID) | |||||
| adminCommentPostUrl = "" | |||||
| Set adminCommentPost = Nothing | |||||
| On Error Resume Next | |||||
| Set adminCommentPost = PostsRepository().FindByID(adminCommentItem.PostID) | |||||
| If Err.Number = 0 Then | |||||
| adminCommentPostTitle = adminCommentPost.Title | |||||
| adminCommentPostUrl = PostUrl(adminCommentPost.Slug) | |||||
| End If | |||||
| Err.Clear | |||||
| On Error GoTo 0 | |||||
| %> | |||||
| <tr> | |||||
| <td style="min-width: 320px;"> | |||||
| <strong><%= H(adminCommentItem.AuthorName) %></strong> | |||||
| <% If Len(Trim(CStr(adminCommentItem.AuthorEmail))) > 0 Then %> | |||||
| <div class="small text-muted"><%= H(adminCommentItem.AuthorEmail) %></div> | |||||
| <% End If %> | |||||
| <div class="mt-2"><%= H(adminCommentItem.Body) %></div> | |||||
| </td> | |||||
| <td class="text-nowrap"> | |||||
| <% If Len(adminCommentPostUrl) > 0 Then %> | |||||
| <a href="<%= adminCommentPostUrl %>"><%= H(adminCommentPostTitle) %></a> | |||||
| <% Else %> | |||||
| <%= H(adminCommentPostTitle) %> | |||||
| <% End If %> | |||||
| </td> | |||||
| <td class="text-nowrap"> | |||||
| <% If adminCommentItem.IsApproved = 1 Then %> | |||||
| <span class="badge bg-success">Approved</span> | |||||
| <% Else %> | |||||
| <span class="badge bg-secondary">Pending</span> | |||||
| <% End If %> | |||||
| </td> | |||||
| <td class="small text-muted text-nowrap"> | |||||
| <%= H(FormatDateTime(adminCommentItem.CreatedDate, vbShortDate)) %> | |||||
| </td> | |||||
| <td class="text-end text-nowrap"> | |||||
| <% If adminCommentItem.IsApproved = 1 Then %> | |||||
| <form class="d-inline" method="post" action="<%= AdminCommentUnapproveUrl(adminCommentItem.CommentID) %>"> | |||||
| <button class="btn btn-sm btn-outline-warning" type="submit">Unapprove</button> | |||||
| </form> | |||||
| <% Else %> | |||||
| <form class="d-inline" method="post" action="<%= AdminCommentApproveUrl(adminCommentItem.CommentID) %>"> | |||||
| <button class="btn btn-sm btn-success" type="submit">Approve</button> | |||||
| </form> | |||||
| <% End If %> | |||||
| <form class="d-inline" method="post" action="<%= AdminCommentDeleteUrl(adminCommentItem.CommentID) %>"> | |||||
| <button class="btn btn-sm btn-outline-danger" type="submit" onclick="return confirm('Delete this comment?')">Delete</button> | |||||
| </form> | |||||
| </td> | |||||
| </tr> | |||||
| <% | |||||
| Loop | |||||
| %> | |||||
| </tbody> | |||||
| </table> | |||||
| </div> | |||||
| <% End If %> | |||||
Powered by TurnKey Linux.