[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fpDR13iZLyO32c6KLiL35dr0C3cnlYuAnfoXp0CEV0Mg":3},{"slug":4,"display_name":4,"profile_url":5,"plugin_count":6,"total_installs":7,"avg_security_score":8,"avg_patch_time_days":9,"trust_score":10,"computed_at":11,"plugins":12},"francescolaffi","https:\u002F\u002Fprofiles.wordpress.org\u002Ffrancescolaffi\u002F",3,90,85,30,84,"2026-05-19T23:10:00.255Z",[13,37,52],{"slug":14,"name":15,"version":16,"author":4,"author_profile":5,"description":17,"short_description":18,"active_installs":19,"downloaded":20,"rating":21,"num_ratings":22,"last_updated":23,"tested_up_to":24,"requires_at_least":25,"requires_php":26,"tags":27,"homepage":32,"download_link":33,"security_score":8,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":36},"bp-album","BuddyPress Album","0.1.8.14","\u003Cp>This plugin adds full photo album capabilities to BuddyPress, mimicking Facebook’s photo app.\u003C\u002Fp>\n\u003Ch4>IMPORTANT\u003C\u002Fh4>\n\u003Cp>We only use wordpress.org to distribute the current STABLE version of the plugin. We do not support, answer questions, or accept bug reports through wordpress.org.\u003C\u002Fp>\n\u003Ch4>Latest Version\u003C\u002Fh4>\n\u003Cp>For the latest beta version, which is often 6 MONTHS ahead of the version posted on wordpress.org, please visit our \u003Ca href=\"http:\u002F\u002Fcode.google.com\u002Fp\u002Fbuddypress-media\u002F\" rel=\"nofollow ugc\">Google Code\u003C\u002Fa> project page.\u003C\u002Fp>\n\u003Ch4>Development Schedule\u003C\u002Fh4>\n\u003Cp>For a real-time view of our development schedule, please see our \u003Ca href=\"http:\u002F\u002Fbit.ly\u002Ff5zPJ9\" rel=\"nofollow ugc\">Pivotal Tracker\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>User Support\u003C\u002Fh4>\n\u003Cp>We handle all user support through our buddypress.org \u003Ca href=\"https:\u002F\u002Fbuddypress.org\u002Fcommunity\u002Fgroups\u002Fbp-album\u002Fforum\u002F\" rel=\"nofollow ugc\">Support Forum\u003C\u002Fa>. Support requests posted on wordpress.org will not be answered.\u003C\u002Fp>\n\u003Ch4>Bug Reports\u003C\u002Fh4>\n\u003Cp>We accept bug reports through our \u003Ca href=\"http:\u002F\u002Fcode.google.com\u002Fp\u002Fbuddypress-media\u002Fissues\u002Flist\" rel=\"nofollow ugc\">Google Code Bug Tracker\u003C\u002Fa>. Bug reports posted on wordpress.org will be ignored.\u003C\u002Fp>\n\u003Ch4>About This Release\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Fixes “Incorrect items displayed in user album view” defect\u003C\u002Fli>\n\u003Cli>Fixes “Warning: Missing argument 2 for wpdb::prepare()” in WP 3.5\u003C\u002Fli>\n\u003Cli>Fixes “Fatal error: Call to undefined function wp_create_thumbnail()” in WP 3.5 \u003C\u002Fli>\n\u003Cli>Updated the plugins internal version checker\u003C\u002Fli>\n\u003Cli>Updated strings in the admin menu and user screens for better clarity\u003C\u002Fli>\n\u003Cli>Added action hooks to allow integration with other plugins\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Resources\u003C\u002Fh4>\n\u003Cp>For the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FBP-Media\u002Fbp-media\u002Fcommits\u002Fmaster\" rel=\"nofollow ugc\">Latest News\u003C\u002Fa>, \u003Ca href=\"http:\u002F\u002Fcode.google.com\u002Fp\u002Fbuddypress-media\u002Fw\u002Flist\" rel=\"nofollow ugc\">Developer Resources\u003C\u002Fa>,\u003Cbr \u002F>\n\u003Ca href=\"http:\u002F\u002Fbit.ly\u002Ff5zPJ9\" rel=\"nofollow ugc\">Project Schedule\u003C\u002Fa>, \u003Ca href=\"http:\u002F\u002Fcode.google.com\u002Fp\u002Fbuddypress-media\u002Fwiki\u002FBuddyPressMediaFeaturesList\" rel=\"nofollow ugc\">Development Roadmap\u003C\u002Fa>,\u003Cbr \u002F>\nand \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FBP-Media\u002F\" rel=\"nofollow ugc\">GIT Code Repository\u003C\u002Fa>, please visit our \u003Ca href=\"http:\u002F\u002Fcode.google.com\u002Fp\u002Fbuddypress-media\u002F\" rel=\"nofollow ugc\">Official Plugin Website\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>it_IT (Italian)   by francescolaffi\u003C\u002Fli>\n\u003Cli>en_US (English)   by foxly\u003C\u002Fli>\n\u003Cli>es_ES (Spanish)   by Jose M. Villar & Selu Vega\u003C\u002Fli>\n\u003Cli>ja_JA (Japanese)  by chestnut_jp\u003C\u002Fli>\n\u003Cli>pl_PL (Polish)    by Jacek Wu\u003C\u002Fli>\n\u003Cli>ru_RU (Russian) by \u003Ca href=\"weblr.ru\" rel=\"nofollow ugc\">ig0r74\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>zh_CN (Chinese)   by Calvin Hsu\u003C\u002Fli>\n\u003Cli>de_DE (German) by Olaf Baumann\u003C\u002Fli>\n\u003Cli>fr_FR (French) by \u003Ca href=\"bp-fr.net\" rel=\"nofollow ugc\">Chouf1\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\n\u003Cp>hu_HU (Hungarian) by Baka Attila Tamás\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Please submit new or updated translations through our \u003Ca href=\"https:\u002F\u002Fbuddypress.org\u002Fcommunity\u002Fgroups\u002Fbp-album\u002Fforum\u002F\" rel=\"nofollow ugc\">Support Forum\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n","Photo Albums for BuddyPress. Includes Posts to Activity Stream, Member Comments, and Gallery Privacy Controls.",70,117927,68,10,"2012-12-15T13:08:00.000Z","3.5.2","3.5","",[28,29,14,30,31],"album","albums","buddypress","buddypress-media","http:\u002F\u002Fcode.google.com\u002Fp\u002Fbuddypress-media\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbp-album.0.1.8.14.zip",0,null,"2026-04-16T10:56:18.058Z",{"slug":38,"name":39,"version":40,"author":4,"author_profile":5,"description":41,"short_description":42,"active_installs":22,"downloaded":43,"rating":44,"num_ratings":45,"last_updated":46,"tested_up_to":26,"requires_at_least":26,"requires_php":26,"tags":47,"homepage":50,"download_link":51,"security_score":8,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":36},"bp-moderation","BuddyPress Moderation","0.1.7","\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.",26586,46,9,"2014-11-18T17:57:00.000Z",[30,48,49],"flagging","moderation","http:\u002F\u002Fbuddypress.org\u002Fcommunity\u002Fgroups\u002Fbp-moderation\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbp-moderation.0.1.7.zip",{"slug":53,"name":54,"version":55,"author":4,"author_profile":5,"description":56,"short_description":57,"active_installs":22,"downloaded":58,"rating":59,"num_ratings":60,"last_updated":61,"tested_up_to":26,"requires_at_least":26,"requires_php":26,"tags":62,"homepage":64,"download_link":65,"security_score":8,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":66},"bp-ninja","BuddyPress Ninja","0.2","\u003Cp>Site admins can use stealth mode so other users cannot see their last activity.\u003Cbr \u002F>\nStealth mode enable\u002Fdisable is in the admin bar.\u003C\u002Fp>\n","Site admins can use stealth mode to hide their last activity.",5470,60,2,"2011-09-19T18:59:00.000Z",[30,63],"stealth","http:\u002F\u002Fflweb.it","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbp-ninja.0.2.zip","2026-03-15T15:16:48.613Z"]