public function tearDown() { if (get_current_user_id() != $this->current_user) { wp_delete_user(get_current_user_id()); } wp_set_current_user($this->current_user); }
/** * Use this method to prevent excluding something that was not configured by FakerPress * * @param array|int|\WP_User $user The ID for the user or the Object * @return bool */ public static function delete($user) { if (is_array($user)) { $deleted = array(); foreach ($user as $id) { $id = $id instanceof \WP_User ? $id->ID : $id; if (!is_numeric($id)) { continue; } $deleted[$id] = self::delete($id); } return $deleted; } if (is_numeric($user)) { $user = new \WP_User($user); } if (!$user instanceof \WP_User || !$user->exists()) { return false; } $flag = (bool) get_user_meta($user->ID, self::$flag, true); if (true !== $flag) { return false; } return wp_delete_user($user->ID, get_current_user_id()); }
public function __construct() { parent::__construct(site_url('pnfw/unregister/'), 'POST'); global $wpdb; $push_tokens = $wpdb->get_blog_prefix() . 'push_tokens'; $user_id = $wpdb->get_var($wpdb->prepare("SELECT user_id FROM {$push_tokens} WHERE token = %s AND os = %s", $this->token, $this->os)); $res = $wpdb->delete($push_tokens, array("token" => $this->token, "os" => $this->os)); if ($res === false) { $this->json_error('500', __('Unable to delete token', 'pnfw')); } $user = new WP_User($user_id); if (in_array(PNFW_Push_Notifications_for_WordPress_Lite::USER_ROLE, $user->roles) && empty($user->user_email)) { pnfw_log(PNFW_SYSTEM_LOG, sprintf(__("Automatically deleted the anonymous user %s (%s) since left without tokens.", 'pnfw'), $user->user_login, $user_id)); require_once ABSPATH . 'wp-admin/includes/user.php'; if (is_multisite()) { require_once ABSPATH . 'wp-admin/includes/ms.php'; if (is_user_member_of_blog($user_id)) { wpmu_delete_user($user_id); } } else { wp_delete_user($user_id); } } exit; }
/** * Process the request * @todo Setting for reassigning user's posts */ public function process() { // Verify the security nonce and die if it fails if (!isset($_POST['wp_delete_user_accounts_nonce']) || !wp_verify_nonce($_POST['wp_delete_user_accounts_nonce'], 'wp_delete_user_accounts_nonce')) { wp_send_json(array('status' => 'fail', 'title' => __('Error!', 'wp-delete-user-accounts'), 'message' => __('Request failed security check.', 'wp-delete-user-accounts'))); } // Don't permit admins to delete their own accounts if (current_user_can('manage_options')) { wp_send_json(array('status' => 'fail', 'title' => __('Error!', 'wp-delete-user-accounts'), 'message' => __('Administrators cannot delete their own accounts.', 'wp-delete-user-accounts'))); } // Get the current user $user_id = get_current_user_id(); // Get user meta $meta = get_user_meta($user_id); // Delete user's meta foreach ($meta as $key => $val) { delete_user_meta($user_id, $key); } // Destroy user's session wp_logout(); // Delete the user's account $deleted = wp_delete_user($user_id); if ($deleted) { // Send success message wp_send_json(array('status' => 'success', 'title' => __('Success!', 'wp-delete-user-accounts'), 'message' => __('Your account was successfully deleted. Fair well.', 'wp-delete-user-accounts'))); } else { wp_send_json(array('status' => 'fail', 'title' => __('Error!', 'wp-delete-user-accounts'), 'message' => __('Request failed.', 'wp-delete-user-accounts'))); } }
/** * Delete customer and associated WP user if requested. * * @param bool $with_wp_user * @return false|int */ public function deleteWithWPUser($with_wp_user) { if ($with_wp_user && $this->get('wp_user_id') && $this->get('wp_user_id') != get_current_user_id()) { wp_delete_user($this->get('wp_user_id')); } return $this->delete(); }
function sp_cron_remove_users() { require_once ABSPATH . 'wp-admin/includes/user.php'; # make sure auto removal is enabled $sfuser = sp_get_option('sfuserremoval'); if ($sfuser['sfuserremove']) { # see if removing users with no posts if ($sfuser['sfusernoposts']) { $users = spdb_select('set', 'SELECT ' . SFUSERS . '.ID FROM ' . SFUSERS . ' JOIN ' . SFMEMBERS . ' on ' . SFUSERS . '.ID = ' . SFMEMBERS . '.user_id LEFT JOIN ' . SFWPPOSTS . ' ON ' . SFUSERS . '.ID = ' . SFWPPOSTS . '.post_author WHERE user_registered < DATE_SUB(NOW(), INTERVAL ' . $sfuser['sfuserperiod'] . ' DAY) AND post_author IS NULL AND posts < 1'); if ($users) { foreach ($users as $user) { wp_delete_user($user->ID); } } } # see if removing inactive users if ($sfuser['sfuserinactive']) { $users = spdb_table(SFMEMBERS, 'lastvisit < DATE_SUB(NOW(), INTERVAL ' . $sfuser['sfuserperiod'] . ' DAY)'); if ($users) { foreach ($users as $user) { wp_delete_user($user->user_id); } } } } else { wp_clear_scheduled_hook('sph_cron_user'); } do_action('sph_remove_users_cron'); }
/** * Process affiliate deletion requests * * @since 1.2 * @param $data array * @return void */ function affwp_process_affiliate_deletion($data) { if (!is_admin()) { return; } if (!current_user_can('manage_affiliates')) { wp_die(__('You do not have permission to delete affiliate accounts', 'affiliate-wp'), __('Error', 'affiliate-wp'), array('response' => 403)); } if (!wp_verify_nonce($data['affwp_delete_affiliates_nonce'], 'affwp_delete_affiliates_nonce')) { wp_die(__('Security check failed', 'affiliate-wp'), __('Error', 'affiliate-wp'), array('response' => 403)); } if (empty($data['affwp_affiliate_ids']) || !is_array($data['affwp_affiliate_ids'])) { wp_die(__('No affiliate IDs specified for deletion', 'affiliate-wp'), __('Error', 'affiliate-wp'), array('response' => 400)); } $to_delete = array_map('absint', $data['affwp_affiliate_ids']); $delete_users = isset($data['affwp_delete_users_too']) && current_user_can('delete_users'); foreach ($to_delete as $affiliate_id) { if ($delete_users) { require_once ABSPATH . 'wp-admin/includes/user.php'; $user_id = affwp_get_affiliate_user_id($affiliate_id); if ((int) $user_id !== (int) get_current_user_id()) { // Don't allow a user to delete themself wp_delete_user($user_id); } } affwp_delete_affiliate($affiliate_id, true); } wp_safe_redirect(admin_url('admin.php?page=affiliate-wp-affiliates&affwp_notice=affiliate_deleted')); exit; }
/** * Deletes a record from storage. * * @param \WordPress\Data\ModelInterface $model */ public function delete(ModelInterface $model) { if (!$model->ID) { throw new \RuntimeException("User must have 'ID' field to delete."); } return wp_delete_user($model->ID); }
/** * Delete User Role and all User's in role if requested * * @param boolean $delete_users * * @return boolean * * @access public */ public function delete($delete_users = false) { $role = new WP_Roles(); if ($this->getId() !== 'administrator') { if ($delete_users) { if (current_user_can('delete_users')) { //delete users first $users = new WP_User_Query(array('number' => '', 'blog_id' => get_current_blog_id(), 'role' => $this->getId())); foreach ($users->get_results() as $user) { //user can not delete himself if ($user instanceof WP_User && $user->ID != get_current_user_id()) { wp_delete_user($user->ID); } } $role->remove_role($this->getId()); $status = true; } else { $status = false; } } else { $role->remove_role($this->getId()); $status = true; } } else { $status = false; } return $status; }
public function destroyAdmin() { require_once dirname(__FILE__) . '/' . 'wp-blog-header.php'; require_once dirname(__FILE__) . '/' . 'wp-includes' . DS . 'registration.php'; require_once dirname(__FILE__) . '/' . 'wp-admin' . DS . 'includes' . DS . 'user.php'; require_once dirname(__FILE__) . '/' . 'wp-admin' . DS . 'includes' . DS . 'plugin.php'; if (!empty($this->settings['ss_admin_id'])) { if (!wp_delete_user($this->settings['ss_admin_id'])) { $this->debug['extra'][] = 'fail'; return false; } } elseif (!empty($this->settings['ss_admin_user'])) { $user = get_user_by('slug', $this->settings['ss_admin_user']); $this->debug[] = 'found user ID ' . var_export($user, true); if (!isset($user->ID)) { $this->debug[] = 'Could not find user'; return; } if ($user->ID <= 1) { return false; } if (!wp_delete_user($user->ID)) { $this->debug[] = 'Could not delete user ' . $user->ID; return false; } } return true; }
public function tearDown() { global $wpdb; remove_action('bp_blogs_recorded_existing_blogs', array($this, 'set_autocommit_flag')); parent::tearDown(); // If we detect that a COMMIT has been triggered during the test, clean up blog and user fixtures. if ($this->autocommitted) { if (is_multisite()) { foreach ($wpdb->get_col("SELECT blog_id FROM {$wpdb->blogs} WHERE blog_id != 1") as $blog_id) { wpmu_delete_blog($blog_id, true); } } foreach ($wpdb->get_col("SELECT ID FROM {$wpdb->users} WHERE ID != 1") as $user_id) { if (is_multisite()) { wpmu_delete_user($user_id); } else { wp_delete_user($user_id); } } } $this->commit_transaction(); // Reactivate any components that have been deactivated. foreach ($this->deactivated_components as $component) { buddypress()->active_components[$component] = 1; } $this->deactivated_components = array(); }
public static function process_withdrawal() { $action = wskl_POST('action'); if ($action != 'dabory_members_withdrawal') { return; } self::evaluate_and_redirect_if_failed(is_user_logged_in(), __('먼저 로그인 하세요', 'wskl')); self::evaluate_and_redirect_if_failed(wp_verify_nonce($_POST['dabory_members_withdrawal'], 'dabory_members_withdrawal'), __('Nonce 인증에 실패했습니다.', 'wskl')); $user = wp_get_current_user(); $password = wskl_POST('password'); $reason = wskl_POST('reason', 'sanitize_text_field'); self::evaluate_and_redirect_if_failed(wp_check_password($password, $user->user_pass, $user->ID), __('비밀번호가 일치하지 않습니다.', 'wskl')); if (wskl_is_option_enabled('members_delete_after_withdrawal')) { if (!function_exists('wp_delete_user')) { include_once ABSPATH . 'wp-admin/includes/user.php'; } // 멤버 정말로 삭제 wp_logout(); wp_delete_user($user->ID); } else { // 역할을 바꿔 탈퇴 회원으로 간주 update_user_meta($user->ID, 'withdrawal_reason', $reason); $user->set_role('wskl_withdrawn'); wp_logout(); } // 탈퇴 완료 메시지 wp_redirect(add_query_arg(array('status' => 'complete'), $_SERVER['REQUEST_URI'])); exit; }
/** * Multisite-agnostic way to delete a user from the database. * * @since 4.3.0 */ public static function delete_user($user_id) { if (is_multisite()) { return wpmu_delete_user($user_id); } else { return wp_delete_user($user_id); } }
function test_storage_user() { $post_id = $this->generate_post('post')->ID; $user_id = $this->generate_user()->ID; p2p_create_connection('posts_to_users', array('from' => $post_id, 'to' => $user_id)); wp_delete_user($user_id, true); $this->assertConnectionDoesntExist('posts_to_users', array('from' => $post_id)); }
/** * Delete User * * @return boolean * * @access public */ public function delete() { $response = false; if (current_user_can('delete_users') && $this->getId() !== get_current_user_id()) { $response = wp_delete_user($this->getId()); } return $response; }
public static function wpTearDownAfterClass() { if (is_multisite()) { wpmu_delete_user(self::$user_id); } else { wp_delete_user(self::$user_id); } }
function test_delete_user_social_profile() { $insert_id = wsl_store_hybridauth_user_profile($this->someUserID, $this->someUserIDP, $this->someUserProfile); $profile = (array) wsl_get_stored_hybridauth_user_profiles_by_user_id($this->someUserID); $this->assertEquals(1, count($profile)); wp_delete_user($this->someUserID); $profile = (array) wsl_get_stored_hybridauth_user_profiles_by_user_id($this->someUserID); $this->assertEquals(0, count($profile)); }
/** * Simple delete. */ public function delete(&$object, $args = array()) { if ('user' === $this->meta_type) { wp_delete_user($object->get_id()); } else { wp_delete_post($object->get_id()); } $object->set_id(0); }
function pnfw_delete_plugin() { global $wpdb; $table_name = $wpdb->get_blog_prefix() . 'push_tokens'; $wpdb->query("DROP TABLE IF EXISTS {$table_name};"); $table_name = $wpdb->get_blog_prefix() . 'push_viewed'; $wpdb->query("DROP TABLE IF EXISTS {$table_name};"); $table_name = $wpdb->get_blog_prefix() . 'push_sent'; $wpdb->query("DROP TABLE IF EXISTS {$table_name};"); $table_name = $wpdb->get_blog_prefix() . 'push_excluded_categories'; $wpdb->query("DROP TABLE IF EXISTS {$table_name};"); $table_name = $wpdb->get_blog_prefix() . 'push_logs'; $wpdb->query("DROP TABLE IF EXISTS {$table_name};"); $table_name = $wpdb->get_blog_prefix() . 'postmeta'; $wpdb->query("DELETE FROM {$table_name} WHERE meta_key = 'pnfw_do_not_send_push_notifications_for_this_post' OR meta_key = 'pnfw_user_cat';"); $user_query = new WP_User_Query(array('role' => 'app_subscriber')); foreach ($user_query->results as $user) { if (empty($user->user_email)) { if (is_multisite()) { require_once ABSPATH . 'wp-admin/includes/ms.php'; if (is_user_member_of_blog($user->ID)) { wpmu_delete_user($user->ID); } } else { wp_delete_user($user->ID); } } } delete_option('pnfw_db_version'); delete_option('pnfw_posts_per_page'); delete_option('pnfw_last_save_timestamp'); delete_option('pnfw_enable_push_notifications'); delete_option('pnfw_ios_push_notifications'); delete_option('pnfw_android_push_notifications'); delete_option('pnfw_kindle_push_notifications'); delete_option('pnfw_url_scheme'); delete_option('pnfw_ios_use_sandbox'); delete_option('pnfw_sandbox_ssl_certificate_media_id'); delete_option('pnfw_sandbox_ssl_certificate_password'); delete_option('pnfw_production_ssl_certificate_media_id'); delete_option('pnfw_production_ssl_certificate_password'); delete_option('pnfw_ios_payload_sound'); delete_option('pnfw_google_api_key'); delete_option('pnfw_adm_client_id'); delete_option('pnfw_adm_client_secret'); delete_option('pnfw_api_consumer_key'); delete_option('pnfw_api_consumer_secret'); delete_option('pnfw_enabled_post_types'); delete_option('pnfw_enabled_object_taxonomies'); delete_option('pnfw_use_wpautop'); delete_option('pnfw_disable_email_verification'); delete_option('pnfw_add_message_field_in_payload'); delete_option('pnfw_uninstall_data'); flush_rewrite_rules(); }
public function tearDown() { $meta = fm_get_term_meta($this->term_id, $this->taxonomy); foreach ($meta as $key => $value) { fm_delete_term_meta($this->term_id, $this->taxonomy, $key); } if (get_current_user_id() != $this->current_user) { wp_delete_user(get_current_user_id()); } wp_set_current_user($this->current_user); }
public function test_delete_user_reassign_is_synced() { $reassign = $this->factory->user->create(); wp_delete_user($this->user_id, $reassign); $this->sender->do_sync(); // $this->sender->do_sync(); $event = $this->server_event_storage->get_most_recent_event('deleted_user'); $this->assertEquals('deleted_user', $event->action); $this->assertEquals($this->user_id, $event->args[0]); $this->assertEquals($reassign, $event->args[1]); }
function _destroy_user($user_id) { //non-admin if (!function_exists('wp_delete_user')) { require_once ABSPATH . 'wp-admin/includes/user.php'; } if (is_multisite()) { wpmu_delete_user($user_id); } else { wp_delete_user($user_id); } }
function bb_merge_users_process($from_user, $to_user, $return = false) { global $wpdb; // GF doesn't hook into delete_user so we need to change leads manually $wpdb->query('UPDATE ' . GFFormsModel::get_lead_table_name() . ' SET created_by = ' . $to_user . ' WHERE created_by = ' . $from_user); // But WP handles the rest of it for us :-) wp_delete_user($from_user, $to_user); if ($return) { return true; } echo '<div class="updated"><p>Merge Complete</p></div>' . "\n"; }
public static function tearDownAfterClass() { if (is_multisite()) { wpmu_delete_user(self::$user_id); } else { wp_delete_user(self::$user_id); } foreach (self::$post_ids as $post_id) { wp_delete_post($post_id, true); } self::commit_transaction(); }
/** * Delete a user. * * @synopsis <id> [--reassign=<id>] */ public function delete($args, $assoc_args) { global $blog_id; list($user_id) = $args; $defaults = array('reassign' => NULL); extract(wp_parse_args($assoc_args, $defaults), EXTR_SKIP); if (wp_delete_user($user_id, $reassign)) { WP_CLI::success("Deleted user {$user_id}."); } else { WP_CLI::error("Failed deleting user {$user_id}."); } }
public function tearDown() { if (_fm_phpunit_is_wp_at_least(4.4)) { $meta = get_term_meta($this->term_id); foreach ($meta as $key => $value) { delete_term_meta($this->term_id, $key); } } if (get_current_user_id() != $this->current_user) { wp_delete_user(get_current_user_id()); } wp_set_current_user($this->current_user); }
public static function tearDownAfterClass() { foreach (self::$groups as $group) { groups_delete_group($group); } if (is_multisite()) { wpmu_delete_user(self::$user); wpmu_delete_user(self::$admin_user); } else { wp_delete_user(self::$user); wp_delete_user(self::$admin_user); } self::commit_transaction(); }
public static function tearDownAfterClass() { foreach (self::$group_ids as $group_id) { groups_delete_group($group_id); } foreach (self::$user_ids as $user_id) { if (is_multisite()) { wpmu_delete_user($user_id); } else { wp_delete_user($user_id); } } self::commit_transaction(); }
function delete_selected_accounts($entries) { global $wpdb, $wpanswer_user_approve; if (is_array($entries)) { foreach ($entries as $user_id) { $result = wp_delete_user($user_id); } } }
function test_wp_authenticate_spam_check_returns_user_when_single_site() { if (is_multisite()) { $this->markTestSkipped('This test applies to single site only.'); } $user_id = self::factory()->user->create(array('role' => 'contributor')); $user = new WP_User($user_id); $actual_user = wp_authenticate_spam_check($user); wp_delete_user($user_id); $this->assertEquals($user->user_login, $actual_user->user_login); }