=== Wbcom Designs - Private Community for BuddyPress ===
Contributors: wbcomdesigns
Donate link: https://wbcomdesigns.com/contact/
Tags: BuddyPress, lock, privacy, restrict access, private
Requires at least: 4.0
Tested up to: 6.8
Stable tag: 2.1.2
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Create a private BuddyPress community by restricting access to non-members. Control who sees what with flexible privacy settings.

== Description ==

**Turn your BuddyPress site into an exclusive private community in minutes!**

Private Community 2.0 helps you create members-only areas on your WordPress site. Whether you're building a company intranet, paid membership site, or exclusive community, this plugin gives you complete control over who can access your content.

**🎯 Perfect For:**
• Company intranets and team portals
• Paid membership communities
• Private family or group websites
• Educational course platforms
• Exclusive member networks

**✨ What's New in Version 2.0:**
We've completely rebuilt the plugin from the ground up with a focus on simplicity and performance. The new tabbed interface makes setup a breeze, while powerful features work behind the scenes to keep your site secure.

**🔒 Two Simple Protection Modes:**

**1. Partial Protection** - Keep some areas public
• Lock specific member directories or group pages
• Protect certain URLs while keeping others open
• Use wildcards to protect entire sections (like /premium/*)

**2. Full Protection** - Lock everything except what you choose
• Make your entire site members-only
• Whitelist specific pages for public access
• Perfect for private company sites

**⚙️ How Your Visitors See It:**
• **Built-in Login** - Beautiful login form that matches your theme
• **Custom Forms** - Use your favorite form plugin
• **Smart Redirect** - Send visitors to a specific welcome page

**💪 Why Choose Private Community?**
• **Set up in 2 minutes** - No complicated configurations
• **Works with any theme** - Tested with popular BuddyPress themes
• **Lightning fast** - Optimized for sites with thousands of pages
• **Secure by default** - Blocks brute force attacks automatically
• **Always compatible** - Regular updates for latest WordPress versions

[vimeo https://vimeo.com/556942362]

== Documentation ==

📚 **Comprehensive Documentation Available:**

• [User Guide](https://github.com/wbcomdesigns/bp-lock/blob/main/docs/USER_GUIDE.md) - Complete setup and configuration guide
• [Developer Guide](https://github.com/wbcomdesigns/bp-lock/blob/main/docs/DEVELOPER_GUIDE.md) - Hooks, filters, and API reference
• [Testing Guide](https://github.com/wbcomdesigns/bp-lock/blob/main/docs/TESTING_GUIDE.md) - Quality assurance and testing procedures

=== THEME - WORDPRESS THEME WITH OUTSTANDING BUDDYPRESS SUPPORT ===
* [FREE BuddyPress Theme: BuddyX](https://wordpress.org/themes/buddyx/) - Offers unique layouts with clean code and easy-to-customize options, giving you a whole new way to visualize BuddyPress.

#### OUR ADON PLUGINS TO FURTHER IMPROVE YOUR BUDDYPRESS OR BUDDYBOSS PLATFORM COMMUNITY
Check out free community add-ons by Wbcom Designs:

* **[Wbcom Designs - BuddyPress Member Reviews](https://wordpress.org/plugins/bp-user-profile-reviews/)** Allow members to add ratings or feedback to other community members.
* **[Wbcom Designs - BuddyPress Group Reviews](https://wordpress.org/plugins/review-buddypress-groups/)** Allow members to add ratings or feedback to BuddyPress groups.
* **[Wbcom Designs - BuddyPress Activity Social Share](https://wordpress.org/plugins/bp-activity-social-share/)** Allow members to share activities on their social profiles like Facebook, Twitter, What's App, LinkedIn with OG metadata.
* **[Wbcom Designs – Private Community with BP Lock](https://wordpress.org/plugins/lock-my-bp/)** A plugin to make your community private and only accessible to logged-in users. It also allows you to keep select pages or the component public.
* **[Wbcom Designs - BuddyPress Job Manager](https://wordpress.org/plugins/bp-job-manager/)** Allows your to integrate WP Job Manager plugin to BuddyPress.
* **[Wbcom Designs - Check-ins for BuddyPress Activity](https://wordpress.org/plugins/bp-check-in/)** Allow members to add their location or post their Check-ins updates to activity.
* **[Wbcom Designs - BuddyPress Favorite Notification](https://wordpress.org/plugins/bp-favorite-notification/)** Allow members to be notified after any like or favorite on their BuddyPress activity.
* **[Wbcom Designs – Shortcodes & Elementor Widgets For BuddyPress](https://wordpress.org/plugins/shortcodes-for-buddypress/)** It offers shortcodes and elementor widgets for the activity listing, member's directory display, and the group's directory on any post/page.

Check out paid community add-ons by Wbcom Designs:

* **[Wbcom Designs - BuddyPress Hashtags](https://wbcomdesigns.com/downloads/buddypress-hashtags/?utm_source=wp.org&utm_medium=plugins&utm_campaign=wp.org)** Allows members to use hashtags in BuddyPress or BuddyBoss Platform activities and bbPress topics..
* **[Wbcom Designs - BuddyPress Polls](https://wbcomdesigns.com/downloads/buddypress-polls/?utm_source=wp.org&utm_medium=plugins&utm_campaign=wp.org)**  It allows you to extend BuddyPress or BuddyBoss Platform Activity for members to publish Polls with various options and works perfectly for individual activities and group activities.
* **[Wbcom Designs - BuddyPress Quotes](https://wbcomdesigns.com/downloads/buddypress-quotes/?utm_source=wp.org&utm_medium=plugins&utm_campaign=wp.org)** It allows the feature to let members post their activity updates with interactive background selection such as colors and images set by the site administrator to tell a more expressive story.
* **[Wbcom Designs – BuddyPress Status & Reaction](https://wbcomdesigns.com/downloads/buddypress-status/?utm_source=wp.org&utm_medium=plugins&utm_campaign=wp.org)** Allow your members to set a status icon and tagline on their profile and offer a big set of icons to react to published activities.
* **[Wbcom Designs - BuddyPress Profanity](https://wbcomdesigns.com/downloads/buddypress-profanity/?utm_source=wp.org&utm_medium=plugins&utm_campaign=wp.org)** Allow you to censor content in your community! Easily Censor all the unwanted words in activities, private messages contents by specifying a list of keywords to be filtered.
* **[Wbcom Designs - BuddyPress Sticky Post](https://wbcomdesigns.com/downloads/buddypress-sticky-post/?utm_source=wp.org&utm_medium=plugins&utm_campaign=wp.org)** Allows site administrators to prioritize certain activities over others. It lets admin pin-up site-wide and group activities to the top of the activity list.
* **[Wbcom Designs - BuddyPress Auto Friends](https://wbcomdesigns.com/downloads/buddypress-auto-friends/?utm_source=wp.org&utm_medium=plugins&utm_campaign=wp.org)** Allow the site admin to select global friends for all his members and add bulk global friends.
* **[Wbcom Designs – Shortcodes & Elementor Widgets For BuddyPress Pro](https://wordpress.org/plugins/shortcodes-for-buddypress/?utm_source=wp.org&utm_medium=plugins&utm_campaign=wp.org)** It offers shortcodes and elementor widgets with various argument parameters for the activity listing, member's directory display, and the group's directory on any post/page.

= EXPERT SUPPORT =
We are ready to provide incredible support. Ask your questions at [contact us directly](https://wbcomdesigns.com/support/).

== Installation ==

**Quick Setup (2 minutes):**

1. Upload the plugin to your `/wp-content/plugins/` directory
2. Activate 'Private Community for BuddyPress' in your Plugins menu
3. Go to **Settings → Private Community**
4. Choose your protection mode and save

That's it! Your private community is ready.

== Frequently Asked Questions ==

= Do I need BuddyPress to use this plugin? =
Yes, this plugin is designed specifically for BuddyPress communities. It won't work without BuddyPress installed and active.

= How quickly can I set this up? =
Most users have their private community running in under 2 minutes. Just choose your protection mode and you're done!

= Can I keep some pages public while protecting others? =
Absolutely! Use Partial Protection mode to choose exactly which pages to protect, or use Full Protection with a whitelist for public pages.

= Will this slow down my site? =
No. Version 2.0 is optimized for performance and can handle sites with thousands of pages without any speed issues.

= Can members still register if my site is locked? =
Yes! The registration page can be whitelisted so new members can still sign up while the rest of your site remains private.

= Does it work with my theme? =
Private Community works with any properly coded WordPress theme. It's been tested with all major BuddyPress themes.

= What happens when non-members try to access protected content? =
You choose! Show them a login form, redirect to a specific page, or display a custom message using any shortcode.

= Is there a limit to how many pages I can protect? =
No limits! Protect one page or your entire site - the plugin handles both equally well.

== Screenshots ==

1. Welcome tab - Quick setup and overview of the plugin features
2. Partial Protection tab - Select specific BuddyPress components and URLs to protect
3. Full Protection tab - Enable site-wide protection with whitelist configuration
4. Protection Rules tab - Configure how protected content is displayed (forms vs redirect)
5. Frontend view - Login form displayed on protected pages
6. Admin dashboard - Modern tabbed interface with clear navigation

== Changelog ==
= 2.1.2 =
* Security: Fixed critical registration bypass vulnerability that allowed user registration without proper nonce verification
* Security: Hardened nonce verification with separate checks for presence and validity
* Security: Added WordPress registration setting validation to prevent unauthorized registrations
* Enhancement: Optimized script and style enqueuing to load only for logged-out users, preventing conflicts
* Enhancement: Admin AJAX assets now properly load minified versions in production for better performance
* Enhancement: Added wbcom assets to build process for complete minification and RTL support
* Fix: All CSS/JS files now properly use minified versions when SCRIPT_DEBUG is disabled

= 2.1.1 =
* Fix: Fixed BuddyPress activation pages being locked in both partial and full protection modes
* Fix: Activation URLs now properly bypass protection to allow new user account activation
* Enhancement: Implemented BuddyPress-native detection for URL-structure agnostic handling
* Enhancement: Added activation patterns to default whitelist template

= 2.1.0 =
* Enhancement: Improved login and registration popup display and functionality
* Enhancement: Enhanced UI for login and register forms with better styling
* Enhancement: Improved save settings button design and user experience
* Enhancement: Enhanced locked message content display and formatting
* Enhancement: Better form handling with custom content messages positioned above forms
* Enhancement: Modernized CSS styling throughout the plugin
* Enhancement: Advanced whitelist support with wildcard patterns for flexible URL protection
* Fix: Fixed protection rules form submission and validation issues
* Fix: Fixed line break rendering in restriction messages to display properly
* Fix: Fixed custom content message positioning in login/registration forms
* Fix: Fixed settings persistence to prevent data loss
* Fix: Fixed duplicate entry prevention in protection rules
* Fix: Fixed null post object handling to prevent PHP warnings
* Fix: Fixed AJAX handler to properly preserve newlines and HTML formatting in rich text fields
* Security: Implemented double sanitization for enhanced security across all inputs
* Security: Improved data validation and escaping
* Dev: Enhanced translation system for better internationalization support
* Dev: WordPress Coding Standards (WPCS) compliance improvements
* Dev: Updated default content and messaging
* Dev: Improved code quality and maintainability

= 2.0.0 - Major Update =
* Completely rebuilt from the ground up for better performance
* New modern admin interface that's easier to use
* Added Partial Protection mode for selective content locking
* Added Full Protection mode for complete site privacy
* URL patterns with wildcards now supported (/docs/*)
* Choose how to display login: built-in form, custom shortcode, or redirect
* Automatic brute force protection (5 login attempts per 15 minutes)
* Works smoothly with sites having 1000+ pages
* Fixed compatibility with PHP 8.2
* Your existing settings are automatically migrated

= 1.9.3 =
* Enhancement: Managed register button style for better user experience.
* Fix: Resolved BP lock login page issue and removed tab for register option.
* Enhancement: Improved admin UI for a smoother workflow.
* Update: Ensured consistent and meaningful labels throughout the interface.
* Update: Changed label text to be more descriptive and consistent.
* Enhancement: Used constants, consistent output functions, and correctly escaped attributes.
* Fix: Addressed deprecation notices, including PHP deprecated implicit conversion from float to int.
* Fix: Resolved PHP deprecated issue.

= 1.9.1 =
* Fix - (#55)Fixed notice on the logged-out template
* Fix - (#56)Fixed deprecated notices with PHP 8.0
* Fix - Compatibility fixes with BuddyPress 12.0
* Fix - Compatibility fixes with WordPress 6.5

= 1.9.1 =
* Fix - add bp lock icon
* Fix - (#52)fixed lock pages do not work

= 1.9.0 =
* Fix - Updated admin ui
* Fix - Change enable/disable button style
* Fix - Remove button in wrapper

= 1.8.0 =
* Fix - Added Buddypress Recaptcha support for login/register forms
* Fix - updated welcome title
* Fix - #49 Login UI Issue managed
* Fix - Added hook for login and register form

= 1.7.1 =
* Fix - Backend Options Improve UI
* Fix - removed BP Components tab

= 1.7.0 =
* Fix - Fixed phpcs issues
* Fix - Removed install plugin button from wrapper and phpcs fixes
* Fix - (#39) Update login/register form UI for logged-out mode

= 1.6.0 =
* Enhancement - Added redirect option for log out user
* Enhancement - Update backend switch UI

= 1.5.0 =
* Fix - PHPCS Fixes

= 1.3.0 =
* Fix - Support to override template
* Fix - Remove cpt functionality
* Fix - Updated admin notice

= 1.2.0 =
* Fix - Add condition for display registration form according to the 'Anyone can register' option. (#23)
* Fix - Registration form input email style. (#26)
* Enhancement - Added select/unselect all options in page list admin settings. (#8)

= 1.1.1 =
* Fix - Admin settings saving glitch.

= 1.1.0 =
* Enhancement - Added setting to use custom login registration form using shortcode.
* Enhancement - Changed admin UI.
* Enhancement - Compatibility with BuddyPress 4.3.0
* Fix - Page lock issue.

= 1.0.4 =
* Fix - Lock custom post type.
* Enhancement - The locked page is not displayed in the archive.
* Enhancement - Locked component and page will not be displayed in searched content.
* Enhancement - Lock component single page if the component is blocked.

= 1.0.3 =
* Plugin code structure changed
* Added Multisite support
* Lock Template file update

= 1.0.2 =
* Changed admin settings UI and a login/register form on the locked content template.

= 1.0.1 =
* Updated Labels.

= 1.0.0 =
* first version.

== Upgrade Notice ==

= 2.0.0 =
Major update with new features and improvements. Your settings will be automatically migrated. Backup recommended before upgrading.
