| @@ -17,515 +17,106 @@ | ||
| 17 | 17 | * Initialize the class and set its properties. |
| 18 | 18 | */ |
| 19 | 19 | public function __construct() { |
| 20 | 20 | $this->addons_config = array( |
| 21 | - | |
| 22 | - 'mxchat-advanced-content' => array( | |
| 23 | - 'title' => __('MxChat Advanced Content Editor', 'mxchat'), | |
| 24 | - 'sidebar_title' => __('Content Gen.', 'mxchat'), | |
| 25 | - 'description' => __('Supercharge your AI content generation workflow. Add advanced editing tools, image management, SEO meta controls, and internal linking to the MxChat Content Generator—turning simple prompts into publish-ready posts and landing pages.', 'mxchat'), | |
| 26 | - 'key_benefits' => array( | |
| 27 | - __('AI-powered image regeneration & uploads', 'mxchat'), | |
| 28 | - __('SEO meta title, description & excerpt editor', 'mxchat'), | |
| 29 | - __('Automatic internal linking between posts', 'mxchat') | |
| 30 | - ), | |
| 31 | - 'license' => 'MxChat PRO', | |
| 32 | - 'accent' => '#6366f1', | |
| 33 | - 'url' => 'https://mxchat.ai/documentation-bot/', | |
| 34 | - 'download_url' => 'https://mxchat.ai/advanced-content-editor/', | |
| 35 | - 'plugin_file' => 'mxchat-advanced-content/mxchat-advanced-content.php', | |
| 36 | - 'config_page' => 'mxchat-content', | |
| 37 | - 'hero_features' => array( | |
| 38 | - array( | |
| 39 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><circle cx="8.5" cy="8.5" r="1.5"/><polyline points="21 15 16 10 5 21"/></svg>', | |
| 40 | - 'title' => __('Image Management', 'mxchat'), | |
| 41 | - 'desc' => __('Regenerate, upload, and swap AI images', 'mxchat'), | |
| 42 | - ), | |
| 43 | - array( | |
| 44 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>', | |
| 45 | - 'title' => __('SEO Meta Editor', 'mxchat'), | |
| 46 | - 'desc' => __('Title, description & excerpt controls', 'mxchat'), | |
| 47 | - ), | |
| 48 | - array( | |
| 49 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg>', | |
| 50 | - 'title' => __('Internal Linking', 'mxchat'), | |
| 51 | - 'desc' => __('Auto-link to related posts & pages', 'mxchat'), | |
| 52 | - ), | |
| 53 | - array( | |
| 54 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"/><path d="M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"/></svg>', | |
| 55 | - 'title' => __('Chat-Based Editing', 'mxchat'), | |
| 56 | - 'desc' => __('Refine content through conversation', 'mxchat'), | |
| 57 | - ), | |
| 58 | - ), | |
| 21 | + 'mxchat-intent-tester' => array( | |
| 22 | + 'title' => __('MxChat Similarity Tester', 'mxchat'), | |
| 23 | + 'description' => __('MxChat Similarity Tester is one of the most important add-ons for understanding how your chatbot works. This essential tool shows similarity scores for intents and displays the top 10 matches from your knowledge database, revealing exactly what content would be fed to your chatbot. Perfect for optimizing response accuracy and gaining insight into your AI\'s decision-making process.', 'mxchat'), | |
| 24 | + 'license' => 'free', | |
| 25 | + 'accent' => '#fa73e6', | |
| 26 | + 'url' => 'https://quickdeploywp.com/plugin/mxchat-intent-tester/', | |
| 27 | + 'plugin_file' => 'mxchat-intent-tester/mxchat-intent-tester.php', | |
| 28 | + 'config_page' => 'mxchat-intent-tester' | |
| 59 | 29 | ), |
| 60 | - | |
| 61 | - 'mxchat-theme' => array( | |
| 62 | - 'title' => __('MxChat Chat Themes', 'mxchat'), | |
| 63 | - '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'), | |
| 64 | - 'key_benefits' => array( | |
| 65 | - __('AI-powered theme generator', 'mxchat'), | |
| 66 | - __('Live preview customizer', 'mxchat'), | |
| 67 | - __('One-click theme application', 'mxchat') | |
| 68 | - ), | |
| 69 | - 'license' => 'MxChat PRO', | |
| 30 | + 'mxchat-pinecone' => array( | |
| 31 | + 'title' => __('Pinecone DB Manager', 'mxchat'), | |
| 32 | + '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'), | |
| 33 | + 'license' => 'free', | |
| 70 | 34 | 'accent' => '#fa73e6', |
| 71 | - 'url' => 'https://mxchat.ai/ai-theme-customizer/', | |
| 72 | - 'plugin_file' => 'mxchat-theme/mxchat-theme.php', | |
| 73 | - 'config_page' => 'mxchat-theme-settings', | |
| 74 | - 'hero_features' => array( | |
| 75 | - array( | |
| 76 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="13.5" cy="6.5" r="2.5"/><path d="M17.5 10.5l4-4"/><circle cx="6" cy="12" r="2"/><path d="M2 14l2-2"/><circle cx="10.5" cy="17.5" r="2.5"/><path d="M14 21l-1-3"/></svg>', | |
| 77 | - 'title' => __('AI Theme Generator', 'mxchat'), | |
| 78 | - 'desc' => __('Describe your style, AI creates it', 'mxchat'), | |
| 79 | - ), | |
| 80 | - array( | |
| 81 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 9h18"/><path d="M9 21V9"/></svg>', | |
| 82 | - 'title' => __('Live Preview', 'mxchat'), | |
| 83 | - 'desc' => __('See changes in real-time', 'mxchat'), | |
| 84 | - ), | |
| 85 | - array( | |
| 86 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v4"/><path d="m16.2 7.8 2.9-2.9"/><path d="M18 12h4"/><path d="m16.2 16.2 2.9 2.9"/><path d="M12 18v4"/><path d="m4.9 19.1 2.9-2.9"/><path d="M2 12h4"/><path d="m4.9 4.9 2.9 2.9"/></svg>', | |
| 87 | - 'title' => __('Color Controls', 'mxchat'), | |
| 88 | - 'desc' => __('Fine-tune every color precisely', 'mxchat'), | |
| 89 | - ), | |
| 90 | - array( | |
| 91 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></svg>', | |
| 92 | - 'title' => __('One-Click Apply', 'mxchat'), | |
| 93 | - 'desc' => __('Apply themes instantly', 'mxchat'), | |
| 94 | - ), | |
| 95 | - ), | |
| 35 | + 'url' => 'https://quickdeploywp.com/plugin/mxchat-pinecone/', | |
| 36 | + 'plugin_file' => 'mxchat-pinecone/pinecone-manager.php', | |
| 37 | + 'config_page' => 'mxchat-pinecone' | |
| 96 | 38 | ), |
| 97 | - | |
| 98 | 39 | 'mxchat-admin-assistant' => array( |
| 99 | 40 | 'title' => __('MxChat Admin Assistant', 'mxchat'), |
| 100 | - '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'), | |
| 101 | - 'key_benefits' => array( | |
| 102 | - __('ChatGPT-like admin interface', 'mxchat'), | |
| 103 | - __('Generate images & research web', 'mxchat'), | |
| 104 | - __('Searchable chat history', 'mxchat') | |
| 105 | - ), | |
| 41 | + 'description' => __('Transform your WordPress admin panel with an AI powerhouse that\'s always ready to help. This premium add-on brings ChatGPT-like capabilities directly into your dashboard with multiple AI models, chat history, web research via Perplexity, stunning image generation, and more—all without leaving WordPress. Boost your productivity and creativity with the ultimate admin AI assistant.', 'mxchat'), | |
| 106 | 42 | 'license' => 'MxChat PRO', |
| 107 | 43 | 'accent' => '#fa73e6', |
| 108 | - 'url' => 'https://mxchat.ai/ai-admin-assistant/', | |
| 44 | + 'url' => 'https://quickdeploywp.com/plugin/mxchat-admin-assistant/', | |
| 109 | 45 | 'plugin_file' => 'mxchat-admin-chat/mxchat-admin-chat.php', |
| 110 | - 'config_page' => 'mxchat-admin-chat', | |
| 111 | - 'hero_features' => array( | |
| 112 | - array( | |
| 113 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>', | |
| 114 | - 'title' => __('Admin Chat UI', 'mxchat'), | |
| 115 | - 'desc' => __('ChatGPT-like dashboard interface', 'mxchat'), | |
| 116 | - ), | |
| 117 | - array( | |
| 118 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><circle cx="8.5" cy="8.5" r="1.5"/><polyline points="21 15 16 10 5 21"/></svg>', | |
| 119 | - 'title' => __('Image Generation', 'mxchat'), | |
| 120 | - 'desc' => __('Create images with AI prompts', 'mxchat'), | |
| 121 | - ), | |
| 122 | - array( | |
| 123 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>', | |
| 124 | - 'title' => __('Web Research', 'mxchat'), | |
| 125 | - 'desc' => __('Search the web from your dashboard', 'mxchat'), | |
| 126 | - ), | |
| 127 | - array( | |
| 128 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 16 12 14 15 10 9 8 12 2 12"/></svg>', | |
| 129 | - 'title' => __('Chat History', 'mxchat'), | |
| 130 | - 'desc' => __('Searchable conversation archive', 'mxchat'), | |
| 131 | - ), | |
| 132 | - ), | |
| 46 | + 'config_page' => 'mxchat-admin-chat' | |
| 133 | 47 | ), |
| 134 | - | |
| 135 | - 'mxchat-veo' => array( | |
| 136 | - 'title' => __('MxChat Video Generation', 'mxchat'), | |
| 137 | - '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'), | |
| 138 | - 'key_benefits' => array( | |
| 139 | - __('Multiple Veo models (Veo 2, 3, 3 Fast)', 'mxchat'), | |
| 140 | - __('8-second videos with native audio', 'mxchat'), | |
| 141 | - __('Media library integration', 'mxchat') | |
| 142 | - ), | |
| 143 | - 'license' => 'MxChat PRO', | |
| 144 | - 'accent' => '#ff6b35', | |
| 145 | - 'url' => 'https://mxchat.ai/mxchat-veo-video-generation/', | |
| 146 | - 'plugin_file' => 'mxchat-veo/mxchat-veo.php', | |
| 147 | - 'config_page' => 'mxchat-veo', | |
| 148 | - 'hero_features' => array( | |
| 149 | - array( | |
| 150 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="23 7 16 12 23 17 23 7"/><rect x="1" y="5" width="15" height="14" rx="2" ry="2"/></svg>', | |
| 151 | - 'title' => __('AI Video Creation', 'mxchat'), | |
| 152 | - 'desc' => __('Generate videos from text prompts', 'mxchat'), | |
| 153 | - ), | |
| 154 | - array( | |
| 155 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18V5l12-2v13"/><circle cx="6" cy="18" r="3"/><circle cx="18" cy="16" r="3"/></svg>', | |
| 156 | - 'title' => __('Native Audio', 'mxchat'), | |
| 157 | - 'desc' => __('Videos with built-in audio tracks', 'mxchat'), | |
| 158 | - ), | |
| 159 | - array( | |
| 160 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3h7a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-7m0-18H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7m0-18v18"/></svg>', | |
| 161 | - 'title' => __('Aspect Ratios', 'mxchat'), | |
| 162 | - 'desc' => __('Multiple size options available', 'mxchat'), | |
| 163 | - ), | |
| 164 | - array( | |
| 165 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="17 8 12 3 7 8"/><line x1="12" y1="3" x2="12" y2="15"/></svg>', | |
| 166 | - 'title' => __('Media Library', 'mxchat'), | |
| 167 | - 'desc' => __('Save directly to WordPress media', 'mxchat'), | |
| 168 | - ), | |
| 169 | - ), | |
| 170 | - ), | |
| 171 | - | |
| 172 | - 'mxchat-image-analysis' => array( | |
| 173 | - 'title' => __('MxChat Image Analysis', 'mxchat'), | |
| 174 | - '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'), | |
| 175 | - 'key_benefits' => array( | |
| 176 | - __('Multiple AI vision models', 'mxchat'), | |
| 177 | - __('Drag & drop image uploads', 'mxchat'), | |
| 178 | - __('Custom analysis prompts', 'mxchat') | |
| 179 | - ), | |
| 180 | - 'license' => 'MxChat PRO', | |
| 181 | - 'accent' => '#fa73e6', | |
| 182 | - 'url' => 'https://mxchat.ai/image-analysis/', | |
| 183 | - 'plugin_file' => 'mxchat-vision/mxchat-vision.php', | |
| 184 | - 'config_page' => 'mxchat-vision', | |
| 185 | - 'hero_features' => array( | |
| 186 | - array( | |
| 187 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>', | |
| 188 | - 'title' => __('Vision AI Models', 'mxchat'), | |
| 189 | - 'desc' => __('OpenAI Vision & Grok analysis', 'mxchat'), | |
| 190 | - ), | |
| 191 | - array( | |
| 192 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="16 16 12 12 8 16"/><line x1="12" y1="12" x2="12" y2="21"/><path d="M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3"/></svg>', | |
| 193 | - 'title' => __('Drag & Drop', 'mxchat'), | |
| 194 | - 'desc' => __('Easy image upload in chat', 'mxchat'), | |
| 195 | - ), | |
| 196 | - array( | |
| 197 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/></svg>', | |
| 198 | - 'title' => __('OCR Extraction', 'mxchat'), | |
| 199 | - 'desc' => __('Extract text from images', 'mxchat'), | |
| 200 | - ), | |
| 201 | - array( | |
| 202 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="21" x2="4" y2="14"/><line x1="4" y1="10" x2="4" y2="3"/><line x1="12" y1="21" x2="12" y2="12"/><line x1="12" y1="8" x2="12" y2="3"/><line x1="20" y1="21" x2="20" y2="16"/><line x1="20" y1="12" x2="20" y2="3"/><line x1="1" y1="14" x2="7" y2="14"/><line x1="9" y1="8" x2="15" y2="8"/><line x1="17" y1="16" x2="23" y2="16"/></svg>', | |
| 203 | - 'title' => __('Custom Prompts', 'mxchat'), | |
| 204 | - 'desc' => __('Tailor analysis instructions', 'mxchat'), | |
| 205 | - ), | |
| 206 | - ), | |
| 207 | - ), | |
| 208 | - | |
| 209 | 48 | 'mxchat-forms' => array( |
| 210 | 49 | 'title' => __('MxChat Forms', 'mxchat'), |
| 211 | - 'description' => __('Convert conversations into data collection. Create smart forms that trigger during chats, collect user information, and turn casual visitors into qualified leads.', 'mxchat'), | |
| 212 | - 'key_benefits' => array( | |
| 213 | - __('No-code form builder', 'mxchat'), | |
| 214 | - __('Intent-triggered activation', 'mxchat'), | |
| 215 | - __('Export lead data easily', 'mxchat') | |
| 216 | - ), | |
| 50 | + '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'), | |
| 217 | 51 | 'license' => 'MxChat PRO', |
| 218 | 52 | 'accent' => '#fa73e6', |
| 219 | - 'url' => 'https://mxchat.ai/forms-action/', | |
| 53 | + 'url' => 'https://quickdeploywp.com/plugin/mxchat-forms/', | |
| 220 | 54 | 'plugin_file' => 'mxchat-forms/mxchat-forms.php', |
| 221 | - 'config_page' => 'mxchat-forms', | |
| 222 | - 'hero_features' => array( | |
| 223 | - array( | |
| 224 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><line x1="9" y1="9" x2="15" y2="9"/><line x1="9" y1="13" x2="15" y2="13"/><line x1="9" y1="17" x2="12" y2="17"/></svg>', | |
| 225 | - 'title' => __('Form Builder', 'mxchat'), | |
| 226 | - 'desc' => __('No-code drag & drop builder', 'mxchat'), | |
| 227 | - ), | |
| 228 | - array( | |
| 229 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></svg>', | |
| 230 | - 'title' => __('Smart Triggers', 'mxchat'), | |
| 231 | - 'desc' => __('Show forms based on intent', 'mxchat'), | |
| 232 | - ), | |
| 233 | - array( | |
| 234 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>', | |
| 235 | - 'title' => __('Lead Capture', 'mxchat'), | |
| 236 | - 'desc' => __('Turn visitors into contacts', 'mxchat'), | |
| 237 | - ), | |
| 238 | - array( | |
| 239 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></svg>', | |
| 240 | - 'title' => __('Data Export', 'mxchat'), | |
| 241 | - 'desc' => __('Export leads to CSV easily', 'mxchat'), | |
| 242 | - ), | |
| 243 | - ), | |
| 55 | + 'config_page' => 'mxchat-forms' | |
| 244 | 56 | ), |
| 245 | 57 | |
| 246 | - 'mxchat-multi-bot' => array( | |
| 247 | - 'title' => __('MxChat Multi-Bot Manager', 'mxchat'), | |
| 248 | - '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'), | |
| 249 | - 'key_benefits' => array( | |
| 250 | - __('Unlimited specialized chatbots', 'mxchat'), | |
| 251 | - __('Separate Pinecone knowledge bases', 'mxchat'), | |
| 252 | - __('Page-specific bot assignments', 'mxchat') | |
| 253 | - ), | |
| 58 | + 'mxchat-smart-recommender' => array( | |
| 59 | + 'title' => __('MxChat Smart Recommender', 'mxchat'), | |
| 60 | + 'description' => __('Create intelligent recommendation flows for your chatbot. Smart Recommender allows you to build structured conversations that collect user preferences and provide personalized product or service recommendations from your custom collections. With customizable similarity thresholds, trigger phrases, and AI prompt templates, you can create tailored recommendation experiences with no coding required.', 'mxchat'), | |
| 254 | 61 | 'license' => 'MxChat PRO', |
| 255 | - 'accent' => '#8b5cf6', | |
| 256 | - 'url' => 'https://mxchat.ai/multi-bot/', | |
| 257 | - 'plugin_file' => 'mxchat-multi-bot/mxchat-multi-bot.php', | |
| 258 | - 'config_page' => 'mxchat-multi-bot', | |
| 259 | - 'hero_features' => array( | |
| 260 | - array( | |
| 261 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="3" width="20" height="14" rx="2" ry="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>', | |
| 262 | - 'title' => __('Unlimited Bots', 'mxchat'), | |
| 263 | - 'desc' => __('Create specialized chatbots', 'mxchat'), | |
| 264 | - ), | |
| 265 | - array( | |
| 266 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M21 12c0 1.66-4 3-9 3s-9-1.34-9-3"/><path d="M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5"/></svg>', | |
| 267 | - 'title' => __('Separate Knowledge', 'mxchat'), | |
| 268 | - 'desc' => __('Unique knowledge per bot', 'mxchat'), | |
| 269 | - ), | |
| 270 | - array( | |
| 271 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>', | |
| 272 | - 'title' => __('Page Assignments', 'mxchat'), | |
| 273 | - 'desc' => __('Assign bots to specific pages', 'mxchat'), | |
| 274 | - ), | |
| 275 | - array( | |
| 276 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>', | |
| 277 | - 'title' => __('Custom Personas', 'mxchat'), | |
| 278 | - 'desc' => __('Unique personality per bot', 'mxchat'), | |
| 279 | - ), | |
| 280 | - ), | |
| 62 | + 'accent' => '#fa73e6', | |
| 63 | + 'url' => 'https://quickdeploywp.com/plugin/mxchat-smart-recommender/', | |
| 64 | + 'plugin_file' => 'mxchat-smart-recommender/mxchat-smart-recommender.php', | |
| 65 | + 'config_page' => 'mxchat-smart-recommender' | |
| 281 | 66 | ), |
| 282 | 67 | |
| 283 | - 'mxchat-trigger' => array( | |
| 284 | - 'title' => __('MxChat Trigger', 'mxchat'), | |
| 285 | - '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'), | |
| 286 | - 'key_benefits' => array( | |
| 287 | - __('Simple data attribute triggers', 'mxchat'), | |
| 288 | - __('Multi-Bot targeting support', 'mxchat'), | |
| 289 | - __('Built-in button styles & animations', 'mxchat') | |
| 290 | - ), | |
| 291 | - 'license' => 'MxChat PRO', | |
| 292 | - 'accent' => '#3ac9d1', | |
| 293 | - 'url' => 'https://mxchat.ai/triggers/', | |
| 294 | - 'plugin_file' => 'mxchat-trigger/mxchat-trigger.php', | |
| 295 | - 'config_page' => 'mxchat-triggers', | |
| 296 | - 'hero_features' => array( | |
| 297 | - array( | |
| 298 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="16"/><line x1="8" y1="12" x2="16" y2="12"/></svg>', | |
| 299 | - 'title' => __('Element Triggers', 'mxchat'), | |
| 300 | - 'desc' => __('Turn any element into a trigger', 'mxchat'), | |
| 301 | - ), | |
| 302 | - array( | |
| 303 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>', | |
| 304 | - 'title' => __('Preset Messages', 'mxchat'), | |
| 305 | - 'desc' => __('Auto-send predefined prompts', 'mxchat'), | |
| 306 | - ), | |
| 307 | - array( | |
| 308 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="3" width="20" height="14" rx="2" ry="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>', | |
| 309 | - 'title' => __('Multi-Bot Targeting', 'mxchat'), | |
| 310 | - 'desc' => __('Route to specific bots', 'mxchat'), | |
| 311 | - ), | |
| 312 | - array( | |
| 313 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><path d="M12 8v8"/><path d="M8 12h8"/></svg>', | |
| 314 | - 'title' => __('Button Styles', 'mxchat'), | |
| 315 | - 'desc' => __('Built-in styles & animations', 'mxchat'), | |
| 316 | - ), | |
| 317 | - ), | |
| 318 | - ), | |
| 319 | - | |
| 320 | - 'mxchat-anywhere' => array( | |
| 321 | - 'title' => __('MxChat Anywhere', 'mxchat'), | |
| 322 | - 'sidebar_title' => __('MxChat Anywhere', 'mxchat'), | |
| 323 | - 'description' => __('Deploy your AI chatbot on any website with a single script tag. Works on static HTML, Shopify, Squarespace, Wix, and custom web apps — no WordPress required on the target site. Full feature parity with Shadow DOM style isolation.', 'mxchat'), | |
| 324 | - 'key_benefits' => array( | |
| 325 | - __('One script tag — works on any website', 'mxchat'), | |
| 326 | - __('Shadow DOM prevents CSS conflicts', 'mxchat'), | |
| 327 | - __('Domain-validated security keys', 'mxchat') | |
| 328 | - ), | |
| 329 | - 'license' => 'MxChat PRO', | |
| 330 | - 'accent' => '#10b981', | |
| 331 | - 'url' => 'https://mxchat.ai/mxchat-anywhere-deploy-your-ai-chatbot-on-any-website-with-one-script-tag/', | |
| 332 | - 'download_url' => 'https://mxchat.ai/mxchat-anywhere-deploy-your-ai-chatbot-on-any-website-with-one-script-tag/', | |
| 333 | - 'plugin_file' => 'mxchat-embed/mxchat-embed.php', | |
| 334 | - 'config_page' => 'mxchat-embed', | |
| 335 | - 'hero_features' => array( | |
| 336 | - array( | |
| 337 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg>', | |
| 338 | - 'title' => __('Universal Embed', 'mxchat'), | |
| 339 | - 'desc' => __('One script tag on any website', 'mxchat'), | |
| 340 | - ), | |
| 341 | - array( | |
| 342 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>', | |
| 343 | - 'title' => __('Style Isolation', 'mxchat'), | |
| 344 | - 'desc' => __('Shadow DOM prevents CSS conflicts', 'mxchat'), | |
| 345 | - ), | |
| 346 | - array( | |
| 347 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg>', | |
| 348 | - 'title' => __('Domain Security', 'mxchat'), | |
| 349 | - 'desc' => __('Validated keys per domain', 'mxchat'), | |
| 350 | - ), | |
| 351 | - array( | |
| 352 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></svg>', | |
| 353 | - 'title' => __('Zero Dependencies', 'mxchat'), | |
| 354 | - 'desc' => __('Vanilla JS, no impact on Core Web Vitals', 'mxchat'), | |
| 355 | - ), | |
| 356 | - ), | |
| 357 | - ), | |
| 358 | - | |
| 359 | 68 | 'mxchat-woo' => array( |
| 360 | 69 | 'title' => __('MxChat WooCommerce', 'mxchat'), |
| 361 | - 'description' => __('Boost sales with AI-powered shopping assistance. Help customers find products, manage carts, and complete purchases—all through natural conversation.', 'mxchat'), | |
| 362 | - 'key_benefits' => array( | |
| 363 | - __('Smart product recommendations', 'mxchat'), | |
| 364 | - __('Cart & checkout assistance', 'mxchat'), | |
| 365 | - __('Order history access', 'mxchat') | |
| 366 | - ), | |
| 70 | + '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'), | |
| 367 | 71 | 'license' => 'MxChat PRO', |
| 368 | 72 | 'accent' => '#fa73e6', |
| 369 | - 'url' => 'https://mxchat.ai/woocommerce/', | |
| 73 | + 'url' => 'https://quickdeploywp.com/plugin/mxchat-woo/', | |
| 370 | 74 | 'plugin_file' => 'mxchat-woo/mxchat-woo.php', |
| 371 | - 'config_page' => 'mxchat-woo', | |
| 372 | - 'hero_features' => array( | |
| 373 | - array( | |
| 374 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="21" r="1"/><circle cx="20" cy="21" r="1"/><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"/></svg>', | |
| 375 | - 'title' => __('Cart Assistant', 'mxchat'), | |
| 376 | - 'desc' => __('Manage cart through conversation', 'mxchat'), | |
| 377 | - ), | |
| 378 | - array( | |
| 379 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="8" y1="6" x2="21" y2="6"/><line x1="8" y1="12" x2="21" y2="12"/><line x1="8" y1="18" x2="21" y2="18"/><line x1="3" y1="6" x2="3.01" y2="6"/><line x1="3" y1="12" x2="3.01" y2="12"/><line x1="3" y1="18" x2="3.01" y2="18"/></svg>', | |
| 380 | - 'title' => __('Product Search', 'mxchat'), | |
| 381 | - 'desc' => __('Smart product recommendations', 'mxchat'), | |
| 382 | - ), | |
| 383 | - array( | |
| 384 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="1" y="4" width="22" height="16" rx="2" ry="2"/><line x1="1" y1="10" x2="23" y2="10"/></svg>', | |
| 385 | - 'title' => __('Checkout Help', 'mxchat'), | |
| 386 | - 'desc' => __('Guide customers to purchase', 'mxchat'), | |
| 387 | - ), | |
| 388 | - array( | |
| 389 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><polyline points="10 9 9 9 8 9"/></svg>', | |
| 390 | - 'title' => __('Order History', 'mxchat'), | |
| 391 | - 'desc' => __('Look up past orders in chat', 'mxchat'), | |
| 392 | - ), | |
| 393 | - ), | |
| 75 | + 'config_page' => 'mxchat-woo' | |
| 394 | 76 | ), |
| 395 | - | |
| 396 | - 'mxchat-assistant-api' => array( | |
| 397 | - 'title' => __('MxChat Assistant API', 'mxchat'), | |
| 398 | - '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'), | |
| 399 | - 'key_benefits' => array( | |
| 400 | - __('Custom OpenAI Assistant integration', 'mxchat'), | |
| 401 | - __('Advanced AI capabilities', 'mxchat'), | |
| 402 | - __('24-hour conversation persistence', 'mxchat') | |
| 403 | - ), | |
| 77 | + 'mxchat-theme' => array( | |
| 78 | + 'title' => __('MxChat Theme Customizer', 'mxchat'), | |
| 79 | + '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'), | |
| 404 | 80 | 'license' => 'MxChat PRO', |
| 405 | - 'accent' => '#00d4aa', | |
| 406 | - 'url' => 'https://mxchat.ai/openai-assistants-api/', | |
| 407 | - 'plugin_file' => 'mxchat-assistant-api/mxchat-assistant-api.php', | |
| 408 | - 'config_page' => 'mxchat-assistant-api', | |
| 409 | - 'hero_features' => array( | |
| 410 | - array( | |
| 411 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/></svg>', | |
| 412 | - 'title' => __('OpenAI Assistants', 'mxchat'), | |
| 413 | - 'desc' => __('Connect your custom Assistant', 'mxchat'), | |
| 414 | - ), | |
| 415 | - array( | |
| 416 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2L2 7l10 5 10-5-10-5z"/><path d="M2 17l10 5 10-5"/><path d="M2 12l10 5 10-5"/></svg>', | |
| 417 | - 'title' => __('Advanced AI', 'mxchat'), | |
| 418 | - 'desc' => __('Full Assistant API capabilities', 'mxchat'), | |
| 419 | - ), | |
| 420 | - array( | |
| 421 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>', | |
| 422 | - 'title' => __('24hr Persistence', 'mxchat'), | |
| 423 | - 'desc' => __('Conversations persist all day', 'mxchat'), | |
| 424 | - ), | |
| 425 | - array( | |
| 426 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg>', | |
| 427 | - 'title' => __('Direct Connect', 'mxchat'), | |
| 428 | - 'desc' => __('Bypass MxChat knowledge base', 'mxchat'), | |
| 429 | - ), | |
| 430 | - ), | |
| 81 | + 'accent' => '#fa73e6', | |
| 82 | + 'url' => 'https://quickdeploywp.com/plugin/mxchat-theme/', | |
| 83 | + 'plugin_file' => 'mxchat-theme/mxchat-theme.php', | |
| 84 | + 'config_page' => 'mxchat-theme-settings' | |
| 431 | 85 | ), |
| 432 | - | |
| 433 | 86 | 'mxchat-perplexity' => array( |
| 434 | 87 | 'title' => __('MxChat Perplexity', 'mxchat'), |
| 435 | - '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'), | |
| 436 | - 'key_benefits' => array( | |
| 437 | - __('Real-time web search', 'mxchat'), | |
| 438 | - __('Intent-triggered research', 'mxchat'), | |
| 439 | - __('Up-to-date information', 'mxchat') | |
| 440 | - ), | |
| 88 | + 'description' => __('Enhance your chatbot with powerful web search capabilities through Perplexity AI. This add-on adds a search toggle button to your chat interface, allowing users to instantly access up-to-date information from the web. It also integrates seamlessly with the intent recognition system to trigger web searches automatically for specific queries. Perfect for providing current information without leaving the chat!', 'mxchat'), | |
| 441 | 89 | 'license' => 'MxChat PRO', |
| 442 | 90 | 'accent' => '#fa73e6', |
| 443 | 91 | 'url' => 'https://quickdeploywp.com/plugin/mxchat-perplexity/', |
| 444 | 92 | 'plugin_file' => 'mxchat-perplexity/mxchat-perplexity.php', |
| 445 | - 'config_page' => 'mxchat-perplexity', | |
| 446 | - 'hero_features' => array( | |
| 447 | - array( | |
| 448 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg>', | |
| 449 | - 'title' => __('Web Search', 'mxchat'), | |
| 450 | - 'desc' => __('Real-time internet searching', 'mxchat'), | |
| 451 | - ), | |
| 452 | - array( | |
| 453 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></svg>', | |
| 454 | - 'title' => __('Intent Triggers', 'mxchat'), | |
| 455 | - 'desc' => __('Auto-search when needed', 'mxchat'), | |
| 456 | - ), | |
| 457 | - array( | |
| 458 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>', | |
| 459 | - 'title' => __('Live Data', 'mxchat'), | |
| 460 | - 'desc' => __('Up-to-date information always', 'mxchat'), | |
| 461 | - ), | |
| 462 | - array( | |
| 463 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>', | |
| 464 | - 'title' => __('Seamless Chat', 'mxchat'), | |
| 465 | - 'desc' => __('Results blend into conversation', 'mxchat'), | |
| 466 | - ), | |
| 467 | - ), | |
| 93 | + 'config_page' => 'mxchat-perplexity' | |
| 468 | 94 | ), |
| 469 | - | |
| 470 | 95 | 'mxchat-moderation' => array( |
| 471 | 96 | 'title' => __('MxChat Moderation', 'mxchat'), |
| 472 | - 'description' => __('Keep your chat clean and professional. Block unwanted users, filter inappropriate content, and ensure your chatbot represents your brand properly.', 'mxchat'), | |
| 473 | - 'key_benefits' => array( | |
| 474 | - __('IP & email-based blocking', 'mxchat'), | |
| 475 | - __('Content filtering', 'mxchat'), | |
| 476 | - __('Spam protection', 'mxchat') | |
| 477 | - ), | |
| 97 | + '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'), | |
| 478 | 98 | 'license' => 'MxChat PRO', |
| 479 | 99 | 'accent' => '#fa73e6', |
| 480 | 100 | 'url' => 'https://quickdeploywp.com/plugin/mxchat-moderation/', |
| 481 | 101 | 'plugin_file' => 'mxchat-moderation/mx-chat-moderation.php', |
| 482 | - 'config_page' => 'mx-chat-moderation', | |
| 483 | - 'hero_features' => array( | |
| 484 | - array( | |
| 485 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>', | |
| 486 | - 'title' => __('Content Filter', 'mxchat'), | |
| 487 | - 'desc' => __('Block inappropriate content', 'mxchat'), | |
| 488 | - ), | |
| 489 | - array( | |
| 490 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="4.93" y1="4.93" x2="19.07" y2="19.07"/></svg>', | |
| 491 | - 'title' => __('User Blocking', 'mxchat'), | |
| 492 | - 'desc' => __('IP & email-based bans', 'mxchat'), | |
| 493 | - ), | |
| 494 | - array( | |
| 495 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/></svg>', | |
| 496 | - 'title' => __('Spam Protection', 'mxchat'), | |
| 497 | - 'desc' => __('Detect and prevent spam', 'mxchat'), | |
| 498 | - ), | |
| 499 | - array( | |
| 500 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="8.5" cy="7" r="4"/><line x1="20" y1="8" x2="20" y2="14"/><line x1="23" y1="11" x2="17" y2="11"/></svg>', | |
| 501 | - 'title' => __('Brand Safety', 'mxchat'), | |
| 502 | - 'desc' => __('Keep chat professional', 'mxchat'), | |
| 503 | - ), | |
| 504 | - ), | |
| 102 | + 'config_page' => 'mx-chat-moderation' | |
| 505 | 103 | ), |
| 506 | - | |
| 104 | + | |
| 507 | 105 | ); |
| 508 | 106 | } |
| 509 | 107 | |
| 510 | 108 | /** |
| 511 | - * Get the addons configuration array | |
| 512 | - * | |
| 513 | - * @return array The addons configuration | |
| 514 | - */ | |
| 515 | - public function get_addons_config() { | |
| 516 | - return $this->addons_config; | |
| 517 | - } | |
| 518 | - | |
| 519 | - /** | |
| 520 | 109 | * Register the stylesheets for the admin area. |
| 521 | 110 | */ |
| 522 | 111 | public function enqueue_styles() { |
| 112 | + $plugin_version = '2.1.7'; | |
| 113 | + | |
| 523 | 114 | wp_enqueue_style( |
| 524 | 115 | 'mxchat-addons', |
| 525 | 116 | plugin_dir_url(__FILE__) . '../css/admin-add-ons.css', |
| 526 | 117 | array(), |
| 527 | - MXCHAT_VERSION, | |
| 118 | + $plugin_version, | |
| 528 | 119 | 'all' |
| 529 | 120 | ); |
| 530 | 121 | } |
| 531 | 122 | |
| @@ -534,50 +125,50 @@ | ||
| 534 | 125 | * |
| 535 | 126 | * @param string $plugin_file The plugin's main file path |
| 536 | 127 | * @return array Status information |
| 537 | 128 | */ |
| 538 | - private function get_addon_status($plugin_file) { | |
| 539 | - if (!function_exists('get_plugins')) { | |
| 540 | - require_once ABSPATH . 'wp-admin/includes/plugin.php'; | |
| 541 | - } | |
| 129 | + private function get_addon_status($plugin_file) { | |
| 130 | + if (!function_exists('get_plugins')) { | |
| 131 | + require_once ABSPATH . 'wp-admin/includes/plugin.php'; | |
| 132 | + } | |
| 542 | 133 | |
| 543 | - $all_plugins = get_plugins(); | |
| 544 | - $active_plugins = get_option('active_plugins', array()); | |
| 134 | + $all_plugins = get_plugins(); | |
| 135 | + $active_plugins = get_option('active_plugins', array()); | |
| 545 | 136 | |
| 546 | - // Find the addon by iterating through configs | |
| 547 | - $config_page = ''; | |
| 548 | - foreach ($this->addons_config as $slug => $addon) { | |
| 549 | - if ($addon['plugin_file'] === $plugin_file) { | |
| 550 | - $config_page = $addon['config_page']; | |
| 551 | - break; | |
| 552 | - } | |
| 137 | + // Find the addon by iterating through configs | |
| 138 | + $config_page = ''; | |
| 139 | + foreach ($this->addons_config as $slug => $addon) { | |
| 140 | + if ($addon['plugin_file'] === $plugin_file) { | |
| 141 | + $config_page = $addon['config_page']; | |
| 142 | + break; | |
| 553 | 143 | } |
| 144 | + } | |
| 554 | 145 | |
| 555 | - if (isset($all_plugins[$plugin_file])) { | |
| 556 | - if (in_array($plugin_file, $active_plugins)) { | |
| 557 | - return array( | |
| 558 | - 'status' => 'active', | |
| 559 | - 'action_url' => admin_url('admin.php?page=' . $config_page), | |
| 560 | - 'action_text' => __('Configure', 'mxchat') | |
| 561 | - ); | |
| 562 | - } else { | |
| 563 | - return array( | |
| 564 | - 'status' => 'inactive', | |
| 565 | - 'action_url' => wp_nonce_url( | |
| 566 | - admin_url('plugins.php?action=activate&plugin=' . $plugin_file), | |
| 567 | - 'activate-plugin_' . $plugin_file | |
| 568 | - ), | |
| 569 | - 'action_text' => __('Activate', 'mxchat') | |
| 570 | - ); | |
| 571 | - } | |
| 146 | + if (isset($all_plugins[$plugin_file])) { | |
| 147 | + if (in_array($plugin_file, $active_plugins)) { | |
| 148 | + return array( | |
| 149 | + 'status' => 'active', | |
| 150 | + 'action_url' => admin_url('admin.php?page=' . $config_page), | |
| 151 | + 'action_text' => __('Configure', 'mxchat') | |
| 152 | + ); | |
| 153 | + } else { | |
| 154 | + return array( | |
| 155 | + 'status' => 'inactive', | |
| 156 | + 'action_url' => wp_nonce_url( | |
| 157 | + admin_url('plugins.php?action=activate&plugin=' . $plugin_file), | |
| 158 | + 'activate-plugin_' . $plugin_file | |
| 159 | + ), | |
| 160 | + 'action_text' => __('Activate', 'mxchat') | |
| 161 | + ); | |
| 572 | 162 | } |
| 163 | + } | |
| 573 | 164 | |
| 574 | - return array( | |
| 575 | - 'status' => 'not-installed', | |
| 576 | - 'action_url' => '', | |
| 577 | - 'action_text' => __('Get Extension', 'mxchat') | |
| 578 | - ); | |
| 579 | - } | |
| 165 | + return array( | |
| 166 | + 'status' => 'not-installed', | |
| 167 | + 'action_url' => '', | |
| 168 | + 'action_text' => __('Get Extension', 'mxchat') | |
| 169 | + ); | |
| 170 | +} | |
| 580 | 171 | |
| 581 | 172 | /** |
| 582 | 173 | * Render the Add Ons page content. |
| 583 | 174 | */ |
| @@ -582,38 +173,28 @@ | ||
| 582 | 173 | * Render the Add Ons page content. |
| 583 | 174 | */ |
| 584 | 175 | public function render_page() { |
| 585 | 176 | $this->enqueue_styles(); |
| 586 | - // Remove the sorting logic and just use the original order | |
| 587 | - $sorted_addons = $this->addons_config; | |
| 588 | - | |
| 589 | 177 | ?> |
| 590 | 178 | <div class="wrap mxchat-addons-wrapper"> |
| 591 | - <div class="mxchat-addons-hero"> | |
| 592 | - <h1 class="mxchat-main-title"> | |
| 593 | - <span class="mxchat-gradient-text">Power Up</span> Your Chatbot | |
| 594 | - </h1> | |
| 595 | - <p class="mxchat-hero-subtitle"> | |
| 596 | - <?php esc_html_e('Extend MxChat with these powerful extensions and unlock advanced features.', 'mxchat'); ?> | |
| 597 | - </p> | |
| 598 | - </div> | |
| 599 | - | |
| 600 | - <div class="mxchat-addons-section"> | |
| 601 | - <div class="mxchat-addons-grid"> | |
| 602 | - <?php foreach ($sorted_addons as $slug => $addon): ?> | |
| 603 | - <?php $this->render_addon_card($slug, $addon); ?> | |
| 604 | - <?php endforeach; ?> | |
| 605 | - </div> | |
| 606 | - </div> | |
| 607 | - | |
| 608 | - <div class="mxchat-cta-section"> | |
| 609 | - <h2><?php esc_html_e('Ready to take your chatbot to the next level?', 'mxchat'); ?></h2> | |
| 610 | - <p><?php esc_html_e('Get MxChat PRO today and access all premium extensions at one low price.', 'mxchat'); ?></p> | |
| 611 | - <a href="https://mxchat.ai/" class="mxchat-cta-button" target="_blank"><?php esc_html_e('Learn More', 'mxchat'); ?></a> | |
| 612 | - </div> | |
| 179 | + <div class="mxchat-addons-hero"> | |
| 180 | + <h1 class="mxchat-main-title"> | |
| 181 | + <span class="mxchat-gradient-text">Power Up</span> Your Chatbot | |
| 182 | + </h1> | |
| 183 | + <p class="mxchat-hero-subtitle"> | |
| 184 | + <?php esc_html_e('Enhance your chatbot with premium & free extensions available through QuickDeployWP, an official distribution platform made by MxChat.', 'mxchat'); ?> | |
| 185 | + </p> | |
| 613 | 186 | </div> |
| 614 | - <?php | |
| 615 | - } | |
| 187 | + <div class="mxchat-addons-grid"> | |
| 188 | + <?php | |
| 189 | + foreach ($this->addons_config as $slug => $addon) { | |
| 190 | + $this->render_addon_card($slug, $addon); | |
| 191 | + } | |
| 192 | + ?> | |
| 193 | + </div> | |
| 194 | + </div> | |
| 195 | + <?php | |
| 196 | + } | |
| 616 | 197 | |
| 617 | 198 | /** |
| 618 | 199 | * Render individual add-on card |
| 619 | 200 | * |
| @@ -623,59 +204,26 @@ | ||
| 623 | 204 | private function render_addon_card($slug, $addon) { |
| 624 | 205 | $status_info = $this->get_addon_status($addon['plugin_file']); |
| 625 | 206 | $button_url = $status_info['status'] === 'not-installed' ? $addon['url'] : $status_info['action_url']; |
| 626 | 207 | $button_target = $status_info['status'] === 'not-installed' ? '_blank' : '_self'; |
| 627 | - | |
| 628 | - // Check if addon is deprecated | |
| 629 | - $is_deprecated = isset($addon['status']) && $addon['status'] === 'deprecated'; | |
| 630 | 208 | ?> |
| 631 | - <div class="mxchat-addon-card <?php echo $is_deprecated ? 'deprecated' : ''; ?>" style="--card-accent: <?php echo esc_attr($addon['accent']); ?>"> | |
| 632 | - <div class="mxchat-addon-badge"> | |
| 633 | - <?php if ($is_deprecated): ?> | |
| 634 | - <?php esc_html_e('Deprecated', 'mxchat'); ?> | |
| 635 | - <?php else: ?> | |
| 636 | - <?php echo esc_html(ucfirst($addon['license'])); ?> | |
| 637 | - <?php endif; ?> | |
| 638 | - </div> | |
| 209 | + <div class="mxchat-addon-card" style="--card-accent: <?php echo esc_attr($addon['accent']); ?>"> | |
| 210 | + <div class="mxchat-addon-badge"><?php echo esc_html(ucfirst($addon['license'])); ?></div> | |
| 639 | 211 | <div class="mxchat-addon-content"> |
| 640 | 212 | <h3 class="mxchat-addon-title"><?php echo esc_html($addon['title']); ?></h3> |
| 641 | 213 | <p class="mxchat-addon-description"><?php echo esc_html($addon['description']); ?></p> |
| 642 | - | |
| 643 | - <?php if (!empty($addon['key_benefits'])): ?> | |
| 644 | - <div class="mxchat-benefits-list"> | |
| 645 | - <?php foreach ($addon['key_benefits'] as $benefit): ?> | |
| 646 | - <div class="mxchat-benefit-item"> | |
| 647 | - <span class="mxchat-benefit-icon">✓</span> | |
| 648 | - <?php echo esc_html($benefit); ?> | |
| 649 | - </div> | |
| 650 | - <?php endforeach; ?> | |
| 651 | - </div> | |
| 652 | - <?php endif; ?> | |
| 653 | - | |
| 654 | 214 | <div class="mxchat-addon-footer"> |
| 655 | - <?php if ($is_deprecated): ?> | |
| 656 | - <div class="mxchat-status-indicator deprecated"> | |
| 657 | - <?php esc_html_e('Now Built-in', 'mxchat'); ?> | |
| 658 | - </div> | |
| 659 | - <a href="<?php echo esc_url(admin_url('admin.php?page=mxchat-prompts')); ?>" | |
| 660 | - class="mxchat-action-button deprecated" | |
| 661 | - target="_self"> | |
| 662 | - <?php esc_html_e('Go to Knowledge Tab', 'mxchat'); ?> | |
| 663 | - </a> | |
| 664 | - <?php else: ?> | |
| 665 | - <div class="mxchat-status-indicator <?php echo esc_attr($status_info['status']); ?>"> | |
| 666 | - <?php echo esc_html(ucfirst(str_replace('-', ' ', $status_info['status']))); ?> | |
| 667 | - </div> | |
| 668 | - <a href="<?php echo esc_url($button_url); ?>" | |
| 669 | - class="mxchat-action-button" | |
| 670 | - target="<?php echo esc_attr($button_target); ?>" | |
| 671 | - data-action="<?php echo esc_attr($status_info['status']); ?>"> | |
| 672 | - <?php echo esc_html($status_info['action_text']); ?> | |
| 673 | - </a> | |
| 674 | - <?php endif; ?> | |
| 215 | + <div class="mxchat-status-indicator <?php echo esc_attr($status_info['status']); ?>"> | |
| 216 | + <?php echo esc_html(ucfirst(str_replace('-', ' ', $status_info['status']))); ?> | |
| 217 | + </div> | |
| 218 | + <a href="<?php echo esc_url($button_url); ?>" | |
| 219 | + class="mxchat-action-button" | |
| 220 | + target="<?php echo esc_attr($button_target); ?>" | |
| 221 | + data-action="<?php echo esc_attr($status_info['status']); ?>"> | |
| 222 | + <?php echo esc_html($status_info['action_text']); ?> | |
| 223 | + </a> | |
| 675 | 224 | </div> |
| 676 | 225 | </div> |
| 677 | 226 | </div> |
| 678 | 227 | <?php |
| 679 | 228 | } |
| 680 | - | |
| 681 | -} | |
| 229 | +} | |