Info
- 12 posts
- 4 voices
- Started 4 years ago by _ck_
- Latest reply from _ck_
- This topic is not resolved
plugin idea: "report this post"
-
- Posted 4 years ago #
I'm gonna need this one in a hurry so if there's nothing similar in existance, looks like I have a weekend project.
For now I'm going to keep it simple, add a text link somewhere in the template and that will popup a javascript query for a description why it should be moderated and then an email will be fired off to the admin. What I really want it to do is create a new post in the moderator forum so one of the mods will see it and take action, but that might have to wait until the next version.
Am I the only one (other than the few documented examples) who's using bbpress for something other than a micro-forum and needs these kinds of tools?
ps. the examples page needs to be updated, over 200,000 registered members now
-
- Posted 4 years ago #
It might not be what you are working on, but all the major forums that I use have users tag threads as "modlook" to do this very thing and that is what I want users to do on this forum.
Trent
-
- Posted 4 years ago #
Interesting, but I want something more direct.
Actually, I have a working prototype now and will post a very early beta in an hour or so.
-
- Posted 4 years ago #
And a report post plugin is born - tested working!
Needs a few features but gets the job done for now:<?php /* Plugin Name: report post Description: allows members to report a post to admin/moderators Plugin URI: http://CKon.wordpress.com Author: _ck_ Author URI: http://CKon.wordpress.com Version: 0.1 */ /* instructions: install, activate and put <? report_post_link(); ?> in your post.php template where you want the link to be seen optional in stylesheet: a.report_post {color:red;} todo: 1. don't let them report more than once on a post - or more than too many times per minute/hour 2. auto-delete post if more than x reports from different members 3. auto-post report into a specified moderator's forum # 4. maybe ajax xmlhttp call instead of real form post so there's no page movement 5. it's technically possible to alert a browing mod with a popup directing to the reported post, no email needed */ function report_post_link($post_id=0) { if (bb_current_user_can('participate') ) : $post_id= get_post_id( $post_id ); if (get_post_author_id($post_id) != bb_get_current_user_info( 'id' )) { echo '<a class=report_post title="report post to moderator" href="#post-'.$post_id.'" onClick="report_post('.$post_id.');return false;">Report</a>'; } endif; } function report_post_form() { if (bb_current_user_can('participate')) : if (isset($_POST['report_post_id']) && isset($_POST['report_post_reason'])) { echo '<scr'.'ipt type="text/javascript">alert("Thank you for the report. A moderator has been notified.");</scr'.'ipt>'; $post_id=intval($_POST['report_post_id']); // todo: custom response if invalid id, problem sending email - maybe flush output buffer so member gets alert faster $to = bb_get_option('admin_email'); $subject = " reported post by member for moderation"; $headers = "From: ".bb_get_option('admin_email'); $message ="report by: ".bb_get_current_user_info( 'name' )." (".bb_get_current_user_info( 'id' ).") email: ".bb_get_current_user_info( 'email' )."\r\n\r\n"; $message.="report: ".wordwrap(strip_tags(substr($_POST['report_post_reason'],0,255)),70)."\r\n\r\n".get_post_link($post_id)."\r\n"; $message.="post by: ". get_post_author($post_id)."\r\n"; // add "member since", total posts, blah blah $message.="\r\n\r\nReport Trace:\r\n"; $message.="IP: ".$_SERVER['REMOTE_ADDR']."\r\n"; $message.="Host: ".gethostbyaddr($_SERVER['REMOTE_ADDR'])."\r\n"; // useful but can add a few seconds $message.="Agent: ".$_SERVER['HTTP_USER_AGENT']."\r\n"; $message.="Refer: ". $_REQUEST['refer']."\r\n"; $message.="URL: http://".$_SERVER'HTTP_HOST'.$GLOBALS"HTTP_SERVER_VARS""REQUEST_URI"."\r\n"; mail( $to, $subject, $message,$headers); } echo '<form method="POST" name="report_post_form" id="report_post_form" style="display:none;visibility:hidden"><input type=hidden name="report_post_id"><input type=hidden name="report_post_reason"></form>'; echo '<scr'.'ipt type="text/javascript"> function report_post(post_id) { var report_post_reason = prompt("Please enter a short but descriptive reason why a moderator needs to review this post:", ""); if (report_post_reason && report_post_reason.length>9) { document.report_post_form.report_post_id.value=post_id; document.report_post_form.action="#post-"+post_id; document.report_post_form.report_post_reason.value=report_post_reason; document.report_post_form.submit(); } else {alert("report cancelled, incomplete description"); } } </scr'.'ipt>'; endif; } add_action('bb_foot', 'report_post_form'); ?> -
- Posted 4 years ago #
Coming soon:
don't allow reports on moderators don't allow reports from members less than x days old security check if user is in the right topic for the post being reported -
- Posted 4 years ago #
hum i upload it and active it and insert <? report_post_link(); ?> in post but nothing apeaer .8.2.1
what is the problem? -
- Posted 4 years ago #
Sorry I didn't see your bug report until just now.
I am working on this tonight and will have a working version posted soon (including translation hooks for you).
-
- Posted 4 years ago #
I've tested this now up to the bbpress trunk and it seems to work fine.
Try the latest:
http://bbpress.org/plugins/download/report-post.zipMake sure you are editing post.php in your bb-templates or my-templates?
Unfortunately there is no hook for me to place it automatically in post.php on that info line. Wish there was.
-
- Posted 4 years ago #
It's working for me...
I think the problem mazdakam is having is that moderators won't see the link... you have to login as a regular user.
Which is the correct behavior, of course.
-
- Posted 4 years ago #
Moderators do see the link, you just don't see it on your own posts, there's no point in reporting yourself, LOL!
-
- Posted 4 years ago #
Ohhhhh
My test site has nothing but posts from me, no wonder I didn't see it =)
And to answer your question at the very top of this thread, I'm trying to use bbPress for a serious forum... I just opened my forum a little over a week ago. Not as much traffic as I'd like, of course, but decent.
-
- Posted 4 years ago #
Yeah you should always create a non-moderator test user to see how other things interact compared to mod/admin. It's important to see what's hidden from regular members and sometimes admin can do things we take for granted that regular members cannot (ie. like my admin-can-post-anything plugin)
-
You must log in to post.