<div class="toggle_container"> <table class="epl_avail_spaces_table"> <?php foreach ($table_data as $date_id => $data) { if ($data['date']['timestamp'] <= EPL_DATE && $event_details['_epl_event_status'] != 3) { continue; } $date = $data['date']['disp']; $times = $data['time']; ?> <tr class="epl_date"><td><?php echo $data['date']['disp']; echo epl_prefix(' - ', epl_get_element_m($date_id, '_epl_date_note', $event_details, null)); ?> </td><td><?php echo $data['date']['avail']; ?> </td></tr> <?php if (epl_is_addon_active('_epl_atp')) { foreach ($times as $time_id => $time_data) { //if ( $time_data['avail'] !== '' ): $prices = $time_data['price']; if ($time_data['disp'] !== '') { ?> <tr class="epl_time"><td><?php
echo stripslashes_deep(do_shortcode($event_details['post_content'])); ?> </div> </div> </td> </tr> <?php } ?> <?php foreach ($date_data as $date_id => $data) { $date = $data['date']['disp']; $times = $data['time']; $date_note = epl_get_element_m($date_id, '_epl_date_note', $event_details, ''); ?> <tr class="epl_date"> <td><?php echo $data['date']['disp']; echo $date_note; ?> </td> <td><?php echo epl_get_element('location', $data['date'], ' '); ?> </td> </tr> <?php
function thank_you_page($add_to_db = true) { global $cart_totals, $wpdb; if ($this->erm->is_empty_cart()) { return $this->epl_util->epl_invoke_error(20, null, false); } global $event_details; $this->erm->_set_relevant_data(); if (epl_is_waitlist_flow()) { $this->erm->add_registration_to_db(); } // echo "<pre class='prettyprint'>" . __LINE__ . "> " . print_r($_SESSION, true). "</pre>"; $this->ecm->setup_event_details($this->erm->get_current_event_id()); if (epl_regis_flow() == 2 && $add_to_db) { $this->erm->add_registration_to_db(); } if (epl_regis_flow() == 10) { if ($this->erm->ok_to_proceed(true) !== true) { return $this->erm->ok_to_proceed; } } $post_ID = epl_get_element_m('post_ID', '__epl', $_SESSION, null); if (!$post_ID) { $regis_key = $_SESSION['__epl']['_regis_id']; $post_ID = $wpdb->get_var($wpdb->prepare("SELECT ID FROM {$wpdb->posts}\n WHERE post_status ='publish' \n AND post_type='epl_registration' \n AND post_title=%s\n ORDER BY ID DESC\n LIMIT 1", $regis_key)); $_SESSION['__epl']['post_ID'] = $post_ID; } $this->regis_id = $post_ID; $this->ecm->setup_regis_details($post_ID); $this->erm->set_mode('overview'); $_totals = $this->erm->calculate_cart_totals(); $grand_total = $cart_totals['money_totals']['grand_total']; $data['cart_data'] = $this->erm->show_cart(); $data['regis_form'] = $this->erm->regis_form(null, false, false, false); $gateway_info = $this->erm->get_gateway_info(); $data['post_ID'] = $post_ID; $data['_epl_regis_status'] = 1; $data['_epl_payment_method'] = epl_is_free_event() || epl_is_zero_total() ? '1' : $gateway_info['_epl_pay_type']; $data['payment_instructions'] = ''; if (!epl_is_waitlist_flow() && (epl_is_free_event() || epl_is_zero_total())) { $data['_epl_regis_status'] = 5; $data['_epl_grand_total'] = '0'; $data['_epl_payment_amount'] = '0'; $data['_epl_payment_date'] = ''; $data['_epl_payment_method'] = '1'; $data['_epl_transaction_id'] = ''; $this->erm->update_payment_data($data); } elseif ($this->erm->has_selected_offline_payment() || epl_is_waitlist_flow()) { $data['_epl_regis_status'] = epl_is_waitlist_flow() ? 20 : 2; $data['_epl_payment_method'] = epl_is_waitlist_flow() ? '' : $gateway_info['_epl_pay_type']; $data['_epl_prediscount_total'] = epl_get_element('pre_discount_total', $cart_totals['money_totals'], 0); $data['_epl_discount_amount'] = epl_get_element('discount_amount', $cart_totals['money_totals'], 0); $data['_epl_grand_total'] = $grand_total; $data['_epl_balance_due'] = $grand_total; $data['_epl_transaction_id'] = ''; $data['payment_instructions'] = $this->epl->load_view('front/registration/regis-payment-instr', array('gateway_info' => $gateway_info), true); $this->erm->update_payment_data($data); } $this->ecm->setup_regis_details($post_ID); $data['payment_details'] = $this->epl->load_view('front/registration/regis-payment-details', $data, true); $data = apply_filters('epl_update_payment_data_thank_you_page', $data); if ($this->erm->has_selected_offline_payment()) { $data['payment_instructions'] = epl_get_element('_epl_check_instructions', $gateway_info); } $data['mode'] = 'overview'; $data['tracking_code'] = 1; $data['overview'] = $this->epl->load_view('front/registration/regis-thank-you-page', $data, true); $this->epl_util->regis_id = $post_ID; if (epl_is_addon_active('ASDFAWEEFADSF')) { epl_mailchimp_subscribe(); } do_action('epl_efc__thank_you_page__before_session_destroy', $post_ID); $new_user = $this->erm->maybe_add_new_user(); if ($new_user !== false) { $this->erm->assign_event_to_user($post_ID, $new_user); } $this->epl->load_model('epl-db-model'); EPL_db_model::get_instance()->reset_table_for_registration($post_ID, get_current_user_id()); $this->epl_util->send_confirmation_email($data); $url = apply_filters('epl_efc__thank_you_page__redirect_url', ''); $_SESSION['__epl'] = array(); unset($_SESSION['__epl']); @session_destroy(); $_SESSION = array(); epl_delete_transient(); if ($url != '' || $this->epl->locate_template('single-epl_registration.php')) { $url = $url != '' ? $url : get_permalink($this->regis_id); $url_params = array(); if (epl_get_regis_setting('epl_tracking_code')) { $url_params['cnv_tr'] = 1; } $url_params['epl_token'] = epl_get_token(); $url_params = apply_filters('epl_efc__thank_you_page__url_params', $url_params); $url = add_query_arg($url_params, $url); wp_redirect($url, 301); die; } return $data['overview']; }
/** * returns value from snapshot based on keys supplied * * long description * * @since 1.4 * @param array $args - array of what the call wants * @return string || null */ function epl_get_from_snapshot($args = array()) { global $event_snapshot; switch ($args['section']) { case 'date': return epl_get_element_m($args['index'], 'date', epl_get_element_m($args['date_id'], $args['event_id'], $event_snapshot), null); } }
function firstdata_process() { global $event_details, $cart_totals; $event_id = $event_details['ID']; $regis_id = $this->erm->get_regis_id(); $post_ID = $this->erm->get_regis_post_id(); $this->ecm->setup_event_details($event_id); $_totals = $this->erm->calculate_cart_totals(true); $gateway_info = $this->erm->get_gateway_info(); $host = "staging.linkpt.net"; if ($gateway_info['_epl_sandbox'] == 0) { $host = "secure.linkpt.net"; } //$pem_file = get_attached_file( $gateway_info['_epl_pem_file'] ); $pem_file = epl_upload_dir_path() . "firstdata/{$gateway_info['_epl_user']}.pem"; $payment_amount = epl_get_element_m('pay_deposit', 'money_totals', $cart_totals) == 1 ? epl_get_element_m('min_deposit', 'money_totals', $cart_totals, $cart_totals['money_totals']['grand_total']) : $cart_totals['money_totals']['grand_total']; $this->epl->load_file('libraries/gateways/firstdata/lphp.php'); $_tolphp = array(); $lphp = new lphp(); //$_tolphp["debugging"] = ($gateway_info['_epl_sandbox'] == 10); //set to true to see debug message $_tolphp["host"] = $host; $_tolphp["port"] = "1129"; $_tolphp["keyfile"] = $pem_file; $_tolphp["configfile"] = $gateway_info['_epl_user']; $_tolphp["ordertype"] = "SALE"; $_tolphp["result"] = "LIVE"; # LIVE for live, for test set to GOOD, DECLINE, DUPLICATE $_tolphp["cardnumber"] = $_POST['_epl_cc_num']; $_tolphp["cardexpmonth"] = date('m', strtotime($_POST['_epl_cc_exp_month'])); $_tolphp["cardexpyear"] = substr($_POST['_epl_cc_exp_year'], 0 - 2); $_tolphp["chargetotal"] = epl_get_balance_due(); $_tolphp["name"] = $_POST['_epl_cc_first_name'] . ' ' . $_POST['_epl_cc_last_name']; $_tolphp["address1"] = $_POST['_epl_cc_address']; $_tolphp["city"] = $_POST["_epl_cc_city"]; $_tolphp["state"] = $_POST["_epl_cc_state"]; $_tolphp["zip"] = $_POST["_epl_cc_zip"]; $_tolphp["phone"] = epl_get_element('_epl_cc_phone', $_POST, ''); $_tolphp["email"] = epl_get_element('_epl_cc_email', $_POST, ''); $addrnum = $_POST['_epl_cc_address']; $temp_address = explode(" ", $_POST['_epl_cc_address']); if (count($temp_address) > 0) { $addrnum = $temp_address[0]; } $_tolphp["addrnum"] = $addrnum; $result = $lphp->curl_process($_tolphp); if (is_array($result) && $result['r_approved'] == 'APPROVED') { // Payment successful $data['post_ID'] = $post_ID; $data['_epl_grand_total'] = $cart_totals['money_totals']['grand_total']; $data['_epl_payment_amount'] = $cart_totals['money_totals']['grand_total']; $data['_epl_payment_date'] = current_time('mysql'); $data['_epl_payment_method'] = $this->erm->get_payment_profile_id(); $data['_epl_transaction_id'] = $result['r_ref']; $data['_epl_prediscount_total'] = epl_get_element('pre_discount_total', $cart_totals['money_totals'], 0); $data['_epl_discount_amount'] = epl_get_element('discount_amount', $cart_totals['money_totals'], 0); $data = apply_filters('epl_firstdata_response_data', $data, $result); $this->erm->update_payment_data($data); return true; } else { return '<div class="epl_error">ERROR: ' . $result['r_error'] . '</div>'; } }
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; }
<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" /> </a> </td> </tr> <?php
if (isset($current_att_count['_total_att_' . get_the_ID() . "_date_{$date_id}"])) { $num_regis = epl_get_element('_total_att_' . get_the_ID() . "_date_{$date_id}", $current_att_count, 0); } $avail = $capacity - $num_regis; $time_optional = epl_is_time_optonal(); foreach ($event_details['_epl_start_time'] as $time_id => $time) { if (!$time_optional) { $num_regis = 0; if (isset($current_att_count['_total_att_' . get_the_ID() . "_time_{$date_id}_{$time_id}"])) { $num_regis = epl_get_element('_total_att_' . get_the_ID() . "_time_{$date_id}_{$time_id}", $current_att_count, 0); } } 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 (!empty($weekday_specific) && !isset($weekday_specific[$weekday])) { continue; } $start_time = strtotime($time, $start_date); $signed_in_key = "{$event_id}-{$date_id}-{$start_date}-{$time_id}"; $signed_in_count = epl_get_element($signed_in_key, $session_signed_in_counts, 0); $time_cap = epl_get_element($time_id, $time, '-'); $display_date = epl_formatted_date($start_date); //build the td rows $add_regis_link = add_query_arg(array('_date_id' => $date_id, '_time_id' => $time_id, 'event_id' => $event_id), admin_url('post-new.php?post_type=epl_registration')); $add_regis_link = '<a href="' . $add_regis_link . '" class="add_att_link" title="+ Att" data-no_action="1" target="_blank">Add Registration</a>'; $temp_table_row = '<td>' . epl_anchor(admin_url("post.php?post=" . get_the_ID() . "&action=edit"), get_the_title()) . '</td>'; $temp_table_row .= '<td>' . $display_date . '</td>'; $temp_table_row .= '<td>' . $time . '-' . $event_details['_epl_end_time'][$time_id] . '</td>'; $temp_table_row .= "<td class='singed_in_count'>" . $signed_in_count . '</td>';
function get_session_attendees() { global $event_details, $wpdb; $this->erptm = $this->epl->load_model('epl-report-model'); $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, 1)); setup_event_details($filters['event_id']); $data['pack_regis'] = epl_get_element('_epl_pack_regis', $event_details, 0) == 10; $_filter = array(); 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()); $regis_packs = $wpdb->get_results("SELECT * FROM {$wpdb->epl_regis_data} WHERE event_id = " . intval($event_details['ID'])); if ($regis_packs) { $attendance_dates = array(); foreach ($regis_packs as $reg) { if (isset($pack_counts[$reg->price_id])) { $start_date_id = $reg->price_id; $offset = array_search($reg->date_id, $event_date_keys); $attendance_dates[$reg->id] = array_slice($event_details['_epl_start_date'], $offset, $pack_counts[$reg->price_id]); $_filter[$reg->id] = $reg->id; if ($filters['date_id'] && !isset($attendance_dates[$reg->id][$filters['date_id']])) { unset($_filter[$reg->id]); unset($attendance_dates[$reg->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($_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['filters'] = $filters; $r = $this->epl->load_view('user-regis-manager/session-attendees', $data, true); return $r; }
function epl_get_event_status($raw = false) { global $epl_fields, $event_details; $status = epl_get_element('_epl_event_status', $event_details); if ($raw) { return array($status => epl_get_element_m($status, 'options', epl_get_element('_epl_event_status', $epl_fields['epl_option_fields']))); } return epl_get_element_m($status, 'options', epl_get_element('_epl_event_status', $epl_fields['epl_option_fields'])); }
<?php $start_time = epl_get_element($_key, $class_start_times) ? epl_get_element($_key, $class_start_times) : current($event_details['_epl_start_time']); ?> <td><?php echo $start_time; ?> </td> <?php $end_time = epl_get_element($_key, $class_end_times) ? epl_get_element($_key, $class_end_times) : current($event_details['_epl_end_time']); ?> <td><?php echo $end_time; ?> </td> <td><?php echo epl_get_element_m($_key, '_epl_class_session_note', $event_details); ?> </td> <td> <?php echo epl_get_element($absentee_key, $absentees) ? epl__('Yes') : ($_date <= EPL_DATE ? epl__('No') : ''); ?> </td> <td><?php echo $_date >= EPL_DATE ? '<a href="#" class="epl_reschedule_link">Reschedule</a>' : ''; ?> </td> </tr> <?php
} $go = true; if ($_from_date && epl_compare_dates($date, $_from_date, '<')) { $go = false; } if ($_to_date && epl_compare_dates($date, $_to_date, '>')) { $go = false; } if (!$go) { continue; } foreach ($event_details['_epl_start_time'] as $time_id => $time) { 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; } $regis_end_time = epl_get_element_m($time_id, '_epl_regis_endtime', $event_details, null); if ($regis_end_time && epl_compare_dates(strtotime($regis_end_time, $date), EPL_TIME, '<')) { continue; } $register_button = get_the_register_button(null, false, $register_button_url + array('_time_id' => $time_id)); $event_link = ''; if (isset($event_details['_epl_link']) && $event_details['_epl_link'] != '') { $event_link = epl_anchor($event_details['_epl_link'], 'Learn More', '_self', 'class="event_link"') . ' ' . $register_button; } else { $event_link = $register_button; } //removed per Jessi //if (!$regis_end_time && epl_compare_dates( strtotime($time, $date), EPL_TIME, '<' )) //continue; $event_id = get_the_ID(); $event_excerpt = get_the_excerpt();
function adjust_discountable_amounts($for = 'category', $args = null) { global $event_totals; static $adjusted = false; if (epl_is_empty_array($event_totals)) { return false; } $num_events = count($event_totals); $pay_profile_ok = 1; if ($for == 'pay_profiles') { $selected_pay_id = EPL_registration_model::get_instance()->get_payment_profile_id(); $pay_profile_ok = $selected_pay_id && in_array($selected_pay_id, $args); } foreach ($event_totals as $event_id => $totals) { setup_event_details($event_id); //if the taxonomy in question is not assigned to this event //then adjust the totals to exclude this event numbers from the discount processes //same applies to pay profiles if ($for == 'category' && !has_term($args, 'epl_event_categories', $event_id) || !$pay_profile_ok) { $this->totals['money_totals']['discountable_total'] -= epl_get_element_m('discountable_total', 'money_totals', $totals, 0); $this->totals['money_totals']['non_discountable_total'] += epl_get_element_m('grand_total', 'money_totals', $totals, 0); $this->totals['money_totals']['num_discountable_events_in_cart'] -= 1; } } $adjusted = true; //return $totals; }
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; }
$_a['time'] = $event_details['_epl_start_time'][$row->time_id]; */ if ($tmp_regis_id == '' || $tmp_regis_id != $row->regis_id) { $tmp_regis_id = $row->regis_id; $new_record = true; $ticket_buyer_data = array(); $form_counter = 0; if ($has_att_forms) { $form_counter++; } } if (!$new_record && !$has_att_forms) { continue; } $payment_amount = $row->payment_amount == 0 ? 0 : $row->payment_amount > $row->event_total && $row->num_events > 1 ? $row->event_total : $row->payment_amount; $pack_size = epl_get_element_m($row->price_id, '_epl_price_pack_size', $event_details, 1); $_a['paid_per_class'] = $row->price; if ($row->total_quantity > 1) { $_a['paid_per_class'] = $payment_amount / $row->total_quantity; } if ($row->event_total == $payment_amount) { $_a['paid_per_class'] = $row->price; } if ($pack_size > 1) { $_a['paid_per_class'] = $payment_amount / $row->total_quantity / $pack_size; } else { if ($row->num_events > 1) { if ($payment_amount > $_a['price']) { $_a['paid_per_class'] = $_a['price']; } else { $_a['paid_per_class'] = $payment_amount / $row->num_dates / $row->total_quantity;
<div class="epl_discount_label"><?php echo epl_get_setting('epl_registration_options', '_epl_discount_input_label', epl__('Discount Code')) . " "; ?> </div> <div class="epl_discount_field"> <?php echo $cart_data['discount_field']; ?> </div> </div> <?php } ?> <?php if ($mode != 'overview' && epl_get_regis_setting('epl_enable_donation') == 10 || $mode == 'overview' && epl_get_element_m('donation_amount', 'money_totals', $cart_data['cart_totals'], 0) > 0) { ?> <div id="epl_donation_wrapper" class="epl_section epl_ov_a epl_ta_r"> <?php echo epl__('Donation') . ": " . $cart_data['donation_field']; ?> </div> <?php } ?> <?php if (!epl_is_zero_total()) { ?>
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 column_data($column_name, $post_ID) { global $epl_fields, $event_details, $regis_details; $this->regis_meta = $this->ecm->setup_regis_details($post_ID); $regis_id = $this->regis_meta['__epl']['_regis_id']; $event_id = ''; $event_name = ''; $num_attendees = ''; if (isset($this->regis_meta['_epl_events']) && !empty($this->regis_meta['_epl_events'])) { $event_id = key($this->regis_meta['_epl_events']); $this->ecm->setup_event_details($event_id); //$event_name = get_post( $event_id )->post_title; $event_name = $event_details['post_title']; $href = add_query_arg(array('epl_action' => 'epl_attendee_list', 'epl_download_trigger' => 1, 'event_id' => $event_id), epl_get_url()); $xl_href = add_query_arg(array('epl_action' => 'epl_excel_attendee_list', 'epl_download_trigger' => 1, 'post_ID' => $post_ID, 'event_id' => $event_id), epl_get_url()); //$event_name = '<a href="' . $href . '"><img src="' . EPL_FULL_URL . 'images/doc_excel_csv.png" /></a> <a data-post_id = "' . $post_ID . '" data-event_id="' . $event_id . '" class="epl_event_snapshot" href="#"><img id = "' . $event_id . '" src="' . EPL_FULL_URL . 'images/application_view_list.png" /> </a><span class="">' . $event_name . '</span>'; //$xevent_name = '<a href="' . $xl_href . '"><img src="' . EPL_FULL_URL . 'images/doc_excel_csv.png" /></a>'; //$event_name = $xevent_name . '<a href="' . $href . '"><img src="' . EPL_FULL_URL . 'images/doc_excel_csv.png" /></a><span class="event_name">' . $event_name . '</span>'; $xevent_name = '<span class="event_name1">' . $event_name . '</span><br />'; //<a href="' . $xl_href . '">Excel</a>, '; $event_name = $xevent_name . '<a href="' . $href . '">CSV</a>'; } switch ($column_name) { case 'attendees': if (is_array($this->regis_meta['__epl'][$regis_id]['_attendee_info']) && is_array($this->personal_field_ids)) { $d = array_intersect_key($this->regis_meta['__epl'][$regis_id]['_attendee_info'], $this->personal_field_ids); $r = array(); $fn = epl_array_flatten(current($d)); $ln = epl_array_flatten(next($d)); foreach ((array) $fn as $k => $v) { $r[] = $v . ' ' . stripslashes_deep(html_entity_decode(htmlspecialchars_decode(epl_get_element($k, $ln)), ENT_QUOTES, 'UTF-8')); } echo implode('<br>', array_unique($r)); } break; case 'id': echo $post_ID; break; case 'event': //TODO move to view $data = array(); echo '<table class="epl_regis_list_regis_details">'; foreach ((array) $this->regis_meta['__epl'][$regis_id]['_events'] as $event_id => $totals) { setup_event_details($event_id); $data['event_name'] = $event_details['post_title']; $data['quantity'] = epl_get_element($event_id, epl_get_element_m('total', '_att_quantity', $totals), 0); if ($data['quantity'] == 0) { //1.3 fix foreach ($this->regis_meta['__epl'][$regis_id]['_dates']['_att_quantity'][$event_id] as $pr => $q) { $data['quantity'] += array_sum($q); } } $link = epl_anchor(admin_url('post.php?post=' . $event_details['ID'] . '&action=edit'), $event_details['post_title']); echo "<tr><td>{$link}</td><td class='qty'>{$data['quantity']}</td></tr>"; } echo '</table>'; break; case 'num_attendees': /* $this->get_values( $post_ID ); $data['event_id'] = $event_id; //events, dates, times, prices, quantities $data['cart_data'] = $this->earm->__in( $this->event_meta + $this->regis_meta )->show_cart(); echo $this->epl->load_view( 'admin/registration/regis-list-cart-section', $data, true ); */ $num_attendees = $this->regis_meta['_total_att_' . $event_id]; if (epl_is_waitlist_record()) { foreach ($this->regis_meta as $key => $value) { if (strpos($key, "_total_waitlist_att_") !== false) { $num_attendees = $value . ' (' . epl__('waitlist') . ')'; break; } } } echo "<span class='num_attendees'>{$num_attendees}</span> "; if ($num_attendees > 0) { $href = add_query_arg(array('epl_action' => 'epl_regis_snapshot', 'post_ID' => $post_ID, 'event_id' => $event_id), epl_get_url()); echo ' <a data-post_id = "' . $post_ID . '" data-event_id="' . $event_id . '" class="epl_regis_snapshot" href="#"><img src="' . EPL_FULL_URL . 'images/application_view_list.png" /> </a>'; } echo epl_get_send_email_button($post_ID, $event_id, true); break; case 'payment_status': $payment_info = $this->payment_info_box($post_ID); echo $payment_info; $notes = epl_get_element('_epl_regis_note', $this->regis_meta, null); if ($notes) { $notes = get_post_meta($post_ID, '_epl_regis_note', false); foreach ($notes as $note) { $d = date_i18n('Y-m-d H:i', $note['timestamp']); echo "<p>{$note['action']}<span style='float:right'>{$d}</span></p>"; } } break; case 'payment': echo "Payment Info"; break; default: break; } // end switch }
" href="<?php echo $event['register_link']; ?> "> <?php echo $event['title']; ?> </a> <span style="display:none;" class="event_details_hidden"><?php echo strip_tags($event['description'], '<img>'); ?> </span> </div> <?php if (!is_null($loc_id = epl_get_element_m($event['date_id'], '_epl_date_location', $event_details, epl_get_event_property('_epl_event_location', true) > 0))) { ?> <div class="location_details" style="text-align: right;"> <div class="event_location"> <?php the_location_details($loc_id); echo get_the_location_name(); ?> <br /> <?php echo get_the_location_address(); ?> <br /> <?php echo get_the_location_address2() != '' ? get_the_location_address2() . '<br />' : ''; ?>
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; }
</td> <td> <input type="text" name="_epl_override[<?php echo $field_slug; ?> ][label]" value="<?php echo $label; ?> " size="80" /> <?php if (isset($field_info['options'])) { ?> <div style="margin-left: 15px;"><b>Option Labels</b> <?php foreach ($field_info['options'] as $option_key => $option) { $option = epl_get_element_m($option_key, 'options', $override_values[$field_slug], $option); ?> <br /> <textarea name="_epl_override[<?php echo $field_slug; ?> ][options][<?php echo $option_key; ?> ]" rows="1" cols="80"><?php echo $option; ?> </textarea> <?php } ?> </div>
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; }
$session_time_id = $time_optional ? epl_get_element('time_id', $_POST, '') : $row->time_id; $_r = array(); $_r['regis_key'] = epl_anchor(admin_url('post.php?post=' . $row->regis_id . '&action=edit'), $row->regis_key); $_r['status'] = get_the_regis_status($row->status); $_r['ticket'] = $event_details['_epl_price_name'][$row->price_id]; $_r['package'] = '-'; $user_ticket_use_count_key = "{$row->regis_id}-{$row->event_id}-{$row->date_id}-{$time_id}-{$row->price_id}-{$row->user_id}"; $_r['use_count'] = epl_get_element($user_ticket_use_count_key, $user_ticket_use_counts, 0); $user_session_use_count_key = "{$row->regis_id}-{$row->event_id}-{$row->date_id}-{$_POST['date_ts']}-{$_POST['time_id']}-{$row->price_id}-{$row->user_id}"; $user_alredy_checked_in = epl_get_element($user_session_use_count_key, $user_session_signed_in_counts, false); if (epl_is_pack_regis()) { $pack_size = epl_get_element_m($row->price_id, '_epl_price_pack_size', $event_details, 1); $exp = ''; if (epl_get_element_m($row->price_id, '_epl_price_pack_type', $event_details) == 'time') { $mem_l = epl_get_element_m($row->price_id, '_epl_price_pack_time_length', $event_details); $mem_lt = epl_get_element_m($row->price_id, '_epl_price_pack_time_length_type', $event_details); $start = strtotime($row->regis_date); $until = strtotime("+ {$mem_l} {$mem_lt}", $start); if ($until < EPL_DATE) { $exp = epl_wrap(epl__("Expired"), '<span class="epl_font_red"> - ', '</span>'); } $_r['package'] = epl__('Until') . ' ' . epl_formatted_date($until) . $exp; } else { $remaining = $pack_size - $_r['use_count']; if ($remaining <= 0) { $exp = epl_wrap(epl__("Credits used up"), ' <span class="epl_font_red">', '</span>'); } $_r['package'] = $pack_size . $exp; $_r['use_count'] = "{$_r['use_count']}/{$_r['package']}"; } }
</tr> </thead> <tbody> <?php global $event_details; $base_url = epl_get_url(); foreach ($user_bookings as $regis) { $event_id = $regis->event_id; setup_event_details($event_id); //date capacity $date_capacity = epl_get_element_m($regis->date_id, '_epl_date_capacity', $event_details, '∞'); //if there is time capacity, grab that or default to date capacity $capacity = epl_get_element_m($regis->time_id, '_epl_time_capacity', $event_details, $date_capacity); //get counts for this event, cached $counts = $erptm->get_attendee_counts($event_id); //count date specific key $counts_day_key = $event_id . "_time_{$regis->date_id}"; //counts time specific key $counts_time_key = $event_id . "_time_{$regis->date_id}_{$regis->time_id}"; //if count for that time exists, get num regis, defaults to 0 $num_regis = epl_get_element('_total_att_' . $counts_time_key, $counts, 0); $url_params['epl_token'] = epl_get_token($regis->regis_id . $regis->regis_date); $regis_summary_url = add_query_arg($url_params, get_permalink($regis->regis_id)); $pdf_url = array('epl_action' => 'invoice', 'regis_id' => $regis->regis_id, 'epl_token' => epl_get_token($regis->regis_id . $regis->regis_date)); $pdf_url = add_query_arg($pdf_url, home_url()); $arr = array($regis->regis_key, epl_formatted_date($regis->regis_date), epl_formatted_date($event_details['_epl_start_date'][$regis->date_id], 'D'), epl_formatted_date($event_details['_epl_start_date'][$regis->date_id]), $event_details['_epl_start_time'][$regis->time_id], $event_details['post_title'], $regis->ticket_count, get_the_regis_status($regis->status), epl_anchor($regis_summary_url, epl__('Details')) . ' ' . (!$attach_pdf || epl_get_element('_epl_attach_invoice', $event_details, 10) == 0 ? '' : epl_anchor($pdf_url, epl__('PDF')))); echo '<tr><td>' . implode('</td><td>', $arr) . '</td></tr>'; }
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++; } } } }
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 } foreach ($prices as $price_id => $price_data) { if (epl_is_time_specific_price($price_id) && !epl_get_element_m($time_id, $price_id, epl_get_element('_epl_time_specific_price', $event_details))) { continue; } if (epl_is_date_specific_price($price_id) && !epl_get_element_m($date_id, $price_id, epl_get_element('_epl_date_specific_price', $event_details))) { continue; } if (epl_get_element($price_id, epl_get_element('_epl_price_hide', $event_details)) == 0) { ?> <tr class="epl_price"> <td><?php echo $price_data['disp']; ?> </td> <td><?php echo epl_get_formatted_curr($event_details['_epl_price'][$price_id], null, true); ?> </td> <td><?php
<?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> <?php if (epl_is_time_optonal()) { ?>
function get_days_for_fc($args = array()) { global $post; //page specific caching if (!epl_user_is_admin() && epl_get_setting('epl_fullcalendar_options', 'epl_fullcalendar_enable_cache', 10) == 10 && false !== ($fc_dates = get_transient('epl_transient__get_days_for_fc__' . $post->ID))) { // return $fc_dates; } $show_att_counts = intval(epl_get_setting('epl_fullcalendar_options', 'epl_fullcalendar_show_att_count', 0)); if ($show_att_counts === 0) { $show_att_counts = epl_get_element('show_att_counts', $args) === true ? true : $show_att_counts; } if ($show_att_counts === 1 && !epl_user_is_admin()) { $show_att_counts = false; } if ($show_att_counts === 2 && !is_user_logged_in()) { $show_att_counts = false; } global $event_details; $events = $this->get_days_for_widget(3, $args); $show_first_date_only = apply_filters('epl__get_days_for_fc__', false); $event_bcg_color = epl_get_setting('epl_fullcalendar_options', 'epl_fullcalendar_tax_bcg_color'); $event_font_color = epl_get_setting('epl_fullcalendar_options', 'epl_fullcalendar_tax_font_color'); $r = array(); $counter = 0; $date_sel_mode = false; //(epl_get_element( 'date_selector', $args, 0 ) == 1); foreach ($events as $date => $event_data) { $data['_event'] = $event_data; setup_event_details($event_data['event_id']); $c = $this->epl->load_view('front/tooltip/template-1', $data, true); $_t = explode(',', $event_data['term_list']); $bc = epl_get_element(current($_t), $event_bcg_color, '#ffffff'); $tc = epl_get_element(current($_t), $event_font_color, 'blue'); $_r = array('title' => $date_sel_mode ? 'Select' : $event_data['title'], 'raw_title' => $event_data['title'], 'description' => $date_sel_mode ? $this->erm->get_the_dates($event_data['date_id']) : $c, 'term_list' => $event_data['term_list'], 'start_timestamp' => $event_data['date'], 'start' => epl_formatted_date($event_data['date'], 'Y-m-d'), 'end_timestamp' => $event_data['end'], 'end' => epl_formatted_date($event_data['end'], 'Y-m-d'), 'url' => $date_sel_mode ? '' : $event_data['register_link'], 'edit_url' => get_edit_post_link(), 'backgroundColor' => $bc, 'borderColor' => $bc, 'textColor' => $tc, 'className' => $event_data['register_link_type'] == 1 ? 'epl-no-modal' : '', 'id' => $event_data['event_id']); $weekday = date('N', $event_data['date']); //if multiple times, display the event for each time. if (count($event_data['times']['start']) > 1 && !$date_sel_mode) { $_tmp_title = $_r['title']; $_tmp_url = $_r['url']; foreach ($event_data['times']['start'] as $time_id => $time) { if ($time == '') { continue; } if (epl_is_date_level_time()) { if (epl_is_date_specific_time($time_id) && !isset($event_details['_epl_date_specific_time'][$time_id][$event_data['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; } //$_r['title'] = '<span class="epl_fc_title_time"> ' . $time . '</span>' . $_tmp_title; $_r['title'] = $_tmp_title; $_r['raw_title'] = $_tmp_title; if ($show_att_counts) { $_r['title'] .= ' ' . '<span style="background-color:red;color:#fff;padding:0 4px;white-space: nowrap;"> ' . epl_get_att_count(array('for' => 'time', 'date_id' => $event_data['date_id'], 'time_id' => $time_id, 'default' => 0)); $_r['title'] .= (epl_get_time_capacity($time_id) != '' ? ' / ' . epl_get_time_capacity($time_id) : '') . '</span>'; $_r['att_counts'] = epl_get_att_count(array('for' => 'time', 'date_id' => $event_data['date_id'], 'time_id' => $time_id, 'default' => 0)); $_r['att_counts'] .= epl_get_time_capacity($time_id) != '' ? ' / ' . epl_get_time_capacity($time_id) : ''; } $_r['url'] = $date_sel_mode ? '' : add_query_arg(array('_time_id' => $time_id), $event_data['register_link']); $tmp_key_for_sorting = strtotime($time, $event_data['date']); if (isset($r[$tmp_key_for_sorting])) { $tmp_key_for_sorting .= '.' . $counter; $counter++; } $_r['start'] = epl_formatted_date(strtotime($time, $event_data['date']), 'Y-m-d H:i:s'); $_r['end'] = epl_formatted_date(strtotime($event_data['times']['end'][$time_id], $show_first_date_only ? $event_data['start'] : $event_data['end']), 'Y-m-d H:i:s'); //$_r['allDay'] = false; $r[$tmp_key_for_sorting] = $_r; //$r[] = $_r; $counter++; } continue; } else { $time = current($event_data['times']['start']); //$_r['title'] = ($time != '' ? '<span class="epl_fc_title_time"> ' . $time . '</span>' : '') . $_r['title']; $_r['title'] = $_r['title']; if (epl_is_empty_array($event_data['times']['start'])) { $_r['start'] = epl_formatted_date($event_data['date'] + 25200, 'Y-m-d H:i:s'); } else { $_r['start'] = epl_formatted_date(strtotime(current($event_data['times']['start']) . ' ', $event_data['date']), 'Y-m-d H:i:s'); } if (epl_is_empty_array($event_data['times']['end'])) { $_r['end'] = epl_formatted_date($event_data['end'] + 86399, 'Y-m-d H:i:s'); } else { $_r['end'] = epl_formatted_date(strtotime(current($event_data['times']['end']) . ' ', $show_first_date_only ? $event_data['start'] : $event_data['end']), 'Y-m-d H:i:s'); } if ($show_att_counts) { $_r['title'] .= ' ' . '<span style="background-color:red;color:#fff;padding:0 4px;white-space: nowrap;"> ' . epl_get_att_count(array('for' => 'date', 'date_id' => $event_data['date_id'], 'default' => 0)); $_r['title'] .= (epl_get_date_capacity($event_data['date_id']) != '' ? ' / ' . epl_get_date_capacity($event_data['date_id']) : '') . '</span>'; $_r['att_counts'] = epl_get_att_count(array('for' => 'date', 'date_id' => $event_data['date_id'], 'default' => 0)); $_r['att_counts'] .= epl_get_date_capacity($event_data['date_id']) != '' ? ' / ' . epl_get_date_capacity($event_data['date_id']) : ''; } } $tmp_key_for_sorting = strtotime(current($event_data['times']['start']) . ' ', $event_data['date']); if (isset($r[$tmp_key_for_sorting])) { $tmp_key_for_sorting .= '.' . $counter; $counter++; } $_r['sort_time'] = $tmp_key_for_sorting; $r[$tmp_key_for_sorting] = $_r; //$_r = apply_filters( 'epl_get_cal_dates_response_loop', $r ); $counter++; } $raw = apply_filters('epl_get_cal_dates_response', $r); ksort($raw); //@TODO - temp solution for showing cal in the month of first avail. event global $first_event_date; $first_event_date = key($raw); if (isset($args['raw'])) { return $raw; } //using array_values to get rid of temp keys, fullcalendar doesn't seem to like them :) $r = json_encode(array_values($r)); if (!epl_user_is_admin()) { set_transient('epl_transient__get_days_for_fc__' . $post->ID, base64_encode($r), 60 * 60 * 4); } return $r; }