PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 1.4
MxChat – AI Chatbot & Content Generation for WordPress v1.4
3.2.21 3.2.20 3.2.19 3.2.18 3.2.17 3.2.16 3.2.15 3.2.14 3.2.12 3.2.13 3.2.11 3.2.10 3.2.9 3.2.8 3.2.7 3.2.6 3.2.5 3.2.4 3.2.3 3.2.2 3.2.1 2.0.3 2.0.4 2.0.5 2.0.6 All 152 releases
← All changes | mxchat-basic.php +9 -72 2.0.51.4 View file →
@@ -1,15 +1,13 @@
1 1 <?php
2 2 /**
3 3 * Plugin Name: MxChat
4 - * Description: AI chatbot for WordPress with OpenAI, Claude, xAI, DeepSeek, live agent, PDF uploads, WooCommerce, and training on website data.
5 - * Version: 2.0.5
4 + * Description: AI Chatbot for WordPress with support for OpenAI, X.AI, and Claude models. Includes features like custom knowledge submission, chat transcripts, and seamless integration with WooCommerce. Perfect for blogs, business sites, e-commerce platforms, and more, offering real-time intelligent interactions with advanced AI models.
5 + * Version: 1.4
6 6 * Author: MxChat
7 7 * Author URI: https://mxchat.ai
8 8 * License: GPLv2 or later
9 9 * License URI: https://www.gnu.org/licenses/gpl-2.0.html
10 - * Text Domain: mxchat
11 - * Domain Path: /languages
12 10 */
13 11
14 12 if (!defined('ABSPATH')) {
15 13 exit; // Exit if accessed directly.
@@ -14,14 +12,8 @@
14 12 if (!defined('ABSPATH')) {
15 13 exit; // Exit if accessed directly.
16 14 }
17 15
18 -
19 -function mxchat_load_textdomain() {
20 - load_plugin_textdomain('mxchat', false, dirname(plugin_basename(__FILE__)) . '/languages');
21 -}
22 -add_action('plugins_loaded', 'mxchat_load_textdomain');
23 -
24 16 // Include classes
25 17 require_once plugin_dir_path(__FILE__) . 'includes/class-mxchat-integrator.php';
26 18 require_once plugin_dir_path(__FILE__) . 'includes/class-mxchat-admin.php';
27 19 require_once plugin_dir_path(__FILE__) . 'includes/class-mxchat-public.php';
@@ -27,10 +19,8 @@
27 19 require_once plugin_dir_path(__FILE__) . 'includes/class-mxchat-public.php';
28 20 require_once plugin_dir_path(__FILE__) . 'includes/class-mxchat-utils.php';
29 21 require_once plugin_dir_path(__FILE__) . 'includes/class-mxchat-user.php';
30 22 require_once plugin_dir_path(__FILE__) . 'includes/class-mxchat-woocommerce.php';
31 -require_once plugin_dir_path(__FILE__) . 'includes/pdf-parser/alt_autoload.php';
32 -require_once plugin_dir_path(__FILE__) . 'includes/class-mxchat-word-handler.php';
33 23
34 24 function mxchat_activate() {
35 25 global $wpdb;
36 26 $charset_collate = $wpdb->get_charset_collate();
@@ -42,9 +32,8 @@
42 32 user_id MEDIUMINT(9) DEFAULT 0,
43 33 session_id VARCHAR(255) NOT NULL,
44 34 role VARCHAR(255) NOT NULL,
45 35 message TEXT NOT NULL,
46 - user_email VARCHAR(255) DEFAULT NULL,
47 36 timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
48 37 PRIMARY KEY (id)
49 38 ) $charset_collate;";
50 39
@@ -78,24 +67,21 @@
78 67 dbDelta($sql_chat_transcripts);
79 68 dbDelta($sql_system_prompt);
80 69 dbDelta($sql_intents_table);
81 70
82 - // Ensure additional columns in `mxchat_chat_transcripts`
83 - mxchat_add_missing_columns($chat_transcripts_table, 'user_identifier', 'VARCHAR(255)');
84 - mxchat_add_missing_columns($chat_transcripts_table, 'user_email', 'VARCHAR(255) DEFAULT NULL');
85 -
86 - // Ensure additional columns in `mxchat_system_prompt_content`
71 + // Ensure additional columns in `mxchat_system_prompt_content` and `mxchat_chat_transcripts`
87 72 mxchat_add_missing_columns($system_prompt_table, 'embedding_vector', 'LONGTEXT');
88 73 mxchat_add_missing_columns($system_prompt_table, 'source_url', 'VARCHAR(255) DEFAULT NULL');
74 + mxchat_add_missing_columns($chat_transcripts_table, 'user_identifier', 'VARCHAR(255)');
75 + mxchat_add_missing_columns($chat_transcripts_table, 'user_email', 'VARCHAR(255)');
89 76
90 77 // Set default thresholds for existing intents
91 78 $wpdb->query("UPDATE {$intents_table} SET similarity_threshold = 0.85 WHERE similarity_threshold IS NULL");
92 79
93 80 // Update plugin version in the database
94 - update_option('mxchat_plugin_version', '2.0.5');
81 + update_option('mxchat_plugin_version', '1.4');
95 82 }
96 83
97 -
98 84 function mxchat_add_missing_columns($table, $column_name, $column_type) {
99 85 global $wpdb;
100 86 $column_exists = $wpdb->get_results($wpdb->prepare("SHOW COLUMNS FROM $table LIKE %s", $column_name));
101 87 if (empty($column_exists)) {
@@ -104,70 +90,21 @@
104 90 }
105 91
106 92 function mxchat_check_for_update() {
107 93 $current_version = get_option('mxchat_plugin_version');
108 - $plugin_version = '2.0.5'; // Update with your latest version
94 + $plugin_version = '1.4';
109 95
110 96 if ($current_version !== $plugin_version) {
111 - mxchat_activate(); // Run the activation script to apply schema changes
112 - mxchat_migrate_live_agent_status(); // Add migration for live agent status
113 - update_option('mxchat_plugin_version', $plugin_version); // Update the version
97 + mxchat_activate(); // Run the activation script which includes database migrations
98 + update_option('mxchat_plugin_version', $plugin_version); // Update to the latest version
114 99 }
115 100 }
116 101
117 -function mxchat_migrate_live_agent_status() {
118 - $options = get_option('mxchat_options', []);
119 -
120 - // Check if live_agent_status exists
121 - if (isset($options['live_agent_status'])) {
122 - $current_status = $options['live_agent_status'];
123 - $needs_update = false;
124 -
125 - // Convert to new format if needed
126 - if ($current_status === 'online') {
127 - $options['live_agent_status'] = 'on';
128 - $needs_update = true;
129 - } else if ($current_status === 'offline') {
130 - $options['live_agent_status'] = 'off';
131 - $needs_update = true;
132 - } else if (!in_array($current_status, ['on', 'off'])) {
133 - // Default to off for any unexpected values
134 - $options['live_agent_status'] = 'off';
135 - $needs_update = true;
136 - }
137 -
138 - // Only update if needed
139 - if ($needs_update) {
140 - update_option('mxchat_options', $options);
141 - }
142 - } else {
143 - // If status doesn't exist, set default to off
144 - $options['live_agent_status'] = 'off';
145 - update_option('mxchat_options', $options);
146 - }
147 -}
148 -
149 -
150 102 // Run the update check function on every request
151 103 add_action('plugins_loaded', 'mxchat_check_for_update');
152 104
153 105 // Register activation hook
154 106 register_activation_hook(__FILE__, 'mxchat_activate');
155 -
156 -
157 -add_filter('cron_schedules', function($schedules) {
158 - $schedules['one_minute'] = array(
159 - 'interval' => 60,
160 - 'display' => 'Every Minute'
161 - );
162 - return $schedules;
163 -});
164 -
165 -add_action('init', function() {
166 - add_action('mxchat_process_pdf_pages', array('MxChat_Admin', 'process_pdf_pages_cron'), 10, 5);
167 - add_action('mxchat_process_sitemap_urls', array('MxChat_Admin', 'process_sitemap_urls_cron'), 10, 5);
168 -});
169 -
170 107
171 108 // Instantiate classes
172 109 if (is_admin()) {
173 110 $mxchat_admin = new MxChat_Admin();