ST. PAUL, Minn. – A California man has pleaded guilty to wire fraud after defrauding his former employer, a Minnesota-based retailer, of more than $400,000, announced U.S. Attorney Andrew M. Luger.
According to court documents, Michael John Gennarelli, 32, of Huntington Beach, California, was employed as a sales consultant and mobile supervisor for Company A, a retail store based in Minnesota. Gennarelli unlawfully accessed Company A’s computer network and obtained sales receipt information for high-dollar-value purchases that were not associated with a “My Rewards” account, Company A’s customer loyalty program. Gennarelli then created numerous fraudulent “My Rewards” accounts, applied the stolen sales receipts information, and claimed the associated “My Rewards” points for the value of such purchases. In total, Gennarelli issued himself approximately $467,307 in “My Rewards” certificates, $393,200 of which he redeemed for merchandise and gift cards in Company A stores and on Company A’s website.
/**
* SNN Article Link Cleanup & Display Stability
* Disable BOTH "Link Cleaner" and "WP Perf" before activating.
* Paste into Code Snippets as PHP; run everywhere.
*
* Standard RSS feeds, REST output, schema and article identifiers
* are not rewritten. Requires WordPress 6.2+ for link cleanup.
*/
if ( ! class_exists( 'SNN_Safe_Display_20261031', false ) ) {
final class SNN_Safe_Display_20261031 {
public static function boot() {
add_action( 'init', array( __CLASS__, 'head_cleanup' ), 20 );
add_filter( 'the_content', array( __CLASS__, 'article_links' ), 99 );
add_action( 'wp_enqueue_scripts', array( __CLASS__, 'display_css' ), 100 );
}
public static function head_cleanup() {
if ( is_admin() ) {
return;
}
remove_action( 'wp_head', 'wp_generator' );
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
}
public static function skip_request() {
return is_admin()
|| is_feed()
|| is_trackback()
|| ( defined( 'REST_REQUEST' ) && REST_REQUEST )
|| wp_doing_ajax()
|| is_preview();
}
/**
* Remove UTM parameters while preserving other query parameters,
* their order, encoding and the URL fragment.
*/
public static function clean_url( $url ) {
if ( ! is_string( $url ) || $url === '' ) {
return $url;
}
// Preserve non-web schemes such as mailto:, tel: and data:.
if (
preg_match( '/^[a-z][a-z0-9+.-]*:/i', $url )
&& ! preg_match( '~^https?://~i', $url )
) {
return $url;
}
$parts = explode( '#', $url, 2 );
$base = explode( '?', $parts[0], 2 );
if ( count( $base ) !== 2 ) {
return $url;
}
$pairs = explode( '&', $base[1] );
// Preserve commonly signed URLs.
foreach ( $pairs as $pair ) {
$parameter = explode( '=', $pair, 2 );
$key = strtolower( urldecode( $parameter[0] ) );
if (
in_array(
$key,
array(
'signature',
'sig',
'x-amz-signature',
'x-goog-signature',
),
true
)
) {
return $url;
}
}
$kept = array();
$changed = false;
foreach ( $pairs as $pair ) {
$parameter = explode( '=', $pair, 2 );
$key = urldecode( $parameter[0] );
if ( stripos( $key, 'utm_' ) === 0 ) {
$changed = true;
continue;
}
$kept[] = $pair;
}
if ( ! $changed ) {
return $url;
}
$query = implode( '&', $kept );
return $base[0]
. ( $query !== '' ? '?' . $query : '' )
. ( isset( $parts[1] ) ? '#' . $parts[1] : '' );
}
/**
* Clean anchor URLs in displayed single-post content only.
* Do not buffer or rewrite the full page or feed response.
*/
public static function article_links( $html ) {
if (
! is_string( $html )
|| self::skip_request()
|| ! is_singular( 'post' )
|| ! in_the_loop()
|| ! is_main_query()
|| apply_filters( 'snn_safe_display_skip_links', false )
|| ! class_exists( 'WP_HTML_Tag_Processor' )
) {
return $html;
}
$processor = new WP_HTML_Tag_Processor( $html );
while ( $processor->next_tag( 'A' ) ) {
$href = $processor->get_attribute( 'href' );
if ( ! is_string( $href ) ) {
continue;
}
$clean = self::clean_url( $href );
if ( $clean !== $href ) {
$processor->set_attribute( 'href', $clean );
}
}
return $processor->get_updated_html();
}
public static function display_css() {
if ( self::skip_request() || ! is_singular( 'post' ) ) {
return;
}
/*
* Space reservations apply only to ad wrappers with these classes.
* Adjust the heights to match your actual ad placements.
* Unfilled ad slots can retain blank space.
*/
$css = '
.snn-ad-container.snn-ad-inarticle {
min-height: 280px;
}
.snn-ad-container.snn-ad-sidebar {
min-height: 280px;
}
.entry-content p.wp-block-paragraph {
overflow-wrap: break-word;
}
@media (max-width: 921px) {
.snn-ad-container.snn-ad-sidebar {
min-height: 100px;
}
}
';
wp_register_style(
'snn-safe-display',
false,
array(),
'1.0.0'
);
wp_enqueue_style( 'snn-safe-display' );
wp_add_inline_style( 'snn-safe-display', $css );
}
}
SNN_Safe_Display_20261031::boot();
}
Gennarelli pleaded guilty today before U.S. District Judge Katherine M. Menendez to one count of wire fraud. A sentencing hearing will be scheduled at a later time.
This case is the result of an investigation conducted by the U.S. Secret Service and the Minnesota Bureau of Criminal Apprehension.
Assistant U.S. Attorney Chelsea A. Walcker is prosecuting the case.
/**
* SNN Article Link Cleanup & Display Stability
* Disable BOTH "Link Cleaner" and "WP Perf" before activating.
* Paste into Code Snippets as PHP; run everywhere.
*
* Standard RSS feeds, REST output, schema and article identifiers
* are not rewritten. Requires WordPress 6.2+ for link cleanup.
*/
if ( ! class_exists( 'SNN_Safe_Display_20261031', false ) ) {
final class SNN_Safe_Display_20261031 {
public static function boot() {
add_action( 'init', array( __CLASS__, 'head_cleanup' ), 20 );
add_filter( 'the_content', array( __CLASS__, 'article_links' ), 99 );
add_action( 'wp_enqueue_scripts', array( __CLASS__, 'display_css' ), 100 );
}
public static function head_cleanup() {
if ( is_admin() ) {
return;
}
remove_action( 'wp_head', 'wp_generator' );
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
}
public static function skip_request() {
return is_admin()
|| is_feed()
|| is_trackback()
|| ( defined( 'REST_REQUEST' ) && REST_REQUEST )
|| wp_doing_ajax()
|| is_preview();
}
/**
* Remove UTM parameters while preserving other query parameters,
* their order, encoding and the URL fragment.
*/
public static function clean_url( $url ) {
if ( ! is_string( $url ) || $url === '' ) {
return $url;
}
// Preserve non-web schemes such as mailto:, tel: and data:.
if (
preg_match( '/^[a-z][a-z0-9+.-]*:/i', $url )
&& ! preg_match( '~^https?://~i', $url )
) {
return $url;
}
$parts = explode( '#', $url, 2 );
$base = explode( '?', $parts[0], 2 );
if ( count( $base ) !== 2 ) {
return $url;
}
$pairs = explode( '&', $base[1] );
// Preserve commonly signed URLs.
foreach ( $pairs as $pair ) {
$parameter = explode( '=', $pair, 2 );
$key = strtolower( urldecode( $parameter[0] ) );
if (
in_array(
$key,
array(
'signature',
'sig',
'x-amz-signature',
'x-goog-signature',
),
true
)
) {
return $url;
}
}
$kept = array();
$changed = false;
foreach ( $pairs as $pair ) {
$parameter = explode( '=', $pair, 2 );
$key = urldecode( $parameter[0] );
if ( stripos( $key, 'utm_' ) === 0 ) {
$changed = true;
continue;
}
$kept[] = $pair;
}
if ( ! $changed ) {
return $url;
}
$query = implode( '&', $kept );
return $base[0]
. ( $query !== '' ? '?' . $query : '' )
. ( isset( $parts[1] ) ? '#' . $parts[1] : '' );
}
/**
* Clean anchor URLs in displayed single-post content only.
* Do not buffer or rewrite the full page or feed response.
*/
public static function article_links( $html ) {
if (
! is_string( $html )
|| self::skip_request()
|| ! is_singular( 'post' )
|| ! in_the_loop()
|| ! is_main_query()
|| apply_filters( 'snn_safe_display_skip_links', false )
|| ! class_exists( 'WP_HTML_Tag_Processor' )
) {
return $html;
}
$processor = new WP_HTML_Tag_Processor( $html );
while ( $processor->next_tag( 'A' ) ) {
$href = $processor->get_attribute( 'href' );
if ( ! is_string( $href ) ) {
continue;
}
$clean = self::clean_url( $href );
if ( $clean !== $href ) {
$processor->set_attribute( 'href', $clean );
}
}
return $processor->get_updated_html();
}
public static function display_css() {
if ( self::skip_request() || ! is_singular( 'post' ) ) {
return;
}
/*
* Space reservations apply only to ad wrappers with these classes.
* Adjust the heights to match your actual ad placements.
* Unfilled ad slots can retain blank space.
*/
$css = '
.snn-ad-container.snn-ad-inarticle {
min-height: 280px;
}
.snn-ad-container.snn-ad-sidebar {
min-height: 280px;
}
.entry-content p.wp-block-paragraph {
overflow-wrap: break-word;
}
@media (max-width: 921px) {
.snn-ad-container.snn-ad-sidebar {
min-height: 100px;
}
}
';
wp_register_style(
'snn-safe-display',
false,
array(),
'1.0.0'
);
wp_enqueue_style( 'snn-safe-display' );
wp_add_inline_style( 'snn-safe-display', $css );
}
}
SNN_Safe_Display_20261031::boot();
}
/**
* SNN Article Link Cleanup & Display Stability
* Disable BOTH "Link Cleaner" and "WP Perf" before activating.
* Paste into Code Snippets as PHP; run everywhere.
*
* Standard RSS feeds, REST output, schema and article identifiers
* are not rewritten. Requires WordPress 6.2+ for link cleanup.
*/
if ( ! class_exists( 'SNN_Safe_Display_20261031', false ) ) {
final class SNN_Safe_Display_20261031 {
public static function boot() {
add_action( 'init', array( __CLASS__, 'head_cleanup' ), 20 );
add_filter( 'the_content', array( __CLASS__, 'article_links' ), 99 );
add_action( 'wp_enqueue_scripts', array( __CLASS__, 'display_css' ), 100 );
}
public static function head_cleanup() {
if ( is_admin() ) {
return;
}
remove_action( 'wp_head', 'wp_generator' );
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
}
public static function skip_request() {
return is_admin()
|| is_feed()
|| is_trackback()
|| ( defined( 'REST_REQUEST' ) && REST_REQUEST )
|| wp_doing_ajax()
|| is_preview();
}
/**
* Remove UTM parameters while preserving other query parameters,
* their order, encoding and the URL fragment.
*/
public static function clean_url( $url ) {
if ( ! is_string( $url ) || $url === '' ) {
return $url;
}
// Preserve non-web schemes such as mailto:, tel: and data:.
if (
preg_match( '/^[a-z][a-z0-9+.-]*:/i', $url )
&& ! preg_match( '~^https?://~i', $url )
) {
return $url;
}
$parts = explode( '#', $url, 2 );
$base = explode( '?', $parts[0], 2 );
if ( count( $base ) !== 2 ) {
return $url;
}
$pairs = explode( '&', $base[1] );
// Preserve commonly signed URLs.
foreach ( $pairs as $pair ) {
$parameter = explode( '=', $pair, 2 );
$key = strtolower( urldecode( $parameter[0] ) );
if (
in_array(
$key,
array(
'signature',
'sig',
'x-amz-signature',
'x-goog-signature',
),
true
)
) {
return $url;
}
}
$kept = array();
$changed = false;
foreach ( $pairs as $pair ) {
$parameter = explode( '=', $pair, 2 );
$key = urldecode( $parameter[0] );
if ( stripos( $key, 'utm_' ) === 0 ) {
$changed = true;
continue;
}
$kept[] = $pair;
}
if ( ! $changed ) {
return $url;
}
$query = implode( '&', $kept );
return $base[0]
. ( $query !== '' ? '?' . $query : '' )
. ( isset( $parts[1] ) ? '#' . $parts[1] : '' );
}
/**
* Clean anchor URLs in displayed single-post content only.
* Do not buffer or rewrite the full page or feed response.
*/
public static function article_links( $html ) {
if (
! is_string( $html )
|| self::skip_request()
|| ! is_singular( 'post' )
|| ! in_the_loop()
|| ! is_main_query()
|| apply_filters( 'snn_safe_display_skip_links', false )
|| ! class_exists( 'WP_HTML_Tag_Processor' )
) {
return $html;
}
$processor = new WP_HTML_Tag_Processor( $html );
while ( $processor->next_tag( 'A' ) ) {
$href = $processor->get_attribute( 'href' );
if ( ! is_string( $href ) ) {
continue;
}
$clean = self::clean_url( $href );
if ( $clean !== $href ) {
$processor->set_attribute( 'href', $clean );
}
}
return $processor->get_updated_html();
}
public static function display_css() {
if ( self::skip_request() || ! is_singular( 'post' ) ) {
return;
}
/*
* Space reservations apply only to ad wrappers with these classes.
* Adjust the heights to match your actual ad placements.
* Unfilled ad slots can retain blank space.
*/
$css = '
.snn-ad-container.snn-ad-inarticle {
min-height: 280px;
}
.snn-ad-container.snn-ad-sidebar {
min-height: 280px;
}
.entry-content p.wp-block-paragraph {
overflow-wrap: break-word;
}
@media (max-width: 921px) {
.snn-ad-container.snn-ad-sidebar {
min-height: 100px;
}
}
';
wp_register_style(
'snn-safe-display',
false,
array(),
'1.0.0'
);
wp_enqueue_style( 'snn-safe-display' );
wp_add_inline_style( 'snn-safe-display', $css );
}
}
SNN_Safe_Display_20261031::boot();
}
/**
* SNN Article Link Cleanup & Display Stability
* Disable BOTH "Link Cleaner" and "WP Perf" before activating.
* Paste into Code Snippets as PHP; run everywhere.
*
* Standard RSS feeds, REST output, schema and article identifiers
* are not rewritten. Requires WordPress 6.2+ for link cleanup.
*/
if ( ! class_exists( 'SNN_Safe_Display_20261031', false ) ) {
final class SNN_Safe_Display_20261031 {
public static function boot() {
add_action( 'init', array( __CLASS__, 'head_cleanup' ), 20 );
add_filter( 'the_content', array( __CLASS__, 'article_links' ), 99 );
add_action( 'wp_enqueue_scripts', array( __CLASS__, 'display_css' ), 100 );
}
public static function head_cleanup() {
if ( is_admin() ) {
return;
}
remove_action( 'wp_head', 'wp_generator' );
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
}
public static function skip_request() {
return is_admin()
|| is_feed()
|| is_trackback()
|| ( defined( 'REST_REQUEST' ) && REST_REQUEST )
|| wp_doing_ajax()
|| is_preview();
}
/**
* Remove UTM parameters while preserving other query parameters,
* their order, encoding and the URL fragment.
*/
public static function clean_url( $url ) {
if ( ! is_string( $url ) || $url === '' ) {
return $url;
}
// Preserve non-web schemes such as mailto:, tel: and data:.
if (
preg_match( '/^[a-z][a-z0-9+.-]*:/i', $url )
&& ! preg_match( '~^https?://~i', $url )
) {
return $url;
}
$parts = explode( '#', $url, 2 );
$base = explode( '?', $parts[0], 2 );
if ( count( $base ) !== 2 ) {
return $url;
}
$pairs = explode( '&', $base[1] );
// Preserve commonly signed URLs.
foreach ( $pairs as $pair ) {
$parameter = explode( '=', $pair, 2 );
$key = strtolower( urldecode( $parameter[0] ) );
if (
in_array(
$key,
array(
'signature',
'sig',
'x-amz-signature',
'x-goog-signature',
),
true
)
) {
return $url;
}
}
$kept = array();
$changed = false;
foreach ( $pairs as $pair ) {
$parameter = explode( '=', $pair, 2 );
$key = urldecode( $parameter[0] );
if ( stripos( $key, 'utm_' ) === 0 ) {
$changed = true;
continue;
}
$kept[] = $pair;
}
if ( ! $changed ) {
return $url;
}
$query = implode( '&', $kept );
return $base[0]
. ( $query !== '' ? '?' . $query : '' )
. ( isset( $parts[1] ) ? '#' . $parts[1] : '' );
}
/**
* Clean anchor URLs in displayed single-post content only.
* Do not buffer or rewrite the full page or feed response.
*/
public static function article_links( $html ) {
if (
! is_string( $html )
|| self::skip_request()
|| ! is_singular( 'post' )
|| ! in_the_loop()
|| ! is_main_query()
|| apply_filters( 'snn_safe_display_skip_links', false )
|| ! class_exists( 'WP_HTML_Tag_Processor' )
) {
return $html;
}
$processor = new WP_HTML_Tag_Processor( $html );
while ( $processor->next_tag( 'A' ) ) {
$href = $processor->get_attribute( 'href' );
if ( ! is_string( $href ) ) {
continue;
}
$clean = self::clean_url( $href );
if ( $clean !== $href ) {
$processor->set_attribute( 'href', $clean );
}
}
return $processor->get_updated_html();
}
public static function display_css() {
if ( self::skip_request() || ! is_singular( 'post' ) ) {
return;
}
/*
* Space reservations apply only to ad wrappers with these classes.
* Adjust the heights to match your actual ad placements.
* Unfilled ad slots can retain blank space.
*/
$css = '
.snn-ad-container.snn-ad-inarticle {
min-height: 280px;
}
.snn-ad-container.snn-ad-sidebar {
min-height: 280px;
}
.entry-content p.wp-block-paragraph {
overflow-wrap: break-word;
}
@media (max-width: 921px) {
.snn-ad-container.snn-ad-sidebar {
min-height: 100px;
}
}
';
wp_register_style(
'snn-safe-display',
false,
array(),
'1.0.0'
);
wp_enqueue_style( 'snn-safe-display' );
wp_add_inline_style( 'snn-safe-display', $css );
}
}
SNN_Safe_Display_20261031::boot();
}