class-affiliates-notifications.php 10.4 KB
<?php
 class Affiliates_Notifications { const IXAP468 = 'affiliates_notifications'; const IXAP314 = 'registration_enabled'; const IXAP340 = true; const IXAP319 = 'registration_subject'; const IXAP321 = 'registration_message'; const IXAP315 = 'admin_registration_subject'; const IXAP317 = 'admin_registration_message'; const IXAP316 = '[[site_title]] New Affiliate Registration'; const IXAP318 = 'New affiliate registration on your site [site_title]:<br/>
<br/>
Username: [user_login]<br/>
E-mail: [user_email]<br/>'; const IXAP320 = '[[site_title]] Your username and password'; const IXAP322 = 'Username: [username]<br/>
Password: [password]<br/>
[site_login_url]<br/>'; const IXAP323 = 'enabled'; const IXAP324 = 'notify_admin'; const IXAP325 = 'notify_admin_email'; const IXAP328 = 'notify_admin_status'; const IXAP329 = 'admin_subject'; const IXAP331 = 'admin_message'; const IXAP330 = 'Referral'; const IXAP332 = 'A referral has been credited to the affiliate [affiliate_name] (ID [affiliate_id]) on <a href="[site_url]">[site_title]</a>.<br/>'; const IXAP333 = 'notify_affiliate'; const IXAP335 = 'notify_affiliate_status'; const IXAP336 = 'subject'; const MESSAGE = 'message'; const IXAP337 = 'Referral'; const IXAP338 = 'Hi [affiliate_name],<br/>
A referral has been credited to you on <a href="[site_url]">[site_title]</a>.<br/>
<br/>
Greetings,<br/>
[site_title]<br/>
[site_url]<br/>'; public static function init() { add_filter( 'pre_option_aff_notify_affiliate_user', array( __CLASS__, 'pre_option_aff_notify_affiliate_user' ) ); add_filter( 'affiliates_new_affiliate_user_registration_subject', array( __CLASS__, 'affiliates_new_affiliate_user_registration_subject' ), 10, 2 ); add_filter( 'affiliates_new_affiliate_user_registration_message', array( __CLASS__, 'affiliates_new_affiliate_user_registration_message' ), 10, 2 ); add_filter( 'affiliates_new_affiliate_user_registration_headers', array( __CLASS__, 'affiliates_new_affiliate_user_registration_headers' ), 10, 2 ); add_filter( 'affiliates_new_affiliate_registration_subject', array( __CLASS__, 'affiliates_new_affiliate_registration_subject' ), 10, 2 ); add_filter( 'affiliates_new_affiliate_registration_message', array( __CLASS__, 'affiliates_new_affiliate_registration_message' ), 10, 2 ); add_filter( 'affiliates_new_affiliate_registration_headers', array( __CLASS__, 'affiliates_new_affiliate_registration_headers' ), 10, 2 ); $IXAP313 = get_option( 'affiliates_notifications', array() ); if ( !empty( $IXAP313['enabled'] ) && $IXAP313['enabled'] ) { add_action( 'affiliates_referral', array( __CLASS__, 'affiliates_referral' ) ); add_action( 'affiliates_updated_referral', array( __CLASS__, 'affiliates_updated_referral' ), 10, 4 ); } } public static function pre_option_aff_notify_affiliate_user( $IXAP87 ) { $IXAP313 = get_option( 'affiliates_notifications', array() ); $IXAP339 = isset( $IXAP313[Affiliates_Notifications::IXAP314] ) ? $IXAP313[Affiliates_Notifications::IXAP314] : Affiliates_Notifications::IXAP340; if ( $IXAP339 ) { $IXAP87 = 'yes'; } else { $IXAP87 = 'no'; } return $IXAP87; } public static function affiliates_new_affiliate_registration_subject( $IXAP350, $IXAP35 ) { $IXAP313 = get_option( 'affiliates_notifications', array() ); $IXAP341 = isset( $IXAP313[Affiliates_Notifications::IXAP315] ) ? $IXAP313[Affiliates_Notifications::IXAP315] : Affiliates_Notifications::IXAP316; $IXAP469 = self::get_registration_tokens( $IXAP35 ); $IXAP350 = self::substitute_tokens( stripslashes( $IXAP341 ), $IXAP469 ); return $IXAP350; } public static function affiliates_new_affiliate_registration_message( $message, $IXAP35 ) { $IXAP313 = get_option( 'affiliates_notifications', array() ); $IXAP342 = isset( $IXAP313[Affiliates_Notifications::IXAP317] ) ? $IXAP313[Affiliates_Notifications::IXAP317] : Affiliates_Notifications::IXAP318; $IXAP469 = self::get_registration_tokens( $IXAP35 ); $message = self::substitute_tokens( stripslashes( $IXAP342 ), $IXAP469 ); return $message; } public static function affiliates_new_affiliate_registration_headers( $IXAP470 = '', $IXAP35 = array() ) { $IXAP470 .= 'Content-type: text/html; charset="' . get_option( 'blog_charset' ) . '"' . "\r\n"; return $IXAP470; } public static function affiliates_new_affiliate_user_registration_subject( $IXAP350, $IXAP35 ) { $IXAP313 = get_option( 'affiliates_notifications', array() ); $IXAP341 = isset( $IXAP313[Affiliates_Notifications::IXAP319] ) ? $IXAP313[Affiliates_Notifications::IXAP319] : Affiliates_Notifications::IXAP320; $IXAP469 = self::get_registration_tokens( $IXAP35 ); $IXAP350 = self::substitute_tokens( stripslashes( $IXAP341 ), $IXAP469 ); return $IXAP350; } public static function affiliates_new_affiliate_user_registration_message( $message, $IXAP35 ) { $IXAP313 = get_option( 'affiliates_notifications', array() ); $IXAP342 = isset( $IXAP313[Affiliates_Notifications::IXAP321] ) ? $IXAP313[Affiliates_Notifications::IXAP321] : Affiliates_Notifications::IXAP322; $IXAP469 = self::get_registration_tokens( $IXAP35 ); $message = self::substitute_tokens( stripslashes( $IXAP342 ), $IXAP469 ); return $message; } public static function affiliates_new_affiliate_user_registration_headers( $IXAP470 = '', $IXAP35 = array() ) { $IXAP470 .= 'Content-type: text/html; charset="' . get_option( 'blog_charset' ) . '"' . "\r\n"; return $IXAP470; } private static function get_registration_tokens( $IXAP35 ) { $IXAP469 = array(); foreach( $IXAP35 as $IXAP78 => $IXAP87 ) { if ( is_string( $IXAP87 ) ) { $IXAP469[$IXAP78] = $IXAP87; } } $IXAP469['site_title'] = wp_specialchars_decode( get_bloginfo( 'blogname' ), ENT_QUOTES ); $IXAP469['site_url'] = get_bloginfo( 'url' ); if ( isset( $IXAP35['user_id'] ) ) { $IXAP9 = intval( $IXAP35['user_id'] ); if ( ( $IXAP95 = get_user_by( 'id', $IXAP9 ) ) ) { require_once AFFILIATES_CORE_LIB . '/class-affiliates-settings.php'; require_once AFFILIATES_CORE_LIB . '/class-affiliates-settings-registration.php'; $IXAP357 = Affiliates_Settings_Registration::get_fields(); if ( !empty( $IXAP357 ) ) { foreach( $IXAP357 as $name => $IXAP212 ) { if ( $IXAP212['enabled'] ) { $IXAP252 = isset( $IXAP212['type'] ) ? $IXAP212['type'] : 'text'; switch( $name ) { case 'user_login' : $IXAP87 = $IXAP95->user_login; break; case 'user_email' : $IXAP87 = $IXAP95->user_email; break; case 'user_url' : $IXAP87 = $IXAP95->user_url; break; case 'password' : $IXAP87 = ''; break; default : $IXAP87 = get_user_meta( $IXAP9, $name , true ); } if ( !isset( $IXAP469[$name] ) ) { $IXAP469[$name] = esc_attr( stripslashes( $IXAP87 ) ); } } } } } } $IXAP469 = apply_filters( 'affiliates_registration_tokens', $IXAP469 ); return $IXAP469; } private static function substitute_tokens( $IXAP74, $IXAP469 ) { foreach ( $IXAP469 as $IXAP78 => $IXAP87 ) { if ( key_exists( $IXAP78, $IXAP469 ) ) { $IXAP471 = $IXAP469[$IXAP78]; $IXAP74 = str_replace( "[" . $IXAP78 . "]", $IXAP471, $IXAP74 ); } } return $IXAP74; } public static function affiliates_referral( $IXAP276 ) { global $affiliates_db; $IXAP49 = $affiliates_db->get_tablename( 'referrals' ); if ( $IXAP225 = $affiliates_db->get_objects( "SELECT * FROM $IXAP49 WHERE referral_id = %d", intval( $IXAP276 ) ) ) { if ( isset( $IXAP225[0] ) ) { $IXAP472 = $IXAP225[0]; if ( $IXAP370 = affiliates_get_affiliate( $IXAP472->affiliate_id ) ) { $IXAP313 = get_option( 'affiliates_notifications', array() ); $IXAP346 = isset( $IXAP313[self::IXAP324] ) ? $IXAP313[self::IXAP324] : false; $IXAP326 = isset( $IXAP313[self::IXAP325] ) ? $IXAP313[self::IXAP325] : ''; $IXAP349 = isset( $IXAP313[self::IXAP333] ) ? $IXAP313[self::IXAP333] : false; if ( $IXAP346 || $IXAP349 ) { require_once( dirname( AFFILIATES_PRO_FILE ) . '/lib/ext/includes/class-affiliates-mail.php' ); $IXAP473 = new Affiliates_Mail(); $IXAP473->mailer = 'wp_mail'; $IXAP473->charset = get_option( 'blog_charset' ); $IXAP474 = wp_specialchars_decode( get_bloginfo( 'blogname' ), ENT_QUOTES ); $IXAP475 = get_bloginfo( 'url' ); $IXAP469 = apply_filters( 'affiliates_notifications_tokens', array( 'site_title' => $IXAP474, 'site_url' => $IXAP475, 'affiliate_name' => wp_filter_nohtml_kses( $IXAP370['name'] ), 'affiliate_id' => $IXAP370['affiliate_id'], 'affiliate_email' => $IXAP370['email'], 'referral_status' => $IXAP472->status, 'referral_id' => $IXAP472->referral_id, 'referral_amount' => $IXAP472->amount, 'referral_currency_id' => $IXAP472->currency_id, 'referral_type' => $IXAP472->type, 'referral_reference' => $IXAP472->reference ) ); $IXAP476 = array(); $IXAP214 = array(); if ( !empty( $IXAP472->data ) ) { $IXAP214 = unserialize( $IXAP472->data ); if ( $IXAP214 && is_array( $IXAP214 ) ) { $IXAP476 = array_keys( $IXAP214 ); } } $IXAP476 = apply_filters( 'affiliates_notifications_data_tokens', $IXAP476, $IXAP469 ); $IXAP214 = apply_filters( 'affiliates_notifications_data', $IXAP214, $IXAP476, $IXAP469 ); if ( $IXAP346 ) { $IXAP477 = empty( $IXAP326 ) ? get_bloginfo( 'admin_email' ) : $IXAP326; if ( !empty( $IXAP477 ) ) { $IXAP327 = isset( $IXAP313[Affiliates_Notifications::IXAP328] ) ? $IXAP313[Affiliates_Notifications::IXAP328] : array( AFFILIATES_REFERRAL_STATUS_ACCEPTED ); if ( in_array( $IXAP472->status, $IXAP327 ) ) { $IXAP347 = isset( $IXAP313[self::IXAP329] ) ? $IXAP313[self::IXAP329] : self::IXAP330; $IXAP348 = isset( $IXAP313[self::IXAP331] ) ? $IXAP313[self::IXAP331] : self::IXAP332; $IXAP473->mail( $IXAP477, stripslashes( wp_filter_nohtml_kses( $IXAP347 ) ), stripslashes( wp_filter_post_kses( $IXAP348 ) ), $IXAP469, $IXAP476, $IXAP214 ); } } } if ( $IXAP349 ) { if ( !empty( $IXAP370['email'] ) ) { $IXAP334 = isset( $IXAP313[Affiliates_Notifications::IXAP335] ) ? $IXAP313[Affiliates_Notifications::IXAP335] : array( AFFILIATES_REFERRAL_STATUS_ACCEPTED ); if ( in_array( $IXAP472->status, $IXAP334 ) ) { $IXAP350 = isset( $IXAP313[self::IXAP336] ) ? $IXAP313[self::IXAP336] : self::IXAP337; $message = isset( $IXAP313[self::MESSAGE] ) ? $IXAP313[self::MESSAGE] : self::IXAP338; $IXAP473->mail( $IXAP370['email'], stripslashes( wp_filter_nohtml_kses( $IXAP350 ) ), stripslashes( wp_filter_post_kses( $message ) ), $IXAP469, $IXAP476, $IXAP214 ); } } } } } } } } public static function affiliates_updated_referral( $IXAP276, $IXAP273, $IXAP90, $IXAP279 ) { $IXAP30 = count( $IXAP273 ); for( $IXAP80 = 0; $IXAP80 < $IXAP30; $IXAP80++ ) { if ( $IXAP273[$IXAP80] == 'status' ) { $IXAP61 = $IXAP90[$IXAP80]; $IXAP478 = $IXAP279[$IXAP80]; if ( ( $IXAP61 == AFFILIATES_REFERRAL_STATUS_ACCEPTED ) && ( $IXAP478 == AFFILIATES_REFERRAL_STATUS_PENDING ) ) { self::affiliates_referral( $IXAP276 ); } } } } } add_action( 'init', array( 'Affiliates_Notifications', 'init' ) );