function epl_get_waitlist_approved_url($force = false, $mode = 'wl') { if (!$force && (epl_get_element('epl_rid', $_GET) || !EPL_IS_ADMIN)) { return; } global $event_details, $regis_details; $regis_id = $regis_details['ID']; $event_id = $event_details['ID']; $url_vars = array('page_id' => $page_id, 'epl_action' => epl_regis_flow() <= 2 ? 'process_cart_action' : 'regis_form', 'cart_action' => 'add', 'event_id' => $event_id ? $event_id : $event_details['ID'], 'epl_event' => false, 'epl_rid' => $regis_id, 'epl_r_m' => $mode, 'epl_wlh' => MD5($regis_details['post_date'])); $base_url = get_the_register_button($event_id, true); $regis_url = add_query_arg($url_vars, $base_url); return $regis_url; //wp_redirect( $regis_url ); //die(); }
function set_next_step_vars($current_step = null) { //$bt = debug_backtrace(); //echo "<pre class='prettyprint'>" . __LINE__ . "> " . print_r($bt[0]['line'], true). "</pre>"; //echo "<pre class='prettyprint'>" . __LINE__ . "> " . print_r($bt[0]['function'], true). "</pre>"; /* * - if on regis form and offline or free, thank you * - if regis form and cc or pp, overview * - if overview and cc, show card form, complete * - if overview and pp, continue * - if overview and offline, complete * * - if epl_regis_flow() and regis form -> payment -> complete * - if epl_regis_flow() and regis form and free of offline -> complete */ global $epl_current_step; $regis_flow_steps = array(1 => 'show_cart', 5 => 'regis_form', 10 => 'show_cart_overview', 30 => 'redirect', 100 => 'thank_you_page'); $this->steps = array('show_cart' => array(1 => array('next' => 'regis_form', 'next_label' => epl__('Attendee Information')), 2 => array('next' => 'regis_form', 'next_label' => epl__('Attendee Information'))), 'regis_form' => array(1 => array('prev' => 'show_cart', 'next' => 'show_cart_overview', 'next_label' => epl__('Overview')), 2 => array('prev' => 'show_cart', 'next' => 'thank_you_page', 'next_label' => epl__('Confirm and Complete')), 10 => array('next' => 'thank_you_page', 'next_label' => epl__('Confirm and Complete'))), 'show_cart_overview' => array(1 => array('prev' => 'regis_form', 'next' => 'thank_you_page', 'next_label' => epl__('Confirm and Complete')), 2 => array('prev' => 'regis_form', 'next' => 'show_cart_overview', 'next_label' => epl__('Confirm and Complete')), 10 => array('prev' => 'show_cart', 'next' => 'thank_you_page')), 'payment_page' => array(1 => array('prev' => 'regis_form', 'next' => 'payment_page', 'next_label' => epl__('Overview')), 2 => array('prev' => 'regis_form', 'next' => 'payment_page', 'next_label' => epl__('Confirm and Complete')), 10 => array('next' => 'thank_you_page', 'next_label' => epl__('Confirm and Complete')))); $flow = epl_regis_flow(); $this->step_data = array(); $gateway_info = $this->erm->get_gateway_info(); $url_vars_next = $url_vars_prev = array('epl_action' => $this->steps[$current_step][$flow]['next'], 'cart_action' => false, '_date_id' => false); $url_vars_prev['epl_action'] = epl_get_element('prev', $this->steps[$current_step][$flow]); $this->step_data['form_action'] = add_query_arg($url_vars_next, $this->url); $gw_check = false; if ($flow == 1 && $epl_current_step == 'show_cart_overview') { $gw_check = true; } elseif (($flow == 2 || $flow == 10) && $epl_current_step == 'regis_form') { $gw_check = true; } if ($epl_current_step != 'process_cart_action' && $epl_current_step != 'show_cart') { $this->step_data['prev_step_url'] = add_query_arg($url_vars_prev, $this->url); } $this->step_data['next_step'] = $this->steps[$current_step][$flow]['next']; $this->step_data['next_step_label'] = $this->steps[$current_step][$flow]['next_label']; if (epl_is_free_event() || epl_regis_flow() < 10 && epl_is_zero_total() || $this->erm->has_selected_offline_payment() || epl_is_waitlist_flow() && !epl_is_waitlist_approved()) { $this->step_data['next_step_label'] = apply_filters('epl_show_cart_overview_free_next_step_label', $this->steps[$current_step][$flow]['next_label']); } elseif (epl_get_element('_epl_pay_type', $gateway_info) == '_pp_exp' && $gw_check) { $url_vars_next = array('epl_action' => 'payment_page', 'cart_action' => false, '_date_id' => false); $url_vars_prev['epl_action'] = $this->steps[$current_step][$flow]['prev']; $this->step_data['form_action'] = add_query_arg($url_vars_next, $this->url); $this->step_data['next_step_label'] = apply_filters('epl_show_cart_overview_pp_exp_next_step_label', epl__('Confirm and Continue to PayPal')); } elseif (epl_get_element('_epl_pay_type', $gateway_info) == '_payson' && $gw_check) { $url_vars_next = array('epl_action' => 'payment_page', 'cart_action' => false, '_date_id' => false); $url_vars_prev['epl_action'] = $this->steps[$current_step][$flow]['prev']; $this->step_data['form_action'] = add_query_arg($url_vars_next, $this->url); $this->step_data['next_step_label'] = apply_filters('epl_show_cart_overview_pp_exp_next_step_label', epl__('Continue to Pay')); } elseif (epl_get_element('_epl_pay_type', $gateway_info) == '_moneris' && $gw_check) { $this->step_data['next_step_label'] = apply_filters('epl_show_cart_overview_pp_exp_next_step_label', epl__('Continue to Pay')); $us_version = epl_get_element('_epl_moneris_country', $gateway_info, 'ca') == 'usa'; $this->step_data['form_action'] = 'https://www3.moneris.com/HPPDP/index.php'; if ($gateway_info['_epl_sandbox'] == 10) { $this->step_data['form_action'] = 'https://esqa.moneris.com/HPPDP/index.php'; } if ($us_version) { $this->step_data['form_action'] = 'https://esplus.moneris.com/DPHPP/index.php'; if ($gateway_info['_epl_sandbox'] == 10) { $this->step_data['form_action'] = 'https://esplusqa.moneris.com/DPHPP/index.php'; } $this->egm->setup_moneris_form_USA(); } else { $this->egm->setup_moneris_form(); } } elseif (epl_get_element('_epl_pay_type', $gateway_info) == '_auth_net_sim' && $gw_check) { $this->step_data['next_step_label'] = apply_filters('epl_show_cart_overview_pp_exp_next_step_label', epl__('Continue to Pay')); $this->step_data['form_action'] = 'https://secure.authorize.net/gateway/transact.dll'; if ($gateway_info['_epl_sandbox'] == 10) { $this->step_data['form_action'] = 'https://test.authorize.net/gateway/transact.dll'; } $this->egm->setup_authnet_sim_form(); } elseif ($this->erm->has_selected_cc_payment() && ($gw_check || $this->error)) { $url_vars_next = array('epl_action' => 'payment_page', 'cart_action' => false, '_date_id' => false); $this->step_data['form_action'] = add_query_arg($url_vars_next, $this->url); $this->step_data['next_step_label'] = apply_filters('epl_show_cart_overview_cc_next_step_label', $this->steps[$current_step][$flow]['next_label']); } $this->step_data = apply_filters('epl_front__set_next_step_vars__final', $this->step_data, $flow); return $this->step_data; }
function ok_to_proceed($force_check = false, $event_id = null) { global $event_details, $current_att_count, $event_snapshot, $epl_error; setup_event_details($event_id); $_response = ''; $_errors = array(); $event_cart_details = $this->get_events_in_cart($event_id); foreach ($event_cart_details as $event_id => $_totals) { if ($_totals == 0) { continue; } $total_att = epl_get_element_m($event_id, 'total', epl_get_element('_att_quantity', $_totals, array())); if ($total_att == 0 && (epl_regis_flow() <= 2 || $force_check)) { $_errors[] = array('', epl__('Please select a quantity.')); } $cart_dates = $this->get_the_cart_dates(); if (epl_is_empty_array(epl_get_element($event_id, $cart_dates, array())) && epl_get_element('cart_action', $_REQUEST) != 'add') { $_errors[] = array('', epl__('Please select at least one date.')); } $_snapshot = $this->event_snapshot($event_id); if (isset($_snapshot[$event_id]['error'])) { $_errors = array_merge($_errors, $_snapshot[$event_id]['error']); } $_errors = apply_filters('epl_erm__ok_to_proceed__var_errors', $_errors); if (!epl_is_empty_array($_errors)) { $tmpl = array('table_open' => '<table border="1" cellpadding="2" cellspacing="1" class="epl_error">'); $this->epl_table->set_template($tmpl); $this->epl_table->set_heading('', ''); $_response = $this->epl_table->generate($_errors); $this->epl_table->clear(); $this->epl->epl_util->set_response_param('is_ok_for_waitlist', true); //epl_is_waitlist_flow()); } } $this->ok_to_proceed = $_response; if ($_response !== '') { $this->epl->epl_util->set_response_param('cart_errors_present', 1); } return $_response; }
function get_the_register_button($event_id = null, $url_only = false, $args = array()) { global $post, $event_details; $args = apply_filters('epl__get_the_register_button_args', $args); if (is_null($event_id) && !epl_is_ok_to_show_regis_button() && !$url_only) { return null; } $button_text = isset($args['button_text']) ? $args['button_text'] : epl_nz(epl_get_setting('epl_event_options', 'epl_register_button_text'), epl__('Register')); $url_vars = array(); $class = epl_get_element('class', $args, 'epl_button '); $locked = false; //The shortcode page id. Everythng goes through the shortcode static $page_id = null; // get_option( 'epl_shortcode_page_id' ); $page_id = epl_get_shortcode_page_id(); if (is_null($page_id)) { //'post_status' => 'publish' $pages = get_pages(); foreach ($pages as $page) { if (!$page_id && stripos($page->post_content, '[events_planner') !== false) { $page_id = $page->ID; } } } $url_vars = array('page_id' => $page_id, 'epl_action' => epl_regis_flow() <= 2 ? 'process_cart_action' : 'regis_form', 'cart_action' => 'add', 'event_id' => $event_id ? $event_id : $event_details['ID'], 'epl_event' => false, '_rand' => uniqid(), '_date_id' => epl_get_element('_date_id', $args), '_time_id' => epl_get_element('_time_id', $args)); $url_vars = apply_filters('epl_get_the_register_button_url_vars', $url_vars); $regis_url = add_query_arg($url_vars, epl_get_sortcode_url()); //epl_get_url() ); if (epl_get_element('_epl_alt_regis_url', $event_details, '') != '') { $regis_url = epl_get_element('_epl_alt_regis_url', $event_details); } $member_only = epl_get_element('_epl_regis_privilege', $event_details, false); $url = $regis_url; if ($member_only == 1 && !is_user_logged_in() || epl_get_element('member_only', $args, 0) == 1) { $class = trim($class); // . ' lightbox_login'; $url = wp_login_url($regis_url); $locked = true; $button_text = $button_text != '' ? $button_text : epl__('Login to Register'); } if (!$locked && epl_sc_is_enabled() && empty($args['no_modal'])) { $class .= ' epl_register_button'; $events_in_cart = $this->erm->get_events_in_cart(); if (epl_sc_is_enabled() == 15) { $class .= ' button_cart'; } if (isset($events_in_cart[$event_id])) { //TODO - come up with non global solution global $epl_wp_localize_script_args; $button_text = $epl_wp_localize_script_args['cart_added_btn_txt']; $class .= ' in_cart'; } } if (!empty($args['no_modal'])) { $class .= ' epl-no-modal'; } $url = apply_filters('epl_get_the_register_button_final_url', $url, $regis_url); $class = apply_filters('epl_get_the_register_button_final_class', $class); if ($url_only) { return $url; } return "<a id='{$event_details['ID']}' class='{$class}' href='" . esc_url_raw($url) . "' data-redirect_to='{$regis_url}'>{$button_text}</a>"; }