Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/wp-bulk-.../includes
File: delele-users-form-functions.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* Delete Users Form Funcitons
[2] Fix | Delete
*
[3] Fix | Delete
* @package WP_Bulk_Delete
[4] Fix | Delete
* @subpackage Delete Users Form Funcitons
[5] Fix | Delete
* @copyright Copyright (c) 2016, Dharmesh Patel
[6] Fix | Delete
* @since 1.0
[7] Fix | Delete
*/
[8] Fix | Delete
[9] Fix | Delete
// Exit if accessed directly
[10] Fix | Delete
if ( ! defined( 'ABSPATH' ) ) exit;
[11] Fix | Delete
[12] Fix | Delete
/** Actions *************************************************************/
[13] Fix | Delete
add_action( 'wpbd_delete_users_form', 'wpdb_render_delete_users_userroles', 10 );
[14] Fix | Delete
add_action( 'wpbd_delete_users_form', 'wpdb_render_delete_users_usermeta', 20 );
[15] Fix | Delete
add_action( 'wpbd_delete_users_form', 'wpdb_render_delete_users_useremail', 20 );
[16] Fix | Delete
add_action( 'wpbd_delete_users_form', 'wpdb_render_delete_users_assignuser', 30 );
[17] Fix | Delete
add_action( 'wpbd_delete_users_form', 'wpdb_render_delete_users_date_interval', 40 );
[18] Fix | Delete
add_action( 'wpbd_delete_users_form', 'wpdb_render_delete_users_who_has_no_order', 50 );
[19] Fix | Delete
add_action( 'wpbd_delete_users_form', 'wpdb_render_delete_users_limit', 60 );
[20] Fix | Delete
[21] Fix | Delete
/**
[22] Fix | Delete
* Process Delete Users form form
[23] Fix | Delete
*
[24] Fix | Delete
*
[25] Fix | Delete
* @since 1.0
[26] Fix | Delete
* @param array $data Form pot Data.
[27] Fix | Delete
* @return array | posts ID to be delete.
[28] Fix | Delete
*/
[29] Fix | Delete
function xt_delete_users_form_process( $data ) {
[30] Fix | Delete
global $wpdb;
[31] Fix | Delete
$error = array();
[32] Fix | Delete
if ( ! current_user_can( 'delete_users' ) ) {
[33] Fix | Delete
$error[] = esc_html__('You don\'t have enough permission for this operation.', 'wp-bulk-delete' );
[34] Fix | Delete
}
[35] Fix | Delete
if( empty( $data['delete_user_roles'] ) && ( $data['user_meta_key'] == '' || $data['user_meta_value'] == '' ) ){
[36] Fix | Delete
$error[] = esc_html__('Please select user role or add user meta key and value.', 'wp-bulk-delete' );
[37] Fix | Delete
}
[38] Fix | Delete
[39] Fix | Delete
if ( isset( $data['_delete_users_wpnonce'] ) && wp_verify_nonce( $data['_delete_users_wpnonce'], 'delete_users_nonce' ) ) {
[40] Fix | Delete
[41] Fix | Delete
if( empty( $error ) ){
[42] Fix | Delete
$delete_time = ( $data['delete_time'] ) ? $data['delete_time'] : 'now';
[43] Fix | Delete
$delete_datetime = isset( $data['delete_datetime'] ) ? $data['delete_datetime'] : '';
[44] Fix | Delete
if( $delete_time === 'scheduled' && !empty($delete_datetime) && wpbd_is_pro() ) {
[45] Fix | Delete
$data['delete_entity'] = 'user';
[46] Fix | Delete
return wpbd_save_scheduled_delete($data);
[47] Fix | Delete
}
[48] Fix | Delete
[49] Fix | Delete
// Get post_ids for delete based on user input.
[50] Fix | Delete
$user_ids = wpbulkdelete()->api->get_delete_user_ids( $data );
[51] Fix | Delete
if ( ! empty( $user_ids ) && count( $user_ids ) > 0 ) {
[52] Fix | Delete
if( !wpbd_is_pro() ){
[53] Fix | Delete
$user_count = wpbulkdelete()->api->do_delete_users( $user_ids );
[54] Fix | Delete
} else {
[55] Fix | Delete
[56] Fix | Delete
$delete_user_who_has_no_order = isset( $data['user_who_has_no_order'] ) ? $data['user_who_has_no_order'] : 'false';
[57] Fix | Delete
if( !empty( $delete_user_who_has_no_order ) && $delete_user_who_has_no_order == 'on' ){
[58] Fix | Delete
foreach( $user_ids as $user_id ) {
[59] Fix | Delete
$wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->prefix}wc_customer_lookup WHERE user_id = %d", $user_id ) );
[60] Fix | Delete
}
[61] Fix | Delete
}
[62] Fix | Delete
$user_count = wpbulkdelete()->api->do_delete_users( $user_ids, (int)$data['reassign_user'] );
[63] Fix | Delete
$wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE '%_transient_wc_report_customers_%'");
[64] Fix | Delete
}
[65] Fix | Delete
return array(
[66] Fix | Delete
'status' => 1,
[67] Fix | Delete
'messages' => array( sprintf( esc_html__( '%d User(s) deleted successfully.', 'wp-bulk-delete' ), $user_count )
[68] Fix | Delete
) );
[69] Fix | Delete
} else {
[70] Fix | Delete
return array(
[71] Fix | Delete
'status' => 1,
[72] Fix | Delete
'messages' => array( esc_html__( 'Nothing to delete!!', 'wp-bulk-delete' ) ),
[73] Fix | Delete
);
[74] Fix | Delete
}
[75] Fix | Delete
[76] Fix | Delete
} else {
[77] Fix | Delete
return array(
[78] Fix | Delete
'status' => 0,
[79] Fix | Delete
'messages' => $error,
[80] Fix | Delete
);
[81] Fix | Delete
}
[82] Fix | Delete
[83] Fix | Delete
} else {
[84] Fix | Delete
wp_die( esc_html__( 'Sorry, Your nonce did not verify.', 'wp-bulk-delete' ) );
[85] Fix | Delete
}
[86] Fix | Delete
}
[87] Fix | Delete
[88] Fix | Delete
/**
[89] Fix | Delete
* Render Userroles checkboxes.
[90] Fix | Delete
*
[91] Fix | Delete
* @since 1.0
[92] Fix | Delete
* @return void
[93] Fix | Delete
*/
[94] Fix | Delete
function wpdb_render_delete_users_userroles(){
[95] Fix | Delete
$userroles = count_users();
[96] Fix | Delete
?>
[97] Fix | Delete
<tr>
[98] Fix | Delete
<th scope="row">
[99] Fix | Delete
<?php _e( 'User roles', 'wp-bulk-delete' ); ?> :
[100] Fix | Delete
</th>
[101] Fix | Delete
<td>
[102] Fix | Delete
<?php
[103] Fix | Delete
if( ! empty( $userroles['avail_roles'] ) ){
[104] Fix | Delete
foreach ($userroles['avail_roles'] as $userrole => $count ) {
[105] Fix | Delete
if( $userrole != 'none' ){
[106] Fix | Delete
?>
[107] Fix | Delete
<input name="delete_user_roles[]" class="delete_user_roles" id="user_role_<?php echo $userrole; ?>" type="checkbox" value="<?php echo $userrole; ?>" >
[108] Fix | Delete
<label for="user_role_<?php echo $userrole; ?>">
[109] Fix | Delete
<?php echo $userrole . ' ' . sprintf( __( '( %s Users )', 'wp-bulk-delete' ), $count ); ?>
[110] Fix | Delete
</label><br/>
[111] Fix | Delete
<?php
[112] Fix | Delete
}
[113] Fix | Delete
}
[114] Fix | Delete
}
[115] Fix | Delete
?>
[116] Fix | Delete
<p class="description">
[117] Fix | Delete
<?php _e('Select the user roles from which you want to delete users.','wp-bulk-delete'); ?>
[118] Fix | Delete
</p>
[119] Fix | Delete
</td>
[120] Fix | Delete
</tr>
[121] Fix | Delete
<?php
[122] Fix | Delete
}
[123] Fix | Delete
[124] Fix | Delete
[125] Fix | Delete
/**
[126] Fix | Delete
* Render Userroles checkboxes.
[127] Fix | Delete
*
[128] Fix | Delete
* @since 1.0
[129] Fix | Delete
* @return void
[130] Fix | Delete
*/
[131] Fix | Delete
function wpdb_render_delete_users_usermeta(){
[132] Fix | Delete
?>
[133] Fix | Delete
<tr>
[134] Fix | Delete
<th scope="row">
[135] Fix | Delete
<?php _e('User Meta','wp-bulk-delete'); ?> :
[136] Fix | Delete
</th>
[137] Fix | Delete
<td>
[138] Fix | Delete
<?php esc_html_e( 'User Meta Key', 'wp-bulk-delete' ); ?>
[139] Fix | Delete
<input type="text" id="sample1" name="sample1" class="sample1" placeholder="meta_key" disabled="disabled"/>
[140] Fix | Delete
<select name="sample2" disabled="disabled" >
[141] Fix | Delete
<option value="equal_to_str"><?php esc_html_e( 'equal to ( string )', 'wp-bulk-delete' ); ?></option>
[142] Fix | Delete
</select>
[143] Fix | Delete
<?php esc_html_e( 'Value', 'wp-bulk-delete' ); ?>
[144] Fix | Delete
<input type="text" id="sample3" name="sample3" class="sample3" placeholder="meta_value" disabled="disabled" /><br/>
[145] Fix | Delete
<?php do_action( 'wpbd_display_available_in_pro'); ?>
[146] Fix | Delete
</td>
[147] Fix | Delete
</tr>
[148] Fix | Delete
<?php
[149] Fix | Delete
}
[150] Fix | Delete
[151] Fix | Delete
/**
[152] Fix | Delete
* Render Userroles checkboxes.
[153] Fix | Delete
*
[154] Fix | Delete
* @since 1.0
[155] Fix | Delete
* @return void
[156] Fix | Delete
*/
[157] Fix | Delete
function wpdb_render_delete_users_useremail(){
[158] Fix | Delete
?>
[159] Fix | Delete
<tr>
[160] Fix | Delete
<th scope="row">
[161] Fix | Delete
<?php _e('User Email','wp-bulk-delete'); ?> :
[162] Fix | Delete
</th>
[163] Fix | Delete
<td>
[164] Fix | Delete
<?php esc_html_e( 'User Email', 'wp-bulk-delete' ); ?>
[165] Fix | Delete
<select name="sample4" disabled="disabled" >
[166] Fix | Delete
<option value="equal_to_str"><?php esc_html_e( 'equal to ( string )', 'wp-bulk-delete' ); ?></option>
[167] Fix | Delete
</select>
[168] Fix | Delete
<textarea name="sample5" id="sample5" cols="59" class="wp_user_email_text" placeholder="You can add multiple emails with comma(,) separator" disabled="disabled" ></textarea><br/>
[169] Fix | Delete
<?php do_action( 'wpbd_display_available_in_pro'); ?>
[170] Fix | Delete
</td>
[171] Fix | Delete
</tr>
[172] Fix | Delete
<?php
[173] Fix | Delete
}
[174] Fix | Delete
[175] Fix | Delete
/**
[176] Fix | Delete
* Render User registration date interval.
[177] Fix | Delete
*
[178] Fix | Delete
* @since 1.0
[179] Fix | Delete
* @return void
[180] Fix | Delete
*/
[181] Fix | Delete
function wpdb_render_delete_users_date_interval(){
[182] Fix | Delete
?>
[183] Fix | Delete
<tr>
[184] Fix | Delete
<th scope="row">
[185] Fix | Delete
<?php _e('User Registration Date:','wp-bulk-delete'); ?>
[186] Fix | Delete
</th>
[187] Fix | Delete
<td>
[188] Fix | Delete
<?php _e('Delete Users which are','wp-bulk-delete'); ?>
[189] Fix | Delete
<select name="date_type" class="date_type">
[190] Fix | Delete
<option value="older_than"><?php _e('older than','wp-bulk-delete'); ?></option>
[191] Fix | Delete
<option value="within_last"><?php _e('registered within last','wp-bulk-delete'); ?></option>
[192] Fix | Delete
<?php if( wpbd_is_pro() ) { ?>
[193] Fix | Delete
<option value="onemonth"><?php _e('1 Month','wp-bulk-delete'); ?></option>
[194] Fix | Delete
<option value="sixmonths"><?php _e('6 Months','wp-bulk-delete'); ?></option>
[195] Fix | Delete
<option value="oneyear"><?php _e('1 Year','wp-bulk-delete'); ?></option>
[196] Fix | Delete
<option value="twoyear"><?php _e('2 Years','wp-bulk-delete'); ?></option>
[197] Fix | Delete
<?php } ?>
[198] Fix | Delete
<option value="custom_date"><?php _e('registered between custom','wp-bulk-delete'); ?></option>
[199] Fix | Delete
</select>
[200] Fix | Delete
<div class="wpbd_date_days wpbd_inline">
[201] Fix | Delete
<input type="number" id="input_days" name="input_days" class="wpbd_input_days" placeholder="0" min="0" /> <?php _e('days','wp-bulk-delete'); ?>
[202] Fix | Delete
</div>
[203] Fix | Delete
<div class="wpbd_custom_interval wpbd_inline" style="display:none;">
[204] Fix | Delete
<input type="text" id="delete_start_date" name="delete_start_date" class="delete_all_datepicker" placeholder="<?php _e('Start Date','wp-bulk-delete'); ?>" />
[205] Fix | Delete
-
[206] Fix | Delete
<input type="text" id="delete_end_date" name="delete_end_date" class="delete_all_datepicker" placeholder="<?php _e('End Date','wp-bulk-delete'); ?>" />
[207] Fix | Delete
<p class="description">
[208] Fix | Delete
<?php _e('Set the reigration date interval for users to delete ( only delete users registered between these dates ) or leave these fields blank to select all users. The dates must be specified in the following format: <strong>YYYY-MM-DD</strong>','wp-bulk-delete'); ?>
[209] Fix | Delete
</p>
[210] Fix | Delete
</div>
[211] Fix | Delete
<div class="wpbd_date_range wpbd_inline" style="display:none;">
[212] Fix | Delete
<p class="description">
[213] Fix | Delete
<?php _e('This option will work well with Scheduled Delete, which will help to delete users of the selected option from the scheduled run date.','wp-bulk-delete'); ?>
[214] Fix | Delete
</p>
[215] Fix | Delete
</div>
[216] Fix | Delete
</td>
[217] Fix | Delete
</tr>
[218] Fix | Delete
<?php
[219] Fix | Delete
}
[220] Fix | Delete
[221] Fix | Delete
/**
[222] Fix | Delete
* Render User delete limit.
[223] Fix | Delete
*
[224] Fix | Delete
* @since 1.0
[225] Fix | Delete
* @return void
[226] Fix | Delete
*/
[227] Fix | Delete
function wpdb_render_delete_users_limit(){
[228] Fix | Delete
?>
[229] Fix | Delete
<tr>
[230] Fix | Delete
<th scope="row">
[231] Fix | Delete
<?php _e('Limit :','wp-bulk-delete'); ?>
[232] Fix | Delete
</th>
[233] Fix | Delete
<td>
[234] Fix | Delete
<input type="number" min="1" id="limit_user" name="limit_user" class="limit_user_input" />
[235] Fix | Delete
<p class="description">
[236] Fix | Delete
<?php _e('Set the limit over user delete. It will delete only the first limited users. This option will help you in case you have lots of users to delete and script timeout.','wp-bulk-delete'); ?>
[237] Fix | Delete
</p>
[238] Fix | Delete
</td>
[239] Fix | Delete
</tr>
[240] Fix | Delete
<?php
[241] Fix | Delete
}
[242] Fix | Delete
[243] Fix | Delete
/**
[244] Fix | Delete
* Render Users Dropdown for assign user.
[245] Fix | Delete
*
[246] Fix | Delete
* @since 1.1
[247] Fix | Delete
* @return void
[248] Fix | Delete
*/
[249] Fix | Delete
function wpdb_render_delete_users_assignuser(){
[250] Fix | Delete
?>
[251] Fix | Delete
<tr>
[252] Fix | Delete
<th scope="row">
[253] Fix | Delete
<?php _e('Assign deleted user\'s data to','wp-bulk-delete'); ?> :
[254] Fix | Delete
</th>
[255] Fix | Delete
<td>
[256] Fix | Delete
<?php
[257] Fix | Delete
if( wpbd_is_pro() ) {
[258] Fix | Delete
wp_dropdown_users( array( 'show_option_none' => esc_attr__( 'Select User', 'wp-bulk-delete'), 'name' => 'reassign_user', 'role__in' => array( 'author', 'editor', 'administrator', 'contributor' ) ) );
[259] Fix | Delete
} else {
[260] Fix | Delete
?>
[261] Fix | Delete
<select name="sample_user" disabled="disabled">
[262] Fix | Delete
<option value=""><?php esc_attr_e( 'Select User','wp-bulk-delete'); ?></option>
[263] Fix | Delete
</select>
[264] Fix | Delete
<?php
[265] Fix | Delete
}
[266] Fix | Delete
?>
[267] Fix | Delete
<p class="description">
[268] Fix | Delete
<?php _e('Select the user to whom you want to assign deleted user\'s data.','wp-bulk-delete'); ?>
[269] Fix | Delete
</p>
[270] Fix | Delete
<?php do_action( 'wpbd_display_available_in_pro'); ?>
[271] Fix | Delete
</td>
[272] Fix | Delete
</tr>
[273] Fix | Delete
<?php
[274] Fix | Delete
}
[275] Fix | Delete
[276] Fix | Delete
/**
[277] Fix | Delete
* Render Delete posts who has no orders
[278] Fix | Delete
*
[279] Fix | Delete
* @since 1.2.6
[280] Fix | Delete
* @return void
[281] Fix | Delete
*/
[282] Fix | Delete
function wpdb_render_delete_users_who_has_no_order(){
[283] Fix | Delete
?>
[284] Fix | Delete
<tr>
[285] Fix | Delete
<th scope="row">
[286] Fix | Delete
<?php _e('User Who Has No Order','wp-bulk-delete'); ?> :
[287] Fix | Delete
</th>
[288] Fix | Delete
<td>
[289] Fix | Delete
<fieldset>
[290] Fix | Delete
<label for="delete_post_status" >
[291] Fix | Delete
<input name="" id="" type="checkbox" <?php echo( ( ! wpbd_is_pro() ) ? 'disabled="disabled"' : '' ); ?> >
[292] Fix | Delete
<?php _e( 'Delete WooCommerce Customer Who has no Order', 'wp-bulk-delete' ); ?>
[293] Fix | Delete
</label>
[294] Fix | Delete
<p class="description">
[295] Fix | Delete
<?php _e( "Select users who have no order in WooCommerce ( it's only for the customer role )", 'wp-bulk-delete' ); ?>
[296] Fix | Delete
</p>
[297] Fix | Delete
<?php do_action( 'wpbd_display_available_in_pro'); ?>
[298] Fix | Delete
</td>
[299] Fix | Delete
</tr>
[300] Fix | Delete
<?php
[301] Fix | Delete
}
[302] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function