[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$foVaSKh184jN0waCYZH503jNXcYFTsg9Y9IjgxJMwdp8":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":39,"analysis":140,"fingerprints":509},"bp-registration-options","Registration Options for BuddyPress","4.4.5","Brian Messenlehner","https:\u002F\u002Fprofiles.wordpress.org\u002Fmessenlehner\u002F","\u003Cp>Prevent users and bots from accessing the BuddyPress or bbPress areas of your website(s) until they are approved.\u003C\u002Fp>\n\u003Cp>This BuddyPress extension allows you to enable user moderation for new members, as well as help create a private network for your users. If moderation is enabled, any new members will be denied access to your BuddyPress and bbPress areas on your site, with the exception of their own user profile. They will be allowed to edit and configure that much. They will also not be listed in the members lists on the frontend until approved. Custom messages are available so you can tailor them to the tone of your website and community. When an admin approves or denies a user, email notifications will be sent to let them know of the decision.\u003C\u002Fp>\n\u003Cp>Requires BuddyPress version 1.7 or higher and bbPress 2.0 or higher.\u003C\u002Fp>\n\u003Ch3>General Data Protection Regulation\u003C\u002Fh3>\n\u003Cp>BuddyPress Registration Options temporarily stores user IP addresses as user meta to help validate and vet pending users. Saved IP values are deleted upon both approval and denial of pending user. No other personal data is recorded.\u003C\u002Fp>\n","Moderate new BuddyPress members and fight BuddyPress spam.",1000,175480,88,33,"2023-03-05T15:26:00.000Z","6.0.11","5.2","5.6",[20,21,22,23,24],"admin","buddypress","groups","moderation","registration","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbp-registration-options.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":27,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"messenlehner",2,1010,30,84,"2026-04-03T17:40:20.727Z",[40,60,79,96,116],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":50,"num_ratings":51,"last_updated":52,"tested_up_to":53,"requires_at_least":54,"requires_php":25,"tags":55,"homepage":58,"download_link":59,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"buddypress-registration-groups-1","BuddyPress Registration Groups","1.2.1","hardlyneutral","https:\u002F\u002Fprofiles.wordpress.org\u002Fhardlyneutral\u002F","\u003Cp>This plugin is built to display BuddyPress groups on the new user registration page. Groups can be displayed as:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>a list of checkboxes\u003C\u002Fli>\n\u003Cli>a list of checkboxes in a scrollable container\u003C\u002Fli>\n\u003Cli>a list of radio buttons\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>New users will automatically join any of the groups selected during the registration process.\u003C\u002Fp>\n\u003Cp>Options are available in the admin area to configure the title of the groups list on the registration page, the\u003Cbr \u002F>\ndescription of the groups list, whether private groups are visible to new users, the order in which groups are\u003Cbr \u002F>\ndisplayed, and how many groups will be visible.\u003C\u002Fp>\n\u003Ch3>Custom Styles\u003C\u002Fh3>\n\u003Cp>This plugin includes specific CSS for changing the way content is displayed. The default CSS will place the group after the “Profile Details” section and before the “Complete Sign Up” button on the register page. You can view \u003Ccode>includes\u002Fstyles.css\u003C\u002Fcode> in this plugin directory to see how to target each element.\u003C\u002Fp>\n\u003Cp>Here is a list of the current selectors used in \u003Ccode>includes\u002Fstyles.css\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Groups section:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>#registration-groups-section {\n    float: right;\n    width: 48%;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Checkboxes:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>.reg_groups_group_checkbox {\n    margin: 0 5px 0 0;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Form labels:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>#buddypress .standard-form label.reg_groups_group_label,\n.reg_groups_group_label {\n    display: inline;\n    font-weight: normal;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Groups section – responsive:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>@media only screen and (max-width: 480px) {\n    #registration-groups-section {\n        float: none;\n        width: 100%;\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>List items:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>.reg_groups_item {\n    list-style: none;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>No groups message:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>.reg_groups_none {\n    font-style: italic;\n    color: gray;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Multiselect:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>.reg_groups_list_multiselect {\n    height: 8em;\n        border: 1px solid #ccc;\n        background: #fafafa;\n        padding: 6px;\n    overflow: auto;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Allows a new BuddyPress user to select groups to join during the registration process.",100,38567,98,7,"2018-02-04T16:31:00.000Z","4.9.29","3.7.1",[56,21,22,57,24],"autojoin","multisite","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbuddypress-registration-groups-1\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbuddypress-registration-groups-1.Release_1.2.1.zip",{"slug":61,"name":62,"version":63,"author":64,"author_profile":65,"description":66,"short_description":67,"active_installs":68,"downloaded":69,"rating":28,"num_ratings":28,"last_updated":70,"tested_up_to":71,"requires_at_least":25,"requires_php":25,"tags":72,"homepage":76,"download_link":77,"security_score":78,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"bp-devolved-authority","BP Devolved Authority","1.2.0","Venutius","https:\u002F\u002Fprofiles.wordpress.org\u002Fvenutius\u002F","\u003Cp>BP Devolved Authority allows site administrators to devolve the ability to manage Groups, Activity, Members and Emails to other site members. For Xprofile information, you can also give specific individuals the ability to edit the xprofile fields for one or more named individuals.\u003C\u002Fp>\n\u003Cp>BuddyPress has not traditionally allowed site administrators to grant authority to manage aspect of BuddyPress to users without ‘manage_options’ capability. This plugin changes that and allows each of the BP Components to be managed by site members so long as they have the ‘edit_posts’ capability.\u003C\u002Fp>\n\u003Cp>Note that roles allowed to manage members should also have the ‘list_users’ capability, this allows the users list menu item to be displayed in the dashboard for that member.\u003C\u002Fp>\n\u003Cp>The  new feature – individual xprofile management delegation, creates a simple, secure delegation system whereby a privileged user (such as an administrator) can assign other registered BuddyPress members to be “delegates” for a given user. A delegate has the capability to view and edit Extended Profile (XProfile) fields for the delegated user. This is useful on sites where certain relationships exist between one user and another, such as legal guardianship by an adult over a child. Using delegation reduces the need to share passwords or log in to shared accounts.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Roles and capabilities for the delegated xprofile feature\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This plugin uses the built-in capabilities system as part of WordPress core, along with core BuddyPress hooks (\u003Ccode>bp_current_user_can\u003C\u002Fcode>) to check for appropriate permissions, making it both simple to customize and as secure as WP and BP core code. The custom capabilities are:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>edit_user_delegates\u003C\u002Fcode> – Users with this capability can assign delegates for users they can edit (determined by \u003Ccode>edit_users\u003C\u002Fcode>).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Additionally, the following core capabilities are required:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>list_users\u003C\u002Fcode> – The delegation options implicitly enumerate all registered users, so a user must also have the \u003Ccode>list_users\u003C\u002Fcode> capability to be granted access to the Delegation user interface.\u003C\u002Fli>\n\u003Cli>\u003Ccode>edit_users\u003C\u002Fcode> – If you cannot \u003Ccode>edit_users\u003C\u002Fcode>, you cannot \u003Ccode>edit_user_delegates\u003C\u002Fcode>, either.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>When this option is enabled, the admin can go to the users extended profile tab from the Dashboard>>Users list and choose to delegate authority over the xprofile data to another site member. That site member will then find in their Dashboard>>Users menu and option to see a list of “Devolved Profiles”.\u003C\u002Fp>\n\u003Cp>Once the plugin is activated, visit the Settings>>BP Devolved Authority page to choose which roles can manage your BP Components.\u003C\u002Fp>\n\u003Cp>This plugin needs BuddyPress to work.\u003C\u002Fp>\n","This plugin allows key aspects of BuddyPress administration to be devolved to non admin users.",20,2937,"2024-07-29T05:05:00.000Z","6.6.5",[73,74,21,75,22],"administrator","bp_moderate","devolved-authority","https:\u002F\u002Fbuddyuser.com\u002Fplugin-bp-devolved-authority","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbp-devolved-authority.1.2.0.zip",92,{"slug":80,"name":81,"version":82,"author":83,"author_profile":84,"description":85,"short_description":86,"active_installs":87,"downloaded":88,"rating":28,"num_ratings":28,"last_updated":89,"tested_up_to":25,"requires_at_least":25,"requires_php":25,"tags":90,"homepage":94,"download_link":95,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"bp-fadmin","BuddyPress Frontend Admin","0.3","D Cartwright","https:\u002F\u002Fprofiles.wordpress.org\u002Faekeron\u002F","\u003Cp>Included component allows group admins to easily promote\u002Fdemote\u002Fban members from all their groups.\u003C\u002Fp>\n\u003Cp>It can be further extended using the standard buddypress profile subnav registration functions (for example, the bp-wiki plugin hooks into this to enable movement of wiki pages between groups).\u003C\u002Fp>\n","This plugin brings site-wide-like administration options to the frontend, allowing group admins simpler management of all of their groups.",10,5752,"2010-12-10T12:41:00.000Z",[91,21,92,22,93],"administration","frontend","members","http:\u002F\u002Fnamoo.co.uk","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbp-fadmin.zip",{"slug":97,"name":98,"version":99,"author":100,"author_profile":101,"description":102,"short_description":103,"active_installs":11,"downloaded":104,"rating":105,"num_ratings":106,"last_updated":107,"tested_up_to":71,"requires_at_least":108,"requires_php":109,"tags":110,"homepage":114,"download_link":115,"security_score":78,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"buddypress-group-email-subscription","BuddyPress Group Email Subscription","4.2.4","Boone Gorges","https:\u002F\u002Fprofiles.wordpress.org\u002Fboonebgorges\u002F","\u003Cp>This powerful plugin allows users to receive email notifications of group activity. Weekly or daily digests are available. Each user can choose how they want to subscribe to their groups.\u003C\u002Fp>\n\u003Cp>Please note that this plugin requires BuddyPress, as well as the BuddyPress Groups and Activity components.\u003C\u002Fp>\n\u003Cp>EMAIL SUBSCRIPTION LEVELS\u003Cbr \u002F>\nThere are 5 levels of email subscription options:\u003C\u002Fp>\n\u003Col>\n\u003Cli>No Email – Read this group on the web\u003C\u002Fli>\n\u003Cli>Weekly Summary Email – A summary of new topics each week\u003C\u002Fli>\n\u003Cli>Daily Digest Email – All the day’s activity bundled into a single email\u003C\u002Fli>\n\u003Cli>New Topics Email – Send new topics as they arrive (but don’t send replies)\u003C\u002Fli>\n\u003Cli>All Email – Send all group activity as it arrives\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>DEFAULT SUBSCRIPTION STATUS\u003Cbr \u002F>\nGroup admins can choose one of the 5 subscription levels as a default that gets applied when new members join.\u003C\u002Fp>\n\u003Cp>DIGEST AND SUMMARY EMAILS\u003Cbr \u002F>\nThe daily digest email is sent every morning and contains all the emails from all the groups a user is subscribed to. The digest begins with a helpful topic summary. The weekly summary email contains the topic titles from the past week by default. Summary and digest timing can be configured in the back end. (The admin can view a sample of the digests and summaries in the queue by going adding this to your url: mydomain.com\u002Fsum=1. This won’t send emails just show what will be sent)\u003C\u002Fp>\n\u003Cp>HTML EMAILS\u003Cbr \u002F>\nThe digest and summary emails are sent out in multipart HTML and plain text email format. This makes the digest much more readable with better links. The email is multipart so users who need only plain text will get plain text.\u003C\u002Fp>\n\u003Cp>EMAILS FOR TOPICS I’VE STARTED OR COMMENTED ON (only available with BuddyPress legacy discussion forums)\u003Cbr \u002F>\nUsers receive email notifications when someone replies to a topic they create or comment on (similar to Facebook). This happens whether they are subscribed or not. Users can control this behaviour in their notifications page.\u003C\u002Fp>\n\u003Cp>TOPIC FOLLOW AND MUTE (only available with BuddyPress legacy discussion forums)\u003Cbr \u002F>\nUsers who are not fully subscribed to a group (ie. maybe they are on digest) can choose to get immediate email updates for specific topic threads. Any subsequent replies to that thread will be emailed to them. In an opposite way, users who are fully subscribed to a group but want to stop getting emails from a specific (perhaps annoying) thread can choose to mute that topic.  bbPress plugin users can utilize the “Subscribe” \u002F “Notify me of follow-up replies via email” option.\u003C\u002Fp>\n\u003Cp>ADMIN NOTIFICATION\u003Cbr \u002F>\nGroup admins can send out an email to all group members from the group’s admin section. This feature is helpful to quickly communicate to the whole group, but it should be used with caution.\u003C\u002Fp>\n\u003Cp>GROUP ADMINS CAN SET SUBSCRIPTION LEVEL\u003Cbr \u002F>\nGroup admins can set the subscription level for existing users on the group’s “Admin > Manage Members” page – either one by one or all at once.\u003C\u002Fp>\n\u003Cp>SPAM PROTECTION\u003Cbr \u002F>\nTo protect against spam, you can set a minimum number of days users need to be registered before their group activity will be emailed to other users. This feature is off by default, but can be enabled in the admin.\u003C\u002Fp>\n\u003Cp>TRANSLATORS\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Brazilian Portuguese – www.about.me\u002Fdennisaltermann (or www.congregacao.net)\u003C\u002Fli>\n\u003Cli>Catalan – Sara Arjona Téllez\u003C\u002Fli>\n\u003Cli>Danish – Morten Nalholm\u003C\u002Fli>\n\u003Cli>Dutch – Anja werkgroepen.net\u002Fwordpress, Tim de Hoog\u003C\u002Fli>\n\u003Cli>Farsi – Vahid Masoomi http:\u002F\u002Fwww.AzUni.ir\u003C\u002Fli>\n\u003Cli>French – http:\u002F\u002Fwww.claudegagne-photo.com, Sylvain Ghysens\u003C\u002Fli>\n\u003Cli>German – Peter Peterson, Thorsten Wollenhöfer, Jörg Lohrer\u003C\u002Fli>\n\u003Cli>Hebrew – Iggy Pritzker\u003C\u002Fli>\n\u003Cli>Italian – Stefano Russo\u003C\u002Fli>\n\u003Cli>Japanese – https:\u002F\u002Fbuddypress.org\u002Fcommunity\u002Fmembers\u002Fchestnut_jp\u002F\u003C\u002Fli>\n\u003Cli>Lithuanian – Vincent G http:\u002F\u002Fwww.Host1Free.com\u003C\u002Fli>\n\u003Cli>Russian – http:\u002F\u002Fwww.viaestvita.net\u002Fgroups\u002F\u003C\u002Fli>\n\u003Cli>Spanish – Williams Castillo, Gregor Gimmy\u003C\u002Fli>\n\u003Cli>Swedish – Thomas Schneider, Joakim Hising\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>NOTE TO PLUGIN AUTHORS\u003Cbr \u002F>\nIf your plugin posts updates to the standard BuddyPress activity stream, then group members who are subscribed via 3. Daily Digest and 5. All Email will get your updates automatically. However people subscribed as 2. Weekly Summary and 4. New Topic will not. If you feel some of your plugin’s updates are very important and want to make sure all subscribed members receive them, you can filter ‘ass_this_activity_is_important’ and return TRUE when $type matches your activity. See the ass_this_activity_is_important() function in bp-activity-subscription-functions.phpfor more info.\u003C\u002Fp>\n\u003Cp>PLUGIN SUPPORTERS:\u003Cbr \u002F>\nMajor supporters: shambhalanetwork.org & commons.gc.cuny.edu\u003Cbr \u002F>\nOther supporters: bluedotproductions.com\u003C\u002Fp>\n\u003Cp>PLUGIN DEVELOPMENT\u003Cbr \u002F>\nFor bug reports or to add patches or translation files, please visit the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fboonebgorges\u002Fbuddypress-group-email-subscription\u002F\" rel=\"nofollow ugc\">GES Github page\u003C\u002Fa>.  Contributions are definitely welcome!\u003C\u002Fp>\n","This powerful plugin allows users to receive email notifications of group activity. Weekly or daily digests are available.",230356,80,32,"2024-10-04T14:35:00.000Z","3.2","5.3",[111,112,113,21,22],"activities","activity","bp","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fbuddypress-group-email-subscription\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbuddypress-group-email-subscription.4.2.4.zip",{"slug":117,"name":118,"version":119,"author":120,"author_profile":121,"description":122,"short_description":123,"active_installs":11,"downloaded":124,"rating":125,"num_ratings":126,"last_updated":127,"tested_up_to":128,"requires_at_least":129,"requires_php":25,"tags":130,"homepage":135,"download_link":136,"security_score":137,"vuln_count":138,"unpatched_count":28,"last_vuln_date":139,"fetched_at":30},"dynamic-user-directory","Dynamic User Directory","2.4","Sarah Giles","https:\u002F\u002Fprofiles.wordpress.org\u002Fsarah_dev\u002F","\u003Cp>This lightweight yet powerful and feature-rich plugin creates a user directory displaying the pre-existing user meta information you specify. It can show avatars, social icons, mailing address, email address, website, phone, or any other user meta information you wish. It is also fully compatible with BuddyPress, S2Member, and Cimy User Extra Fields plugins.\u003C\u002Fp>\n\u003Ch4>Current Features\u003C\u002Fh4>\n\u003Cp>The best thing about Dynamic User Directory is the high degree of control you have over the content, formatting, and style. This allows you to create a highly customized directory and integrate it seamlessly into your WordPress theme. The intuitive backend settings interface is designed to help you get your directory up and running quickly. Features include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Compatible with BuddyPress Extended Profile, S2Member Custom Fields, Cimy User Extra Fields, and many other membership plugins\u003C\u002Fli>\n\u003Cli>Multisite compatible for sites that centrally manage the plugin’s data\u003C\u002Fli>\n\u003Cli>Sort by user last name or user display name \u003C\u002Fli>\n\u003Cli>Specify which user meta fields to display (up to 10)\u003C\u002Fli>\n\u003Cli>Hide users with specified user roles\u003C\u002Fli>\n\u003Cli>Include or exclude specific users\u003C\u002Fli>\n\u003Cli>Optionally hyperlink the user name and avatar to their WP author page or BuddyPress profile page\u003C\u002Fli>\n\u003Cli>Enjoy a fully responsive display for smaller screen sizes\u003C\u002Fli>\n\u003Cli>Optionally show a search box to quickly locate a user\u003C\u002Fli>\n\u003Cli>Optionally show pagination to reduce page load times\u003C\u002Fli>\n\u003Cli>Search by any user meta field with the Meta Fields Search add-on\u003C\u002Fli>\n\u003Cli>Create multiple directory instances with the Multiple Directories add-on\u003C\u002Fli>\n\u003Cli>Hide the directory until a search is run with the Hide Directory Before Search add-on\u003C\u002Fli>\n\u003Cli>Show directory listings in a table format with the Horizontal Layout add-on \u003C\u002Fli>\n\u003Cli>Sort by any custom meta field (instead of just last name) with the Custom Sort Field add-on\u003C\u002Fli>\n\u003Cli>Exclude users based on a custom meta field such as an “Opt out of Directory” option with the Exclude User Filter add-on\u003C\u002Fli>\n\u003Cli>Export full directory or just search results to CSV file with the Export add-on\u003C\u002Fli>\n\u003Cli>Show\u002Fhide WordPress avatars\u003C\u002Fli>\n\u003Cli>Show custom avatars where the img URL is stored in a meta field with the Custom Avatar add-on\u003C\u002Fli>\n\u003Cli>Set avatar style (circle, rounded edges, or standard) and size\u003C\u002Fli>\n\u003Cli>Show\u002Fhide listing border\u003C\u002Fli>\n\u003Cli>Set listing border style, color, length, and thickness\u003C\u002Fli>\n\u003Cli>Control font size of all text displayed\u003C\u002Fli>\n\u003Cli>Set the display order of each field\u003C\u002Fli>\n\u003Cli>Control space between alphabet letter links\u003C\u002Fli>\n\u003Cli>Control space between each directory listing\u003C\u002Fli>\n\u003Cli>Choose between showing all users or filtering by selected alphabet letter\u003C\u002Fli>\n\u003Cli>Hyperlink almost any user meta field\u003C\u002Fli>\n\u003Cli>Choose from a variety of field display formats, including phone number, comma delimited lists, & dates\u003C\u002Fli>\n\u003Cli>Display social media link icons (choose from two different icon styles)\u003C\u002Fli>\n\u003Cli>Display address fields as a formatted mailing address\u003C\u002Fli>\n\u003Cli>Display directory totals\u003C\u002Fli>\n\u003Cli>Check out upcoming features \u003Ca href=\"https:\u002F\u002Fsgcustomwebsolutions.com\u002Fplanned-features\u002F\" rel=\"nofollow ugc\">here\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Add-Ons\u003C\u002Fh4>\n\u003Cp>There are is a growing library of powerful Dynamic User Directory add-ons available \u003Ca href=\"https:\u002F\u002Fsgcustomwebsolutions.com\u002Fwordpress-plugin-development\u002F\" rel=\"nofollow ugc\">here\u003C\u002Fa> to enhance and extend your directory.\u003C\u002Fp>\n\u003Ch4>Your Feedback is Valuable!\u003C\u002Fh4>\n\u003Cp>If this plugin benefits your website, please take a moment to say thanks by leaving a positive rating and\u002For review. Did you find a bug? Let me know and I’ll fix it ASAP. Have suggestions for improvement? Don’t hesitate to email me with your thoughts. Thanks so much!\u003C\u002Fp>\n\u003Ch3>Troubleshooting\u003C\u002Fh3>\n\u003Cp>The DUD troubleshooting guide can be found \u003Ca href=\"https:\u002F\u002Fsgcustomwebsolutions.com\u002Fdud-troubleshooting\u002F\" rel=\"nofollow ugc\">here\u003C\u002Fa>\u003C\u002Fp>\n","Powerful and feature-rich user directory based on user profile meta fields.",83365,96,38,"2025-11-11T14:53:00.000Z","6.8.5","3.0.1",[21,131,132,133,134],"member-directory","memberpress","user-directory","user-registration","http:\u002F\u002Fsgcustomwebsolutions.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdynamic-user-directory.2.4.zip",99,1,"2025-10-21 00:00:00",{"attackSurface":141,"codeSignals":393,"taintFlows":454,"riskAssessment":499,"analyzedAt":508},{"hooks":142,"ajaxHandlers":389,"restRoutes":390,"shortcodes":391,"cronEvents":392,"entryPointCount":28,"unprotectedCount":28},[143,149,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211,216,218,222,227,229,231,235,239,243,247,251,254,257,260,263,267,270,273,276,279,282,285,288,291,294,297,301,305,309,313,317,321,323,325,327,329,332,336,338,340,344,348,353,357,360,364,369,373,377,381,385],{"type":144,"name":145,"callback":146,"file":147,"line":148},"action","init","load_textdomain","bp-registration-options.php",54,{"type":150,"name":151,"callback":152,"file":153,"line":154},"filter","wp_mail_content_type","bp_registration_options_set_content_type","includes\\admin.php",314,{"type":144,"name":156,"callback":157,"file":153,"line":158},"admin_init","bp_registration_options_form_actions",333,{"type":144,"name":160,"callback":161,"file":153,"line":162},"admin_notices","bp_registration_options_admin_messages",372,{"type":144,"name":164,"callback":165,"file":153,"line":166},"admin_menu","bp_registration_options_plugin_menu",445,{"type":150,"name":168,"callback":169,"file":153,"line":170},"admin_footer_text","bp_registration_options_admin_footer",976,{"type":144,"name":172,"callback":173,"file":153,"line":174},"admin_head","bp_registration_options_css",995,{"type":144,"name":176,"callback":177,"file":153,"line":178},"admin_enqueue_scripts","bp_registration_options_stylesheet",1005,{"type":144,"name":180,"callback":181,"file":153,"line":182},"admin_footer","bp_registration_options_js",1045,{"type":144,"name":184,"callback":185,"file":153,"line":186},"deleted_user","bp_registration_options_delete_user_count_transient",1074,{"type":144,"name":188,"callback":189,"priority":87,"file":153,"line":190},"bpro_hook_member_item_additional_data","bp_registration_options_ip_data",1112,{"type":144,"name":192,"callback":193,"file":153,"line":194},"bpro_hook_approved_user","bpro_clean_user_ip",1126,{"type":150,"name":196,"callback":197,"file":153,"line":198},"manage_users_columns","bp_registration_options_set_custom_edit_columns",1142,{"type":150,"name":200,"callback":201,"priority":87,"file":153,"line":202},"manage_users_custom_column","bp_registration_options_custom_columns",1164,{"type":144,"name":204,"callback":205,"file":153,"line":206},"pre_get_users","bp_registration_options_set_user_sort_order",1185,{"type":150,"name":208,"callback":209,"file":153,"line":210},"manage_users_sortable_columns","bp_registration_options_make_pending_status_sortable",1199,{"type":144,"name":212,"callback":213,"file":214,"line":215},"wpfb_inserted_user","wp_fb_autoconnect_compat","includes\\compatibility.php",23,{"type":150,"name":217,"callback":217,"priority":48,"file":214,"line":36},"bp_docs_map_meta_caps",{"type":144,"name":219,"callback":220,"file":214,"line":221},"wp_head","bp_registration_remove_bp_better_messages",176,{"type":150,"name":223,"callback":224,"file":225,"line":226},"bp_after_activate_content","bp_registration_options_bp_after_activate_content","includes\\core.php",31,{"type":150,"name":228,"callback":224,"file":225,"line":106},"bp_before_member_header",{"type":150,"name":151,"callback":152,"file":225,"line":230},74,{"type":144,"name":232,"callback":233,"file":225,"line":234},"user_register","bp_registration_options_bp_core_register_account",147,{"type":144,"name":236,"callback":237,"file":225,"line":238},"bp_pre_user_query_construct","bp_registration_hide_pending_members",192,{"type":150,"name":240,"callback":241,"file":225,"line":242},"bp_before_has_members_parse_args","bp_registration_hide_widget_members",209,{"type":150,"name":244,"callback":245,"file":225,"line":246},"bp_activity_can_favorite","__return_false",218,{"type":150,"name":248,"callback":249,"file":225,"line":250},"bp_get_add_friend_button","__return_empty_array",220,{"type":150,"name":252,"callback":249,"file":225,"line":253},"bp_get_send_public_message_button",221,{"type":150,"name":255,"callback":245,"file":225,"line":256},"bp_get_send_message_button",222,{"type":150,"name":258,"callback":249,"file":225,"line":259},"bp_get_send_message_button_args",223,{"type":150,"name":261,"callback":245,"file":225,"line":262},"bp_user_can_create_groups",226,{"type":150,"name":264,"callback":265,"file":225,"line":266},"bp_get_group_join_button","__return_empty_string",227,{"type":150,"name":268,"callback":249,"file":225,"line":269},"bp_get_group_create_button",228,{"type":150,"name":271,"callback":245,"file":225,"line":272},"bp_activity_can_comment_reply",231,{"type":150,"name":274,"callback":245,"file":225,"line":275},"bp_activity_can_comment",232,{"type":150,"name":277,"callback":245,"file":225,"line":278},"bp_acomment_name",233,{"type":150,"name":280,"callback":265,"file":225,"line":281},"bp_get_activity_delete_link",234,{"type":150,"name":283,"callback":245,"file":225,"line":284},"bbp_current_user_can_access_create_reply_form",236,{"type":150,"name":286,"callback":245,"file":225,"line":287},"bbp_current_user_can_access_create_topic_form",237,{"type":150,"name":289,"callback":265,"file":225,"line":290},"bbp_get_topic_reply_link",238,{"type":150,"name":292,"callback":265,"file":225,"line":293},"bbp_get_user_subscribe_link",239,{"type":150,"name":295,"callback":265,"file":225,"line":296},"bbp_get_user_favorites_link",240,{"type":144,"name":298,"callback":299,"file":225,"line":300},"bp_before_activity_post_form","bp_registration_hide_whatsnew_start",241,{"type":144,"name":302,"callback":303,"file":225,"line":304},"bp_after_activity_post_form","bp_registration_hide_whatsnew_end",242,{"type":150,"name":306,"callback":307,"file":225,"line":308},"bp_messages_admin_nav","bp_registration_hide_messages_adminbar",244,{"type":150,"name":310,"callback":311,"file":225,"line":312},"bp_groups_admin_nav","bp_registration_hide_groups_adminbar",245,{"type":150,"name":314,"callback":315,"file":225,"line":316},"wpmu_active_signup","bp_registration_filter_wpmu_active_signup",247,{"type":144,"name":318,"callback":319,"file":225,"line":320},"bp_ready","bp_registration_hide_ui",249,{"type":150,"name":248,"callback":249,"file":225,"line":322},272,{"type":150,"name":252,"callback":249,"file":225,"line":324},273,{"type":150,"name":255,"callback":245,"file":225,"line":326},274,{"type":150,"name":258,"callback":249,"file":225,"line":328},275,{"type":144,"name":318,"callback":330,"file":225,"line":331},"bp_registration_hide_ui_for_approved_users",277,{"type":144,"name":333,"callback":334,"file":225,"line":335},"template_redirect","bp_registration_deny_access",483,{"type":150,"name":151,"callback":152,"file":225,"line":337},630,{"type":150,"name":151,"callback":152,"file":225,"line":339},662,{"type":144,"name":341,"callback":342,"file":225,"line":343},"bp_setup_nav","bp_registration_options_remove_compose_message",679,{"type":150,"name":345,"callback":346,"file":225,"line":347},"bp_get_total_member_count","bp_registration_options_remove_moderated_count",717,{"type":144,"name":349,"callback":350,"priority":351,"file":225,"line":352},"bp_setup_admin_bar","bp_registration_options_admin_bar_add",300,769,{"type":144,"name":354,"callback":355,"file":225,"line":356},"bp_activity_before_save","bp_registration_options_prevent_activity_posting",783,{"type":144,"name":192,"callback":358,"file":225,"line":359},"bp_registration_options_display_activity_posting",805,{"type":150,"name":361,"callback":362,"file":225,"line":363},"bp_notifications_get_registered_components","bp_registration_options_get_registered_components",825,{"type":150,"name":365,"callback":366,"priority":367,"file":225,"line":368},"bp_notifications_get_notifications_for_user","bprwg_notifications",11,857,{"type":144,"name":370,"callback":371,"priority":87,"file":225,"line":372},"bp_core_activated_user","bp_registration_options_notify_pending_user",898,{"type":150,"name":374,"callback":375,"priority":87,"file":225,"line":376},"bp_messages_recipients","bp_registration_prevent_messaging_unapproved_members",912,{"type":150,"name":248,"callback":378,"priority":379,"file":225,"line":380},"bpro_nouveau_friend_button_hide",101,930,{"type":144,"name":145,"callback":382,"file":383,"line":384},"bp_registration_options_compat_init","loader.php",40,{"type":144,"name":386,"callback":387,"file":383,"line":388},"plugins_loaded","bp_registration_options_init",43,[],[],[],[],{"dangerousFunctions":394,"sqlUsage":395,"outputEscaping":400,"fileOperations":28,"externalRequests":138,"nonceChecks":452,"capabilityChecks":34,"bundledLibraries":453},[],{"prepared":51,"raw":138,"locations":396},[397],{"file":225,"line":398,"context":399},707,"$wpdb->get_var() with variable interpolation",{"escaped":106,"rawEcho":401,"locations":402},24,[403,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450],{"file":153,"line":404,"context":405},369,"raw output",{"file":153,"line":407,"context":405},461,{"file":153,"line":409,"context":405},580,{"file":153,"line":411,"context":405},588,{"file":153,"line":413,"context":405},596,{"file":153,"line":415,"context":405},604,{"file":153,"line":417,"context":405},612,{"file":153,"line":419,"context":405},725,{"file":153,"line":421,"context":405},734,{"file":153,"line":423,"context":405},736,{"file":153,"line":425,"context":405},741,{"file":153,"line":427,"context":405},745,{"file":153,"line":429,"context":405},746,{"file":153,"line":431,"context":405},750,{"file":153,"line":433,"context":405},795,{"file":153,"line":435,"context":405},819,{"file":153,"line":437,"context":405},867,{"file":153,"line":439,"context":405},868,{"file":153,"line":441,"context":405},908,{"file":153,"line":443,"context":405},909,{"file":153,"line":445,"context":405},922,{"file":153,"line":447,"context":405},992,{"file":153,"line":449,"context":405},1108,{"file":225,"line":451,"context":405},27,3,[],[455,479],{"entryPoint":456,"graph":457,"unsanitizedCount":138,"severity":478},"bp_registration_options_member_requests (includes\\admin.php:653)",{"nodes":458,"edges":474},[459,464,468],{"id":460,"type":461,"label":462,"file":153,"line":463},"n0","source","$_GET",700,{"id":465,"type":466,"label":467,"file":153,"line":463},"n1","transform","→ bp_registration_get_pending_users()",{"id":469,"type":470,"label":471,"file":153,"line":472,"wp_function":473},"n2","sink","get_results() [SQLi]",53,"get_results",[475,477],{"from":460,"to":465,"sanitized":476},false,{"from":465,"to":469,"sanitized":476},"high",{"entryPoint":480,"graph":481,"unsanitizedCount":138,"severity":478},"\u003Cadmin> (includes\\admin.php:0)",{"nodes":482,"edges":494},[483,486,489,490,492],{"id":460,"type":461,"label":484,"file":153,"line":485},"$_POST",197,{"id":465,"type":470,"label":487,"file":153,"line":404,"wp_function":488},"echo() [XSS]","echo",{"id":469,"type":461,"label":462,"file":153,"line":463},{"id":491,"type":466,"label":467,"file":153,"line":463},"n3",{"id":493,"type":470,"label":471,"file":153,"line":472,"wp_function":473},"n4",[495,497,498],{"from":460,"to":465,"sanitized":496},true,{"from":469,"to":491,"sanitized":476},{"from":491,"to":493,"sanitized":476},{"summary":500,"deductions":501},"The 'bp-registration-options' plugin, version 4.4.5, exhibits a generally positive security posture with no recorded historical vulnerabilities. The static analysis reveals a commendably small attack surface, with no identified AJAX handlers, REST API routes, shortcodes, or cron events that are unprotected. This indicates a good level of attention to limiting potential entry points for attackers.\n\nHowever, the code analysis does raise some concerns. While the majority of SQL queries utilize prepared statements, the taint analysis highlights two flows with unsanitized paths. Although these are not classified as critical or high severity in the initial report, the presence of unsanitized paths, even if not leading to immediate critical vulnerabilities, represents a potential weakness that could be exploited in conjunction with other factors or in future versions. Furthermore, the output escaping is only properly implemented in 57% of cases, meaning a significant portion of outputs could be susceptible to cross-site scripting (XSS) vulnerabilities.\n\nGiven the absence of historical CVEs, the plugin's developers appear to be proactive in addressing security. The strengths lie in the minimal attack surface and the majority of SQL queries being protected. The weaknesses, however, are the two taint flows with unsanitized paths and the suboptimal output escaping, which warrant attention to fully solidify the plugin's security.",[502,504,505],{"reason":503,"points":87},"Taint flow with unsanitized path",{"reason":503,"points":87},{"reason":506,"points":507},"Insufficient output escaping (43% not escaped)",6,"2026-03-16T18:47:19.631Z",{"wat":510,"direct":525},{"assetPaths":511,"generatorPatterns":517,"scriptPaths":518,"versionParams":519},[512,513,514,515,516],"\u002Fwp-content\u002Fplugins\u002Fbp-registration-options\u002Fbp-registration-options.php","\u002Fwp-content\u002Fplugins\u002Fbp-registration-options\u002Fincludes\u002Futility.php","\u002Fwp-content\u002Fplugins\u002Fbp-registration-options\u002Fincludes\u002Fadmin.php","\u002Fwp-content\u002Fplugins\u002Fbp-registration-options\u002Fincludes\u002Fcore.php","\u002Fwp-content\u002Fplugins\u002Fbp-registration-options\u002Fincludes\u002Fcompatibility.php",[],[],[520,521,522,523,524],"bp-registration-options\u002Fbp-registration-options.php?ver=","bp-registration-options\u002Fincludes\u002Futility.php?ver=","bp-registration-options\u002Fincludes\u002Fadmin.php?ver=","bp-registration-options\u002Fincludes\u002Fcore.php?ver=","bp-registration-options\u002Fincludes\u002Fcompatibility.php?ver=",{"cssClasses":526,"htmlComments":527,"htmlAttributes":528,"restEndpoints":529,"jsGlobals":530,"shortcodeOutput":531},[],[],[],[],[],[]]