PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 3.2.8
MxChat – AI Chatbot & Content Generation for WordPress v3.2.8
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-transcripts-page.php +3 -74 3.2.213.2.8 View file →
@@ -754,14 +754,13 @@
754 754 <th class="mxch-leads-col-lead"><?php esc_html_e('Lead', 'mxchat'); ?></th>
755 755 <th class="mxch-leads-col-count"><?php esc_html_e('Conversations', 'mxchat'); ?></th>
756 756 <th class="mxch-leads-col-last"><?php esc_html_e('Last seen', 'mxchat'); ?></th>
757 757 <th class="mxch-leads-col-page"><?php esc_html_e('Top page', 'mxchat'); ?></th>
758 - <th class="mxch-leads-col-consent"><?php esc_html_e('Consent', 'mxchat'); ?></th>
759 758 <th class="mxch-leads-col-actions"></th>
760 759 </tr>
761 760 </thead>
762 761 <tbody id="mxch-leads-tbody">
763 - <tr><td colspan="7" class="mxch-leads-loading"><span class="spinner is-active"></span></td></tr>
762 + <tr><td colspan="6" class="mxch-leads-loading"><span class="spinner is-active"></span></td></tr>
764 763 </tbody>
765 764 </table>
766 765 </div>
767 766
@@ -833,15 +832,14 @@
833 832 </div>
834 833
835 834 <div class="mxch-field">
836 835 <label class="mxch-field-label"><?php esc_html_e('Notification Email', 'mxchat'); ?></label>
837 - <?php /* type="text", not "email": the browser rejects a comma-separated list outright (plan 2f131a). Validation is server-side in MxChat_Utils. */ ?>
838 - <input type="text"
836 + <input type="email"
839 837 name="mxchat_transcripts_options[mxchat_notification_email]"
840 838 class="mxch-input mxchat-autosave-field"
841 839 value="<?php echo esc_attr($email); ?>"
842 840 data-nonce="<?php echo wp_create_nonce('mxchat_autosave_nonce'); ?>">
843 - <p class="mxch-field-description"><?php printf(esc_html__('Email address where notifications will be sent. Separate up to %d addresses with commas. Defaults to the site admin email.', 'mxchat'), (int) MxChat_Utils::NOTIFICATION_EMAIL_MAX); ?></p>
841 + <p class="mxch-field-description"><?php esc_html_e('Email address where notifications will be sent.', 'mxchat'); ?></p>
844 842 </div>
845 843 </div>
846 844 </div>
847 845
@@ -913,9 +911,8 @@
913 911 </div>
914 912 <div class="mxch-card-body">
915 913 <?php
916 914 $auto_delete = isset($options['mxchat_auto_delete_transcripts']) ? $options['mxchat_auto_delete_transcripts'] : 'never';
917 - $mxch_custom_retention = isset($options['mxchat_retention_days']) ? (int) $options['mxchat_retention_days'] : 0;
918 915 ?>
919 916 <div class="mxch-field">
920 917 <label class="mxch-field-label"><?php esc_html_e('Auto-Delete Old Transcripts', 'mxchat'); ?></label>
921 918 <select name="mxchat_transcripts_options[mxchat_auto_delete_transcripts]"
@@ -926,76 +923,8 @@
926 923 <option value="2weeks" <?php selected($auto_delete, '2weeks'); ?>><?php esc_html_e('After 2 Weeks', 'mxchat'); ?></option>
927 924 <option value="1month" <?php selected($auto_delete, '1month'); ?>><?php esc_html_e('After 1 Month', 'mxchat'); ?></option>
928 925 </select>
929 926 <p class="mxch-field-description"><?php esc_html_e('Automatically delete old chat transcripts to manage database size and privacy.', 'mxchat'); ?></p>
930 - <?php if ($mxch_custom_retention > 0) : ?>
931 - <p class="mxch-field-description" id="mxchat-retention-override-note">
932 - <strong><?php
933 - printf(
934 - /* translators: %d: the custom retention value in days */
935 - esc_html__('Overridden by Custom Retention below: transcripts are deleted after %d days.', 'mxchat'),
936 - $mxch_custom_retention
937 - );
938 - ?></strong>
939 - </p>
940 - <?php endif; ?>
941 - <?php
942 - // Surface the cron's real state next to the setting that
943 - // depends on it (plan-bc08a6): a configured retention whose
944 - // cleanup event is missing was previously invisible.
945 - $mxch_retention_days = isset($options['mxchat_retention_days']) ? (int) $options['mxchat_retention_days'] : 0;
946 - if ($auto_delete !== 'never' || $mxch_retention_days > 0) :
947 - $mxch_next_cleanup = wp_next_scheduled('mxchat_cleanup_old_transcripts');
948 - ?>
949 - <p class="mxch-field-description" id="mxchat-next-cleanup-status">
950 - <?php
951 - if ($mxch_next_cleanup) {
952 - printf(
953 - /* translators: %s: localized date and time of the next scheduled transcript cleanup */
954 - esc_html__('Next cleanup: %s', 'mxchat'),
955 - esc_html(wp_date(get_option('date_format') . ' ' . get_option('time_format'), $mxch_next_cleanup))
956 - );
957 - } else {
958 - esc_html_e('Next cleanup: not currently scheduled.', 'mxchat');
959 - }
960 - ?>
961 - </p>
962 - <?php endif; ?>
963 - </div>
964 -
965 - <div class="mxch-field">
966 - <label class="mxch-field-label" for="mxchat_retention_days"><?php esc_html_e('Custom Retention (Days)', 'mxchat'); ?></label>
967 - <input type="number"
968 - id="mxchat_retention_days"
969 - name="mxchat_transcripts_options[mxchat_retention_days]"
970 - class="mxch-input mxchat-autosave-field"
971 - value="<?php echo esc_attr($mxch_custom_retention); ?>"
972 - min="0"
973 - max="3650"
974 - step="1"
975 - data-nonce="<?php echo wp_create_nonce('mxchat_autosave_nonce'); ?>">
976 - <p class="mxch-field-description"><?php esc_html_e('Delete transcripts older than this many days (1&ndash;3650). When greater than 0 this overrides the dropdown above; set 0 to use the dropdown. Developers can adjust the final value with the mxchat_transcript_retention_days filter.', 'mxchat'); ?></p>
977 - </div>
978 - </div>
979 - </div>
980 -
981 - <!-- Privacy & Data Requests Card (plan b81e42) -->
982 - <div class="mxch-card">
983 - <div class="mxch-card-header">
984 - <h3 class="mxch-card-title">
985 - <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" 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>
986 - <?php esc_html_e('Privacy & Data Requests', 'mxchat'); ?>
987 - </h3>
988 - </div>
989 - <div class="mxch-card-body">
990 - <div class="mxch-field">
991 - <p class="mxch-field-description">
992 - <?php esc_html_e('Chat conversations — including captured emails, names, and visitor identifiers — are registered with WordPress\'s built-in privacy tools. When you run a personal data export or erasure request from the Tools menu, MxChat data is included automatically, so honouring a GDPR or CCPA request covers the chatbot with no extra steps.', 'mxchat'); ?>
993 - </p>
994 - <p>
995 - <a href="<?php echo esc_url(admin_url('export-personal-data.php')); ?>" class="mxch-btn mxch-btn-secondary mxch-btn-sm"><?php esc_html_e('Export Personal Data', 'mxchat'); ?></a>
996 - <a href="<?php echo esc_url(admin_url('erase-personal-data.php')); ?>" class="mxch-btn mxch-btn-secondary mxch-btn-sm"><?php esc_html_e('Erase Personal Data', 'mxchat'); ?></a>
997 - </p>
998 927 </div>
999 928 </div>
1000 929 </div>
1001 930 </div>