Automator_Recipe_Process_Complete::action( null $user_id = null, array $action_data = null, null $recipe_id = null, string $error_message = '', null $recipe_log_id = null, array $args = array() )
Complete the action for the user
Parameters Parameters
- $user_id
-
(Optional)
Default value: null
- $action_data
-
(Optional)
Default value: null
- $recipe_id
-
(Optional)
Default value: null
- $error_message
-
(Optional)
Default value: ''
- $recipe_log_id
-
(Optional)
Default value: null
- $args
-
(Optional)
Default value: array()
Return Return
(null|void)
Source Source
File: src/core/lib/process/class-automator-recipe-process-complete.php
public function action( $user_id = null, $action_data = null, $recipe_id = null, $error_message = '', $recipe_log_id = null, $args = array() ) { // Set user ID if ( is_null( $user_id ) ) { $user_id = get_current_user_id(); } $action_id = (int) $action_data['ID']; if ( null === $action_id || ! is_numeric( $action_id ) ) { Automator()->error->add_error( 'complete_action', 'ERROR: You are trying to complete an action without providing a action_id.', $this ); return null; } if ( null === $recipe_id || ! is_numeric( $recipe_id ) ) { Automator()->error->add_error( 'complete_action', 'ERROR: You are trying to complete an action without providing a recipe_id.', $this ); return null; } if ( is_null( $recipe_log_id ) && array_key_exists( 'recipe_log_id', $action_data ) ) { $recipe_log_id = absint( $action_data['recipe_log_id'] ); } if ( is_null( $recipe_log_id ) || empty( $recipe_log_id ) ) { Automator()->error->add_error( 'complete_action', 'ERROR: You are trying to complete an action without providing a recipe_log_id.', $this ); return null; } if ( empty( $args ) && array_key_exists( 'args', $action_data ) ) { $args = $action_data['args']; } $action_data['completed'] = $this->get_action_completed_status( $user_id, $action_data, $recipe_id, $error_message, $recipe_log_id, $args ); // The action is about to be completed do_action_deprecated( 'uap_before_action_completed', array( $user_id, $action_id, $recipe_id, $error_message, $recipe_log_id, $args, ), '3.0', 'automator_before_action_completed' ); $do_action_args = array( 'user_id' => $user_id, 'action_id' => $action_id, 'recipe_id' => $recipe_id, 'error_message' => $error_message, 'recipe_log_id' => $recipe_log_id, 'args' => $args, ); do_action( 'automator_before_action_completed', $do_action_args ); $error_message = $this->get_action_error_message( $user_id, $action_data, $recipe_id, $error_message, $recipe_log_id, $args ); $process_further = apply_filters( 'automator_before_action_created', true, $user_id, $action_data, $recipe_id, $error_message, $recipe_log_id, $args ); if ( ! $process_further ) { return; } $action_log_id = $this->create_action( $user_id, $action_data, $recipe_id, $error_message, $recipe_log_id, $args ); // The action is about to be completed do_action_deprecated( 'uap_action_completed', array( $user_id, $action_id, $recipe_id, $error_message, $args, ), '3.0', 'automator_action_created' ); $do_action_args = array( 'user_id' => $user_id, 'action_id' => $action_id, 'action_data' => $action_data, 'action_log_id' => $action_log_id, 'recipe_id' => $recipe_id, 'error_message' => $error_message, 'recipe_log_id' => $recipe_log_id, 'args' => $args, ); do_action( 'automator_action_created', $do_action_args ); $this->recipe( $recipe_id, $user_id, $recipe_log_id, $args ); }
Expand full source code Collapse full source code View on Github