From 8b6f2d90e50b3ecbaf52e054235bdda0ba59904f Mon Sep 17 00:00:00 2001 From: Mike Letellier Date: Tue, 6 Jan 2026 18:36:06 -0400 Subject: [PATCH] Prefer str_contains to strpos --- classes/controllers/FrmAddonsController.php | 3 ++- .../controllers/FrmDeactivationFeedbackController.php | 3 ++- classes/controllers/FrmFieldsController.php | 2 +- classes/controllers/FrmFormsController.php | 2 +- classes/helpers/FrmAppHelper.php | 4 ++-- classes/helpers/FrmEmailSummaryHelper.php | 4 ++-- classes/helpers/FrmEntriesListHelper.php | 2 +- classes/helpers/FrmFieldsHelper.php | 6 +++--- classes/helpers/FrmFormsHelper.php | 10 +++++----- classes/helpers/FrmXMLHelper.php | 4 ++-- classes/models/FrmCreateFile.php | 2 +- classes/models/FrmEmail.php | 2 +- classes/models/FrmEntryMeta.php | 2 +- classes/models/FrmEntryValidate.php | 2 +- classes/models/FrmFieldFormHtml.php | 6 +++--- classes/models/FrmMigrate.php | 6 +++--- classes/models/fields/FrmFieldNumber.php | 2 +- formidable.php | 2 +- stripe/models/FrmStrpLiteAuth.php | 2 +- 19 files changed, 34 insertions(+), 32 deletions(-) diff --git a/classes/controllers/FrmAddonsController.php b/classes/controllers/FrmAddonsController.php index 747ac6ad90..bfcd46d218 100644 --- a/classes/controllers/FrmAddonsController.php +++ b/classes/controllers/FrmAddonsController.php @@ -451,10 +451,11 @@ public static function get_pro_license() { return ''; } - if ( strpos( $license, '-' ) ) { + if ( str_contains( $license, '-' ) ) { // this is a fix for licenses saved in the past $license = strtoupper( $license ); } + return $license; } diff --git a/classes/controllers/FrmDeactivationFeedbackController.php b/classes/controllers/FrmDeactivationFeedbackController.php index c421367a4b..d87b94a07c 100644 --- a/classes/controllers/FrmDeactivationFeedbackController.php +++ b/classes/controllers/FrmDeactivationFeedbackController.php @@ -58,9 +58,10 @@ public static function set_feedback_expired_date( $plugin ) { return; } - if ( ! strpos( $plugin, 'formidable.php' ) && ! strpos( $plugin, 'formidable-pro.php' ) ) { + if ( ! str_contains( $plugin, 'formidable.php' ) && ! str_contains( $plugin, 'formidable-pro.php' ) ) { return; } + update_option( 'frm_feedback_expired', gmdate( 'Y-m-d', strtotime( '+ 1 day' ) ) ); } diff --git a/classes/controllers/FrmFieldsController.php b/classes/controllers/FrmFieldsController.php index f83af23497..c12dbc602f 100644 --- a/classes/controllers/FrmFieldsController.php +++ b/classes/controllers/FrmFieldsController.php @@ -1002,7 +1002,7 @@ private static function add_shortcodes_to_html( $field, array &$add_html ) { continue; } - if ( is_numeric( $k ) && strpos( $v, '=' ) ) { + if ( is_numeric( $k ) && str_contains( $v, '=' ) ) { $add_html[] = $v; } elseif ( ! empty( $k ) && isset( $add_html[ $k ] ) ) { $add_html[ $k ] = str_replace( $k . '="', $k . '="' . $v, $add_html[ $k ] ); diff --git a/classes/controllers/FrmFormsController.php b/classes/controllers/FrmFormsController.php index 843753f2bd..9d8864ce2a 100644 --- a/classes/controllers/FrmFormsController.php +++ b/classes/controllers/FrmFormsController.php @@ -3526,7 +3526,7 @@ private static function should_load_late() { * @return string */ public static function defer_script_loading( $tag, $handle ) { - if ( 'captcha-api' === $handle && ! strpos( $tag, 'defer' ) ) { + if ( 'captcha-api' === $handle && ! str_contains( $tag, 'defer' ) ) { $tag = str_replace( ' src', ' defer="defer" async="async" src', $tag ); } diff --git a/classes/helpers/FrmAppHelper.php b/classes/helpers/FrmAppHelper.php index 4b3ba7ff93..7ee6c372d2 100644 --- a/classes/helpers/FrmAppHelper.php +++ b/classes/helpers/FrmAppHelper.php @@ -734,7 +734,7 @@ private static function should_use_custom_header_ip() { * @return mixed */ public static function get_param( $param, $default = '', $src = 'get', $sanitize = '' ) { - if ( strpos( $param, '[' ) ) { + if ( str_contains( $param, '[' ) ) { $params = explode( '[', $param ); $param = $params[0]; } @@ -1390,7 +1390,7 @@ public static function icon_by_class( $class, $atts = array() ) { } else { $class = ! str_contains( $icon, ' ' ) ? '' : ' ' . $icon; - if ( strpos( $icon, ' ' ) ) { + if ( str_contains( $icon, ' ' ) ) { $icon = explode( ' ', $icon ); $icon = reset( $icon ); } diff --git a/classes/helpers/FrmEmailSummaryHelper.php b/classes/helpers/FrmEmailSummaryHelper.php index 1b9f267d49..8508c8b377 100644 --- a/classes/helpers/FrmEmailSummaryHelper.php +++ b/classes/helpers/FrmEmailSummaryHelper.php @@ -531,13 +531,13 @@ public static function process_inbox_cta_button( $button_html ) { // Replace link utm. $button_html = str_replace( 'utm_medium=inbox', 'utm_medium=summary-email', $button_html ); - if ( strpos( $button_html, 'style="' ) ) { + if ( str_contains( $button_html, 'style="' ) ) { // Maybe this button contains inline style. return $button_html; } // Add inline CSS for specific button types. - if ( strpos( $button_html, 'frm-button-primary' ) ) { + if ( str_contains( $button_html, 'frm-button-primary' ) ) { $button_html = str_replace( 'prepare( ' AND e.user_id=%d', $args['user_id'] ); } - if ( strpos( $where, ' GROUP BY ' ) ) { + if ( str_contains( $where, ' GROUP BY ' ) ) { // don't inject WHERE filtering after GROUP BY $parts = explode( ' GROUP BY ', $where ); $where = $parts[0]; diff --git a/classes/models/FrmEntryValidate.php b/classes/models/FrmEntryValidate.php index fea7bb3a78..dfa5b1b596 100644 --- a/classes/models/FrmEntryValidate.php +++ b/classes/models/FrmEntryValidate.php @@ -850,7 +850,7 @@ private static function is_akismet_guest_info_value( $key, &$value, $field_id, $ switch ( $key ) { case 'comment_author_email': - return strpos( $value, '@' ) && is_email( $value ); + return str_contains( $value, '@' ) && is_email( $value ); case 'comment_author_url': return str_starts_with( $value, 'http' ); diff --git a/classes/models/FrmFieldFormHtml.php b/classes/models/FrmFieldFormHtml.php index 6234e3e0dc..9f382403dd 100644 --- a/classes/models/FrmFieldFormHtml.php +++ b/classes/models/FrmFieldFormHtml.php @@ -268,7 +268,7 @@ private function add_element_id( $param, $id ) { } if ( is_string( $inner_html[2] ) ) { - $has_id = strpos( $inner_html[2], ' id=' ); + $has_id = str_contains( $inner_html[2], ' id=' ); if ( ! $has_id ) { $id = 'frm_' . $id . '_' . $this->html_id; @@ -407,7 +407,7 @@ private function filter_for_more_shortcodes() { * @return void */ public function remove_collapse_shortcode( &$html ) { - if ( strpos( $html, '[collapse_this]' ) ) { + if ( str_contains( $html, '[collapse_this]' ) ) { $html = str_replace( '[collapse_this]', '', $html ); } } @@ -543,7 +543,7 @@ private function get_field_div_classes() { $extra_classes = $this->field_obj->get_field_column( 'classes' ); if ( ! empty( $extra_classes ) ) { - if ( ! strpos( $this->html, 'frm_form_field ' ) ) { + if ( ! str_contains( $this->html, 'frm_form_field ' ) ) { $classes .= ' frm_form_field'; } diff --git a/classes/models/FrmMigrate.php b/classes/models/FrmMigrate.php index 9ecc928840..81cc7b6b19 100644 --- a/classes/models/FrmMigrate.php +++ b/classes/models/FrmMigrate.php @@ -376,7 +376,7 @@ private function migrate_data( $old_db_version ) { $old_db_version = get_option( 'frm_db_version' ); } - if ( strpos( $old_db_version, '-' ) ) { + if ( str_contains( $old_db_version, '-' ) ) { $last_upgrade = explode( '-', $old_db_version ); $old_db_version = (int) $last_upgrade[1]; } @@ -667,7 +667,7 @@ private function revert_widget_field_size() { * @return void */ private function maybe_convert_migrated_size( &$size ) { - $has_px_size = ! empty( $size ) && strpos( $size, 'px' ); + $has_px_size = ! empty( $size ) && str_contains( $size, 'px' ); if ( ! $has_px_size ) { return; @@ -866,7 +866,7 @@ private function migrate_to_11() { if ( $form->options['submit_html'] != $new_default_html && $form->options['submit_html'] == $old_default_html ) { $form->options['submit_html'] = $new_default_html; $wpdb->update( $this->forms, array( 'options' => serialize( $form->options ) ), array( 'id' => $form->id ) ); - } elseif ( ! strpos( $form->options['submit_html'], 'save_draft' ) ) { + } elseif ( ! str_contains( $form->options['submit_html'], 'save_draft' ) ) { $form->options['submit_html'] = preg_replace( '~\<\/div\>(?!.*\<\/div\>)~', $draft_link . "\r\n", $form->options['submit_html'] ); $wpdb->update( $this->forms, array( 'options' => serialize( $form->options ) ), array( 'id' => $form->id ) ); } diff --git a/classes/models/fields/FrmFieldNumber.php b/classes/models/fields/FrmFieldNumber.php index c3f7379002..0596b4d306 100644 --- a/classes/models/fields/FrmFieldNumber.php +++ b/classes/models/fields/FrmFieldNumber.php @@ -163,7 +163,7 @@ protected function check_value_is_valid_with_step( $value, $step ) { * @return void */ private function remove_commas_from_number( &$args ) { - if ( strpos( $args['value'], ',' ) ) { + if ( str_contains( $args['value'], ',' ) ) { $args['value'] = str_replace( ',', '', $args['value'] ); FrmEntriesHelper::set_posted_value( $this->field, $args['value'], $args ); } diff --git a/formidable.php b/formidable.php index ee5f59a3db..3bd191a5dc 100644 --- a/formidable.php +++ b/formidable.php @@ -98,7 +98,7 @@ function frm_class_autoloader( $class_name, $filepath ) { } else { $filepath .= 'models/'; - if ( strpos( $class_name, 'Field' ) && ! file_exists( $filepath . $class_name . '.php' ) ) { + if ( str_contains( $class_name, 'Field' ) && ! file_exists( $filepath . $class_name . '.php' ) ) { $filepath .= 'fields/'; } } diff --git a/stripe/models/FrmStrpLiteAuth.php b/stripe/models/FrmStrpLiteAuth.php index 5b80dcb000..1ffb0ff2aa 100644 --- a/stripe/models/FrmStrpLiteAuth.php +++ b/stripe/models/FrmStrpLiteAuth.php @@ -117,7 +117,7 @@ private static function check_html_for_form_id_match( $html ) { foreach ( self::$form_ids as $form_id ) { $substring = '