function set_options() { if (function_exists('wp_enqueue_media')) { wp_enqueue_media(); } //in WP 3.5 if (!empty($_POST) && check_admin_referer('epl_form_nonce', '_epl_nonce')) { if (!empty($_POST['feature-override'])) { update_option('_epl_override', $_POST['_epl_override']); } else { foreach ($this->fields as $section => $epl_fields) { $epl_settings_fields = array_flip(array_keys($epl_fields)); $epl_settings_meta = array_intersect_key($_POST, $epl_settings_fields); //We are only interested in the posted fields that pertain to events planner if (!epl_is_empty_array($epl_settings_meta)) { update_option($section, $epl_settings_meta); } //update_option( 'epl_date_options', $epl_settings ); } } $this->settings_updated = true; if (function_exists('__epl_pr_api_key')) { __epl_pr_api_key(true); } } }
function send_confirmation_email($data) { global $organization_details, $customer_email, $event_details; $data['eb'] = ''; $default_email_body = $this->epl->load_view('front/registration/regis-confirm-email', $data, true); $_notif = epl_get_element('_epl_event_notification', $event_details); $_notif_data = array(); if ($_notif && (!epl_is_empty_array($_notif) || $_notif != '')) { $id = is_array($_notif) ? current($_notif) : $_notif; $_notif_data = get_post($id, ARRAY_A) + (array) $this->ecm->get_post_meta_all($id); $data['eb'] = nl2br($this->notif_tags(stripslashes_deep(html_entity_decode($_notif_data['post_content'], ENT_QUOTES)))); } if (epl_is_empty_array($_notif) || $_notif == '' || epl_get_element('_epl_notification_replace', $event_details, 0) == 0) { $email_body = $this->epl->load_view('front/registration/regis-confirm-email', $data, true); } else { $email_body = $data['eb']; } $email_body = preg_replace('/<div class=\'epl_(.*?)_message\'>(.*?)<\\/div>/', '', $email_body); $from_name = html_entity_decode(epl_get_element('_epl_email_from_name', $_notif_data, get_bloginfo('name')), ENT_QUOTES); $from_email = epl_get_element('_epl_from_email', $_notif_data, get_bloginfo('admin_email')); $subject = html_entity_decode(epl_get_element('_epl_email_subject', $_notif_data, epl__('Registration Confirmation')), ENT_QUOTES); $headers = "From: \"" . $from_name . "\" <{$from_email}> \r\n"; $headers .= 'Reply-To: ' . $from_email . "\r\n"; $headers .= 'X-Mailer: PHP/' . phpversion(); $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=UTF-8\r\n"; if (isset($customer_email) && $customer_email != '') { @wp_mail($customer_email, $subject, $email_body, $headers); } //admin email $_email = epl_get_event_property('_epl_alt_admin_email'); if ($_email == '') { $_email = epl_nz(epl_get_event_option('epl_default_notification_email'), get_bloginfo('admin_email')); } @wp_mail($_email, epl__('New Registration') . ': ' . get_the_event_title(), $default_email_body, $headers); }
echo $date . epl_prefix(' - ', $_note) . epl_prefix(' - ', $_location); ?> </td> <td></td> <td><?php echo $show_avail_spaces ? $data['date']['avail'] : ''; ?> </td> </tr> <?php foreach ($times as $time_id => $time_data) { //if ( $time_data['avail'] !== '' ): if (epl_get_element($time_id, epl_get_element('_epl_time_hide', $event_details)) == 0) { if (!epl_is_date_level_time() || epl_is_date_level_time() && !epl_is_empty_array($date_specifc_time) && (array_key_exists($time_id, $date_specifc_time) && array_key_exists($date_id, $date_specifc_time[$time_id]))) { $prices = $time_data['price']; if (!epl_is_time_optonal()) { ?> <tr class="epl_time"> <td><?php echo $time_data['disp'] . epl_prefix(' - ', $event_details['_epl_end_time'][$time_id]) . epl_prefix(' - ', epl_get_element_m($time_id, '_epl_time_note', $event_details)); ?> </td> <td></td> <td><?php echo $show_avail_spaces ? $time_data['avail'] : ''; ?> </td> </tr> <?php
function _setup_payment_type($gateway_info) { if (epl_is_empty_array($gateway_info)) { $gateway_info = $this->erm->get_gateway_info(); } $this->pay_type = $gateway_info['_epl_pay_type']; $this->is_cc = $this->erm->has_selected_cc_payment(); }
function make_cal_dates_array($dates = array()) { if (epl_is_empty_array($dates)) { return array(); } $_temp = array(); foreach ($dates as $date) { $date_parts = getdate($date); //formatted new date $new_date = date_i18n('Y-m-d', $date); //grab the year of the new date $newdate_year = $date_parts['year']; //grab month of the new date $newdate_month = $date_parts['mon']; //grab the day of the month $j = $date_parts['mday']; //put the new date in the array $_temp[$newdate_year][$newdate_month][$j] = $new_date; } return $_temp; for ($i = 0; $i <= $this->difference; $i = $i + $this->interval) { //formula for determining the next date in the seried $new_date = '+ ' . $i . " {$this->type}"; $new_unix_time = strtotime($new_date, $this->date_to_time); //Get the date information for later use. $date_parts = getdate($new_unix_time); //formatted new date $new_date = date_i18n('Y-m-d', $new_unix_time); //grab the year of the new date $newdate_year = $date_parts['year']; //grab month of the new date $newdate_month = $date_parts['mon']; //grab the day of the month $j = $date_parts['mday']; //put the new date in the array $this->dates[$newdate_year][$newdate_month][$j] = $new_date; //For daily and weekly, give the user the ability to select on which days of the week the event occurs if (is_array($this->weekdays) && !empty($this->weekdays) && $this->type != 'month') { if ($this->type == 'day') { //get the week number of the new date $new_weekday = $date_parts['wday']; //if the weeknumber of the new date is not in the weekdays that the user wants, unset the new date if (!in_array($new_weekday, $this->weekdays)) { unset($this->dates[$newdate_year][$newdate_month][$j]); } } elseif ($this->type == 'week') { /* * For weekly, we need to find all the days of the week of the new date * and then determine if they are in the array. $this->get_days_of_a_week takes * care of it. * NOTICE the $dates passed by reference */ //$this->get_days_of_a_week( $new_date, $this->rec_start_date, $this->recurrence_end_date, $this->weekdays ); } } elseif ($this->type == 'month' && $_POST['_epl_recurrence_repeat_by'] == 10) { /* * If it is monthly and repeats on a specific day of week (e.g. third Wednesday of each month), * we need to find which weekday the start date belongs to and go from there. */ } } //epl_log( "debug", "<pre>" . __LINE__ . '> ' . print_r($this->dates, true ) . "</pre>" ); //return $this->dates; }
private function _get_credentials($gateway_id = null, $credentials = array()) { $default_credentials = array('_epl_user', '_epl_pwd'); if (!epl_is_empty_array($credentials)) { $credentials = wp_parse_args($credentials, $default_credentials); } else { $credentials = $default_credentials; } $gateway_info = $this->erm->get_gateway_info($gateway_id); $r = array(); foreach ($credentials as $cred) { $r[$cred] = epl_get_element($cred, $gateway_info); } return $r; }
function setup_checked_in_counts($user_also = false) { static $processed = false; if ($processed) { return null; } global $wpdb, $session_signed_in_counts, $user_session_signed_in_counts, $user_ticket_use_counts; $WHERE = ''; if (!epl_is_empty_array($this->active_event_ids)) { $WHERE = ' AND ra.event_id IN (' . implode(',', $this->active_event_ids) . ")"; } elseif (isset($_POST['event_id'])) { $WHERE = ' AND ra.event_id =' . $wpdb->escape($_POST['event_id']); } $checked_in_counts = $wpdb->get_results("SELECT ra.regis_id,ra.event_id,ra.date_id,ra.date_ts,ra.time_id,ra.user_id,ra.price_id,ra.regis_data_id FROM\n {$wpdb->epl_attendance} ra\n INNER JOIN {$wpdb->posts} p\n ON ra.regis_id = p.ID \n WHERE 1=1 AND\n p.post_status = 'publish'\n {$WHERE}\n GROUP BY ra.regis_id, ra.event_id, ra.date_id,ra.date_id,ra.date_ts,ra.time_id,ra.user_id,ra.regis_data_id\n "); $session_signed_in_counts = array(); $user_session_signed_in_counts = array(); $start = true; foreach ($checked_in_counts as $c) { setup_event_details($c->event_id); $time_id = epl_is_time_optonal() ? '' : $c->time_id; if ($start) { $session_signed_in_counts["{$c->event_id}-{$c->date_id}-{$c->date_ts}-{$c->time_id}"] = 1; $user_session_signed_in_counts["{$c->regis_id}-{$c->event_id}-{$c->regis_data_id}-{$c->date_id}-{$c->date_ts}-{$c->time_id}-{$c->price_id}-{$c->user_id}"] = 1; $user_ticket_use_counts["{$c->regis_id}-{$c->event_id}-{$c->regis_data_id}-{$c->date_id}-{$time_id}-{$c->price_id}-{$c->user_id}"] = 1; } else { $session_signed_in_counts["{$c->event_id}-{$c->date_id}-{$c->date_ts}-{$c->time_id}"]++; $user_session_signed_in_counts["{$c->regis_id}-{$c->event_id}-{$c->regis_data_id}-{$c->date_id}-{$c->date_ts}-{$c->time_id}-{$c->price_id}-{$c->user_id}"]++; $user_ticket_use_counts["{$c->regis_id}-{$c->event_id}-{$c->regis_data_id}-{$c->date_id}-{$time_id}-{$c->price_id}-{$c->user_id}"]++; } $start = false; } $processed = true; }
function get_the_cart_selected_payment() { global $event_details; $p = epl_get_element('_epl_payment_method', $_POST); if (!$p) { $p = epl_get_element('_epl_payment_method', $this->current_data[$this->regis_id]); } if (!$p) { $p = epl_get_element_m('_epl_payment_method', '_dates', $this->current_data[$this->regis_id]); } if (!$p) { //pre v1.3 $p = epl_get_element_m('_epl_selected_payment', '_dates', $this->current_data[$this->regis_id]); } if (!$p) { $p = epl_get_element('_epl_default_selected_payment', $event_details, array()); } if (!$p) { $p = (int) epl_get_element('_epl_payment_method', $this->full_data); } return epl_is_empty_array($p) && !is_int($p) ? null : $p; }
<h3> <?php epl_e('Registered On'); ?> : <?php echo $regis_date; ?> </h3> <!--<div style="float:right;width:200px;"> <?php echo $regis_dates_cal; ?> </div>--> <?php if (!epl_is_empty_array($class_dates)) { ?> <table class="epl_user_schedule_table" cellspacing="0" style=""> <thead> <tr> <th>Date</th> <th>Start Time</th> <th>End Time</th> <th>Notes</th> <th>Absent</th> <th></th> </tr> </thead> <tbody> <?php foreach ($class_dates as $_key => $_date) {
function get_ticket_buyer_name($regis_id = null) { global $epl_fields, $event_details, $regis_details; if (epl_is_empty_array($regis_details)) { epl_setup_regis_details(!is_null($regis_id) ? $regis_id : get_the_ID()); } $regis_attendee_info = $regis_details['_epl_attendee_info']; $first_name = current(epl_get_element('4e794a9a6b04f', $regis_attendee_info)); $last_name = current(epl_get_element('4e794ab9c1731', $regis_attendee_info)); return $first_name[0] . ' ' . $last_name[0]; }
function get_event_auto_discounts($global = false) { global $event_details; foreach ($this->all_discount_configs as $disc_source_id => $discount_data) { $_epl_discount_method = epl_get_element('_epl_discount_method', $discount_data, null); if (epl_is_empty_array($_epl_discount_method)) { continue; } foreach ($_epl_discount_method as $disc_id => $method) { if ($method != 10) { //if not auto continue; } if (epl_get_element($disc_id, epl_get_element('_epl_discount_active', $discount_data)) == 0) { //if not active continue; } if (!isset($this->auto_discounts[$disc_source_id])) { $this->auto_discounts[$disc_source_id] = array(); } $this->auto_discount_source[$disc_source_id] = isset($discount_data['_epl_start_date']) ? 'e' : 'g'; $this->auto_discounts[$disc_source_id][$disc_id] = isset($discount_data['_epl_start_date']) ? 'e' : 'g'; } } }
?> </th> <th><?php epl_e('Transaction ID'); ?> </th> <th><?php epl_e('Note'); ?> </th> <th></th> </tr> </thead> <tbody> <?php if (epl_is_empty_array($payment_data)) { ?> <tr> <td colspan="6"><?php epl_e('No Payments Records Found'); ?> </td> </tr> <?php } else { ?> <?php foreach ($payment_data as $k => $p) {
function view_names() { global $event_details, $wpdb; $filters = array('event_id' => $_REQUEST['event_id'], 'date_id' => epl_get_element('date_id', $_REQUEST, null), 'time_id' => epl_get_element('time_id', $_REQUEST, null), 'names_only' => epl_get_element('names_only', $_REQUEST, 0), 'combined' => epl_get_element('combined', $_REQUEST, 0)); setup_event_details($filters['event_id']); $show_second_to_last = apply_filters('epl_erpt__view_names__show_second_to_last', true); $data['pack_regis'] = epl_get_element('_epl_pack_regis', $event_details, 0) == 10; $data['pack_consecutive'] = epl_get_element('_epl_pack_regis_consecutive', $event_details, 0) == 10; $_filter = array(); $attendance_dates = array(); //if this is a pack class if ($data['pack_regis']) { //find all the registrations for this event //for each one, find out if package //for each one that is pack, find the pack * X days //contstruct array $event_date_keys = array_keys($event_details['_epl_start_date']); $pack_counts = epl_get_element('_epl_price_pack_size', $event_details, array()); $registrations = $wpdb->get_results("\n SELECT rd.* \n FROM {$wpdb->epl_regis_data} rd\n INNER JOIN {$wpdb->epl_registration} r\n ON r.regis_id=rd.regis_id\n WHERE 1=1 AND (r.status = 2 OR r.status = 5)\n AND event_id = " . intval($event_details['ID'])); if ($registrations) { foreach ($registrations as $regis) { $regis_weekday = date('N', $event_details['_epl_start_date'][$regis->date_id]); if (isset($pack_counts[$regis->price_id])) { $pack_counter = epl_get_element($regis->price_id, $pack_counts, 1); $start = false; foreach ($event_details['_epl_start_date'] as $date_id => $date) { if (!$start && $date_id != $regis->date_id) { continue; } $start = true; $_weekday = date('N', $date); if ($regis_weekday != $_weekday || $pack_counter == 0) { continue; } $pack_counter--; $attendance_dates[$regis->id][$date_id] = $date; $_filter[$regis->id] = $regis->id; } if ($filters['date_id'] && !isset($attendance_dates[$regis->id][$filters['date_id']]) || $filters['time_id'] && $filters['time_id'] != $regis->time_id) { unset($_filter[$regis->id]); unset($attendance_dates[$regis->id]); } //$offset = array_search( $regis->date_id, $event_date_keys ); //$attendance_dates[$regis->id] = array_slice( $event_details['_epl_start_date'], $offset, $pack_counts[$regis->price_id] ); } } } } if (!epl_is_empty_array($_filter)) { $_filter = implode(',', $_filter); $_filter = " AND rd.id IN ({$_filter})"; } if ($filters['names_only'] == 1) { $data['list'] = $this->erptm->attendee_form_data($_filter); } else { $data['list'] = $this->erptm->get_all_data_2($_filter); } $data['fields'] = $this->erptm->get_form_fields(); $data['attendance_dates'] = $attendance_dates; $data['event_title'] = $event_details['post_title']; $data['event_date'] = isset($_REQUEST['date_id']) ? epl_formatted_date(epl_get_element_m($_REQUEST['date_id'], '_epl_start_date', $event_details), "D, M j") : ''; $data['event_time'] = isset($_REQUEST['time_id']) ? epl_get_element_m($_REQUEST['time_id'], '_epl_start_time', $event_details) : ''; $url = admin_url("edit.php?post_type=epl_event&epl_action=view_names&table_view=1&epl_controller=epl_report_manager&print=1"); $url = add_query_arg($filters, $url); $data['print_icon'] = !isset($_REQUEST['print']) ? '<div><a href="' . $url . '" target="_blank"><img src="' . EPL_FULL_URL . 'images/printer.png" /></a></div>' : ''; $data['filters'] = $filters; if ($filters['names_only'] == 1) { $r = $this->epl->load_view('admin/reports/view-names', $data, true); } elseif ($filters['combined'] == 1) { $r = $this->epl->load_view('admin/reports/view-full-combined', $data, true); } else { $r = $this->epl->load_view('admin/reports/view-full-data', $data, true); } if ($GLOBALS['epl_ajax']) { return $r; } if (isset($_REQUEST['print'])) { $data['content'] = $r; $this->epl->load_view('admin/template', $data); return; } echo $r; }
<h1><?php echo $event_title; ?> <?php epl_e('attendees'); ?> </h1> <?php echo get_the_register_button(); if (epl_is_empty_array($header_row)) { epl_e("No Attendees"); return; } $colspan = count($header_row); ?> <table id="epl_attendee_list_table"> <thead> <tr><th><?php echo implode('</th><th>', $header_row); ?> </th></tr> </thead> <tbody> <?php foreach ($list as $regis_id => $info) { echo "<tr>"; echo "<td colspan='{$colspan}' class='att_count'>" . epl__('Attendees') . ": {$info['att_count']}</td></tr>"; foreach ($info['attendees'] as $att) { $v = implode('</td><td>', $att);
<?php if (epl_is_empty_array($registrations)) { echo "No record found"; return; } global $event_details; $event_id = $event_details['ID']; $class_session_dates = epl_get_element('_epl_class_session_date', $event_details); echo "<pre class='prettyprint'>" . __LINE__ . "> " . print_r($registrations, true) . "</pre>"; ?> <table class="epl_plain_table epl_w600" cellspacing="0"> <thead> <tr> <th></th> <th></th> </tr> </thead> <tbody> <tr><td></td> <?php foreach ($class_session_dates as $_date_id => $_date) { ?> <td><?php echo epl_formatted_date($_date);
function epl_column_data($column_name, $post_ID) { global $epl_fields, $event_details, $event_snapshot; $this->ecm->setup_event_details($post_ID); $this->erm->event_snapshot($post_ID); switch ($column_name) { case 'id': echo $post_ID; break; case 'location': echo get_the_location_name(); break; case 'status': $s = epl_get_event_status(true); $class = 'status_' . key($s); echo "<span class='status {$class}'>" . current($s) . '</span>'; break; /* case 'epl_categories': foreach ( wp_get_object_terms( $id, 'epl_categories' ) as $tax ) $r[] = $tax->name; echo!is_array( $r ) ? '' : implode( ", ", $r ); break; */ /* case 'epl_categories': foreach ( wp_get_object_terms( $id, 'epl_categories' ) as $tax ) $r[] = $tax->name; echo!is_array( $r ) ? '' : implode( ", ", $r ); break; */ case 'start_date': $base_url = epl_get_url(); $event_regis_data = current($event_snapshot); $table_link_arr = array('epl_action' => 'view_names', 'epl_download_trigger' => 1, 'table_view' => 1, 'epl_controller' => 'epl_report_manager', 'event_id' => $event_id); $csv_link_arr = array('epl_action' => 'epl_attendee_list', 'epl_download_trigger' => 1, 'epl_controller' => 'epl_registration', 'event_id' => $event_id); if (epl_is_empty_array($event_regis_data)) { break; } $counter = 1; foreach ($event_regis_data as $date_id => $date_data) { $last_day = end($event_details['_epl_start_date']); if ($last_day > EPL_DATE && ($event_details['_epl_event_status'] == 1 && $date_data['date']['timestamp'] < EPL_DATE) || $counter > 1) { continue; } $counter++; $date = $date_data['date']['disp']; $date_capacity = epl_get_element_m($date_id, '_epl_date_capacity', $event_details); $times = $date_data['time']; ?> <table id="event_snapshot_table" class="event_snapshot_sorting"> <thead> <tr> <th><?php epl_e('Date'); ?> </th> <th><?php epl_e('Time'); ?> </th> <th><?php epl_e('Attendees'); ?> </th> <th></th> </tr> </thead> <?php foreach ($times as $time_id => $time_data) { if (epl_is_date_level_time() && !epl_is_empty_array($date_specifc_time) && (!isset($date_specifc_time[$time_id]) || !isset($date_specifc_time[$time_id][$date_id]))) { continue; } $time_capacity = epl_get_element_m($time_id, '_epl_time_capacity', $event_details); $capacity = $time_capacity ? $time_capacity : ($date_capacity ? $date_capacity : epl_get_element_m($date_id, '_epl_date_per_time_capacity', $event_details)); $dt_array = array('date_id' => $date_id, 'time_id' => $time_id, 'event_id' => $post_ID); $table_link_arr = array_merge($table_link_arr, $dt_array); $csv_link_arr += $dt_array; ?> <tr class="epl_date_time"> <td><?php echo date_i18n('D M d, Y', epl_get_date_timestamp(epl_get_element($date_id, $event_details['_epl_start_date']))); ?> </td> <?php if (epl_is_time_optonal()) { ?> <td colspan="1"> - </td> <?php } else { ?> <td><?php echo $time_data['disp']; ?> </td> <?php } ?> <td><?php echo $time_data['regis']; ?> / <?php echo $capacity ? $capacity : '∞'; ?> </td> <td> <?php echo epl_anchor(add_query_arg(array_merge($table_link_arr, $dt_array) + array('names_only' => 1), $base_url), epl__('View Attendees'), null, 'class="epl_view_attendee_list_table button-secondary"'); $table_link_arr['epl_action'] = 'epl_attendee_list'; $table_link_arr['epl_controller'] = 'epl_registration'; echo epl_anchor(add_query_arg($table_link_arr, $base_url), epl__('View Full Data'), null, 'class="epl_view_attendee_list_table button-secondary"'); echo epl_anchor(add_query_arg(array_merge($csv_link_arr, $dt_array), $base_url), epl__('Export CSV'), null, 'class="button-secondary"'); //echo epl_anchor( $_SERVER['PHP_SELF'] . '&epl_action=epl_event_snapshot&event_id=' . $post->ID, epl__( 'Snapshot' ), '_blank', "class='epl_event_snapshot' data-event_id = '" . $post->ID . "'" ); ?> </td> </tr> <?php } } ?> </table> <?php break; default: break; case 'actions': $url_vars = array('epl_action' => 'duplicate_event', 'event_id' => $post_ID); $url = add_query_arg($url_vars, epl_get_url()); echo " <a href='epl_action=duplicate_event&event_id={$post_ID}'><img src='" . EPL_FULL_URL . "images/status_online.png' title='" . epl__('Attendees') . "' alt='" . epl__('Attendees') . "' /></a>"; echo " <a href='epl_action=duplicate_event&event_id={$post_ID}'><img src='" . EPL_FULL_URL . "images/doc_excel_csv.png' title='" . epl__('Attendees') . "' alt='" . epl__('Attendees') . "' /></a>"; break; } // end switch }
function user_schedule_old() { global $wpdb, $event_details, $epl_fields; if (!is_user_logged_in()) { return login_with_ajax(); } $event_type = epl_get_element('_epl_event_type', $event_details); $registrations = $this->get_current_registrations($this->user_id); $r = array(); $data['absentees'] = $this->get_user_absentee_data(); //echo "<pre class='prettyprint'>" . __LINE__ . "> " . print_r($registrations, true). "</pre>"; foreach ($registrations as $registration) { $r_id = str_replace('_epl_regis_post_id_', '', $registration->meta_key); $regis_data = $this->ecm->setup_regis_details($r_id); if (epl_is_empty_array($regis_data) || !($d = epl_get_element('__epl', $regis_data, false))) { continue; } if ($regis_data['_epl_regis_status'] < 1) { continue; } $data['regis_id'] = esc_attr($regis_data['post_title']); $data['regis_date'] = epl_formatted_date($regis_data['post_date']); //echo "<pre class='prettyprint'>" . __LINE__ . "> " . print_r( $regis_data, true ) . "</pre>"; $_regis_id = $d['_regis_id']; $_events = $d[$_regis_id]['_events']; $_dates = $d[$_regis_id]['_dates']['_epl_start_date']; $event_id = key($_events); $this->ecm->setup_event_details($event_id); $data['event_id'] = $event_id; $data['event_title'] = esc_attr($event_details['post_title']); $data['event_start_date'] = $event_details['_epl_start_date']; $data['event_end_date'] = $event_details['_epl_end_date']; $data['class_dates'] = $event_details['_epl_class_session_date']; $data['class_start_times'] = $event_details['_epl_class_session_start_time']; $class_end_times = $event_details['_epl_class_session_end_time']; $class_session_name = $event_details['_epl_class_session_name']; $class_session_note = $event_details['_epl_class_session_note']; $data['fc_event_dates'] = $this->epl->epl_util->get_sess_days_for_fc(); $data['class_end_times'] = $class_end_times; $data['regis_status'] = get_the_regis_status(); $data['regis_dates_cal'] = $this->eutil->construct_calendar($this->ercm->make_cal_dates_array($data['class_dates'])); $data['list'][$_regis_id] = $this->epl->load_view('front/user-regis-manager/user-regis-dates', $data, true); } return $this->epl->load_view('front/user-regis-manager/user-regis-list-page', $data, true); }
$fields = explode(EPL_PLUGIN_DB_DELIM, $f->field_id); $values = explode(EPL_PLUGIN_DB_DELIM, $f->value); } else { $fields = array($f->field_id); $values = array($f->value); } $full = array_combine($fields, $values); if (!$limited) { $_row = array_merge($default_row, $full); } else { $_row = array_intersect_key($full, $default_row); } $_f += epl_process_fields_for_display($_row); } } if (epl_is_empty_array($_f)) { $_f = $default_row; } $this->epl->epl_table->add_row(array_values($_combned + $_a + $_f)); $new_record = false; $form_counter++; } //construct header row $header = array(epl__('Regis ID'), epl__('Regis Date'), epl__('Status'), epl__('Event'), epl__('Purchase'), epl__('Discount Code'), epl__('Grand Total'), epl__('Paid'), epl__('Date'), epl__('Time')); $header = array_merge($header, epl_get_field_labels(array_intersect_key($avail_fields, $default_row))); $this->epl->epl_table->set_heading($header); echo $this->epl->epl_table->generate(); ?> <script type="text/javascript">
$avail_fields = epl_get_list_of_available_fields(); $default_row = array_fill_keys(array_keys($avail_fields), null); $tmp_regis_id = ''; $table_row = ""; foreach ($form_list as $form) { if (strpos($form->field_id, EPL_PLUGIN_DB_DELIM)) { $fields = explode(EPL_PLUGIN_DB_DELIM, $form->field_id); $values = explode(EPL_PLUGIN_DB_DELIM, $form->value); } else { $fields = array($form->field_id); $values = array($form->value); } $full = array_combine($fields, $values); $_row = array_merge($default_row, $full); $_r = epl_process_fields_for_display($_row); if (!epl_is_empty_array($_r)) { $table_row[] = "<tr><td>" . implode('</td><td>', $_r) . "</td></tr>"; } $new_record = false; $form_counter++; } //construct header row $header = epl_get_field_labels($avail_fields); $header = "<tr><td>" . implode('</td><td>', $header) . "</td></tr>"; $table_id = 'd' . uniqid(); echo <<<EOT <table id="{$table_id}" class="epl_report_table"> \t\t<thead> \t\t{$header} \t\t</thead> EOT;
<?php if (!epl_is_empty_array($events)) { ?> <table> <?php global $event_details; foreach ($events as $event_id => $totals) { setup_event_details($event_id); ?> <tr> <td> <?php echo epl_get_element('post_title', $event_details); ?> </td> <td class="epl_ta_r"> <?php echo epl_get_formatted_curr(epl_get_element_m('grand_total', 'money_totals', $totals), null, true); ?> </td> <td class="epl_cart_totals_row_delete"> <a href="#" class="delete_cart_item" data-caller="summary" id="<?php echo $event_id; ?> "> <img src="<?php echo EPL_FULL_URL; ?> /images/cross.png" alt="Delete" />
function get_event_money_totals($event_id = null, $all_statuses = false, $refresh = true) { global $event_details, $wpdb; if (!$refresh && false !== ($money_totals = get_transient('_epl_transient__regis_money_totals__' . $event_id))) { return $money_totals; } $WHERE = ''; $event_id = is_null($event_id) ? epl_get_element('ID', $event_details, null) : $event_id; $debug = false; // if ( $event_id == 11145 ) // $debug = true; $dates = $event_details['_epl_start_date']; $event_date_keys = array_keys($dates); if (epl_is_empty_array($event_date_keys)) { return null; } $times = $event_details['_epl_start_time']; $pack_regis = epl_get_element('_epl_pack_regis', $event_details, 0) == 10; $date_specifc_time = epl_get_element('_epl_date_specific_time', $event_details, false); if (!is_null($event_id)) { $WHERE .= " AND rd.event_id = {$event_id}"; } if (!$all_statuses) { $WHERE .= " AND (r.status >= 2 AND r.status <= 5) "; } $registrations = $wpdb->get_results("\r\n SELECT \r\n r.*,\r\n rd.id as rd_id, rd.event_id,rd.date_id,rd.time_id,rd.price_id,rd.price,rd.quantity,rd.total_quantity,\r\n rp.payment_amount,\r\n re.grand_total as event_total,\r\n re.num_dates\r\n \r\n FROM {$wpdb->epl_regis_data} rd \r\n INNER JOIN {$wpdb->epl_registration} r\r\n ON r.regis_id = rd.regis_id\r\n INNER JOIN {$wpdb->epl_regis_events} re\r\n ON (rd.regis_id = re.regis_id AND rd.event_id = re.event_id)\r\n LEFT JOIN {$wpdb->epl_regis_payment} rp\r\n ON r.regis_id = rp.regis_id\r\n WHERE 1=1\r\n {$WHERE}\r\n GROUP BY rd.id\r\n ORDER BY rd.id"); if ($debug) { echo "<pre class='prettyprint'>" . __LINE__ . "> " . print_r($wpdb->last_query, true) . "</pre>"; } $money_totals = array(); if ($debug) { echo "<pre class='prettyprint'>" . __LINE__ . "> " . print_r($event_date_keys, true) . "</pre>"; } foreach ($registrations as $row) { $true_discount = 0; if ($row->discount_amount > 0) { $true_discount = $row->discount_amount / $row->total_tickets; } $donation = 0; if ($row->donation_amount != 0) { $donation = $row->donation_amount / $row->total_tickets; } $payment_amount = $row->payment_amount == 0 ? 0 : $row->payment_amount > $row->event_total && $row->num_events > 1 ? $row->event_total : $row->payment_amount; $money = $row->price; if ($row->total_quantity > 1) { $money = $payment_amount / $row->total_quantity; } if ($row->event_total == $payment_amount) { $money = $row->price; } if ($pack_size > 1) { $money = $payment_amount / $row->total_quantity; } else { if ($row->num_events > 1) { if ($payment_amount > $row->price) { $money = $row->price; } elseif ($row->num_dates > 0) { $money = $payment_amount / $row->num_dates / $row->total_quantity; } } $money -= $true_discount; $money += $donation; if ($row->total_quantity >= 1 && $payment_amount < $row->price * $row->total_quantity * $row->num_dates) { $money = $payment_amount / $row->num_dates / $row->total_quantity; } if ($row->total_quantity == 1 && $payment_amount < $row->price) { $money = $payment_amount; } } if (!$pack_regis) { if ($debug) { echo "<pre class='prettyprint'>" . __LINE__ . ">{$row->regis_key} " . basename(__FILE__) . " > " . print_r($money, true) . "</pre>"; } $money_totals["_money_total_{$event_id}_date_{$row->date_id}"] += $money; $money_totals["_money_total_{$event_id}_time_{$row->date_id}_{$row->time_id}"] += $money; } else { $regis_weekday = date('N', $event_details['_epl_start_date'][$row->date_id]); $pack_decrement_conter = $pack_size = epl_get_element_m($row->price_id, '_epl_price_pack_size', $event_details, 1); $start = false; foreach ($event_details['_epl_start_date'] as $date_id => $date) { //find the first date of the pack if (!$start && $date_id != $row->date_id) { continue; } $start = true; $_weekday = date('N', $date); if ($regis_weekday != $_weekday || $pack_decrement_conter == 0) { continue; } $pack_decrement_conter--; if (isset($money_totals["_money_total_{$event_id}_date_{$date_id}"])) { $money_totals["_money_total_{$event_id}_date_{$date_id}"] += $money / $pack_size; } else { $money_totals["_money_total_{$event_id}_date_{$date_id}"] = $money / $pack_size; } if (isset($money_totals["_money_total_{$event_id}_time_{$date_id}_{$row->time_id}"])) { $money_totals["_money_total_{$event_id}_time_{$date_id}_{$row->time_id}"] += $money / $pack_size; } else { $money_totals["_money_total_{$event_id}_time_{$date_id}_{$row->time_id}"] = $money / $pack_size; } } } } if ($debug) { echo "<pre class='prettyprint'>" . __LINE__ . "> " . print_r($money_totals, true) . "</pre>"; } set_transient('_epl_transient__regis_money_totals__' . $event_id, $money_totals, 60 * 60); return $money_totals; }
function epl_process_fields_for_display($fields, $avail_fields = null) { if (is_null($avail_fields)) { $avail_fields = epl_get_list_of_available_fields(); } foreach ($fields as $field_id => &$value) { if ($avail_fields[$field_id]['input_type'] == 'select' || $avail_fields[$field_id]['input_type'] == 'radio') { $value = isset($avail_fields[$field_id]['epl_field_choice_text'][$value]) && $avail_fields[$field_id]['epl_field_choice_text'][$value] !== '' ? $avail_fields[$field_id]['epl_field_choice_text'][$value] : $value; } elseif ($avail_fields[$field_id]['input_type'] == 'checkbox') { $value = epl_make_array_from_string($value); if (!epl_is_empty_array($value)) { if (!epl_is_empty_array($avail_fields[$field_id]['epl_field_choice_value'])) { $value = implode(',', array_intersect_key($avail_fields[$field_id]['epl_field_choice_value'], array_flip($value))); } else { $value = implode(',', array_intersect_key($avail_fields[$field_id]['epl_field_choice_text'], array_flip($value))); } } } else { $value = html_entity_decode(htmlspecialchars_decode($value)); } } return $fields; }
function get_purchased_tickets($regis_id, $event_id) { global $event_details, $regis_details; $purchased_tickets = $regis_details['__epl'][$regis_id]['_dates']['_att_quantity'][$event_id]; $r = array(); foreach ($event_details['_epl_price_name'] as $price_id => $price_name) { if ($purchased_tickets[$price_id][0] > 0) { $exp = ''; if (epl_get_element_m($price_id, '_epl_price_pack_type', $event_details) == 'time') { $mem_l = epl_get_element_m($price_id, '_epl_price_pack_time_length', $event_details); $mem_lt = epl_get_element_m($price_id, '_epl_price_pack_time_length_type', $event_details); $start = !epl_is_empty_array($regis_details) ? strtotime($regis_details['post_date']) : EPL_DATE; $exp = ' (' . epl_formatted_date(strtotime("+ {$mem_l} {$mem_lt}", $start)) . ')'; } $r[$price_id] = array('ticket_name' => $price_name . $exp, 'qty' => $purchased_tickets[$price_id][0]); } } return $r; }
function form_data($regis_id, $_regis_key, $event_id, $tickets_to_show = null) { global $event_details, $regis_details, $wpdb; $attendee_info = $regis_details['__epl'][$_regis_key]['_attendee_info']; if ($this->debug) { echo "<pre class='prettyprint'>" . __LINE__ . "> " . basename(__FILE__) . " > " . print_r($attendee_info, true) . "</pre>"; } $event_ticket_buyer_forms = array_flip(epl_get_element('_epl_primary_regis_forms', $event_details, array())); $event_addit_forms = epl_get_element('_epl_addit_regis_forms', $event_details) ? array_flip($event_details['_epl_addit_regis_forms']) : array(); if (version_compare(epl_regis_plugin_version(), '1.4', '>=') && epl_sc_is_enabled() && epl_get_setting('epl_sc_options', 'epl_sc_forms_to_use') == 1) { $sc_event_ticket_buyer_forms = array_flip(epl_get_setting('epl_sc_options', 'epl_sc_primary_regis_forms', array())); $event_ticket_buyer_forms = $sc_event_ticket_buyer_forms; // + $event_ticket_buyer_forms; $event_addit_forms = array_flip(epl_get_setting('epl_sc_options', 'epl_sc_addit_regis_forms', array())); } if (empty($event_ticket_buyer_forms)) { $event_ticket_buyer_forms = array('4e8b3920c839b' => 1); } /* * find price forms if any. */ $price_forms = epl_get_element('_epl_price_forms', $event_details, array()); $_price_forms = array(); foreach ($price_forms as $k => $v) { $_price_forms += $v; } //find the list of all forms $available_forms = $this->ecm->get_list_of_available_forms(); $available_fields = $this->ecm->get_list_of_available_fields(); //isolate the ticket buyer forms that are selected inside the event $ticket_buyer_forms = array_intersect_key($available_forms, $event_ticket_buyer_forms); //isolate the additional forms for attendees. $addit_forms = array_intersect_key($available_forms, array_merge($event_addit_forms, $_price_forms)); //This will combine all the fields in all the forms so that we can construct a header row. $tickey_buyer_fields = array(); foreach ($ticket_buyer_forms as $_form_id => $_form_info) { $tickey_buyer_fields = array_merge($tickey_buyer_fields, $_form_info['epl_form_fields']); } //combine all the fields from the attendee forms $event_addit_fields = array(); foreach ($addit_forms as $_form_id => $_form_info) { //$event_addit_fields += $_form_info['epl_form_fields']; $event_addit_fields = array_merge($event_addit_fields, $_form_info['epl_form_fields']); } $epl_fields_inside_form = array_flip($tickey_buyer_fields); //get the field ids inside the form $epl_addit_fields_inside_form = array_flip($event_addit_fields); //get the field ids inside the form //when creating a form in form manager, the user may rearrange fields. Find their desired order $epl_fields_to_display = $this->epl_util->sort_array_by_array($available_fields, $epl_fields_inside_form); $epl_addit_fields_to_display = $this->epl_util->sort_array_by_array($available_fields, $epl_addit_fields_inside_form); //final list of all the fields to display //$epl_fields_to_display = $epl_fields_to_display + $epl_addit_fields_to_display; $ins = array(); $ins['regis_id'] = $regis_id; $ins['event_id'] = $event_id; $ins['field_id'] = array(); $ins['input_slug'] = array(); $ins['value'] = array(); if (!$this->primary_pulled) { //################################### Ticket buyer form data ############################################ if ($this->debug) { echo "<pre class='prettyprint'>" . __LINE__ . "> " . basename(__FILE__) . " > " . print_r($epl_fields_to_display, true) . "</pre>"; } $form_data_array_tmp = array(); foreach ($epl_fields_to_display as $field_id => $field_atts) { //1.3 stores in [field id][event id][0] //2.0 stores in [field id][0] //if ( epl_sc_is_enabled() && isset( $attendee_info[$field_id][0] ) ) { if (isset($attendee_info[$field_id][0])) { $value = epl_get_element(0, $attendee_info[$field_id]); } else { $value = isset($attendee_info[$field_id]) ? epl_get_element(0, $attendee_info[$field_id][$event_id]) : ''; } $raw_value = $value; if ($field_atts['input_slug'] == 'email') { $email_list[$regis_post_id] = $value; if ($regis_post_id && $regis_post_id != $this_regis_post_id) { unset($email_list[$regis_post_id]); } } if ($field_atts['input_type'] == 'select' || $field_atts['input_type'] == 'radio') { $value = $raw_value; //(isset( $field_atts['epl_field_choice_text'][$value] ) && $field_atts['epl_field_choice_text'][$value] !== '') ? $field_atts['epl_field_choice_text'][$value] : $value; } elseif ($field_atts['input_type'] == 'checkbox') { if (!epl_is_empty_array($field_atts['epl_field_choice_value'])) { $value = implode(',', (array) $raw_value); } elseif (is_array($value)) { $value = implode(',', $raw_value); } } //if ( $value != '' ) { $ins['field_id'][] = $field_id; $ins['input_slug'][] = $field_atts['input_slug']; $ins['form_no'] = $this->form_no; $ins['value'][] = str_replace($this->delim, " ", $value); //$wpdb->insert( $wpdb->epl_regis_form_data, $ins ); //} } $ins['field_id'] = implode($this->delim, $ins['field_id']); $ins['input_slug'] = implode($this->delim, $ins['input_slug']); $ins['form_no'] = $this->form_no; $ins['value'] = implode($this->delim, $ins['value']); if ($this->debug) { echo "<pre class='prettyprint'>" . __LINE__ . "> " . basename(__FILE__) . " > " . print_r($ins, true) . "</pre>"; } $wpdb->insert($wpdb->epl_regis_form_data, $ins); //################### End Ticket Buyer Data ######################################### } //$this->primary_pulled = true; $ins['event_id'] = $event_id; $ins['field_id'] = array(); $ins['input_slug'] = array(); $ins['value'] = array(); $counter = 0; $att_counter = 1; foreach ($tickets_to_show as $ticket_id => $ticket_quantities) { if (is_array($ticket_quantities)) { $tmp_price_inner_keys = array_keys($ticket_quantities); $ticket_qty = array_sum($ticket_quantities); } if ($ticket_qty == 0) { continue; } if (epl_is_empty_array($price_forms)) { } if ($this->debug) { echo "<pre class='prettyprint'>" . __LINE__ . "> " . basename(__FILE__) . " > " . print_r($epl_addit_fields_to_display, true) . "</pre>"; } foreach ($ticket_quantities as $ticket_qty_id => $quantities) { if (version_compare($version, '1.2.9', '<')) { $counter = 1; } for ($i = 0; $i < $quantities; $i++) { $this->form_no++; //not good, runs every time in the loop /* if ( $pack_regis && $attendance_dates = epl_get_element( "_pack_attendance_dates_{$event_id}_{$ticket_id}_" . ($i + 1), $regis_data, null ) ) { $pack_count = count( $attendance_dates ); $attendance_date_number = array_search( $date_id, array_keys( $attendance_dates ) ) + 1; } if ( $pack_regis && $date_id && !isset( $attendance_dates[$date_id] ) ) { break; continue; } */ $ticket_label = epl_escape_csv_val(epl_get_element($ticket_id, $event_details['_epl_price_name'])); if (epl_is_date_level_price()) { $reserved_date_key = $ticket_qty_id; $reserved_dates = epl_get_element_m($ticket_qty_id, '_epl_start_date', $event_details); } if (epl_is_date_level_time()) { $reserved_time_key = $reserved_times[$ticket_qty_id]; $reserved_times_display = epl_get_element_m($reserved_time_key, '_epl_start_time', $event_details); } $ins['field_id'] = array(); $ins['input_slug'] = array(); $ins['value'] = array(); foreach ($epl_addit_fields_to_display as $field_id => $field_atts) { $value = ''; //if ( $this->debug ) // echo "<pre class='prettyprint'>" . __LINE__ . "> " . basename( __FILE__ ) . " > " . print_r( epl_get_num_events_in_cart(), true ) . "</pre>"; //new v1.2.b9+ //if ( epl_sc_is_enabled() || isset( $attendee_info[$field_id][0] ) ) { //if this, price specific forms will get the primary form vals also if (epl_sc_is_enabled()) { $value = epl_get_element(0, $attendee_info[$field_id]); } else { $value = isset($attendee_info[$field_id]) ? epl_get_element(0, $attendee_info[$field_id][$event_id]) : ''; } if (isset($attendee_info[$field_id][$event_id][$ticket_id])) { $value = epl_get_element($counter, $attendee_info[$field_id][$event_id][$ticket_id]); } elseif (isset($attendee_info[$field_id][$event_id][$counter])) { $value = $attendee_info[$field_id][$event_id][$counter]; } $raw_value = $value; if ($field_atts['input_type'] == 'select' || $field_atts['input_type'] == 'radio') { $value = $raw_value; //(isset( $field_atts['epl_field_choice_text'][$value] ) && $field_atts['epl_field_choice_text'][$value] !== '') ? $field_atts['epl_field_choice_text'][$value] : $value; } elseif ($field_atts['input_type'] == 'checkbox') { if (!epl_is_empty_array($field_atts['epl_field_choice_value'])) { $value = implode(',', (array) $raw_value); } elseif (!epl_is_empty_array($value)) { $value = implode(',', $raw_value); } else { $value = html_entity_decode(htmlspecialchars_decode($value)); } } /* else { $value = html_entity_decode( htmlspecialchars_decode( $value ) ); } */ // if ( $value != '' ) { //FOR NOW, WILL ENTER EMPTY ROW IN THE TABLE, WILL HELP TRACK COUNTS $ins['field_id'][] = $field_id; $ins['input_slug'][] = $field_atts['input_slug']; $ins['form_no'] = $this->form_no; $ins['value'][] = str_replace($this->delim, " ", $value); //$wpdb->insert( $wpdb->epl_regis_form_data, $ins ); //} } //if ( !epl_is_empty_array( $ins['field_id'] ) ) { // echo "<pre class='prettyprint'>" . __LINE__ . "> " . print_r($ins, true). "</pre>"; $ins['field_id'] = implode($this->delim, $ins['field_id']); $ins['input_slug'] = implode($this->delim, $ins['input_slug']); $ins['form_no'] = $this->form_no; $ins['value'] = implode($this->delim, $ins['value']); if ($this->debug) { echo "<pre class='prettyprint'>" . __LINE__ . "> " . basename(__FILE__) . " >counter:{$counter} , ticket_id: {$ticket_id} " . print_r($ins, true) . "</pre>"; } $wpdb->insert($wpdb->epl_regis_form_data, $ins); //} $counter++; $att_counter++; } } } }
$num_regis = 0; $avail = ''; if (isset($current_att_count['_total_att_' . $event_id . "_date_{$date_id}"])) { $num_regis = epl_get_element('_total_att_' . $event_id . "_date_{$date_id}", $current_att_count, 0); $avail = $date_capacity - $num_regis; } $date_note = epl_prefix(' - ', epl_get_element_m($date_id, '_epl_date_note', $event_details, '')); foreach ($event_details['_epl_start_time'] as $time_id => $time) { if ($event_details['_epl_time_hide'][$time_id] == 10) { continue; } if (epl_is_date_level_time() && !epl_is_empty_array($date_specifc_time) && (!isset($date_specifc_time[$time_id]) || !isset($date_specifc_time[$time_id][$date_id]))) { continue; } $weekday_specific = epl_get_element_m($time_id, '_epl_weekday_specific_time', $event_details, array()); if (!epl_is_empty_array($weekday_specific) && !isset($weekday_specific[$weekday])) { continue; } $unix_time = $time != '' ? strtotime($time, $date) : $date; if (!$show_all && $unix_time < EPL_DATE) { continue; } $event_tooltip = ''; if ($event_excerpt !== '') { $event_tooltip = " <span class='tip event_tooltip' title='" . $event_excerpt . "'>i</span>"; } $event_title = "<a href =" . get_the_register_button($event_id, true) . ' title="' . get_the_title() . '">' . get_the_title() . "</a>"; if ($event_details['_epl_title_link_destination'] == 0) { $event_title = '<a href =' . get_permalink() . ' title="' . get_the_title() . '">' . get_the_title() . '</a>'; } $event_categories = strip_tags(get_the_term_list($event_id, 'epl_event_categories', '', ',', ''));
</tr> </thead> <?php $date_specifc_time = epl_get_element('_epl_date_specific_time', $event_details, array()); //echo "<pre class='prettyprint'>" . __LINE__ . "> " . print_r($event_regis_data, true). "</pre>"; foreach ($event_regis_data as $date_id => $date_data) { if ($date_data['date']['timestamp'] < 1364083200) { continue; } $date = $date_data['date']['disp']; $date_capacity = epl_get_element_m($date_id, '_epl_date_capacity', $event_details); $times = $date_data['time']; foreach ($times as $time_id => $time_data) { if (epl_is_date_level_time() && !epl_is_empty_array($date_specifc_time) && (!isset($date_specifc_time[$time_id]) || !isset($date_specifc_time[$time_id][$date_id]))) { continue; } $time_capacity = epl_get_element_m($time_id, '_epl_time_capacity', $event_details); $capacity = $time_capacity ? $time_capacity : ($date_capacity ? $date_capacity : epl_get_element_m($date_id, '_epl_date_per_time_capacity', $event_details)); ?> <tr class="epl_date_time"> <td style="padding-left:38px;"><?php echo date_i18n('D', epl_get_element($date_id, $event_details['_epl_start_date'])); ?> </td> <td><?php echo date_i18n('M d, Y', epl_get_element($date_id, $event_details['_epl_start_date'])); ?> </td>
function send_confirmation_email($data) { global $organization_details, $customer_email, $event_details, $email_regis_form; //$data['email_body'] = ''; $attach_pdf = epl_get_setting('epl_api_option_fields', 'epl_invoice_attach_to_conf', 0) == 10 && epl_is_addon_active('_epl_atp'); $attach_pdf = apply_filters('epl_attach_invoice_to_conf_email', $attach_pdf); $defaults = array('admin_subject' => epl__('New Registration'), 'subject' => epl__('Registration Confirmation')); $default_email_body = $this->epl->load_view('email/default/template-no-custom', $data, true); $_notif = epl_get_element('_epl_event_notification', $event_details); if (epl_is_waitlist_flow()) { $_notif = epl_get_element('_epl_waitlist_notification', $event_details); $defaults['admin_subject'] = epl__('New Waitlist Addition'); } $_notif_data = array(); if (epl_sc_is_enabled() && !epl_is_waitlist_flow()) { $_notif = epl_get_setting('epl_sc_options', 'epl_sc_notification'); } if ($_notif && (!epl_is_empty_array($_notif) || $_notif != '')) { $id = is_array($_notif) ? current($_notif) : $_notif; $_notif_data = get_post($id, ARRAY_A) + (array) $this->ecm->get_post_meta_all($id); $data['email_body'] = $this->notif_tags($_notif_data['post_content'], $data); } if (epl_is_empty_array($_notif) || $_notif == '') { $email_template = 'email/default/template-no-custom'; $email_template_name = epl_get_element('_epl_email_template', $_notif_data); $email_template = $email_template_name ? 'email/' . $email_template_name . '/template.php' : $email_template; $data['base_url'] = EPL_EMAIL_TEMPLATES_URL . $email_template_name . '/'; $email_body = $this->epl->load_view($email_template, $data, true); } else { $email_body = $data['email_body']; } $email_body = preg_replace('/<div class=\'epl_(.*?)_message\'>(.*?)<\\/div>/', '', $email_body); $from_name = stripslashes_deep(html_entity_decode(epl_get_element('_epl_email_from_name', $_notif_data, get_bloginfo('name')), ENT_QUOTES)); $from_email = epl_get_element('_epl_from_email', $_notif_data, get_bloginfo('admin_email')); $subject = stripslashes_deep(html_entity_decode(epl_get_element('_epl_email_subject', $_notif_data, $defaults['subject']), ENT_QUOTES)); $headers = "From: \"" . $from_name . "\" <{$from_email}> \r\n"; $headers .= 'Reply-To: ' . $from_email . "\r\n"; $headers .= 'X-Mailer: PHP/' . phpversion(); $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=UTF-8\r\n"; if ($attach_pdf) { $invoice = $this->erptm->invoice($data['post_ID']); $data['attachment'] = $this->make_pdf($invoice, true, true); } if (isset($customer_email) && count($customer_email) > 0) { $to = implode(',', $customer_email); @wp_mail($to, $subject, $email_body, $headers, epl_get_element('attachment', $data, null)); } //admin email $_email = epl_get_event_property('_epl_alt_admin_email'); if ($_email == '') { $_email = epl_nz(epl_get_event_option('epl_default_notification_email'), get_bloginfo('admin_email')); } $admin_email = array('email' => $_email, 'title' => $defaults['admin_subject'] . ': ' . get_the_event_title(), 'email_body' => $email_body, 'headers' => $headers, 'data' => $data); $admin_email = apply_filters('epl_admin_send_confirmation_email_args', $admin_email); @wp_mail($admin_email['email'], $admin_email['title'], $admin_email['email_body'], $admin_email['headers'], epl_get_element('attachment', $admin_email['data'], null)); if ($attach_pdf) { $this->delete_file($data['attachment']); } }