WordPress.org

Make WordPress Core

Ticket #7552: delete-spam-time-check.patch

File delete-spam-time-check.patch, 1.3 KB (added by Viper007Bond, 6 years ago)

Don't delete spams created after page load but before "Delete All" button press

  • wp-admin/edit-comments.php

     
    1414wp_enqueue_script( 'admin-forms' ); 
    1515wp_enqueue_script( 'jquery-table-hotkeys' ); 
    1616 
    17 if ( isset( $_POST['delete_all_spam'] ) || isset( $_POST['delete_all_spam2'] ) ) { 
     17if ( ( isset( $_POST['delete_all_spam'] ) || isset( $_POST['delete_all_spam2'] ) ) && !empty( $_POST['pagegen_timestamp'] ) ) { 
    1818        check_admin_referer('bulk-spam-delete'); 
    1919 
    20         $deleted_spam = $wpdb->query( "DELETE FROM $wpdb->comments WHERE comment_approved = 'spam'" ); 
     20        $formtime = (int) $_POST['pagegen_timestamp']; 
     21 
     22        $deleted_spam = $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->comments WHERE comment_approved = 'spam' AND comment_date_gmt < FROM_UNIXTIME(%d)", $formtime ) ); 
    2123        wp_redirect('edit-comments.php?deleted=' . (int) $deleted_spam); 
    2224} 
    2325 
     
    208210<form id="comments-form" action="" method="post"> 
    209211<input type="hidden" name="mode" value="<?php echo $mode; ?>" /> 
    210212<input type="hidden" name="comment_status" value="<?php echo $comment_status; ?>" /> 
     213<input type="hidden" name="pagegen_timestamp" value="<?php echo current_time( 'timestamp', TRUE ); ?>" /> 
    211214 
    212215<div class="tablenav"> 
    213216