/home/techb158/public_html/wp-content/plugins/wpforms-lite/src/Admin/Builder/Ajax
NameSizeModeActions
PanelLoader.php35770666editdlrm
SaveForm.php26920666editdlrm
TemplatesLoader.php76470666editdlrm
Edit: /home/techb158/public_html/wp-content/plugins/wpforms-lite/src/Admin/Builder/Ajax/SaveForm.php (2692B)
obj( 'form' ); if ( ! $form_obj || empty( $fields ) || empty( $form_data['id'] ) ) { return $fields; } $saved_form_data = $form_obj->get( $form_data['id'], [ 'content_only' => true ] ); foreach ( $fields as $field_id => $field_data ) { if ( empty( $field_data['type'] ) ) { continue; } // Prune fully-empty leftover choices so a deleted choice is removed before persistence. $field_data = $this->prune_empty_choices( $field_data ); /** * Filter field settings before saving the form. * * @since 1.9.4 * * @param array $field_data Field data. * @param array $form_data Forms data. * @param array $saved_form_data Saved form data. */ $fields[ $field_id ] = apply_filters( "wpforms_admin_builder_ajax_save_form_field_{$field_data['type']}", $field_data, $form_data, $saved_form_data ); } return $fields; } /** * Prune fully-empty leftover choices from a choice-type field before it is saved. * * Dynamic-choice fields (post type / taxonomy) are skipped because their * `choices` are not the persisted source of truth. * * @since 2.0.0 * * @param array $field_data Field data being saved. * * @return array */ private function prune_empty_choices( array $field_data ): array { // Only choice-type fields persist a `choices` array. if ( ! in_array( $field_data['type'], self::CHOICE_FIELD_TYPES, true ) ) { return $field_data; } // Reach the field type object registered in WPForms_Field::common_hooks(). /** This filter is documented in src/Pro/Forms/Fields/Base/EntriesEdit.php. */ $field_obj = apply_filters( "wpforms_fields_get_field_object_{$field_data['type']}", null ); // phpcs:ignore WPForms.PHP.ValidateHooks.InvalidHookName // The field object guards dynamic-choice fields and empty choices arrays internally. if ( ! $field_obj instanceof \WPForms_Field ) { return $field_data; } return $field_obj->remove_empty_choices_on_save( $field_data ); } }