PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / trunk
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More vtrunk
6.35 6.34 6.33.1 6.33 6.32.1 6.32 6.31 6.25 6.25.1 6.26 6.26.1 6.27 6.28 6.29 6.3 6.3.1 6.3.2 6.30 6.4 6.4.1 6.4.2 6.5 6.5.1 6.5.2 6.5.3 All 141 releases
← All changes | classes/controllers/FrmEntriesController.php +36 -34 6.28 → trunk View file →
@@ -14,13 +14,13 @@
14 14 add_submenu_page( 'formidable', 'Formidable | ' . __( 'Entries', 'formidable' ), __( 'Entries', 'formidable' ), 'frm_view_entries', 'formidable-entries', 'FrmEntriesController::route' ); // phpcs:ignore SlevomatCodingStandard.Files.LineLength.LineTooLong
15 15
16 16 $views_installed = is_callable( 'FrmProAppHelper::views_is_installed' ) && FrmProAppHelper::views_is_installed();
17 17
18 - if ( ! $views_installed ) {
18 + if ( $views_installed ) {
19 + self::maybe_redirect_to_views_index();
20 + } else {
19 21 add_submenu_page( 'formidable', 'Formidable | ' . __( 'Views', 'formidable' ), __( 'Views', 'formidable' ), 'frm_view_entries', 'formidable-views', 'FrmFormsController::no_views' ); // phpcs:ignore SlevomatCodingStandard.Files.LineLength.LineTooLong
20 22 self::maybe_redirect_to_views_upsell();
21 - } else {
22 - self::maybe_redirect_to_views_index();
23 23 }
24 24
25 25 if ( FrmAppHelper::is_admin_page( 'formidable-entries' ) ) {
26 26 self::load_manage_entries_hooks();
@@ -99,18 +99,19 @@
99 99 *
100 100 * @return void
101 101 */
102 102 private static function load_manage_entries_hooks() {
103 - if ( ! in_array( FrmAppHelper::simple_get( 'frm_action', 'sanitize_title' ), array( 'edit', 'show', 'new', 'duplicate' ), true ) ) {
104 - $menu_name = FrmAppHelper::get_menu_name();
105 - $base = self::base_column_key( $menu_name );
106 -
107 - add_filter( 'manage_' . $base . '_columns', 'FrmEntriesController::manage_columns' );
108 - add_filter( 'get_user_option_' . self::hidden_column_key( $menu_name ), 'FrmEntriesController::hidden_columns' );
109 - add_filter( 'manage_' . $base . '_sortable_columns', 'FrmEntriesController::sortable_columns' );
110 - } else {
103 + if ( in_array( FrmAppHelper::simple_get( 'frm_action', 'sanitize_title' ), array( 'edit', 'show', 'new', 'duplicate' ), true ) ) {
111 104 add_filter( 'screen_options_show_screen', self::class . '::remove_screen_options', 10, 2 );
105 + return;
112 106 }
107 +
108 + $menu_name = FrmAppHelper::get_menu_name();
109 + $base = self::base_column_key( $menu_name );
110 +
111 + add_filter( 'manage_' . $base . '_columns', 'FrmEntriesController::manage_columns' );
112 + add_filter( 'get_user_option_' . self::hidden_column_key( $menu_name ), 'FrmEntriesController::hidden_columns' );
113 + add_filter( 'manage_' . $base . '_sortable_columns', 'FrmEntriesController::sortable_columns' );
113 114 }
114 115
115 116 /**
116 117 * Display in Back End.
@@ -180,10 +181,10 @@
180 181 $columns[ $form_id . '_user_id' ] = esc_html__( 'Created By', 'formidable' );
181 182 }
182 183
183 184 $columns[ $form_id . '_is_draft' ] = esc_html__( 'Entry Status', 'formidable' );
184 - $columns[ $form_id . '_created_at' ] = __( 'Entry creation date', 'formidable' );
185 - $columns[ $form_id . '_updated_at' ] = __( 'Entry update date', 'formidable' );
185 + $columns[ $form_id . '_created_at' ] = esc_html__( 'Entry creation date', 'formidable' );
186 + $columns[ $form_id . '_updated_at' ] = esc_html__( 'Entry update date', 'formidable' );
186 187 self::maybe_add_ip_col( $form_id, $columns );
187 188
188 189 $frm_vars['cols'] = $columns;
189 190 $action = FrmAppHelper::simple_get( 'frm_action', 'sanitize_title' );
@@ -303,9 +304,9 @@
303 304 */
304 305 private static function maybe_format_field_name_for_column_title( $field, $include_column_for_sep_val, $is_value = true ) {
305 306 $field_name = FrmAppHelper::truncate( $field->name, 35 );
306 307
307 - if ( ! $include_column_for_sep_val || ! in_array( $field->type, array( 'select', 'radio', 'checkbox' ), true ) ) {
308 + if ( ! $include_column_for_sep_val || ! in_array( $field->type, array( 'select', 'radio', 'checkbox', 'product', 'ranking' ), true ) ) {
308 309 return $field_name;
309 310 }
310 311
311 312 $append_text = $is_value ? esc_html__( 'value', 'formidable' ) : esc_html__( 'label', 'formidable' );
@@ -413,10 +414,9 @@
413 414 if ( ! $save ) {
414 415 return;
415 416 }
416 417
417 - $user_id = get_current_user_id();
418 - update_user_option( $user_id, $this_page_name, $meta_value, true );
418 + update_user_option( get_current_user_id(), $this_page_name, $meta_value, true );
419 419 }
420 420
421 421 /**
422 422 * @since 2.05.07
@@ -551,17 +551,19 @@
551 551 private static function user_hidden_columns_for_form( $form_id, $result ) {
552 552 $hidden = array();
553 553
554 554 foreach ( (array) $result as $r ) {
555 - if ( $r ) {
556 - list( $form_prefix, $field_key ) = explode( '_', $r );
555 + if ( ! $r ) {
556 + continue;
557 + }
557 558
558 - if ( (int) $form_prefix === (int) $form_id ) {
559 - $hidden[] = $r;
560 - }
559 + list( $form_prefix, $field_key ) = explode( '_', $r );
561 560
562 - unset( $form_prefix );
561 + if ( (int) $form_prefix === (int) $form_id ) {
562 + $hidden[] = $r;
563 563 }
564 +
565 + unset( $form_prefix );
564 566 }
565 567
566 568 return $hidden;
567 569 }
@@ -652,15 +654,17 @@
652 654 *
653 655 * @return void
654 656 */
655 657 private static function get_delete_form_time( $form, &$errors ) {
656 - if ( 'trash' === $form->status ) {
657 - $delete_timestamp = time() - ( DAY_IN_SECONDS * EMPTY_TRASH_DAYS );
658 - $time_to_delete = FrmAppHelper::human_time_diff( $delete_timestamp, $form->options['trash_time'] ?? time() );
658 + if ( 'trash' !== $form->status ) {
659 + return;
660 + }
659 661
660 - /* translators: %1$s: Time string */
661 - $errors['trash'] = sprintf( __( 'This form is in the trash and is scheduled to be deleted permanently in %s along with any entries.', 'formidable' ), $time_to_delete );
662 - }
662 + $delete_timestamp = time() - ( DAY_IN_SECONDS * EMPTY_TRASH_DAYS );
663 + $time_to_delete = FrmAppHelper::human_time_diff( $delete_timestamp, $form->options['trash_time'] ?? time() );
664 +
665 + /* translators: %1$s: Time string */
666 + $errors['trash'] = sprintf( __( 'This form is in the trash and is scheduled to be deleted permanently in %s along with any entries.', 'formidable' ), $time_to_delete );
663 667 }
664 668
665 669 /**
666 670 * Back End CRUD.
@@ -798,15 +802,13 @@
798 802
799 803 $_POST['frm_skip_cookie'] = 1;
800 804 $do_success = false;
801 805
802 - if ( $params['action'] === 'create' ) {
803 - if ( apply_filters( 'frm_continue_to_create', true, $form_id ) && ! isset( $frm_vars['created_entries'][ $form_id ]['entry_id'] ) ) {
804 - $frm_vars['created_entries'][ $form_id ]['entry_id'] = FrmEntry::create( $_POST ); // phpcs:ignore WordPress.Security.NonceVerification.Missing
806 + if ( $params['action'] === 'create' && apply_filters( 'frm_continue_to_create', true, $form_id ) && ! isset( $frm_vars['created_entries'][ $form_id ]['entry_id'] ) ) {
807 + $frm_vars['created_entries'][ $form_id ]['entry_id'] = FrmEntry::create( $_POST ); // phpcs:ignore WordPress.Security.NonceVerification.Missing
805 808
806 - $params['id'] = $frm_vars['created_entries'][ $form_id ]['entry_id'];
807 - $do_success = true;
808 - }
809 + $params['id'] = $frm_vars['created_entries'][ $form_id ]['entry_id'];
810 + $do_success = true;
809 811 }
810 812
811 813 do_action( 'frm_process_entry', $params, $errors, $form, array( 'ajax' => $ajax ) );
812 814