Add a comment preview and delete link in the Admin section of sNews

Comments (4)

I got a recent request to do a simple mod to put a "delete" link beside the comment edit link in the Admin section of sNews, so one can easily delete an obvious spam comment without clicking edit, then deleting. Seemed like a good idea, so I've added a few extra bits and have it running on my site as well, so I might as well offer it up to the community too. Here's a preview;

sNews comment delete

Within snews.php, find the function administration(), and add the following highlighted code in the comment SQL query;

$query_comm = 'SELECT id,articleid,name,comment FROM '._PRE.'comments'.' WHERE approved != 'True'';

Now find the code that outputs the unapproved comments;

echo '<p>'.$r['name'].' (<strong>'.$articleTITLE.'</strong>) '.l('divider').'
<a href="'._SITE.'?action=editcomment&amp;commentid='.$r['id'].'">'.l('edit').'</a></p>';

Now replace that code with this block;

if (strlen($r['comment']) > '60') {
    $preview = substr($r['comment'],0,60).'...';
} else {
    $preview = $r['comment'];
}
echo '<p>'.$r['name'].' (<strong>'.$articleTITLE.'</strong>) '.l('divider').' <a href="'._SITE.'?action=editcomment&amp;commentid='.$r['id'].'">'.l('edit').'</a> <a href="'._SITE.'?action=process&amp;task=deletecomment&amp;commentid='.$r['id'].'" title="'.l('delete').' '.l('comment').'" onclick="return pop()">'.l('delete').'</a><br />&nbsp;-&nbsp;<span class="comment_preview">"'.$preview.'"</span></p>';

And the style for the comment preview;

.comment_preview {
font-size: .9em;
font-style: italic;
color: #555;
}

That's it. Very basic. It still redirects you to the article related to the comment, but to change that would require quite a bit more hacking on other functions.

bookmark / share this: Bookmark and Share
rated 2.57/5 (7 votes)


4 comments

Add a new comment »

mosh mosh said:
Nov 6th, 2009 at 8:20 am

hey matt
very nice mod,
it is a must for snews comment system.

thank you and
awesome day


Patric Patric said:
Jan 25th, 2010 at 7:17 am

Mhm, now where the feck can I find and being able to change "Comment preview:" ?? Have styled that label, but I can't get rid of the semicolon...


Matt Matt said:
Jan 25th, 2010 at 7:39 am

I'm not sure I follow you Patric, where do you see "Comment preview:" at?

Are you thinking about this;
http://mdj.us/web-development/ajax-javascript/live-comment-previewing-using-the-jquery-library/

If that's the case, it's in the javascript, just remove the semi-colon from that code... that colon should have been in the label actually;

$('#text').parent().after('<div><label for="comment-preview">Comment Preview</label>:</div><div id="comment-preview"></div>');


Patric Patric said:
Jan 25th, 2010 at 7:46 am

YES, I'm such an dumba**, thanks Matt.



Write a comment

* = required field

:

:

:

:

You may insert urls in plain text, urls will be automatically linkified for trusted users and on seasoned posts only. All first comments are moderated, so use your email if you want to be remembered.


Back to top