web/wp-content/plugins/bbpress/includes/users/capabilities.php
author Anthony Ly <anthonyly.com@gmail.com>
Tue, 12 Mar 2013 18:21:39 +0100
changeset 206 919b4ddb13fa
parent 196 5e8dcbe22c24
permissions -rw-r--r--
modification logo footer cccb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
196
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     1
<?php
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     2
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     3
/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     4
 * bbPress User Capabilites
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     5
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     6
 * Used to map user capabilities to WordPress's existing capabilities.
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     7
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     8
 * @package bbPress
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     9
 * @subpackage Capabilities
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    10
 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    11
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    12
/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    13
 * Maps primary capabilities
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    14
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    15
 * @since bbPress (r4242)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    16
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    17
 * @param array $caps Capabilities for meta capability
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    18
 * @param string $cap Capability name
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    19
 * @param int $user_id User id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    20
 * @param mixed $args Arguments
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    21
 * @uses apply_filters() Filter mapped results
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    22
 * @return array Actual capabilities for meta capability
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    23
 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    24
function bbp_map_primary_meta_caps( $caps = array(), $cap = '', $user_id = 0, $args = array() ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    25
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    26
	// What capability is being checked?
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    27
	switch ( $cap ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    28
		case 'spectate'    :
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    29
		case 'participate' :
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    30
		case 'moderate'    :
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    31
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    32
			// Do not allow inactive users
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    33
			if ( bbp_is_user_inactive( $user_id ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    34
				$caps = array( 'do_not_allow' );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    35
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    36
			// Moderators are always participants
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    37
			} else {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    38
				$caps = array( $cap );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    39
			}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    40
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    41
			break;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    42
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    43
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    44
	return apply_filters( 'bbp_map_primary_meta_caps', $caps, $cap, $user_id, $args );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    45
}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    46
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    47
/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    48
 * Return a user's main role
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    49
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    50
 * @since bbPress (r3860)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    51
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    52
 * @param int $user_id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    53
 * @uses bbp_get_user_id() To get the user id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    54
 * @uses get_userdata() To get the user data
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    55
 * @uses apply_filters() Calls 'bbp_set_user_role' with the role and user id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    56
 * @return string
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    57
 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    58
function bbp_set_user_role( $user_id = 0, $new_role = '' ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    59
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    60
	// Validate user id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    61
	$user_id = bbp_get_user_id( $user_id, false, false );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    62
	$user    = get_userdata( $user_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    63
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    64
	// User exists
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    65
	if ( !empty( $user ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    66
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    67
		// Get users forum role
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    68
		$role = bbp_get_user_role( $user_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    69
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    70
		// User already has this role so no new role is set
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    71
		if ( $new_role == $role ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    72
			$new_role = false;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    73
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    74
		// Users role is different than the new role
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    75
		} else {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    76
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    77
			// Remove the old role
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    78
			if ( ! empty( $role ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    79
				$user->remove_role( $role );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    80
			}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    81
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    82
			// Add the new role
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    83
			if ( !empty( $new_role ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    84
				$user->add_role( $new_role );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    85
			}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    86
		}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    87
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    88
	// User does don exist so return false
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    89
	} else {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    90
		$new_role = false;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    91
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    92
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    93
	return apply_filters( 'bbp_set_user_role', $new_role, $user_id, $user );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    94
}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    95
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    96
/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    97
 * Return a user's forums role
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    98
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    99
 * @since bbPress (r3860)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   100
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   101
 * @param int $user_id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   102
 * @uses bbp_get_user_id() To get the user id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   103
 * @uses get_userdata() To get the user data
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   104
 * @uses apply_filters() Calls 'bbp_get_user_role' with the role and user id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   105
 * @return string
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   106
 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   107
function bbp_get_user_role( $user_id = 0 ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   108
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   109
	// Validate user id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   110
	$user_id = bbp_get_user_id( $user_id, false, false );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   111
	$user    = get_userdata( $user_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   112
	$role    = false;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   113
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   114
	// User has roles so lets
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   115
	if ( ! empty( $user->roles ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   116
		$roles = array_intersect( array_values( $user->roles ), array_keys( bbp_get_dynamic_roles() ) );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   117
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   118
		// If there's a role in the array, use the first one
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   119
		if ( !empty( $roles ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   120
			$role = array_shift( array_values( $roles ) );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   121
		}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   122
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   123
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   124
	return apply_filters( 'bbp_get_user_role', $role, $user_id, $user );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   125
}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   126
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   127
/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   128
 * Return a user's blog role
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   129
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   130
 * @since bbPress (r4446)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   131
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   132
 * @param int $user_id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   133
 * @uses bbp_get_user_id() To get the user id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   134
 * @uses get_userdata() To get the user data
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   135
 * @uses apply_filters() Calls 'bbp_get_user_blog_role' with the role and user id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   136
 * @return string
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   137
 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   138
function bbp_get_user_blog_role( $user_id = 0 ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   139
	global $wp_roles;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   140
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   141
	// This really shold not be necessary anymore, and will likely be removed
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   142
	// at a later date. If roles aren't loaded yet, something else is wrong.
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   143
	if ( ! isset( $wp_roles ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   144
		$wp_roles = new WP_Roles();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   145
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   146
	// Validate user id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   147
	$user_id   = bbp_get_user_id( $user_id, false, false );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   148
	$user      = get_userdata( $user_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   149
	$role      = false;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   150
	$all_roles = apply_filters( 'editable_roles', $wp_roles->roles );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   151
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   152
	// User has roles so lets
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   153
	if ( ! empty( $user->roles ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   154
		$roles = array_intersect( array_values( $user->roles ), array_keys( $all_roles ) );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   155
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   156
		// If there's a role in the array, use the first one
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   157
		if ( !empty( $roles ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   158
			$role = array_shift( array_values( $roles ) );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   159
		}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   160
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   161
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   162
	return apply_filters( 'bbp_get_user_blog_role', $role, $user_id, $user );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   163
}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   164
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   165
/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   166
 * Helper function hooked to 'bbp_edit_user_profile_update' action to save or
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   167
 * update user roles and capabilities.
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   168
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   169
 * @since bbPress (r4235)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   170
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   171
 * @param int $user_id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   172
 * @uses bbp_reset_user_caps() to reset caps
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   173
 * @usse bbp_save_user_caps() to save caps
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   174
 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   175
function bbp_profile_update_role( $user_id = 0 ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   176
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   177
	// Bail if no user ID was passed
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   178
	if ( empty( $user_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   179
		return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   180
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   181
	// Bail if no role
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   182
	if ( ! isset( $_POST['bbp-forums-role'] ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   183
		return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   184
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   185
	// Fromus role we want the user to have
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   186
	$new_role    = sanitize_text_field( $_POST['bbp-forums-role'] );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   187
	$forums_role = bbp_get_user_role( $user_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   188
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   189
	// Set the new forums role
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   190
	if ( $new_role != $forums_role ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   191
		bbp_set_user_role( $user_id, $new_role );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   192
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   193
}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   194
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   195
/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   196
 * Add the default role to the current user if needed
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   197
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   198
 * This function will bail if the forum is not global in a multisite
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   199
 * installation of WordPress, or if the user is marked as spam or deleted.
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   200
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   201
 * @since bbPress (r3380)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   202
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   203
 * @uses is_user_logged_in() To bail if user is not logged in
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   204
 * @uses bbp_get_user_role() To bail if user already has a role
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   205
 * @uses bbp_is_user_inactive() To bail if user is inactive
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   206
 * @uses bbp_allow_global_access() To know whether to save role to database
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   207
 * @uses bbp_get_user_role_map() To get the WP to BBP role map array
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   208
 * @uses bbp_get_default_role() To get the site's default forums role
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   209
 * @uses get_option()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   210
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   211
 * @return If not multisite, not global, or user is deleted/spammed
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   212
 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   213
function bbp_set_current_user_default_role() {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   214
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   215
	/** Sanity ****************************************************************/
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   216
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   217
	// Bail if deactivating bbPress
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   218
	if ( bbp_is_deactivation() )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   219
		return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   220
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   221
	// Catch all, to prevent premature user initialization
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   222
	if ( ! did_action( 'set_current_user' ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   223
		return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   224
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   225
	// Bail if not logged in or already a member of this site
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   226
	if ( ! is_user_logged_in() )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   227
		return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   228
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   229
	// Get the current user ID
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   230
	$user_id = bbp_get_current_user_id();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   231
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   232
	// Bail if user already has a forums role
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   233
	if ( bbp_get_user_role( $user_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   234
		return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   235
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   236
	// Bail if user is marked as spam or is deleted
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   237
	if ( bbp_is_user_inactive( $user_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   238
		return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   239
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   240
	/** Ready *****************************************************************/
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   241
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   242
	// Load up bbPress once
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   243
	$bbp         = bbpress();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   244
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   245
	// Get whether or not to add a role to the user account
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   246
	$add_to_site = bbp_allow_global_access();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   247
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   248
	// Get the current user's WordPress role. Set to empty string if none found.
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   249
	$user_role   = bbp_get_user_blog_role( $user_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   250
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   251
	// Get the role map
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   252
	$role_map    = bbp_get_user_role_map();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   253
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   254
	/** Forum Role ************************************************************/
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   255
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   256
	// Use a mapped role
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   257
	if ( isset( $role_map[$user_role] ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   258
		$new_role = $role_map[$user_role];
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   259
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   260
	// Use the default role
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   261
	} else {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   262
		$new_role = bbp_get_default_role();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   263
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   264
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   265
	/** Add or Map ************************************************************/
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   266
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   267
	// Add the user to the site
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   268
	if ( true == $add_to_site ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   269
		$bbp->current_user->add_role( $new_role );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   270
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   271
	// Don't add the user, but still give them the correct caps dynamically
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   272
	} else {		
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   273
		$bbp->current_user->caps[$new_role] = true;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   274
		$bbp->current_user->get_role_caps();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   275
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   276
}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   277
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   278
/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   279
 * Return a map of WordPress roles to bbPress roles. Used to automatically grant
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   280
 * appropriate bbPress roles to WordPress users that wouldn't already have a
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   281
 * role in the forums. Also guarantees WordPress admins get the Keymaster role.
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   282
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   283
 * @since bbPress (r4334)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   284
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   285
 * @return array Filtered array of WordPress roles to bbPress roles
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   286
 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   287
function bbp_get_user_role_map() {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   288
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   289
	// Get the default role once here
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   290
	$default_role = bbp_get_default_role();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   291
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   292
	// Return filtered results, forcing admins to keymasters.
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   293
	return (array) apply_filters( 'bbp_get_user_role_map', array (
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   294
		'administrator' => bbp_get_keymaster_role(),
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   295
		'editor'        => $default_role,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   296
		'author'        => $default_role,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   297
		'contributor'   => $default_role,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   298
		'subscriber'    => $default_role
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   299
	) );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   300
}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   301
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   302
/** User Status ***************************************************************/
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   303
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   304
/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   305
 * Checks if the user has been marked as a spammer.
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   306
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   307
 * @since bbPress (r3355)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   308
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   309
 * @param int $user_id int The ID for the user.
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   310
 * @return bool True if spammer, False if not.
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   311
 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   312
function bbp_is_user_spammer( $user_id = 0 ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   313
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   314
	// Default to current user
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   315
	if ( empty( $user_id ) && is_user_logged_in() )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   316
		$user_id = bbp_get_current_user_id();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   317
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   318
	// No user to check
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   319
	if ( empty( $user_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   320
		return false;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   321
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   322
	// Assume user is not spam
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   323
	$is_spammer = false;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   324
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   325
	// Get user data
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   326
	$user = get_userdata( $user_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   327
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   328
	// No user found
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   329
	if ( empty( $user ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   330
		$is_spammer = false;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   331
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   332
	// Check if spam
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   333
	} elseif ( !empty( $user->spam ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   334
		$is_spammer = true;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   335
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   336
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   337
	return (bool) apply_filters( 'bp_core_is_user_spammer', $is_spammer );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   338
}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   339
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   340
/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   341
 * Mark a users topics and replies as spam when the user is marked as spam
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   342
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   343
 * @since bbPress (r3405)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   344
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   345
 * @global WPDB $wpdb
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   346
 * @param int $user_id Optional. User ID to spam. Defaults to displayed user.
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   347
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   348
 * @uses bbp_is_single_user()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   349
 * @uses bbp_is_user_home()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   350
 * @uses bbp_get_displayed_user_field()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   351
 * @uses is_super_admin()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   352
 * @uses get_blogs_of_user()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   353
 * @uses get_current_blog_id()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   354
 * @uses bbp_get_topic_post_type()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   355
 * @uses bbp_get_reply_post_type()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   356
 * @uses switch_to_blog()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   357
 * @uses get_post_type()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   358
 * @uses bbp_spam_topic()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   359
 * @uses bbp_spam_reply()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   360
 * @uses restore_current_blog()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   361
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   362
 * @return If no user ID passed
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   363
 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   364
function bbp_make_spam_user( $user_id = 0 ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   365
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   366
	// Use displayed user if it's not yourself
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   367
	if ( empty( $user_id ) && bbp_is_single_user() && !bbp_is_user_home() )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   368
		$user_id = bbp_get_displayed_user_id();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   369
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   370
	// Bail if no user ID
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   371
	if ( empty( $user_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   372
		return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   373
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   374
	// Bail if user ID is super admin
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   375
	if ( is_super_admin( $user_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   376
		return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   377
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   378
	// Arm the torpedos
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   379
	global $wpdb;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   380
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   381
	// Get the blog IDs of the user to mark as spam
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   382
	$blogs = get_blogs_of_user( $user_id, true );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   383
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   384
	// If user has no blogs, they are a guest on this site
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   385
	if ( empty( $blogs ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   386
		$blogs[$wpdb->blogid] = array();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   387
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   388
	// Make array of post types to mark as spam
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   389
	$post_types  = array( bbp_get_topic_post_type(), bbp_get_reply_post_type() );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   390
	$post_types  = "'" . implode( "', '", $post_types ) . "'";
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   391
	$status      = bbp_get_public_status_id();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   392
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   393
	// Loop through blogs and remove their posts
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   394
	foreach ( (array) array_keys( $blogs ) as $blog_id ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   395
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   396
		// Switch to the blog ID
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   397
		switch_to_blog( $blog_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   398
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   399
		// Get topics and replies
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   400
		$posts = $wpdb->get_col( "SELECT ID FROM {$wpdb->posts} WHERE post_author = {$user_id} AND post_status = '{$status}' AND post_type IN ({$post_types})" );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   401
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   402
		// Loop through posts and spam them
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   403
		if ( !empty( $posts ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   404
			foreach ( $posts as $post_id ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   405
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   406
				// The routines for topics ang replies are different, so use the
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   407
				// correct one based on the post type
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   408
				switch ( get_post_type( $post_id ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   409
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   410
					case bbp_get_topic_post_type() :
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   411
						bbp_spam_topic( $post_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   412
						break;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   413
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   414
					case bbp_get_reply_post_type() :
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   415
						bbp_spam_reply( $post_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   416
						break;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   417
				}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   418
			}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   419
		}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   420
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   421
		// Switch back to current blog
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   422
		restore_current_blog();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   423
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   424
}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   425
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   426
/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   427
 * Mark a users topics and replies as spam when the user is marked as spam
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   428
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   429
 * @since bbPress (r3405)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   430
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   431
 * @global WPDB $wpdb
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   432
 * @param int $user_id Optional. User ID to unspam. Defaults to displayed user.
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   433
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   434
 * @uses bbp_is_single_user()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   435
 * @uses bbp_is_user_home()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   436
 * @uses bbp_get_displayed_user_field()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   437
 * @uses is_super_admin()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   438
 * @uses get_blogs_of_user()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   439
 * @uses bbp_get_topic_post_type()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   440
 * @uses bbp_get_reply_post_type()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   441
 * @uses switch_to_blog()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   442
 * @uses get_post_type()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   443
 * @uses bbp_unspam_topic()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   444
 * @uses bbp_unspam_reply()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   445
 * @uses restore_current_blog()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   446
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   447
 * @return If no user ID passed
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   448
 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   449
function bbp_make_ham_user( $user_id = 0 ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   450
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   451
	// Use displayed user if it's not yourself
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   452
	if ( empty( $user_id ) && bbp_is_single_user() && !bbp_is_user_home() )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   453
		$user_id = bbp_get_displayed_user_field();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   454
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   455
	// Bail if no user ID
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   456
	if ( empty( $user_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   457
		return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   458
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   459
	// Bail if user ID is super admin
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   460
	if ( is_super_admin( $user_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   461
		return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   462
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   463
	// Arm the torpedos
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   464
	global $wpdb;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   465
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   466
	// Get the blog IDs of the user to mark as spam
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   467
	$blogs = get_blogs_of_user( $user_id, true );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   468
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   469
	// If user has no blogs, they are a guest on this site
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   470
	if ( empty( $blogs ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   471
		$blogs[$wpdb->blogid] = array();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   472
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   473
	// Make array of post types to mark as spam
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   474
	$post_types = array( bbp_get_topic_post_type(), bbp_get_reply_post_type() );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   475
	$post_types = "'" . implode( "', '", $post_types ) . "'";
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   476
	$status     = bbp_get_spam_status_id();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   477
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   478
	// Loop through blogs and remove their posts
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   479
	foreach ( (array) array_keys( $blogs ) as $blog_id ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   480
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   481
		// Switch to the blog ID
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   482
		switch_to_blog( $blog_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   483
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   484
		// Get topics and replies
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   485
		$posts = $wpdb->get_col( "SELECT ID FROM {$wpdb->posts} WHERE post_author = {$user_id} AND post_status = '{$status}' AND post_type IN ({$post_types})" );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   486
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   487
		// Loop through posts and spam them
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   488
		if ( !empty( $posts ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   489
			foreach ( $posts as $post_id ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   490
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   491
				// The routines for topics ang replies are different, so use the
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   492
				// correct one based on the post type
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   493
				switch ( get_post_type( $post_id ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   494
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   495
					case bbp_get_topic_post_type() :
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   496
						bbp_unspam_topic( $post_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   497
						break;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   498
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   499
					case bbp_get_reply_post_type() :
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   500
						bbp_unspam_reply( $post_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   501
						break;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   502
				}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   503
			}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   504
		}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   505
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   506
		// Switch back to current blog
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   507
		restore_current_blog();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   508
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   509
}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   510
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   511
/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   512
 * Checks if the user has been marked as deleted.
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   513
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   514
 * @since bbPress (r3355)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   515
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   516
 * @param int $user_id int The ID for the user.
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   517
 * @return bool True if deleted, False if not.
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   518
 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   519
function bbp_is_user_deleted( $user_id = 0 ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   520
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   521
	// Default to current user
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   522
	if ( empty( $user_id ) && is_user_logged_in() )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   523
		$user_id = bbp_get_current_user_id();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   524
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   525
	// No user to check
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   526
	if ( empty( $user_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   527
		return false;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   528
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   529
	// Assume user is not deleted
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   530
	$is_deleted = false;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   531
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   532
	// Get user data
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   533
	$user = get_userdata( $user_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   534
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   535
	// No user found
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   536
	if ( empty( $user ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   537
		$is_deleted = true;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   538
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   539
	// Check if deleted
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   540
	} elseif ( !empty( $user->deleted ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   541
		$is_deleted = true;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   542
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   543
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   544
	return (bool) apply_filters( 'bp_core_is_user_deleted', $is_deleted );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   545
}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   546
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   547
/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   548
 * Checks if user is active
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   549
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   550
 * @since bbPress (r3502)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   551
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   552
 * @uses is_user_logged_in() To check if user is logged in
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   553
 * @uses bbp_get_displayed_user_id() To get current user ID
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   554
 * @uses bbp_is_user_spammer() To check if user is spammer
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   555
 * @uses bbp_is_user_deleted() To check if user is deleted
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   556
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   557
 * @param int $user_id The user ID to check
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   558
 * @return bool True if public, false if not
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   559
 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   560
function bbp_is_user_active( $user_id = 0 ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   561
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   562
	// Default to current user
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   563
	if ( empty( $user_id ) && is_user_logged_in() )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   564
		$user_id = bbp_get_current_user_id();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   565
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   566
	// No user to check
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   567
	if ( empty( $user_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   568
		return false;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   569
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   570
	// Check spam
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   571
	if ( bbp_is_user_spammer( $user_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   572
		return false;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   573
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   574
	// Check deleted
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   575
	if ( bbp_is_user_deleted( $user_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   576
		return false;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   577
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   578
	// Assume true if not spam or deleted
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   579
	return true;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   580
}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   581
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   582
/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   583
 * Checks if user is not active.
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   584
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   585
 * @since bbPress (r3502)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   586
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   587
 * @uses is_user_logged_in() To check if user is logged in
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   588
 * @uses bbp_get_displayed_user_id() To get current user ID
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   589
 * @uses bbp_is_user_active() To check if user is active
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   590
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   591
 * @param int $user_id The user ID to check. Defaults to current user ID
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   592
 * @return bool True if inactive, false if active
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   593
 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   594
function bbp_is_user_inactive( $user_id = 0 ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   595
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   596
	// Default to current user
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   597
	if ( empty( $user_id ) && is_user_logged_in() )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   598
		$user_id = bbp_get_current_user_id();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   599
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   600
	// No user to check
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   601
	if ( empty( $user_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   602
		return false;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   603
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   604
	// Return the inverse of active
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   605
	return !bbp_is_user_active( $user_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   606
}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   607
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   608
/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   609
 * Does a user have a profile for the current site
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   610
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   611
 * @since bbPress (r4362)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   612
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   613
 * @param int $user_id User ID to check
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   614
 * @param int $blog_id Blog ID to check
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   615
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   616
 * @uses bbp_get_user_id() To verify the user ID
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   617
 * @uses get_userdata() To get the user's data
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   618
 * @uses is_super_admin() To determine if user can see inactive users
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   619
 * @uses bbp_is_user_inactive() To check if user is spammer or deleted
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   620
 * @uses apply_filters() To allow override of this functions result
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   621
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   622
 * @return boolean Whether or not the user has a profile on this blog_id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   623
 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   624
function bbp_user_has_profile( $user_id = 0 ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   625
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   626
	// Assume every user has a profile
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   627
	$retval  = true;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   628
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   629
	// Validate user ID, default to displayed or current user
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   630
	$user_id = bbp_get_user_id( $user_id, true, true );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   631
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   632
	// Try to get this user's data
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   633
	$user    = get_userdata( $user_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   634
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   635
	// No user found, return false
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   636
	if ( empty( $user ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   637
		$retval = false;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   638
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   639
	// User is inactive, and current user is not a super admin
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   640
	} elseif ( ! is_super_admin() && bbp_is_user_inactive( $user->ID ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   641
		$retval = false;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   642
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   643
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   644
	// Filter and return
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   645
	return (bool) apply_filters( 'bbp_show_user_profile', $retval, $user_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   646
}