Affwp_Tokens
Source Source
File: src/integrations/affiliate-wp/tokens/affwp-tokens.php
class Affwp_Tokens { /** Integration code * @var string */ public static $integration = 'AFFWP'; public function __construct() { add_filter( 'automator_maybe_parse_token', [ $this, 'parse_affwp_trigger_tokens' ], 20, 6 ); add_filter( 'automator_maybe_trigger_affwp_tokens', [ $this, 'affwp_possible_affiliate_tokens', ], 20, 2 ); add_filter( 'automator_maybe_trigger_affwp_specificetyperef_tokens', [ $this, 'affwp_possible_affiliate_ref_tokens', ], 20, 2 ); } function affwp_possible_affiliate_tokens( $tokens = array(), $args = array() ) { $trigger_integration = $args['integration']; $trigger_meta = $args['meta']; $metas = [ 'APPROVEDAFFILIATE', 'NEWAFFILIATE', 'APPROVALWAITING' ]; if ( $trigger_integration === 'AFFWP' && in_array( $trigger_meta, $metas ) ) { $fields = [ [ 'tokenId' => 'AFFILIATEWPID', 'tokenName' => __( 'Affiliate ID', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPURL', 'tokenName' => __( 'Affiliate URL', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPSTATUS', 'tokenName' => __( 'Affiliate status', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPREGISTERDATE', 'tokenName' => __( 'Registration date', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPWEBSITE', 'tokenName' => __( 'Website', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPREFRATETYPE', 'tokenName' => __( 'Referral rate type', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPREFRATE', 'tokenName' => __( 'Referral rate', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPCOUPON', 'tokenName' => __( 'Dynamic coupon', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPACCEMAIL', 'tokenName' => __( 'Account email', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPPAYMENTEMAIL', 'tokenName' => __( 'Payment email', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPPROMOMETHODS', 'tokenName' => __( 'Promotion methods', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPNOTES', 'tokenName' => __( 'Affiliate notes', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], ]; $tokens = array_merge( $tokens, $fields ); } return $tokens; } function affwp_possible_affiliate_ref_tokens( $tokens = array(), $args = array() ) { $trigger_integration = $args['integration']; $trigger_meta = $args['meta']; $fields = [ [ 'tokenId' => 'AFFILIATEWPID', 'tokenName' => __( 'Affiliate ID', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPURL', 'tokenName' => __( 'Affiliate URL', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPSTATUS', 'tokenName' => __( 'Affiliate status', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPREGISTERDATE', 'tokenName' => __( 'Registration date', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPWEBSITE', 'tokenName' => __( 'Website', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPREFRATETYPE', 'tokenName' => __( 'Referral rate type', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPREFRATE', 'tokenName' => __( 'Referral rate', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPCOUPON', 'tokenName' => __( 'Dynamic coupon', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPACCEMAIL', 'tokenName' => __( 'Account email', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPPAYMENTEMAIL', 'tokenName' => __( 'Payment email', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPPROMOMETHODS', 'tokenName' => __( 'Promotion methods', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'AFFILIATEWPNOTES', 'tokenName' => __( 'Affiliate notes', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'REFERRALAMOUNT', 'tokenName' => __( 'Referral amount', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'REFERRALDATE', 'tokenName' => __( 'Referral date', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'REFERRALDESCRIPTION', 'tokenName' => __( 'Referral description', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'REFERRALREFERENCE', 'tokenName' => __( 'Referral reference', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'REFERRALCONTEXT', 'tokenName' => __( 'Referral context', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'REFERRALCUSTOM', 'tokenName' => __( 'Referral custom', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], [ 'tokenId' => 'REFERRALSTATUS', 'tokenName' => __( 'Referral status', 'uncanny-automator' ), 'tokenType' => 'text', 'tokenIdentifier' => $trigger_meta, ], ]; $tokens = array_merge( $tokens, $fields ); return $tokens; } /** * @param $value * @param $pieces * @param $recipe_id * @param $trigger_data * @param int $user_id * @param $replace_args * * @return int|mixed|string */ function parse_affwp_trigger_tokens( $value, $pieces, $recipe_id, $trigger_data, $user_id, $replace_args ) { if ( $pieces ) { if ( in_array( 'SPECIFICETYPEREF', $pieces ) || in_array( 'SENTENCE_HUMAN_READABLE', $pieces ) || in_array( 'AFFWPAPPROVAL', $pieces ) || in_array( 'APPROVALWAITING', $pieces ) || in_array( 'APPROVEDAFFILIATE', $pieces ) || in_array( 'USERBECOMESAFFILIATE', $pieces ) || in_array( 'NEWAFFILIATE', $pieces ) || in_array( 'ACCOUNTAPPROVED', $pieces ) || in_array( 'AFFWPREJECTREFERRAL', $pieces ) || in_array( 'AFFWPPAIDREFERRAL', $pieces ) ) { global $wpdb; $trigger_id = $pieces[0]; $trigger_meta = $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" ); $value = maybe_unserialize( $entry ); } } return $value; } }
Expand full source code Collapse full source code View on Github