Ejemplo n.º 1
0
 /**
  * Process all variable replacements
  *
  * @param array     $email_data
  * @param object    $queue_item
  * @param FUE_Email $email
  * @return array
  */
 private function process_variable_replacements($email_data, $queue_item = null, $email = null)
 {
     if (is_null($queue_item)) {
         $queue_item = $this->queue;
     }
     if (is_null($email)) {
         $email = $this->email;
     }
     // define a constant that WPMandrill can pickup and use later
     if (!empty($email_data['campaigns'])) {
         define('FUE_GA_CAMPAIGN', json_encode(array_unique($email_data['campaigns'])));
     }
     if (!empty($codes)) {
         $email_data['store_url'] = add_query_arg($codes, $email_data['store_url']);
         $email_data['store_url_secure'] = add_query_arg($codes, $email_data['store_url_secure']);
         $email_data['unsubscribe'] = add_query_arg($codes, $email_data['unsubscribe']);
     }
     // default variable replacements
     $replacements = array('store_url' => $email_data['store_url'], 'store_url_secure' => $email_data['store_url_secure'], 'store_name' => $email_data['store_name'], 'unsubscribe_url' => $email_data['unsubscribe'], 'customer_username' => $email_data['username'], 'customer_first_name' => $email_data['first_name'], 'customer_last_name' => $email_data['last_name'], 'customer_name' => $email_data['cname'], 'customer_email' => $email_data['email_to']);
     $this->variables->register($replacements);
     if ($email && $email->type == 'manual') {
         if (!is_null($queue_item)) {
             $meta = maybe_unserialize($queue_item->meta);
         } else {
             // test email
             $meta = array('customer_username' => 'johndoe', 'customer_name' => 'John Doe');
         }
         $manual_variables = array('customer_username' => isset($meta['username']) ? $meta['username'] : '', 'customer_name' => !empty($meta['user_name']) ? $meta['user_name'] : '');
         $this->variables->register($manual_variables);
     }
     $email_data['message'] = do_shortcode($email_data['message']);
     // allow plugins to register their variables before applying the replacements
     do_action('fue_before_variable_replacements', $this->variables, $email_data, $email, $queue_item);
     $email_data['subject'] = $this->variables->apply_replacements($email_data['subject']);
     $email_data['message'] = $this->variables->apply_replacements($email_data['message']);
     // look for custom fields
     $email_data['message'] = preg_replace_callback('|\\{cf ([0-9]+) ([^}]*)\\}|', 'fue_add_custom_fields', $email_data['message']);
     // look for post id
     $email_data['message'] = preg_replace_callback('|\\{post_id=([^}]+)\\}|', 'fue_add_post', $email_data['message']);
     return $email_data;
 }
Ejemplo n.º 2
0
 /**
  * Register the coupon_code variable to be replaced
  *
  * @param FUE_Sending_Email_Variables   $var
  * @param array                 $email_data
  * @param FUE_Email             $email
  * @param object                $queue_item
  */
 public function register_variable_replacements($var, $email_data, $email, $queue_item)
 {
     $variables = array('coupon_code' => '');
     // use test data if the test flag is set
     if (isset($email_data['test']) && $email_data['test']) {
         $variables = $this->add_test_variable_replacements($variables, $email_data, $email);
     } else {
         $variables = $this->add_variable_replacements($variables, $email_data, $queue_item, $email);
     }
     $var->register($variables);
 }
 /**
  * Register subscription variables to be replaced
  *
  * @param FUE_Sending_Email_Variables   $var
  * @param array                 $email_data
  * @param FUE_Email             $email
  * @param object                $queue_item
  */
 public function register_variable_replacements($var, $email_data, $email, $queue_item)
 {
     $variables = array('subs_renew_date', 'subs_end_date', 'days_to_renew');
     // use test data if the test flag is set
     if (isset($email_data['test']) && $email_data['test']) {
         $variables = $this->add_test_variable_replacements($variables, $email_data, $email);
     } else {
         $variables = $this->add_variable_replacements($variables, $email_data, $queue_item, $email);
     }
     $var->register($variables);
 }
 /**
  * class constructor
  *
  * Setup the variables that are common to all email types
  *
  */
 public function __construct()
 {
     $this->init();
     self::$instance = $this;
 }
 /**
  * Register subscription variables to be replaced
  *
  * @param FUE_Sending_Email_Variables   $var
  * @param array                 $email_data
  * @param FUE_Email             $email
  * @param object                $queue_item
  */
 public function register_variable_replacements($var, $email_data, $email, $queue_item)
 {
     $variables = array('event_name', 'event_start_datetime', 'event_end_datetime', 'event_link', 'event_url', 'event_location', 'event_organizer', 'ticket_name', 'ticket_description');
     // use test data if the test flag is set
     if (isset($email_data['test']) && $email_data['test']) {
         $variables = $this->add_test_variable_replacements($variables, $email_data, $email);
     } else {
         $variables = $this->add_variable_replacements($variables, $email_data, $queue_item, $email);
     }
     $var->register($variables);
 }
 /**
  * Register variables for replacement
  *
  * @param FUE_Sending_Email_Variables   $var
  * @param array                 $email_data
  * @param FUE_Email             $email
  * @param object                $queue_item
  */
 public function register_variable_replacements($var, $email_data, $email, $queue_item)
 {
     $variables = array('points_earned', 'reward_event_description');
     // use test data if the test flag is set
     if (isset($email_data['test']) && $email_data['test']) {
         $variables = $this->add_test_variable_replacements($variables, $email_data, $email);
     } else {
         $variables = $this->add_variable_replacements($variables, $email_data, $queue_item, $email);
     }
     $var->register($variables);
 }
Ejemplo n.º 7
0
 /**
  * Register subscription variables to be replaced
  *
  * @param FUE_Sending_Email_Variables   $var
  * @param array                 $email_data
  * @param FUE_Email             $email
  * @param object                $queue_item
  */
 public function register_variable_replacements($var, $email_data, $email, $queue_item)
 {
     $variables = array('item_category', 'item_name', 'booking_duration', 'booking_date', 'booking_time', 'booking_amount', 'booking_resource', 'booking_persons');
     // use test data if the test flag is set
     if (isset($email_data['test']) && $email_data['test']) {
         $variables = $this->add_test_variable_replacements($variables, $email_data, $email);
     } else {
         $variables = $this->add_variable_replacements($variables, $email_data, $queue_item, $email);
     }
     $var->register($variables);
 }
 /**
  * Register additional variables to be replaced
  *
  * @param FUE_Sending_Email_Variables $var
  * @param array                 $email_data
  * @param FUE_Email             $email
  * @param object                $queue_item
  *
  * @return void
  */
 public function register_email_variable_replacements($var, $email_data, $email, $queue_item = null)
 {
     $variables = $this->get_variables_for_email_type($email->type);
     if (!empty($variables)) {
         // use test data if the test flag is set
         if (isset($email_data['test']) && $email_data['test']) {
             $variables = $this->add_test_variable_replacements($variables, $email_data, $email);
         } else {
             $variables = $this->add_variable_replacements($variables, $email_data, $queue_item, $email);
         }
         $var->register($variables);
     }
 }