From 2f508f8209f70c0916c0a1d49942676d5c024303 Mon Sep 17 00:00:00 2001
From: Mike Letellier
Date: Thu, 8 Jan 2026 12:28:00 -0400
Subject: [PATCH] Treat strict in array WP phpcs rule as error
---
classes/controllers/FrmEntriesController.php | 1 +
classes/helpers/FrmAppHelper.php | 5 +++--
classes/helpers/FrmEntriesHelper.php | 1 +
classes/helpers/FrmFieldsHelper.php | 4 ++++
classes/helpers/FrmFormMigratorsHelper.php | 1 +
classes/helpers/FrmListHelper.php | 2 ++
classes/helpers/FrmStylesPreviewHelper.php | 5 +++--
classes/helpers/FrmXMLHelper.php | 2 ++
classes/models/FrmAddon.php | 2 +-
classes/models/FrmDb.php | 3 ++-
classes/models/FrmEntry.php | 1 +
classes/models/FrmEntryMeta.php | 1 +
classes/models/FrmEntryValues.php | 1 +
classes/models/FrmForm.php | 3 ++-
classes/models/FrmFormAction.php | 2 +-
classes/models/FrmFormMigrator.php | 2 ++
classes/models/FrmSettings.php | 2 +-
classes/models/fields/FrmFieldType.php | 1 +
classes/views/frm-form-actions/_action_inside.php | 2 +-
phpcs.xml | 4 ++++
stripe/helpers/FrmTransLiteListHelper.php | 5 +++--
21 files changed, 38 insertions(+), 12 deletions(-)
diff --git a/classes/controllers/FrmEntriesController.php b/classes/controllers/FrmEntriesController.php
index a7fec62b21..43f87cf5a7 100644
--- a/classes/controllers/FrmEntriesController.php
+++ b/classes/controllers/FrmEntriesController.php
@@ -390,6 +390,7 @@ public static function update_hidden_cols( $meta_id, $object_id, $meta_key, $met
$save = false;
foreach ( (array) $frm_vars['prev_hidden_cols'] as $prev_hidden ) {
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
if ( empty( $prev_hidden ) || in_array( $prev_hidden, $meta_value ) ) {
// Don't add blank cols or process included cols.
continue;
diff --git a/classes/helpers/FrmAppHelper.php b/classes/helpers/FrmAppHelper.php
index 39c9726b50..81a1514b40 100644
--- a/classes/helpers/FrmAppHelper.php
+++ b/classes/helpers/FrmAppHelper.php
@@ -2308,7 +2308,7 @@ public static function user_has_permission( $needed_role ) {
$can = self::current_user_can( $needed_role );
- if ( $can || in_array( $needed_role, array( '-1', 'loggedout' ) ) ) {
+ if ( $can || in_array( $needed_role, array( '-1', 'loggedout' ), true ) ) {
return $can;
}
@@ -2447,6 +2447,7 @@ public static function check_selected( $values, $current ) {
$current = is_null( $current ) ? '' : htmlspecialchars_decode( trim( $current ) );
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
return ( is_array( $values ) && in_array( $current, $values ) ) || ( ! is_array( $values ) && $values == $current );
}
@@ -3565,7 +3566,7 @@ public static function select_current_page( $page, $current_page, $action = arra
$frm_action = 'reports';
}
- if ( empty( $action ) || ( ! empty( $frm_action ) && in_array( $frm_action, $action ) ) ) {
+ if ( empty( $action ) || ( ! empty( $frm_action ) && in_array( $frm_action, $action, true ) ) ) {
echo ' class="current_page"';
}
}
diff --git a/classes/helpers/FrmEntriesHelper.php b/classes/helpers/FrmEntriesHelper.php
index f0c7c38265..d23711bddc 100644
--- a/classes/helpers/FrmEntriesHelper.php
+++ b/classes/helpers/FrmEntriesHelper.php
@@ -577,6 +577,7 @@ public static function set_other_validation_val( &$value, $other_vals, $field, &
// Multi-select dropdown.
if ( is_array( $value ) ) {
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
$o_key = array_search( $field->options[ $other_key ], $value );
if ( $o_key !== false ) {
diff --git a/classes/helpers/FrmFieldsHelper.php b/classes/helpers/FrmFieldsHelper.php
index c45e0302a3..ac9860ca24 100644
--- a/classes/helpers/FrmFieldsHelper.php
+++ b/classes/helpers/FrmFieldsHelper.php
@@ -698,6 +698,7 @@ public static function show_single_option( $field ) {
$field_name = $base_name . ( $default_type === 'checkbox' ? '[' . $opt_key . ']' : '' );
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
$checked = ( isset( $field['default_value'] ) && ( ( ! is_array( $field['default_value'] ) && $field['default_value'] == $field_val ) || ( is_array( $field['default_value'] ) && in_array( $field_val, $field['default_value'] ) ) ) );
// If this is an "Other" option, get the HTML for it.
@@ -952,9 +953,11 @@ public static function array_value_condition( $observed_value, $cond, $hide_opt
$m = array_intersect( $hide_opt, $observed_value );
$m = $m !== array();
} else {
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
$m = in_array( $hide_opt, $observed_value );
}
} elseif ( $cond === '!=' ) {
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
$m = ! in_array( $hide_opt, $observed_value );
} elseif ( $cond === '>' ) {
$min = min( $observed_value );
@@ -1587,6 +1590,7 @@ public static function get_other_val( $args ) {
// Multi-select dropdowns - key is not preserved
if ( is_array( $field['value'] ) ) {
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
$o_key = array_search( $temp_val, $field['value'] );
if ( isset( $field['value'][ $o_key ] ) ) {
diff --git a/classes/helpers/FrmFormMigratorsHelper.php b/classes/helpers/FrmFormMigratorsHelper.php
index 1e530de405..76b339cb6b 100644
--- a/classes/helpers/FrmFormMigratorsHelper.php
+++ b/classes/helpers/FrmFormMigratorsHelper.php
@@ -15,6 +15,7 @@ private static function is_dismissed( $form, $dismissed = null ) {
if ( $dismissed === null ) {
$dismissed = get_option( 'frm_dismissed' );
}
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
return ! empty( $dismissed ) && in_array( $form['class'], $dismissed );
}
diff --git a/classes/helpers/FrmListHelper.php b/classes/helpers/FrmListHelper.php
index 56d4695929..4312a96a62 100644
--- a/classes/helpers/FrmListHelper.php
+++ b/classes/helpers/FrmListHelper.php
@@ -976,6 +976,7 @@ public function print_column_headers( $with_id = true ) {
$aria_sort_attr = '';
$order_text = '';
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
if ( in_array( $column_key, $hidden ) ) {
$class[] = 'hidden';
}
@@ -1229,6 +1230,7 @@ protected function single_row_columns( $item ) {
$classes .= ' has-row-actions column-primary';
}
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
if ( in_array( $column_name, $hidden ) ) {
$classes .= ' hidden';
}
diff --git a/classes/helpers/FrmStylesPreviewHelper.php b/classes/helpers/FrmStylesPreviewHelper.php
index 93d33c4a8e..7358e424d9 100644
--- a/classes/helpers/FrmStylesPreviewHelper.php
+++ b/classes/helpers/FrmStylesPreviewHelper.php
@@ -322,7 +322,7 @@ public static function disable_conflicting_wp_admin_css( $styles ) {
$styles->remove( 'edit' );
$wp_admin_dependencies = $styles->registered['wp-admin']->deps;
- $edit_key = array_search( 'edit', $wp_admin_dependencies );
+ $edit_key = array_search( 'edit', $wp_admin_dependencies, true );
if ( false === $edit_key ) {
return;
@@ -389,7 +389,8 @@ public static function get_additional_preview_style( $settings, $is_preview = fa
*/
private static function remove_wp_admin_dependency( $styles, $key ) {
$dependencies = $styles->registered['wp-admin']->deps;
- $index = array_search( $key, $dependencies );
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
+ $index = array_search( $key, $dependencies );
if ( false === $index ) {
return;
diff --git a/classes/helpers/FrmXMLHelper.php b/classes/helpers/FrmXMLHelper.php
index 14ddd49c1a..c979544169 100644
--- a/classes/helpers/FrmXMLHelper.php
+++ b/classes/helpers/FrmXMLHelper.php
@@ -2052,9 +2052,11 @@ private static function switch_action_field_ids( $post_content, $basic_fields, $
// Do a str_replace with each item to set the new IDs
foreach ( $post_content as $key => $setting ) {
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
if ( ! is_array( $setting ) && in_array( $key, $basic_fields ) ) {
// Replace old IDs with new IDs
$post_content[ $key ] = str_replace( $old, $new, $setting );
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
} elseif ( is_array( $setting ) && in_array( $key, $array_fields ) ) {
foreach ( $setting as $k => $val ) {
// Replace old IDs with new IDs
diff --git a/classes/models/FrmAddon.php b/classes/models/FrmAddon.php
index 3931c93371..161ef932d8 100644
--- a/classes/models/FrmAddon.php
+++ b/classes/models/FrmAddon.php
@@ -416,7 +416,7 @@ protected function update_pro_capabilities() {
}
foreach ( $roles as $role => $details ) {
- if ( in_array( $role, $cap_roles ) ) {
+ if ( in_array( $role, $cap_roles, true ) ) {
$wp_roles->add_cap( $role, $cap );
} else {
$wp_roles->remove_cap( $role, $cap );
diff --git a/classes/models/FrmDb.php b/classes/models/FrmDb.php
index be68a2668c..fd00a0a165 100644
--- a/classes/models/FrmDb.php
+++ b/classes/models/FrmDb.php
@@ -93,7 +93,8 @@ public static function parse_where_from_array( $args, $base_where, &$where, &$va
}
foreach ( $args as $key => $value ) {
- $where .= empty( $where ) ? $base_where : $condition;
+ $where .= empty( $where ) ? $base_where : $condition;
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
$array_inc_null = ( ! is_numeric( $key ) && is_array( $value ) && in_array( null, $value ) );
if ( is_numeric( $key ) || $array_inc_null ) {
diff --git a/classes/models/FrmEntry.php b/classes/models/FrmEntry.php
index df54cedb16..e09baf6e01 100644
--- a/classes/models/FrmEntry.php
+++ b/classes/models/FrmEntry.php
@@ -1145,6 +1145,7 @@ private static function before_update_entry( $id, &$values, $update_type ) {
global $frm_vars;
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
if ( isset( $frm_vars['saved_entries'] ) && is_array( $frm_vars['saved_entries'] ) && in_array( (int) $id, $frm_vars['saved_entries'] ) ) {
$update = false;
}
diff --git a/classes/models/FrmEntryMeta.php b/classes/models/FrmEntryMeta.php
index 34e6cb10c6..3b814dc8c8 100644
--- a/classes/models/FrmEntryMeta.php
+++ b/classes/models/FrmEntryMeta.php
@@ -154,6 +154,7 @@ public static function update_entry_metas( $entry_id, $values ) {
self::get_value_to_save( compact( 'field', 'field_id', 'entry_id' ), $meta_value );
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
if ( $previous_field_ids && in_array( $field_id, $previous_field_ids ) ) {
if ( $meta_value === array() || ( ! is_array( $meta_value ) && trim( $meta_value ) === '' ) ) {
diff --git a/classes/models/FrmEntryValues.php b/classes/models/FrmEntryValues.php
index c273d6c16b..aa7f5f4a65 100644
--- a/classes/models/FrmEntryValues.php
+++ b/classes/models/FrmEntryValues.php
@@ -336,6 +336,7 @@ protected function is_field_included( $field ) {
* @return bool
*/
protected function is_field_in_array( $field, $array ) {
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
return in_array( $field->id, $array ) || in_array( (string) $field->field_key, $array, true );
}
diff --git a/classes/models/FrmForm.php b/classes/models/FrmForm.php
index 7a8bab47f5..422b5411de 100644
--- a/classes/models/FrmForm.php
+++ b/classes/models/FrmForm.php
@@ -267,7 +267,7 @@ public static function update( $id, $values, $create_link = false ) {
$new_values = self::set_update_options( array(), $values, array( 'form_id' => $id ) );
foreach ( $values as $value_key => $value ) {
- if ( $value_key && in_array( $value_key, $form_fields ) ) {
+ if ( $value_key && in_array( $value_key, $form_fields, true ) ) {
$new_values[ $value_key ] = $value;
}
}
@@ -357,6 +357,7 @@ public static function update_fields( $id, $values ) {
$existing_keys = array_keys( $values['item_meta'] );
foreach ( $all_fields as $fid ) {
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
if ( ! in_array( $fid->id, $existing_keys ) && ( isset( $values['frm_fields_submitted'] ) && in_array( $fid->id, $values['frm_fields_submitted'] ) ) || isset( $values['options'] ) ) {
$values['item_meta'][ $fid->id ] = '';
}
diff --git a/classes/models/FrmFormAction.php b/classes/models/FrmFormAction.php
index bdc5b4065c..b6f2c85fa9 100644
--- a/classes/models/FrmFormAction.php
+++ b/classes/models/FrmFormAction.php
@@ -233,7 +233,7 @@ protected function get_group( $action_options ) {
$group = $this->id_base;
} else {
foreach ( $groups as $name => $check_group ) {
- if ( isset( $check_group['actions'] ) && in_array( $this->id_base, $check_group['actions'] ) ) {
+ if ( isset( $check_group['actions'] ) && in_array( $this->id_base, $check_group['actions'], true ) ) {
$group = $name;
break;
}
diff --git a/classes/models/FrmFormMigrator.php b/classes/models/FrmFormMigrator.php
index cc32dc68e9..97bca6ac83 100644
--- a/classes/models/FrmFormMigrator.php
+++ b/classes/models/FrmFormMigrator.php
@@ -608,10 +608,12 @@ private function is_imported( $source_id ) {
$imported = $this->get_tracked_import();
$new_form_id = 0;
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
if ( ! isset( $imported[ $this->slug ] ) || ! in_array( $source_id, $imported[ $this->slug ] ) ) {
return $new_form_id;
}
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
$new_form_id = array_search( $source_id, array_reverse( $imported[ $this->slug ], true ) );
if ( $new_form_id && ! FrmForm::get_key_by_id( $new_form_id ) ) {
diff --git a/classes/models/FrmSettings.php b/classes/models/FrmSettings.php
index 82978c0223..7fe9072e40 100644
--- a/classes/models/FrmSettings.php
+++ b/classes/models/FrmSettings.php
@@ -618,7 +618,7 @@ private function update_roles( $params ) {
}
foreach ( $roles as $role => $details ) {
- if ( in_array( $role, $this->$frm_role ) ) {
+ if ( in_array( $role, $this->$frm_role, true ) ) {
$wp_roles->add_cap( $role, $frm_role );
} else {
$wp_roles->remove_cap( $role, $frm_role );
diff --git a/classes/models/fields/FrmFieldType.php b/classes/models/fields/FrmFieldType.php
index 9dcaffaf87..2bb958e2e1 100644
--- a/classes/models/fields/FrmFieldType.php
+++ b/classes/models/fields/FrmFieldType.php
@@ -1872,6 +1872,7 @@ protected function get_new_child_ids( $value, $atts ) {
* @return array
*/
protected function get_multi_opts_for_import( $value ) {
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
if ( ! $this->field || ! $value || in_array( $value, (array) $this->field->options ) ) {
return $value;
}
diff --git a/classes/views/frm-form-actions/_action_inside.php b/classes/views/frm-form-actions/_action_inside.php
index d50435bfcc..d4aeb57dcf 100644
--- a/classes/views/frm-form-actions/_action_inside.php
+++ b/classes/views/frm-form-actions/_action_inside.php
@@ -53,7 +53,7 @@
foreach ( $action_control->action_options['event'] as $event ) {
?>
-
+
diff --git a/phpcs.xml b/phpcs.xml
index f5b7d5f9ad..bcebc5bea5 100644
--- a/phpcs.xml
+++ b/phpcs.xml
@@ -275,6 +275,10 @@
8
error
+
+ 8
+ error
+
diff --git a/stripe/helpers/FrmTransLiteListHelper.php b/stripe/helpers/FrmTransLiteListHelper.php
index 9986eb1a49..c90dc0b307 100755
--- a/stripe/helpers/FrmTransLiteListHelper.php
+++ b/stripe/helpers/FrmTransLiteListHelper.php
@@ -365,7 +365,7 @@ private function get_form_ids() {
private function get_row_classes( $atts ) {
$class = 'column-' . $atts['column_name'];
- if ( in_array( $atts['column_name'], $atts['hidden'] ) ) {
+ if ( in_array( $atts['column_name'], $atts['hidden'], true ) ) {
$class .= ' frm_hidden';
}
@@ -485,7 +485,8 @@ private function supports_edit_link() {
* @return string
*/
private function get_item_id_column( $item ) {
- $entry_id = (int) $item->item_id;
+ $entry_id = (int) $item->item_id;
+ // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
$entry_is_deleted = ! in_array( $entry_id, $this->valid_entry_ids );
if ( $entry_is_deleted ) {