| @@ -17,124 +17,37 @@ | ||
| 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-mcp' => array( | |
| 23 | - 'title' => __('MxChat MCP Server', 'mxchat'), | |
| 24 | - 'sidebar_title' => __('MCP Server', 'mxchat'), | |
| 25 | - 'description' => __('Turn your MxChat install into a Model Context Protocol server so Claude, ChatGPT, and Claude Code can list transcripts, push knowledge, and inspect bots directly — no per-message fees, no middleman API.', 'mxchat'), | |
| 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'), | |
| 26 | 24 | 'key_benefits' => array( |
| 27 | - __('JSON-RPC 2.0 MCP endpoint with OAuth + bearer auth', 'mxchat'), | |
| 28 | - __('One-click connect snippets for Claude Code, ChatGPT, mcp-inspector', 'mxchat'), | |
| 29 | - __('WooCommerce-aware tools: products, orders, customers', 'mxchat') | |
| 25 | + __('Reveal top 10 knowledge matches', 'mxchat'), | |
| 26 | + __('Optimize response accuracy', 'mxchat'), | |
| 27 | + __('Debug AI decision patterns', 'mxchat') | |
| 30 | 28 | ), |
| 31 | - 'license' => 'MxChat PRO', | |
| 32 | - 'accent' => '#7873f5', | |
| 33 | - 'url' => 'https://mxchat.ai/add-ons/mxchat-mcp/', | |
| 34 | - 'download_url' => 'https://mxchat.ai/add-ons/mxchat-mcp/', | |
| 35 | - 'plugin_file' => 'mxchat-mcp/mxchat-mcp.php', | |
| 36 | - 'config_page' => 'mxchat-mcp', | |
| 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"><polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/></svg>', | |
| 40 | - 'title' => __('Open Protocol', 'mxchat'), | |
| 41 | - 'desc' => __('Standards-based MCP over Streamable HTTP', '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"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg>', | |
| 45 | - 'title' => __('OAuth + Bearer', 'mxchat'), | |
| 46 | - 'desc' => __('Reuses your MxChat REST token', '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"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/></svg>', | |
| 50 | - 'title' => __('Chatbot Ops Tools', 'mxchat'), | |
| 51 | - 'desc' => __('Transcripts, knowledge, bots, search', '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"><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>', | |
| 55 | - 'title' => __('WooCommerce Aware', 'mxchat'), | |
| 56 | - 'desc' => __('Products, orders, customer lookups', 'mxchat'), | |
| 57 | - ), | |
| 58 | - ), | |
| 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' | |
| 59 | 34 | ), |
| 60 | - | |
| 61 | - 'mxchat-advanced-content' => array( | |
| 62 | - 'title' => __('MxChat Advanced Content Editor', 'mxchat'), | |
| 63 | - 'sidebar_title' => __('Content Gen.', 'mxchat'), | |
| 64 | - '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'), | |
| 35 | + 'mxchat-pinecone' => array( | |
| 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'), | |
| 65 | 38 | 'key_benefits' => array( |
| 66 | - __('AI-powered image regeneration & uploads', 'mxchat'), | |
| 67 | - __('SEO meta title, description & excerpt editor', 'mxchat'), | |
| 68 | - __('Automatic internal linking between posts', 'mxchat') | |
| 39 | + __('Now integrated into core plugin', 'mxchat'), | |
| 40 | + __('Access via Knowledge tab', 'mxchat'), | |
| 41 | + __('No separate installation needed', 'mxchat') | |
| 69 | 42 | ), |
| 70 | - 'license' => 'MxChat PRO', | |
| 71 | - 'accent' => '#6366f1', | |
| 72 | - 'url' => 'https://mxchat.ai/add-ons/mxchat-advanced-content/', | |
| 73 | - 'download_url' => 'https://mxchat.ai/add-ons/mxchat-advanced-content/', | |
| 74 | - 'plugin_file' => 'mxchat-advanced-content/mxchat-advanced-content.php', | |
| 75 | - 'config_page' => 'mxchat-content', | |
| 76 | - 'hero_features' => array( | |
| 77 | - array( | |
| 78 | - '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>', | |
| 79 | - 'title' => __('Image Management', 'mxchat'), | |
| 80 | - 'desc' => __('Regenerate, upload, and swap AI images', 'mxchat'), | |
| 81 | - ), | |
| 82 | - array( | |
| 83 | - '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>', | |
| 84 | - 'title' => __('SEO Meta Editor', 'mxchat'), | |
| 85 | - 'desc' => __('Title, description & excerpt controls', 'mxchat'), | |
| 86 | - ), | |
| 87 | - array( | |
| 88 | - '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>', | |
| 89 | - 'title' => __('Internal Linking', 'mxchat'), | |
| 90 | - 'desc' => __('Auto-link to related posts & pages', 'mxchat'), | |
| 91 | - ), | |
| 92 | - array( | |
| 93 | - '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>', | |
| 94 | - 'title' => __('Chat-Based Editing', 'mxchat'), | |
| 95 | - 'desc' => __('Refine content through conversation', 'mxchat'), | |
| 96 | - ), | |
| 97 | - ), | |
| 98 | - ), | |
| 99 | - | |
| 100 | - 'mxchat-theme' => array( | |
| 101 | - 'title' => __('MxChat Chat Themes', 'mxchat'), | |
| 102 | - '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'), | |
| 103 | - 'key_benefits' => array( | |
| 104 | - __('AI-powered theme generator', 'mxchat'), | |
| 105 | - __('Live preview customizer', 'mxchat'), | |
| 106 | - __('One-click theme application', 'mxchat') | |
| 107 | - ), | |
| 108 | - 'license' => 'MxChat PRO', | |
| 43 | + 'license' => 'free', | |
| 109 | 44 | 'accent' => '#fa73e6', |
| 110 | - 'url' => 'https://mxchat.ai/add-ons/mxchat-theme/', | |
| 111 | - 'plugin_file' => 'mxchat-theme/mxchat-theme.php', | |
| 112 | - 'config_page' => 'mxchat-theme-settings', | |
| 113 | - 'hero_features' => array( | |
| 114 | - array( | |
| 115 | - '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>', | |
| 116 | - 'title' => __('AI Theme Generator', 'mxchat'), | |
| 117 | - 'desc' => __('Describe your style, AI creates it', 'mxchat'), | |
| 118 | - ), | |
| 119 | - array( | |
| 120 | - '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>', | |
| 121 | - 'title' => __('Live Preview', 'mxchat'), | |
| 122 | - 'desc' => __('See changes in real-time', 'mxchat'), | |
| 123 | - ), | |
| 124 | - array( | |
| 125 | - '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>', | |
| 126 | - 'title' => __('Color Controls', 'mxchat'), | |
| 127 | - 'desc' => __('Fine-tune every color precisely', 'mxchat'), | |
| 128 | - ), | |
| 129 | - array( | |
| 130 | - '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>', | |
| 131 | - 'title' => __('One-Click Apply', 'mxchat'), | |
| 132 | - 'desc' => __('Apply themes instantly', 'mxchat'), | |
| 133 | - ), | |
| 134 | - ), | |
| 45 | + 'url' => 'https://quickdeploywp.com/plugin/mxchat-pinecone/', | |
| 46 | + 'plugin_file' => 'mxchat-pinecone/pinecone-manager.php', | |
| 47 | + 'config_page' => 'mxchat-pinecone', | |
| 48 | + 'status' => 'deprecated' | |
| 135 | 49 | ), |
| 136 | - | |
| 137 | 50 | 'mxchat-admin-assistant' => array( |
| 138 | 51 | 'title' => __('MxChat Admin Assistant', 'mxchat'), |
| 139 | 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'), |
| 140 | 53 | 'key_benefits' => array( |
| @@ -143,109 +56,12 @@ | ||
| 143 | 56 | __('Searchable chat history', 'mxchat') |
| 144 | 57 | ), |
| 145 | 58 | 'license' => 'MxChat PRO', |
| 146 | 59 | 'accent' => '#fa73e6', |
| 147 | - 'url' => 'https://mxchat.ai/add-ons/mxchat-admin-chat/', | |
| 60 | + 'url' => 'https://quickdeploywp.com/plugin/mxchat-admin-assistant/', | |
| 148 | 61 | 'plugin_file' => 'mxchat-admin-chat/mxchat-admin-chat.php', |
| 149 | - 'config_page' => 'mxchat-admin-chat', | |
| 150 | - 'hero_features' => array( | |
| 151 | - array( | |
| 152 | - '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>', | |
| 153 | - 'title' => __('Admin Chat UI', 'mxchat'), | |
| 154 | - 'desc' => __('ChatGPT-like dashboard interface', 'mxchat'), | |
| 155 | - ), | |
| 156 | - array( | |
| 157 | - '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>', | |
| 158 | - 'title' => __('Image Generation', 'mxchat'), | |
| 159 | - 'desc' => __('Create images with AI prompts', 'mxchat'), | |
| 160 | - ), | |
| 161 | - array( | |
| 162 | - '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>', | |
| 163 | - 'title' => __('Web Research', 'mxchat'), | |
| 164 | - 'desc' => __('Search the web from your dashboard', 'mxchat'), | |
| 165 | - ), | |
| 166 | - array( | |
| 167 | - '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>', | |
| 168 | - 'title' => __('Chat History', 'mxchat'), | |
| 169 | - 'desc' => __('Searchable conversation archive', 'mxchat'), | |
| 170 | - ), | |
| 171 | - ), | |
| 62 | + 'config_page' => 'mxchat-admin-chat' | |
| 172 | 63 | ), |
| 173 | - | |
| 174 | - 'mxchat-veo' => array( | |
| 175 | - 'title' => __('MxChat Video Generation', 'mxchat'), | |
| 176 | - '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'), | |
| 177 | - 'key_benefits' => array( | |
| 178 | - __('Multiple Veo models (Veo 2, 3, 3 Fast)', 'mxchat'), | |
| 179 | - __('8-second videos with native audio', 'mxchat'), | |
| 180 | - __('Media library integration', 'mxchat') | |
| 181 | - ), | |
| 182 | - 'license' => 'MxChat PRO', | |
| 183 | - 'accent' => '#ff6b35', | |
| 184 | - 'url' => 'https://mxchat.ai/add-ons/mxchat-veo/', | |
| 185 | - 'plugin_file' => 'mxchat-veo/mxchat-veo.php', | |
| 186 | - 'config_page' => 'mxchat-veo', | |
| 187 | - 'hero_features' => array( | |
| 188 | - array( | |
| 189 | - '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>', | |
| 190 | - 'title' => __('AI Video Creation', 'mxchat'), | |
| 191 | - 'desc' => __('Generate videos from text prompts', 'mxchat'), | |
| 192 | - ), | |
| 193 | - array( | |
| 194 | - '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>', | |
| 195 | - 'title' => __('Native Audio', 'mxchat'), | |
| 196 | - 'desc' => __('Videos with built-in audio tracks', 'mxchat'), | |
| 197 | - ), | |
| 198 | - array( | |
| 199 | - '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>', | |
| 200 | - 'title' => __('Aspect Ratios', 'mxchat'), | |
| 201 | - 'desc' => __('Multiple size options available', 'mxchat'), | |
| 202 | - ), | |
| 203 | - array( | |
| 204 | - '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>', | |
| 205 | - 'title' => __('Media Library', 'mxchat'), | |
| 206 | - 'desc' => __('Save directly to WordPress media', 'mxchat'), | |
| 207 | - ), | |
| 208 | - ), | |
| 209 | - ), | |
| 210 | - | |
| 211 | - 'mxchat-image-analysis' => array( | |
| 212 | - 'title' => __('MxChat Image Analysis', 'mxchat'), | |
| 213 | - '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'), | |
| 214 | - 'key_benefits' => array( | |
| 215 | - __('Multiple AI vision models', 'mxchat'), | |
| 216 | - __('Drag & drop image uploads', 'mxchat'), | |
| 217 | - __('Custom analysis prompts', 'mxchat') | |
| 218 | - ), | |
| 219 | - 'license' => 'MxChat PRO', | |
| 220 | - 'accent' => '#fa73e6', | |
| 221 | - 'url' => 'https://mxchat.ai/add-ons/mxchat-vision/', | |
| 222 | - 'plugin_file' => 'mxchat-vision/mxchat-vision.php', | |
| 223 | - 'config_page' => 'mxchat-vision', | |
| 224 | - 'hero_features' => array( | |
| 225 | - array( | |
| 226 | - '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>', | |
| 227 | - 'title' => __('Vision AI Models', 'mxchat'), | |
| 228 | - 'desc' => __('OpenAI Vision & Grok analysis', 'mxchat'), | |
| 229 | - ), | |
| 230 | - array( | |
| 231 | - '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>', | |
| 232 | - 'title' => __('Drag & Drop', 'mxchat'), | |
| 233 | - 'desc' => __('Easy image upload in chat', 'mxchat'), | |
| 234 | - ), | |
| 235 | - array( | |
| 236 | - '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>', | |
| 237 | - 'title' => __('OCR Extraction', 'mxchat'), | |
| 238 | - 'desc' => __('Extract text from images', 'mxchat'), | |
| 239 | - ), | |
| 240 | - array( | |
| 241 | - '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>', | |
| 242 | - 'title' => __('Custom Prompts', 'mxchat'), | |
| 243 | - 'desc' => __('Tailor analysis instructions', 'mxchat'), | |
| 244 | - ), | |
| 245 | - ), | |
| 246 | - ), | |
| 247 | - | |
| 248 | 64 | 'mxchat-forms' => array( |
| 249 | 65 | 'title' => __('MxChat Forms', 'mxchat'), |
| 250 | 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'), |
| 251 | 67 | 'key_benefits' => array( |
| @@ -254,148 +70,26 @@ | ||
| 254 | 70 | __('Export lead data easily', 'mxchat') |
| 255 | 71 | ), |
| 256 | 72 | 'license' => 'MxChat PRO', |
| 257 | 73 | 'accent' => '#fa73e6', |
| 258 | - 'url' => 'https://mxchat.ai/add-ons/mxchat-forms/', | |
| 74 | + 'url' => 'https://quickdeploywp.com/plugin/mxchat-forms/', | |
| 259 | 75 | 'plugin_file' => 'mxchat-forms/mxchat-forms.php', |
| 260 | - 'config_page' => 'mxchat-forms', | |
| 261 | - 'hero_features' => array( | |
| 262 | - array( | |
| 263 | - '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>', | |
| 264 | - 'title' => __('Form Builder', 'mxchat'), | |
| 265 | - 'desc' => __('No-code drag & drop builder', 'mxchat'), | |
| 266 | - ), | |
| 267 | - array( | |
| 268 | - '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>', | |
| 269 | - 'title' => __('Smart Triggers', 'mxchat'), | |
| 270 | - 'desc' => __('Show forms based on intent', 'mxchat'), | |
| 271 | - ), | |
| 272 | - array( | |
| 273 | - '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>', | |
| 274 | - 'title' => __('Lead Capture', 'mxchat'), | |
| 275 | - 'desc' => __('Turn visitors into contacts', 'mxchat'), | |
| 276 | - ), | |
| 277 | - array( | |
| 278 | - '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>', | |
| 279 | - 'title' => __('Data Export', 'mxchat'), | |
| 280 | - 'desc' => __('Export leads to CSV easily', 'mxchat'), | |
| 281 | - ), | |
| 282 | - ), | |
| 76 | + 'config_page' => 'mxchat-forms' | |
| 283 | 77 | ), |
| 284 | - | |
| 285 | - 'mxchat-multi-bot' => array( | |
| 286 | - 'title' => __('MxChat Multi-Bot Manager', 'mxchat'), | |
| 287 | - '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'), | |
| 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'), | |
| 288 | 81 | 'key_benefits' => array( |
| 289 | - __('Unlimited specialized chatbots', 'mxchat'), | |
| 290 | - __('Separate Pinecone knowledge bases', 'mxchat'), | |
| 291 | - __('Page-specific bot assignments', 'mxchat') | |
| 82 | + __('Increase conversion rates', 'mxchat'), | |
| 83 | + __('Custom recommendation flows', 'mxchat'), | |
| 84 | + __('No coding required', 'mxchat') | |
| 292 | 85 | ), |
| 293 | 86 | 'license' => 'MxChat PRO', |
| 294 | - 'accent' => '#8b5cf6', | |
| 295 | - 'url' => 'https://mxchat.ai/add-ons/mxchat-multi-bot/', | |
| 296 | - 'plugin_file' => 'mxchat-multi-bot/mxchat-multi-bot.php', | |
| 297 | - 'config_page' => 'mxchat-multi-bot', | |
| 298 | - 'hero_features' => array( | |
| 299 | - array( | |
| 300 | - '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>', | |
| 301 | - 'title' => __('Unlimited Bots', 'mxchat'), | |
| 302 | - 'desc' => __('Create specialized chatbots', 'mxchat'), | |
| 303 | - ), | |
| 304 | - array( | |
| 305 | - '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>', | |
| 306 | - 'title' => __('Separate Knowledge', 'mxchat'), | |
| 307 | - 'desc' => __('Unique knowledge per bot', 'mxchat'), | |
| 308 | - ), | |
| 309 | - array( | |
| 310 | - '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>', | |
| 311 | - 'title' => __('Page Assignments', 'mxchat'), | |
| 312 | - 'desc' => __('Assign bots to specific pages', 'mxchat'), | |
| 313 | - ), | |
| 314 | - array( | |
| 315 | - '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>', | |
| 316 | - 'title' => __('Custom Personas', 'mxchat'), | |
| 317 | - 'desc' => __('Unique personality per bot', 'mxchat'), | |
| 318 | - ), | |
| 319 | - ), | |
| 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' | |
| 320 | 91 | ), |
| 321 | - | |
| 322 | - 'mxchat-trigger' => array( | |
| 323 | - 'title' => __('MxChat Trigger', 'mxchat'), | |
| 324 | - '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'), | |
| 325 | - 'key_benefits' => array( | |
| 326 | - __('Simple data attribute triggers', 'mxchat'), | |
| 327 | - __('Multi-Bot targeting support', 'mxchat'), | |
| 328 | - __('Built-in button styles & animations', 'mxchat') | |
| 329 | - ), | |
| 330 | - 'license' => 'MxChat PRO', | |
| 331 | - 'accent' => '#3ac9d1', | |
| 332 | - 'url' => 'https://mxchat.ai/add-ons/mxchat-trigger/', | |
| 333 | - 'plugin_file' => 'mxchat-trigger/mxchat-trigger.php', | |
| 334 | - 'config_page' => 'mxchat-triggers', | |
| 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="12" y1="8" x2="12" y2="16"/><line x1="8" y1="12" x2="16" y2="12"/></svg>', | |
| 338 | - 'title' => __('Element Triggers', 'mxchat'), | |
| 339 | - 'desc' => __('Turn any element into a trigger', '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="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>', | |
| 343 | - 'title' => __('Preset Messages', 'mxchat'), | |
| 344 | - 'desc' => __('Auto-send predefined prompts', '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="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>', | |
| 348 | - 'title' => __('Multi-Bot Targeting', 'mxchat'), | |
| 349 | - 'desc' => __('Route to specific bots', '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"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><path d="M12 8v8"/><path d="M8 12h8"/></svg>', | |
| 353 | - 'title' => __('Button Styles', 'mxchat'), | |
| 354 | - 'desc' => __('Built-in styles & animations', 'mxchat'), | |
| 355 | - ), | |
| 356 | - ), | |
| 357 | - ), | |
| 358 | - | |
| 359 | - 'mxchat-anywhere' => array( | |
| 360 | - 'title' => __('MxChat Anywhere', 'mxchat'), | |
| 361 | - 'sidebar_title' => __('MxChat Anywhere', 'mxchat'), | |
| 362 | - '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'), | |
| 363 | - 'key_benefits' => array( | |
| 364 | - __('One script tag — works on any website', 'mxchat'), | |
| 365 | - __('Shadow DOM prevents CSS conflicts', 'mxchat'), | |
| 366 | - __('Domain-validated security keys', 'mxchat') | |
| 367 | - ), | |
| 368 | - 'license' => 'MxChat PRO', | |
| 369 | - 'accent' => '#10b981', | |
| 370 | - 'url' => 'https://mxchat.ai/add-ons/mxchat-embed/', | |
| 371 | - 'download_url' => 'https://mxchat.ai/add-ons/mxchat-embed/', | |
| 372 | - 'plugin_file' => 'mxchat-embed/mxchat-embed.php', | |
| 373 | - 'config_page' => 'mxchat-embed', | |
| 374 | - 'hero_features' => array( | |
| 375 | - array( | |
| 376 | - '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>', | |
| 377 | - 'title' => __('Universal Embed', 'mxchat'), | |
| 378 | - 'desc' => __('One script tag on any website', 'mxchat'), | |
| 379 | - ), | |
| 380 | - array( | |
| 381 | - '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>', | |
| 382 | - 'title' => __('Style Isolation', 'mxchat'), | |
| 383 | - 'desc' => __('Shadow DOM prevents CSS conflicts', 'mxchat'), | |
| 384 | - ), | |
| 385 | - array( | |
| 386 | - '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>', | |
| 387 | - 'title' => __('Domain Security', 'mxchat'), | |
| 388 | - 'desc' => __('Validated keys per domain', 'mxchat'), | |
| 389 | - ), | |
| 390 | - array( | |
| 391 | - '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>', | |
| 392 | - 'title' => __('Zero Dependencies', 'mxchat'), | |
| 393 | - 'desc' => __('Vanilla JS, no impact on Core Web Vitals', 'mxchat'), | |
| 394 | - ), | |
| 395 | - ), | |
| 396 | - ), | |
| 397 | - | |
| 398 | 92 | 'mxchat-woo' => array( |
| 399 | 93 | 'title' => __('MxChat WooCommerce', 'mxchat'), |
| 400 | 94 | 'description' => __('Boost sales with AI-powered shopping assistance. Help customers find products, manage carts, and complete purchases—all through natural conversation.', 'mxchat'), |
| 401 | 95 | 'key_benefits' => array( |
| @@ -404,35 +98,26 @@ | ||
| 404 | 98 | __('Order history access', 'mxchat') |
| 405 | 99 | ), |
| 406 | 100 | 'license' => 'MxChat PRO', |
| 407 | 101 | 'accent' => '#fa73e6', |
| 408 | - 'url' => 'https://mxchat.ai/add-ons/mxchat-woo/', | |
| 102 | + 'url' => 'https://quickdeploywp.com/plugin/mxchat-woo/', | |
| 409 | 103 | 'plugin_file' => 'mxchat-woo/mxchat-woo.php', |
| 410 | - 'config_page' => 'mxchat-woo', | |
| 411 | - 'hero_features' => array( | |
| 412 | - array( | |
| 413 | - '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>', | |
| 414 | - 'title' => __('Cart Assistant', 'mxchat'), | |
| 415 | - 'desc' => __('Manage cart through conversation', 'mxchat'), | |
| 416 | - ), | |
| 417 | - array( | |
| 418 | - '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>', | |
| 419 | - 'title' => __('Product Search', 'mxchat'), | |
| 420 | - 'desc' => __('Smart product recommendations', 'mxchat'), | |
| 421 | - ), | |
| 422 | - array( | |
| 423 | - '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>', | |
| 424 | - 'title' => __('Checkout Help', 'mxchat'), | |
| 425 | - 'desc' => __('Guide customers to purchase', 'mxchat'), | |
| 426 | - ), | |
| 427 | - array( | |
| 428 | - '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>', | |
| 429 | - 'title' => __('Order History', 'mxchat'), | |
| 430 | - 'desc' => __('Look up past orders in chat', 'mxchat'), | |
| 431 | - ), | |
| 104 | + 'config_page' => 'mxchat-woo' | |
| 105 | + ), | |
| 106 | + 'mxchat-theme' => array( | |
| 107 | + 'title' => __('MxChat Theme Customizer', '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') | |
| 432 | 113 | ), |
| 114 | + 'license' => 'MxChat PRO', | |
| 115 | + 'accent' => '#fa73e6', | |
| 116 | + 'url' => 'https://quickdeploywp.com/plugin/mxchat-theme/', | |
| 117 | + 'plugin_file' => 'mxchat-theme/mxchat-theme.php', | |
| 118 | + 'config_page' => 'mxchat-theme-settings' | |
| 433 | 119 | ), |
| 434 | - | |
| 435 | 120 | 'mxchat-perplexity' => array( |
| 436 | 121 | 'title' => __('MxChat Perplexity', 'mxchat'), |
| 437 | 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'), |
| 438 | 123 | 'key_benefits' => array( |
| @@ -441,35 +126,12 @@ | ||
| 441 | 126 | __('Up-to-date information', 'mxchat') |
| 442 | 127 | ), |
| 443 | 128 | 'license' => 'MxChat PRO', |
| 444 | 129 | 'accent' => '#fa73e6', |
| 445 | - 'url' => 'https://mxchat.ai/add-ons/mxchat-perplexity/', | |
| 130 | + 'url' => 'https://quickdeploywp.com/plugin/mxchat-perplexity/', | |
| 446 | 131 | 'plugin_file' => 'mxchat-perplexity/mxchat-perplexity.php', |
| 447 | - 'config_page' => 'mxchat-perplexity', | |
| 448 | - 'hero_features' => array( | |
| 449 | - array( | |
| 450 | - '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>', | |
| 451 | - 'title' => __('Web Search', 'mxchat'), | |
| 452 | - 'desc' => __('Real-time internet searching', 'mxchat'), | |
| 453 | - ), | |
| 454 | - array( | |
| 455 | - '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>', | |
| 456 | - 'title' => __('Intent Triggers', 'mxchat'), | |
| 457 | - 'desc' => __('Auto-search when needed', 'mxchat'), | |
| 458 | - ), | |
| 459 | - array( | |
| 460 | - '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>', | |
| 461 | - 'title' => __('Live Data', 'mxchat'), | |
| 462 | - 'desc' => __('Up-to-date information always', 'mxchat'), | |
| 463 | - ), | |
| 464 | - array( | |
| 465 | - '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>', | |
| 466 | - 'title' => __('Seamless Chat', 'mxchat'), | |
| 467 | - 'desc' => __('Results blend into conversation', 'mxchat'), | |
| 468 | - ), | |
| 469 | - ), | |
| 132 | + 'config_page' => 'mxchat-perplexity' | |
| 470 | 133 | ), |
| 471 | - | |
| 472 | 134 | 'mxchat-moderation' => array( |
| 473 | 135 | 'title' => __('MxChat Moderation', 'mxchat'), |
| 474 | 136 | 'description' => __('Keep your chat clean and professional. Block unwanted users, filter inappropriate content, and ensure your chatbot represents your brand properly.', 'mxchat'), |
| 475 | 137 | 'key_benefits' => array( |
| @@ -478,56 +140,26 @@ | ||
| 478 | 140 | __('Spam protection', 'mxchat') |
| 479 | 141 | ), |
| 480 | 142 | 'license' => 'MxChat PRO', |
| 481 | 143 | 'accent' => '#fa73e6', |
| 482 | - 'url' => 'https://mxchat.ai/add-ons/mxchat-moderation/', | |
| 144 | + 'url' => 'https://quickdeploywp.com/plugin/mxchat-moderation/', | |
| 483 | 145 | 'plugin_file' => 'mxchat-moderation/mx-chat-moderation.php', |
| 484 | - 'config_page' => 'mx-chat-moderation', | |
| 485 | - 'hero_features' => array( | |
| 486 | - array( | |
| 487 | - '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>', | |
| 488 | - 'title' => __('Content Filter', 'mxchat'), | |
| 489 | - 'desc' => __('Block inappropriate content', 'mxchat'), | |
| 490 | - ), | |
| 491 | - array( | |
| 492 | - '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>', | |
| 493 | - 'title' => __('User Blocking', 'mxchat'), | |
| 494 | - 'desc' => __('IP & email-based bans', 'mxchat'), | |
| 495 | - ), | |
| 496 | - array( | |
| 497 | - '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>', | |
| 498 | - 'title' => __('Spam Protection', 'mxchat'), | |
| 499 | - 'desc' => __('Detect and prevent spam', 'mxchat'), | |
| 500 | - ), | |
| 501 | - array( | |
| 502 | - '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>', | |
| 503 | - 'title' => __('Brand Safety', 'mxchat'), | |
| 504 | - 'desc' => __('Keep chat professional', 'mxchat'), | |
| 505 | - ), | |
| 506 | - ), | |
| 146 | + 'config_page' => 'mx-chat-moderation' | |
| 507 | 147 | ), |
| 508 | - | |
| 509 | 148 | ); |
| 510 | 149 | } |
| 511 | 150 | |
| 512 | 151 | /** |
| 513 | - * Get the addons configuration array | |
| 514 | - * | |
| 515 | - * @return array The addons configuration | |
| 516 | - */ | |
| 517 | - public function get_addons_config() { | |
| 518 | - return $this->addons_config; | |
| 519 | - } | |
| 520 | - | |
| 521 | - /** | |
| 522 | 152 | * Register the stylesheets for the admin area. |
| 523 | 153 | */ |
| 524 | 154 | public function enqueue_styles() { |
| 155 | + $plugin_version = '2.2.1'; | |
| 156 | + | |
| 525 | 157 | wp_enqueue_style( |
| 526 | 158 | 'mxchat-addons', |
| 527 | 159 | plugin_dir_url(__FILE__) . '../css/admin-add-ons.css', |
| 528 | 160 | array(), |
| 529 | - MXCHAT_VERSION, | |
| 161 | + $plugin_version, | |
| 530 | 162 | 'all' |
| 531 | 163 | ); |
| 532 | 164 | } |
| 533 | 165 | |
| @@ -584,100 +216,112 @@ | ||
| 584 | 216 | * Render the Add Ons page content. |
| 585 | 217 | */ |
| 586 | 218 | public function render_page() { |
| 587 | 219 | $this->enqueue_styles(); |
| 588 | - // Remove the sorting logic and just use the original order | |
| 589 | - $sorted_addons = $this->addons_config; | |
| 220 | + $sorted_addons = array(); | |
| 590 | 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 | + | |
| 591 | 235 | ?> |
| 592 | 236 | <div class="wrap mxchat-addons-wrapper"> |
| 593 | - <div class="mxchat-addons-hero"> | |
| 594 | - <h1 class="mxchat-main-title"> | |
| 595 | - <span class="mxchat-gradient-text">Power Up</span> Your Chatbot | |
| 596 | - </h1> | |
| 597 | - <p class="mxchat-hero-subtitle"> | |
| 598 | - <?php esc_html_e('Extend MxChat with these powerful extensions and unlock advanced features.', 'mxchat'); ?> | |
| 599 | - </p> | |
| 237 | + <div class="mxchat-addons-hero"> | |
| 238 | + <h1 class="mxchat-main-title"> | |
| 239 | + <span class="mxchat-gradient-text">Power Up</span> Your Chatbot | |
| 240 | + </h1> | |
| 241 | + <p class="mxchat-hero-subtitle"> | |
| 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'); ?> | |
| 243 | + </p> | |
| 244 | + </div> | |
| 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; ?> | |
| 600 | 251 | </div> |
| 601 | - | |
| 602 | - <div class="mxchat-addons-section"> | |
| 603 | - <div class="mxchat-addons-grid"> | |
| 604 | - <?php foreach ($sorted_addons as $slug => $addon): ?> | |
| 605 | - <?php $this->render_addon_card($slug, $addon); ?> | |
| 606 | - <?php endforeach; ?> | |
| 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> | |
| 259 | + </div> | |
| 260 | + <?php | |
| 261 | + } | |
| 262 | + | |
| 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); ?> | |
| 607 | 295 | </div> |
| 608 | - </div> | |
| 609 | - | |
| 610 | - <div class="mxchat-cta-section"> | |
| 611 | - <h2><?php esc_html_e('Ready to take your chatbot to the next level?', 'mxchat'); ?></h2> | |
| 612 | - <p><?php esc_html_e('Get MxChat PRO today and access all premium extensions at one low price.', 'mxchat'); ?></p> | |
| 613 | - <a href="https://mxchat.ai/" class="mxchat-cta-button" target="_blank"><?php esc_html_e('Learn More', 'mxchat'); ?></a> | |
| 614 | - </div> | |
| 296 | + <?php endforeach; ?> | |
| 615 | 297 | </div> |
| 616 | - <?php | |
| 617 | - } | |
| 618 | - | |
| 619 | - /** | |
| 620 | - * Render individual add-on card | |
| 621 | - * | |
| 622 | - * @param string $slug The addon slug | |
| 623 | - * @param array $addon The addon configuration array | |
| 624 | - */ | |
| 625 | - private function render_addon_card($slug, $addon) { | |
| 626 | - $status_info = $this->get_addon_status($addon['plugin_file']); | |
| 627 | - $button_url = $status_info['status'] === 'not-installed' ? $addon['url'] : $status_info['action_url']; | |
| 628 | - $button_target = $status_info['status'] === 'not-installed' ? '_blank' : '_self'; | |
| 629 | - | |
| 630 | - // Check if addon is deprecated | |
| 631 | - $is_deprecated = isset($addon['status']) && $addon['status'] === 'deprecated'; | |
| 632 | - ?> | |
| 633 | - <div class="mxchat-addon-card <?php echo $is_deprecated ? 'deprecated' : ''; ?>" style="--card-accent: <?php echo esc_attr($addon['accent']); ?>"> | |
| 634 | - <div class="mxchat-addon-badge"> | |
| 298 | + <?php endif; ?> | |
| 299 | + | |
| 300 | + <div class="mxchat-addon-footer"> | |
| 635 | 301 | <?php if ($is_deprecated): ?> |
| 636 | - <?php esc_html_e('Deprecated', 'mxchat'); ?> | |
| 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> | |
| 637 | 310 | <?php else: ?> |
| 638 | - <?php echo esc_html(ucfirst($addon['license'])); ?> | |
| 311 | + <div class="mxchat-status-indicator <?php echo esc_attr($status_info['status']); ?>"> | |
| 312 | + <?php echo esc_html(ucfirst(str_replace('-', ' ', $status_info['status']))); ?> | |
| 313 | + </div> | |
| 314 | + <a href="<?php echo esc_url($button_url); ?>" | |
| 315 | + class="mxchat-action-button" | |
| 316 | + target="<?php echo esc_attr($button_target); ?>" | |
| 317 | + data-action="<?php echo esc_attr($status_info['status']); ?>"> | |
| 318 | + <?php echo esc_html($status_info['action_text']); ?> | |
| 319 | + </a> | |
| 639 | 320 | <?php endif; ?> |
| 640 | 321 | </div> |
| 641 | - <div class="mxchat-addon-content"> | |
| 642 | - <h3 class="mxchat-addon-title"><?php echo esc_html($addon['title']); ?></h3> | |
| 643 | - <p class="mxchat-addon-description"><?php echo esc_html($addon['description']); ?></p> | |
| 644 | - | |
| 645 | - <?php if (!empty($addon['key_benefits'])): ?> | |
| 646 | - <div class="mxchat-benefits-list"> | |
| 647 | - <?php foreach ($addon['key_benefits'] as $benefit): ?> | |
| 648 | - <div class="mxchat-benefit-item"> | |
| 649 | - <span class="mxchat-benefit-icon">✓</span> | |
| 650 | - <?php echo esc_html($benefit); ?> | |
| 651 | - </div> | |
| 652 | - <?php endforeach; ?> | |
| 653 | - </div> | |
| 654 | - <?php endif; ?> | |
| 655 | - | |
| 656 | - <div class="mxchat-addon-footer"> | |
| 657 | - <?php if ($is_deprecated): ?> | |
| 658 | - <div class="mxchat-status-indicator deprecated"> | |
| 659 | - <?php esc_html_e('Now Built-in', 'mxchat'); ?> | |
| 660 | - </div> | |
| 661 | - <a href="<?php echo esc_url(admin_url('admin.php?page=mxchat-prompts')); ?>" | |
| 662 | - class="mxchat-action-button deprecated" | |
| 663 | - target="_self"> | |
| 664 | - <?php esc_html_e('Go to Knowledge Tab', 'mxchat'); ?> | |
| 665 | - </a> | |
| 666 | - <?php else: ?> | |
| 667 | - <div class="mxchat-status-indicator <?php echo esc_attr($status_info['status']); ?>"> | |
| 668 | - <?php echo esc_html(ucfirst(str_replace('-', ' ', $status_info['status']))); ?> | |
| 669 | - </div> | |
| 670 | - <a href="<?php echo esc_url($button_url); ?>" | |
| 671 | - class="mxchat-action-button" | |
| 672 | - target="<?php echo esc_attr($button_target); ?>" | |
| 673 | - data-action="<?php echo esc_attr($status_info['status']); ?>"> | |
| 674 | - <?php echo esc_html($status_info['action_text']); ?> | |
| 675 | - </a> | |
| 676 | - <?php endif; ?> | |
| 677 | - </div> | |
| 678 | - </div> | |
| 679 | 322 | </div> |
| 680 | - <?php | |
| 681 | - } | |
| 323 | + </div> | |
| 324 | + <?php | |
| 325 | +} | |
| 682 | 326 | |
| 683 | 327 | } |