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: common-functions.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* Common functions
[2] Fix | Delete
*
[3] Fix | Delete
* @package WP_Bulk_Delete
[4] Fix | Delete
* @subpackage Common functions
[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
[13] Fix | Delete
/**
[14] Fix | Delete
* Get Taxomomy from posttype.
[15] Fix | Delete
*
[16] Fix | Delete
* @since 1.0
[17] Fix | Delete
* @param string $post_type Post Type
[18] Fix | Delete
* @return array | taxonomy array
[19] Fix | Delete
*/
[20] Fix | Delete
function wpbd_get_taxonomy_by_posttype( $post_type = '' ) {
[21] Fix | Delete
[22] Fix | Delete
$taxonomies = array();
[23] Fix | Delete
$ingnore_taxonomy = array( 'post_format' );
[24] Fix | Delete
if ( $post_type != '' ) {
[25] Fix | Delete
$taxonomy_objects = get_object_taxonomies( $post_type, 'objects' );
[26] Fix | Delete
if( !empty( $taxonomy_objects ) ){
[27] Fix | Delete
foreach( $taxonomy_objects as $slug => $taxonomy ){
[28] Fix | Delete
if( in_array( $slug, $ingnore_taxonomy ) ){
[29] Fix | Delete
continue;
[30] Fix | Delete
}else{
[31] Fix | Delete
$taxonomies[$slug] = $taxonomy->labels->name;
[32] Fix | Delete
}
[33] Fix | Delete
}
[34] Fix | Delete
}
[35] Fix | Delete
}
[36] Fix | Delete
return $taxonomies;
[37] Fix | Delete
}
[38] Fix | Delete
[39] Fix | Delete
/**
[40] Fix | Delete
* Get Taxomomy from posttype.
[41] Fix | Delete
*
[42] Fix | Delete
* @since 1.0
[43] Fix | Delete
* @param string $posttype Post Type
[44] Fix | Delete
* @return array | taxonomy array
[45] Fix | Delete
*/
[46] Fix | Delete
function wpbd_get_terms_by_taxonomy( $taxonomy = '' ) {
[47] Fix | Delete
$terms = array();
[48] Fix | Delete
if ( $taxonomy != '' ) {
[49] Fix | Delete
if( taxonomy_exists( $taxonomy ) ){
[50] Fix | Delete
$terms = get_terms( $taxonomy, array( 'hide_empty' => true ) );
[51] Fix | Delete
}
[52] Fix | Delete
}
[53] Fix | Delete
return $terms;
[54] Fix | Delete
}
[55] Fix | Delete
[56] Fix | Delete
/**
[57] Fix | Delete
* Display Admin Notices
[58] Fix | Delete
*
[59] Fix | Delete
* @since 1.0
[60] Fix | Delete
* @param array $notice_result Status array
[61] Fix | Delete
* @return void
[62] Fix | Delete
*/
[63] Fix | Delete
function wpbd_display_admin_notice( $notice_result = array() ) {
[64] Fix | Delete
[65] Fix | Delete
if ( ! empty( $notice_result ) && $notice_result['status'] == 1 ){
[66] Fix | Delete
if( !empty( $notice_result['messages'] ) ){
[67] Fix | Delete
foreach ( $notice_result['messages'] as $smessages ) {
[68] Fix | Delete
?>
[69] Fix | Delete
<div class="notice notice-success">
[70] Fix | Delete
<p><strong><?php echo $smessages; ?></strong></p>
[71] Fix | Delete
</div>
[72] Fix | Delete
<?php
[73] Fix | Delete
}
[74] Fix | Delete
}
[75] Fix | Delete
} elseif ( ! empty( $notice_result ) && $notice_result['status'] == 0 ){
[76] Fix | Delete
[77] Fix | Delete
if( !empty( $notice_result['messages'] ) ){
[78] Fix | Delete
foreach ( $notice_result['messages'] as $emessages ) {
[79] Fix | Delete
?>
[80] Fix | Delete
<div class="notice notice-error">
[81] Fix | Delete
<p><strong><?php echo $emessages; ?></strong></p>
[82] Fix | Delete
</div>
[83] Fix | Delete
<?php
[84] Fix | Delete
}
[85] Fix | Delete
}
[86] Fix | Delete
[87] Fix | Delete
}
[88] Fix | Delete
}
[89] Fix | Delete
[90] Fix | Delete
/**
[91] Fix | Delete
* Display Admin Notices
[92] Fix | Delete
*
[93] Fix | Delete
* @since 1.0
[94] Fix | Delete
* @param array $notice_result Status array
[95] Fix | Delete
* @return void
[96] Fix | Delete
*/
[97] Fix | Delete
function wpbd_display_available_in_pro() {
[98] Fix | Delete
if( !wpbd_is_pro() ) {
[99] Fix | Delete
?>
[100] Fix | Delete
<span style="color: red"><?php _e('Available in Pro version.','wp-bulk-delete'); ?></span>
[101] Fix | Delete
<a href="<?php echo esc_url(WPBD_PLUGIN_BUY_NOW_URL); ?>"><?php _e('Buy Now','wp-bulk-delete'); ?></a>
[102] Fix | Delete
<?php
[103] Fix | Delete
}
[104] Fix | Delete
}
[105] Fix | Delete
add_action( 'wpbd_display_available_in_pro', 'wpbd_display_available_in_pro' );
[106] Fix | Delete
[107] Fix | Delete
[108] Fix | Delete
/**
[109] Fix | Delete
* Check timeout and memory limit
[110] Fix | Delete
*
[111] Fix | Delete
* @since 1.2.4
[112] Fix | Delete
* @return boolean
[113] Fix | Delete
*/
[114] Fix | Delete
function timeout_memory_limit_is_enough() {
[115] Fix | Delete
$memory_limit = str_replace( 'M', '', ini_get('memory_limit') );
[116] Fix | Delete
$timeout_limit = ini_get( 'max_execution_time' );
[117] Fix | Delete
if( $memory_limit < '512' ){
[118] Fix | Delete
?>
[119] Fix | Delete
<div class="notice notice-warning is-dismissible">
[120] Fix | Delete
<p><strong><?php _e( 'Attention: The server PHP memory limit is set to '.$memory_limit.'M, which is less than the recommended 512M. This may cause slow deletion progress if deleting large data.', 'wp-bulk-delete' ); ?></strong></p>
[121] Fix | Delete
</div>
[122] Fix | Delete
<?php
[123] Fix | Delete
}
[124] Fix | Delete
if( $timeout_limit < '300' ){
[125] Fix | Delete
?>
[126] Fix | Delete
<div class="notice notice-warning is-dismissible">
[127] Fix | Delete
<p><strong><?php _e( 'Attention: The server PHP timeout limit is set to '.$timeout_limit.' seconds, which is less than the recommended 300 seconds. This may cause slow deletion progress if deleting large data.', 'wp-bulk-delete' ); ?></strong></p>
[128] Fix | Delete
</div>
[129] Fix | Delete
<?php
[130] Fix | Delete
}
[131] Fix | Delete
return false;
[132] Fix | Delete
}
[133] Fix | Delete
add_action( 'timeout_memory_is_enough', 'timeout_memory_limit_is_enough' );
[134] Fix | Delete
[135] Fix | Delete
/**
[136] Fix | Delete
* Return post count from posttype
[137] Fix | Delete
*
[138] Fix | Delete
* @since 1.0
[139] Fix | Delete
* @return void
[140] Fix | Delete
*/
[141] Fix | Delete
function wpbd_get_posttype_post_count( $posttye ){
[142] Fix | Delete
if( $posttye != '' ){
[143] Fix | Delete
global $wpdb;
[144] Fix | Delete
$count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(ID) FROM $wpdb->posts WHERE post_type = %s AND `post_status` NOT IN ('trash', 'auto-draft')", esc_attr( $posttye ) ) );
[145] Fix | Delete
return $count;
[146] Fix | Delete
}
[147] Fix | Delete
return 0;
[148] Fix | Delete
}
[149] Fix | Delete
[150] Fix | Delete
/**
[151] Fix | Delete
* Save Scheduled delete
[152] Fix | Delete
*
[153] Fix | Delete
* @param {Array} $data
[154] Fix | Delete
* @return {Array}
[155] Fix | Delete
*/
[156] Fix | Delete
function wpbd_save_scheduled_delete($data){
[157] Fix | Delete
$scheduled = false;
[158] Fix | Delete
$delete_datetime = ( $data['delete_datetime'] ) ? $data['delete_datetime'] : '';
[159] Fix | Delete
$delete_frequency = ( $data['delete_frequency'] ) ? $data['delete_frequency'] : 'not_repeat';
[160] Fix | Delete
$cron_time = strtotime($delete_datetime) - (int) ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
[161] Fix | Delete
$title = !empty( $data['schedule_name'] ) ? $data['schedule_name'] : __( 'Scheduled Delete - ', 'wp-bulk-delete' ) . ucfirst($data['delete_entity']);
[162] Fix | Delete
[163] Fix | Delete
if( $delete_frequency === 'not_repeat' ){
[164] Fix | Delete
$insert_args = array(
[165] Fix | Delete
'post_type' => 'wpbd_scheduled',
[166] Fix | Delete
'post_status' => 'publish',
[167] Fix | Delete
'post_title' => $title,
[168] Fix | Delete
);
[169] Fix | Delete
[170] Fix | Delete
$insert = wp_insert_post( $insert_args, true );
[171] Fix | Delete
if ( is_wp_error( $insert ) ) {
[172] Fix | Delete
return array(
[173] Fix | Delete
'status' => 0,
[174] Fix | Delete
'messages' => array( esc_html__( 'Something went wrong when saving scheduled delete.', 'wp-bulk-delete' ) ),
[175] Fix | Delete
);
[176] Fix | Delete
}
[177] Fix | Delete
$data['wpbd_scheduled_id'] = $insert;
[178] Fix | Delete
update_post_meta( $insert, 'delete_options', $data );
[179] Fix | Delete
$scheduled = wp_schedule_single_event($cron_time, 'wpbd_run_scheduled_delete', array('post_id' => $insert ) );
[180] Fix | Delete
} else {
[181] Fix | Delete
$insert_args = array(
[182] Fix | Delete
'post_type' => 'wpbd_scheduled',
[183] Fix | Delete
'post_status' => 'publish',
[184] Fix | Delete
'post_title' => $title,
[185] Fix | Delete
);
[186] Fix | Delete
[187] Fix | Delete
$insert = wp_insert_post( $insert_args, true );
[188] Fix | Delete
if ( is_wp_error( $insert ) ) {
[189] Fix | Delete
return array(
[190] Fix | Delete
'status' => 0,
[191] Fix | Delete
'messages' => array( esc_html__( 'Something went wrong when saving scheduled delete.', 'wp-bulk-delete' ) ),
[192] Fix | Delete
);
[193] Fix | Delete
}
[194] Fix | Delete
$data['wpbd_scheduled_id'] = $insert;
[195] Fix | Delete
update_post_meta( $insert, 'delete_options', $data );
[196] Fix | Delete
$scheduled = wp_schedule_event( $cron_time, $delete_frequency, 'wpbd_run_scheduled_delete', array('post_id' => $insert));
[197] Fix | Delete
}
[198] Fix | Delete
if( $scheduled) {
[199] Fix | Delete
return array(
[200] Fix | Delete
'status' => 1,
[201] Fix | Delete
'messages' => array( esc_html__( 'Delete scheduled successfully.', 'wp-bulk-delete' ) )
[202] Fix | Delete
);
[203] Fix | Delete
}else{
[204] Fix | Delete
return array(
[205] Fix | Delete
'status' => 0,
[206] Fix | Delete
'messages' => array( esc_html__( 'Error in scheduled delete.', 'wp-bulk-delete' ) ),
[207] Fix | Delete
);
[208] Fix | Delete
}
[209] Fix | Delete
}
[210] Fix | Delete
[211] Fix | Delete
/**
[212] Fix | Delete
* Function only for debuging
[213] Fix | Delete
*
[214] Fix | Delete
* @since 1.1
[215] Fix | Delete
*/
[216] Fix | Delete
function wp_p( $data, $exit = false ){
[217] Fix | Delete
[218] Fix | Delete
echo '<pre>';
[219] Fix | Delete
if ( is_array( $data ) || is_object( $data ) ){
[220] Fix | Delete
print_r( $data );
[221] Fix | Delete
} else {
[222] Fix | Delete
echo $data;
[223] Fix | Delete
}
[224] Fix | Delete
echo '</pre>';
[225] Fix | Delete
if ( $exit ) {
[226] Fix | Delete
exit();
[227] Fix | Delete
}
[228] Fix | Delete
[229] Fix | Delete
}
[230] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function