public function replace_vars($text, $email_order) { global $wpdb; $ticket_id = $email_order->product_id; $event_id = get_post_meta($ticket_id, '_tribe_wooticket_for_event', true); $woo_tickets = TribeWooTickets::get_instance(); $ticket = $woo_tickets->get_ticket($event_id, $ticket_id); // Ticket Vars $ticket_name = $ticket->name; $ticket_desc = $ticket->description; // Event Vars $event_name = get_the_title($event_id); $event_link = '<a href="' . get_permalink($event_id) . '">' . $event_name . '</a>'; $event_url = get_permalink($event_id); $event_location = ''; $event_org = ''; $event_start = ''; $event_end = ''; $venue_id = get_post_meta($event_id, '_EventVenueID', true); if (!empty($venue_id)) { $venue_name = get_post_meta($venue_id, '_VenueVenue', true); $venue_address = get_post_meta($venue_id, '_VenueAddress', true); $venue_city = get_post_meta($venue_id, '_VenueCity', true); $venue_country = get_post_meta($venue_id, '_VenueCountry', true); $venue_state = get_post_meta($venue_id, '_VenueStateProvince', true); $venue_zip = get_post_meta($venue_id, '_VenueZip', true); $event_location = sprintf('<b>%s</b><br/>%s<br/>%s, %s<br/>%s %s', $venue_name, $venue_address, $venue_city, $venue_state, $venue_country, $venue_zip); } $org_id = get_post_meta($event_id, '_EventOrganizerID', true); if (!empty($org_id)) { $event_org = get_post_meta($org_id, '_OrganizerOrganizer', true); } $start_stamp = strtotime(get_post_meta($event_id, '_EventStartDate', true)); if ($start_stamp) { $event_start = date(get_option('date_format') . ' ' . get_option('time_format'), $start_stamp); } $end_stamp = strtotime(get_post_meta($event_id, '_EventEndDate', true)); if ($end_stamp) { $event_end = date(get_option('date_format') . ' ' . get_option('time_format'), $end_stamp); } $search = array('{event_name}', '{event_start_datetime}', '{event_end_datetime}', '{event_link}', '{event_url}', '{event_location}', '{event_organizer}', '{ticket_name}', '{ticket_description}'); $replacements = array($event_name, $event_start, $event_end, $event_link, $event_url, $event_location, $event_org, $ticket_name, $ticket_desc); $text = str_replace($search, $replacements, $text); return $text; }
/** * Scan through the keys of $variables and apply the replacement if one is found * @param array $variables * @param array $email_data * @param object $queue_item * @param FUE_Email $email * @return array */ protected function add_variable_replacements($variables, $email_data, $queue_item, $email) { $ticket_id = $queue_item->product_id; if (!$ticket_id) { return $variables; } $event_id = get_post_meta($ticket_id, '_tribe_wooticket_for_event', true); $woo_tickets = TribeWooTickets::get_instance(); $ticket = $woo_tickets->get_ticket($event_id, $ticket_id); // Ticket Vars $ticket_name = $ticket->name; $ticket_desc = $ticket->description; // Event Vars $event_name = get_the_title($event_id); $event_link = '<a href="' . get_permalink($event_id) . '">' . $event_name . '</a>'; $event_url = get_permalink($event_id); $event_location = ''; $event_org = ''; $event_start = ''; $event_end = ''; $venue_id = get_post_meta($event_id, '_EventVenueID', true); if (!empty($venue_id)) { $venue_name = get_post_meta($venue_id, '_VenueVenue', true); $venue_address = get_post_meta($venue_id, '_VenueAddress', true); $venue_city = get_post_meta($venue_id, '_VenueCity', true); $venue_country = get_post_meta($venue_id, '_VenueCountry', true); $venue_state = get_post_meta($venue_id, '_VenueStateProvince', true); $venue_zip = get_post_meta($venue_id, '_VenueZip', true); $event_location = sprintf('<b>%s</b><br/>%s<br/>%s, %s<br/>%s %s', $venue_name, $venue_address, $venue_city, $venue_state, $venue_country, $venue_zip); } $org_id = get_post_meta($event_id, '_EventOrganizerID', true); if (!empty($org_id)) { $event_org = get_post_meta($org_id, '_OrganizerOrganizer', true); } $start_stamp = strtotime(get_post_meta($event_id, '_EventStartDate', true)); if ($start_stamp) { $event_start = date(get_option('date_format') . ' ' . get_option('time_format'), $start_stamp); } $end_stamp = strtotime(get_post_meta($event_id, '_EventEndDate', true)); if ($end_stamp) { $event_end = date(get_option('date_format') . ' ' . get_option('time_format'), $end_stamp); } $variables['event_name'] = $event_name; $variables['event_start_datetime'] = $event_start; $variables['event_end_datetime'] = $event_end; $variables['event_link'] = $event_link; $variables['event_url'] = $event_url; $variables['event_location'] = $event_location; $variables['event_organizer'] = $event_org; $variables['ticket_name'] = $ticket_name; $variables['ticket_description'] = $ticket_desc; return $variables; }