Handles a save request for the page.
Description
See also
Parameters
- $form
-
(awsmug\Torro_Forms\DB_Objects\Forms\Form) (Required) Current form.
Source
File: src/db-objects/forms/form-edit-page-handler.php
private function handle_save_request( $form ) { $this->current_form = $form; $mappings = array( 'forms' => array( $form->id => $form->id, ), 'containers' => array(), 'elements' => array(), 'element_choices' => array(), 'element_settings' => array(), ); $errors = new WP_Error(); if ( isset( $_POST[ $this->form_manager->get_prefix() . 'containers' ] ) ) { $mappings = $this->save_containers( wp_unslash( $_POST[ $this->form_manager->get_prefix() . 'containers' ] ), $mappings, $errors ); } if ( isset( $_POST[ $this->form_manager->get_prefix() . 'elements' ] ) ) { $mappings = $this->save_elements( wp_unslash( $_POST[ $this->form_manager->get_prefix() . 'elements' ] ), $mappings, $errors ); } if ( isset( $_POST[ $this->form_manager->get_prefix() . 'element_choices' ] ) ) { $mappings = $this->save_element_choices( wp_unslash( $_POST[ $this->form_manager->get_prefix() . 'element_choices' ] ), $mappings, $errors ); } if ( isset( $_POST[ $this->form_manager->get_prefix() . 'element_settings' ] ) ) { $mappings = $this->save_element_settings( wp_unslash( $_POST[ $this->form_manager->get_prefix() . 'element_settings' ] ), $mappings, $errors ); } if ( isset( $_POST[ $this->form_manager->get_prefix() . 'deleted_containers' ] ) ) { $this->delete_containers( array_map( 'absint', $_POST[ $this->form_manager->get_prefix() . 'deleted_containers' ] ) ); } if ( isset( $_POST[ $this->form_manager->get_prefix() . 'deleted_elements' ] ) ) { $this->delete_elements( array_map( 'absint', $_POST[ $this->form_manager->get_prefix() . 'deleted_elements' ] ) ); } if ( isset( $_POST[ $this->form_manager->get_prefix() . 'deleted_element_choices' ] ) ) { $this->delete_element_choices( array_map( 'absint', $_POST[ $this->form_manager->get_prefix() . 'deleted_element_choices' ] ) ); } if ( isset( $_POST[ $this->form_manager->get_prefix() . 'deleted_element_settings' ] ) ) { $this->delete_element_settings( array_map( 'absint', $_POST[ $this->form_manager->get_prefix() . 'deleted_element_settings' ] ) ); } if ( ! did_action( "{$this->form_manager->get_prefix()}add_form_meta_content" ) ) { /** This action is documented in src/db-objects/forms/form-edit-page-handler.php */ do_action( "{$this->form_manager->get_prefix()}add_form_meta_content", $this ); } foreach ( $this->meta_boxes as $id => $args ) { if ( isset( $_POST[ $id ] ) ) { // TODO: Figure out how to deal with errors. $args['field_manager']->update_values( wp_unslash( $_POST[ $id ] ) ); } } /** * Fires after a form has been saved. * * @since 1.0.0 * * @param Form $form Form that has been saved. * @param array $mappings Array of ID mappings from the objects that have been saved. */ do_action( "{$this->form_manager->get_prefix()}save_form", $form, $mappings ); }
Changelog
Version | Description |
---|---|
1.0.0 | Introduced. |