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/wp-conte.../plugins/wordpres.../includes
File: class-wws-install.php
<?php
[0] Fix | Delete
[1] Fix | Delete
// Exit if accessed directly
[2] Fix | Delete
defined( 'ABSPATH' ) || exit;
[3] Fix | Delete
[4] Fix | Delete
/**
[5] Fix | Delete
* Plugin install class
[6] Fix | Delete
*/
[7] Fix | Delete
class WWS_Install {
[8] Fix | Delete
[9] Fix | Delete
/**
[10] Fix | Delete
* Plugin install.
[11] Fix | Delete
*/
[12] Fix | Delete
public static function install() {
[13] Fix | Delete
[14] Fix | Delete
do_action( 'wws_before_install' );
[15] Fix | Delete
[16] Fix | Delete
self::create_tables();
[17] Fix | Delete
self::register_options();
[18] Fix | Delete
[19] Fix | Delete
do_action( 'wws_after_install' );
[20] Fix | Delete
[21] Fix | Delete
// update current version.
[22] Fix | Delete
update_option( 'wws_version', WWS_PLUGIN_VER );
[23] Fix | Delete
}
[24] Fix | Delete
[25] Fix | Delete
/**
[26] Fix | Delete
* Add plugin default setting while plugin activation.
[27] Fix | Delete
*/
[28] Fix | Delete
public static function register_options() {
[29] Fix | Delete
foreach( self::default_options() as $name => $value ) {
[30] Fix | Delete
add_option( $name, $value );
[31] Fix | Delete
}
[32] Fix | Delete
}
[33] Fix | Delete
[34] Fix | Delete
/**
[35] Fix | Delete
* Get the all default plugin options.
[36] Fix | Delete
*
[37] Fix | Delete
* @return array
[38] Fix | Delete
*/
[39] Fix | Delete
public static function default_options() {
[40] Fix | Delete
return array(
[41] Fix | Delete
'wws_layout' => '1',
[42] Fix | Delete
'wws_layout_background_color' => '#22c15e',
[43] Fix | Delete
'wws_layout_text_color' => '#ffffff',
[44] Fix | Delete
'wws_gradient_status' => 'yes',
[45] Fix | Delete
'wws_support_person_image' => '',
[46] Fix | Delete
'wws_trigger_button_only_icon' => 'no',
[47] Fix | Delete
'wws_about_support_text' => 'Our customer support team is here to answer your questions. Ask us anything!',
[48] Fix | Delete
'wws_welcome_message' => '👋 Hi, how can I help?',
[49] Fix | Delete
'wws_input_placeholder_text' => 'Reply to WeCreativez...',
[50] Fix | Delete
'wws_number_placeholder_text' => 'Enter your WhatsApp Number',
[51] Fix | Delete
'wws_number_masking' => '(999) 999-9999',
[52] Fix | Delete
'wws_predefined_text' => '{br}'.PHP_EOL .'Page Title: {title}{br}'.PHP_EOL .'Page URL: {url}',
[53] Fix | Delete
'wws_trigger_button_text' => 'Hi, how can I help?',
[54] Fix | Delete
'wws_contact_number' => '911234567890',
[55] Fix | Delete
'wws_group_id' => 'XYZ12345678',
[56] Fix | Delete
'wws_scroll_length' => '',
[57] Fix | Delete
'wws_rtl_status' => 'no',
[58] Fix | Delete
'wws_x_axis_offset' => 12,
[59] Fix | Delete
'wws_y_axis_offset' => 12,
[60] Fix | Delete
'wws_display_on_desktop' => 'yes',
[61] Fix | Delete
'wws_desktop_location' => 'br',
[62] Fix | Delete
'wws_display_on_mobile' => 'yes',
[63] Fix | Delete
'wws_mobile_location' => 'br',
[64] Fix | Delete
'wws_auto_popup' => 'yes',
[65] Fix | Delete
'wws_auto_popup_time' => '5',
[66] Fix | Delete
'wws_custom_css' => '',
[67] Fix | Delete
'wws_filter_by_everywhere' => 'yes',
[68] Fix | Delete
'wws_filter_by_front_page' => 'yes',
[69] Fix | Delete
'wws_filter_by_page_id_include' => array(),
[70] Fix | Delete
'wws_filter_by_page_id_exclude' => array(),
[71] Fix | Delete
'wws_filter_by_url_exclude' => '',
[72] Fix | Delete
'wws_filter_by_schedule' => array(
[73] Fix | Delete
'mon' => array(
[74] Fix | Delete
'status' => 'yes',
[75] Fix | Delete
'start' => '00:00:00',
[76] Fix | Delete
'end' => '23:59:59'
[77] Fix | Delete
),
[78] Fix | Delete
'tue' => array(
[79] Fix | Delete
'status' => 'yes',
[80] Fix | Delete
'start' => '00:00:00',
[81] Fix | Delete
'end' => '23:59:59'
[82] Fix | Delete
),
[83] Fix | Delete
'wed' => array(
[84] Fix | Delete
'status' => 'yes',
[85] Fix | Delete
'start' => '00:00:00',
[86] Fix | Delete
'end' => '23:59:59'
[87] Fix | Delete
),
[88] Fix | Delete
'thu' => array(
[89] Fix | Delete
'status' => 'yes',
[90] Fix | Delete
'start' => '00:00:00',
[91] Fix | Delete
'end' => '23:59:59'
[92] Fix | Delete
),
[93] Fix | Delete
'fri' => array(
[94] Fix | Delete
'status' => 'yes',
[95] Fix | Delete
'start' => '00:00:00',
[96] Fix | Delete
'end' => '23:59:59'
[97] Fix | Delete
),
[98] Fix | Delete
'sat' => array(
[99] Fix | Delete
'status' => 'yes',
[100] Fix | Delete
'start' => '00:00:00',
[101] Fix | Delete
'end' => '23:59:59'
[102] Fix | Delete
),
[103] Fix | Delete
'sun' => array(
[104] Fix | Delete
'status' => 'yes',
[105] Fix | Delete
'start' => '00:00:00',
[106] Fix | Delete
'end' => '23:59:59'
[107] Fix | Delete
)
[108] Fix | Delete
),
[109] Fix | Delete
'wws_multi_support_person_randomize' => 'no',
[110] Fix | Delete
'wws_product_query_status' => 'yes',
[111] Fix | Delete
'wws_product_query_button_location' => 'woocommerce_before_add_to_cart_form',
[112] Fix | Delete
'wws_product_query_button_background_color' => '#22c15e',
[113] Fix | Delete
'wws_product_query_button_text_color' => '#ffffff',
[114] Fix | Delete
'wws_product_query_button_label' => 'Need Help? Contact Us via WhatsApp',
[115] Fix | Delete
'wws_product_query_support_number' => '911234567890',
[116] Fix | Delete
'wws_product_query_support_person_name' => 'Maya',
[117] Fix | Delete
'wws_product_query_support_person_title' => 'Pre-sale Questions',
[118] Fix | Delete
'wws_product_query_support_person_image' => WWS_PLUGIN_URL . 'assets/img/user.svg',
[119] Fix | Delete
'wws_product_query_support_pre_message' => 'Hi, I need help with {title} {url}',
[120] Fix | Delete
'wws_product_query_exclude_by_products' => array(),
[121] Fix | Delete
'wws_product_query_exclude_by_categories' => array(),
[122] Fix | Delete
'wws_gdpr_status' => 'no',
[123] Fix | Delete
'wws_gdpr_message' => 'I agree with the {policy_url}',
[124] Fix | Delete
'wws_gdpr_privacy_page' => get_option( 'page_on_front' ),
[125] Fix | Delete
'wws_fb_click_tracking_status' => 'no',
[126] Fix | Delete
'wws_fb_click_tracking_event_name' => 'Chat started',
[127] Fix | Delete
'wws_fb_click_tracking_event_label' => 'Support',
[128] Fix | Delete
'wws_ga_click_tracking_status' => 'no',
[129] Fix | Delete
'wws_ga_click_tracking_event_name' => 'Button Clicked',
[130] Fix | Delete
'wws_ga_click_tracking_event_category' => 'WordPress WhatsApp Support',
[131] Fix | Delete
'wws_ga_click_tracking_event_label' => 'Support',
[132] Fix | Delete
'wws_multi_support_persons' => array(),
[133] Fix | Delete
'wws_debug_status' => 'no',
[134] Fix | Delete
'wws_enqueue_jquery' => 'no',
[135] Fix | Delete
'wws_delete_all' => 'no',
[136] Fix | Delete
);
[137] Fix | Delete
}
[138] Fix | Delete
[139] Fix | Delete
public static function create_tables() {
[140] Fix | Delete
global $wpdb;
[141] Fix | Delete
[142] Fix | Delete
$wws_analytics_table = $wpdb->prefix.'wws_analytics';
[143] Fix | Delete
[144] Fix | Delete
if($wpdb->get_var("SHOW TABLES LIKE '$wws_analytics_table'") != $wws_analytics_table) {
[145] Fix | Delete
[146] Fix | Delete
//table not in database. Create new table
[147] Fix | Delete
$charset_collate = $wpdb->get_charset_collate();
[148] Fix | Delete
[149] Fix | Delete
$sql = "CREATE TABLE $wws_analytics_table (
[150] Fix | Delete
id BIGINT NOT NULL AUTO_INCREMENT ,
[151] Fix | Delete
visitor_ip VARCHAR(32) NOT NULL ,
[152] Fix | Delete
message LONGTEXT NOT NULL ,
[153] Fix | Delete
device_type VARCHAR(32) NOT NULL ,
[154] Fix | Delete
os VARCHAR(32) NOT NULL,
[155] Fix | Delete
browser VARCHAR(32) NOT NULL ,
[156] Fix | Delete
date VARCHAR(32) NOT NULL ,
[157] Fix | Delete
PRIMARY KEY (id)) $charset_collate;";
[158] Fix | Delete
[159] Fix | Delete
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
[160] Fix | Delete
dbDelta( $sql );
[161] Fix | Delete
[162] Fix | Delete
}
[163] Fix | Delete
[164] Fix | Delete
if ( $wpdb->get_var( "SHOW COLUMNS FROM $wws_analytics_table LIKE 'referral'" ) != 'referral' ) {
[165] Fix | Delete
$wpdb->query( "ALTER TABLE $wws_analytics_table ADD referral LONGTEXT NOT NULL AFTER message" );
[166] Fix | Delete
}
[167] Fix | Delete
[168] Fix | Delete
// Add Number column in the analytics table.
[169] Fix | Delete
// @since 1.7
[170] Fix | Delete
if ( $wpdb->get_var( "SHOW COLUMNS FROM $wws_analytics_table LIKE 'number'" ) != 'number' ) {
[171] Fix | Delete
$wpdb->query( "ALTER TABLE $wws_analytics_table ADD number LONGTEXT NOT NULL AFTER visitor_ip" );
[172] Fix | Delete
}
[173] Fix | Delete
[174] Fix | Delete
/**
[175] Fix | Delete
* Add through column in the analytics table.
[176] Fix | Delete
*
[177] Fix | Delete
* @since 1.9.7
[178] Fix | Delete
*
[179] Fix | Delete
*/
[180] Fix | Delete
if ( $wpdb->get_var( "SHOW COLUMNS FROM $wws_analytics_table LIKE 'through'" ) != 'through' ) {
[181] Fix | Delete
$wpdb->query( "ALTER TABLE $wws_analytics_table ADD through VARCHAR(64) NOT NULL AFTER message" );
[182] Fix | Delete
}
[183] Fix | Delete
[184] Fix | Delete
/**
[185] Fix | Delete
* Add timestamp column in the analytics table.
[186] Fix | Delete
*
[187] Fix | Delete
* @since 2.0.0
[188] Fix | Delete
*
[189] Fix | Delete
*/
[190] Fix | Delete
if ( $wpdb->get_var( "SHOW COLUMNS FROM $wws_analytics_table LIKE 'timestamp'" ) != 'timestamp' ) {
[191] Fix | Delete
$wpdb->query( "ALTER TABLE $wws_analytics_table ADD timestamp VARCHAR(32) NOT NULL AFTER date" );
[192] Fix | Delete
}
[193] Fix | Delete
}
[194] Fix | Delete
[195] Fix | Delete
/**
[196] Fix | Delete
* Get plugin options saved by the admin.
[197] Fix | Delete
*
[198] Fix | Delete
* @return array
[199] Fix | Delete
*/
[200] Fix | Delete
public static function admin_options() {
[201] Fix | Delete
$settings = array();
[202] Fix | Delete
[203] Fix | Delete
foreach( self::default_options() as $name => $value ) {
[204] Fix | Delete
if ( ! get_option( $name ) ) {
[205] Fix | Delete
continue;
[206] Fix | Delete
}
[207] Fix | Delete
[208] Fix | Delete
$settings[$name] = get_option( $name );
[209] Fix | Delete
}
[210] Fix | Delete
[211] Fix | Delete
return $settings;
[212] Fix | Delete
}
[213] Fix | Delete
[214] Fix | Delete
/**
[215] Fix | Delete
* Array merge recursive.
[216] Fix | Delete
*
[217] Fix | Delete
* @param array $args
[218] Fix | Delete
* @param array $defaults
[219] Fix | Delete
*
[220] Fix | Delete
* @return array
[221] Fix | Delete
*/
[222] Fix | Delete
public static function parse_args_r( &$args, $defaults ) {
[223] Fix | Delete
$a = (array) $args;
[224] Fix | Delete
$b = (array) $defaults;
[225] Fix | Delete
$result = $b;
[226] Fix | Delete
foreach ( $a as $k => &$v ) {
[227] Fix | Delete
if ( is_array( $v ) && isset( $result[ $k ] ) ) {
[228] Fix | Delete
$result[ $k ] = self::parse_args_r( $v, $result[ $k ] );
[229] Fix | Delete
} else {
[230] Fix | Delete
$result[ $k ] = $v;
[231] Fix | Delete
}
[232] Fix | Delete
}
[233] Fix | Delete
return $result;
[234] Fix | Delete
}
[235] Fix | Delete
[236] Fix | Delete
}
[237] Fix | Delete
[238] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function