=== BAN Users ===
Contributors: webxmedia
Donate link: http://webxmedia.co.uk
Tags: users, ban, lock account, block account, deny access, security, account, disable, login, logon, suspend, temporary, user, disable user, wp-admin disable, wp-login disable
Requires at least: 4.2
Tested up to: 4.7
Stable tag: 1.3.9
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Ban a user from logging into their wordpress account, suspend posts and send notifications. The perfect solution for managing users and blocking unwanted registrations. 

== Description ==

<h4>WP Plugin for truly banning users!</h4>
<p>The BAN Users WordPress Plugin has been developed to enable administrators to quickly BAN (aka disable, suspend…) users from logging into their WordPress user account, as well as the option to change the status of all their posts. For instance setting them to draft to hide them from public viewing. A user can be BANed from the admin users table or via their profile. There are several configurable options that allow the administrator to control how the BAN will be implemented such as redirecting them to a custom holding page, or sending them a custom email notification. Once BANned they will be unable to login until an administrator reinstates their account.</p>

<h4>Recent Reviews</h4>
<ul>
<li><a href="https://wordpress.org/support/topic/impressive-21/">The best plugin I've ever used for banning accounts!</a></li>
<li><a href="https://wordpress.org/support/topic/plugin-for-truly-banning/">At last I found plugin that truly bans...</a></li>
<li><a href="https://wordpress.org/support/topic/outstanding-plugin-support-developer/">OUTSTANDING plugin / support / developer</a></li>
</ul>

<h4>Plugin Features</h4>
<ul>
<li>NEW! Enhanced security to restrict Ban User privilage access</li>
<li>Quickly ban user for a day, week, month.</li>
<li>Send WARNING emails to users, including custom messages.</li>
<li>Introduced flat icons as alternatives to text based links</li>
<li>Modal popup for sending custom messages, with textarea instead of text field</li>
<li>Automatically change user's Posts status (i.e. to pending) when BANned.</li>
<li>Supports Ultimate Member Plugin</li>
<li>Force logout when user BANned.</li>
<li>Set custom logout URL when BANned.</li>
<li>Set message to display when a BANned user attempts to login.</li>
<li>If already logged in, display message to user when BANned.</li>
<li>Send custom email notification to user when banned/unbanned.</li>
<li>Capture unique reason for banning each user.</li>
<li>Set duration of BAN using date picker.</li>
<li>BANned users highlighted in users table with icon/coloured background row.</li>
<li>Users table shows reason user banned.</li>
<li>Users table shows date user banned.</li>
<li>Users table shows date user reinstated.</li>
<li>Support for Accessibility / Screen Readers.</li>
</ul>

<h4>Premium Plugin Features:</h4>
<p><a href="https://codecanyon.net/item/wp-ultimate-ban-users/17508338">Buy Premium Version</a></p>
<ul>
<li>Capture users' IP/Geodata during login</li>
<li>Display IP/Geodata in users table</li>
<li>BAN users by date and TIME!</li>
<li>Send notifications to specified email addresses when user publishes first post</li>
<li>Prevent users with banned email address from registering</li>
<li>Prevent users with banned email address from logging in</li>
<li>Prevent users with banned ip address from registering</li>
<li>Prevent users with banned ip address from logging in</li>
<li>Easily manage add/remove/search banned email/ip addresses</li>
</ul>

<h4>More Premium Features coming soon:</h4>
<ul>
<li>Customise email template for new posts notification</li>
<li>Send notifications when specified users login</li>
<li>Track users page visits</li>
<li>Ban users by User Agent</li>
<li>Ban users by Geodata</li>
</ul>

<h4>How is it Useful?</h4>
<p>There are multiple reasons why an administrator of a WordPress website may need to block users. One of the most popular reasons is the security of the site. Indeed, most blogs face security issues. Once your site is online and growing in popularity, it can become the target of individuals whose only goal is to destroy your work and to discredit your blog. The BAN Users Plugin enables administrators to deny access to unwanted individuals, and inform those users of the actions taken against them.</p>
<ul>
<li>You want to ban malicious users from logging in.</li>
<li>You want to ban users who have breached terms of use or another policy.</li>
<li>You want to temporarily control access to admin.</li>
<li>You want to restrict a registered user from making any changes during development.</li>
<li>You have a client/user who has an unpaid invoice.</li>
<li>Ideal solution for moderators who monitor wordpress forums/posts.</li>
</ul>

<h4>Docs &amp; Support</h4>
<p>You can find further documentation, FAQs and more detailed information about our <a href="https://wordpress.org/plugins/ban-users/" rel="nofollow">Ban Users plugin</a> on <a href="https://webxmedia.ticksy.com" rel="nofollow">webxmedia.ticksy.com</a>. If you were unable to find the answer to your question on our FAQs or in any of the documentation, you should visit the support forum on <a href="https://wordpress.org/support/plugin/ban-users" rel="nofollow">WordPress.org</a>. If you can't locate any relevant topics, either post a new topic or <a href="https://webxmedia.ticksy.com/submit/" rel="nofollow">submit a support ticket</a>.</p>

== Installation ==

This section describes how to install the plugin and get it working.

1. Upload the plugin files to the /wp-content/plugins directory, or install the plugin through the WordPress plugins screen directly.
2. Activate the plugin through the 'Plugins' screen in WordPress
3. Go to Users->All Users to view the list of users.

4a. Click on a username to access their profile page, or hover over the user and select 'Edit'.
5a. Scroll down to the 'Account Management' Section of the profile page.
6a. Click on the checkbox which says 'Ban this User' beside it to either ban or unban the user.
7a. Scroll to the bottom of the page and select 'Update User' to confirm the changes made to the user.

4b. Hover over a user to display a list of possible modifications.
5b. Press the 'Ban' / 'Unban' button in order to change the users current state.

== Frequently Asked Questions ==

= Can all users be banned, regardless of role? =

Yes, anyone can be banned by an administrator. Administrators are not able to ban themselves however.

= Who can ban / unban another user? =

Only Administrators are allowed to ban / unban other users by default.

= How will I know if another user is banned? =

In the user edit page, the user will be marked in a checkbox in the row called 'Ban User'. If you also hover over the user on the 'All Users' page, the user will be the opposite of the stated 'ban' / 'unban' button.

= How can I get unbanned? =

You will need to contact a website administrator and asked to be unbanned. Each website may have their own policy for banning / unbanning users. If all administrators are banned, remove the plugin manually. Make sure an administrator is logged in on the website. Reinstall the plugin but with 'force_logout' set to false (0) and 'custom message' also set to false (0) in the settings file. The administrator can then unban people as usual. 

== Screenshots ==

1. screenshot-1.png
2. screenshot-2.png
3. screenshot-3.png
4. screenshot-4.png
5. screenshot-5.png
6. screenshot-6.png
7. screenshot-7.png
8. screenshot-8.png
9. screenshot-9.png
10. screenshot-10.png
11. screenshot-11.png
12. screenshot-12.png
13. screenshot-13.png

== Changelog ==

= 1.3.8 =
* [Added] Enhanced security to restrict Ban User privilage access
* [Fixed] Optimised code; refactored & bug fixes.

= 1.3.7 =
* [Added] Overhauled settings page. Simplified & organised layout
* [Added] Option to enable/disable support for 3rd Party plugins
* [Added] Option to disable plugin's enqueued files to allow them to be manually included
* [Fixed] Force Logout bug when on front end
* [Fixed] Logic mistakes on settings page
* [Fixed] Optimised code; refactored & bug fixes

= 1.3.6 =
* [Fixed] Optimised code; refactored & bug fixes

= 1.3.5 =
* [Fixed] Improved options page layout, including misc fixes

= 1.3.4 =
* [Added] Ban user by duration (1 day, 1 week etc) using new dropdown select
* [Added] Improvements to date picker; moved to new modal popup
* [Fixed] Issue where Unban Cron not executed correctly
* [Fixed] PHP Compatibility issue (Thank you alfredopacino)

= 1.3.3 =
* [Added] Added accessibility option to choose text links instead of icons
* [Fixed] Improved accessibility, misc amends

= 1.3.2 =
* [Fixed] Accessibility SR issue fixed affecting fontawesoome icons

= 1.3.1 =
* [Added] Send WARNING emails to users, including custom messages
* [Added] NEW! Introduced flat icons as alternatives to text based links
* [Added] Modal popup for sending custom messages, with textarea instead of text field
* [Fixed] Various minor amends/enhancements to methods

= 1.3.0 =
* [Added] Support for Ulimate Member Plugin
* [Added] Display banned message on front end of website in a diaglog box

= 1.2.9 =
* [Fixed] Removed http links from enqueue to support SSL

= 1.2.8 =
* [Added] Promoted the Ultimate BAN Users version of the plugin

= 1.2.7 =
* [Added] Option to capture reason for ban without needing to send email notification
* [Fixed] Default reason for BAN not working in all conditions

= 1.2.6 =
* [Added] Set preferred date format (i.e. dd-mm-yyyy)
* [Added] New email template tag for including ban lift date
* [Fixed] Minor amends

= 1.2.5 =
* [Fixed] Email charset switched to UTF8
* [Fixed] BAN reason function updated to support accented characters

= 1.2.4 =
* [Fixed] Updated options save function to support accented characters
* [Fixed] Turned display/log PHP error debug off

= 1.2.3 =
* [Fixed] Undefined index error accessing default login message
* [Fixed] Undefined index error accessing default reason message

= 1.2.2 =
* [Added] Set message to display when a BANned user attempts to login
* [Added] Users table includes tooltip to show reason user banned
* [Added] Users table includes tooltip to show date user banned
* [Added] Users table includes tooltip to show date user reinstated

= 1.2.1 =
* [Added] Toggle BANned column in users table on/off
* [Added] Toggle BANned highlighted red row in users table
* [Added] Minor security enhancements

= 1.2.0 =
* [Added] Set duration of BAN using date picker
* [Fixed] Move PHP functions into class structure
* [Added] Custom UnBAN email template for user notification
* [Fixed] Secured plugin files by preventing direct access

= 1.1.1 =
* [Fixed] Fatal error: Can't use function return value in write context

= 1.1.0 =
* [Added] BAN user email notification
* [Added] Custom BAN email template for user notification
* [Fixed] Corrected force logout bug
* [Added] Ability to capture reason for BANning user
* [Added] WordPress Uninstall configuration

= 1.0.1 =
* Initial release.

== Upgrade Notice ==

= 1.3.7 =
If using the 'Ultimate Member Plugin' you will need to tick the checkbox 'Ultimate Member Plugin' under the '3rd Party Plugin Support' section in Ban Users settings page. This is because ver 1.3.7 of the Ban Users plugin now allows you to enable/disable support - as required - for 3rd Party code; but doesn't assume support by default. However, I've included a check so that until the new Ban Users settings are saved, it will continue to automatically support the 'Ultimate Member Plugin' so your sites don't break during this update.

= 1.0.1 =
Initial release
