function pre_can_user($verdict, $args) { if (!class_exists('BP_Roles')) { require_once BACKPRESS_PATH . 'class.bp-roles.php'; } if (!class_exists('BP_User')) { require_once BACKPRESS_PATH . 'class.bp-user.php'; } $user = new BP_User($args['user_id']); // 78 = global.wordpress.org. Administrators on this site are considered global admins in GlotPress. if (!empty($user->ros_78_capabilities) && is_array($user->ros_78_capabilities) && !empty($user->ros_78_capabilities['administrator'])) { return true; } if ($args['action'] !== 'approve' || !in_array($args['object_type'], array('project|locale|set-slug', 'translation-set'))) { return false; } if (!($locale_slug = $this->get_locale_slug($args['object_type'], $args['object_id']))) { return false; } if (!($maybe_cap_key = $this->get_cap_key($locale_slug))) { return false; } $user->cap_key = $maybe_cap_key; $user->caps =& $user->{$user->cap_key}; if (!is_array($user->caps)) { $user->caps = array(); } $user->get_role_caps(); foreach (array('administrator', 'editor', 'author', 'contributor', 'validator') as $role) { if ($user->has_cap($role)) { return true; } } return false; }
// Sanitize the profile info keys and check for missing required data foreach ($profile_info_keys as $key => $label) { ${$key} = apply_filters('sanitize_profile_info', $_POST[$key], $key, $_POST[$key]); if (!${$key} && $label[0] == 1) { $errors->add($key, sprintf(__('%s is required.'), esc_html($label[1]))); ${$key} = false; } } // Find out if we have a valid email address if (isset($user_email) && !($user_email = is_email($user_email))) { $errors->add('user_email', __('Invalid email address'), array('data' => $_POST['user_email'])); } // Deal with errors for users who can edit others data if (bb_current_user_can('edit_users')) { // Get the user object $user_obj = new BP_User($user->ID); // If we are deleting just do it and redirect if (isset($_POST['delete-user']) && $_POST['delete-user'] && $bb_current_id != $user->ID) { if (!bb_current_user_can('keep_gate') && 'keymaster' == $user_obj->roles[0]) { /* Only a keymaster can delete another keymaster */ $errors->add('delete', __('You can not delete this user!')); } else { bb_delete_user($user->ID); nxt_redirect(bb_get_uri(null, null, BB_URI_CONTEXT_HEADER)); exit; } } // Store the new role $role = $_POST['role']; // Deal with errors with the role if (!isset($nxt_roles->role_objects[$role])) {
function bb_can_access_tab($profile_tab, $viewer_id, $owner_id) { global $bb_current_user; $viewer_id = (int) $viewer_id; $owner_id = (int) $owner_id; if ($viewer_id == bb_get_current_user_info('id')) { $viewer =& $bb_current_user; } else { $viewer = new BP_User($viewer_id); } if (!$viewer) { return '' === $profile_tab[2]; } if ($owner_id == $viewer_id) { if ('' === $profile_tab[1]) { return true; } else { return $viewer->has_cap($profile_tab[1]); } } else { if ('' === $profile_tab[2]) { return true; } else { return $viewer->has_cap($profile_tab[2]); } } }
function nxt_User($id, $name = '') { return parent::BP_User($id, $name); }
function BP_User($id, $name = '') { parent::WP_User($id, $name); }
/** * Handles the resetting of users' passwords * * Handles resetting a user's password, prompted by an email sent by * {@see bb_reset_email()} * * @since 0.7.2 * @global bbdb $bbdb * * @param string $key * @return unknown */ function bb_reset_password($key) { global $bbdb; $key = sanitize_user($key, true); if (empty($key)) { return new WP_Error('key_not_found', __('Key not found.')); } if (!($user_id = $bbdb->get_var($bbdb->prepare("SELECT user_id FROM {$bbdb->usermeta} WHERE meta_key = 'newpwdkey' AND meta_value = %s", $key)))) { return new WP_Error('key_not_found', __('Key not found.')); } if ($user = new BP_User($user_id)) { if (bb_has_broken_pass($user->ID)) { bb_block_current_user(); } if (!$user->has_cap('change_user_password', $user->ID)) { return new WP_Error('permission_denied', __('You are not allowed to change your password.')); } $newpass = bb_generate_password(); bb_update_user_password($user->ID, $newpass); if (!bb_send_pass($user->ID, $newpass)) { return new WP_Error('sending_mail_failed', __('The email containing the new password could not be sent.')); } else { bb_update_usermeta($user->ID, 'newpwdkey', ''); return true; } } else { return new WP_Error('key_not_found', __('Key not found.')); } }
bb_update_meta($uid, 'first_name', $first_name, 'user'); bb_update_meta($uid, 'last_name', $last_name, 'user'); } // Add users location, occupation, interests, timezone bb_update_meta($uid, 'from', $obj->location, 'user'); bb_update_meta($uid, 'occ', $obj->occupation, 'user'); bb_update_meta($uid, 'interest', $obj->interests, 'user'); bb_update_meta($uid, 'time_zone', $obj->time_zone, 'user'); echo "Update user meta info <br/>"; // Update users joined date and alias $date = date('Y-m-d H:i:s', $obj->join_date); $sql1 = "UPDATE wp_users SET user_registered = '{$date}', display_name = '{$obj->alias}' WHERE ID = {$uid}"; $bbdb->query($sql1); // Update users role switch ($obj->level_id) { case 1: $role = 'seniormember'; break; case 2: $role = 'member'; break; case 3: $role = 'juniormember'; break; } $user_obj = new BP_User($uid); $user_obj->set_role($role); # insert into map_users (fud_users_id, bb_users_ID) values (10213, 9580); $sql2 = "INSERT INTO map_users (fud_users_id, bb_users_ID) values ({$obj->id}, {$uid})"; $bbdb->query($sql2); }
function bb_anon_activate_plugin() { global $bbdb; $bbdb->query("INSERT INTO {$bbdb->users} (user_login,user_nicename, user_registered) VALUES ('anonymous','Anonymous', '" . bb_current_time('mysql') . "')"); if ($anon_id = bb_get_option('bb_anon_user_id')) { $bbdb->query("UPDATE {$bbdb->users} SET ID = {$anon_id} where ID = " . $bbdb->insert_id); } else { $anon_id = $bbdb->insert_id; bb_update_option('bb_anon_user_id', $anon_id); } $user = new BP_User($anon_id); $user->add_role('anonymous'); $user->remove_role('member'); $user->add_cap('anonymous'); $user->remove_cap('member'); }