403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/inetpub/wwwroot/AIWEBSTATION/wp-content/plugins/wpbot-pro/includes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/inetpub/wwwroot/AIWEBSTATION/wp-content/plugins/wpbot-pro/includes/class-wpbot-maybe-upgrade.php
<?php
/**
 * @package Botmaster
 * @version 1.0.0
 * @author  Quantamcloud
 */

/**
 * Maybe Upgrade class
 */
class Qcld_WPBot_Maybe_Upgrade {

	public $mysql_version = '';

	/**
	 * Constructor
	 */
	public function __construct() {
		add_action( 'init', array( $this, 'qc_wp_latest_update_check_pro' ), 10 );
		add_action( 'init', array( $this, 'str_reindex' ), 50 );
		add_action( 'init', array( $this, 'maybe_update' ), 100 );
		add_action( 'init', array( $this, 'check_mysql_version' ), 80 );
	}

	/**
	 * Reindex
	 */
	public function str_reindex() {
		global $wpdb;
		$table = $wpdb->prefix . 'wpbot_response';
		if ( isset( $_POST['qc-re-index'] ) ) {
			qc_mysql_remove_existing_indexes();
			qc_mysql_reindex();
			add_action( 'admin_notices', array( $this, 'general_admin_notice' ) );
		}
	}

	/**
	 * General admin notice
	 */
	public function general_admin_notice() {

		if ( isset( $_GET['page'] ) && $_GET['page'] == 'simple-text-response' ) {
			echo '<div class="qcbot notice notice-success is-dismissible">
                 <p>Re-Indexing has been completed!</p>
             </div>';
		}
	}

	/**
	 * Check if latest update is needed
	 */
	public function qc_wp_latest_update_check_pro() {
		global $wpdb;

		if ( ! get_option( 'qc_wp_ludate_ck_pro' ) && current_user_can( 'administrator' ) ) {
			update_option( 'qlcd_wp_chatbot_support_phone', 'Leave your number. We will call you back!' );
			update_option( 'qlcd_wp_chatbot_wildcard_support', 'FAQ' );
			update_option( 'qc_wp_ludate_ck_pro', 'done' );
		}

		if ( ! get_option( 'qc_wpbot_simple_response_db_upgrade_pro' ) ) {

			$collate = '';
			if ( $wpdb->has_cap( 'collation' ) ) {

				if ( ! empty( $wpdb->charset ) ) {

					$collate .= "DEFAULT CHARACTER SET $wpdb->charset";
				}
				if ( ! empty( $wpdb->collate ) ) {

					$collate .= " COLLATE $wpdb->collate";

				}
			}
			// Bot Response Table.
			$table1             = $wpdb->prefix . 'wpbot_response';
			$sql_sliders_Table1 = "
                CREATE TABLE IF NOT EXISTS `$table1` (
                `id` INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
                `query` TEXT NOT NULL,
                `keyword` TEXT NOT NULL,
                `response` TEXT NOT NULL,
                `category` varchar(256) NOT NULL,
                `intent` varchar(256) NOT NULL,
                `custom` varchar(256) NOT NULL,
                FULLTEXT(`query`, `keyword`, `response`)
                )  $collate AUTO_INCREMENT=1 ENGINE=InnoDB";

			require_once ABSPATH . 'wp-admin/includes/upgrade.php';
			dbDelta( $sql_sliders_Table1 );

			if ( ! get_option( 'qlcd_wp_chatbot_did_you_mean' ) ) {
				update_option( 'qlcd_wp_chatbot_did_you_mean', serialize( array( 'Did you mean?' ) ) );
			}
			$sqlqry = $wpdb->get_results( "select * from $table1" );
			if ( empty( $sqlqry ) ) {
				$query    = 'What Can WPBot do for you?';
				$response = 'WPBot can converse fluidly with users on website and FB messenger. It can search your website, send/collect eMails, user feedback & phone numbers . You can create Custom Intents from DialogFlow with Rich Messages & Card responses!';

				$data   = array(
					'query'    => $query,
					'keyword'  => '',
					'response' => $response,
					'intent'   => '',
				);
				$format = array( '%s', '%s', '%s', '%s' );
				$wpdb->insert( $table1, $data, $format );
			}
			update_option( 'qc_wpbot_simple_response_db_upgrade_pro', 'done' );

		}

		if ( ! get_option( 'wpbot_main_plugin_installed' ) ) {
			if ( is_multisite() && $network_wide ) {
				// Get all blogs in the network and activate plugin on each one
				$blog_ids = $wpdb->get_col( "SELECT blog_id FROM $wpdb->blogs" );
				foreach ( $blog_ids as $blog_id ) {
					switch_to_blog( $blog_id );
					Qcld_WPBot_Install::install();
					restore_current_blog();
				}
			} else {
				Qcld_WPBot_Install::install();
			}

			update_option( 'wpbot_main_plugin_installed', 1 );
		}

		if ( ! get_option( 'qc_wpbotpro_failed_query' ) ) {

			$table             = $wpdb->prefix . 'wpbot_failed_response';
			$sql_sliders_Table = "
                CREATE TABLE IF NOT EXISTS `$table` (
                `id` int(11) NOT NULL AUTO_INCREMENT,
                `query` varchar(256) NOT NULL,
                `count` int(11) NOT NULL,
                `status` int(11) NOT NULL,
                PRIMARY KEY (`id`)
                )  $collate AUTO_INCREMENT=1 ";

			require_once ABSPATH . 'wp-admin/includes/upgrade.php';
			dbDelta( $sql_sliders_Table );

			update_option( 'qc_wpbotpro_failed_query', '1' );
		}

		if ( ! get_option( 'qc_wp_db_engine_update_pro' ) ) {
			$table1 = $wpdb->prefix . 'wpbot_response';
			$wpdb->query( "ALTER TABLE $table1 ENGINE = InnoDB" );
			update_option( 'qc_wp_db_engine_update_pro', 'done' );
		}

		if ( ! get_option( 'qc_wp_db_engine_update_pro_unassign' ) ) {
			$table1 = $wpdb->prefix . 'wpbot_response';
			$wpdb->query( "ALTER TABLE $table1 CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT;" );
			update_option( 'qc_wp_db_engine_update_pro_unassign', 'done' );
		}

		if ( ( isset( $_POST['qc_bot_str_query'] ) && $_POST['qc_bot_str_query'] != '' && ! class_exists( 'Qcld_str_pro' ) ) && current_user_can( 'manage_options' ) ) {

			$query   = wp_unslash( sanitize_text_field( $_POST['qc_bot_str_query'] ) );
			$keyword = wp_unslash( sanitize_text_field( $_POST['qc_bot_str_keyword'] ) );
			$intent  = wp_unslash( sanitize_text_field( $_POST['qc_bot_str_intent'] ) );

			$category = '';
			$lang     = ( isset( $_POST['qc_bot_str_lang'] ) ? get_wpbot_locale() : get_wpbot_locale() );

			$response = wp_kses( wp_unslash( $_POST['qc_bot_str_response'] ), 'post' );

			$table  = $wpdb->prefix . 'wpbot_response';
			$data   = array(
				'query'    => $query,
				'keyword'  => $keyword,
				'response' => $response,
				'intent'   => $intent,
				'category' => $category,
				'lang'     => $lang,
			);
			$format = array( '%s', '%s', '%s', '%s', '%s' );

			if ( isset( $_POST['qc_bot_str_id'] ) && $_POST['qc_bot_str_id'] != '' ) {
				$id          = sanitize_text_field( $_POST['qc_bot_str_id'] );
				$where       = array( 'id' => $id );
				$whereformat = array( '%d' );
				$wpdb->update( $table, $data, $where, $format, $whereformat );
			} else {
				$wpdb->insert( $table, $data, $format );
			}

			qc_mysql_remove_existing_indexes();
			qc_mysql_reindex();

			wp_redirect( admin_url( 'admin.php?page=simple-text-response' ) );
			exit;

		}

		if ( isset( $_POST['qc_bot_str_weight'] ) && $_POST['qc_bot_str_weight'] != '' ) {
			$weight = sanitize_text_field( $_POST['qc_bot_str_weight'] );

			update_option( 'qc_bot_str_weight', $weight );
		}
		if ( isset( $_POST['qc_bot_str_weight'] ) && $_POST['qc_bot_str_weight'] != '' ) {
			$weight = sanitize_text_field( $_POST['qc_bot_str_weight'] );

			update_option( 'qc_bot_str_weight', $weight );
		}
		if ( isset( $_POST['qc_bot_str_turnoff_fulltext'] ) ) {
			$turnoff_fulltext = sanitize_text_field( $_POST['qc_bot_str_turnoff_fulltext'] );

			update_option( 'qc_bot_str_turnoff_fulltext', $turnoff_fulltext );
		}

		if ( isset( $_POST['qc_bot_str_max_limit'] ) && $_POST['qc_bot_str_max_limit'] != '' ) {
			$qc_bot_str_max_limit = sanitize_text_field( $_POST['qc_bot_str_max_limit'] );

			update_option( 'qc_bot_str_max_limit', $qc_bot_str_max_limit );
		}

		if ( isset( $_POST['qc_bot_str_fields'] ) && ! empty( $_POST['qc_bot_str_fields'] ) ) {

			$table  = $wpdb->prefix . 'wpbot_response';
			$fields = ( $_POST['qc_bot_str_fields'] );
			qc_mysql_remove_existing_indexes();

			update_option( 'qc_bot_str_fields', $fields );

			qc_mysql_reindex();

			if ( isset( $_POST['qc_bot_str_remove_stopwords'] ) && $_POST['qc_bot_str_remove_stopwords'] != '' ) {
				$stopwords = sanitize_text_field( $_POST['qc_bot_str_remove_stopwords'] );
				update_option( 'qc_bot_str_remove_stopwords', $stopwords );
			} else {
				delete_option( 'qc_bot_str_remove_stopwords' );
			}
			if ( isset( $_POST['qc_bot_str_allow_shortcode'] ) && $_POST['qc_bot_str_allow_shortcode'] != '' ) {
				$qc_bot_str_allow_shortcode = sanitize_text_field( $_POST['qc_bot_str_allow_shortcode'] );
				update_option( 'qc_bot_str_allow_shortcode', $qc_bot_str_allow_shortcode );
			} else {
				delete_option( 'qc_bot_str_allow_shortcode' );
			}
			if ( isset( $_POST['qc_bot_enable_str'] ) && $_POST['qc_bot_enable_str'] != '' ) {
				$qc_bot_enable_str = sanitize_text_field( $_POST['qc_bot_enable_str'] );
				update_option( 'qc_bot_enable_str', $qc_bot_enable_str );
			} else {
				delete_option( 'qc_bot_enable_str' );
			}
		}
		// compatible with Userswp plugin
		if ( is_admin() && isset( $_GET['page'] ) && ( $_GET['page'] == 'wpbot' || $_GET['page'] == 'wpwc-settings-page' ) ) {
			add_action( 'wp_print_scripts', array( $this, 'qcwp_userswp_dequeue_script' ), 100 );
		}
	}

	function qcwp_userswp_dequeue_script() {
		wp_dequeue_script( 'bootstrap-js-bundle' );
	}

	/**
	 * Check if update is needed then run updater
	 *
	 * @return void
	 */
	public function maybe_update() {

		if ( ! get_option( 'qcld_wpbot_version' ) || ( version_compare( get_option( 'qcld_wpbot_version' ), qcld_wpbot()->version, '<' ) ) ) {

			if ( file_exists( QCLD_wpCHATBOT_PLUGIN_DIR_PATH . 'includes/upgrades/update-' . qcld_wpbot()->version . '.php' ) ) {
				include_once QCLD_wpCHATBOT_PLUGIN_DIR_PATH . 'includes/upgrades/update-' . qcld_wpbot()->version . '.php';
				update_option( 'qcld_wpbot_version', qcld_wpbot()->version );
				// Only update qc_bot_enable_str if version is less than 14.9.3.
				if ( version_compare( qcld_wpbot()->version, '14.7.6', '<' ) ) {
					if ( ! get_option( 'qc_bot_enable_str' ) ) {
						add_option( 'qc_bot_enable_str', '1' );
					}
				}
			}
		}
	}

	/**
	 * Check MySQL version
	 */
	public function check_mysql_version() {
		global $wpdb;
	
		if ( is_admin() ) {
			$mysql_server_info = $wpdb->db_server_info();
	
			// Check for MariaDB.
			$is_mariadb = false;
			if ( ! empty( $mysql_server_info ) && strpos( strtolower( $mysql_server_info ), 'maria' ) !== false ) {
				$is_mariadb = true;
			}
	
			// Extract MySQL version.
			preg_match_all( '/\d+\.\d+/', $mysql_server_info, $matches );
	
			if ( ! empty( $matches[0] ) && is_array( $matches[0] ) && ! $is_mariadb ) {
				$versions = $matches[0];
				$notice   = true;
	
				foreach ( $versions as $version ) {
					if ( version_compare( $version, '5.5', '>' ) ) {
						$this->mysql_version = $version;
						$notice              = false;
					} else {
						$this->mysql_version = $version;
					}
				}
	
				if ( $notice ) {
					add_action( 'admin_notices', array( $this, 'mysql_version_notice' ) );
				}
			}
		}
	}
	

	/**
	 * MySQL version notice
	 */
	public function mysql_version_notice() {
		$class   = 'notice notice-error is-dismissible qc-notice-error';
		$message = "Your server's MySQL version is **" . $this->mysql_version . '**. MySQL version 5.6+ is required for Simple Text Responses to work. Please contact your hosting support to upgrade the MySQL to the latest version.';
		printf( '<div class="%1$s"><a href="' . esc_url( 'https://www.quantumcloud.com/products/' ) . '" target="_blank"><img src="' . esc_url( QCLD_wpCHATBOT_PLUGIN_URL . 'plugin-upgrader/images/qc-logo.jpg' ) . '" /></a><p>%2$s</p></div>', esc_attr( $class ), $message );
	}
}

new Qcld_WPBot_Maybe_Upgrade();

Youez - 2016 - github.com/yon3zu
LinuXploit