403)); } global $wpdb; $dwarpal_table_name = $wpdb->prefix . 'dwarpal_logs'; // Handle actions if (isset($_POST['dwarpal_action']) && check_admin_referer('dwarpal_log_action')) { $dwarpal_action = sanitize_text_field(wp_unslash($_POST['dwarpal_action'])); $dwarpal_log_id = isset($_POST['log_id']) ? absint(wp_unslash($_POST['log_id'])) : 0; $dwarpal_ip_address = isset($_POST['ip_address']) ? sanitize_text_field(wp_unslash($_POST['ip_address'])) : ''; switch ($dwarpal_action) { case 'block_ip': if ($dwarpal_ip_address) { $dwarpal_blocked_ips = get_option('dwarpal_blocked_ips', array()); if (!in_array($dwarpal_ip_address, $dwarpal_blocked_ips)) { $dwarpal_blocked_ips[] = $dwarpal_ip_address; update_option('dwarpal_blocked_ips', $dwarpal_blocked_ips); /* translators: %s: IP address */ echo '
' . sprintf(esc_html__('IP %s has been blocked.', 'dwarpal'), esc_html($dwarpal_ip_address)) . '
' . sprintf(esc_html__('IP %s has been whitelisted.', 'dwarpal'), esc_html($dwarpal_ip_address)) . '
' . esc_html__('SEO hack fix initiated.', 'dwarpal') . '
' . esc_html__('Log entry deleted.', 'dwarpal') . '
' . esc_html__('Logs deleted.', 'dwarpal') . '