Trigger_Process

Trait Trigger_Process

Contents

  • Methods

  • Source Source

    File: src/core/lib/recipe-parts/triggers/trait-trigger-process.php

    trait Trigger_Process {
    	/**
    	 * User ID of the actor who triggered recipe
    	 *
    	 * @var $user_id
    	 */
    	protected $user_id;
    
    	/**
    	 * @var
    	 */
    	protected $post_id;
    
    	/**
    	 * @var
    	 */
    	protected $trigger_to_match;
    
    	/**
    	 * @var
    	 */
    	protected $recipe_to_match;
    
    	/**
    	 * @var bool
    	 */
    	protected $ignore_post_id = false;
    
    	/**
    	 * @var
    	 */
    	protected $is_signed_in;
    
    	/**
    	 * @var bool
    	 */
    	protected $trigger_autocomplete = false;
    
    	/**
    	 * @var array
    	 */
    	protected $trigger_args = array();
    
    	/**
    	 * @return array
    	 */
    	public function get_trigger_args(): array {
    		return $this->trigger_args;
    	}
    
    	/**
    	 * @param array $trigger_args
    	 */
    	public function set_trigger_args( array $trigger_args ): void {
    		$this->trigger_args = $trigger_args;
    	}
    
    	/**
    	 * @return mixed
    	 */
    	public function get_user_id() {
    		if ( empty( $this->user_id ) && is_user_logged_in() ) {
    			$this->user_id = wp_get_current_user()->ID;
    		}
    
    		return $this->user_id;
    	}
    
    	/**
    	 * @param mixed $user_id
    	 */
    	public function set_user_id( $user_id ): void {
    		$this->user_id = $user_id;
    	}
    
    	/**
    	 * @return bool
    	 */
    	public function do_trigger_autocomplete(): bool {
    		return $this->trigger_autocomplete;
    	}
    
    	/**
    	 * @param bool $trigger_autocomplete
    	 */
    	public function set_trigger_autocomplete( bool $trigger_autocomplete = true ): void {
    		$this->trigger_autocomplete = $trigger_autocomplete;
    	}
    
    	/**
    	 * @return mixed
    	 */
    	public function get_trigger_to_match() {
    		return $this->trigger_to_match;
    	}
    
    	/**
    	 * @param mixed $trigger_to_match
    	 */
    	public function set_trigger_to_match( $trigger_to_match ): void {
    		$this->trigger_to_match = $trigger_to_match;
    	}
    
    	/**
    	 * @return mixed
    	 */
    	public function get_recipe_to_match() {
    		return $this->recipe_to_match;
    	}
    
    	/**
    	 * @param mixed $recipe_to_match
    	 */
    	public function set_recipe_to_match( $recipe_to_match ): void {
    		$this->recipe_to_match = $recipe_to_match;
    	}
    
    	/**
    	 * @return bool
    	 */
    	public function is_ignore_post_id(): bool {
    		return $this->ignore_post_id;
    	}
    
    	/**
    	 * @param bool $ignore_post_id
    	 */
    	public function set_ignore_post_id( bool $ignore_post_id ): void {
    		$this->ignore_post_id = $ignore_post_id;
    	}
    
    	/**
    	 * @return mixed
    	 */
    	public function get_is_signed_in() {
    		return $this->is_signed_in;
    	}
    
    	/**
    	 * @param mixed $is_signed_in
    	 */
    	public function set_is_signed_in( $is_signed_in ): void {
    		$this->is_signed_in = $is_signed_in;
    	}
    
    	/**
    	 * @return mixed
    	 */
    	public function get_post_id() {
    		return $this->post_id;
    	}
    
    	/**
    	 * @param mixed $post_id
    	 */
    	public function set_post_id( $post_id ): void {
    		$this->post_id = $post_id;
    	}
    
    	/**
    	 * @param $entry_args
    	 * @param $args
    	 *
    	 * @SuppressWarnings(PHPMD.UnusedFormalParameter)
    	 */
    	protected function manually_complete_trigger( $entry_args, $args ) {
    
    	}
    
    	/**
    	 * @param $args
    	 *
    	 * @return mixed|void
    	 */
    	protected function prepare_entry_args( $args ) {
    		$pass_args = array(
    			'code'    => $this->get_trigger_code(),
    			'meta'    => $this->get_trigger_meta(),
    			'user_id' => $this->get_user_id(),
    		);
    
    		if ( null !== $this->get_post_id() && null === $this->get_trigger_to_match() && null === $this->get_recipe_to_match() ) {
    			$pass_args['post_id'] = $this->get_post_id();
    		}
    
    		if ( null !== $this->get_trigger_to_match() ) {
    			$pass_args['trigger_to_match'] = $this->get_trigger_to_match();
    		}
    
    		if ( null !== $this->get_recipe_to_match() ) {
    			$pass_args['recipe_to_match'] = $this->get_recipe_to_match();
    		}
    
    		if ( null !== $this->get_is_signed_in() ) {
    			$pass_args['is_signed_in'] = $this->get_is_signed_in();
    		}
    
    		if ( $this->is_ignore_post_id() ) {
    			$pass_args['ignore_post_id'] = $this->is_ignore_post_id();
    		}
    
    		$this->set_trigger_args( $pass_args );
    
    		return apply_filters( 'automator_trigger_entry_args', $this->get_trigger_args(), $args );
    	}
    }
    

    Methods Methods