LLMS_Form_Handler::submit_fields( array $posted_data, string $location, array[] $fields, string $action )
Form fields submission.
Parameters Parameters
- $posted_data
-
(array) (Required) User-submitted form data.
- $location
-
(string) (Required) Form location ID.
- $fields
-
(array[]) (Required) Array of LifterLMS Form Fields.
- $action
-
(string) (Required) User action to perform.
Return Return
(int|WP_Error) WP_User ID on success, error object on failure.
Source Source
File: includes/forms/class-llms-form-handler.php
public function submit_fields( $posted_data, $location, $fields, $action ) {
$validate = $this->validate_fields( $posted_data, $location, $fields, $action );
if ( is_wp_error( $validate ) ) {
return $validate;
}
// Sanitize.
$posted_data = $this->validator->sanitize_fields( $posted_data, $fields );
$user_id = $this->insert( $action, $posted_data, $fields );
if ( is_wp_error( $user_id ) ) {
return $this->submit_error( $user_id, $posted_data, $action );
}
if ( 'registration' === $action ) {
/**
* Deprecated user creation hook.
*
* @since Unknown.
* @deprecated 5.0.0
*
* @param int $user_id WP_User ID of the newly created user.
* @param array $posted_data Array of user-submitted data.
* @param string $location Form location.
*/
do_action_deprecated(
'lifterlms_created_person',
array( $user_id, $posted_data, $location ),
'5.0.0',
'lifterlms_user_registered'
);
/**
* Fire an action after a user has been registered.
*
* @since 3.0.0
* @since 5.0.0 Moved from `LLMS_Person_Handler::register()`.
*
* @param int $user_id WP_User ID of the user.
* @param array $posted_data Array of user submitted data.
* @param string $location Form location.
*/
do_action( 'lifterlms_user_registered', $user_id, $posted_data, $location );
} elseif ( 'update' === $action ) {
/**
* Fire an action after a user has been updated.
*
* @since 3.0.0
* @since 5.0.0 Moved from `LLMS_Person_Handler::update()`.
*
* @param int $user_id WP_User ID of the user.
* @param array $posted_data Array of user submitted data.
* @param string $location Form location.
*/
do_action( 'lifterlms_user_updated', $user_id, $posted_data, $location );
}
return $user_id;
}
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
| Version | Description |
|---|---|
| 7.0.0 | Moved validation logic to the validate_fields() method. |
| 6.0.0 | Notify developers of the deprecated lifterlms_created_person action hook. |
| 5.4.1 | Sanitize filed only after validation. See <a href="https://github.com/gocodebox/lifterlms/issues/1829">https://github.com/gocodebox/lifterlms/issues/1829</a>. |
| 5.1.0 | Added "lifterlms*user*${action}_required_data" filter, to filter the required fields validity of the form submission. |
| 5.0.0 | Introduced. |