PluginProbe
weForms – Easy Drag & Drop Contact Form Builder For WordPress / 1.6.11
weForms – Easy Drag & Drop Contact Form Builder For WordPress v1.6.11
1.6.7 1.6.8 1.6.9 1.6.12 1.6.13 1.6.14 1.6.15 1.6.16 1.6.17 1.6.18 1.6.19 1.6.2 1.6.20 1.6.21 1.6.22 1.6.23 1.6.24 1.6.25 1.6.26 1.6.27 1.6.28 1.6.3 1.6.4 1.6.5 1.6.6 All 74 releases
← All changes | includes/class-ajax.php +23 -51 1.6.211.6.11 View file →
@@ -108,12 +108,9 @@
108 108 $settings = array();
109 109 $integrations = array();
110 110
111 111 if ( isset( $post_data['settings'] ) ) {
112 - $settings = json_decode( $post_data['settings'], true );
113 - $settings['message'] = sanitize_text_field( $settings['message'] );
114 - $settings['url'] = sanitize_url( $settings['url'] );
115 - $settings['limit_message'] = sanitize_text_field( $settings['limit_message'] );
112 + $settings = (array) json_decode( $post_data['settings'] );
116 113 } else {
117 114 $settings = isset( $form_data['wpuf_settings'] ) ? $form_data['wpuf_settings'] : [];
118 115 }
119 116
@@ -142,14 +139,9 @@
142 139 $form->maybe_update_entries( $form_fields );
143 140
144 141 do_action( 'weforms_update_form', $form_data['wpuf_form_id'], $form_fields, $settings );
145 142
146 - wp_send_json_success(
147 - array(
148 - 'form_fields' => $form_fields,
149 - 'settings' => $settings,
150 - )
151 - );
143 + wp_send_json_success( [ 'form_fields' => $form_fields ] );
152 144 }
153 145
154 146 /**
155 147 * Get all contact forms
@@ -581,9 +573,9 @@
581 573 }
582 574 }
583 575 } elseif ( empty( $field['value'] ) ) {
584 576 $has_empty = true;
585 - continue;
577 + break;
586 578 } else {
587 579 $field = WeForms_Form_Entry_Manager::format_entry_value( $field );
588 580 array_push( $fields_formatted, $field );
589 581 }
@@ -708,24 +700,13 @@
708 700 * @return void
709 701 */
710 702 public function handle_frontend_submission() {
711 703 check_ajax_referer( 'wpuf_form_add' );
704 +
712 705 $form_id = isset( $_POST['form_id'] ) ? intval( $_POST['form_id'] ) : 0;
713 706 $page_id = isset( $_POST['page_id'] ) ? intval( $_POST['page_id'] ) : 0;
707 +
714 708 $form = weforms()->form->get( $form_id );
715 -
716 - /**
717 - * Check if form submission is open. This resolves broken access control with unauthenticated users.
718 - * Access is now checked on frontend form rendering and submission.
719 - */
720 - $form_submission_status = $form->is_submission_open();
721 - if ( is_wp_error( $form_submission_status ) ) {
722 - wp_send_json( [
723 - 'success' => false,
724 - 'error' => __( 'Login Required for submission.', 'weforms' ),
725 - ] );
726 - }
727 -
728 709 $form_settings = $form->get_settings();
729 710 $form_fields = $form->get_fields();
730 711 $entry_fields = $form->prepare_entries();
731 712 $form_entries = weforms_get_form_entries( $form_id, [ 'number' => '', 'offset' => '' ] );
@@ -779,36 +760,28 @@
779 760 $this->validate_submission( $entry_fields, $form, $form_settings, $form_fields );
780 761
781 762 $entry_fields = apply_filters( 'weforms_before_entry_submission', $entry_fields, $form, $form_settings, $form_fields );
782 763
783 - //check for entry_fields for a return error
784 - if ( is_wp_error( $entry_fields ) ) {
785 - wp_send_json( [
786 - 'success' => false,
787 - 'error' => $entry_fields->get_error_message(),
788 - ] );
789 - } else {
790 - $entry_id = 1;
791 - $global_settings = weforms_get_settings();
792 - if ( empty( $form_settings['after_submission'] ) ) {
793 - $entry_id = weforms_insert_entry( [
794 - 'form_id' => $form_id,
795 - ], $entry_fields );
796 - if ( is_wp_error( $entry_id ) ) {
797 - wp_send_json( [
798 - 'success' => false,
799 - 'error' => $entry_id->get_error_message(),
800 - ] );
801 - }
802 - // Fire a hook for integration
803 - do_action( 'weforms_entry_submission', $entry_id, $form_id, $page_id, $form_settings );
804 - $notification = new WeForms_Notification( [
805 - 'form_id' => $form_id,
806 - 'page_id' => $page_id,
807 - 'entry_id' => $entry_id,
764 + $entry_id = 1;
765 + $global_settings = weforms_get_settings();
766 + if ( empty( $form_settings['after_submission'] ) ) {
767 + $entry_id = weforms_insert_entry( [
768 + 'form_id' => $form_id,
769 + ], $entry_fields );
770 + if ( is_wp_error( $entry_id ) ) {
771 + wp_send_json( [
772 + 'success' => false,
773 + 'error' => $entry_id->get_error_message(),
808 774 ] );
809 - $notification->send_notifications();
810 775 }
776 + // Fire a hook for integration
777 + do_action( 'weforms_entry_submission', $entry_id, $form_id, $page_id, $form_settings );
778 + $notification = new WeForms_Notification( [
779 + 'form_id' => $form_id,
780 + 'page_id' => $page_id,
781 + 'entry_id' => $entry_id,
782 + ] );
783 + $notification->send_notifications();
811 784 }
812 785 // redirect URL
813 786 $show_message = false;
814 787 $redirect_to = false;
@@ -843,9 +816,8 @@
843 816 'form_id' => $form_id,
844 817 'entry_id' => $entry_id,
845 818 'entry_fields' =>$entry_fields,
846 819 ] );
847 -
848 820 weforms_clear_buffer();
849 821 wp_send_json( $response );
850 822 }
851 823