PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 2.2.4
MxChat – AI Chatbot & Content Generation for WordPress v2.2.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 | includes/class-mxchat-addons.php +216 -71 2.0.32.2.4 View file →
@@ -17,20 +17,59 @@
17 17 * Initialize the class and set its properties.
18 18 */
19 19 public function __construct() {
20 20 $this->addons_config = array(
21 + 'mxchat-intent-tester' => array(
22 + 'title' => __('MxChat Similarity Tester', 'mxchat'),
23 + 'description' => __('See exactly how your chatbot thinks. Visualize intent matches and similarity scores to optimize accuracy and understand AI decision-making. Essential for fine-tuning your responses.', 'mxchat'),
24 + 'key_benefits' => array(
25 + __('Reveal top 10 knowledge matches', 'mxchat'),
26 + __('Optimize response accuracy', 'mxchat'),
27 + __('Debug AI decision patterns', 'mxchat')
28 + ),
29 + 'license' => 'free',
30 + 'accent' => '#fa73e6',
31 + 'url' => 'https://quickdeploywp.com/plugin/mxchat-intent-tester/',
32 + 'plugin_file' => 'mxchat-intent-tester/mxchat-intent-tester.php',
33 + 'config_page' => 'mxchat-intent-tester'
34 + ),
21 35 'mxchat-pinecone' => array(
22 - 'title' => __('Pinecone DB Manager', 'mxchat'),
23 - 'description' => __('Seamlessly manage your vectorized content in Pinecone\'s vector database directly from your WordPress dashboard. This integration provides an efficient alternative to the default WordPress database storage.', 'mxchat'),
36 + 'title' => __('Pinecone DB Manager (Deprecated)', 'mxchat'),
37 + 'description' => __('This add-on has been sunsetted and is now included directly in the core MxChat plugin. Find Pinecone settings under the Knowledge tab in Pinecone Settings.', 'mxchat'),
38 + 'key_benefits' => array(
39 + __('Now integrated into core plugin', 'mxchat'),
40 + __('Access via Knowledge tab', 'mxchat'),
41 + __('No separate installation needed', 'mxchat')
42 + ),
24 43 'license' => 'free',
25 44 'accent' => '#fa73e6',
26 45 'url' => 'https://quickdeploywp.com/plugin/mxchat-pinecone/',
27 46 'plugin_file' => 'mxchat-pinecone/pinecone-manager.php',
28 - 'config_page' => 'mxchat-pinecone'
47 + 'config_page' => 'mxchat-pinecone',
48 + 'status' => 'deprecated'
29 49 ),
50 + 'mxchat-admin-assistant' => array(
51 + 'title' => __('MxChat Admin Assistant', 'mxchat'),
52 + 'description' => __('Your AI powerhouse inside WordPress. Chat with multiple AI models, generate images, research the web, and boost productivity—all without leaving your dashboard.', 'mxchat'),
53 + 'key_benefits' => array(
54 + __('ChatGPT-like admin interface', 'mxchat'),
55 + __('Generate images & research web', 'mxchat'),
56 + __('Searchable chat history', 'mxchat')
57 + ),
58 + 'license' => 'MxChat PRO',
59 + 'accent' => '#fa73e6',
60 + 'url' => 'https://quickdeploywp.com/plugin/mxchat-admin-assistant/',
61 + 'plugin_file' => 'mxchat-admin-chat/mxchat-admin-chat.php',
62 + 'config_page' => 'mxchat-admin-chat'
63 + ),
30 64 'mxchat-forms' => array(
31 65 'title' => __('MxChat Forms', 'mxchat'),
32 - 'description' => __('Create and manage smart forms that automatically trigger during chat conversations. Build custom forms with multiple field types, collect submissions, and export data—all seamlessly integrated with MxChat\'s intent system. No coding required, just intuitive form building for enhanced chat interactions.', 'mxchat'),
66 + 'description' => __('Convert conversations into data collection. Create smart forms that trigger during chats, collect user information, and turn casual visitors into qualified leads.', 'mxchat'),
67 + 'key_benefits' => array(
68 + __('No-code form builder', 'mxchat'),
69 + __('Intent-triggered activation', 'mxchat'),
70 + __('Export lead data easily', 'mxchat')
71 + ),
33 72 'license' => 'MxChat PRO',
34 73 'accent' => '#fa73e6',
35 74 'url' => 'https://quickdeploywp.com/plugin/mxchat-forms/',
36 75 'plugin_file' => 'mxchat-forms/mxchat-forms.php',
@@ -35,12 +74,44 @@
35 74 'url' => 'https://quickdeploywp.com/plugin/mxchat-forms/',
36 75 'plugin_file' => 'mxchat-forms/mxchat-forms.php',
37 76 'config_page' => 'mxchat-forms'
38 77 ),
39 -
78 + 'mxchat-smart-recommender' => array(
79 + 'title' => __('MxChat Smart Recommender', 'mxchat'),
80 + 'description' => __('Turn your chatbot into a sales machine. Build personalized recommendation flows that understand user preferences and suggest perfect products or services.', 'mxchat'),
81 + 'key_benefits' => array(
82 + __('Increase conversion rates', 'mxchat'),
83 + __('Custom recommendation flows', 'mxchat'),
84 + __('No coding required', 'mxchat')
85 + ),
86 + 'license' => 'MxChat PRO',
87 + 'accent' => '#fa73e6',
88 + 'url' => 'https://quickdeploywp.com/plugin/mxchat-smart-recommender/',
89 + 'plugin_file' => 'mxchat-smart-recommender/mxchat-smart-recommender.php',
90 + 'config_page' => 'mxchat-smart-recommender'
91 + ),
92 + 'mxchat-woo' => array(
93 + 'title' => __('MxChat WooCommerce', 'mxchat'),
94 + 'description' => __('Boost sales with AI-powered shopping assistance. Help customers find products, manage carts, and complete purchases—all through natural conversation.', 'mxchat'),
95 + 'key_benefits' => array(
96 + __('Smart product recommendations', 'mxchat'),
97 + __('Cart & checkout assistance', 'mxchat'),
98 + __('Order history access', 'mxchat')
99 + ),
100 + 'license' => 'MxChat PRO',
101 + 'accent' => '#fa73e6',
102 + 'url' => 'https://quickdeploywp.com/plugin/mxchat-woo/',
103 + 'plugin_file' => 'mxchat-woo/mxchat-woo.php',
104 + 'config_page' => 'mxchat-woo'
105 + ),
40 106 'mxchat-theme' => array(
41 107 'title' => __('MxChat Theme Customizer', 'mxchat'),
42 - 'description' => __('MxChat Theme Customizer is a powerful add-on for MxChat Pro that makes it effortless to personalize your chatbot’s appearance. With an intuitive color picker, you can instantly adjust background colors, and interface elements—all with real-time previews. No coding required, just simple, live customization to match your brand’s look.', 'mxchat'),
108 + 'description' => __('Make your chatbot uniquely yours. Customize colors, styles, and appearance with live previews—zero coding required. Perfect for matching your brand identity.', 'mxchat'),
109 + 'key_benefits' => array(
110 + __('Live preview customizer', 'mxchat'),
111 + __('Point-and-click simplicity', 'mxchat'),
112 + __('Brand-perfect styling', 'mxchat')
113 + ),
43 114 'license' => 'MxChat PRO',
44 115 'accent' => '#fa73e6',
45 116 'url' => 'https://quickdeploywp.com/plugin/mxchat-theme/',
46 117 'plugin_file' => 'mxchat-theme/mxchat-theme.php',
@@ -45,11 +116,30 @@
45 116 'url' => 'https://quickdeploywp.com/plugin/mxchat-theme/',
46 117 'plugin_file' => 'mxchat-theme/mxchat-theme.php',
47 118 'config_page' => 'mxchat-theme-settings'
48 119 ),
120 + 'mxchat-perplexity' => array(
121 + 'title' => __('MxChat Perplexity', 'mxchat'),
122 + 'description' => __('Give your chatbot real-time knowledge. Add powerful web search capabilities so your bot can answer questions about current events and time-sensitive information.', 'mxchat'),
123 + 'key_benefits' => array(
124 + __('Real-time web search', 'mxchat'),
125 + __('Intent-triggered research', 'mxchat'),
126 + __('Up-to-date information', 'mxchat')
127 + ),
128 + 'license' => 'MxChat PRO',
129 + 'accent' => '#fa73e6',
130 + 'url' => 'https://quickdeploywp.com/plugin/mxchat-perplexity/',
131 + 'plugin_file' => 'mxchat-perplexity/mxchat-perplexity.php',
132 + 'config_page' => 'mxchat-perplexity'
133 + ),
49 134 'mxchat-moderation' => array(
50 135 'title' => __('MxChat Moderation', 'mxchat'),
51 - 'description' => __('MxChat Moderation is the ultimate add-on for MxChat, giving you full control over who interacts with your chatbot. Effortlessly block spammers, trolls, or unwanted users using IP and email-based bans—keeping your chat clean, safe, and enjoyable. Say goodbye to disruptive users and hello to a smoother, more secure chatbot experience!', 'mxchat'),
136 + 'description' => __('Keep your chat clean and professional. Block unwanted users, filter inappropriate content, and ensure your chatbot represents your brand properly.', 'mxchat'),
137 + 'key_benefits' => array(
138 + __('IP & email-based blocking', 'mxchat'),
139 + __('Content filtering', 'mxchat'),
140 + __('Spam protection', 'mxchat')
141 + ),
52 142 'license' => 'MxChat PRO',
53 143 'accent' => '#fa73e6',
54 144 'url' => 'https://quickdeploywp.com/plugin/mxchat-moderation/',
55 145 'plugin_file' => 'mxchat-moderation/mx-chat-moderation.php',
@@ -61,9 +151,9 @@
61 151 /**
62 152 * Register the stylesheets for the admin area.
63 153 */
64 154 public function enqueue_styles() {
65 - $plugin_version = '2.0.3';
155 + $plugin_version = '2.2.4';
66 156
67 157 wp_enqueue_style(
68 158 'mxchat-addons',
69 159 plugin_dir_url(__FILE__) . '../css/admin-add-ons.css',
@@ -78,56 +168,71 @@
78 168 *
79 169 * @param string $plugin_file The plugin's main file path
80 170 * @return array Status information
81 171 */
82 - private function get_addon_status($plugin_file) {
83 - if (!function_exists('get_plugins')) {
84 - require_once ABSPATH . 'wp-admin/includes/plugin.php';
85 - }
172 + private function get_addon_status($plugin_file) {
173 + if (!function_exists('get_plugins')) {
174 + require_once ABSPATH . 'wp-admin/includes/plugin.php';
175 + }
86 176
87 - $all_plugins = get_plugins();
88 - $active_plugins = get_option('active_plugins', array());
177 + $all_plugins = get_plugins();
178 + $active_plugins = get_option('active_plugins', array());
89 179
90 - // Find the addon by iterating through configs
91 - $config_page = '';
92 - foreach ($this->addons_config as $slug => $addon) {
93 - if ($addon['plugin_file'] === $plugin_file) {
94 - $config_page = $addon['config_page'];
95 - break;
180 + // Find the addon by iterating through configs
181 + $config_page = '';
182 + foreach ($this->addons_config as $slug => $addon) {
183 + if ($addon['plugin_file'] === $plugin_file) {
184 + $config_page = $addon['config_page'];
185 + break;
186 + }
96 187 }
97 - }
98 188
99 - if (isset($all_plugins[$plugin_file])) {
100 - if (in_array($plugin_file, $active_plugins)) {
101 - return array(
102 - 'status' => 'active',
103 - 'action_url' => admin_url('admin.php?page=' . $config_page),
104 - 'action_text' => __('Configure', 'mxchat')
105 - );
106 - } else {
107 - return array(
108 - 'status' => 'inactive',
109 - 'action_url' => wp_nonce_url(
110 - admin_url('plugins.php?action=activate&plugin=' . $plugin_file),
111 - 'activate-plugin_' . $plugin_file
112 - ),
113 - 'action_text' => __('Activate', 'mxchat')
114 - );
189 + if (isset($all_plugins[$plugin_file])) {
190 + if (in_array($plugin_file, $active_plugins)) {
191 + return array(
192 + 'status' => 'active',
193 + 'action_url' => admin_url('admin.php?page=' . $config_page),
194 + 'action_text' => __('Configure', 'mxchat')
195 + );
196 + } else {
197 + return array(
198 + 'status' => 'inactive',
199 + 'action_url' => wp_nonce_url(
200 + admin_url('plugins.php?action=activate&plugin=' . $plugin_file),
201 + 'activate-plugin_' . $plugin_file
202 + ),
203 + 'action_text' => __('Activate', 'mxchat')
204 + );
205 + }
115 206 }
207 +
208 + return array(
209 + 'status' => 'not-installed',
210 + 'action_url' => '',
211 + 'action_text' => __('Get Extension', 'mxchat')
212 + );
116 213 }
117 214
118 - return array(
119 - 'status' => 'not-installed',
120 - 'action_url' => '',
121 - 'action_text' => __('Get Extension', 'mxchat')
122 - );
123 -}
124 -
125 215 /**
126 216 * Render the Add Ons page content.
127 217 */
128 218 public function render_page() {
129 219 $this->enqueue_styles();
220 + $sorted_addons = array();
221 +
222 + // Put free add-ons first, then pro add-ons
223 + foreach ($this->addons_config as $slug => $addon) {
224 + if ($addon['license'] === 'free') {
225 + $sorted_addons[$slug] = $addon;
226 + }
227 + }
228 +
229 + foreach ($this->addons_config as $slug => $addon) {
230 + if ($addon['license'] !== 'free') {
231 + $sorted_addons[$slug] = $addon;
232 + }
233 + }
234 +
130 235 ?>
131 236 <div class="wrap mxchat-addons-wrapper">
132 237 <div class="mxchat-addons-hero">
133 238 <h1 class="mxchat-main-title">
@@ -133,39 +238,77 @@
133 238 <h1 class="mxchat-main-title">
134 239 <span class="mxchat-gradient-text">Power Up</span> Your Chatbot
135 240 </h1>
136 241 <p class="mxchat-hero-subtitle">
137 - <?php esc_html_e('Enhance your chatbot with premium & free extensions available through QuickDeployWP, an official distribution platform made by MxChat.', 'mxchat'); ?>
242 + <?php esc_html_e('Supercharge your WordPress AI chatbot with these powerful extensions. Start with our free add-ons or upgrade for premium features.', 'mxchat'); ?>
138 243 </p>
139 244 </div>
140 - <div class="mxchat-addons-grid">
141 - <?php
142 - foreach ($this->addons_config as $slug => $addon) {
143 - $this->render_addon_card($slug, $addon);
144 - }
145 - ?>
245 +
246 + <div class="mxchat-addons-section">
247 + <div class="mxchat-addons-grid">
248 + <?php foreach ($sorted_addons as $slug => $addon): ?>
249 + <?php $this->render_addon_card($slug, $addon); ?>
250 + <?php endforeach; ?>
251 + </div>
146 252 </div>
253 +
254 + <div class="mxchat-cta-section">
255 + <h2><?php esc_html_e('Ready to take your chatbot to the next level?', 'mxchat'); ?></h2>
256 + <p><?php esc_html_e('Get MxChat PRO today and access all premium extensions at one low price.', 'mxchat'); ?></p>
257 + <a href="https://mxchat.ai/" class="mxchat-cta-button" target="_blank"><?php esc_html_e('Learn More', 'mxchat'); ?></a>
258 + </div>
147 259 </div>
148 260 <?php
149 261 }
150 262
151 - /**
152 - * Render individual add-on card
153 - *
154 - * @param string $slug The addon slug
155 - * @param array $addon The addon configuration array
156 - */
157 - private function render_addon_card($slug, $addon) {
158 - $status_info = $this->get_addon_status($addon['plugin_file']);
159 - $button_url = $status_info['status'] === 'not-installed' ? $addon['url'] : $status_info['action_url'];
160 - $button_target = $status_info['status'] === 'not-installed' ? '_blank' : '_self';
161 - ?>
162 - <div class="mxchat-addon-card" style="--card-accent: <?php echo esc_attr($addon['accent']); ?>">
163 - <div class="mxchat-addon-badge"><?php echo esc_html(ucfirst($addon['license'])); ?></div>
164 - <div class="mxchat-addon-content">
165 - <h3 class="mxchat-addon-title"><?php echo esc_html($addon['title']); ?></h3>
166 - <p class="mxchat-addon-description"><?php echo esc_html($addon['description']); ?></p>
167 - <div class="mxchat-addon-footer">
263 +/**
264 + * Render individual add-on card
265 + *
266 + * @param string $slug The addon slug
267 + * @param array $addon The addon configuration array
268 + */
269 +private function render_addon_card($slug, $addon) {
270 + $status_info = $this->get_addon_status($addon['plugin_file']);
271 + $button_url = $status_info['status'] === 'not-installed' ? $addon['url'] : $status_info['action_url'];
272 + $button_target = $status_info['status'] === 'not-installed' ? '_blank' : '_self';
273 +
274 + // Check if addon is deprecated
275 + $is_deprecated = isset($addon['status']) && $addon['status'] === 'deprecated';
276 + ?>
277 + <div class="mxchat-addon-card <?php echo $is_deprecated ? 'deprecated' : ''; ?>" style="--card-accent: <?php echo esc_attr($addon['accent']); ?>">
278 + <div class="mxchat-addon-badge">
279 + <?php if ($is_deprecated): ?>
280 + <?php esc_html_e('Deprecated', 'mxchat'); ?>
281 + <?php else: ?>
282 + <?php echo esc_html(ucfirst($addon['license'])); ?>
283 + <?php endif; ?>
284 + </div>
285 + <div class="mxchat-addon-content">
286 + <h3 class="mxchat-addon-title"><?php echo esc_html($addon['title']); ?></h3>
287 + <p class="mxchat-addon-description"><?php echo esc_html($addon['description']); ?></p>
288 +
289 + <?php if (!empty($addon['key_benefits'])): ?>
290 + <div class="mxchat-benefits-list">
291 + <?php foreach ($addon['key_benefits'] as $benefit): ?>
292 + <div class="mxchat-benefit-item">
293 + <span class="mxchat-benefit-icon">✓</span>
294 + <?php echo esc_html($benefit); ?>
295 + </div>
296 + <?php endforeach; ?>
297 + </div>
298 + <?php endif; ?>
299 +
300 + <div class="mxchat-addon-footer">
301 + <?php if ($is_deprecated): ?>
302 + <div class="mxchat-status-indicator deprecated">
303 + <?php esc_html_e('Now Built-in', 'mxchat'); ?>
304 + </div>
305 + <a href="<?php echo esc_url(admin_url('admin.php?page=mxchat-prompts')); ?>"
306 + class="mxchat-action-button deprecated"
307 + target="_self">
308 + <?php esc_html_e('Go to Knowledge Tab', 'mxchat'); ?>
309 + </a>
310 + <?php else: ?>
168 311 <div class="mxchat-status-indicator <?php echo esc_attr($status_info['status']); ?>">
169 312 <?php echo esc_html(ucfirst(str_replace('-', ' ', $status_info['status']))); ?>
170 313 </div>
171 314 <a href="<?php echo esc_url($button_url); ?>"
@@ -173,10 +316,12 @@
173 316 target="<?php echo esc_attr($button_target); ?>"
174 317 data-action="<?php echo esc_attr($status_info['status']); ?>">
175 318 <?php echo esc_html($status_info['action_text']); ?>
176 319 </a>
177 - </div>
320 + <?php endif; ?>
178 321 </div>
179 322 </div>
180 - <?php
181 - }
323 + </div>
324 + <?php
182 325 }
326 +
327 +}