Uname: Linux webm005.cluster107.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
User: 6036 (villadal)
Group: 100 (users)
Disabled functions: NONE
Safe mode: On[ PHPinfo ]
//home/villadal/www/old/////wp-content/plugins/akismet///      ( Reset | Go to )
File Name: class.akismet-cli.php
Edit
<?php

WP_CLI
::add_command'akismet''Akismet_CLI' );

/**
 * Filter spam comments.
 */
class Akismet_CLI extends WP_CLI_Command {
    
/**
     * Checks one or more comments against the Akismet API.
     *
     * ## OPTIONS
     * <comment_id>...
     * : The ID(s) of the comment(s) to check.
     *
     * [--noaction]
     * : Don't change the status of the comment. Just report what Akismet thinks it is.
     *
     * ## EXAMPLES
     *
     *     wp akismet check 12345
     *
     * @alias comment-check
     */
    
public function check$args$assoc_args ) {
        foreach ( 
$args as $comment_id ) {
            if ( isset( 
$assoc_args['noaction'] ) ) {
                
// Check the comment, but don't reclassify it.
                
$api_response Akismet::check_db_comment$comment_id'wp-cli' );
            }
            else {
                
$api_response Akismet::recheck_comment$comment_id'wp-cli' );
            }
            
            if ( 
'true' === $api_response ) {
                
WP_CLI::linesprintf__"Comment #%d is spam."'akismet' ), $comment_id ) );
            }
            else if ( 
'false' === $api_response ) {
                
WP_CLI::linesprintf__"Comment #%d is not spam."'akismet' ), $comment_id ) );
            }
            else {
                if ( 
false === $api_response ) {
                    
WP_CLI::error__"Failed to connect to Akismet."'akismet' ) );
                }
                else if ( 
is_wp_error$api_response ) ) {
                    
WP_CLI::warningsprintf__"Comment #%d could not be checked."'akismet' ), $comment_id ) );
                }
            }
        }
    }
    
    
/**
     * Recheck all comments in the Pending queue.
     *
     * ## EXAMPLES
     *
     *     wp akismet recheck_queue
     *
     * @alias recheck-queue
     */
    
public function recheck_queue() {
        
$batch_size 100;
        
$start 0;
        
        
$total_counts = array();
        
        do {
            
$result_counts Akismet_Admin::recheck_queue_portion$start$batch_size );
            
            if ( 
$result_counts['processed'] > ) {
                foreach ( 
$result_counts as $key => $count ) {
                    if ( ! isset( 
$total_counts$key ] ) ) {
                        
$total_counts$key ] = $count;
                    }
                    else {
                        
$total_counts$key ] += $count;
                    }
                }
                
$start += $batch_size;
                
$start -= $result_counts['spam']; // These comments will have been removed from the queue.
            
}
        } while ( 
$result_counts['processed'] > );
        
        
WP_CLI::linesprintf_n"Processed %d comment.""Processed %d comments."$total_counts['processed'], 'akismet' ), number_format$total_counts['processed'] ) ) );
        
WP_CLI::linesprintf_n"%d comment moved to Spam.""%d comments moved to Spam."$total_counts['spam'], 'akismet' ), number_format$total_counts['spam'] ) ) );
        
        if ( 
$total_counts['error'] ) {
            
WP_CLI::linesprintf_n"%d comment could not be checked.""%d comments could not be checked."$total_counts['error'], 'akismet' ), number_format$total_counts['error'] ) ) );
        }
    }
    
    
/**
     * Fetches stats from the Akismet API.
     *
     * ## OPTIONS
     *
     * [<interval>]
     * : The time period for which to retrieve stats.
     * ---
     * default: all
     * options:
     *  - days
     *  - months
     *  - all
     * ---
     *
     * [--format=<format>]
     * : Allows overriding the output of the command when listing connections.
     * ---
     * default: table
     * options:
     *  - table
     *  - json
     *  - csv
     *  - yaml
     *  - count
     * ---
     *
     * [--summary]
     * : When set, will display a summary of the stats.
     *
     * ## EXAMPLES
     *
     * wp akismet stats
     * wp akismet stats all
     * wp akismet stats days
     * wp akismet stats months
     * wp akismet stats all --summary
     */
    
public function stats$args$assoc_args ) {
        
$api_key Akismet::get_api_key();
 
        if ( empty( 
$api_key ) ) {
            
WP_CLI::error__'API key must be set to fetch stats.''akismet' ) );
        }
 
        switch ( 
$args[0] ) {
            case 
'days':
                
$interval '60-days';
                break;
            case 
'months':
                
$interval '6-months';
                break;
            default:
                
$interval 'all';
                break;
        }
 
        
$response Akismet::http_post(
            
Akismet::build_query( array(
                
'blog' => get_option'home' ),
                
'key'  => $api_key,
                
'from' => $interval,
            ) ),
            
'get-stats'
        
);
 
        if ( empty( 
$response[1] ) ) {
            
WP_CLI::error__'Currently unable to fetch stats. Please try again.''akismet' ) );
        }
 
        
$response_body json_decode$response[1], true );
        
        if ( 
is_null$response_body ) ) {
            
WP_CLI::error__'Stats response could not be decoded.''akismet' ) );
        }
 
        if ( isset( 
$assoc_args['summary'] ) ) {
            
$keys = array(
                
'spam',
                
'ham',
                
'missed_spam',
                
'false_positives',
                
'accuracy',
                
'time_saved',
            );
 
            
WP_CLI\Utils\format_items$assoc_args['format'], array( $response_body ), $keys );
        }
        else {
            
$stats $response_body['breakdown'];
            
WP_CLI\Utils\format_items$assoc_args['format'], $statsarray_keysend$stats ) ) );
        }
    }
}

All system for education purposes only. For more tools: Telegram @jackleet

Mr.X Private Shell

Logo
-
New File | New Folder
Command
SQL