Wpf_Tokens::wpf_token( $value,  $pieces,  $recipe_id,  $trigger_data,  $user_id,  $replace_args )

Maybe Parse Token.


Parameters Parameters

$value

(Required)

$pieces

(Required)

$recipe_id

(Required)

$trigger_data

(Required)

$user_id

(Required)

$replace_args

(Required)


Top ↑

Return Return

(null|string)


Source Source

File: src/integrations/wpforms/tokens/wpf-tokens.php

	public function wpf_token( $value, $pieces, $recipe_id, $trigger_data, $user_id, $replace_args ) {
		$piece = 'WPFFORMS';
		if ( $pieces ) {
			if ( in_array( $piece, $pieces ) ) {
				global $wpdb;
				$trigger_id     = $pieces[0];
				$trigger_meta   = $pieces[1];
				$field          = $pieces[2];
				$trigger_log_id = isset( $replace_args['trigger_log_id'] ) ? absint( $replace_args['trigger_log_id'] ) : 0;
				$entry          = $wpdb->get_var( "SELECT meta_value
													FROM {$wpdb->prefix}uap_trigger_log_meta
													WHERE meta_key = '{$trigger_meta}'
													AND automator_trigger_log_id = {$trigger_log_id}
													AND automator_trigger_id = {$trigger_id}
													LIMIT 0,1" );
				if ( empty( $entry ) ) {
					$entry = $wpdb->get_var( "SELECT meta_value
												FROM {$wpdb->prefix}uap_trigger_log_meta
												WHERE meta_key = '$field'
												AND automator_trigger_log_id = $trigger_log_id
												AND automator_trigger_id = {$trigger_id}
												LIMIT 0,1" );
				}
				$entry    = maybe_unserialize( $entry );
				$to_match = "{$trigger_id}:{$trigger_meta}:{$field}";

				if ( is_array( $entry ) && key_exists( $to_match, $entry ) ) {
					$value = $entry[ $to_match ];
				}
			}
		}

		return $value;
	}