[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fZfzqUS_EQga3XxxqBXyOxXS9PjCs8VAQl0qJsgR5jz8":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":20,"download_link":21,"security_score":22,"vuln_count":11,"unpatched_count":11,"last_vuln_date":23,"fetched_at":24,"vulnerabilities":25,"developer":26,"crawl_stats":23,"alternatives":34,"analysis":135,"fingerprints":182},"reported-comments","Reported Comments","1.0","Jamel.Z","https:\u002F\u002Fprofiles.wordpress.org\u002Flebleut\u002F","\u003Cp>Reported Comments gives the ability for your sites user to report\u002Fflag a comment\u003Cbr \u002F>\nIt allows you as an administrator or moderator some essential options to specify :\u003Cbr \u002F>\n* The moderator Email\u003Cbr \u002F>\n* The report labels\u002Ftypes\u003Cbr \u002F>\n* The Email title\u003Cbr \u002F>\n* The Email template body (allowing HTML)\u003C\u002Fp>\n\u003Cp>In the E-Mail title and body you can use shortcodes\u002Fmodifiers like :\u003Cbr \u002F>\n* \u003Ccode>%comment%\u003C\u002Fcode> : The comment content\u003Cbr \u002F>\n* \u003Ccode>%comment_link%\u003C\u002Fcode> : The URL to the comment\u003Cbr \u002F>\n* \u003Ccode>%comment_author%\u003C\u002Fcode> : The comment author\u003Cbr \u002F>\n* \u003Ccode>%comment_author_email%\u003C\u002Fcode> : The email of the comment author\u003Cbr \u002F>\n* \u003Ccode>%comment_author_link%\u003C\u002Fcode> : The URL to the comment author\u003Cbr \u002F>\n* \u003Ccode>%comment_author_ip%\u003C\u002Fcode> : The IP of the comment author\u003Cbr \u002F>\n* \u003Ccode>%comment_action_trash%\u003C\u002Fcode> : The link to trash the comment\u003Cbr \u002F>\n* \u003Ccode>%comment_action_spam%\u003C\u002Fcode> : The link to spam the comment\u003Cbr \u002F>\n* \u003Ccode>%report_type%\u003C\u002Fcode> : The report type\u003Cbr \u002F>\n* \u003Ccode>%report_author%\u003C\u002Fcode> : The report author\u003Cbr \u002F>\n* \u003Ccode>%report_author_link%\u003C\u002Fcode> : The URL to the report author\u003Cbr \u002F>\n* \u003Ccode>%post%\u003C\u002Fcode> : The post name\u003C\u002Fp>\n\u003Cp>Your suggestions are welcome\u003C\u002Fp>\n","Reported Comments gives the ability for your sites user to report\u002Fflag a comment",0,929,"2020-05-12T21:56:00.000Z","5.4.19","4.7","7.0",[18,19],"flagging","report-comments","https:\u002F\u002Fwww.tooltipy.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Freported-comments.1.0.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":27,"display_name":7,"profile_url":8,"plugin_count":28,"total_installs":29,"avg_security_score":30,"avg_patch_time_days":31,"trust_score":32,"computed_at":33},"lebleut",4,1100,82,1367,66,"2026-04-03T19:58:00.929Z",[35,57,77,98,118],{"slug":36,"name":37,"version":38,"author":39,"author_profile":40,"description":41,"short_description":42,"active_installs":43,"downloaded":44,"rating":45,"num_ratings":46,"last_updated":47,"tested_up_to":48,"requires_at_least":49,"requires_php":50,"tags":51,"homepage":55,"download_link":56,"security_score":22,"vuln_count":11,"unpatched_count":11,"last_vuln_date":23,"fetched_at":24},"safe-report-comments","Safe Report Comments","0.4.1","Automattic","https:\u002F\u002Fprofiles.wordpress.org\u002Fautomattic\u002F","\u003Cp>This plugin gives your visitors the possibility to report a comment as inappropriate. After a set threshold is reached the comment is put into moderation where the moderator can decide whether or not he want to approve the comment or not. If a comment is approved by a moderator it will not be auto-moderated again while still counting the amount of reports.\u003C\u002Fp>\n\u003Ch3>Customizations\u003C\u002Fh3>\n\u003Cp>By default this script should hook in just fine in most existing themes as it attaches itsself after the comment-reply link via the comment_reply_link filter.\u003Cbr \u002F>\nIn case this does not work out you can place the flagging link manually by defining no_autostart_safe_report_comments in your themes’ functions.php file and initializing the class via \u003Ccode>$safe_report_comments = new Safe_Report_Comments(false);\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Here is an example of a custom setup via functions.php and placing the link comments callback function.\u003C\u002Fp>\n\u003Cp>In functions.php:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F\u002Fflag comments plugin included in themes' functions.php - disable plugin.\ndefine( 'no_autostart_safe_report_comments', true );\ninclude_once( 'replace-with-path-to\u002Fsafe-report-comments\u002Fsafe-report-comments.php');\n\u002F\u002F make sure not to auto-attach to comment reply link\n$safe_report_comments = new Safe_Report_Comments(false);\n\n\u002F\u002F change link layout to have a pipe prepended\nadd_filter( 'safe_report_comments_flagging_link', 'adjust_flagging_link' );\nfunction adjust_flagging_link( $link ) {\n    return ' | ' . $link;\n}\n\n\u002F\u002F adjust the text to \"Report abuse\" rather than \"Report comment\"\nadd_filter( 'safe_report_comments_flagging_link_text', 'adjust_flagging_text' );\nfunction adjust_flagging_text( $text ) {\n    return 'Report abuse';\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>In your custom comment callback function used by wp_list_comments: https:\u002F\u002Fcodex.wordpress.org\u002FTemplate_Tags\u002Fwp_list_comments place the following action which will print the link.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php do_action( 'comment_report_abuse_link' ); ?> \n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>A possible callback function could look like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>function mytheme_comment($comment, $args, $depth) {\n    $GLOBALS['comment'] = $comment; ?>\n    \u003Cli \u003C?php comment_class(); ?> id=\"li-comment-\u003C?php comment_ID() ?>\">\n        \u003Cdiv id=\"comment-\u003C?php comment_ID(); ?>\">\n            \u003Cdiv class=\"comment-author vcard\">\n                \u003C?php echo get_avatar($comment,$size='48',$default='\u003Cpath_to_url>' ); ?>\n                \u003C?php printf(__('\u003Ccite class=\"fn\">%s\u003C\u002Fcite> \u003Cspan class=\"says\">says:\u003C\u002Fspan>'), get_comment_author_link()) ?>\n            \u003C\u002Fdiv>\n            \u003C?php if ($comment->comment_approved == '0') : ?>\n            \u003Cem>\u003C?php _e('Your comment is awaiting moderation.') ?>\u003C\u002Fem>\n            \u003Cbr \u002F>\n        \u003C?php endif; ?>\n        \u003Cdiv class=\"comment-meta commentmetadata\">\u003Ca href=\"\u003C?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>\">\u003C?php printf(__('%1$s at %2$s'), get_comment_date(),  get_comment_time()) ?>\u003C\u002Fa>\u003C?php edit_comment_link(__('(Edit)'),'    ','') ?>\u003C\u002Fdiv>\n\n        \u003C?php comment_text() ?>\n\n        \u003Cdiv class=\"reply\">\n            \u003C?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>\n        \u003C\u002Fdiv>\n        \u003Cdiv class=\"report-abuse\">\n            \u003C?php do_action( 'comment_report_abuse_link' ); ?>\n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \u003C?php\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Furthermore there are various actions and filters within the script to allow easy alteration of implemented behavior. Please see inline documentation.\u003C\u002Fp>\n\u003Ch3>Known issues\u003C\u002Fh3>\n\u003Cp>Automatic mode implementation currently does not work with threaded comments in the last level of threading. As the script attaches itself to the comment_reply which is not displayed once the maximum threading level is reached the abuse link is missing at this point. As a workaround set the threading level higher than the likely amount of threading depth.\u003C\u002Fp>\n","This plugin gives your visitors the possibility to report a comment as inappropriate. After a set threshold is reached the comment is put into moderat &hellip;",200,27317,60,7,"2018-11-30T07:00:00.000Z","5.0.25","3.3","",[52,53,18,54,19],"comments","flag","report","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fsafe-report-comments\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsafe-report-comments.0.4.1.zip",{"slug":58,"name":59,"version":60,"author":61,"author_profile":62,"description":63,"short_description":64,"active_installs":43,"downloaded":65,"rating":66,"num_ratings":67,"last_updated":68,"tested_up_to":69,"requires_at_least":70,"requires_php":16,"tags":71,"homepage":75,"download_link":76,"security_score":66,"vuln_count":11,"unpatched_count":11,"last_vuln_date":23,"fetched_at":24},"zeno-report-comments","Zeno Report Comments","2.3.2","Marcel Pol","https:\u002F\u002Fprofiles.wordpress.org\u002Fmpol\u002F","\u003Cp>This plugin gives your visitors the possibility to report a comment as inappropriate. After a set threshold is reached the comment is put into moderation where the moderator can decide whether or not he want to approve the comment or not. If a comment is approved by a moderator it will not be auto-moderated again while still counting the amount of reports.\u003C\u002Fp>\n\u003Cp>This plugin is a fork of safe-report-comments and has some features incorporated from crowd-control (a different fork).\u003C\u002Fp>\n\u003Ch4>Compatibility\u003C\u002Fh4>\n\u003Cp>This plugin is compatible with \u003Ca href=\"https:\u002F\u002Fwww.classicpress.net\" rel=\"nofollow ugc\">ClassicPress\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Contributions\u003C\u002Fh4>\n\u003Cp>This plugin is also available in \u003Ca href=\"https:\u002F\u002Fcodeberg.org\u002Fcyclotouriste\u002Fzeno-report-comments\" rel=\"nofollow ugc\">Codeberg\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Known issues\u003C\u002Fh3>\n\u003Cp>Automatic mode implementation currently does not work with threaded comments in the last level of threading. As the script attaches itself to the comment_reply which is not displayed once the maximum threading level is reached the abuse link is missing at this point. As a workaround set the threading level higher than the likely amount of threading depth.\u003C\u002Fp>\n","This plugin gives your visitors the possibility to report a comment as inappropriate. After a set threshold the comment is put into moderation.",11875,100,8,"2026-01-10T09:34:00.000Z","6.9.4","4.1",[72,73,19,36,74],"crowd-control","flag-comments","spam-comment","https:\u002F\u002Fzenoweb.nl","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fzeno-report-comments.2.3.2.zip",{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":85,"downloaded":86,"rating":11,"num_ratings":11,"last_updated":87,"tested_up_to":69,"requires_at_least":88,"requires_php":89,"tags":90,"homepage":96,"download_link":97,"security_score":66,"vuln_count":11,"unpatched_count":11,"last_vuln_date":23,"fetched_at":24},"fake-user-detector","Fake User Detector","1.0.3","PluginRx","https:\u002F\u002Fprofiles.wordpress.org\u002Fapos37\u002F","\u003Cp>Fake User Detector helps WordPress site owners identify and flag suspicious user accounts after they have already registered.\u003C\u002Fp>\n\u003Cp>This plugin does not prevent or block registrations. Instead, it analyzes user data post-registration to highlight accounts that appear automated, fake, or low-quality, making it easier to review and remove them manually.\u003C\u002Fp>\n\u003Cp>Fake User Detector is designed as a cleanup and review tool, not a registration firewall. It works well alongside other plugins that handle CAPTCHA, email verification, honeypots, or other signup prevention techniques.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Post-Registration Analysis:\u003C\u002Fstrong> Evaluates user accounts after creation to identify suspicious patterns.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gibberish Detection:\u003C\u002Fstrong> Flags accounts with non-human patterns like too many uppercase letters, no vowels, or clusters of consonants.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Symbol and Number Filters:\u003C\u002Fstrong> Detects unnatural use of digits or special characters in names.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customizable Detection Rules:\u003C\u002Fstrong> Enable or disable individual checks to suit your site’s user base.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flag for Review:\u003C\u002Fstrong> Suspicious accounts are flagged and marked for potential deletion.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin Notice:\u003C\u002Fstrong> Quickly see how many flagged users exist from your admin area.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Scan Existing Users:\u003C\u002Fstrong> Scan the users admin list table for suspicious accounts so you can easily delete them.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gravity Forms Integration:\u003C\u002Fstrong> If using Gravity Forms User Registration, the plugin optionally runs validation checks on registrations submitted via forms.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Developer Hooks:\u003C\u002Fstrong> Add or customize detection logic with your own functions.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Detection Checks Include:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Manually flagged by admin\u003C\u002Fli>\n\u003Cli>Excessive uppercase letters (more than 5 in a name unless all caps)\u003C\u002Fli>\n\u003Cli>No vowels in names longer than 5 characters\u003C\u002Fli>\n\u003Cli>Six or more consecutive consonants in a name\u003C\u002Fli>\n\u003Cli>Presence of numbers in names\u003C\u002Fli>\n\u003Cli>Presence of special characters other than letters, numbers, and dashes\u003C\u002Fli>\n\u003Cli>Similarity between first and last name (exact match or one includes the other)\u003C\u002Fli>\n\u003Cli>Very short names (2 characters)\u003C\u002Fli>\n\u003Cli>Invalid or disposable email domains\u003C\u002Fli>\n\u003Cli>Excessive periods in email address (more than 3)\u003C\u002Fli>\n\u003Cli>Username containing URL patterns (\u003Ccode>http\u003C\u002Fcode>, \u003Ccode>https\u003C\u002Fcode>, or \u003Ccode>www\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>Known spam words in user bio or name\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Fake User Detector is ideal for membership sites, communities, forums, or any WordPress site that allows user registration and needs a practical way to review and clean up suspicious accounts that already exist.\u003C\u002Fp>\n","Detect and flag suspicious existing user accounts using simple checks to help clean up fake or low-quality registrations.",30,214,"2025-12-24T20:28:00.000Z","5.9","8.0",[91,92,93,94,95],"account-flagging","bot-detection","fake-users","spam","user-registration","https:\u002F\u002Fpluginrx.com\u002Fplugin\u002Ffake-user-detector\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffake-user-detector.1.0.3.zip",{"slug":72,"name":99,"version":100,"author":101,"author_profile":102,"description":103,"short_description":104,"active_installs":105,"downloaded":106,"rating":66,"num_ratings":107,"last_updated":108,"tested_up_to":109,"requires_at_least":110,"requires_php":50,"tags":111,"homepage":116,"download_link":117,"security_score":22,"vuln_count":11,"unpatched_count":11,"last_vuln_date":23,"fetched_at":24},"Crowd Control by Postmatic – Comment moderation decentralized","1.1","Postmatic","https:\u002F\u002Fprofiles.wordpress.org\u002Fvernal\u002F","\u003Cp>Crowd Control gives your users the ability to report comments as inappropriate with a single click. If a comment gets flagged multiple times it’ll be removed from the post and marked as pending moderation. We’ll even send you an email to let you know. Now you can still go away on vacation and rest assured the trolls won’t overrun your site.\u003C\u002Fp>\n","Comment moderation is a drag. Have your users lend a hand by flagging offensive comments and scrubbing your site clean.",20,7788,2,"2019-05-17T21:23:00.000Z","5.2.24","4.0",[112,18,113,114,115],"comment-moderation","inappropriate","moderation","reporting","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fcrowd-control\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcrowd-control.1.1.1.zip",{"slug":119,"name":120,"version":121,"author":122,"author_profile":123,"description":124,"short_description":125,"active_installs":126,"downloaded":127,"rating":128,"num_ratings":129,"last_updated":130,"tested_up_to":50,"requires_at_least":50,"requires_php":50,"tags":131,"homepage":133,"download_link":134,"security_score":22,"vuln_count":11,"unpatched_count":11,"last_vuln_date":23,"fetched_at":24},"bp-moderation","BuddyPress Moderation","0.1.7","francescolaffi","https:\u002F\u002Fprofiles.wordpress.org\u002Ffrancescolaffi\u002F","\u003Ch4>LATEST VERSION REQUIRE PHP 5.3+\u003C\u002Fh4>\n\u003Cp>Site admins can already edit or delete every content in a BP community, but\u003Cbr \u002F>\nanalyzing every content posted could be a crazy\u002Fimpossible work in big communities.\u003Cbr \u002F>\nThis plugin use crowdsourcing to help site admins finding contents to moderate.\u003C\u002Fp>\n\u003Cp>It adds links\u002Fbuttons to flag inappropriate user generated content in the site,\u003Cbr \u002F>\nso members can easily flag contents as inappropriate. Admins can then see all the\u003Cbr \u002F>\nreported contents in an organized table in the wp backend, order\u002Ffilter them and\u003Cbr \u002F>\ntake actions (ignore, delete, mark\u002Funmark the content author as spammer, …).\u003C\u002Fp>\n\u003Cp>Another table show members, how many posts from them have been reported\u002Fmoderated,\u003Cbr \u002F>\nhow many posts have they reported and moderated from admin. Here find bad\u002Fgood\u003Cbr \u002F>\nmembers and take action on them.\u003C\u002Fp>\n\u003Cp>Note on private messages:\u003Cbr \u002F>\n* private message sender: reporting this will flag the sender, not the thread, but the admin is not able to see the messages, effective against bulk spammer\u003Cbr \u002F>\n* private message: in this case a sender is reported in a specific thread, the admin can see the messages, more useful for moderation (eg k-12 communities)\u003Cbr \u002F>\nthe latter is a bit hackish and could be less solid on future bp upgrades, the first one is based on apis that should be more stable\u003C\u002Fp>\n\u003Cp>Use \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fbp-moderation\" rel=\"ugc\">support forum on wordpress.org\u003C\u002Fa>\u003Cbr \u002F>\nfor support and discussion.\u003C\u002Fp>\n\u003Cp>The default style uses one icon from http:\u002F\u002Fwww.famfamfam.com\u002Flab\u002Ficons\u002Fsilk\u002F\u003Cbr \u002F>\n(cc-by-2.5) and one from http:\u002F\u002Fdamieng.com\u002Fcreative\u002Ficons\u002Fsilk-companion-1-icons\u003Cbr \u002F>\n(cc-by-3.0), so if you use default style give credit to them somewhere in your site.\u003C\u002Fp>\n\u003Ch3>Moderator panel\u003C\u002Fh3>\n\u003Cp>You can access the backend panel from the “BP Moderation” link in your\u003Cbr \u002F>\nWordpress admin menu.\u003C\u002Fp>\n\u003Cp>There are three tabs on the top: “contents”, “users”, “settings”.\u003C\u002Fp>\n\u003Ch4>Contents view\u003C\u002Fh4>\n\u003Cp>In this view you can see the reported contents.\u003C\u002Fp>\n\u003Cp>Use the custom query filter\u002Forder contents.\u003C\u002Fp>\n\u003Cp>The contents table has three columns:\u003C\u002Fp>\n\u003Col>\n\u003Cli>info on the content author\u003C\u002Fli>\n\u003Cli>info on the content itself ( and link to take actions on it on mouseover )\u003C\u002Fli>\n\u003Cli>info on the flags on this content\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Users view\u003C\u002Fh4>\n\u003Cp>In this view you can see users that reported a content or users whom contents\u003Cbr \u002F>\nhave been reported.\u003C\u002Fp>\n\u003Cp>Use the custom query filter\u002Forder contents.\u003C\u002Fp>\n\u003Cp>The contents table has three columns:\u003C\u002Fp>\n\u003Col>\n\u003Cli>info on the user itself\u003C\u002Fli>\n\u003Cli>info on the contents generated by the user and flagged by others\u003C\u002Fli>\n\u003Cli>info on the contents generated by others and flagged by the user\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Hotkeys\u003C\u002Fh4>\n\u003Cp>You can enable and disable hotkeys with the link displayed under contents and users tables.\u003C\u002Fp>\n\u003Cp>I tried to make hotkeys similar wordpress comments table hotkeys, if you never\u003Cbr \u002F>\nused them, give a look to \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FKeyboard_Shortcuts\" rel=\"nofollow ugc\">this codex page\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>When a row is selected with hotkeys the possible keys will be shown next to the actions links.\u003C\u002Fp>\n\u003Cp>Hotkeys in both tables:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>j\u002Fk: moves down\u002Fup\u003C\u002Fli>\n\u003Cli>x: check current row for bulk actions\u003C\u002Fli>\n\u003Cli>shift+x: invert row selection\u003C\u002Fli>\n\u003Cli>c: direct contact selected user (or selected content author)\u003C\u002Fli>\n\u003Cli>s\u002Fu: mark as spammer selected user (or selected content author) \u002F unmark him\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Only in contents table:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>v: view content\u003C\u002Fli>\n\u003Cli>a: approve (ignore)\u003C\u002Fli>\n\u003Cli>e: edit\u003C\u002Fli>\n\u003Cli>m: mark as moderated\u003C\u002Fli>\n\u003Cli>d: delete\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Only in user table:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>b: see the contents generated by the selected user and flagged by others in the content view\u003C\u002Fli>\n\u003Cli>g: see the contents generated by others and flagged by the selected user in the content view\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Bulk hotkeys:\u003C\u002Fp>\n\u003Cp>Some keys can be triggered on all selected rows if pressed with shift.\u003Cbr \u002F>\nThose keys are s,u,a,m,d.\u003C\u002Fp>\n\u003Ch3>Integration guide\u003C\u002Fh3>\n\u003Cp>= Introduction =\u003Cbr \u002F>\nThis guide aims to explain how integrate bp-moderation with custom content types,\u003Cbr \u002F>\nwp\u002Fbp core content types are already covered by the plugin, but you can write your\u003Cbr \u002F>\nown custom content type definitions also for them.\u003C\u002Fp>\n\u003Cp>It’s important to understand how bp-moderation differentiate\u002Frecognize contents:\u003Cbr \u002F>\neach content have to be identified by an internal content type slug (you choose\u003Cbr \u002F>\nit in your custom content type definition) and one or two bigint ids.\u003C\u002Fp>\n\u003Cp>Decide a convention with 2 ids for your content type, is not something you can change\u003Cbr \u002F>\nlater. You have to call bp-moderation methods using always the same convention and\u003Cbr \u002F>\nbp-moderation will use the same one when referring to your contents.\u003Cbr \u002F>\nIf your contents are tied with the activity stream you already have chosen a convention\u003Cbr \u002F>\nfor primary and secondary ids, using the same convention you use with activities\u003Cbr \u002F>\nwill make things easier. If you only have one id use 0 for the secondary id.\u003C\u002Fp>\n\u003Ch4>Register a content type\u003C\u002Fh4>\n\u003Cp>The main entry point in bp-moderation is bpModeration::register_content_type(), it\u003Cbr \u002F>\nallows you to register a content type and has to be called at every page load.\u003C\u002Fp>\n\u003Cp>You’ll need to provide:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>a slug: used to differentiate between content types  (alfanumeric and underscore only)\u003C\u002Fli>\n\u003Cli>a label: human readable name of the content type (used in backend)\u003C\u002Fli>\n\u003Cli>some callbacks: called by bp-moderation to request information\u002Foperations on your contents\u003C\u002Fli>\n\u003Cli>activity types: the activity types that your content are posted on the activity stream with (if any)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Code sample\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>examples\u002FbpMod_ContentType_BlogPostExample.php is a code sample that shows\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>how to integrate content types with bp-moderation taking blog posts as an example,\u003Cbr \u002F>\nyou can also modify and adapt it to your content type.\u003C\u002Fp>\n\u003Cp>Other informations are in the doc of \u003Ccode>bpModeration::register_content_type()\u003C\u002Fcode> and\u003Cbr \u002F>\n    bpModFrontend::get_link(), those are most likely the only two bp-moderation\u003Cbr \u002F>\nmethods you need to use.\u003C\u002Fp>\n\u003Cp>All core content types are in bpModDefaultContentTypes.php, but they are hardcoded\u003Cbr \u002F>\nfor speed reasons, so don’t use them as an example.\u003C\u002Fp>\n\u003Ch4>Advanced integration with activities\u003C\u002Fh4>\n\u003Cp>If you use the same primary and secondary id convention for activities and bp-moderation\u003Cbr \u002F>\nyou only have to tell the activity types of your content when registering,\u003Cbr \u002F>\nbp-moderation is already hooked in the activity loop and will print the links\u003Cbr \u002F>\nfor your contents too.\u003C\u002Fp>\n\u003Cp>Instead if some reason you cat use the same convention or you want to customize\u003Cbr \u002F>\nthe activity loop flag button, you can use the filter\u003C\u002Fp>\n\u003Cpre>\u003Ccode>    bp_moderation_activity_loop_link_args_{the activity type}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>where \u003Ccode>{the activity type}\u003C\u002Fcode> is the activity type you’d like to filter.\u003Cbr \u002F>\nLook in \u003Ccode>bpModFrontend::activity_loop_link()\u003C\u002Fcode> to see what to filter.\u003C\u002Fp>\n\u003Ch4>Contents generated by non members\u003C\u002Fh4>\n\u003Cp>It’s possible to have contents generated by not members (e.g. blog comments).\u003Cbr \u002F>\nIf you have to provide a user id to bp-moderation give 0 for it, but you’ll also\u003Cbr \u002F>\nneed to filter author information for displaying them in backend table. Use the filter\u003C\u002Fp>\n\u003Cpre>\u003Ccode>    bp_moderation_author_details_for_{slug used in content type registration}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>to add missing info, look in \u003Ccode>bpModBackend::author_details()\u003C\u002Fcode> to see info needed.\u003C\u002Fp>\n\u003Ch4>OK I coded my custom content type, and now?\u003C\u002Fh4>\n\u003Cp>If you have coded a custom content type and you think that could be widely useful,\u003Cbr \u002F>\ncontact me and it could easily get included in the bp-moderation plugin.\u003C\u002Fp>\n\u003Cp>If you integrated your plugin and you prefer to keep the custom content type in\u003Cbr \u002F>\nyour plugin it’s fine, I guess is more convenient and you can update it together\u003Cbr \u002F>\nwith your plugin.\u003Cbr \u002F>\nRemember to check if bp-moderation is active before including unnecessary code\u003Cbr \u002F>\nor calling non-existing functions: safest way is to use the action \u003Ccode>bp_moderation_init\u003C\u002Fcode>\u003Cbr \u002F>\nfor including\u002Fregistering it.\u003C\u002Fp>\n\u003Cp>If none of the above this is the easier way to get a custom content type loaded:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>place your custom content type php file in \u003Ccode>wp-content\u002Fplugins\u002Fbp-moderation-content-types\u002F\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>copy this line in wp-config.php \u003Ccode>define('BPMOD_LOAD_CUSTOM_CONTENT_TYPES', true);\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Possible future content type system features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>differentiate between trash, untrash and delete, or maybe custom actions on content\u003C\u002Fli>\n\u003Cli>methods to be called when a content is edited\u002Ftrashed\u002Funtrashed\u002Fdeleted so bp-moderation\u003Cbr \u002F>\ncan display also what happen outside of it\u003C\u002Fli>\n\u003C\u002Ful>\n","Adds links\u002Fbuttons to flag inappropriate content and gives a convenient way to moderators to view reports and take actions.",10,26531,46,9,"2014-11-18T17:57:00.000Z",[132,18,114],"buddypress","http:\u002F\u002Fbuddypress.org\u002Fcommunity\u002Fgroups\u002Fbp-moderation\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbp-moderation.0.1.7.zip",{"attackSurface":136,"codeSignals":164,"taintFlows":175,"riskAssessment":176,"analyzedAt":181},{"hooks":137,"ajaxHandlers":160,"restRoutes":161,"shortcodes":162,"cronEvents":163,"entryPointCount":11,"unprotectedCount":11},[138,144,149,153,156],{"type":139,"name":140,"callback":141,"priority":126,"file":142,"line":143},"filter","comment_reply_link","filter_reply_link","inc\\class-comment-report.php",35,{"type":145,"name":146,"callback":147,"file":142,"line":148},"action","wp_enqueue_scripts","add_report_scripts",42,{"type":145,"name":150,"callback":150,"file":151,"line":152},"init","inc\\class-settings.php",12,{"type":145,"name":154,"callback":154,"file":151,"line":155},"admin_init",13,{"type":145,"name":157,"callback":158,"file":151,"line":159},"admin_menu","add_menu",14,[],[],[],[],{"dangerousFunctions":165,"sqlUsage":166,"outputEscaping":168,"fileOperations":11,"externalRequests":11,"nonceChecks":11,"capabilityChecks":11,"bundledLibraries":174},[],{"prepared":11,"raw":11,"locations":167},[],{"escaped":28,"rawEcho":169,"locations":170},1,[171],{"file":142,"line":172,"context":173},182,"raw output",[],[],{"summary":177,"deductions":178},"Based on the provided static analysis and vulnerability history, the \"reported-comments\" v1.0 plugin exhibits a strong security posture with no immediate critical risks detected.\n\nThe static analysis reveals an extremely limited attack surface, with zero AJAX handlers, REST API routes, shortcodes, or cron events identified. Furthermore, the absence of dangerous functions, raw SQL queries, file operations, and external HTTP requests is highly commendable. The presence of 100% prepared statements for SQL queries further strengthens its security. While 20% of output is not properly escaped, this is a minor concern given the limited attack surface and lack of other vulnerabilities. The taint analysis shows zero flows, indicating no observable paths for malicious input to lead to exploitable conditions.\n\nThe vulnerability history is also clean, with zero known CVEs, patched or unpatched. This suggests a history of secure development or a lack of targeted attacks, which is positive. The plugin's strengths lie in its minimal attack surface and the responsible use of prepared statements for database interactions. The primary area for potential improvement is ensuring all output is properly escaped to eliminate any potential for cross-site scripting (XSS) vulnerabilities, however minor the risk might be with the current configuration.",[179],{"reason":180,"points":28},"Unescaped output detected","2026-03-17T06:42:47.485Z",{"wat":183,"direct":190},{"assetPaths":184,"generatorPatterns":187,"scriptPaths":188,"versionParams":189},[185,186],"\u002Fwp-content\u002Fplugins\u002Freported-comments\u002Fassets\u002Fscript.js","\u002Fwp-content\u002Fplugins\u002Freported-comments\u002Fassets\u002Fstyle.css",[],[185],[],{"cssClasses":191,"htmlComments":197,"htmlAttributes":198,"restEndpoints":202,"jsGlobals":204,"shortcodeOutput":207},[192,193,194,195,196],"comment-report-flag","comment-report-flag__icon","comment-report-flag__options","comment-report-flag__options__action","comment-report-sent",[],[199,200,201],"data-comment","data-user","data-action",[203],"\u002Fwp-ajax.php",[205,206],"ajaxurl","reported_comments_msgs",[]]