本文整理汇总了PHP中WP_User::add_role方法的典型用法代码示例。如果您正苦于以下问题:PHP WP_User::add_role方法的具体用法?PHP WP_User::add_role怎么用?PHP WP_User::add_role使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WP_User
的用法示例。
在下文中一共展示了WP_User::add_role方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: fes_22_upgrade_vendor_permissions
/**
* Upgrades vendor permissions
*
* @since 2.2
* @return void
*/
function fes_22_upgrade_vendor_permissions()
{
$fes_version = get_option('fes_db_version', '2.1');
if (version_compare($fes_version, '2.2', '>=')) {
return;
}
ignore_user_abort(true);
if (!edd_is_func_disabled('set_time_limit') && !ini_get('safe_mode')) {
set_time_limit(0);
}
$step = isset($_GET['step']) ? absint($_GET['step']) : 1;
$offset = $step == 1 ? 0 : $step * 100;
$users = new WP_User_Query(array('fields' => 'ID', 'number' => 100, 'offset' => $offset));
$users = $users->results;
if ($users && count($users) > 0) {
foreach ($users as $user => $id) {
if (user_can($id, 'fes_is_vendor') && !user_can($id, 'fes_is_admin') && !user_can($id, 'administrator') && !user_can($id, 'editor')) {
$user = new WP_User($id);
$user->add_role('frontend_vendor');
}
}
// Keys found so upgrade them
$step++;
$redirect = add_query_arg(array('page' => 'fes-upgrades', 'edd_upgrade' => 'upgrade_vendor_permissions', 'step' => $step), admin_url('index.php'));
wp_redirect($redirect);
exit;
} else {
// No more keys found, update the DB version and finish up
update_option('fes_db_version', fes_plugin_version);
wp_redirect(admin_url('admin.php?page=fes-about'));
exit;
}
}
示例2:
function bp_course_convert_customer_to_student($order_id)
{
$order = new WC_Order($order_id);
if ($order->user_id > 0) {
$user = new WP_User($order->user_id);
$user->remove_role('customer');
$user->add_role('student');
}
}
示例3: ao_edd_set_customer_role
function ao_edd_set_customer_role($payment_id)
{
$email = edd_get_payment_user_email($payment_id);
$downloads = edd_get_payment_meta_downloads($payment_id);
$user_id = edd_get_payment_user_id($payment_id);
if ($user_id) {
$user = new WP_User($user_id);
// Add role
$user->add_role('buyer');
}
}
示例4: wpec_members_save_user
function wpec_members_save_user($user_id, $length, $role)
{
$add_user = new WP_User($user_id);
//$members_lengths = array();
$members_lengths = get_user_meta($user_id, '_subscription_ends', true);
$members_starts = get_user_meta($user_id, '_subscription_starts', true);
$future_time = mktime(date('h'), date('m'), date('s') + $length, date('m'), date('d'), date('Y'));
$current_time = time();
$members_lengths[$role] = $future_time;
$members_starts[$role] = $current_time;
$add_user->add_cap($role, true);
//$subscription_lengths = array();
$subscription_lengths = get_user_meta($user_id, '_subscription_length', true);
$subscription_lengths[$role] = $length;
// dont think we need this line...
$add_user->add_role('subscriber');
update_user_meta($user_id, '_subscription_ends', $members_lengths);
update_user_meta($user_id, '_subscription_length', $subscription_lengths);
update_user_meta($user_id, '_subscription_starts', $members_starts);
update_user_meta($user_id, '_has_current_subscription', 'true');
}
示例5: ProcessNewUser
static function ProcessNewUser($user_id)
{
if (@$_POST["dsidxpress"] != "1") {
return;
}
$new_user = new WP_User($user_id);
$new_user->add_role(dsSearchAgent_Roles::$Role_Name);
$referring_url = $_SERVER['HTTP_REFERER'];
$post_vars = array();
$post_vars["propertyID"] = $_POST["propertyID"];
$post_vars["firstName"] = $_POST["first_name"];
$post_vars["lastName"] = $_POST["last_name"];
$post_vars["phoneNumber"] = $_POST["phone_number"];
$post_vars["emailAddress"] = $_POST["user_email"];
$post_vars["scheduleYesNo"] = "";
$post_vars["scheduleDateDay"] = "1";
$post_vars["scheduleDateMonth"] = "1";
$post_vars["comments"] = "";
$post_vars["referringURL"] = $referring_url;
//$post_vars["returnURL"] = $_POST[""];
$apiHttpResponse = dsSearchAgent_ApiRequest::FetchData("ContactForm", $post_vars, false, 0);
wp_set_auth_cookie($user_id, true, is_ssl());
}
示例6: pw_affwp_set_role_on_registration
/**
* Plugin Name: AffiliateWP - Affiliate role on registration
* Plugin URI: http://affiliatewp.com
* Description: Sets an affiliate user's role to a specific role when being added as an affiliate
* Author: Pippin Williamson
* Author URI: http://pippinsplugins.com
* Version: 1.0
*/
function pw_affwp_set_role_on_registration($affiliate_id = 0)
{
$user_id = affwp_get_affiliate_user_id($affiliate_id);
$user = new WP_User($user_id);
$user->add_role('affiliate');
}
开发者ID:companyjuice,项目名称:affiliatewp-code-snippet-library,代码行数:14,代码来源:affiliate-role-on-registration.php
示例7: unaffectUsersToGroup
/**
* D�saffecte des utilisateurs � un role
* @param $code identifiant du role
*/
function unaffectUsersToGroup($code)
{
// ROLES
$roles = get_option('wp_user_roles', array());
// Si le role existe
if (isset($roles[$code])) {
$wps_customer_mdl = new wps_customer_mdl();
$users = $wps_customer_mdl->getUserList();
if (!empty($users)) {
foreach ($users as $user) {
$u = new WP_User($user->ID);
// Si l'utilisateur poss�de le role, on le retire de sa liste de droits
if (isset($u->roles[0]) && $u->roles[0] == $code) {
$u->remove_role($u->roles[0]);
$u->add_role('subscriber');
}
}
}
}
}
示例8: array
function test_user_level_update() {
// make sure the user_level is correctly set and changed with the user's role
// user starts as an author
$id = $this->factory->user->create( array( 'role' => 'author' ) );
$user = new WP_User($id);
$this->assertTrue($user->exists(), "Problem getting user $id");
// author = user level 2
$this->assertEquals( 2, $user->user_level );
// they get promoted to editor - level should get bumped to 7
$user->set_role('editor');
$this->assertEquals( 7, $user->user_level );
// demoted to contributor - level is reduced to 1
$user->set_role('contributor');
$this->assertEquals( 1, $user->user_level );
// if they have two roles, user_level should be the max of the two
$user->add_role('editor');
$this->assertEquals(array('contributor', 'editor'), $user->roles);
$this->assertEquals( 7, $user->user_level );
}
示例9: rcp_process_registration
//.........这里部分代码省略.........
$subscription_key = rcp_generate_subscription_key();
$old_subscription_id = $member->get_subscription_id();
if ($old_subscription_id) {
update_user_meta($user_data['id'], '_rcp_old_subscription_id', $old_subscription_id);
}
if (!$member->is_active()) {
update_user_meta($user_data['id'], 'rcp_subscription_level', $subscription_id);
update_user_meta($user_data['id'], 'rcp_subscription_key', $subscription_key);
// Ensure no pending level details are set
delete_user_meta($user_data['id'], 'rcp_pending_subscription_level');
delete_user_meta($user_data['id'], 'rcp_pending_subscription_key');
$member->set_status('pending');
} else {
// If the member is already active, we need to set these as pending changes
update_user_meta($user_data['id'], 'rcp_pending_subscription_level', $subscription_id);
update_user_meta($user_data['id'], 'rcp_pending_subscription_key', $subscription_key);
// Flag the member as having just upgraded
update_user_meta($user_data['id'], '_rcp_just_upgraded', current_time('timestamp'));
}
$member->set_joined_date('', $subscription_id);
// Calculate the expiration date for the member
$member_expires = $member->calculate_expiration($auto_renew);
update_user_meta($user_data['id'], 'rcp_pending_expiration_date', $member_expires);
// remove the user's old role, if this is a new user, we need to replace the default role
$old_role = get_option('default_role', 'subscriber');
if ($old_subscription_id) {
$old_level = $rcp_levels_db->get_level($old_subscription_id);
$old_role = !empty($old_level->role) ? $old_level->role : $old_role;
}
$member->remove_role($old_role);
// Set the user's role
$role = !empty($subscription->role) ? $subscription->role : 'subscriber';
$user = new WP_User($user_data['id']);
$user->add_role(apply_filters('rcp_default_user_level', $role, $subscription_id));
do_action('rcp_form_processing', $_POST, $user_data['id'], $price);
// process a paid subscription
if ($price > '0') {
if (!empty($discount)) {
$discounts = new RCP_Discounts();
$discount_obj = $discounts->get_by('code', $discount);
// record the usage of this discount code
$discounts->add_to_user($user_data['id'], $discount);
// increase the usage count for the code
$discounts->increase_uses($discount_obj->id);
// if the discount is 100%, log the user in and redirect to success page
if ($full_discount) {
$member->set_expiration_date($member_expires);
$member->set_status('active');
rcp_login_user_in($user_data['id'], $user_data['login']);
wp_redirect(rcp_get_return_url($user_data['id']));
exit;
}
}
// Remove trialing status, if it exists
delete_user_meta($user_data['id'], 'rcp_is_trialing');
// log the new user in
rcp_login_user_in($user_data['id'], $user_data['login']);
$redirect = rcp_get_return_url($user_data['id']);
$subscription_data = array('price' => rcp_get_registration()->get_total(true, false), 'discount' => rcp_get_registration()->get_total_discounts(), 'discount_code' => $discount, 'fee' => rcp_get_registration()->get_total_fees(), 'length' => $subscription->duration, 'length_unit' => strtolower($subscription->duration_unit), 'subscription_id' => $subscription->id, 'subscription_name' => $subscription->name, 'key' => $subscription_key, 'user_id' => $user_data['id'], 'user_name' => $user_data['login'], 'user_email' => $user_data['email'], 'currency' => $rcp_options['currency'], 'auto_renew' => $auto_renew, 'return_url' => $redirect, 'new_user' => $user_data['need_new'], 'post_data' => $_POST);
// if giving the user a credit, make sure the credit does not exceed the first payment
if ($subscription_data['fee'] < 0 && abs($subscription_data['fee']) > $subscription_data['price']) {
$subscription_data['fee'] = -1 * $subscription_data['price'];
}
update_user_meta($user_data['id'], 'rcp_pending_subscription_amount', $subscription_data['price'] + $subscription_data['fee']);
// send all of the subscription data off for processing by the gateway
rcp_send_to_gateway($gateway, apply_filters('rcp_subscription_data', $subscription_data));
示例10: rcp_process_registration
//.........这里部分代码省略.........
}
if( $user_data['need_new'] ) {
$user_data['id'] = wp_insert_user( array(
'user_login' => $user_data['login'],
'user_pass' => $user_data['password'],
'user_email' => $user_data['email'],
'first_name' => $user_data['first_name'],
'last_name' => $user_data['last_name'],
'user_registered' => date( 'Y-m-d H:i:s' )
)
);
}
if( $user_data['id'] ) {
if( ! rcp_is_active( $user_data['id'] ) ) {
rcp_set_status( $user_data['id'], 'pending' );
}
// setup a unique key for this subscription
$subscription_key = rcp_generate_subscription_key();
update_user_meta( $user_data['id'], 'rcp_subscription_key', $subscription_key );
update_user_meta( $user_data['id'], 'rcp_subscription_level', $subscription_id );
rcp_set_expiration_date( $user_data['id'], $member_expires );
// Set the user's role
$role = ! empty( $subscription->role ) ? $subscription->role : 'subscriber';
$user = new WP_User( $user_data['id'] );
$user->add_role( apply_filters( 'rcp_default_user_level', $role, $subscription_id ) );
do_action( 'rcp_form_processing', $_POST, $user_data['id'], $price );
// process a paid subscription
if( $price > '0' ) {
if( ! empty( $discount ) ) {
// record the usage of this discount code
$discounts->add_to_user( $user_data['id'], $discount );
// incrase the usage count for the code
$discounts->increase_uses( $discount_obj->id );
// if the discount is 100%, log the user in and redirect to success page
if( $price == '0' ) {
rcp_set_status( $user_data['id'], 'active' );
rcp_email_subscription_status( $user_data['id'], 'active' );
rcp_login_user_in( $user_data['id'], $user_data['login'] );
wp_redirect( rcp_get_return_url( $user_data['id'] ) ); exit;
}
}
// Determine auto renew behavior
if( '3' == rcp_get_auto_renew_behavior() && isset( $_POST['rcp_auto_renew'] ) ) {
$auto_renew = true;
} elseif( '1' == rcp_get_auto_renew_behavior() ) {
$auto_renew = true;
示例11: wp_user_parents_add_child
/**
* Maybe add a child from the "Children" section
*
* @since 0.1.0
*/
function wp_user_parents_add_child()
{
// Bail if no signup nonce
if (empty($_REQUEST['signup_nonce'])) {
return;
}
// Bail if nonce fails
if (!wp_verify_nonce($_REQUEST['signup_nonce'], 'wp_user_dashboard_child_signup')) {
return;
}
// Bail if current user cannot have children
if (!current_user_can('have_user_children')) {
return;
}
// Sanitize fields
$redirect = false;
$email = sanitize_email($_REQUEST['email']);
$firstname = !empty($_REQUEST['firstname']) ? $_REQUEST['firstname'] : '';
$lastname = !empty($_REQUEST['lastname']) ? $_REQUEST['lastname'] : '';
$password = !empty($_REQUEST['password']) ? $_REQUEST['password'] : wp_generate_password(12, false);
$username = !empty($_REQUEST['username']) ? $_REQUEST['username'] : "{$firstname}-{$lastname}";
// Names are empty
if (empty($firstname) || empty($lastname) || strlen($firstname) < 2 || strlen($lastname) < 2) {
$args = array('error' => 'name');
$url = wp_get_user_dashboard_url('children');
$redirect = add_query_arg($args, $url);
}
// Username exists
if (username_exists($username) || strlen($username) < 4) {
$args = array('error' => 'username');
$url = wp_get_user_dashboard_url('children');
$redirect = add_query_arg($args, $url);
}
// Email exists
if (email_exists($email)) {
$args = array('error' => 'username');
$url = wp_get_user_dashboard_url('children');
$redirect = add_query_arg($args, $url);
}
// Redirect
if (!empty($redirect)) {
wp_safe_redirect($redirect);
exit;
}
// Requires activation
if (is_multisite() && apply_filters('wp_join_page_requires_activation', true)) {
wpmu_signup_user($username, $email, array('add_to_blog' => get_current_blog_id(), 'new_role' => get_option('default_role'), 'first_name' => $firstname, 'last_name' => $lastname));
}
// Create the user account
$user_id = wpmu_create_user(esc_html(sanitize_key($username)), $password, $email);
// Bail if no user ID for site
if (empty($user_id)) {
$args = array('error' => 'unknown');
$url = wp_get_user_dashboard_url('children');
$redirect = add_query_arg($args, $url);
}
// Get new userdata
$user = new WP_User($user_id);
$user->add_role('pending');
// Get the current user ID
$current_user_id = get_current_user_id();
// Save fullname to usermeta
update_user_meta($user->ID, 'first_name', $firstname);
update_user_meta($user->ID, 'last_name', $lastname);
add_user_meta($user->ID, 'user_parent', $current_user_id, false);
// Do action
do_action('wp_user_parents_added_child', $user, $current_user_id);
// Redirect
$args = array('success' => 'yay');
$url = wp_get_user_dashboard_url('children');
$redirect = add_query_arg($args, $url);
wp_safe_redirect($redirect);
die;
}
示例12: isset
function process_bulk_action()
{
$ids = isset($_GET['vendor']) ? $_GET['vendor'] : false;
if (empty($ids)) {
return;
}
if (!is_array($ids)) {
$ids = array($ids);
}
$current_action = $_GET['action'];
foreach ($ids as $id) {
if ('approve_vendor' === $current_action) {
if ($id < 2) {
break;
}
if (user_can($id, 'fes_is_admin') || user_can($id, 'frontend_vendor')) {
break;
}
if (!user_can($id, 'pending_vendor')) {
break;
}
$user = new WP_User($id);
$user->remove_role('pending_vendor');
$user->add_role('frontend_vendor');
$from_name = isset($edd_options['from_name']) ? $edd_options['from_name'] : get_bloginfo('name');
$from_email = isset($edd_options['from_email']) ? $edd_options['from_email'] : get_option('admin_email');
$subject = apply_filters('fes_application_approved_message_subj', __('Application Approved', 'edd_fes'), 0);
$message = EDD_FES()->helper->get_option('fes-vendor-app-approved-email', '');
$type = "user";
$args['permissions'] = 'fes-vendor-app-approved-email-toggle';
EDD_FES()->emails->send_email($user->user_email, $from_name, $from_email, $subject, $message, $type, $id, $args);
do_action('fes_approve_vendor_admin', $id);
if (isset($_GET['redirect']) && $_GET['redirect'] == '2') {
wp_redirect(admin_url('admin.php?page=fes-vendors&vendor=' . $id . '&action=edit&approved=2'));
exit;
}
}
if ('revoke_vendor' === $current_action) {
if ($id < 2) {
break;
}
if (!(user_can($id, 'fes_is_admin') || user_can($id, 'frontend_vendor'))) {
break;
}
$user = new WP_User($id);
$user->remove_role('frontend_vendor');
$user->remove_cap('fes_is_admin');
$user->add_role('subscriber');
// remove all their posts
$args = array('post_type' => 'download', 'author' => $id, 'posts_per_page' => -1, 'fields' => 'ids', 'post_status' => 'any');
$query = new WP_Query($args);
foreach ($query->posts as $id) {
wp_delete_post($id, false);
}
$to = $user->user_email;
$from_name = isset($edd_options['from_name']) ? $edd_options['from_name'] : get_bloginfo('name');
$from_email = isset($edd_options['from_email']) ? $edd_options['from_email'] : get_option('admin_email');
$subject = apply_filters('fes_application_revoked_message_subj', __('Application Revoked', 'edd_fes'), 0);
$message = EDD_FES()->helper->get_option('fes-vendor-app-revoked-email', '');
$type = "user";
$id = $id;
$args['permissions'] = 'fes-vendor-app-revoked-email-toggle';
EDD_FES()->emails->send_email($to, $from_name, $from_email, $subject, $message, $type, $id, $args);
do_action('fes_revoke_vendor_admin', $id);
}
if ('decline_vendor' === $current_action) {
if ($id < 2) {
break;
}
if (user_can($id, 'fes_is_admin') || user_can($id, 'frontend_vendor')) {
break;
}
if (!user_can($id, 'pending_vendor')) {
break;
}
$user = new WP_User($id);
$user->remove_role('pending_vendor');
$to = $user->user_email;
$from_name = isset($edd_options['from_name']) ? $edd_options['from_name'] : get_bloginfo('name');
$from_email = isset($edd_options['from_email']) ? $edd_options['from_email'] : get_option('admin_email');
$subject = apply_filters('fes_application_declined_message_subj', __('Application Declined', 'edd_fes'), 0);
$message = EDD_FES()->helper->get_option('fes-vendor-app-declined-email', '');
$type = "user";
$id = $id;
$args['permissions'] = 'fes-vendor-app-declined-email-toggle';
EDD_FES()->emails->send_email($to, $from_name, $from_email, $subject, $message, $type, $id, $args);
do_action('fes_decline_vendor_admin', $id);
}
if ('suspend_vendor' === $current_action) {
if ($id < 2) {
break;
}
if (user_can($id, 'pending_vendor')) {
break;
}
if (user_can($id, 'suspended_vendor')) {
break;
}
$user = new WP_User($id);
$user->remove_role('frontend_vendor');
//.........这里部分代码省略.........
示例13: foreach
function merge_user($user_id, $merged_user_id)
{
$user = new WP_User($user_id);
$merged_user = new WP_User($merged_user_id);
$roles = $merged_user->roles;
foreach ($roles as $role) {
$user->add_role($role);
}
wp_delete_user($merged_user_id, $user_id);
if (get_userdata($merged_user_id)) {
echo 'Please contact the site administrator. During the DaCDb update, a duplicate user failed to be deleted. The duplicate is ' . $merged_user_id . ' Trying to merge to user ' . $user_id . ' Current user logged in is ' . get_current_user_id();
}
}
示例14: solvease_roles_capabilities_update_user_role_cap
/**
* update user roles and capabilities
* @param type $user
* @return boolean
*/
public function solvease_roles_capabilities_update_user_role_cap($user_id)
{
// check if its a valid POST
if (!isset($_POST['solvease_user_role_cap_nonce']) || !wp_verify_nonce($_POST['solvease_user_role_cap_nonce'], 'solvease_user_role_cap') || $_POST['user_id'] != $user_id) {
return;
}
$user = new WP_User($user_id);
// capabilities
$capabilities = isset($_POST['cap']) ? array_keys($_POST['cap']) : array();
// all user roles
$all_roles = $this->solvease_roles_capabilities_get_roles();
// primary roles
$primary_role = $_POST['primary_role'];
// secondary roles
$secondary_roles = isset($_POST['secondary_roles']) ? array_keys($_POST['secondary_roles']) : array();
// blank user roles
$user->roles = array();
// remove all user roles
$user->remove_all_caps();
// add primary roles
if ($primary_role != '' && isset($all_roles[$primary_role])) {
$user->add_role($primary_role);
} else {
return FALSE;
}
// add secondary roles
if (!empty($secondary_roles)) {
foreach ($secondary_roles as $secondary_role) {
if (isset($all_roles[$secondary_role]) && $primary_role != $secondary_role) {
$user->add_role($secondary_role);
}
}
}
// add capabilities of user roles
$user->update_user_level_from_caps();
// add capabilities
if (!empty($capabilities)) {
foreach ($capabilities as $capability) {
$user->add_cap($capability);
}
}
return $user;
}
示例15: import_user
/**
* Import a single user
*
* @param array $user
* @return array
*/
protected function import_user($user)
{
$local_user = get_user_by('login', $user['data']['user_login']);
$local_user_object = new WP_User($local_user->ID);
$update = !empty($local_user) ? true : false;
if (!function_exists('wp_insert_user')) {
include_once ABSPATH . 'wp-includes/registration.php';
}
// args used by wp_insert_user & wp_update_user
// makes for an easy merge and a reminder of just what is handled at that time
$insert_user_args = array('user_login' => null, 'user_nicename' => null, 'user_url' => null, 'user_email' => null, 'display_name' => null, 'nickname' => null, 'first_name' => null, 'last_name' => null, 'description' => null, 'rich_editing' => null, 'user_registered' => null, 'role' => null, 'use_ssl' => 0, 'admin_color' => null, 'comment_shortcuts' => null);
foreach (_wp_get_user_contactmethods() as $contact_method => $contact_method_name) {
$insert_user_args[$contact_method] = null;
}
cfd_tmp_dbg('importing_user.txt', $user, 'print');
foreach ($insert_user_args as $key => &$arg) {
if ($key == 'role') {
$arg = $user['roles'][0];
} else {
if (!empty($user['data'][$key])) {
$arg = $user['data'][$key];
}
}
}
cfd_tmp_dbg('importing_user_args.txt', $insert_user_args, 'print');
if ($update) {
$local_userdata = get_object_vars(get_userdata($local_user->ID));
$insert_user_args = array_merge($local_userdata, $insert_user_args);
unset($insert_user_args['user_pass']);
$user_id = wp_update_user($insert_user_args);
} else {
if (email_exists($user['data']['user_email'])) {
$this->add_import_message('users', '__error__', sprintf(__('Email address "%s" already exists for another user', 'cf-deploy'), $user['data']['user_email']));
return false;
}
// set generic password for new user
$insert_user_args['user_password'] = time();
$user_id = wp_insert_user($insert_user_args);
}
if (empty($user_id) || is_wp_error($user_id)) {
$errstring = sprintf(__('Import failed for user "%s".', 'cf-deploy'), $user['data']['user_nicename']);
if (is_wp_error($user_id)) {
$errstring .= ' ' . __('Error:', 'cf-deploy') . ' ' . $user_id->get_error_message();
}
$this->add_import_message('users', '__error__', $errstring);
$ret = false;
} else {
// Set/Update Capabilities & Roles
$u = new WP_User($user_id);
// set roles, remove all existing and replace with what is being brought in
foreach ($u->roles as $role) {
$u->remove_role($role);
}
foreach ($user['roles'] as $role) {
$u->add_role($role);
}
// set caps, remove all existing caps before setting them anew
$u->remove_all_caps();
foreach ($user['caps'] as $cap => $value) {
$u->add_cap($cap, (bool) $value);
}
$this->add_import_message('users', '__notice__', sprintf(__('User "%s" successfully imported.', 'cf-deploy'), $user['data']['user_login']));
$ret = true;
}
$item_change['users'][$user['data']['user_login']] = 'new';
if (!empty($local_user)) {
$log_users = array($local_user_object);
array_walk_recursive($log_users, array($this, 'object_to_array'));
$item_change['users'][$user['data']['user_login']] = current($log_users);
}
$this->log_item_change($item_change);
return $ret;
}