attendee->event_id, $data->event->event_identifier, $data->attendee->registration_id, $data->attendee->fname, $data->attendee->lname, $data->event->venue_phone, $data->event->event_name, $data->event->event_name, $data->event->event_desc, $data->event_link, $data->event_url, $data->event->virtual_url, $data->event->virtual_phone, //Venue information $data->event->venue_name, $data->event->venue_url, $data->event->venue_image, $data->event->venue_phone, $data->location, //For the "[venue_address]" shortcode shows the venue address //Payment details $data->attendee->txn_id, $org_options['currency_symbol'] . espresso_attendee_price(array('registration_id' => $data->attendee->registration_id, 'session_total' => true)), $org_options['currency_symbol'] . espresso_attendee_price(array('registration_id' => $data->attendee->registration_id, 'session_total' => true)), $data->attendee->price_option, $data->ticket_link, empty($data->certificate_link) ? '' : $data->certificate_link, $data->event->alt_email == '' ? $org_options['contact_email'] : $data->event->alt_email, //Organization details $org_options['organization'], $org_options['organization_street1'], $org_options['organization_street2'], $org_options['organization_city'], $org_options['organization_state'], $org_options['organization_zip'], $data->payment_link, $data->invoice_link, event_date_display($data->attendee->start_date), event_date_display($data->attendee->event_time, get_option('time_format')), event_date_display($data->attendee->end_date), event_date_display($data->attendee->end_time, get_option('time_format')), $data->location, $data->event->venue_phone, $data->google_map_link, $data->table_open . $data->table_heading . $data->event_table . $data->table_close, $data->email_questions, $data->qr_code, $data->edit_attendee, apply_filters('filter_hook_espresso_display_add_to_calendar_by_attendee_id', $data->attendee->id) ); //Get the questions and answers $questions = $wpdb->get_results("select qst.question as question, ans.answer as answer from " . EVENTS_ANSWER_TABLE . " ans inner join " . EVENTS_QUESTION_TABLE . " qst on ans.question_id = qst.id where ans.attendee_id = " . $data->attendee->id, ARRAY_A); //echo '

'.print_r($questions).'

'; if ($wpdb->num_rows > 0 && $wpdb->last_result[0]->question != NULL) { foreach ($questions as $q) { $k = $q['question']; $v = $q['answer']; //Output the question array_push($SearchValues, "[" . 'question_' . $k . "]"); array_push($ReplaceValues, $k); //Output the answer array_push($SearchValues, "[" . 'answer_' . $k . "]"); array_push($ReplaceValues, $v); } } //Get the event meta //echo '

'.print_r($data->event->event_meta).'

'; if (!empty($data->event->event_meta)) { foreach ($data->event->event_meta as $k => $v) { if (!empty($k) && !is_array($v)) { array_push($SearchValues, "[" . $k . "]"); array_push($ReplaceValues, stripslashes_deep($v)); } } } //Perform the replacement return str_replace($SearchValues, $ReplaceValues, $message); } //Build the email function espresso_prepare_email_data($attendee_id, $multi_reg, $custom_data='') { global $wpdb, $org_options; do_action('action_hook_espresso_log', __FILE__, __FUNCTION__, ''); $data = new stdClass; $data->multi_reg = $multi_reg; $data->seatingchart_tag = ''; //print_r($custom_data); //Create vars for the custom data if (!empty($custom_data)) { extract($custom_data, EXTR_PREFIX_ALL, 'custom_data'); } //echo $custom_data_email_type; //Get the event record if (empty($custom_data_email_type)) { $custom_data_email_type = ''; } $data->email_type = $custom_data_email_type; $sql = "SELECT ed.* "; isset($org_options['use_venue_manager']) && $org_options['use_venue_manager'] == 'Y' ? $sql .= ", v.name venue_name, v.address venue_address, v.address2 venue_address2, v.city venue_city, v.state venue_state, v.zip venue_zip, v.country venue_country, v.meta venue_meta " : ''; $sql .= " FROM " . EVENTS_DETAIL_TABLE . " ed "; isset($org_options['use_venue_manager']) && $org_options['use_venue_manager'] == 'Y' ? $sql .= " LEFT JOIN " . EVENTS_VENUE_REL_TABLE . " r ON r.event_id = ed.id LEFT JOIN " . EVENTS_VENUE_TABLE . " v ON v.id = r.venue_id " : ''; $sql .= " JOIN " . EVENTS_ATTENDEE_TABLE . " ea ON ea.event_id=ed.id "; $sql .= " WHERE ea.id = '" . $attendee_id . "' "; $data->event = $wpdb->get_row($sql, OBJECT); //Get the attendee record $sql = "SELECT ea.* FROM " . EVENTS_ATTENDEE_TABLE . " ea WHERE ea.id = '" . $attendee_id . "' "; $data->attendee = $wpdb->get_row($sql, OBJECT); //Get the primary/first attendee $data->primary_attendee = espresso_is_primary_attendee($data->attendee->id) == true ? true : false; $data->event->event_meta = unserialize($data->event->event_meta); //Venue variables if (isset($org_options['use_venue_manager']) && $org_options['use_venue_manager'] == 'Y') { $data->event->venue_meta = unserialize($data->event->venue_meta); //Debug //echo "
".print_r($data->event->venue_meta,true)."
"; $data->event->venue_url = $data->event->venue_meta['website']; $data->event->venue_phone = $data->event->venue_meta['phone']; $data->event->venue_image = ''; $data->event->venue_name = $data->event->venue_name; $data->event->address = $data->event->venue_address; $data->event->address2 = $data->event->venue_address2; $data->event->city = $data->event->venue_city; $data->event->state = $data->event->venue_state; $data->event->zip = $data->event->venue_zip; $data->event->country = $data->event->venue_country; } else { $data->event->venue_name = $data->event->venue_title; } //Build the table to hold the event and attendee info $data->table_open = ''; $data->table_heading = ""; $data->table_close = "
" . __('Event Name', 'event_espresso') . "" . __('Date', 'event_espresso') . "" . __('Time', 'event_espresso') . "" . __('Location', 'event_espresso') . "
"; //Clear ticket data $data->qr_code = ''; $data->ticket_link = ''; $data->admin_ticket_link = ''; if (defined("ESPRESSO_SEATING_CHART")) { if (class_exists("seating_chart")) { if ( seating_chart::check_event_has_seating_chart($data->event->id)) { $rs = $wpdb->get_row("select scs.* from ".EVENTS_SEATING_CHART_EVENT_SEAT_TABLE." sces inner join ".EVENTS_SEATING_CHART_SEAT_TABLE." scs on sces.seat_id = scs.id where sces.attendee_id = ".$attendee_id); if ( $rs !== NULL ) { $data->seatingchart_tag = $rs->custom_tag." ".$rs->seat." ".$rs->row; } } } } //Old ticketing system if (file_exists(EVENT_ESPRESSO_UPLOAD_DIR . "/ticketing/template.php")) { if (file_exists(EVENT_ESPRESSO_UPLOAD_DIR . "/ticketing/functions.php")) { include_once(EVENT_ESPRESSO_UPLOAD_DIR . "/ticketing/functions.php"); $data->qr_code = espresso_qr_code( array('attendee_id' => $data->attendee->id, 'registration_id' => $data->attendee->registration_id, 'event_code' => $data->event->event_code )); } $data->ticket_link = espresso_ticket_links($data->attendee->registration_id, $data->attendee->id); $data->admin_ticket_link = $data->ticket_link; } //New ticketing system version 2.0 if (function_exists('espresso_ticket_launch')) { $data->qr_code = espresso_ticket_qr_code( array('attendee_id' => $data->attendee->id, 'registration_id' => $data->attendee->registration_id, 'event_code' => $data->event->event_code )); $data->ticket_link = espresso_ticket_links($data->attendee->registration_id, $data->attendee->id); $data->admin_ticket_link = $data->ticket_link; } //certificate system if (function_exists('espresso_certificate_launch')) { $data->certificate_link = espresso_certificate_links($data->attendee->registration_id, $data->attendee->id); $data->admin_certificate_link = $data->certificate_link; } //Build the address $data->location = ($data->event->address != '' ? $data->event->address : '') . ($data->event->address2 != '' ? '
' . $data->event->address2 : '') . ($data->event->city != '' ? '
' . $data->event->city : '') . ($data->event->state != '' ? ', ' . $data->event->state : '') . ($data->event->zip != '' ? '
' . $data->event->zip : '') . ($data->event->country != '' ? '
' . $data->event->country : ''); //Build Google map link $data->google_map_link = espresso_google_map_link(array('address' => $data->event->address, 'city' => $data->event->city, 'state' => $data->event->state, 'zip' => $data->event->zip, 'country' => $data->event->country)); //Registration URL $data->event_url = espresso_reg_url($data->event->id); $data->event_link = '' . stripslashes_deep($data->event->event_name) . ''; //Venue name if (!isset($data->event->venue_name)) $data->event->venue_name = ''; //Table of events registered for /* $data->event_table .= " " . stripslashes_deep($data->event->event_name) . " | " . $data->attendee->price_option . " " . event_date_display($data->attendee->start_date) . ' - ' . event_date_display($data->attendee->end_date) . " " . event_date_display($data->attendee->event_time, get_option('time_format')) . " - " . event_date_display($data->attendee->end_time, get_option('time_format')) . " " . $data->event->venue_name . "
$data->location
$data->google_map_link" . ($data->attendee->quantity > 0 ? '' . $data->attendee->quantity . __(' attendees', 'event_espresso') . '' : '') . "";*/ $data->event_table .= espresso_generate_attendee_event_list( $data ); //Output custom questions if (function_exists('event_espresso_custom_questions_output')) { //Create the question display $email_questions_r = event_espresso_custom_questions_output(array('attendee_id' => $data->attendee->id, 'all_questions' => TRUE)); if ($email_questions_r != '') $data->email_questions = '' . $email_questions_r . ''; $data->event_table .= $data->email_questions; } //Payment URL $payment_url = get_option('siteurl') . "/?page_id=" . $org_options['return_url'] . "&r_id=" . $data->attendee->registration_id; $data->payment_link = '' . __('View Your Payment Details','event_espresso') . ''; // download link $data->invoice_link = '' . __('Download PDF Invoice', 'event_espresso') . ''; //Edit attendee link $data->edit_attendee = espresso_edit_attendee($data->attendee->registration_id, $data->attendee->id, $data->attendee->event_id, 'attendee', __('Edit Registration Details','event_espresso')); $data->email_subject = !$data->multi_reg ? $data->event->event_name : $org_options['organization'] . __(' registration confirmation', 'event_espresso'); //Build invoice email if ($custom_data_email_type == 'invoice') { $data->email_subject = $custom_data_invoice_subject; $data->event->conf_mail = $custom_data_invoice_message; $data->event->send_mail = 'Y'; $data->event->email_id = empty($_REQUEST['email_name']) ? '' : $_REQUEST['email_name']; } //Build payment email if ($custom_data_email_type == 'payment') { $data->email_subject = $custom_data_payment_subject; $data->event->conf_mail = $custom_data_payment_message; $data->event->send_mail = 'Y'; $data->event->email_id = 0; } //Build reminder email if ($custom_data_email_type == 'reminder') { $data->email_subject = $custom_data_email_subject; $data->event->conf_mail = $custom_data_email_text; $data->event->send_mail = 'Y'; $data->event->email_id = $custom_data_email_id > 0 ? $custom_data_email_id : ''; } return $data; } function espresso_generate_attendee_event_list( $data ) { global $wpdb; $use_venue = isset($org_options['use_venue_manager']) && $org_options['use_venue_manager'] == 'Y' ? TRUE : FALSE; $SQL = 'SELECT att.event_id, att.price_option, att.start_date, att.end_date, att.event_time, att.end_time, att.email, att.attendee_session, evt.id, evt.event_name '; $SQL .= $use_venue ? ', v.name venue_name ' : ', evt.venue_title venue_name '; $SQL .= 'FROM ' . EVENTS_ATTENDEE_TABLE . ' att '; $SQL .= 'LEFT JOIN ' . EVENTS_DETAIL_TABLE . ' evt ON evt.id=att.event_id '; $SQL .= $use_venue ? " LEFT JOIN " . EVENTS_VENUE_REL_TABLE . " r ON r.event_id = evt.id LEFT JOIN " . EVENTS_VENUE_TABLE . " v ON v.id = r.venue_id " : ''; $SQL .= 'WHERE att.email = %s AND att.attendee_session = %s'; $events = $wpdb->get_results( $wpdb->prepare( $SQL, $data->attendee->email, $data->attendee->attendee_session )); $table_row = ''; foreach ( $events as $event ) { $table_row .= " " . stripslashes_deep($event->event_name) . " | " . $event->price_option . " " . event_date_display($event->start_date) . ' - ' . event_date_display($event->end_date) . " " . event_date_display($event->event_time, get_option('time_format')) . " - " . event_date_display($event->end_time, get_option('time_format')) . " " . $event->venue_name . "
$data->location
$data->google_map_link "; } // echo $wpdb->last_query; // echo $wpdb->print_error(); // echo printr( $attendee, '$attendee' ); // echo printr( $events, '$events' ); // echo $table_row; // die(); return $table_row; } //End espresso_prepare_email_data() //Get the email ready to send function espresso_prepare_email($data) { global $org_options; do_action('action_hook_espresso_log', __FILE__, __FUNCTION__, ''); //Build the subject line $email_subject = $data->email_subject; //Merge all the data if ($data->event->email_id > 0 && $data->event->send_mail == 'Y' ) { //Get the email template if it exists $email_data = array(); $email_data = espresso_email_message($data->event->email_id); $conf_mail = $email_data['email_text']; $email_subject = $email_data['email_subject']; } elseif ($data->event->conf_mail != '' && $data->event->send_mail == 'Y') {//Else get the custom event email $conf_mail = $data->event->conf_mail; } else {//Else get the default email from the general settings $conf_mail = $org_options['message']; } //Get the email subject $email_subject = replace_shortcodes($email_subject, $data); //Replace email shortcodes $_replaced = replace_shortcodes($conf_mail, $data); //Build the HTML $message_top = ""; $message_bottom = ""; $email_body = $message_top . $_replaced . $message_bottom; if (!isset($headers)) $headers = ''; return array( 'send_to' => $data->attendee->email, 'email_subject' => $email_subject, 'email_body' => $email_body, 'headers' => $headers ); } //End espresso_prepare_email() //Build the admin email function espresso_prepare_admin_email($data) { global $org_options; do_action('action_hook_espresso_log', __FILE__, __FUNCTION__, ''); //Edit attendee link $admin_attendee_link = espresso_edit_attendee($data->attendee->registration_id, $data->attendee->id, $data->attendee->event_id, 'admin', $data->attendee->fname . ' ' . $data->attendee->lname); //Group registration check if ($data->attendee->quantity > 0 && !$data->multi_reg) $primary_attendee = $data->primary_attendee == true ? "

" . __('Primary Attendee', 'event_espresso') . "

" : ''; //Build the email title $admin_message = "

" . __('Registration Summary:', 'event_espresso') . "

"; //Email body $attendee_quantity_count = $data->attendee->quantity; $admin_email_body = " $primary_attendee $admin_attendee_link " . $data->attendee->email . " " . stripslashes_deep($data->event->event_name) . " | " . $data->attendee->price_option . " " . event_date_display($data->attendee->start_date) . ' - ' . event_date_display($data->attendee->end_date) . " " . event_date_display($data->attendee->event_time, get_option('time_format')) . " - " . event_date_display($data->attendee->end_time, get_option('time_format')) . " " . ($attendee_quantity_count > 0 ? '' . $attendee_quantity_count . ' ' . sprintf( _n('attendee', 'attendees', $attendee_quantity_count, 'event_espresso') ) . '' : '') . ""; //Additional information/questions $admin_additional_info = "

" . __('Additional Information:', 'event_espresso') . "

"; //Registration ID if (!empty($data->attendee->registration_id)) { $admin_additional_info .= '' . __('Registration ID: ', 'event_espresso') . '
'; $admin_additional_info .= $data->attendee->registration_id; } if (!empty($data->email_questions)) { $admin_additional_info .= $data->email_questions; } //Ticket links if (!empty($data->admin_ticket_link)) { $admin_additional_info .= '' . __('Ticket(s):', 'event_espresso') . '
'; $admin_additional_info .= $data->admin_ticket_link; } //Certificate links if (!empty($data->admin_certificate_link)) { $admin_additional_info .= '' . __('Certificate(s):', 'event_espresso') . '
'; $admin_additional_info .= $data->admin_certificate_link; } //invoice links if (!empty($data->invoice_link)) { $admin_additional_info .= '

' . __('Invoice:', 'event_espresso') . '
'; $admin_additional_info .= $data->invoice_link; $admin_additional_info .= '

'; } //Build the headers $headers = ''; return array( 'send_to' => $data->event->alt_email == '' ? $org_options['contact_email'] : $data->event->alt_email . ',' . $org_options['contact_email'], 'email_subject' => !$data->multi_reg ? $data->event->event_name . ' ' . __('registration confirmation', 'event_espresso') : __('Event Registration Notification', 'event_espresso'), 'email_body' => $admin_message . $data->table_open . $admin_email_body . $data->table_close . $admin_additional_info, 'headers' => $headers ); } //End espresso_prepare_admin_email() function email_by_attendee_id($attendee_id, $send_attendee_email = TRUE, $send_admin_email = TRUE, $multi_reg = FALSE, $custom_data='') { $data = espresso_prepare_email_data($attendee_id, $multi_reg, $custom_data); if ($send_attendee_email == 'true') { $email_params = espresso_prepare_email($data); event_espresso_send_email($email_params); } if ($send_admin_email == 'true') { $email_params = espresso_prepare_admin_email($data); event_espresso_send_email($email_params); } } //End email_by_attendee_id() function email_by_session_id($session_id, $send_attendee_email = TRUE, $send_admin_email = TRUE, $multi_reg = FALSE) { global $wpdb; $sql = "SELECT id FROM " . EVENTS_ATTENDEE_TABLE . " WHERE attendee_session = %s"; $attendees = $wpdb->get_col( $wpdb->prepare( $sql, $session_id )); $admin_email_params = array('email_body'=>''); foreach ($attendees as $attendee_id) { $data = espresso_prepare_email_data($attendee_id, $multi_reg); if ($send_attendee_email == 'true') { $attendee_email_params = espresso_prepare_email($data); event_espresso_send_email($attendee_email_params); } if ($send_admin_email == 'true') { $email_params = espresso_prepare_admin_email($data); $admin_email_params['send_to'] = $email_params['send_to']; $admin_email_params['email_subject'] = $email_params['email_subject']; $admin_email_params['email_body'] .= '<---------------------------------------------->
'; $admin_email_params['email_body'] .= $email_params['email_subject'] . '
'; $admin_email_params['email_body'] .= '<---------------------------------------------->
'; $admin_email_params['email_body'] .= $email_params['email_body'] . '
'; $admin_email_params['headers'] = $email_params['headers']; } } if ($send_admin_email == 'true') { event_espresso_send_email($admin_email_params); } } //End email_by_session_id() if ( ! function_exists('event_espresso_email_confirmations')) { function event_espresso_email_confirmations($atts) { extract($atts); //print_r($atts); $multi_reg = empty( $multi_reg ) ? FALSE : $multi_reg; $send_admin_email = empty( $send_admin_email ) ? FALSE : $send_admin_email; $send_attendee_email = empty( $send_attendee_email ) ? FALSE : $send_attendee_email; $custom_data = empty( $custom_data ) ? '' : $custom_data; if ( ! empty( $attendee_id ) && ! $multi_reg ) { email_by_attendee_id($attendee_id, $send_attendee_email, $send_admin_email, $multi_reg, $custom_data); } elseif ( ! empty( $registration_id ) && ! $multi_reg ) { global $wpdb; $sql = "SELECT id FROM " . EVENTS_ATTENDEE_TABLE . " WHERE registration_id = %s"; $attendees = $wpdb->get_col( $wpdb->prepare( $sql, $registration_id )); foreach ($attendees as $attendee_id) { email_by_attendee_id($attendee_id, $send_attendee_email, $send_admin_email, $multi_reg, $custom_data); } } elseif ( ! empty( $session_id )) { email_by_session_id($session_id, $send_attendee_email, $send_admin_email, $multi_reg); } } }//End event_espresso_email_confirmations() //Email sender if (!function_exists('event_espresso_send_email')) { function event_espresso_send_email($params) { global $org_options; do_action('action_hook_espresso_log', __FILE__, __FUNCTION__, ''); extract($params); //Define email headers $headers = "MIME-Version: 1.0\r\n"; if ($org_options['email_fancy_headers']=='Y') { $headers .= "From: " . $org_options['organization'] . " <" . $org_options['contact_email'] . ">\r\n"; $headers .= "Reply-To: " . $org_options['organization'] . " <" . $org_options['contact_email'] . ">\r\n"; } else { $headers .= "From: " . $org_options['contact_email'] . "\r\n"; $headers .= "Reply-To: " . $org_options['contact_email'] . "\r\n"; } $headers .= "Content-Type: text/html; charset=utf-8\r\n"; //Debug // echo '



'; // echo '

$headers = '.$headers.'

'; // echo '

$send_to = '.$send_to.'

'; // echo '

$email_subject = '.$email_subject.'

'; // echo '

$email_body = '.$email_body.'

'; // echo '

'.$email_body.'

'; // echo '



'; return wp_mail($send_to, stripslashes_deep(html_entity_decode($email_subject, ENT_QUOTES, "UTF-8")), stripslashes_deep(html_entity_decode(wpautop($email_body), ENT_QUOTES, "UTF-8")), $headers); } }//End event_espresso_send_email() //Send Invoice if (!function_exists('event_espresso_send_invoice')) { function event_espresso_send_invoice( $registration_id, $invoice_subject, $invoice_message, $array_of_reg_ids = FALSE ) { global $wpdb, $org_options; do_action('action_hook_espresso_log', __FILE__, __FUNCTION__, ''); $SQL ='SELECT a.id FROM '. EVENTS_ATTENDEE_TABLE . ' a WHERE a.registration_id = %s'; $result = $wpdb->get_row( $wpdb->prepare( $SQL, $registration_id )); $registration_id = isset($result->registration_id) && !empty($result->registration_id) ? $result->registration_id : ''; $attendee_id = $result->id; event_espresso_email_confirmations(array('attendee_id' => $attendee_id, 'send_admin_email' => 'false', 'send_attendee_email' => 'true', 'custom_data' => array('email_type' => 'invoice', 'invoice_subject' => $invoice_subject, 'invoice_message' => $invoice_message))); return; } }//End event_espresso_send_invoice() //Payment Confirmations if (!function_exists('event_espresso_send_payment_notification')) { function event_espresso_send_payment_notification($atts) { global $wpdb, $org_options; do_action('action_hook_espresso_log', __FILE__, __FUNCTION__, ''); //Extract the attendee_id and registration_id extract($atts); $registration_id = is_array( $registration_id ) ? $registration_id[0] : $registration_id; if (empty($registration_id)) $registration_id = espresso_registration_id($attendee_id); if (empty($registration_id)) return __('No ID Supplied', 'event_espresso'); //Get the attendee id or registration_id and create the sql statement $sql = "SELECT a.* FROM " . EVENTS_ATTENDEE_TABLE . " a "; $sql .= " WHERE a.registration_id = '" . $registration_id . "' "; //$sql .= " ORDER BY id LIMIT 1 "; $attendees = $wpdb->get_results($sql); if ($org_options['default_mail'] == 'Y') { foreach ($attendees as $attendee) { $attendee_id = $attendee->id; event_espresso_email_confirmations(array('attendee_id' => $attendee_id, 'send_admin_email' => 'false', 'send_attendee_email' => 'true', 'custom_data' => array('email_type' => 'payment', 'payment_subject' => $org_options['payment_subject'], 'payment_message' => $org_options['payment_message']))); } } return; } } //Reminder Notices if (!function_exists('espresso_event_reminder')) { function espresso_event_reminder($event_id, $email_subject='', $email_text='', $email_id=0) { global $wpdb, $org_options; do_action('action_hook_espresso_log', __FILE__, __FUNCTION__, ''); $count = 0; $SQL = 'SELECT * FROM ' . EVENTS_ATTENDEE_TABLE . ' WHERE event_id =%d GROUP BY lname, fname'; $attendees = $wpdb->get_results( $wpdb->prepare( $SQL, $event_id )); if ($wpdb->num_rows > 0) { foreach ($attendees as $attendee) { $attendee_id = $attendee->id; event_espresso_email_confirmations(array('attendee_id' => $attendee_id, 'send_admin_email' => 'false', 'send_attendee_email' => 'true', 'custom_data' => array('email_type' => 'reminder', 'email_subject' => $email_subject, 'email_text' => $email_text, 'email_id' => $email_id))); $count++; } ?>

\r\n"; $headers .= "Reply-To: " . $org_options['organization'] . " <" . $org_options['contact_email'] . ">\r\n"; } else { $headers .= "From: " . $org_options['contact_email'] . "\r\n"; $headers .= "Reply-To: " . $org_options['contact_email'] . "\r\n"; } $headers .= "Content-Type: text/html; charset=utf-8\r\n"; $message_top = ""; $message_bottom = ""; $events = $wpdb->get_results("SELECT * FROM " . EVENTS_DETAIL_TABLE . " WHERE id='" . $event_id . "'"); foreach ($events as $event) { $event_name = $event->event_name; $event_desc = $event->event_desc; $send_mail = $event->send_mail; $conf_mail = $event->conf_mail; $email_id = $event->email_id; $alt_email = $event->alt_email; $start_date = $event->start_date; $end_date = $event->end_date; $event_address = $event->address; $event_address2 = $event->address2; $event_city = $event->city; $event_state = $event->state; $event_zip = $event->zip; $location = (!empty($event_address) ? $event_address : '') . (!empty($event_address2) ? '
' . $event_address2 : '') . (!empty($event_city) ? '
' . $event_city : '') . (!empty($event_state) ? ', ' . $event_state : '') . (!empty($event_zip) ? '
' . $event_zip : '') . (!empty($event_country) ? '
' . $event_country : ''); $location_phone = $event->phone; $attendees = $wpdb->get_results("SELECT * FROM " . EVENTS_ATTENDEE_TABLE . " WHERE event_id ='" . $event_id . "'"); foreach ($attendees as $attendee) { $lname = $attendee->lname; $fname = $attendee->fname; $address = $attendee->address; $city = $attendee->city; $state = $attendee->state; $zip = $attendee->zip; $attendee_email = $attendee->email; $phone = $attendee->phone; $date = $attendee->date; $event_id = $attendee->event_id; $event_time = $attendee->event_time; $end_time = $attendee->end_time; //Replace the tags //$tags = array("[fname]", "[lname]", "[event_name]" ); //$vals = array($fname, $lname, $event_name); //$email_body = $message_top.$email_body.$message_bottom; //$subject = str_replace($tags,$vals,$email_subject); $subject = __('Event Cancellation Notice', 'event_espresso'); $email_body = '

' . sprintf( __( '%d has been cancelled.', 'event_espresso' ), $event_name ) . '

'; $email_body .= '

' . sprintf( __('For more information, please email %d', 'event_espresso'), $alt_email == '' ? $org_options['contact_email'] : $alt_email ) . '

'; $body = str_replace($tags, $vals, $email_body); wp_mail($attendee_email, stripslashes_deep(html_entity_decode($subject, ENT_QUOTES, "UTF-8")), stripslashes_deep(html_entity_decode(wpautop($email_body), ENT_QUOTES, "UTF-8")), $headers); } } } } // Attendee registration approval pending if (!function_exists('event_espresso_send_attendee_registration_approval_pending')) { function event_espresso_send_attendee_registration_approval_pending($registration_id) { global $org_options, $wpdb; do_action('action_hook_espresso_log', __FILE__, __FUNCTION__, ''); //Get the event information $events = $wpdb->get_results("SELECT ed.* FROM " . EVENTS_DETAIL_TABLE . " ed JOIN " . EVENTS_ATTENDEE_TABLE . " ea ON ed.id = ea.event_id WHERE ea.registration_id='" . $registration_id . "'"); foreach ($events as $event) { $event_id = $event->id; $event_name = stripslashes_deep($event->event_name); $event_desc = stripslashes_deep($event->event_desc); $display_desc = $event->display_desc; $event_identifier = $event->event_identifier; $reg_limit = $event->reg_limit; $active = $event->is_active; $send_mail = $event->send_mail; $conf_mail = $event->conf_mail; $email_id = $event->email_id; $alt_email = $event->alt_email; $start_date = event_date_display($event->start_date); $end_date = $event->end_date; $virtual_url = $event->virtual_url; $virtual_phone = $event->virtual_phone; $event_address = $event->address; $event_address2 = $event->address2; $event_city = $event->city; $event_state = $event->state; $event_zip = $event->zip; $event_country = $event->country; $location = ($event_address != '' ? $event_address : '') . ($event_address2 != '' ? '
' . $event_address2 : '') . ($event_city != '' ? '
' . $event_city : '') . ($event_state != '' ? ', ' . $event_state : '') . ($event_zip != '' ? '
' . $event_zip : '') . ($event_country != '' ? '
' . $event_country : ''); $location_phone = $event->phone; $require_pre_approval = $event->require_pre_approval; $google_map_link = espresso_google_map_link(array('address' => $event_address, 'city' => $event_city, 'state' => $event_state, 'zip' => $event_zip, 'country' => $event_country)); } //Build links $event_url = espresso_reg_url($event_id); $event_link = '' . $event_name . ''; $sql = "SELECT * FROM " . EVENTS_ATTENDEE_TABLE; if ($registration_id != '') { $sql .= " WHERE registration_id = '" . $registration_id . "' "; } elseif ($attendee_id != '') { $sql .= " WHERE id = '" . $attendee_id . "' "; } else { _e('No ID Supplied', 'event_espresso'); } $sql .= " ORDER BY id "; $sql .= " LIMIT 0,1 "; //Get the first attendees details $attendees = $wpdb->get_results($sql); //global $attendee_id; foreach ($attendees as $attendee) { $attendee_id = $attendee->id; $attendee_email = $attendee->email; $lname = $attendee->lname; $fname = $attendee->fname; $address = $attendee->address; $address2 = $attendee->address2; $city = $attendee->city; $state = $attendee->state; $zip = $attendee->zip; $payment_status = $attendee->payment_status; $txn_type = $attendee->txn_type; $amount_pd = $attendee->amount_pd; $event_cost = $attendee->amount_pd; $payment_date = event_date_display($attendee->payment_date); $phone = $attendee->phone; $event_time = event_date_display($attendee->event_time, get_option('time_format')); $end_time = event_date_display($attendee->end_time, get_option('time_format')); $date = event_date_display($attendee->date); $pre_approve = $attendee->pre_approve; } $admin_email = $alt_email == '' ? $org_options['contact_email'] : $alt_email . ',' . $org_options['contact_email']; if (!empty($admin_email)) { $subject = __('New attendee registration approval pending','event_espresso'); $body = sprintf( __('Event title: %s', 'event_espresso'), $event_name ); $body .= '
'; $body .= sprintf( __('Attendee name: %1$s %2$s', 'event_espresso'), $fname, $lname ); $body .= '
'; $body .= __('Thank You.', 'event_espresso'); $email_params = array( 'send_to' => $admin_email, 'email_subject' => __($subject, 'event_espresso'), 'email_body' => $body ); event_espresso_send_email($email_params); } if (!empty($attendee_email)) { $subject = __('Event registration pending','event_espresso'); $body = sprintf( __('Event title: %s', 'event_espresso'), $event_name ); $body .= '
'; $body .= sprintf( __('Attendee name: %1$s %2$s', 'event_espresso'), $fname, $lname ); $body .= '
'; $body .= __('Your registration is pending for approval from event admin. You will receive an email with payment info when admin approves your registration.', 'event_espresso'); $body .= '

'; $body .= __('Thank You.', 'event_espresso'); $email_params = array( 'send_to' => $attendee_email, 'email_subject' => __($subject, 'event_espresso'), 'email_body' => $body ); event_espresso_send_email($email_params); } } } /** * @ print_r an array * @ access public * @ return void */ function printr($var, $var_name = 'ARRAY', $height = 'auto') { echo '
';
	echo '

' . $var_name . '

'; echo print_r($var); echo '
'; }