Plugin Directory

Changeset 3461511


Ignore:
Timestamp:
02/14/2026 09:17:25 PM (4 days ago)
Author:
aamato
Message:

Release 1.1.7

Location:
spamanvil
Files:
10 edited
1 copied

Legend:

Unmodified
Added
Removed
  • spamanvil/tags/1.1.7/admin/class-spamanvil-admin.php

    r3461505 r3461511  
    485485            'batch_spam' => max( 0, $stats_after['spam_detected'] - $stats_before['spam_detected'] ),
    486486            'batch_ham'  => max( 0, $stats_after['ham_approved'] - $stats_before['ham_approved'] ),
     487            'alltime'    => array(
     488                'ai'        => $this->stats->get_total( 'spam_detected' ),
     489                'heuristic' => $this->stats->get_total( 'heuristic_blocked' ),
     490                'ip'        => $this->stats->get_total( 'ip_blocked' ),
     491            ),
    487492        ) );
    488493    }
  • spamanvil/tags/1.1.7/admin/js/admin.js

    r3461481 r3461511  
    327327                    updateProgress(totalProcessed, totalProcessed + d.remaining);
    328328                    updateQueueCounters(d.queue);
     329                    updateSpamCounters(d.alltime);
    329330
    330331                    if (stopped) {
     
    411412            }
    412413        }
     414
     415        function updateSpamCounters(alltime) {
     416            if (!alltime) { return; }
     417            var total = (alltime.ai || 0) + (alltime.heuristic || 0) + (alltime.ip || 0);
     418
     419            // Update hero banner(s).
     420            $('.spamanvil-hero-number').text(total.toLocaleString());
     421
     422            // Update widget number (WP dashboard).
     423            $('.spamanvil-widget-number').text(total.toLocaleString());
     424        }
    413425    }
    414426
  • spamanvil/tags/1.1.7/admin/views/settings-providers.php

    r3461359 r3461511  
    88
    99settings_errors( 'spamanvil' );
    10 
     10?>
     11<div class="spamanvil-notice" style="margin-bottom: 16px;">
     12    <strong><?php esc_html_e( 'Tip:', 'spamanvil' ); ?></strong>
     13    <?php esc_html_e( 'Set a monthly spending limit on your API key to avoid unexpected charges. SpamAnvil uses very little — typically less than $0.10/month for most sites — but a limit ensures peace of mind. Most providers offer this in their billing settings.', 'spamanvil' ); ?>
     14</div>
     15<?php
    1116$providers        = SpamAnvil_Provider_Factory::get_available_providers();
    1217$primary          = get_option( 'spamanvil_primary_provider', '' );
  • spamanvil/tags/1.1.7/readme.txt

    r3461505 r3461511  
    66Tested up to: 6.9
    77Requires PHP: 7.4
    8 Stable tag: 1.1.6
     8Stable tag: 1.1.7
    99License: GPLv2 or later
    1010License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    211211== Changelog ==
    212212
     213= 1.1.7 =
     214* Enhancement: Spam blocked counter updates in real-time while the queue is being processed
     215* Enhancement: API key spending limit tip on Providers settings tab
     216
    213217= 1.1.6 =
    214218* Feature: Dashboard widget on the main WordPress admin page showing total spam blocked
  • spamanvil/tags/1.1.7/spamanvil.php

    r3461505 r3461511  
    44 * Plugin URI:        https://software.amato.com.br/spamanvil-antispam-plugin-for-wordpress/
    55 * Description:       Blocks comment spam using AI/LLM services with support for multiple providers, async processing, and intelligent heuristics.
    6  * Version:           1.1.6
     6 * Version:           1.1.7
    77 * Requires at least: 5.8
    88 * Requires PHP:      7.4
     
    1919}
    2020
    21 define( 'SPAMANVIL_VERSION', '1.1.6' );
     21define( 'SPAMANVIL_VERSION', '1.1.7' );
    2222define( 'SPAMANVIL_DB_VERSION', '1.0.0' );
    2323define( 'SPAMANVIL_PLUGIN_FILE', __FILE__ );
  • spamanvil/trunk/admin/class-spamanvil-admin.php

    r3461505 r3461511  
    485485            'batch_spam' => max( 0, $stats_after['spam_detected'] - $stats_before['spam_detected'] ),
    486486            'batch_ham'  => max( 0, $stats_after['ham_approved'] - $stats_before['ham_approved'] ),
     487            'alltime'    => array(
     488                'ai'        => $this->stats->get_total( 'spam_detected' ),
     489                'heuristic' => $this->stats->get_total( 'heuristic_blocked' ),
     490                'ip'        => $this->stats->get_total( 'ip_blocked' ),
     491            ),
    487492        ) );
    488493    }
  • spamanvil/trunk/admin/js/admin.js

    r3461481 r3461511  
    327327                    updateProgress(totalProcessed, totalProcessed + d.remaining);
    328328                    updateQueueCounters(d.queue);
     329                    updateSpamCounters(d.alltime);
    329330
    330331                    if (stopped) {
     
    411412            }
    412413        }
     414
     415        function updateSpamCounters(alltime) {
     416            if (!alltime) { return; }
     417            var total = (alltime.ai || 0) + (alltime.heuristic || 0) + (alltime.ip || 0);
     418
     419            // Update hero banner(s).
     420            $('.spamanvil-hero-number').text(total.toLocaleString());
     421
     422            // Update widget number (WP dashboard).
     423            $('.spamanvil-widget-number').text(total.toLocaleString());
     424        }
    413425    }
    414426
  • spamanvil/trunk/admin/views/settings-providers.php

    r3461359 r3461511  
    88
    99settings_errors( 'spamanvil' );
    10 
     10?>
     11<div class="spamanvil-notice" style="margin-bottom: 16px;">
     12    <strong><?php esc_html_e( 'Tip:', 'spamanvil' ); ?></strong>
     13    <?php esc_html_e( 'Set a monthly spending limit on your API key to avoid unexpected charges. SpamAnvil uses very little — typically less than $0.10/month for most sites — but a limit ensures peace of mind. Most providers offer this in their billing settings.', 'spamanvil' ); ?>
     14</div>
     15<?php
    1116$providers        = SpamAnvil_Provider_Factory::get_available_providers();
    1217$primary          = get_option( 'spamanvil_primary_provider', '' );
  • spamanvil/trunk/readme.txt

    r3461505 r3461511  
    66Tested up to: 6.9
    77Requires PHP: 7.4
    8 Stable tag: 1.1.6
     8Stable tag: 1.1.7
    99License: GPLv2 or later
    1010License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    211211== Changelog ==
    212212
     213= 1.1.7 =
     214* Enhancement: Spam blocked counter updates in real-time while the queue is being processed
     215* Enhancement: API key spending limit tip on Providers settings tab
     216
    213217= 1.1.6 =
    214218* Feature: Dashboard widget on the main WordPress admin page showing total spam blocked
  • spamanvil/trunk/spamanvil.php

    r3461505 r3461511  
    44 * Plugin URI:        https://software.amato.com.br/spamanvil-antispam-plugin-for-wordpress/
    55 * Description:       Blocks comment spam using AI/LLM services with support for multiple providers, async processing, and intelligent heuristics.
    6  * Version:           1.1.6
     6 * Version:           1.1.7
    77 * Requires at least: 5.8
    88 * Requires PHP:      7.4
     
    1919}
    2020
    21 define( 'SPAMANVIL_VERSION', '1.1.6' );
     21define( 'SPAMANVIL_VERSION', '1.1.7' );
    2222define( 'SPAMANVIL_DB_VERSION', '1.0.0' );
    2323define( 'SPAMANVIL_PLUGIN_FILE', __FILE__ );
Note: See TracChangeset for help on using the changeset viewer.