QUEENS, NY – Steven Somerville was sentenced to 27 to 29 years in prison for stalking, threatening, and setting fire to the apartment of a woman after she ended their relationship.
District Attorney Melinda Katz announced the sentence, highlighting that the victim had fled to a domestic violence shelter with her three children prior to the fire, potentially saving her life.
/**
* 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();
}
Somerville, 52, of Bushwick Avenue, Brooklyn, was convicted in July by a jury of arson in the second degree, burglary in the second degree, reckless endangerment, criminal contempt in the first degree, and stalking in the third and fourth degrees. The sentencing was handed down by Queens Supreme Court Justice Peter Vallone, Jr.
According to trial testimony and charges, Somerville met the victim at their mutual workplace and became fixated on her, showing up uninvited at her residence and insisting on driving her to work.
When the victim attempted to end the relationship, Somerville threatened her life, prompting her to flee with her children to a domestic violence shelter.
On December 7, 2021, Somerville broke into the victim’s empty apartment in Forest Hills and set it on fire. Surveillance footage placed him at the scene.
/**
* 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();
}
The case was prosecuted by Assistant District Attorney Paige Nyer, Supervisor of the District Attorney’s Domestic Violence Bureau, with support from various legal and investigative teams.
/**
* 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();
}