Skip to:
Content

bbPress.org

Changeset 4192


Ignore:
Timestamp:
09/04/2012 09:25:07 AM (12 years ago)
Author:
johnjamesjacoby
Message:

Capabilities:

  • Enforce negative capabilities in user_profile_update() by using add_cap( $cap, false );
  • Remove new-role dance from capability reset, as bbPress capabilities are still added to each individual role as needed.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/plugin/bbp-admin/bbp-users.php

    r4182 r4192  
    110110
    111111        // Load up the user
    112         $user      = new WP_User( $user_id );
    113         $user_role = bbp_get_user_role( $user_id );
     112        $user = new WP_User( $user_id );
    114113
    115114        // Either reset caps for role
     
    123122            }
    124123
    125             // Maybe use users new role
    126             if ( ! empty( $_POST['role'] ) ) {
    127                 $new_role = get_role( $_POST['role'] );
    128                 $new_role = isset( $new_role->name ) ? $new_role->name : '';
    129 
    130                 if ( $new_role != $user_role ) {
    131                     $user_role = $new_role;
    132                 }
    133             }
    134 
    135             // Add back caps for current role
    136             if ( !empty( $user_role ) ) {
    137                 foreach ( bbp_get_caps_for_role( $user_role ) as $capability ) {
    138                     $user->add_cap( $capability, true );
    139                 }
    140             }
    141 
    142124        // Or set caps individually
    143125        } else {
     
    145127            // Loop through capability groups
    146128            foreach ( bbp_get_capability_groups() as $group ) {
    147 
    148                 // Loop through capabilities
    149129                foreach ( bbp_get_capabilities_for_group( $group ) as $capability ) {
    150130
    151131                    // Maybe add cap
    152132                    if ( ! empty( $_POST['_bbp_' . $capability] ) && ! $user->has_cap( $capability ) ) {
    153                         $user->add_cap( $capability );
     133                        $user->add_cap( $capability, true );
    154134
    155135                    // Maybe remove cap
    156136                    } elseif ( empty( $_POST['_bbp_' . $capability] ) && $user->has_cap( $capability ) ) {
    157                         $user->remove_cap( $capability );
     137                        $user->add_cap( $capability, false );
    158138                    }
    159139                }
Note: See TracChangeset for help on using the changeset viewer.