PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 3.0.7
MxChat – AI Chatbot & Content Generation for WordPress v3.0.7
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 +256 -86 2.0.43.0.7 View file →
@@ -17,48 +17,167 @@
17 17 * Initialize the class and set its properties.
18 18 */
19 19 public function __construct() {
20 20 $this->addons_config = array(
21 - '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'),
24 - 'license' => 'free',
21 +
22 + 'mxchat-theme' => array(
23 + 'title' => __('MxChat Theme Customizer', 'mxchat'),
24 + 'description' => __('Make your chatbot uniquely yours. Generate beautiful themes instantly using simple descriptions or customize manually with precise color controls—zero coding required. Perfect for matching your brand identity.', 'mxchat'),
25 + 'key_benefits' => array(
26 + __('AI-powered theme generator', 'mxchat'),
27 + __('Live preview customizer', 'mxchat'),
28 + __('One-click theme application', 'mxchat')
29 + ),
30 + 'license' => 'MxChat PRO',
25 31 'accent' => '#fa73e6',
26 - 'url' => 'https://quickdeploywp.com/plugin/mxchat-pinecone/',
27 - 'plugin_file' => 'mxchat-pinecone/pinecone-manager.php',
28 - 'config_page' => 'mxchat-pinecone'
32 + 'url' => 'https://mxchat.ai/ai-theme-customizer/',
33 + 'plugin_file' => 'mxchat-theme/mxchat-theme.php',
34 + 'config_page' => 'mxchat-theme-settings'
29 35 ),
36 +
37 + 'mxchat-admin-assistant' => array(
38 + 'title' => __('MxChat Admin Assistant', 'mxchat'),
39 + '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'),
40 + 'key_benefits' => array(
41 + __('ChatGPT-like admin interface', 'mxchat'),
42 + __('Generate images & research web', 'mxchat'),
43 + __('Searchable chat history', 'mxchat')
44 + ),
45 + 'license' => 'MxChat PRO',
46 + 'accent' => '#fa73e6',
47 + 'url' => 'https://mxchat.ai/ai-admin-assistant/',
48 + 'plugin_file' => 'mxchat-admin-chat/mxchat-admin-chat.php',
49 + 'config_page' => 'mxchat-admin-chat'
50 + ),
51 +
52 + 'mxchat-veo' => array(
53 + 'title' => __('MxChat Video Generation', 'mxchat'),
54 + 'description' => __('Generate stunning AI videos using Google Veo 2 and Veo 3 models directly from your WordPress dashboard. Create high-quality videos from text prompts with audio, multiple aspect ratios, and optimized generation speeds.', 'mxchat'),
55 + 'key_benefits' => array(
56 + __('Multiple Veo models (Veo 2, 3, 3 Fast)', 'mxchat'),
57 + __('8-second videos with native audio', 'mxchat'),
58 + __('Media library integration', 'mxchat')
59 + ),
60 + 'license' => 'MxChat PRO',
61 + 'accent' => '#ff6b35',
62 + 'url' => 'https://mxchat.ai/mxchat-veo-video-generation/',
63 + 'plugin_file' => 'mxchat-veo/mxchat-veo.php',
64 + 'config_page' => 'mxchat-veo'
65 + ),
66 +
67 + 'mxchat-image-analysis' => array(
68 + 'title' => __('MxChat Image Analysis', 'mxchat'),
69 + 'description' => __('Enhance your chatbot with AI-powered image analysis. Users can upload images for intelligent descriptions, OCR text extraction, and get answers about visual content using OpenAI Vision and Grok APIs.', 'mxchat'),
70 + 'key_benefits' => array(
71 + __('Multiple AI vision models', 'mxchat'),
72 + __('Drag & drop image uploads', 'mxchat'),
73 + __('Custom analysis prompts', 'mxchat')
74 + ),
75 + 'license' => 'MxChat PRO',
76 + 'accent' => '#fa73e6',
77 + 'url' => 'https://mxchat.ai/image-analysis/',
78 + 'plugin_file' => 'mxchat-vision/mxchat-vision.php',
79 + 'config_page' => 'mxchat-vision'
80 + ),
81 +
30 82 'mxchat-forms' => array(
31 83 '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'),
84 + 'description' => __('Convert conversations into data collection. Create smart forms that trigger during chats, collect user information, and turn casual visitors into qualified leads.', 'mxchat'),
85 + 'key_benefits' => array(
86 + __('No-code form builder', 'mxchat'),
87 + __('Intent-triggered activation', 'mxchat'),
88 + __('Export lead data easily', 'mxchat')
89 + ),
33 90 'license' => 'MxChat PRO',
34 91 'accent' => '#fa73e6',
35 - 'url' => 'https://quickdeploywp.com/plugin/mxchat-forms/',
92 + 'url' => 'https://mxchat.ai/forms-action/',
36 93 'plugin_file' => 'mxchat-forms/mxchat-forms.php',
37 94 'config_page' => 'mxchat-forms'
38 95 ),
39 96
97 + 'mxchat-multi-bot' => array(
98 + 'title' => __('MxChat Multi-Bot Manager', 'mxchat'),
99 + 'description' => __('Create unlimited specialized chatbots for every purpose. Deploy dedicated bots with separate knowledge bases, custom personalities, and page-specific assignments—perfect for support, sales, and department-specific assistance.', 'mxchat'),
100 + 'key_benefits' => array(
101 + __('Unlimited specialized chatbots', 'mxchat'),
102 + __('Separate Pinecone knowledge bases', 'mxchat'),
103 + __('Page-specific bot assignments', 'mxchat')
104 + ),
105 + 'license' => 'MxChat PRO',
106 + 'accent' => '#8b5cf6',
107 + 'url' => 'https://mxchat.ai/multi-bot/',
108 + 'plugin_file' => 'mxchat-multi-bot/mxchat-multi-bot.php',
109 + 'config_page' => 'mxchat-multi-bot'
110 + ),
111 +
112 + 'mxchat-trigger' => array(
113 + 'title' => __('MxChat Trigger', 'mxchat'),
114 + 'description' => __('Turn any element into a conversation starter. Add chat trigger buttons and links throughout your website that open MxChat and send predefined messages—perfect for CTAs, support links, and guided experiences.', 'mxchat'),
115 + 'key_benefits' => array(
116 + __('Simple data attribute triggers', 'mxchat'),
117 + __('Multi-Bot targeting support', 'mxchat'),
118 + __('Built-in button styles & animations', 'mxchat')
119 + ),
120 + 'license' => 'MxChat PRO',
121 + 'accent' => '#3ac9d1',
122 + 'url' => 'https://mxchat.ai/triggers/',
123 + 'plugin_file' => 'mxchat-trigger/mxchat-trigger.php',
124 + 'config_page' => 'mxchat-triggers'
125 + ),
126 +
40 127 'mxchat-woo' => array(
41 128 'title' => __('MxChat WooCommerce', 'mxchat'),
42 - 'description' => __('Enhance your WooCommerce store with AI-powered chat interactions. This add-on enables intelligent product recommendations, order history retrieval, cart management, and seamless checkout assistance—fully integrated with MxChat\'s intent system.', 'mxchat'),
129 + 'description' => __('Boost sales with AI-powered shopping assistance. Help customers find products, manage carts, and complete purchases—all through natural conversation.', 'mxchat'),
130 + 'key_benefits' => array(
131 + __('Smart product recommendations', 'mxchat'),
132 + __('Cart & checkout assistance', 'mxchat'),
133 + __('Order history access', 'mxchat')
134 + ),
43 135 'license' => 'MxChat PRO',
44 136 'accent' => '#fa73e6',
45 - 'url' => 'https://quickdeploywp.com/plugin/mxchat-woo/',
137 + 'url' => 'https://mxchat.ai/woocommerce/',
46 138 'plugin_file' => 'mxchat-woo/mxchat-woo.php',
47 139 'config_page' => 'mxchat-woo'
48 140 ),
49 - 'mxchat-theme' => array(
50 - 'title' => __('MxChat Theme Customizer', 'mxchat'),
51 - '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'),
141 +
142 + 'mxchat-assistant-api' => array(
143 + 'title' => __('MxChat Assistant API', 'mxchat'),
144 + 'description' => __('Unlock the full power of OpenAI Assistants. Bypass MxChat\'s knowledge base and connect directly to your custom OpenAI Assistant for advanced AI capabilities and specialized responses.', 'mxchat'),
145 + 'key_benefits' => array(
146 + __('Custom OpenAI Assistant integration', 'mxchat'),
147 + __('Advanced AI capabilities', 'mxchat'),
148 + __('24-hour conversation persistence', 'mxchat')
149 + ),
52 150 'license' => 'MxChat PRO',
151 + 'accent' => '#00d4aa',
152 + 'url' => 'https://mxchat.ai/openai-assistants-api/',
153 + 'plugin_file' => 'mxchat-assistant-api/mxchat-assistant-api.php',
154 + 'config_page' => 'mxchat-assistant-api'
155 + ),
156 +
157 + 'mxchat-perplexity' => array(
158 + 'title' => __('MxChat Perplexity', 'mxchat'),
159 + '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'),
160 + 'key_benefits' => array(
161 + __('Real-time web search', 'mxchat'),
162 + __('Intent-triggered research', 'mxchat'),
163 + __('Up-to-date information', 'mxchat')
164 + ),
165 + 'license' => 'MxChat PRO',
53 166 'accent' => '#fa73e6',
54 - 'url' => 'https://quickdeploywp.com/plugin/mxchat-theme/',
55 - 'plugin_file' => 'mxchat-theme/mxchat-theme.php',
56 - 'config_page' => 'mxchat-theme-settings'
167 + 'url' => 'https://quickdeploywp.com/plugin/mxchat-perplexity/',
168 + 'plugin_file' => 'mxchat-perplexity/mxchat-perplexity.php',
169 + 'config_page' => 'mxchat-perplexity'
57 170 ),
171 +
58 172 'mxchat-moderation' => array(
59 173 'title' => __('MxChat Moderation', 'mxchat'),
60 - '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'),
174 + 'description' => __('Keep your chat clean and professional. Block unwanted users, filter inappropriate content, and ensure your chatbot represents your brand properly.', 'mxchat'),
175 + 'key_benefits' => array(
176 + __('IP & email-based blocking', 'mxchat'),
177 + __('Content filtering', 'mxchat'),
178 + __('Spam protection', 'mxchat')
179 + ),
61 180 'license' => 'MxChat PRO',
62 181 'accent' => '#fa73e6',
63 182 'url' => 'https://quickdeploywp.com/plugin/mxchat-moderation/',
64 183 'plugin_file' => 'mxchat-moderation/mx-chat-moderation.php',
@@ -63,22 +182,30 @@
63 182 'url' => 'https://quickdeploywp.com/plugin/mxchat-moderation/',
64 183 'plugin_file' => 'mxchat-moderation/mx-chat-moderation.php',
65 184 'config_page' => 'mx-chat-moderation'
66 185 ),
186 +
67 187 );
68 188 }
69 189
70 190 /**
191 + * Get the addons configuration array
192 + *
193 + * @return array The addons configuration
194 + */
195 + public function get_addons_config() {
196 + return $this->addons_config;
197 + }
198 +
199 + /**
71 200 * Register the stylesheets for the admin area.
72 201 */
73 202 public function enqueue_styles() {
74 - $plugin_version = '2.0.4';
75 -
76 203 wp_enqueue_style(
77 204 'mxchat-addons',
78 205 plugin_dir_url(__FILE__) . '../css/admin-add-ons.css',
79 206 array(),
80 - $plugin_version,
207 + MXCHAT_VERSION,
81 208 'all'
82 209 );
83 210 }
84 211
@@ -87,76 +214,86 @@
87 214 *
88 215 * @param string $plugin_file The plugin's main file path
89 216 * @return array Status information
90 217 */
91 - private function get_addon_status($plugin_file) {
92 - if (!function_exists('get_plugins')) {
93 - require_once ABSPATH . 'wp-admin/includes/plugin.php';
94 - }
218 + private function get_addon_status($plugin_file) {
219 + if (!function_exists('get_plugins')) {
220 + require_once ABSPATH . 'wp-admin/includes/plugin.php';
221 + }
95 222
96 - $all_plugins = get_plugins();
97 - $active_plugins = get_option('active_plugins', array());
223 + $all_plugins = get_plugins();
224 + $active_plugins = get_option('active_plugins', array());
98 225
99 - // Find the addon by iterating through configs
100 - $config_page = '';
101 - foreach ($this->addons_config as $slug => $addon) {
102 - if ($addon['plugin_file'] === $plugin_file) {
103 - $config_page = $addon['config_page'];
104 - break;
226 + // Find the addon by iterating through configs
227 + $config_page = '';
228 + foreach ($this->addons_config as $slug => $addon) {
229 + if ($addon['plugin_file'] === $plugin_file) {
230 + $config_page = $addon['config_page'];
231 + break;
232 + }
105 233 }
106 - }
107 234
108 - if (isset($all_plugins[$plugin_file])) {
109 - if (in_array($plugin_file, $active_plugins)) {
110 - return array(
111 - 'status' => 'active',
112 - 'action_url' => admin_url('admin.php?page=' . $config_page),
113 - 'action_text' => __('Configure', 'mxchat')
114 - );
115 - } else {
116 - return array(
117 - 'status' => 'inactive',
118 - 'action_url' => wp_nonce_url(
119 - admin_url('plugins.php?action=activate&plugin=' . $plugin_file),
120 - 'activate-plugin_' . $plugin_file
121 - ),
122 - 'action_text' => __('Activate', 'mxchat')
123 - );
235 + if (isset($all_plugins[$plugin_file])) {
236 + if (in_array($plugin_file, $active_plugins)) {
237 + return array(
238 + 'status' => 'active',
239 + 'action_url' => admin_url('admin.php?page=' . $config_page),
240 + 'action_text' => __('Configure', 'mxchat')
241 + );
242 + } else {
243 + return array(
244 + 'status' => 'inactive',
245 + 'action_url' => wp_nonce_url(
246 + admin_url('plugins.php?action=activate&plugin=' . $plugin_file),
247 + 'activate-plugin_' . $plugin_file
248 + ),
249 + 'action_text' => __('Activate', 'mxchat')
250 + );
251 + }
124 252 }
253 +
254 + return array(
255 + 'status' => 'not-installed',
256 + 'action_url' => '',
257 + 'action_text' => __('Get Extension', 'mxchat')
258 + );
125 259 }
126 260
127 - return array(
128 - 'status' => 'not-installed',
129 - 'action_url' => '',
130 - 'action_text' => __('Get Extension', 'mxchat')
131 - );
132 -}
133 -
134 261 /**
135 262 * Render the Add Ons page content.
136 263 */
137 264 public function render_page() {
138 265 $this->enqueue_styles();
266 + // Remove the sorting logic and just use the original order
267 + $sorted_addons = $this->addons_config;
268 +
139 269 ?>
140 270 <div class="wrap mxchat-addons-wrapper">
141 - <div class="mxchat-addons-hero">
142 - <h1 class="mxchat-main-title">
143 - <span class="mxchat-gradient-text">Power Up</span> Your Chatbot
144 - </h1>
145 - <p class="mxchat-hero-subtitle">
146 - <?php esc_html_e('Enhance your chatbot with premium & free extensions available through QuickDeployWP, an official distribution platform made by MxChat.', 'mxchat'); ?>
147 - </p>
271 + <div class="mxchat-addons-hero">
272 + <h1 class="mxchat-main-title">
273 + <span class="mxchat-gradient-text">Power Up</span> Your Chatbot
274 + </h1>
275 + <p class="mxchat-hero-subtitle">
276 + <?php esc_html_e('Extend MxChat with these powerful extensions and unlock advanced features.', 'mxchat'); ?>
277 + </p>
278 + </div>
279 +
280 + <div class="mxchat-addons-section">
281 + <div class="mxchat-addons-grid">
282 + <?php foreach ($sorted_addons as $slug => $addon): ?>
283 + <?php $this->render_addon_card($slug, $addon); ?>
284 + <?php endforeach; ?>
285 + </div>
286 + </div>
287 +
288 + <div class="mxchat-cta-section">
289 + <h2><?php esc_html_e('Ready to take your chatbot to the next level?', 'mxchat'); ?></h2>
290 + <p><?php esc_html_e('Get MxChat PRO today and access all premium extensions at one low price.', 'mxchat'); ?></p>
291 + <a href="https://mxchat.ai/" class="mxchat-cta-button" target="_blank"><?php esc_html_e('Learn More', 'mxchat'); ?></a>
292 + </div>
148 293 </div>
149 - <div class="mxchat-addons-grid">
150 - <?php
151 - foreach ($this->addons_config as $slug => $addon) {
152 - $this->render_addon_card($slug, $addon);
153 - }
154 - ?>
155 - </div>
156 - </div>
157 - <?php
158 - }
294 + <?php
295 + }
159 296
160 297 /**
161 298 * Render individual add-on card
162 299 *
@@ -166,26 +303,59 @@
166 303 private function render_addon_card($slug, $addon) {
167 304 $status_info = $this->get_addon_status($addon['plugin_file']);
168 305 $button_url = $status_info['status'] === 'not-installed' ? $addon['url'] : $status_info['action_url'];
169 306 $button_target = $status_info['status'] === 'not-installed' ? '_blank' : '_self';
307 +
308 + // Check if addon is deprecated
309 + $is_deprecated = isset($addon['status']) && $addon['status'] === 'deprecated';
170 310 ?>
171 - <div class="mxchat-addon-card" style="--card-accent: <?php echo esc_attr($addon['accent']); ?>">
172 - <div class="mxchat-addon-badge"><?php echo esc_html(ucfirst($addon['license'])); ?></div>
311 + <div class="mxchat-addon-card <?php echo $is_deprecated ? 'deprecated' : ''; ?>" style="--card-accent: <?php echo esc_attr($addon['accent']); ?>">
312 + <div class="mxchat-addon-badge">
313 + <?php if ($is_deprecated): ?>
314 + <?php esc_html_e('Deprecated', 'mxchat'); ?>
315 + <?php else: ?>
316 + <?php echo esc_html(ucfirst($addon['license'])); ?>
317 + <?php endif; ?>
318 + </div>
173 319 <div class="mxchat-addon-content">
174 320 <h3 class="mxchat-addon-title"><?php echo esc_html($addon['title']); ?></h3>
175 321 <p class="mxchat-addon-description"><?php echo esc_html($addon['description']); ?></p>
322 +
323 + <?php if (!empty($addon['key_benefits'])): ?>
324 + <div class="mxchat-benefits-list">
325 + <?php foreach ($addon['key_benefits'] as $benefit): ?>
326 + <div class="mxchat-benefit-item">
327 + <span class="mxchat-benefit-icon">✓</span>
328 + <?php echo esc_html($benefit); ?>
329 + </div>
330 + <?php endforeach; ?>
331 + </div>
332 + <?php endif; ?>
333 +
176 334 <div class="mxchat-addon-footer">
177 - <div class="mxchat-status-indicator <?php echo esc_attr($status_info['status']); ?>">
178 - <?php echo esc_html(ucfirst(str_replace('-', ' ', $status_info['status']))); ?>
179 - </div>
180 - <a href="<?php echo esc_url($button_url); ?>"
181 - class="mxchat-action-button"
182 - target="<?php echo esc_attr($button_target); ?>"
183 - data-action="<?php echo esc_attr($status_info['status']); ?>">
184 - <?php echo esc_html($status_info['action_text']); ?>
185 - </a>
335 + <?php if ($is_deprecated): ?>
336 + <div class="mxchat-status-indicator deprecated">
337 + <?php esc_html_e('Now Built-in', 'mxchat'); ?>
338 + </div>
339 + <a href="<?php echo esc_url(admin_url('admin.php?page=mxchat-prompts')); ?>"
340 + class="mxchat-action-button deprecated"
341 + target="_self">
342 + <?php esc_html_e('Go to Knowledge Tab', 'mxchat'); ?>
343 + </a>
344 + <?php else: ?>
345 + <div class="mxchat-status-indicator <?php echo esc_attr($status_info['status']); ?>">
346 + <?php echo esc_html(ucfirst(str_replace('-', ' ', $status_info['status']))); ?>
347 + </div>
348 + <a href="<?php echo esc_url($button_url); ?>"
349 + class="mxchat-action-button"
350 + target="<?php echo esc_attr($button_target); ?>"
351 + data-action="<?php echo esc_attr($status_info['status']); ?>">
352 + <?php echo esc_html($status_info['action_text']); ?>
353 + </a>
354 + <?php endif; ?>
186 355 </div>
187 356 </div>
188 357 </div>
189 358 <?php
190 359 }
191 -}
360 +
361 +}