PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 3.1.5
MxChat – AI Chatbot & Content Generation for WordPress v3.1.5
3.2.21 3.2.20 3.2.19 3.2.18 3.2.17 3.2.16 3.2.15 3.2.14 3.2.12 3.2.13 3.2.11 3.2.10 3.2.9 3.2.8 3.2.7 3.2.6 3.2.5 3.2.4 3.2.3 3.2.2 3.2.1 2.0.3 2.0.4 2.0.5 2.0.6 All 152 releases
← All changes | includes/admin-content-page.php +2 -64 3.2.103.1.5 View file →
@@ -515,9 +515,8 @@
515 515 <?php
516 516 $content_model = $options['content_model'] ?? ($options['model'] ?? 'gpt-5.1-chat-latest');
517 517 $models = array(
518 518 'OpenAI' => array(
519 - 'gpt-5.5' => 'GPT-5.5',
520 519 'gpt-5.4' => 'GPT-5.4',
521 520 'gpt-5.2' => 'GPT-5.2',
522 521 'gpt-5.1-chat-latest' => 'GPT-5.1',
523 522 'gpt-5' => 'GPT-5',
@@ -522,24 +521,15 @@
522 521 'gpt-5.1-chat-latest' => 'GPT-5.1',
523 522 'gpt-5' => 'GPT-5',
524 523 ),
525 524 'Anthropic' => array(
526 - 'claude-fable-5' => 'Claude Fable 5',
527 - 'claude-opus-4-8' => 'Claude Opus 4.8',
528 - 'claude-opus-4-7' => 'Claude Opus 4.7',
529 525 'claude-opus-4-6' => 'Claude Opus 4.6',
530 526 'claude-sonnet-4-6' => 'Claude Sonnet 4.6',
531 527 'claude-haiku-4-5-20251001' => 'Claude Haiku 4.5',
532 528 ),
533 529 'Google' => array(
534 - 'gemini-3.5-flash' => 'Gemini 3.5 Flash',
535 - 'gemini-3.1-pro-preview' => 'Gemini 3.1 Pro',
536 - 'gemini-3-flash-preview' => 'Gemini 3 Flash',
537 - 'gemini-3.1-flash-lite' => 'Gemini 3.1 Flash-Lite',
538 - 'gemini-3.1-flash-lite-preview' => 'Gemini 3.1 Flash-Lite (Preview)',
539 - 'gemini-2.5-pro' => 'Gemini 2.5 Pro',
540 - 'gemini-2.5-flash' => 'Gemini 2.5 Flash',
541 - 'gemini-2.5-flash-lite' => 'Gemini 2.5 Flash-Lite',
530 + 'gemini-3-pro-preview' => 'Gemini 3 Pro',
531 + 'gemini-2.5-pro' => 'Gemini 2.5 Pro',
542 532 ),
543 533 'xAI' => array(
544 534 'grok-4-0709' => 'Grok 4',
545 535 'grok-4-1-fast-non-reasoning' => 'Grok 4.1 Fast',
@@ -566,9 +556,8 @@
566 556 <div class="mxch-field-control">
567 557 <?php $image_model = $options['content_image_model'] ?? 'gpt-image-1.5'; ?>
568 558 <select id="mxch-image-model" data-field="content_image_model" class="mxch-cg-select">
569 559 <optgroup label="<?php esc_attr_e('OpenAI', 'mxchat'); ?>">
570 - <option value="gpt-image-2" <?php selected($image_model, 'gpt-image-2'); ?>><?php esc_html_e('GPT Image 2 (Latest)', 'mxchat'); ?></option>
571 560 <option value="gpt-image-1.5" <?php selected($image_model, 'gpt-image-1.5'); ?>><?php esc_html_e('GPT Image 1.5', 'mxchat'); ?></option>
572 561 </optgroup>
573 562 <optgroup label="<?php esc_attr_e('xAI', 'mxchat'); ?>">
574 563 <option value="grok-imagine-image-pro" <?php selected($image_model, 'grok-imagine-image-pro'); ?>><?php esc_html_e('Grok Imagine Pro', 'mxchat'); ?></option>
@@ -582,32 +571,8 @@
582 571 </div>
583 572 <p class="mxch-field-description"><?php esc_html_e('Select the AI model used for generating images within your content.', 'mxchat'); ?></p>
584 573 </div>
585 574
586 - <!-- Image Quality (GPT Image only) -->
587 - <div class="mxch-field">
588 - <label class="mxch-field-label" for="mxch-image-quality"><?php esc_html_e('Image Quality', 'mxchat'); ?></label>
589 - <div class="mxch-field-control">
590 - <?php $image_quality = $options['content_image_quality'] ?? 'auto'; ?>
591 - <?php $quality_supported = (strpos($image_model, 'gpt-image') === 0); ?>
592 - <select id="mxch-image-quality" data-field="content_image_quality" class="mxch-cg-select"<?php echo $quality_supported ? '' : ' disabled'; ?>>
593 - <option value="auto" <?php selected($image_quality, 'auto'); ?>><?php esc_html_e('Auto (default)', 'mxchat'); ?></option>
594 - <option value="low" <?php selected($image_quality, 'low'); ?>><?php esc_html_e('Low (fastest, cheapest)', 'mxchat'); ?></option>
595 - <option value="medium" <?php selected($image_quality, 'medium'); ?>><?php esc_html_e('Medium', 'mxchat'); ?></option>
596 - <option value="high" <?php selected($image_quality, 'high'); ?>><?php esc_html_e('High (best, slowest)', 'mxchat'); ?></option>
597 - </select>
598 - </div>
599 - <p class="mxch-field-description"><?php esc_html_e('Quality control for OpenAI GPT Image models only. Grok Imagine and Gemini image models ignore this setting (their APIs do not expose an equivalent parameter).', 'mxchat'); ?></p>
600 - </div>
601 - <script>(function(){
602 - var m = document.getElementById('mxch-image-model');
603 - var q = document.getElementById('mxch-image-quality');
604 - if (!m || !q || q._wired) { return; } q._wired = true;
605 - function sync(){ q.disabled = (m.value || '').indexOf('gpt-image') !== 0; }
606 - m.addEventListener('change', sync);
607 - sync();
608 - })();</script>
609 -
610 575 <!-- Enable Image Generation -->
611 576 <div class="mxch-field">
612 577 <label class="mxch-toggle">
613 578 <?php $enable_images = $options['content_enable_images'] ?? 'on'; ?>
@@ -616,35 +581,8 @@
616 581 <span class="mxch-toggle-label"><?php esc_html_e('Enable Image Generation', 'mxchat'); ?></span>
617 582 </label>
618 583 <p class="mxch-field-description"><?php esc_html_e('When enabled, AI will generate and place images throughout your content. When disabled, pages are generated with text-only layouts.', 'mxchat'); ?></p>
619 584 </div>
620 -
621 - <!-- Images per Article -->
622 - <div class="mxch-field">
623 - <label class="mxch-field-label" for="mxch-image-count"><?php esc_html_e('Images per Article', 'mxchat'); ?></label>
624 - <div class="mxch-field-control">
625 - <?php $image_count = max(1, min(5, (int) ($options['content_image_count'] ?? 3))); ?>
626 - <?php $images_on = ($options['content_enable_images'] ?? 'on') === 'on'; ?>
627 - <div class="mxch-cg-slider-row">
628 - <input type="range" min="1" max="5" step="1" value="<?php echo esc_attr($image_count); ?>"
629 - data-field="content_image_count" id="mxch-image-count" class="mxch-cg-slider"<?php echo $images_on ? '' : ' disabled'; ?>>
630 - <span id="mxch-image-count-val" class="mxch-cg-slider-value"><?php echo esc_html($image_count); ?></span>
631 - </div>
632 - </div>
633 - <p class="mxch-field-description"><?php esc_html_e('How many images to generate and place in each article (1–5). Default 3. The AI may generate fewer if the article has few sections suited to imagery.', 'mxchat'); ?></p>
634 - </div>
635 - <script>(function(){
636 - var s = document.getElementById('mxch-image-count');
637 - var v = document.getElementById('mxch-image-count-val');
638 - if (!s || !v || s._wired) { return; } s._wired = true;
639 - s.addEventListener('input', function(){ v.textContent = s.value; });
640 - var e = document.querySelector('[data-field="content_enable_images"]');
641 - if (e) {
642 - var syncCount = function(){ s.disabled = !e.checked; };
643 - e.addEventListener('change', syncCount);
644 - syncCount();
645 - }
646 - })();</script>
647 585
648 586 <!-- Internal Linking (Pro) -->
649 587 <div class="mxch-field mxch-cg-pro-field<?php echo $pro_internal_linking ? '' : ' mxch-cg-pro-locked'; ?>">
650 588 <label class="mxch-toggle">