Plugin Directory

Changeset 2511724


Ignore:
Timestamp:
04/08/2021 07:06:01 PM (5 years ago)
Author:
anderly
Message:

Release 1.3.1, see readme.txt for the changelog.

Location:
disable-user-login
Files:
6 edited
1 copied

Legend:

Unmodified
Added
Removed
  • disable-user-login/tags/1.3.1/disable-user-login.php

    r2501976 r2511724  
    44 * Plugin URI:  http://wordpress.org/plugins/disable-user-login
    55 * Description: Provides the ability to disable user accounts and prevent them from logging in.
    6  * Version:     1.3.0
     6 * Version:     1.3.1
    77 *
    88 * Author:      Saint Systems
  • disable-user-login/tags/1.3.1/includes/class-ss-disable-user-login-plugin.php

    r2501976 r2511724  
    1616     * @var string
    1717     */
    18     private static $version = '1.3.0';
     18    private static $version = '1.3.1';
    1919
    2020    /**
     
    187187    public function save_disabled_field( $user_id ) {
    188188
     189        if ( ! $this->can_disable( $user_id ) ) {
     190            return;
     191        }
     192
     193        $disabled = isset( $_POST['disable_user_login'] ) ? 1 : 0;
     194
     195        // Store disabled status before update
     196        $originally_disabled = $this->is_user_disabled( $user_id );
     197
     198        // Update the user's disabled status
     199        update_user_meta( $user_id, self::$user_meta_key, $disabled );
     200
     201        $this->maybe_trigger_enabled_disabled_actions( $user_id, $originally_disabled, $disabled );
     202    }
     203
     204    /**
     205     * Returns whether or not the passed $user_id can be disabled
     206     * @since 1.3.1
     207     */
     208    public function can_disable( $user_id ) {
    189209        // Don't disable super admins.
    190210        if ( is_multisite() && is_super_admin( $user_id ) ) {
    191             return;
    192         }
    193 
    194         // Only worry about saving this field if the user has access.
    195         if ( ! current_user_can( $this->get_edit_cap() ) )
    196             return;
    197 
    198         $disabled = isset( $_POST['disable_user_login'] ) ? 1 : 0;
    199 
    200         // Store disabled status before update
    201         $originally_disabled = $this->is_user_disabled( $user_id );
    202 
    203         // Update the user's disabled status
    204         update_user_meta( $user_id, self::$user_meta_key, $disabled );
    205 
    206         $this->maybe_trigger_enabled_disabled_actions( $user_id, $originally_disabled, $disabled );
     211            return false;
     212        }
     213
     214        // Make sure the user has access
     215        if ( ! current_user_can( $this->get_edit_cap() ) ) {
     216            return false;
     217        }
     218
     219        // Don't disable the currently logged in user.
     220        if ( $user_id == get_current_user_id() ) {
     221            return false;
     222        }
     223
     224        return true;
    207225    }
    208226
     
    294312     * @since 1.0.6
    295313     */
    296     public function handle_bulk_disable_users($redirect_to, $doaction, $user_ids) {
    297         if ($doaction !== 'disable_user_login' && $doaction !== 'enable_user_login'){
     314    public function handle_bulk_disable_users( $redirect_to, $doaction, $user_ids ) {
     315        if ( $doaction !== 'disable_user_login' && $doaction !== 'enable_user_login' ) {
    298316            return $redirect_to;
    299317        }
     
    301319        $disabled = $doaction === 'disable_user_login' ? 1 : 0;
    302320
     321        $affected_user_count = 0;
     322
    303323        foreach ( $user_ids as $user_id ) {
     324
     325            if ( $disabled === 1 && ! $this->can_disable( $user_id ) ) {
     326                continue;
     327            }
     328
    304329            // Store disabled status before update
    305330            $originally_disabled = $this->is_user_disabled( $user_id );
     
    308333
    309334            $this->maybe_trigger_enabled_disabled_actions( $user_id, $originally_disabled, $disabled );
    310         }
    311 
    312         if ($disabled){
    313             $redirect_to = add_query_arg( 'disable_user_login', count($user_ids), $redirect_to );
     335
     336            $affected_user_count++;
     337        }
     338
     339        if ( $disabled ) {
     340            $redirect_to = add_query_arg( 'disable_user_login', $affected_user_count, $redirect_to );
    314341            $redirect_to = remove_query_arg( 'disable_user_login', $redirect_to );
    315342        } else {
    316             $redirect_to = add_query_arg( 'disable_user_login',  count($user_ids), $redirect_to );
     343            $redirect_to = add_query_arg( 'disable_user_login',  $affected_user_count, $redirect_to );
    317344            $redirect_to = remove_query_arg( 'disable_user_login', $redirect_to );
    318345        }
     
    325352     */
    326353    public function bulk_disable_user_notices() {
    327         if (! empty( $_REQUEST['disable_user_login'] ) ){
     354        if ( ! empty( $_REQUEST['disable_user_login'] ) ){
    328355            $updated = intval( $_REQUEST['disable_user_login'] );
    329356            printf( '<div id="message" class="updated">' .
     
    335362        }
    336363
    337         if (! empty( $_REQUEST['disable_user_login'] ) ){
     364        if ( ! empty( $_REQUEST['disable_user_login'] ) ){
    338365            $updated = intval( $_REQUEST['disable_user_login'] );
    339366            printf( '<div id="message" class="updated">' .
  • disable-user-login/tags/1.3.1/readme.txt

    r2501976 r2511724  
    66Tested up to: 5.7.0
    77Requires PHP: 5.6
    8 Stable tag: 1.3.0
     8Stable tag: 1.3.1
    99License: GPLv3
    1010
     
    4949== Changelog ==
    5050
     51= 1.3.1 =
     52* Update to prevent disabling super admins on bulk disable.
     53* Update to check user edit permission on bulk disable.
     54* Updated to prevent current user from disabling his/her own account on bulk disable.
     55
    5156= 1.3.0 =
    5257* Force disabled users to logout.
  • disable-user-login/trunk/disable-user-login.php

    r2501976 r2511724  
    44 * Plugin URI:  http://wordpress.org/plugins/disable-user-login
    55 * Description: Provides the ability to disable user accounts and prevent them from logging in.
    6  * Version:     1.3.0
     6 * Version:     1.3.1
    77 *
    88 * Author:      Saint Systems
  • disable-user-login/trunk/includes/class-ss-disable-user-login-plugin.php

    r2501976 r2511724  
    1616     * @var string
    1717     */
    18     private static $version = '1.3.0';
     18    private static $version = '1.3.1';
    1919
    2020    /**
     
    187187    public function save_disabled_field( $user_id ) {
    188188
     189        if ( ! $this->can_disable( $user_id ) ) {
     190            return;
     191        }
     192
     193        $disabled = isset( $_POST['disable_user_login'] ) ? 1 : 0;
     194
     195        // Store disabled status before update
     196        $originally_disabled = $this->is_user_disabled( $user_id );
     197
     198        // Update the user's disabled status
     199        update_user_meta( $user_id, self::$user_meta_key, $disabled );
     200
     201        $this->maybe_trigger_enabled_disabled_actions( $user_id, $originally_disabled, $disabled );
     202    }
     203
     204    /**
     205     * Returns whether or not the passed $user_id can be disabled
     206     * @since 1.3.1
     207     */
     208    public function can_disable( $user_id ) {
    189209        // Don't disable super admins.
    190210        if ( is_multisite() && is_super_admin( $user_id ) ) {
    191             return;
    192         }
    193 
    194         // Only worry about saving this field if the user has access.
    195         if ( ! current_user_can( $this->get_edit_cap() ) )
    196             return;
    197 
    198         $disabled = isset( $_POST['disable_user_login'] ) ? 1 : 0;
    199 
    200         // Store disabled status before update
    201         $originally_disabled = $this->is_user_disabled( $user_id );
    202 
    203         // Update the user's disabled status
    204         update_user_meta( $user_id, self::$user_meta_key, $disabled );
    205 
    206         $this->maybe_trigger_enabled_disabled_actions( $user_id, $originally_disabled, $disabled );
     211            return false;
     212        }
     213
     214        // Make sure the user has access
     215        if ( ! current_user_can( $this->get_edit_cap() ) ) {
     216            return false;
     217        }
     218
     219        // Don't disable the currently logged in user.
     220        if ( $user_id == get_current_user_id() ) {
     221            return false;
     222        }
     223
     224        return true;
    207225    }
    208226
     
    294312     * @since 1.0.6
    295313     */
    296     public function handle_bulk_disable_users($redirect_to, $doaction, $user_ids) {
    297         if ($doaction !== 'disable_user_login' && $doaction !== 'enable_user_login'){
     314    public function handle_bulk_disable_users( $redirect_to, $doaction, $user_ids ) {
     315        if ( $doaction !== 'disable_user_login' && $doaction !== 'enable_user_login' ) {
    298316            return $redirect_to;
    299317        }
     
    301319        $disabled = $doaction === 'disable_user_login' ? 1 : 0;
    302320
     321        $affected_user_count = 0;
     322
    303323        foreach ( $user_ids as $user_id ) {
     324
     325            if ( $disabled === 1 && ! $this->can_disable( $user_id ) ) {
     326                continue;
     327            }
     328
    304329            // Store disabled status before update
    305330            $originally_disabled = $this->is_user_disabled( $user_id );
     
    308333
    309334            $this->maybe_trigger_enabled_disabled_actions( $user_id, $originally_disabled, $disabled );
    310         }
    311 
    312         if ($disabled){
    313             $redirect_to = add_query_arg( 'disable_user_login', count($user_ids), $redirect_to );
     335
     336            $affected_user_count++;
     337        }
     338
     339        if ( $disabled ) {
     340            $redirect_to = add_query_arg( 'disable_user_login', $affected_user_count, $redirect_to );
    314341            $redirect_to = remove_query_arg( 'disable_user_login', $redirect_to );
    315342        } else {
    316             $redirect_to = add_query_arg( 'disable_user_login',  count($user_ids), $redirect_to );
     343            $redirect_to = add_query_arg( 'disable_user_login',  $affected_user_count, $redirect_to );
    317344            $redirect_to = remove_query_arg( 'disable_user_login', $redirect_to );
    318345        }
     
    325352     */
    326353    public function bulk_disable_user_notices() {
    327         if (! empty( $_REQUEST['disable_user_login'] ) ){
     354        if ( ! empty( $_REQUEST['disable_user_login'] ) ){
    328355            $updated = intval( $_REQUEST['disable_user_login'] );
    329356            printf( '<div id="message" class="updated">' .
     
    335362        }
    336363
    337         if (! empty( $_REQUEST['disable_user_login'] ) ){
     364        if ( ! empty( $_REQUEST['disable_user_login'] ) ){
    338365            $updated = intval( $_REQUEST['disable_user_login'] );
    339366            printf( '<div id="message" class="updated">' .
  • disable-user-login/trunk/readme.txt

    r2501976 r2511724  
    66Tested up to: 5.7.0
    77Requires PHP: 5.6
    8 Stable tag: 1.3.0
     8Stable tag: 1.3.1
    99License: GPLv3
    1010
     
    4949== Changelog ==
    5050
     51= 1.3.1 =
     52* Update to prevent disabling super admins on bulk disable.
     53* Update to check user edit permission on bulk disable.
     54* Updated to prevent current user from disabling his/her own account on bulk disable.
     55
    5156= 1.3.0 =
    5257* Force disabled users to logout.
Note: See TracChangeset for help on using the changeset viewer.