Automator_Recipe_Process_Complete::trigger( array $args = array() )
Complete the trigger for the user
Contents
Parameters Parameters
- $args
-
(Optional)
Default value: array()
Return Return
(null)
Source Source
File: src/core/lib/process/class-automator-recipe-process-complete.php
public function trigger( $args = array() ) { $user_id = absint( $args['user_id'] ); $trigger_id = absint( $args['trigger_id'] ); $recipe_id = absint( $args['recipe_id'] ); $trigger_log_id = absint( $args['trigger_log_id'] ); $recipe_log_id = absint( $args['recipe_log_id'] ); // Set user ID if ( is_null( $user_id ) ) { $user_id = get_current_user_id(); } if ( null === $trigger_id || ! is_numeric( $trigger_id ) ) { Automator()->error->add_error( 'complete_trigger', 'ERROR: You are trying to complete a trigger without providing a trigger_id.', $this ); return null; } if ( null === $recipe_id || ! is_numeric( $recipe_id ) ) { Automator()->error->add_error( 'complete_trigger', 'ERROR: You are trying to complete a trigger without providing a recipe_id.', $this ); return null; } // The trigger is about to be completed do_action_deprecated( 'uap_before_trigger_completed', array( $user_id, $trigger_id, $recipe_id, $trigger_log_id, $args ), '3.0', 'automator_before_trigger_completed' ); do_action( 'automator_before_trigger_completed', $user_id, $trigger_id, $recipe_id, $trigger_log_id, $args ); $trigger_code = get_post_meta( $trigger_id, 'code', true ); $trigger_integration = Automator()->get->trigger_integration_from_trigger_code( $trigger_code ); if ( 0 === Automator()->plugin_status->get( $trigger_integration ) ) { // The plugin for this action is NOT active Automator()->error->add_error( 'complete_trigger', 'ERROR: You are trying to complete ' . $trigger_code . ' and the plugin ' . $trigger_integration . ' is not active.', $this ); return null; } Automator()->db->trigger->mark_complete( $trigger_id, $user_id, $recipe_id, $recipe_log_id, $trigger_log_id ); $maybe_continue = true; $process_further = array( 'maybe_continue_recipe_process' => $maybe_continue, 'recipe_id' => $recipe_id, 'user_id' => $user_id, 'recipe_log_id' => $recipe_log_id, 'trigger_log_id' => $trigger_log_id, 'trigger_id' => $trigger_id, 'args' => $args, ); //New filter.. see usage in pro $process_further = apply_filters_deprecated( 'uap_maybe_continue_recipe_process', array( $process_further ), '3.0', 'automator_maybe_continue_recipe_process' ); $process_further = apply_filters( 'automator_maybe_continue_recipe_process', $process_further ); extract( $process_further, EXTR_OVERWRITE ); //phpcs:ignore WordPress.PHP.DontExtract.extract_extract // The trigger is now completed do_action_deprecated( 'uap_trigger_completed', array( $process_further ), '3.0', 'automator_trigger_completed' ); do_action( 'automator_trigger_completed', $process_further ); // If all triggers for the recipe are completed if ( $maybe_continue && $this->triggers_completed( $recipe_id, $user_id, $recipe_log_id, $args ) ) { $this->complete_actions( $recipe_id, $user_id, $recipe_log_id, $args ); } return true; }
Expand full source code Collapse full source code View on Github